
    $j                     ~    d Z ddlZddlmZ ddlmZ ddlmZ ddlm	Z	  ej
        e          Z G d de	          ZdS )	a	  MCP Extension for registering additional MCP tools.

This extension allows external packages (like hindsight-cloud) to register
additional MCP tools on the Hindsight MCP server.

Example:
    HINDSIGHT_API_MCP_EXTENSION=hindsight_cloud.extensions:CloudMCPExtension
    N)abstractmethod)FastMCP)MemoryEngine)	Extensionc                   6    e Zd ZdZedededdfd            ZdS )MCPExtensiona  Base class for MCP extensions that register additional tools.

    Subclass this to add MCP tools in extension packages.

    Example:
        class CloudMCPExtension(MCPExtension):
            def register_tools(self, mcp: FastMCP, memory: MemoryEngine) -> None:
                @mcp.tool()
                async def my_custom_tool(query: str) -> str:
                    return "result"
    mcpmemoryreturnNc                     dS )zRegister additional MCP tools.

        Args:
            mcp: FastMCP server instance to register tools on
            memory: MemoryEngine instance for accessing memory operations
        N )selfr	   r
   s      d/home/rurouni/.hermes/hermes-agent/venv/lib/python3.11/site-packages/hindsight_api/extensions/mcp.pyregister_toolszMCPExtension.register_tools"   s	     	    )__name__
__module____qualname____doc__r   r   r   r   r   r   r   r   r      sS        
 
 ' < D    ^  r   r   )r   loggingabcr   fastmcpr   hindsight_apir   hindsight_api.extensions.baser   	getLoggerr   loggerr   r   r   r   <module>r      s                  & & & & & & 3 3 3 3 3 3		8	$	$    9     r   