
    m3i                         U d dl mZ d dlZd dlmZ d dlmZ eej                  j                  ej                  j                  f   ej                  j                  z  ez  Zeed<   eZeed<    G d d      Zy)	    )	TypeAliasN)MessageHandlerFnT)RequestResponderMessageMessageHandlerTc                      e Zd ZdZdeej                  j                  ej                  j                  f   ej                  j                  z  e
z  ddfdZdeddfdZdeddfdZdeej                  j                  ej                  j                  f   ddfdZdej                  j                   ddfd	Zdej                  j$                  ddfd
Zdej                  j(                  ddfdZdej                  j                  ddfdZde
ddfdZdej                  j0                  ddfdZdej                  j4                  ddfdZdej                  j8                  ddfdZdej                  j<                  ddfdZdej                  j@                  ddfdZ!dej                  jD                  ddfdZ#dej                  jH                  ddfdZ%y)MessageHandlerz
    This class is used to handle MCP messages sent to the client. It is used to handle all messages,
    requests, notifications, and exceptions. Users can override any of the hooks
    messagereturnNc                 @   K   | j                  |       d {   S 7 wN)dispatchselfr
   s     a/mnt/e/genesis-system/.venvs/voice-bridge/lib/python3.12/site-packages/fastmcp/client/messages.py__call__zMessageHandler.__call__   s      ]]7++++s   c                   K   | j                  |       d {    |xt        d x \    | j                  |       d {    |j                  j                  xt
        j                  j                  d x1\    | j                  |j                  j                         d {    y  xt
        j                  j                  d x1\    | j                  |j                  j                         d {    y  t
        j                  j                  d x0\   | j                  |j                  j                         d {    y  y  xt
        j                  j                  d x\    | j                  |       d {    |j                  xt
        j                  j                  d x'\    | j!                  |j                         d {    y  xt
        j                  j"                  d x'\    | j%                  |j                         d {    y  xt
        j                  j&                  d x'\    | j)                  |j                         d {    y  xt
        j                  j*                  d x'\    | j-                  |j                         d {    y  xt
        j                  j.                  d x'\    | j1                  |j                         d {    y  xt
        j                  j2                  d x'\    | j5                  |j                         d {    y  t
        j                  j6                  d x&\   | j9                  |j                         d {    y  y  t:        d x\   | j=                  |       d {    y  y 7 7 d7 7 7 l7 07 7 7 ^7 7 7 7 Q7 +w)N )
on_messager   
on_requestrequestrootmcptypesPingRequeston_pingListRootsRequeston_list_rootsCreateMessageRequeston_create_messageServerNotificationon_notificationCancelledNotificationon_cancelledProgressNotificationon_progressLoggingMessageNotificationon_logging_messageToolListChangedNotificationon_tool_list_changedResourceListChangedNotificationon_resource_list_changedPromptListChangedNotificationon_prompt_list_changedResourceUpdatedNotificationon_resource_updated	Exceptionon_exceptionr   s     r   r   zMessageHandler.dispatch   s    oog&&&#!# oog... oo**0..0"ll7??+?+?@@@ 15335"001E1EFFF 6779"44W__5I5IJJJ : $  0--/**7333 ll:88:"//=== ;9779"..w||<<< :?==?"55gllCCC @@>>@"77EEE ADBBD";;GLLIII EB@@B"99',,GGG C>>@"66w||DDD A% 0* ''000 S 	' / AFJ
 4
 ><CEIGD 1s  ON 'ON# A"O"N&#AO2N)3AO N,>O?N/ AON2AON5AON8AO N;!AO&N>'AO,O -AO0O1'OOO#O&O)O,O/O2O5O8O;O>O OOOc                    K   y wr   r   r   s     r   r   zMessageHandler.on_messageL   	        c                    K   y wr   r   r   s     r   r   zMessageHandler.on_requestO         	r5   c                    K   y wr   r   r   s     r   r   zMessageHandler.on_pingT   r4   r5   c                    K   y wr   r   r   s     r   r   zMessageHandler.on_list_rootsW   r4   r5   c                    K   y wr   r   r   s     r   r    z MessageHandler.on_create_messageZ   r4   r5   c                    K   y wr   r   r   s     r   r"   zMessageHandler.on_notification]   r4   r5   c                    K   y wr   r   r   s     r   r2   zMessageHandler.on_exception`   r4   r5   c                    K   y wr   r   r   s     r   r&   zMessageHandler.on_progressc   r4   r5   c                    K   y wr   r   r   s     r   r(   z!MessageHandler.on_logging_messagef   r7   r5   c                    K   y wr   r   r   s     r   r*   z#MessageHandler.on_tool_list_changedk   r7   r5   c                    K   y wr   r   r   s     r   r,   z'MessageHandler.on_resource_list_changedp   r7   r5   c                    K   y wr   r   r   s     r   r.   z%MessageHandler.on_prompt_list_changedu   r7   r5   c                    K   y wr   r   r   s     r   r0   z"MessageHandler.on_resource_updatedz   r7   r5   c                    K   y wr   r   r   s     r   r$   zMessageHandler.on_cancelled   r4   r5   )&__name__
__module____qualname____doc__r   r   r   ServerRequestClientResultr!   r1   r   r   r   r   r   r   r   r   r   r   r    r"   r2   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r#   r$   r       r   r	   r	      s   
,!#))"9"9399;Q;Q"QR
))
&
&'
,
 
,,1g ,1$ ,1\ D '		(?(?AWAW(WX	
SYY%:%: t 399+E+E $ syy/M/M RV SYY-I-I d )  )G)G D yy;;	
yy<<	
yy@@	
yy>>	
yy<<	
#))*I*I d rJ   r	   )typingr   	mcp.typesr   mcp.client.sessionr   mcp.shared.sessionr   r   rH   rI   r!   r1   r   __annotations__r   r	   r   rJ   r   <module>rP      sr      0 / SYY,,cii.D.DDE	ii""#   / .p prJ   