
    Y6j                    p    d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
mZmZ e
Zd Zedd       Zdd	Zy
)z:Monta el MCP del Workspace Agent dentro de la app FastAPI.    )annotations)asynccontextmanager)FastAPI)Route)MCP_HTTP_PATHget_mcp_asgi_appworkspace_mcpc                 R    t                t        j                  j                         S )zHContext manager del session manager MCP (requerido por streamable HTTP).)r   r	   session_managerrun     I/var/www/pie360backend.cl/public_html/app/backend/core/mcp_integration.pyworkspace_mcp_lifespanr      s    ((,,..r   c                  K   t               4 d {    d  d d d       d {    y 7 7 # 1 d {  7  sw Y   y xY ww)N)r   )apps    r   combined_app_lifespanr      s>     %'        s8   A,A0A.AAA9AAc           	         t               }|j                  D ]T  }t        |t              s| j                  j                  j                  t        t        |j                  g d             V y)z5Registra MCP en /api/mcp (mismo proceso que FastAPI).)GETPOSTDELETEOPTIONS)endpointmethodsN)r   routes
isinstancer   routerappendMCP_PUBLIC_PATHr   )r   mcp_asgiroutes      r   mount_workspace_mcpr"       sW    !H 

%'

  <	
	

r   N)r   r   )r   r   returnNone)__doc__
__future__r   
contextlibr   fastapir   starlette.routingr   (app.backend.services.agent_workspace_mcpr   r   r	   r   r   r   r"   r   r   r   <module>r+      sC    @ " *  #   /  

r   