
    i                        U d dl Z d dlmZmZ d dlmZmZmZ d dlZ	d dl	m
Z
mZ d dlmZ d dlmZ d dlmZmZ d dlmZ d d	lmZmZ eez  ez  Zeed
<    ede
e      Zeee   eeeef   geee   z  f   Zeed<   g dZdedefdZy)    N)	AwaitableCallable)	TypeAliasTypeVarcast)ClientSessionCreateMessageResult)SamplingFnT)ServerSession)LifespanContextTRequestContext)CreateMessageRequestParams)CreateMessageResultWithToolsSamplingMessageSamplingHandlerResultSessionTSamplingHandler)r   r   r   r   SamplingParamscreate_sampling_callbacksampling_handlerreturnc                 p     dt         dt        t        z  t        j                  j
                  z  f fd}|S )Nparamsr   c                   K   	  |j                   ||       }t        j                  |      r
| d {   }t        |t              r-t        ddt        j                  j                  d|            }|S 7 C# t        $ rL}t        j                  j                  t        j                  j                  t	        |            cY d }~S d }~ww xY ww)N	assistantzfastmcp-clienttext)typer   )rolemodelcontent)codemessage)messagesinspectisawaitable
isinstancestrr	   mcptypesTextContent	Exception	ErrorDataINTERNAL_ERROR)contextr   resulter   s       p/Users/bowang/.openclaw/workspace/ChatDev/.venv/lib/python3.12/site-packages/fastmcp/client/sampling/__init__.py_sampling_handlerz3create_sampling_callback.<locals>._sampling_handler/   s     	%foovwGF""6*%&#&,$*II11vF1K
 M &  	99&&YY--A '  	sF   C.A9 A7AA9 6C7A9 9	CAC	CC	CC)r   r	   r   r(   r)   r,   )r   r2   s   ` r1   r   r   ,   s7     
;	;cii>Q>Q	Q,     )r$   collections.abcr   r   typingr   r   r   	mcp.typesr(   r   r	   mcp.client.sessionr
   mcp.server.sessionr   mcp.shared.contextr   r   r   r   r   r   r'   r   __annotations__r   listr   __all__r    r3   r1   <module>r>      s     / + +  2 * , ? B C 
 << y 
 :}m<
 &_x!112
 I&;<<> %r3   