+
    O(i                       R t ^ 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 ^ RIHtHtHtHtHt ^RIHt ^RIHt ]! R	4      t]R
]]],          ,          ]	],          ,          ]],          ,          3,          t ! R R]],          4      t ! R R]],          4      t]R R l4       t]R R l4       t]R R l4       t]R R l4       tR R ltR# )z6Factory-based dependencies: Depends and its internals.)annotationsN)	AwaitableCallable)AbstractAsyncContextManagerAbstractContextManagerAsyncExitStack)
ContextVar)AnyClassVarTypeVarcastoverload)
Dependency)get_dependency_parametersR.c                  >    ] tR t^t$ RtR]R&   R R ltR R ltRtR	# )
_FunctionalDependencyz3Base for dependencies that wrap a factory function.DependencyFactory[R]factoryc                    V ^8  d   QhRRRR/# )   r   r   returnNone )formats   "]/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/uncalled_for/functional.py__annotate__"_FunctionalDependency.__annotate__   s       4      c                	    Wn         R # Nr   )selfr   s   &&r   __init___FunctionalDependency.__init__   s    r   c               $    V ^8  d   QhRRRRRR/# )r   stackr   	raw_valuezMR | Awaitable[R] | AbstractContextManager[R] | AbstractAsyncContextManager[R]r   r   r   )r   s   "r   r   r   !   s(     & &&-	& 
&r   c                	  "   \        V\        4      '       d   VP                  V4      G R j  xL
 # \        V\        4      '       d   VP	                  V4      # \
        P                  ! V4      '       g   \        V\        4      '       d$   \        \        \        ,          V4      G R j  xL
 # \        \        V4      #  L L5ir    )

isinstancer   enter_async_contextr   enter_contextinspectiscoroutiner   r   r   )r"   r&   r'   s   &&&r   _resolve_factory_value,_FunctionalDependency._resolve_factory_value!   s      i!<==229===	#9::&&y11  ++z)Y/O/OilI6669%% > 7s(   +CB>AC54C)C *C Cr!   N)	__name__
__module____qualname____firstlineno____doc____annotations__r#   r.   __static_attributes__r   r   r   r   r      s    =!!& &r   r   c                  h    ] tR t^5t$ Rt]! R4      tR]R&   ]! R4      tR]R&   R R	 lt	R
 R lt
RtR# )_Dependsz5Call-scoped dependency, resolved fresh for each call.uncalled_for_cachez7ClassVar[ContextVar[dict[DependencyFactory[Any], Any]]]cacheuncalled_for_stackz$ClassVar[ContextVar[AsyncExitStack]]r&   c                    V ^8  d   QhRRRR/# )r   functionzCallable[..., Any]r   zdict[str, Any]r   )r   s   "r   r   _Depends.__annotate__=   s      $ 
r   c                	   "   V P                   P                  4       p/ p\        V4      pVP                  4        F   w  rVVP	                  V4      G R j  xL
 W5&   K"  	  V#  L5ir    )r&   getr   itemsr*   )r"   r=   r&   	arguments
parameters	parameter
dependencys   &&     r   _resolve_parameters_Depends._resolve_parameters=   s`      

 $&	.x8
%/%5%5%7!I).)B)B:)N#NI  &8  $Os   AA"A A"c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r>   J   s      ! r   c                	|  "   V P                   P                  4       pV P                  V9   d   WP                  ,          # V P                  P                  4       pV P	                  V P                  4      G R j  xL
 pV P                  ! R/ VB pV P                  W$4      G R j  xL
 pWQV P                  &   V#  L? L5i)Nr   )r:   r@   r   r&   rF   r.   )r"   r:   r&   rB   r'   resolved_values   &     r   
__aenter___Depends.__aenter__J   s     

 <<5 &&

 224<<@@	LL-9-	#::5LL,dll ALs$   A6B<8B89*B<#B:$B<:B<r   N)r0   r1   r2   r3   r4   r   r:   r5   r&   rF   rK   r6   r   r   r   r8   r8   5   s=    ?EOFEB  3==Q2RE/R r   r8   c                    V ^8  d   QhRRRR/# )r   r   z-Callable[..., AbstractAsyncContextManager[R]]r   r   r   )r   s   "r   r   r   Z   s     M MB Mq Mr   c                    R # r    r   r!   s   &r   DependsrO   Y   s    JMr   c                    V ^8  d   QhRRRR/# )r   r   z(Callable[..., AbstractContextManager[R]]r   r   r   )r   s   "r   r   r   \   s     H H= H! Hr   c                    R # r    r   r!   s   &r   rO   rO   [   s    EHr   c                    V ^8  d   QhRRRR/# )r   r   zCallable[..., Awaitable[R]]r   r   r   )r   s   "r   r   r   ^   s     ; ;0 ;Q ;r   c                    R # r    r   r!   s   &r   rO   rO   ]   s    8;r   c                    V ^8  d   QhRRRR/# )r   r   zCallable[..., R]r   r   r   )r   s   "r   r   r   `   s     0 0% 0! 0r   c                    R # r    r   r!   s   &r   rO   rO   _   s    -0r   c                    V ^8  d   QhRRRR/# )r   r   r   r   r   r   )r   s   "r   r   r   a   s     & &) &a &r   c                4    \        \        \        V 4      4      # )af  Declare a dependency on a factory function.

The factory is called once per resolution scope. It may be:

- A sync function returning a value
- An async function returning a value
- A sync generator (context manager) yielding a value
- An async generator (async context manager) yielding a value

Context managers get proper enter/exit lifecycle management.
)r   r   r8   r!   s   &r   rO   rO   a   s     8G$%%r   )r4   
__future__r   r,   collections.abcr   r   
contextlibr   r   r   contextvarsr   typingr	   r
   r   r   r   baser   introspectionr   r   DependencyFactoryr   r8   rO   r   r   r   <module>r`      s    < "  / 
 # 9 9  4CLYq\	215	58STU8V	VV 
&JqM &8!$Q' !H 
 M 
 M	 H 
 H	 ; 
 ;	 0 
 0&r   