+
    Q(i                       ^ RI Ht ^ RIt^ RIHtHt ^ RIHtHt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 ^ RIHt ^ RIHt ^ R	IHtHt ^ R
IHtHt ^ RI H!t! ^ RI"H#t#H$t$ ]'       d   ^ RI%H&t& . ROt']PP                  ! ])4      t*]! R]R7      t+]! RR]R7      t,] ! R R]]+],3,          4      4       t-]! RRR7       ! R R]]+,          4      4       t.R R lt/ ! R R4      t0R# )    )annotationsN)	AwaitableSequence)	dataclassfieldreplace)datetimetimezone)partial)TYPE_CHECKINGAnyGenericLiteralProtocolruntime_checkable)TypeVar)PromptPromptResult)ResourceResourceResult)ResourceTemplate)Tool
ToolResult)ContextCallNext
MiddlewareMiddlewareContextT)defaultRT)	covariantr   c                  "    ] tR t^)tR R ltRtR# )r   c                    V ^8  d   QhRRRR/# )   contextMiddlewareContext[T]returnzAwaitable[R] )formats   "j/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/fastmcp/server/middleware/middleware.py__annotate__CallNext.__annotate__+   s    JJ 4JJ    c                	    R # Nr(   )selfr%   s   &&r*   __call__CallNext.__call__+   s    sr-   r(   N)__name__
__module____qualname____firstlineno__r1   __static_attributes__r(   r-   r*   r   r   )   s    JJr-   )kw_onlyfrozenc                      ] tR t^.t$ RtR]R&   RtR]R&   RtR]R	&   R
tR]R&   Rt	R]R&   ]
! R R7      tR]R&   R R ltRtR# )r   z0
Unified context for all middleware operations.
r   messageNzContext | Nonefastmcp_contextclientzLiteral['client', 'server']sourcerequestz"Literal['request', 'notification']typez
str | Nonemethodc                 	J    \         P                  ! \        P                  4      # r/   )r	   nowr
   utcr(   r-   r*   <lambda>MiddlewareContext.<lambda><   s    X\\8Rr-   )default_factoryr	   	timestampc                    V ^8  d   QhRRRR/# )r$   kwargsr   r'   r&   r(   )r)   s   "r*   r+   MiddlewareContext.__annotate__>   s     ' 'S '%9 'r-   c                	    \        V 3/ VB # r/   )r   )r0   rJ   s   &,r*   copyMiddlewareContext.copy>   s    t&v&&r-   r(   )r3   r4   r5   r6   __doc____annotations__r<   r>   r@   rA   r   rH   rM   r7   r(   r-   r*   r   r   .   sT     J&*O^* +3F'2/8D
,8FJ0RSIxS' 'r-   c               $    V ^8  d   QhRRRRRR/# )r$   
middlewarer   	call_nextzCallNext[T, R]r'   r(   )r)   s   "r*   r+   r+   B   s$     
 

'5

r-   c                   a a R VV 3R llpV# )zCreate a wrapper that applies a single middleware to a context. The
closure bakes in the middleware and call_next function, so it can be
passed to other functions that expect a call_next function.c                    V ^8  d   QhRRRR/# )r$   r%   r&   r'   r    r(   )r)   s   "r*   r+   -make_middleware_wrapper.<locals>.__annotate__I   s     4 43 4 4r-   c                2   <"   S! V S4      G R j  xL
 #  L5ir/   r(   )r%   rS   rR   s   &r*   wrapper(make_middleware_wrapper.<locals>.wrapperI   s     3333s   r(   )rR   rS   rX   s   ff r*   make_middleware_wrapperrZ   B   s    4 4 Nr-   c                      ] tR t^OtRtR R ltR R ltR R ltR R	 ltR
 R lt	R R lt
R R ltR R 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# )r   z9Base class for FastMCP middleware with dispatching hooks.c               $    V ^8  d   QhRRRRRR/# )r$   r%   r&   rS   zCallNext[T, Any]r'   r   r(   )r)   s   "r*   r+   Middleware.__annotate__R   s(     
, 
,%
, $
, 
	
