
    pi)                       U d dl mZ d dlZd dlZd dlmZmZ d dlmZm	Z	m
Z
mZ d dlmZ d dlmZ d dlmZ d dlmZmZmZ d d	lmZmZmZmZmZmZ ej8                  d
k\  r	d dlmZmZ nd dlmZmZ ej8                  dk\  rd dlm Z  nd dlm Z  erDd dl!m"Z" ddl#m$Z$m%Z%m&Z&m'Z' ddl(m)Z) ddl*m+Z+ ddl,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4 ddl5m6Z6 ddl7m8Z8 ddl9m:Z:  ed      Z; ed      Z<ee=e>ddf   Z?de@d<    G d de       ZAy)!    )annotationsN)ABCMetaabstractmethod)AsyncIterator	AwaitableCallableSequence)AbstractContextManager)PathLike)Signals)AddressFamily
SocketKindsocket)IOTYPE_CHECKINGAnyTypeVarUnionoverload)      )TypeVarTupleUnpack)r   
   )	TypeAlias)FileDescriptorLike   )CapacityLimiterEventLock	Semaphore)CancelScope)TaskInfo   )ConnectedUDPSocketConnectedUNIXDatagramSocketIPSockAddrTypeSocketListenerSocketStream	UDPSocketUNIXDatagramSocketUNIXSocketStream)Process)	TaskGroup)
TestRunnerT_RetvalPosArgsTzPathLike[str]zPathLike[bytes]r   StrOrBytesPathc                  J   e Zd Zee	 	 	 	 	 	 	 	 	 	 d6d              Zeed7d              Zeed8d              Zeed9d              Zeed:d              Z	ed:d       Z
ed:d       Zeed;d              Zeeej                  d	d
	 	 	 	 	 d<d              Zeed8d              Zeed=d              Zeed>d              Zeed?d              Zeedd	d	 	 	 	 	 	 	 d@d              ZeedAd              Zee	 	 dB	 	 	 	 	 	 	 	 	 dCd              Zeed:d              Zee	 	 	 	 	 	 	 	 dDd              Zee	 	 	 	 	 	 	 	 dEd              Zee	 	 	 	 	 	 	 	 	 	 	 	 dFd              ZeedGd              Zee	 dH	 	 	 	 	 	 	 dId              ZeedJd              ZeedKd              ZeedKd              Zee	 	 	 	 	 	 	 	 	 	 dLd              Z ee!	 	 	 	 	 	 dMd              Z"ee!	 	 	 	 	 	 dNd               Z"ee	 	 	 	 	 	 dOd!              Z"eed"d"d"d"d#	 	 	 	 	 	 	 	 	 	 	 	 	 dPd$              Z#ee	 dQ	 	 	 	 	 dRd%              Z$eedSd&              Z%eedSd'              Z&eedSd(              Z'eedKd)              Z(eedTd*              Z)eedUd+              Z*eedVd,              Z+eedWd-              Z,eedXd.              Z-ee	 	 	 	 dYd/              Z.eedZd0              Z/ee	 	 	 	 d[d1              Z0eed\d2              Z1eed]d3              Z2eed:d4              Z3eed^d5              Z4y)_AsyncBackendc                     y)a  
        Run the given coroutine function in an asynchronous event loop.

        The current thread must not be already running an event loop.

        :param func: a coroutine function
        :param args: positional arguments to ``func``
        :param kwargs: positional arguments to ``func``
        :param options: keyword arguments to call the backend ``run()`` implementation
            with
        :return: the return value of the coroutine function
        N )clsfuncargskwargsoptionss        V/opt/services/ai/voice_agent/venv/lib/python3.12/site-packages/anyio/abc/_eventloop.pyrunzAsyncBackend.run8           c                     y)z
        Return an object that allows other threads to run code inside the event loop.

        :return: a token object, specific to the event loop running in the current
            thread
        Nr6   r7   s    r<   current_tokenzAsyncBackend.current_tokenN   r>   r?   c                     y)zz
        Return the current value of the event loop's internal clock.

        :return: the clock value (seconds)
        Nr6   rA   s    r<   current_timezAsyncBackend.current_timeX   r>   r?   c                     y)zFReturn the exception class that is raised in a task if it's cancelled.Nr6   rA   s    r<   cancelled_exception_classz&AsyncBackend.cancelled_exception_classa   r>   r?   c                   K   yw)z
        Check if the task has been cancelled, and allow rescheduling of other tasks.

        This is effectively the same as running :meth:`checkpoint_if_cancelled` and then
        :meth:`cancel_shielded_checkpoint`.
        Nr6   rA   s    r<   
