
    k7i                        % S SK r S SKJrJr  S SKJr  S SKrS SKJr  S SK	J
r
Jr  S SKJrJr  S SKJr  S SKJr  S S	KJr  / S
Qr\\\   \\\
\4   /\\-  \\\-     -  4   r\\S'   \\   \\   -  r\\S'   S\\   S\4S jrg)    N)	AwaitableCallable)	TypeAlias)CreateMessageResult)ClientSessionSamplingFnT)LifespanContextTRequestContext)CreateMessageRequestParams)SamplingMessage)ServerSamplingHandler)SamplingHandlerr   SamplingParamsClientSamplingHandlerr   sampling_handlerreturnc                    ^  S[         [        [        4   S[        S[        [
        R                  R                  -  4U 4S jjnU$ )Ncontextparamsr   c           	        >#     T" UR                   X5      n[        R                  " U5      (       a
  UI S h  vN n[        U[        5      (       a'  [        SS[        R                  R                  SUS9S9nU$  NB! [         aI  n[        R                  R                  [        R                  R                  [	        U5      S9s S nA$ S nAff = f7f)N	assistantzfastmcp-clienttext)typer   )rolemodelcontent)codemessage)messagesinspectisawaitable
isinstancestrr   mcptypesTextContent	Exception	ErrorDataINTERNAL_ERROR)r   r   resulter   s       Q/home/james-whalen/.local/lib/python3.13/site-packages/fastmcp/client/sampling.py_sampling_handler3create_sampling_callback.<locals>._sampling_handler"   s     	%foovGF""6**%&#&&,$*II11vF1K
 M &  	99&&YY--A '  	sE   C3A= A;AA= :C;A= =
C>CCCCC)r
   r   r	   r   r   r$   r%   r(   )r   r-   s   ` r,   create_sampling_callbackr/      sD    /? ?@ 
syy22	2,     )r    collections.abcr   r   typingr   	mcp.typesr$   r   mcp.client.sessionr   r   mcp.shared.contextr	   r
   r   r   r   fastmcp.server.sampling.handlerr   __all__listr#   r   __annotations__r   r/    r0   r,   <module>r;      s     /   # 9 ? B % A
B $,_}&667
 
	#0C*C DDF$ y  *+.CDT.UU  
+,<=r0   