,r-   c                h   "   V P                  VVR7      G Rj  xL
 pV! V4      G Rj  xL
 #  L L5i)z0Main entry point that orchestrates the pipeline.rS   N)_dispatch_handler)r0   r%   rS   handler_chains   &&& r*   r1   Middleware.__call__R   sA      #44 5 
 
 #7+++	
 ,s   2.2022c               $    V ^8  d   QhRRRRRR/# )r$   r%   MiddlewareContext[Any]rS   CallNext[Any, Any]r'   r(   )r)   s   "r*   r+   r]   ^   s$        - :L 	 r-   c                  "   TpVP                   ;R8X  d    \        V P                  VR7      pM;R8X  d    \        V P                  VR7      pM;R8X  d    \        V P                  VR7      pM;R8X  d    \        V P
                  VR7      pM};R8X  d    \        V P                  VR7      pM];R8X  d    \        V P                  VR7      pM=;R8X  d    \        V P                  VR7      pMR	8X  d   \        V P                  VR7      pVP                  ;R
8X  d    \        V P                  VR7      pMR8X  d   \        V P                  VR7      p\        V P                  VR7      pV# 5i)z/Builds a chain of handlers for a given message.
initializer_   z
tools/callzresources/readzprompts/getz
tools/listzresources/listzresources/templates/listzprompts/listr?   notification)rA   r   on_initializeon_call_toolon_read_resourceon_get_prompton_list_toolson_list_resourceson_list_resource_templateson_list_promptsr@   
on_requeston_notification
on_message)r0   r%   rS   handlers   &&& r*   r`   Middleware._dispatch_handler^   s      nn!$"4"4H!$"3"3wG!!$"7"77K!$"4"4H!$"4"4H!!$"8"8GL+!$"A"AWU!$"6"6'Jll!$//WE!$"6"6'J$//W=s   E,E.c               $    V ^8  d   QhRRRRRR/# )r$   r%   rd   rS   re   r'   r   r(   )r)   s   "r*   r+   r]      s(     ( ('( &( 
	(r-   c                	.   "   V! V4      G R j  xL
 #  L5ir/   r(   r0   r%   rS   s   &&&r*   rs   Middleware.on_message        
 w''''   c               $    V ^8  d   QhRRRRRR/# )r$   r%   z'MiddlewareContext[mt.Request[Any, Any]]rS   z#CallNext[mt.Request[Any, Any], Any]r'   r   r(   )r)   s   "r*   r+   r]      s(     ( (8( 7( 
	(r-   c                	.   "   V! V4      G R j  xL
 #  L5ir/   r(   rx   s   &&&r*   rq   Middleware.on_request   rz   r{   c               $    V ^8  d   QhRRRRRR/# )r$   r%   z,MiddlewareContext[mt.Notification[Any, Any]]rS   z(CallNext[mt.Notification[Any, Any], Any]r'   r   r(   )r)   s   "r*   r+   r]      s(     ( (=( <( 
	(r-   c                	.   "   V! V4      G R j  xL
 #  L5ir/   r(   rx   s   &&&r*   rr   Middleware.on_notification   rz   r{   c               $    V ^8  d   QhRRRRRR/# )r$   r%   z'MiddlewareContext[mt.InitializeRequest]rS   z:CallNext[mt.InitializeRequest, mt.InitializeResult | None]r'   zmt.InitializeResult | Noner(   )r)   s   "r*   r+   r]      s)     ( (8( N( 
$	(r-   c                	.   "   V! V4      G R j  xL
 #  L5ir/   r(   rx   s   &&&r*   ri   Middleware.on_initialize   rz   r{   c               $    V ^8  d   QhRRRRRR/# )r$   r%   z+MiddlewareContext[mt.CallToolRequestParams]rS   z.CallNext[mt.CallToolRequestParams, ToolResult]r'   r   r(   )r)   s   "r*   r+   r]      s)     ( (<( B( 
	(r-   c                	.   "   V! V4      G R j  xL
 #  L5ir/   r(   rx   s   &&&r*   rj   Middleware.on_call_tool   rz   r{   c               $    V ^8  d   QhRRRRRR/# )r$   r%   z/MiddlewareContext[mt.ReadResourceRequestParams]rS   z6CallNext[mt.ReadResourceRequestParams, ResourceResult]r'   r   r(   )r)   s   "r*   r+   r]      s)     ( (@( J( 
	(r-   c                	.   "   V! V4      G R j  xL
 #  L5ir/   r(   rx   s   &&&r*   rk   Middleware.on_read_resource   rz   r{   c               $    V ^8  d   QhRRRRRR/# )r$   r%   z,MiddlewareContext[mt.GetPromptRequestParams]rS   z1CallNext[mt.GetPromptRequestParams, PromptResult]r'   r   r(   )r)   s   "r*   r+   r]      s)     ( (=( E( 
	(r-   c                	.   "   V! V4      G R j  xL
 #  L5ir/   r(   rx   s   &&&r*   rl   Middleware.on_get_prompt   rz   r{   c               $    V ^8  d   QhRRRRRR/# )r$   r%   z&MiddlewareContext[mt.ListToolsRequest]rS   z-CallNext[mt.ListToolsRequest, Sequence[Tool]]r'   zSequence[Tool]r(   )r)   s   "r*   r+   r]      s)     ( (7( A( 
	(r-   c                	.   "   V! V4      G R j  xL
 #  L5ir/   r(   rx   s   &&&r*   rm   Middleware.on_list_tools   rz   r{   c               $    V ^8  d   QhRRRRRR/# )r$   r%   z*MiddlewareContext[mt.ListResourcesRequest]rS   z5CallNext[mt.ListResourcesRequest, Sequence[Resource]]r'   zSequence[Resource]r(   )r)   s   "r*   r+   r]      s)     ( (;( I( 
	(r-   c                	.   "   V! V4      G R j  xL
 #  L5ir/   r(   rx   s   &&&r*   rn   Middleware.on_list_resources   rz   r{   c               $    V ^8  d   QhRRRRRR/# )r$   r%   z2MiddlewareContext[mt.ListResourceTemplatesRequest]rS   zECallNext[mt.ListResourceTemplatesRequest, Sequence[ResourceTemplate]]r'   zSequence[ResourceTemplate]r(   )r)   s   "r*   r+   r]      s(     ( (C(
( 
$(r-   c                	.   "   V! V4      G R j  xL
 #  L5ir/   r(   rx   s   &&&r*   ro   %Middleware.on_list_resource_templates   s      w''''r{   c               $    V ^8  d   QhRRRRRR/# )r$   r%   z(MiddlewareContext[mt.ListPromptsRequest]rS   z1CallNext[mt.ListPromptsRequest, Sequence[Prompt]]r'   zSequence[Prompt]r(   )r)   s   "r*   r+   r]      s)     ( (9( E( 
	(r-   c                	.   "   V! V4      G R j  xL
 #  L5ir/   r(   rx   s   &&&r*   rp   Middleware.on_list_prompts   rz   r{   r(   N)r3   r4   r5   r6   rO   r1   r`   rs   rq   rr   ri   rj   rk   rl   rm   rn   ro   rp   r7   r(   r-   r*   r   r   O   sL    C
, D((((((((((( (r-   )r   r   r   )1
__future__r   loggingcollections.abcr   r   dataclassesr   r   r   r	   r
   	functoolsr   typingr   r   r   r   r   r   	mcp.typestypesmttyping_extensionsr   fastmcp.prompts.promptr   r   fastmcp.resources.resourcer   r   fastmcp.resources.templater   fastmcp.tools.toolr   r   fastmcp.server.contextr   __all__	getLoggerr3   loggerr   r    r   r   rZ   r   r(   r-   r*   <module>r      s    "  / 1 1 '    % 7 ? 7 /. 
		8	$ CC4- Kx1~ K K 4%'
 ' &'&
~( ~(r-   