+
    Q(i1)                    2   R t ^ RIHt ^ RIt^ RIHtHt ^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHt ^ RIHt ^ R	IHt ^ R
IHtHt ^ RIHt ^ RIHtHtHtHtHtHtHtH t H!t!H"t"H#t#H$t$H%t%H&t&H't'H(t(H)t) ]'       d   ^ RI*H+t+ ]PX                  ! ]-4      t. ! R R4      t/R# )zyExperimental handlers for the low-level MCP server.

WARNING: These APIs are experimental and may change without notice.
)annotationsN)	AwaitableCallable)TYPE_CHECKING)TaskSupport)create_call_wrapper)McpError)cancel_task)InMemoryTaskStore)InMemoryTaskMessageQueueTaskMessageQueue)	TaskStore)INVALID_PARAMSCancelTaskRequestCancelTaskResult	ErrorDataGetTaskPayloadRequestGetTaskPayloadResultGetTaskRequestGetTaskResultListTasksRequestListTasksResultServerCapabilitiesServerResultServerTasksCapabilityServerTasksRequestsCapabilityTasksCancelCapabilityTasksListCapabilityTasksToolsCapability)Serverc                      ] tR t^-tRtR R lt]R R l4       tR R ltRR	 R
 llt	R R lt
R R ltR R ltR R ltR R ltRtR# )ExperimentalHandlerszqExperimental request/notification handlers.

WARNING: These APIs are experimental and may change without notice.
c               $    V ^8  d   QhRRRRRR/# )   serverr   request_handlersz2dict[type, Callable[..., Awaitable[ServerResult]]]notification_handlersz*dict[type, Callable[..., Awaitable[None]]] )formats   "f/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/mcp/server/lowlevel/experimental.py__annotate__!ExperimentalHandlers.__annotate__3   s*     	6 	6	6 M	6  J		6    c                	8    Wn         W n        W0n        R V n        R # N)_server_request_handlers_notification_handlers_task_support)selfr$   r%   r&   s   &&&&r)   __init__ExperimentalHandlers.__init__3   s     !1&;#15r,   c                   V ^8  d   QhRR/# )r#   returnzTaskSupport | Noner'   )r(   s   "r)   r*   r+   ?   s     " "0 "r,   c                    V P                   # )z/Get the task support configuration, if enabled.)r2   )r3   s   &r)   task_support!ExperimentalHandlers.task_support>   s     !!!r,   c                    V ^8  d   QhRRRR/# )r#   capabilitiesr   r7   Noner'   )r(   s   "r)   r*   r+   C   s     
 
