+
    Q(i"                        R t ^ RIHt ^ RIt^ RIt^ RIHt ^ RIHtH	t	H
t
 ^ RIHtHt ^ RIHt ^ RIt^ RIHt ]'       d   ^ RIHt ^ R	IHt ]! ]4      t ! R
 R4      tR# )z;Lifespan and Docket task infrastructure for FastMCP Server.)annotationsN)AsyncIterator)AsyncExitStackasynccontextmanagersuppress)TYPE_CHECKINGAny)SharedContext)
get_logger)Docket)FastMCPc                  h    ] tR t^tRt]R R l4       t]R R l4       t]R R l4       t	R R	 lt
R
tR# )LifespanMixinzDMixin providing lifespan and Docket task infrastructure for FastMCP.c                    V ^8  d   QhRRRR/# )   selfr   returnzDocket | None )formats   "d/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/fastmcp/server/mixins/lifespan.py__annotate__LifespanMixin.__annotate__   s      W      c                    V P                   # )zGet the Docket instance if Docket support is enabled.

Returns None if Docket is not enabled or server hasn't been started yet.
)_docket)r   s   &r   docketLifespanMixin.docket   s     ||r   c                    V ^8  d   QhRRRR/# r   r   r   r   zAsyncIterator[None]r   )r   s   "r   r   r   $   s     c0 c0W c01D c0r   c               @	  "   ^ RI HpHp VP                  \        P
                  ! V 4      4      p V! 4       '       gE   \        4       ;_uu_4       GRj  xL
  R5x  RRR4      GRj  xL
   VP                  V4       R#  \        V P                  4       G Rj  xL
 4      pV'       gE   \        4       ;_uu_4       GRj  xL
  R5x  RRR4      GRj  xL
   VP                  V4       R# ^ RIHpHp ^ RIHp ^ RI Hp	Hp
 V! VP                   P*                  VP                   P,                  R7      ;_uu_4       GRj  xL
 pWn        V F  pVP1                  V4       K  	  V	P                  V4      p RVP                   P2                  R	VP                   P4                  R
VP                   P6                  /pVP                   P8                  '       d   VP                   P8                  VR&   V! V3/ VB ;_uu_4       GRj  xL
 pWn        V
P                  V4      p \<        P>                  ! VPA                  4       4      p R5x  VPC                  4        \E        \<        PF                  4      ;_uu_ 4        VG Rj  xL
  RRR4       T
P                  T4       RT n        RRR4      GRj  xL
  T	P                  T4       RT n        RRR4      GRj  xL
  TP                  T4       R#  EL EL  + GRj  xL 
 '       g   i     EL; i EL  \         dG   p\        P                  RT 24       \        P                  P                  '       d   h . p Rp?ELRp?ii ; i EL EL  + GRj  xL 
 '       g   i     EL; i ELP EL EL  + '       g   i     EL; i  TPC                  4        \E        \<        PF                  4      ;_uu_ 4        TG Rj  xL 
  RRR4       i   + '       g   i     i ; i; i  T
P                  T4       RT n        i ; i ELt  + GRj  xL 
 '       g   i     EL; i  T	P                  T4       RT n        i ; i EL  + GRj  xL 
 '       g   i     EL; i  TP                  T4       i ; i5i)a\  Manage Docket instance and Worker for background task execution.

Docket infrastructure is only initialized if:
1. pydocket is installed (fastmcp[tasks] extra)
2. There are task-enabled components (task_config.mode != 'forbidden')

This means users with pydocket installed but no task-enabled components
won't spin up Docket/Worker infrastructure.
)_current_serveris_docket_availableNzFailed to get tasks: )r   Worker)settings)_current_docket_current_worker)nameurlconcurrencyredelivery_timeoutreconnection_delayr&   )$fastmcp.server.dependenciesr    r!   setweakrefrefr	   resetlist	get_tasks	Exceptionloggerwarningfastmcpr#   &mounted_components_raise_on_load_errorr   r   r"   r$   r%   r&   r'   r   register_with_docketr(   r)   r*   worker_name_workerasynciocreate_taskrun_forevercancelr   CancelledError)r   r    r!   server_tokentask_componentser   r"   r#   r$   r%   r   	componentdocket_tokenworker_kwargsworkerworker_tokenworker_tasks   &                 r   _docket_lifespanLifespanMixin._docket_lifespan#   s]     	U '**7;;t+<=S	0 '(((??? +?Z !!,/Q%"&T^^-='="> #(??? +?v !!,/q .( __))OO''   % "1I226: "1  /226:( &x'B'B,hoo.P.P,hoo.P.P5M
  222080K0Kf-  &f>>>>&'-'6':':6'B
