
    "<i
                        U d dl Z d dlmZmZ d dlmZ d dlZd dlZd dlm	Z	 d dl
mZ d dlmZmZ ee         eej        j                 z  eeej        j        z           z  Zeed<   eee	ef         gef         eee	ef         gee         f         z  Zeed<   d	ed
eej        j                 fdZdeez  d
efdZd	ed
efdZdeee	ef         gef         eee	ef         gee         f         z  d
efdZdS )    N)	AwaitableCallable)	TypeAlias)ClientSession)ListRootsFnT)LifespanContextTRequestContext	RootsListRootsHandlerrootsreturnc                    g }| D ]}t          |t          j        j                  r|                    |           7t          |t
          j                  r4|                    t          j                            |                     t          |t                    rF|                    t          j                            t          j        |                               t          d|           |S )N)urizInvalid root: )	
isinstancemcptypesRootappendpydanticFileUrlstr
ValueError)r   
roots_listrs      /Users/kimhansen/Desktop/03 Workspace/ceo-agents/chl-effectiveness/mcp-servers/whoop/.venv/lib/python3.11/site-packages/fastmcp/client/roots.pyconvert_roots_listr      s    J 3 3a(( 	3a    8+,, 	3cinnn3344443 	3cinn1A!1D1DnEEFFFF1a11222    handlerc                     t          | t                    rt          |           S t          j        |           rt          |           S t          d|            )NzInvalid roots handler: )r   list!_create_roots_callback_from_rootsinspect
isfunction_create_roots_callback_from_fnr   )r   s    r   create_roots_callbackr%   !   s\     '4   >0999		G	$	$ >-g666<7<<===r   c                      t                      dt          t          t          f         dt          j        j        f fd}|S )Ncontextr   c                 H   K   t           j                                      S )Nr   )r   r   ListRootsResult)r'   r   s    r   _roots_callbackz:_create_roots_callback_from_roots.<locals>._roots_callback2   s"       y((u(555r   )r   r	   r   r   r   r   r*   )r   r+   s   ` r   r!   r!   -   sX     u%%E6/? ?@6		"6 6 6 6 6 6
 r   fnc                      dt           t          t          f         dt          j        j        t          j        j        z  f fd}|S )Nr'   r   c                 Z  K   	  |           }t          j        |          r| d {V }t          j                            t          |                    S # t          $ rG}t          j                            t          j        j        t          |                    cY d }~S d }~ww xY w)Nr)   )codemessage)
r"   isawaitabler   r   r*   r   	Exception	ErrorDataINTERNAL_ERRORr   )r'   r   er,   s      r   r+   z7_create_roots_callback_from_fn.<locals>._roots_callback>   s      		BwKKE"5)) $#9,,3Ee3L3L,MMM 	 	 	9&&Y-A '        	s   AA 
B*#<B%B*%B*)r	   r   r   r   r   r*   r3   )r,   r+   s   ` r   r$   r$   :   sS    /? ?@		"SY%8	8      r   )r"   collections.abcr   r   typingr   	mcp.typesr   r   r   mcp.client.sessionr   mcp.shared.contextr   r	   r    r   r   r   r
   __annotations__r   r   r%   r!   r$    r   r   <module>r=      s    / / / / / / / /                  + + + + + + ? ? ? ? ? ? ? ?Cy4	#77$sSY^?S:TT	9 T T T n],<<=>	IJ}.>>?@)IBVVWX i   i D,@    	>%	>	> 	> 	> 	>


 
 
 
.0@!@ABIMN}.>>?@)IBVVW	X      r   