checkpointzAsyncBackend.checkpointf           c                   K   | j                         t        j                   k(  r| j                          d{    yy7 w)z
        Check if the current task group has been cancelled.

        This will check if the task has been cancelled, but will not allow other tasks
        to be scheduled if not.

        N)current_effective_deadlinemathinfrH   rA   s    r<   checkpoint_if_cancelledz$AsyncBackend.checkpoint_if_cancelledp   s7      ))+y8..""" 9"s   6A?Ac                   K   | j                  d      5  | j                  d       d{    ddd       y7 # 1 sw Y   yxY ww)z
        Allow the rescheduling of other tasks.

        This will give other tasks the opportunity to run, but without checking if the
        current task group has been cancelled, unlike with :meth:`checkpoint`.

        T)shieldr   N)create_cancel_scopesleeprA   s    r<   cancel_shielded_checkpointz'AsyncBackend.cancel_shielded_checkpoint|   sG      $$D$1 	))A,	 		 	s$   A:8:	A:AAc                   K   yw)zt
        Pause the current task for the specified duration.

        :param delay: the duration, in seconds
        Nr6   )r7   delays     r<   rS   zAsyncBackend.sleep   rI   rJ   F)deadlinerQ   c                    y Nr6   )r7   rW   rQ   s      r<   rR   z AsyncBackend.create_cancel_scope       
 	r?   c                     y)aQ  
        Return the nearest deadline among all the cancel scopes effective for the
        current task.

        :return:
            - a clock value from the event loop's internal clock
            - ``inf`` if there is no deadline in effect
            - ``-inf`` if the current scope has been cancelled
        :rtype: float
        Nr6   rA   s    r<   rL   z'AsyncBackend.current_effective_deadline   r>   r?   c                     y rY   r6   rA   s    r<   create_task_groupzAsyncBackend.create_task_group        	r?   c                     y rY   r6   rA   s    r<   create_eventzAsyncBackend.create_event   r^   r?   c                    y rY   r6   )r7   fast_acquires     r<   create_lockzAsyncBackend.create_lock   r^   r?   N)	max_valuerb   c                    y rY   r6   )r7   initial_valuerd   rb   s       r<   create_semaphorezAsyncBackend.create_semaphore   s     	r?   c                     y rY   r6   )r7   total_tokenss     r<   create_capacity_limiterz$AsyncBackend.create_capacity_limiter   r^   r?   c                   K   y wrY   r6   )r7   r8   r9   abandon_on_cancellimiters        r<   run_sync_in_worker_threadz&AsyncBackend.run_sync_in_worker_thread         	rJ   c                     y rY   r6   rA   s    r<   check_cancelledzAsyncBackend.check_cancelled   r^   r?   c                     y rY   r6   r7   r8   r9   tokens       r<   run_async_from_threadz"AsyncBackend.run_async_from_thread        	r?   c                     y rY   r6   rs   s       r<   run_sync_from_threadz!AsyncBackend.run_sync_from_thread   rv   r?   c                  K   y wrY   r6   )r7   commandstdinstdoutstderrr:   s         r<   open_processzAsyncBackend.open_process   s      	rJ   c                     y rY   r6   )r7   workerss     r<   #setup_process_pool_exit_at_shutdownz0AsyncBackend.setup_process_pool_exit_at_shutdown   r^   r?   c                   K   y wrY   r6   )r7   hostportlocal_addresss       r<   connect_tcpzAsyncBackend.connect_tcp        
 	rJ   c                   K   y wrY   r6   )r7   paths     r<   connect_unixzAsyncBackend.connect_unix        	rJ   c                     y rY   r6   r7   socks     r<   create_tcp_listenerz AsyncBackend.create_tcp_listener  r^   r?   c                     y rY   r6   r   s     r<   create_unix_listenerz!AsyncBackend.create_unix_listener  r^   r?   c                   K   y wrY   r6   )r7   familyr   remote_address
reuse_ports        r<   create_udp_socketzAsyncBackend.create_udp_socket  ro   rJ   c                   K   y wrY   r6   r7   
raw_socketremote_paths      r<   create_unix_datagram_socketz(AsyncBackend.create_unix_datagram_socket  s      !rJ   c                   K   y wrY   r6   r   s      r<   r   z(AsyncBackend.create_unix_datagram_socket"  s      '*rJ   c                   K   y wrY   r6   r   s      r<   r   z(AsyncBackend.create_unix_datagram_socket(  r   rJ   r   )r   typeprotoflagsc                  K   y wrY   r6   )r7   r   r   r   r   r   r   s          r<   getaddrinfozAsyncBackend.getaddrinfo/  s     ( 	rJ   c                   K   y wrY   r6   )r7   sockaddrr   s      r<   getnameinfozAsyncBackend.getnameinfoE  r   rJ   c                   K   y wrY   r6   r7   objs     r<   wait_readablezAsyncBackend.wait_readableL  r   rJ   c                   K   y wrY   r6   r   s     r<   wait_writablezAsyncBackend.wait_writableQ  r   rJ   c                     y rY   r6   r   s     r<   notify_closingzAsyncBackend.notify_closingV  r^   r?   c                   K   y wrY   r6   r   s     r<   wrap_listener_socketz!AsyncBackend.wrap_listener_socket[  r   rJ   c                   K   y wrY   r6   r   s     r<   wrap_stream_socketzAsyncBackend.wrap_stream_socket`  r   rJ   c                   K   y wrY   r6   r   s     r<   wrap_unix_stream_socketz$AsyncBackend.wrap_unix_stream_sockete  r   rJ   c                   K   y wrY   r6   r   s     r<   wrap_udp_socketzAsyncBackend.wrap_udp_socketj  r   rJ   c                   K   y wrY   r6   r   s     r<   wrap_connected_udp_socketz&AsyncBackend.wrap_connected_udp_socketo  r   rJ   c                   K   y wrY   r6   r   s     r<   wrap_unix_datagram_socketz&AsyncBackend.wrap_unix_datagram_sockett  r   rJ   c                   K   y wrY   r6   r   s     r<   #wrap_connected_unix_datagram_socketz0AsyncBackend.wrap_connected_unix_datagram_sockety  r   rJ   c                     y rY   r6   rA   s    r<   current_default_thread_limiterz+AsyncBackend.current_default_thread_limiter  r^   r?   c                     y rY   r6   )r7   signalss     r<   open_signal_receiverz!AsyncBackend.open_signal_receiver  rZ   r?   c                     y rY   r6   rA   s    r<   get_current_taskzAsyncBackend.get_current_task  r^   r?   c                     y rY   r6   rA   s    r<   get_running_taskszAsyncBackend.get_running_tasks  r^   r?   c                   K   y wrY   r6   rA   s    r<   wait_all_tasks_blockedz#AsyncBackend.wait_all_tasks_blocked  r   rJ   c                     y rY   r6   )r7   r;   s     r<   create_test_runnerzAsyncBackend.create_test_runner  r^   r?   )
r8   1Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]]r9   tuple[Unpack[PosArgsT]]r:   dict[str, Any]r;   r   returnr0   )r   object)r   float)r   ztype[BaseException])r   None)rV   r   r   r   )rW   r   rQ   boolr   r"   )r   r.   )r   r   )rb   r   r   r    )rf   intrd   z
int | Nonerb   r   r   r!   )ri   r   r   r   )FN)
r8   &Callable[[Unpack[PosArgsT]], T_Retval]r9   r   rl   r   rm   zCapacityLimiter | Noner   r0   )r8   r   r9   r   rt   r   r   r0   )r8   r   r9   r   rt   r   r   r0   )rz   z)StrOrBytesPath | Sequence[StrOrBytesPath]r{   int | IO[Any] | Noner|   r   r}   r   r:   r   r   r-   )r   zset[Process]r   r   rY   )r   strr   r   r   IPSockAddrType | Noner   r)   )r   str | bytesr   r,   )r   r   r   r(   )
r   r   r   r   r   r   r   r   r   zUDPSocket | ConnectedUDPSocket)r   r   r   r   r   r+   )r   r   r   r   r   r&   )r   r   r   zstr | bytes | Noner   z0UNIXDatagramSocket | ConnectedUNIXDatagramSocket)r   zbytes | str | Noner   zstr | int | Noner   zint | AddressFamilyr   zint | SocketKindr   r   r   r   r   zuSequence[tuple[AddressFamily, SocketKind, int, str, tuple[str, int] | tuple[str, int, int, int] | tuple[int, bytes]]])r   )r   r'   r   r   r   ztuple[str, str])r   r   r   r   )r   r   r   r)   )r   r   r   r,   )r   r   r   r*   )r   r   r   r%   )r   r   r   r+   )r   r   r   r&   )r   r   )r   r   r   z.AbstractContextManager[AsyncIterator[Signals]])r   r#   )r   zSequence[TaskInfo])r;   r   r   r/   )5__name__
__module____qualname__classmethodr   r=   rB   rD   rF   rH   rO   rT   rS   rM   rN   rR   rL   r]   r`   rc   rg   rj   rn   rq   ru   rx   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r6   r?   r<   r4   r4   7   s{   ? & 	
   
  (       U  U    	# 	# 	 	    "&((548	  
 
  
          
 !%" 	
  
      
 #(*.4 &  	
 ( 
      ? & 	
 
   4 & 	
 
   	:	 $		
 %	 %	 	 
	  	    JN!2G	  
           - .	
  
(   !!.2!	!  ! **.9*	$*  * .@	9  
  '(!"  
 $   
  ( 45%.1	  
                            	$  
    	7  
            r?   r4   )	metaclass)B
__future__r   rM   sysabcr   r   collections.abcr   r   r   r	   
contextlibr
   osr   signalr   r   r   r   typingr   r   r   r   r   r   version_infor   r   typing_extensionsr   	_typeshedr   _core._synchronizationr   r   r    r!   _core._tasksr"   _core._testingr#   _socketsr%   r&   r'   r(   r)   r*   r+   r,   _subprocessesr-   _tasksr.   _testingr/   r0   r1   r   bytesr2   __annotations__r4   r6   r?   r<   <module>r      s    "  
 ' H H -   4 4  w++6w +,PP*)	 	 	 '!$:
#!#uo?P"PQ	 QgW gr?   