
    Cj
                        S SK Jr  S SKrS SKJr  S SKJrJr  S SKJ	r	J
r
Jr  S SKJr  \	(       a  S SKJr  SrSS	 jrSS
 jrSS jrSS jrg)    )annotationsN)partial)isawaitable	signature)TYPE_CHECKINGAnyCallable)
active_app)App   c                    U R                   $ ! [         a     Of = f[        U [        5      (       aB  [	        U R
                  5      [        U R                  5      [        U R                  5      -   -
  nO7[        U S5      (       a  U R                  n [	        U 5      S-
  nO[	        U 5      n Xl         U$ ! [         a     U$ f = f),Count the number of parameters in a callable__self__   )_param_countAttributeError
isinstancer   _count_parametersfunclenargskeywordshasattr__func__	TypeError)r   param_counts     c/home/rurouni/.local/share/pipx/venvs/strix-agent/lib/python3.13/site-packages/textual/_callback.pycount_parametersr      s        $  '		2		NS//
 
z	"	"}}'-1'-'   s    
-B5 5
CCc                >    [        [        U 5      R                  5      $ )r   )r   r   
parameters)r   s    r   r   r   (   s    y))**    c                p   #    Sn[        U 5      nU " USU 6 n[        U5      (       a
  UI Sh  vN nU$  N7f)Invoke a callback with an arbitrary number of parameters.

Args:
    callback: The callable to be invoked.

Returns:
    The return value of the invoked callable.
TN)r   r   )callbackparams_rich_traceback_guardparameter_countresults        r   _invoker)   -   sE      !&x0Ov./0F6M s   +646c                  ^ ^#     [         R                  " 5       mTbg  STR                  ;   aW  SUU 4S jjn[        R
                  " 5       R                  [        U5      n [        T /UQ76 I Sh  vN UR                  5         $ [        T /UQ76 I Sh  vN $ ! [         a    Sm Nf = f N:! UR                  5         f = f N-7f)r#   Ndebugc                 \   > T c   eT R                   R                  ST S[         S35        g)z(Log a message regarding a slow callback.Nz	Callback z is still pending after z seconds)logwarningINVOKE_TIMEOUT_WARNING)appr$   s   r   log_slowinvoke.<locals>.log_slowQ   s3    ?"?GGOOH:%=>T=UU]^r!   )returnNone)
r
   getLookupErrorfeaturesasyncioget_running_loop
call_laterr/   r)   cancel)r$   r%   r1   call_later_handler0   s   `   @r   invoker=   >   s     nn
 7cll2	 	 $446AA"H
	' 3F33$$&X////+  " 4$$&/s^   CB AC!B- 0B+1B- 4 CCCB(%C'B((C+B- -B??C)r   r	   r3   int)r$   r	   r%   objectr3   r   )r$   zCallable[..., Any]r%   r?   r3   r   )
__future__r   r8   	functoolsr   inspectr   r   typingr   r   r	   textualr
   textual.appr   r/   r   r   r)   r=    r!   r   <module>rG      s<    "   * / /   .+
""0r!   