o
    pkj'                     @   sT   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 dZ
dS )	    N   )mcp_to_gemini_tools)FunctionCallTool)types)ClientSessionc                	   @   sV   e Zd ZdZ	ddddddedd	fd
dZdeddfddZede	e
 fd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                 C   s   || _ || _|| _d S )N)_mcp_session_list_tools_result_is_agent_platform)selfr	   r
   r    r   T/home/djax/ivt_ai_plugin/venv/lib/python3.10/site-packages/google/genai/_adapters.py__init__   s   
zMcpToGenAiToolAdapter.__init__function_callmcp_types.CallToolResultc                    sD   |j r|j nd}|jrt|jni }td| jj||dI dH S )z#Calls a function on the MCP server. r   )name	argumentsN)r   argsdicttypingcastr   	call_tool)r   r   r   r   r   r   r   r   '   s   
zMcpToGenAiToolAdapter.call_toolc                 C   s   t | jjS )z%Returns a list of Google GenAI tools.)r   r   tools)r   r   r   r   r   6   s   zMcpToGenAiToolAdapter.tools)F)__name__
__module____qualname____doc__boolr   r   r   propertylistr   r   r   r   r   r   r      s&    


r   )r   
_mcp_utilsr   r   r   r   TYPE_CHECKINGmcp	mcp_typesr   r   r   r   r   r   <module>   s   