
    kKja
                        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	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y)    N)	AwaitableCallable)	TypeAliascast)ClientSession)ListRootsFnT)LifespanContextTRequestContext	RootsListRootsHandlerrootsreturnc                    g }| D ]  }t        |t        j                  j                        r|j	                  |       9t        |t
        j                        r0|j	                  t        j                  j                  |             t        |t              rC|j	                  t        j                  j                  t        j                  |                   t        d|        |S )N)urizInvalid root: )	
isinstancemcptypesRootappendpydanticFileUrlstr
ValueError)r   
roots_listrs      e/Users/ahmed/devFolder/Ultron/claude-voice/.venv/lib/python3.12/site-packages/fastmcp/client/roots.pyconvert_roots_listr      s    Ja(a 8++,ciinnn343ciinn1A1A!1DnEF~aS1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&   !   sE     '4 099			G	$-g6627)<==r   c                      t                dt        t        t        f   dt        j
                  j                  f fd}|S )Ncontextr   c                 L   K   t         j                  j                        S w)Nr   )r   r   ListRootsResult)r(   r   s    r   _roots_callbackz:_create_roots_callback_from_roots.<locals>._roots_callback2   s!      yy((u(55s   !$)r   r
   r   r	   r   r   r+   )r   r,   s   ` r   r"   r"   -   sA     u%E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                 ~  K   	  |       }t        j                  |      r
| d {   }t        j                  j	                  t        t        t        |                  S 7 ;# t        $ rL}t        j                  j                  t        j                  j                  t        |            cY d }~S d }~ww xY ww)Nr*   )codemessage)r#   isawaitabler   r   r+   r   r   r   	Exception	ErrorDataINTERNAL_ERRORr   )r(   r   er-   s      r   r,   z7_create_roots_callback_from_fn.<locals>._roots_callback>   s     	wKE""5)#99,,(i)?@ -   $  	99&&YY--A '  	sE   B="A% A#:A% "B=#A% %	B:.AB5/B:0B=5B::B=)r
   r   r	   r   r   r+   r4   )r-   r,   s   ` r   r%   r%   :   sD    /? ?@		"	"SYY%8%8	8  r   )r#   collections.abcr   r   typingr   r   	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>      sG    / "    + ?Cy4		#77$sSYY^^?S:TT	9 T n],<<=>	IJ}.>>?@)IBVVWX i i D,@ 	>%	>	>


.0@!@ABIMN}.>>?@)IBVVW	X r   