
    6?i                         d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	 de	deez  fdZ
d	d
dededeeef   d	z  deeez     fdZy	)zPrompts adapter for converting MCP prompts to LangChain messages.

This module provides functionality to convert MCP prompt messages into LangChain
message objects, handling both user and assistant message types.
    )Any)	AIMessageHumanMessage)ClientSession)PromptMessagemessagereturnc                 l   | j                   j                  dk(  rx| j                  dk(  r t        | j                   j                        S | j                  dk(  r t        | j                   j                        S d| j                   }t        |      d| j                   j                   }t        |      )zConvert an MCP prompt message to a LangChain message.

    Args:
        message: MCP prompt message to convert

    Returns:
        A LangChain message

    textuser)content	assistantz!Unsupported prompt message role: z)Unsupported prompt message content type: )r   typeroler   r   r   
ValueError)r   msgs     `/opt/tws/coop-23/cliente-mcp/venv/lib/python3.12/site-packages/langchain_mcp_adapters/prompts.py/convert_mcp_prompt_message_to_langchain_messager      s     v%<<6!(<(<==<<;&W__%9%9::1',,@o5goo6J6J5K
LC
S/    N)	argumentssessionnamer   c                   K   | j                  ||       d{   }|j                  D cg c]  }t        |       c}S 7 'c c}w w)a$  Load MCP prompt and convert to LangChain messages.

    Args:
        session: The MCP client session.
        name: Name of the prompt to load.
        arguments: Optional arguments to pass to the prompt.

    Returns:
        A list of LangChain messages converted from the MCP prompt.
    N)
get_promptmessagesr   )r   r   r   responser   s        r   load_mcp_promptr   &   sK       ''i88HPXPaPaEL7@  9s   AA AAAA)__doc__typingr   langchain_core.messagesr   r   mcpr   	mcp.typesr   r   strdictlistr    r   r   <module>r'      sw     ;  #I8 (,	
 CH~$	
 
,
"#r   