0B 
t 
r,   c                	  a  \         ;QJ d3    V 3R  l\        \        \        \        3 4       F  '       g   K   RM(	  RM$! V 3R  l\        \        \        \        3 4       4      '       g   R# \        4       Vn        \        S P                  9   d   \        4       VP                  n	        \        S P                  9   d   \        4       VP                  n        \        \        4       R7      VP                  n        R# )c              3  B   <"   T F  pVSP                   9   x  K  	  R # 5ir.   )r0   ).0req_typer3   s   & r)   	<genexpr>;ExperimentalHandlers.update_capabilities.<locals>.<genexpr>E   s#      
h ...hs   TFN)tools)anyr   r   r   r   r   tasksr0   r   listr   cancelr   r   requests)r3   r<   s   f&r)   update_capabilities(ExperimentalHandlers.update_capabilitiesC   s    s 
+-=?PRgh
sss 
+-=?PRgh
 
 
 24t555&9&;L# 6 66(=(?L%&C&('
#r,   Nc               $    V ^8  d   QhRRRRRR/# )r#   storezTaskStore | NonequeuezTaskMessageQueue | Noner7   r   r'   )r(   s   "r)   r*   r+   U   s(     (" ("(" '(" 
	("r,   c                    Vf   \        4       pVf   \        4       p\        WR7      V n        V P	                  4        V P                  # )a  
Enable experimental task support.

This sets up the task infrastructure and auto-registers default handlers
for tasks/get, tasks/result, tasks/list, and tasks/cancel.

Args:
    store: Custom TaskStore implementation (defaults to InMemoryTaskStore)
    queue: Custom TaskMessageQueue implementation (defaults to InMemoryTaskMessageQueue)

Returns:
    The TaskSupport configuration object

Example:
    # Simple in-memory setup
    server.experimental.enable_tasks()

    # Custom store/queue for distributed systems
    server.experimental.enable_tasks(
        store=RedisTaskStore(redis_url),
        queue=RedisTaskMessageQueue(redis_url),
    )

WARNING: This API is experimental and may change without notice.
)rM   rN   )r
   r   r   r2   _register_default_task_handlers)r3   rM   rN   s   &&&r)   enable_tasks!ExperimentalHandlers.enable_tasksU   sE    < =%'E=,.E(uB 	,,.!!!r,   c                   V ^8  d   QhRR/# )r#   r7   r=   r'   )r(   s   "r)   r*   r+      s     :M :M :Mr,   c                  a a S P                   f   Q hS P                   o\        S P                  9  d   R V3R llpVS P                  \        &   \        S P                  9  d   R V V3R llpVS P                  \        &   \        S P                  9  d   R V3R llpVS P                  \        &   \
        S P                  9  d   R V3R	 llpVS P                  \
        &   R# R# )
z.Register default handlers for task operations.Nc                    V ^8  d   QhRRRR/# r#   reqr   r7   r   r'   )r(   s   "r)   r*   JExperimentalHandlers._register_default_task_handlers.<locals>.__annotate__   s      ^  r,   c                  <"   SP                   P                  V P                  P                  4      G R j  xL
 pVf2   \	        \        \        RV P                  P                   2R7      4      h\        \        VP                  VP                  VP                  VP                  VP                  VP                  VP                  R7      4      #  L5i)NzTask not found: )codemessage)taskIdstatusstatusMessage	createdAtlastUpdatedAtttlpollInterval)rM   get_taskparamsr\   r   r   r   r   r   r]   r^   r_   r`   ra   rb   )rW   tasksupports   & r)   _default_get_taskOExperimentalHandlers._register_default_task_handlers.<locals>._default_get_task   s     $]]33CJJ4E4EFF<"!!/&6szz7H7H6I$J  $!#{{#{{&*&8&8"&..&*&8&8 HH%)%6%6
 
 Gs   3CCBCc                    V ^8  d   QhRRRR/# r#   rW   r   r7   r   r'   )r(   s   "r)   r*   rX      s     , ,4I ,l ,r,   c                   <"   SP                   P                  pSP                  P                  WP                  VP
                  4      G R j  xL
 p\        V4      #  L5ir.   )r/   request_contexthandlerhandlesession
request_idr   )rW   ctxresultr3   rf   s   &  r)   _default_get_task_resultVExperimentalHandlers._register_default_task_handlers.<locals>._default_get_task_result   sG     ll22&55c;;WW#F++ Xs   A
AAAc                    V ^8  d   QhRRRR/# r#   rW   r   r7   r   r'   )r(   s   "r)   r*   rX      s     Z Z/? ZL Zr,   c                   <"   V P                   '       d   V P                   P                  MR pSP                  P                  V4      G R j  xL
 w  r#\	        \        W#R7      4      #  L5i)N)rF   
