
    Ki                     
   U d dl Z d dlmZmZ d dl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)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       l/home/jay/workspace/scripts/.codegraph-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   r1   s   ` r0   r   r   ,   s7     
;	;cii>Q>Q	Q,     )r#   collections.abcr   r   typingr   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    r2   r0   <module>r=      s     / %  2 * , ? B C 
 << y 
 :}m<
 &_x!112
 I&;<<> %r2   