o
    Th                     @   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                   @   sN   e Zd ZdZ						d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.sessionmcp.ClientSessionlist_tools_resultmcp_types.ListToolsResultreturnNc                 C   s   || _ || _d S )N)_mcp_session_list_tools_result)selfr	   r    r   Y/home/air/segue/gemini/backup/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   4   s   zMcpToGenAiToolAdapter.tools)r	   r
   r   r   r   N)__name__
__module____qualname____doc__r   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   