
    /jn                    X    S SK Jr  S SKrS SKJr  S SKJrJr  \" S5      r " S S5      r	g)    )annotationsN)	Coroutine)AnyTypeVar_Tc                  T    \ rS rSrSrSS	S jjr S     S
S jjr\SS j5       rSr	g)TaskSet
   z;Small utility to create tasks in a fire-and-forget fashion.Nc                    U=(       d    [         R                  " 5       U l        [        [         R                  [
              " 5       U l        SU l        g )NF)asyncioget_event_loop_loopsetTaskr   _set_closed)selfloops     R/app/agent/.venv/lib/python3.13/site-packages/livekit/agents/utils/aio/task_set.py__init__TaskSet.__init__   s6    5W335
S)*,	    c                    U R                   (       a  [        S5      eU R                  R                  XS9nU R                  R                  U5        UR                  U R                  R                  5        U$ )NzTaskSet is closed)name)r   RuntimeErrorr   create_taskr   addadd_done_callbackremove)r   coror   tasks       r   r   TaskSet.create_task   s[     <<233zz%%d%6		dtyy//0r   c                6    U R                   R                  5       $ N)r   copy)r   s    r   tasksTaskSet.tasks   s    yy~~r   )r   r   r   r$   )r   z asyncio.AbstractEventLoop | NonereturnNone)r    zCoroutine[Any, Any, _T]r   z
str | Noner(   zasyncio.Task[_T])r(   zset[asyncio.Task[Any]])
__name__
__module____qualname____firstlineno____doc__r   r   propertyr&   __static_attributes__ r   r   r	   r	   
   sB    E AE	+	3=			    r   r	   )

__future__r   r   collections.abcr   typingr   r   r   r	   r1   r   r   <module>r5      s$    "  % T]   r   