nextCursor)rd   cursorrM   
list_tasksr   r   )rW   ry   rF   next_cursorrf   s   &   r)   _default_list_tasksQExperimentalHandlers._register_default_task_handlers.<locals>._default_list_tasks   sO     .1jjj**d+2==+C+CF+K%K"#O%$XYY &Ls   A	A*A(A*c                    V ^8  d   QhRRRR/# r#   rW   r   r7   r   r'   )r(   s   "r)   r*   rX      s     , ,0A ,l ,r,   c                   <"   \        SP                  V P                  P                  4      G R j  xL
 p\	        V4      #  L5ir.   )r	   rM   rd   r\   r   )rW   rr   rf   s   & r)   _default_cancel_taskRExperimentalHandlers._register_default_task_handlers.<locals>._default_cancel_task   s4     *7==#**:K:KLL#F++ Ms   .AAA)r2   r   r0   r   r   r   )r3   rg   rs   r|   r   rf   s   f    @r)   rP   4ExperimentalHandlers._register_default_task_handlers   s    !!---$$ !7!77 * 6GD"">2 !(>(>>, ,
 =UD""#89 4#9#99Z Z
 8KD""#34 D$:$::, , 9MD""#45 ;r,   c                   V ^8  d   QhRR/# )r#   r7   z~Callable[[Callable[[ListTasksRequest], Awaitable[ListTasksResult]]], Callable[[ListTasksRequest], Awaitable[ListTasksResult]]]r'   )r(   s   "r)   r*   r+            
r,   c                   a  R V 3R llpV# )zhRegister a handler for listing tasks.

WARNING: This API is experimental and may change without notice.
c                    V ^8  d   QhRRRR/# )r#   funcz8Callable[[ListTasksRequest], Awaitable[ListTasksResult]]r7   r'   )r(   s   "r)   r*   5ExperimentalHandlers.list_tasks.<locals>.__annotate__   s     	 	J	E	r,   c                   <a \         P                  R 4       \        V \        4      oR V3R llpVSP                  \        &   V # )z(Registering handler for ListTasksRequestc                    V ^8  d   QhRRRR/# rv   r'   )r(   s   "r)   r*   HExperimentalHandlers.list_tasks.<locals>.decorator.<locals>.__annotate__   s     , ,#3 , ,r,   c                F   <"   S! V 4      G R j  xL
 p\        V4      #  L5ir.   r   rW   rr   wrappers   & r)   rm   CExperimentalHandlers.list_tasks.<locals>.decorator.<locals>.handler   "     &s|+#F++ ,   !!)loggerdebugr   r   r0   r   rm   r   r3   s   & @r)   	decorator2ExperimentalHandlers.list_tasks.<locals>.decorator   sA     LLCD)$0@AG, , 8?D""#34Kr,   r'   r3   r   s   f r)   rz   ExperimentalHandlers.list_tasks       	 	 r,   c                   V ^8  d   QhRR/# )r#   r7   zvCallable[[Callable[[GetTaskRequest], Awaitable[GetTaskResult]]], Callable[[GetTaskRequest], Awaitable[GetTaskResult]]]r'   )r(   s   "r)   r*   r+      s      
r,   c                   a  R V 3R llpV# )znRegister a handler for getting task status.

WARNING: This API is experimental and may change without notice.
c                    V ^8  d   QhRRRR/# )r#   r   z4Callable[[GetTaskRequest], Awaitable[GetTaskResult]]r7   r'   )r(   s   "r)   r*   3ExperimentalHandlers.get_task.<locals>.__annotate__   s     	 	F	A	r,   c                   <a \         P                  R 4       \        V \        4      oR V3R llpVSP                  \        &   V # )z&Registering handler for GetTaskRequestc                    V ^8  d   QhRRRR/# rV   r'   )r(   s   "r)   r*   FExperimentalHandlers.get_task.<locals>.decorator.<locals>.__annotate__   s     , ,> ,l ,r,   c                F   <"   S! V 4      G R j  xL
 p\        V4      #  L5ir.   r   r   s   & r)   rm   AExperimentalHandlers.get_task.<locals>.decorator.<locals>.handler   r   r   )r   r   r   r   r0   r   s   & @r)   r   0ExperimentalHandlers.get_task.<locals>.decorator   s?     LLAB)$?G, , 6=D"">2Kr,   r'   r   s   f r)   rc   ExperimentalHandlers.get_task   s    	 	 r,   c                   V ^8  d   QhRR/# )r#   r7   zCallable[[Callable[[GetTaskPayloadRequest], Awaitable[GetTaskPayloadResult]]], Callable[[GetTaskPayloadRequest], Awaitable[GetTaskPayloadResult]]]r'   )r(   s   "r)   r*   r+      r   r,   c                   a  R V 3R llpV# )zwRegister a handler for getting task results/payload.

