
    +j'                     j    d dl Z ddlmZ ddlmZmZ e j        rd dlmZ d dlm	Z	  G d d          Z
dS )	    N   )mcp_to_gemini_tools)FunctionCallTool)types)ClientSessionc            	       f    e Zd ZdZ	 ddddddedd	fd
ZdeddfdZede	e
         fd            Zd	S )McpToGenAiToolAdapterz5Adapter for working with MCP tools in a GenAI client.Fsessionzmcp.ClientSessionlist_tools_resultzmcp_types.ListToolsResultis_agent_platformreturnNc                 0    || _         || _        || _        d S )N)_mcp_session_list_tools_result_is_agent_platform)selfr   r   r   s       Z/home/wildlama/visual-decline/.venv/lib/python3.11/site-packages/google/genai/_adapters.py__init__zMcpToGenAiToolAdapter.__init__   s"      D/D/D    function_callmcp_types.CallToolResultc                    K   |j         r|j         nd}|j        rt          |j                  ni }t          j        d| j                            ||           d{V           S )z#Calls a function on the MCP server. r   )name	argumentsN)r   argsdicttypingcastr   	call_tool)r   r   r   r   s       r   r!   zMcpToGenAiToolAdapter.call_tool'   s       "/!3;=D,9,>F]'(((BI;")) * 
 
 	
 	
 	
 	
 	
 	
  r   c                 4    t          | j        j                  S )z%Returns a list of Google GenAI tools.)r   r   tools)r   s    r   r#   zMcpToGenAiToolAdapter.tools6   s     t6<===r   )F)__name__
__module____qualname____doc__boolr   r   r!   propertylistr   r#    r   r   r
   r
      s        == !&	0 0"0 50 	0
 0 0 0 0'!    >T$Z > > > 8> > >r   r
   )r   
_mcp_utilsr   r   r   r   TYPE_CHECKINGmcp	mcp_typesr   r
   r+   r   r   <module>r0      s      + + + + + + % % % % % % % %	  $$$$$$> > > > > > > > > >r   