0*1*=*=f>P>P>R*SK6 % + 2 2 4%-g.D.D%E%E*5$5$5 &F ,11,?+/DL  ?>$ $)),7#'DLY ^ !!,/_ +??? (> %!6qc:;##JJJ"$	% +???0  ? %6 &F%E%E !, 2 2 4%-g.D.D%E%E*5$5$5 &F%E%E%E ,11,?+/DL  ?>>>$ $)),7#'DLY   ^ !!,/s:  .R#R K7R K=R )K:*R /RL LL $R ,R M1R M7R M4R R0AR NR 2Q+;AQ.Q	N
QP.	&$PN11PNNNPP.	,Q7P+8Q<Q+R Q( R $R7R :R =L	L
L	L		R L M.(;M)#R )M..R 4R 7N	=N >
N		N	
R QNN.(	P12P#O8)O,*O8/	P8PPPP((P.	+Q.Q4P75
Q Q	QQ%%Q+(R +R	1Q42
R	=R	?	R RRc                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   r      s     % %g %2E %r   c               	  "   V P                   '       d   R 5x  R # V P                  V 4      ;_uu_4       GR j  xL
 pV P                  4       ;_uu_4       GR j  xL
  Wn        RV n         \        \
        R ,          ,          ! 4       ;_uu_4       GR j  xL
 pV P                   F*  pVP                  VP                  4       4      G R j  xL
  K,  	  V P                  P                  4         R 5x  V P                  P                  4        R R R 4      GR j  xL
  R R R 4      GR j  xL
  R R R 4      GR j  xL
  RV n         R V n        R #  EL L L L  T P                  P                  4        i ; i L\  + GR j  xL 
 '       g   i     Ls; i Lj  + GR j  xL 
 '       g   i     L; i Lx  + GR j  xL 
 '       g   i     L; i5i)NTF)_lifespan_result_set	_lifespanrH   _lifespan_resultr   bool	providersenter_async_contextlifespan_startedr,   clear)r   user_lifespan_resultstackproviders   &   r   _lifespan_managerLifespanMixin._lifespan_manager   s7    $$$ NN4   $8!!###$8!(,D%%dTk2444 $H33H4E4E4GHHH !/ !!#*MM'') 54 $# ! " %*! $% !#
 5 I MM'') 5444 $### !   s  7GEGF4EF47F	EF	2E8E"E8/E4E8F	E6F	F4)F*F4.G9F2:GF4F	E8E33E86F	8F>F?
F
FF	F4F/F
F/(F/*F42G4G	:F=;
G	G	Gc                    V ^8  d   QhRRRR/# )r   r   r   r   Noner   )r   s   "r   r   r      s     ;R ;RG ;R ;Rr   c                  a a
aaaa ^ RI Hp V! 4       '       g   R# ^ RIHpHpHpHpHo
 ^ RIH	oH
oHoHo R V
V V3R llpR V
V V3R llpR	 V
V V3R
 llpR V
V V3R llp	VS P                  P                  V&   VS P                  P                  V&   VS P                  P                  V&   V	S P                  P                  V&   R# )zRegister SEP-1686 task protocol handlers with SDK.

Only registers handlers if docket is installed. Without docket,
task protocol requests will return "method not found" errors.
)r!   N)CancelTaskRequestGetTaskPayloadRequestGetTaskRequestListTasksRequestServerResult)tasks_cancel_handlertasks_get_handlertasks_list_handlertasks_result_handlerc                    V ^8  d   QhRRRR/# )r   reqr_   r   ra   r   )r   s   "r   r   ALifespanMixin._setup_task_protocol_handlers.<locals>.__annotate__   s     	( 	(~ 	(, 	(r   c                |   <"   V P                   P                  R R R7      pS! SV4      G Rj  xL
 pS! V4      #  L5iT)by_aliasexclude_noneNparams
model_dump)rg   rn   resultra   r   rc   s   &  r   handle_get_taskDLifespanMixin._setup_task_protocol_handlers.<locals>.handle_get_task   s>     ZZ**Dt*LF,T6::F'' ;   *<:<c                    V ^8  d   QhRRRR/# )r   rg   r^   r   ra   r   )r   s   "r   r   rh      s     	( 	(.C 	( 	(r   c                |   <"   V P                   P                  R R R7      pS! SV4      G Rj  xL
 pS! V4      #  L5irj   rm   )rg   rn   rp   ra   r   re   s   &  r   handle_get_task_resultKLifespanMixin._setup_task_protocol_handlers.<locals>.handle_get_task_result   >     ZZ**Dt*LF/f==F'' >rs   c                    V ^8  d   QhRRRR/# )r   rg   r`   r   ra   r   )r   s   "r   r   rh      s     	( 	()9 	(l 	(r   c                   <"   V P                   '       d   V P                   P                  R R R7      M/ pS! SV4      G Rj  xL
 pS! V4      #  L5irj   rm   )rg   rn   rp   ra   r   rd   s   &  r   handle_list_tasksFLifespanMixin._setup_task_protocol_handlers.<locals>.handle_list_tasks   sS      ::: 

%%t$%G 
 .dF;;F'' <s   >AAAc                    V ^8  d   QhRRRR/# )r   rg   r]   r   ra   r   )r   s   "r   r   rh      s     	( 	(*; 	( 	(r   c                |   <"   V P                   P                  R R R7      pS! SV4      G Rj  xL
 pS! V4      #  L5irj   rm   )rg   rn   rp   ra   r   rb   s   &  r   handle_cancel_taskGLifespanMixin._setup_task_protocol_handlers.<locals>.handle_cancel_task   rx   rs   )r+   r!   	mcp.typesr]   r^   r_   r`   ra   fastmcp.server.tasks.requestsrb   rc   rd   re   _mcp_serverrequest_handlers)r   r!   r]   r^   r_   r`   rq   rv   r{   r   ra   rb   rc   rd   re   s   f         @@@@@r   _setup_task_protocol_handlers+LifespanMixin._setup_task_protocol_handlers   s     	D"$$	
 	
	
 	
	( 	(
	( 	(
	( 	(	( 	( =L)).9" 	))*?@ ?P))*:;?Q))*;<r   )r   rN   rL   r9   N)__name__
__module____qualname____firstlineno____doc__propertyr   r   rH   rX   r   __static_attributes__r   r   r   r   r      sN    N  c0 c0J % %4;R ;Rr   r   )r   
__future__r   r:   r-   collections.abcr   
contextlibr   r   r   typingr   r   uncalled_forr	   r5   fastmcp.utilities.loggingr
   r   r   fastmcp.server.serverr   r   r3   r   r   r   r   <module>r      sG    A "   ) D D % &  0-	H	GR GRr   