WARNING: This API is experimental and may change without notice.
c                    V ^8  d   QhRRRR/# )r#   r   zBCallable[[GetTaskPayloadRequest], Awaitable[GetTaskPayloadResult]]r7   r'   )r(   s   "r)   r*   :ExperimentalHandlers.get_task_result.<locals>.__annotate__   s     	 	T	O	r,   c                   <a \         P                  R 4       \        V \        4      oR V3R llpVSP                  \        &   V # )z-Registering handler for GetTaskPayloadRequestc                    V ^8  d   QhRRRR/# rj   r'   )r(   s   "r)   r*   MExperimentalHandlers.get_task_result.<locals>.decorator.<locals>.__annotate__   s     , ,#8 ,\ ,r,   c                F   <"   S! V 4      G R j  xL
 p\        V4      #  L5ir.   r   r   s   & r)   rm   HExperimentalHandlers.get_task_result.<locals>.decorator.<locals>.handler   r   r   )r   r   r   r   r0   r   s   & @r)   r   7ExperimentalHandlers.get_task_result.<locals>.decorator   sB     LLHI)$0EFG, , =DD""#89Kr,   r'   r   s   f r)   get_task_result$ExperimentalHandlers.get_task_result   r   r,   c                   V ^8  d   QhRR/# )r#   r7   zCallable[[Callable[[CancelTaskRequest], Awaitable[CancelTaskResult]]], Callable[[CancelTaskRequest], Awaitable[CancelTaskResult]]]r'   )r(   s   "r)   r*   r+     r   r,   c                   a  R V 3R llpV# )zkRegister a handler for cancelling tasks.

WARNING: This API is experimental and may change without notice.
c                    V ^8  d   QhRRRR/# )r#   r   z:Callable[[CancelTaskRequest], Awaitable[CancelTaskResult]]r7   r'   )r(   s   "r)   r*   6ExperimentalHandlers.cancel_task.<locals>.__annotate__  s     	 	L	G	r,   c                   <a \         P                  R 4       \        V \        4      oR V3R llpVSP                  \        &   V # )z)Registering handler for CancelTaskRequestc                    V ^8  d   QhRRRR/# r   r'   )r(   s   "r)   r*   IExperimentalHandlers.cancel_task.<locals>.decorator.<locals>.__annotate__  s     , ,#4 , ,r,   c                F   <"   S! V 4      G R j  xL
 p\        V4      #  L5ir.   r   r   s   & r)   rm   DExperimentalHandlers.cancel_task.<locals>.decorator.<locals>.handler  r   r   )r   r   r   r   r0   r   s   & @r)   r   3ExperimentalHandlers.cancel_task.<locals>.decorator  sB     LLDE)$0ABG, , 9@D""#45Kr,   r'   r   s   f r)   r	    ExperimentalHandlers.cancel_task  r   r,   )r1   r0   r/   r2   )NN)__name__
__module____qualname____firstlineno____doc__r4   propertyr9   rJ   rQ   rP   rz   rc   r   r	   __static_attributes__r'   r,   r)   r!   r!   -   sK    
	6 " "
$("T:Mx424 r,   r!   )0r   
__future__r   loggingcollections.abcr   r   typingr   $mcp.server.experimental.task_supportr   #mcp.server.lowlevel.func_inspectionr   mcp.shared.exceptionsr   %mcp.shared.experimental.tasks.helpersr	   2mcp.shared.experimental.tasks.in_memory_task_storer
   +mcp.shared.experimental.tasks.message_queuer   r   #mcp.shared.experimental.tasks.storer   	mcp.typesr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   mcp.server.lowlevel.serverr   	getLoggerr   r   r!   r'   r,   r)   <module>r      sj   
 #  /   < C * = P b 9    ( 1			8	$s sr,   