Ë
    s0žjSŸ  ã                  ó¼  — d dl mZ d dlZd dlmZ d dlmZmZmZm	Z	m
Z
mZmZmZ d dlmZmZ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  ddl!m"Z" ddl#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+ ddl,m-Z-m.Z.m/Z/m0Z0 dd„Z1 G d„ d«      Z2 e	de2¬«      Z3 G d„ dee3   «      Z4 G d„ d«      Z5 e	de5¬«      Z6 G d„ dee6   «      Z7	 	 	 	 	 	 dd„Z8	 	 	 	 	 	 d d„Z9d!d„Z:y)"é    )ÚannotationsN)ÚTracebackType)ÚTYPE_CHECKINGÚAnyÚGenericÚTypeVarÚCallableÚIterableÚIteratorÚcast)Ú	AwaitableÚAsyncIterableÚAsyncIteratorÚassert_neveré   )Úis_dictÚis_listÚconsume_sync_iteratorÚconsume_async_iterator)Ú
model_dump)Útimeout_exceptions)Úconstruct_type)ÚStreamÚAsyncStream)ÚAssistantStreamEvent)ÚRunÚTextÚMessageÚ	ImageFileÚ	TextDeltaÚMessageDeltaÚMessageContentÚMessageContentDelta)ÚRunStepÚToolCallÚRunStepDeltaÚToolCallDeltac                 ó<   — g t        «       ¢t        j                  ‘­S ©N)r   ÚasyncioÚTimeoutError© ó    úX/home/Script/Script_env/lib/python3.12/site-packages/openai/lib/streaming/_assistants.pyÚ_timeout_exceptionsr/      s   € Ø8ÔÓ!Ð8¤7×#7Ñ#7Ñ8Ð8r-   c                  óJ  — e Zd ZU ded<   	 d%d„Zd&d„Zd'd„Zd(d„Zed)d„«       Z	ed*d„«       Z
ed+d	„«       Zed,d
„«       Zd%d„Zd%d„Zd-d„Zd.d„Zd/d„Zd0d„Zd%d„Zd1d„Zd2d„Zd3d„Zd2d„Zd4d„Zd5d„Zd4d„Zd6d„Zd%d„Zd7d„Zd8d„Zd7d„Zd9d„Z d:d„Z!d9d „Z"d;d!„Z#d1d"„Z$d(d#„Z%y$)<ÚAssistantEventHandlerzIterable[str]Útext_deltasc                óò   — d | _         d | _        d | _        d | _        d | _        d | _        d | _        i | _        i | _        d | _	        | j                  «       | _        | j                  «       | _        d | _        y r)   )Ú_current_eventÚ_current_message_content_indexÚ_current_message_contentÚ_current_tool_call_indexÚ_current_tool_callÚ+_AssistantEventHandler__current_run_step_idÚ#_AssistantEventHandler__current_runÚ*_AssistantEventHandler__run_step_snapshotsÚ)_AssistantEventHandler__message_snapshotsÚ0_AssistantEventHandler__current_message_snapshotÚ__text_deltas__r2   Ú
__stream__Ú	_iteratorÚ_AssistantEventHandler__stream©Úselfs    r.   Ú__init__zAssistantEventHandler.__init__-   sx   € Ø;?ˆÔØ:>ˆÔ+Ø?CˆÔ%Ø48ˆÔ%Ø37ˆÔØ15ˆÔ"Ø)-ˆÔØ8:ˆÔ!Ø79ˆÔ Ø:>ˆÔ'à×/Ñ/Ó1ˆÔØŸ™Ó*ˆŒØ=Aˆ�r-   c                ó@   — | j                   rt        d«      ‚|| _         y ©NzyA single event handler cannot be shared between multiple streams; You will need to construct a new event handler instance)rA   ÚRuntimeError©rC   Ústreams     r.   Ú_initzAssistantEventHandler._init=   ó%   € Ø�=Š=Üð Lóð ð ˆ�r-   c                ó6   — | j                   j                  «       S r)   )r@   Ú__next__rB   s    r.   rM   zAssistantEventHandler.__next__E   s   € Ø�~‰~×&Ñ&Ó(Ð(r-   c              #  ó6   K  — | j                   D ]  }|–— Œ y ­wr)   ©r@   ©rC   Úitems     r.   Ú__iter__zAssistantEventHandler.__iter__H   s   è ø€ Ø—N‘Nò 	ˆDØ‹Jñ	ùs   ‚c                ó   — | j                   S r)   ©r4   rB   s    r.   Úcurrent_eventz#AssistantEventHandler.current_eventL   ó   € à×"Ñ"Ð"r-   c                ó   — | j                   S r)   )r:   rB   s    r.   Úcurrent_runz!AssistantEventHandler.current_runP   ó   € à×!Ñ!Ð!r-   c                óN   — | j                   sy | j                  | j                      S r)   )r9   r;   rB   s    r.   Úcurrent_run_step_snapshotz/AssistantEventHandler.current_run_step_snapshotT   ó%   € à×)Ò)Øà×(Ñ(¨×)CÑ)CÑDÐDr-   c                ó   — | j                   S r)   )r=   rB   s    r.   Úcurrent_message_snapshotz.AssistantEventHandler.current_message_snapshot[   ó   € à×.Ñ.Ð.r-   c                óR   — | j                   r| j                   j                  «        yy©z~
        Close the response and release the connection.

        Automatically called when the context manager exits.
        N)rA   ÚcloserB   s    r.   rb   zAssistantEventHandler.close_   s    € ð �=Š=Ø�M‰M×ÑÕ!ð r-   c                ó   — t        | «       y©z(Waits until the stream has been consumedN)r   rB   s    r.   Ú
until_donez AssistantEventHandler.until_doneh   s
   € ä˜dÕ#r-   c                óh   — | j                  «        | j                  st        d«      ‚| j                  S )úBWait for the stream to finish and returns the completed Run objectúNo final run object found)re   r:   rG   rB   s    r.   Úget_final_runz#AssistantEventHandler.get_final_runl   s-   € à�‰Ôà×!Ò!ÜÐ:Ó;Ð;à×!Ñ!Ð!r-   c                óª   — | j                  «        | j                  st        d«      ‚| j                  j                  «       D �cg c]  }|‘Œ c}S c c}w )úEWait for the stream to finish and returns the steps taken in this runúNo run steps found)re   r;   rG   Úvalues©rC   Ústeps     r.   Úget_final_run_stepsz)AssistantEventHandler.get_final_run_stepsu   sD   € à�‰Ôà×(Ò(ÜÐ3Ó4Ð4à!%×!:Ñ!:×!AÑ!AÓ!CÖD˜’ÒDÐDùÒDó   Á	Ac                óª   — | j                  «        | j                  st        d«      ‚| j                  j                  «       D �cg c]  }|‘Œ c}S c c}w )úJWait for the stream to finish and returns the messages emitted in this runúNo messages found)re   r<   rG   rm   ©rC   Úmessages     r.   Úget_final_messagesz(AssistantEventHandler.get_final_messages~   sD   € à�‰Ôà×'Ò'ÜÐ2Ó3Ð3à'+×'?Ñ'?×'FÑ'FÓ'HÖI˜G’ÒIÐIùÒIrq   c              #  ó$  K  — | D ]‡  }|j                   dk7  rŒ|j                  j                  j                  xs g D ]N  }|j                  dk(  sŒ|j
                  sŒ |j
                  j                  sŒ7|j
                  j                  –— ŒP Œ‰ y ­w©Núthread.message.deltaÚtext©ÚeventÚdataÚdeltaÚcontentÚtyper{   Úvalue©rC   r}   Úcontent_deltas      r.   r>   z%AssistantEventHandler.__text_deltas__‡   s   è ø€ Øò 	3ˆEØ�{‰{Ð4Ò4Øà!&§¡×!1Ñ!1×!9Ñ!9Ò!?¸Rò 3�Ø ×%Ñ%¨Ó/°M×4FÓ4FÈ=×K]ÑK]×KcÓKcØ'×,Ñ,×2Ñ2Ó2ñ3ñ		3ùs   ‚ABÁBÁBÁ3Bc                 ó   — y©zšFires when the stream has finished.

        This happens if the stream is read to completion
        or if an exception occurs during iteration.
        Nr,   rB   s    r.   Úon_endzAssistantEventHandler.on_end’   ó   � r-   c                 ó   — y©z2Callback that is fired for every Server-Sent-EventNr,   ©rC   r}   s     r.   Úon_eventzAssistantEventHandler.on_event™   rˆ   r-   c                 ó   — y©z1Callback that is fired when a run step is createdNr,   ©rC   Úrun_steps     r.   Úon_run_step_createdz)AssistantEventHandler.on_run_step_createdœ   rˆ   r-   c                 ó   — y©aX  Callback that is fired whenever a run step delta is returned from the API

        The first argument is just the delta as sent by the API and the second argument
        is the accumulated snapshot of the run step. For example, a tool calls event may
        look like this:

        # delta
        tool_calls=[
            RunStepDeltaToolCallsCodeInterpreter(
                index=0,
                type='code_interpreter',
                id=None,
                code_interpreter=CodeInterpreter(input=' sympy', outputs=None)
            )
        ]
        # snapshot
        tool_calls=[
            CodeToolCall(
                id='call_wKayJlcYV12NiadiZuJXxcfx',
                code_interpreter=CodeInterpreter(input='from sympy', outputs=[]),
                type='code_interpreter',
                index=0
            )
        ],
        Nr,   ©rC   r   Úsnapshots      r.   Úon_run_step_deltaz'AssistantEventHandler.on_run_step_deltaŸ   rˆ   r-   c                 ó   — y©z3Callback that is fired when a run step is completedNr,   r�   s     r.   Úon_run_step_donez&AssistantEventHandler.on_run_step_doneº   rˆ   r-   c                 ó   — y©z2Callback that is fired when a tool call is createdNr,   ©rC   Ú	tool_calls     r.   Úon_tool_call_createdz*AssistantEventHandler.on_tool_call_created½   rˆ   r-   c                 ó   — y©z<Callback that is fired when a tool call delta is encounteredNr,   r”   s      r.   Úon_tool_call_deltaz(AssistantEventHandler.on_tool_call_deltaÀ   rˆ   r-   c                 ó   — yr    r,   rœ   s     r.   Úon_tool_call_donez'AssistantEventHandler.on_tool_call_doneÃ   rˆ   r-   c                 ó   — y©z4Fired whenever an exception happens during streamingNr,   ©rC   Ú	exceptions     r.   Úon_exceptionz"AssistantEventHandler.on_exceptionÆ   rˆ   r-   c                 ó   — y©zFires if the request times outNr,   rB   s    r.   Ú
on_timeoutz AssistantEventHandler.on_timeoutÉ   rˆ   r-   c                 ó   — y©z0Callback that is fired when a message is createdNr,   ru   s     r.   Úon_message_createdz(AssistantEventHandler.on_message_createdÌ   rˆ   r-   c                 ó   — y©ax  Callback that is fired whenever a message delta is returned from the API

        The first argument is just the delta as sent by the API and the second argument
        is the accumulated snapshot of the message. For example, a text content event may
        look like this:

        # delta
        MessageDeltaText(
            index=0,
            type='text',
            text=Text(
                value=' Jane'
            ),
        )
        # snapshot
        MessageContentText(
            index=0,
            type='text',
            text=Text(
                value='Certainly, Jane'
            ),
        )
        Nr,   r”   s      r.   Úon_message_deltaz&AssistantEventHandler.on_message_deltaÏ   rˆ   r-   c                 ó   — y©z2Callback that is fired when a message is completedNr,   ru   s     r.   Úon_message_donez%AssistantEventHandler.on_message_doneè   rˆ   r-   c                 ó   — y©z;Callback that is fired when a text content block is createdNr,   ©rC   r{   s     r.   Úon_text_createdz%AssistantEventHandler.on_text_createdë   rˆ   r-   c                 ó   — y)aŠ  Callback that is fired whenever a text content delta is returned
        by the API.

        The first argument is just the delta as sent by the API and the second argument
        is the accumulated snapshot of the text. For example:

        on_text_delta(TextDelta(value="The"), Text(value="The")),
        on_text_delta(TextDelta(value=" solution"), Text(value="The solution")),
        on_text_delta(TextDelta(value=" to"), Text(value="The solution to")),
        on_text_delta(TextDelta(value=" the"), Text(value="The solution to the")),
        on_text_delta(TextDelta(value=" equation"), Text(value="The solution to the equation")),
        Nr,   r”   s      r.   Úon_text_deltaz#AssistantEventHandler.on_text_deltaî   rˆ   r-   c                 ó   — y©z<Callback that is fired when a text content block is finishedNr,   r·   s     r.   Úon_text_donez"AssistantEventHandler.on_text_doneü   rˆ   r-   c                 ó   — y©z;Callback that is fired when an image file block is finishedNr,   ©rC   Ú
image_files     r.   Úon_image_file_donez(AssistantEventHandler.on_image_file_doneÿ   rˆ   r-   c                ó|  — || _         | j                  |«       t        || j                  ¬«      \  | _        }| j                  �-| j                  | j                  | j                  j
                  <   t        || j                  ¬«       |D ]^  }| j                  €J ‚| j                  j                  |j                     }|j                  dk(  sŒD| j                  |j                  «       Œ` |j                  dk(  sK|j                  dk(  s<|j                  dk(  s-|j                  dk(  s|j                  dk(  s|j                  d	k(  rA|j                  | _        | j                   �rÓ| j#                  | j                   «       d | _         y |j                  d
k(  s-|j                  dk(  s|j                  dk(  s|j                  dk(  r|j                  | _        d | _         y |j                  dk(  r#| j%                  |j                  «       d | _         y |j                  dk(  �rÎ| j                  }|€J ‚|j                  j&                  }|j                  ��m|j                  D �]]  }|j                  dk(  r\|j                  rP|j                  |j                     }|j                  dk(  sJ ‚| j)                  |j                  |j                  «       |j                  | j*                  k7  r¸| j,                  �}| j,                  j                  dk(  r&| j/                  | j,                  j                  «       n>| j,                  j                  dk(  r%| j1                  | j,                  j2                  «       |j                  | _        |j                  |j                     | _        |j                  |j                     | _        �Œ` | j5                  |j                  j&                  |«       d | _         y |j                  dk(  s|j                  dk(  rå|j                  | _        |j                  | j                  |j                  j
                  <   | j*                  �x|j                  j                  | j*                     }|j                  dk(  r| j/                  |j                  «       n*|j                  dk(  r| j1                  |j2                  «       | j7                  |j                  «       d | _         y |j                  dk(  r>|j                  j
                  | _        | j;                  |j                  «       d | _         y |j                  dk(  r#|j                  j
                  | _        d | _         y |j                  dk(  �rå| j                  |j                  j
                     }	|j                  j&                  }
|
j<                  �rq|
j<                  j                  dk(  �rW|
j<                  j>                  ��@|	j<                  j                  dk(  sJ ‚|
j<                  j>                  D �]  }|j                  | j@                  k(  r3| jC                  ||	j<                  j>                  |j                     «       |j                  | j@                  k7  r{| j                   �| j#                  | j                   «       |j                  | _         |	j<                  j>                  |j                     | _        | jE                  | j                   «       |	j<                  j>                  |j                     | _        �Œ | jG                  |j                  j&                  |	«       d | _         y |j                  dk(  s-|j                  dk(  s|j                  dk(  s|j                  dk(  rQ| j                   r| j#                  | j                   «       | jI                  |j                  «       d | _        d | _         y |j                  dk(  s|j                  dk(  s|j                  dk(  r		 d | _         y tJ        rtM        |«       d | _         y ©N)r}   r^   )r}   Úrun_step_snapshotsr{   zthread.run.completedzthread.run.cancelledzthread.run.expiredzthread.run.failedzthread.run.requires_actionzthread.run.incompletezthread.run.createdzthread.run.in_progresszthread.run.cancellingzthread.run.queuedúthread.message.createdrz   rÁ   zthread.message.completedzthread.message.incompleteúthread.run.step.createdzthread.run.step.in_progressúthread.run.step.deltaÚ
tool_callszthread.run.step.completedzthread.run.step.cancelledzthread.run.step.expiredzthread.run.step.failedzthread.createdzthread.message.in_progressÚerror)'r4   rŒ   Úaccumulate_eventr=   r<   ÚidÚaccumulate_run_stepr;   r€   Úindexr�   r¸   r{   r}   r~   r:   r8   r£   r®   r   rº   r5   r6   r½   rÂ   rÁ   r±   r´   r9   r‘   Ústep_detailsrÉ   r7   r¡   rž   r–   r™   r   r   ©rC   r}   Únew_contentr„   Úblockr•   Úmessage_deltaÚsnapshot_contentr€   Ústep_snapshotÚrun_step_deltaÚtool_call_deltas               r.   Ú_emit_sse_eventz%AssistantEventHandler._emit_sse_event  s  € Ø#ˆÔØ�‰�eÔä7GØØ%)×%DÑ%Dô8
Ñ4ˆÔ'¨ð ×*Ñ*Ð6ØKO×KjÑKjˆD×$Ñ$ T×%DÑ%D×%GÑ%GÑHäØØ#×8Ñ8õ	
ð
 )ò 	1ˆMØ×2Ñ2Ð>Ð>Ð>à×3Ñ3×;Ñ;¸M×<OÑ<OÑPˆEØ�z‰z˜VÓ#Ø×$Ñ$ U§Z¡ZÕ0ð	1ð �K‰KÐ1Ò1Ø�{‰{Ð4Ò4Ø�{‰{Ð2Ò2Ø�{‰{Ð1Ò1Ø�{‰{Ð:Ò:Ø�{‰{Ð5Ò5à!&§¡ˆDÔØ×&Ó&Ø×&Ñ& t×'>Ñ'>Ô?ð\ #ˆÕðY �K‰KÐ/Ò/Ø�{‰{Ð6Ò6Ø�{‰{Ð5Ò5Ø�{‰{Ð1Ò1à!&§¡ˆDÔðN #ˆÕðM �[‰[Ð4Ò4Ø×#Ñ# E§J¡JÔ/ðJ #ˆÕðI �[‰[Ð2Ó2Ø×6Ñ6ˆHØÐ'Ð'Ð'à!ŸJ™J×,Ñ,ˆMØ×$Ñ$Ñ0Ø%2×%:Ñ%:ó Z�MØ$×)Ñ)¨VÒ3¸×8JÒ8JØ+3×+;Ñ+;¸M×<OÑ<OÑ+PÐ(Ø/×4Ñ4¸Ò>Ð>Ð>Ø×*Ñ*¨=×+=Ñ+=Ð?O×?TÑ?TÔUð
 %×*Ñ*¨d×.QÑ.QÒQØ×8Ñ8ÐDØ#×<Ñ<×AÑAÀVÒKØ $× 1Ñ 1°$×2OÑ2O×2TÑ2TÕ UØ!%×!>Ñ!>×!CÑ!CÀ|Ò!SØ $× 7Ñ 7¸×8UÑ8U×8`Ñ8`Ô aà>K×>QÑ>Q˜Ô;Ø8@×8HÑ8HÈ×I\ÑI\Ñ8]˜Ô5ð 5=×4DÑ4DÀ]×EXÑEXÑ4Y�DÖ1ð)Zð, ×!Ñ! %§*¡*×"2Ñ"2°HÔ=ðP #ˆÕðO �[‰[Ð6Ò6¸%¿+¹+ÐIdÒ:dØ.3¯j©jˆDÔ+Ø6;·j±jˆD×$Ñ$ U§Z¡Z§]¡]Ñ3à×2Ñ2Ð>ØŸ*™*×,Ñ,¨T×-PÑ-PÑQ�Ø—<‘< 6Ò)Ø×%Ñ% g§l¡lÕ3Ø—\‘\ \Ò1Ø×+Ñ+¨G×,>Ñ,>Ô?à× Ñ  §¡Ô,ðx #ˆÕðw �[‰[Ð5Ò5Ø).¯©¯©ˆDÔ&Ø×$Ñ$ U§Z¡ZÔ0ðr #ˆÕðq �[‰[Ð9Ò9Ø).¯©¯©ˆDÔ&ðn #ˆÕðm �[‰[Ð3Ó3Ø ×5Ñ5°e·j±j·m±mÑDˆMà"ŸZ™Z×-Ñ-ˆNà×+Ó+Ø"×/Ñ/×4Ñ4¸ÓDØ"×/Ñ/×:Ñ:ÑFà$×1Ñ1×6Ñ6¸,ÒFÐFÐFØ'5×'BÑ'B×'MÑ'Mó k�OØ&×,Ñ,°×0MÑ0MÒMØ×/Ñ/Ø+Ø)×6Ñ6×AÑAÀ/×BWÑBWÑXôð '×,Ñ,°×0MÑ0MÒMØ×2Ñ2Ð>Ø ×2Ñ2°4×3JÑ3JÔKà8G×8MÑ8M˜Ô5Ø2?×2LÑ2L×2WÑ2WÐXg×XmÑXmÑ2n˜Ô/Ø×1Ñ1°$×2IÑ2IÔJð /<×.HÑ.H×.SÑ.SÐTc×TiÑTiÑ.j�DÖ+ð'kð* ×"Ñ"Ø—
‘
× Ñ Øôð. #ˆÕð% �K‰KÐ6Ò6Ø�{‰{Ð9Ò9Ø�{‰{Ð7Ò7Ø�{‰{Ð6Ò6à×&Ò&Ø×&Ñ& t×'>Ñ'>Ô?à×!Ñ! %§*¡*Ô-Ø)-ˆDÔ&ð #ˆÕð �[‰[Ð,Ò,°·±Ð?[Ò0[Ð_d×_jÑ_jÐnuÒ_uàð #ˆÕõ Ü˜UÔ#à"ˆÕr-   c              #  ón  K  — | j                   }|st        d«      ‚	 |D ]  }| j                  |«       |–— Œ 	 | j                  «        y # t        «       $ r'}| j	                  «        | j                  |«       ‚ d }~wt        $ r}| j                  |«       ‚ d }~ww xY w# | j                  «        w xY w­w©NzStream has not been started yet)rA   rG   rØ   r/   r«   r¨   Ú	Exceptionr‡   ©rC   rI   r}   Úexcs       r.   r?   z AssistantEventHandler.__stream__“  s¥   è ø€ Ø—‘ˆÙÜÐ@ÓAÐAð	Øò �Ø×$Ñ$ UÔ+à“ñð �K‰K�Møô #Ó$ò 	Ø�O‰OÔØ×Ñ˜cÔ"ØûÜò 	Ø×Ñ˜cÔ"Øûð	ûð �K‰K�Müs?   ‚B5�A ºB5ÁBÁ"A:Á:BÂBÂBÂB  Â B2Â2B5N©ÚreturnÚNone)rI   zStream[AssistantStreamEvent]rß   rà   ©rß   r   )rß   zIterator[AssistantStreamEvent]©rß   zAssistantStreamEvent | None©rß   z
Run | None©rß   zRunStep | None©rß   úMessage | None©rß   r   ©rß   zlist[RunStep]©rß   zlist[Message])rß   zIterator[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à   ©rv   r   rß   rà   ©r   r!   r•   r   rß   rà   ©r{   r   rß   rà   ©r   r    r•   r   rß   rà   ©rÁ   r   rß   rà   )&Ú__name__Ú
__module__Ú__qualname__Ú__annotations__rD   rJ   rM   rR   ÚpropertyrU   rX   r[   r^   rb   re   ri   rp   rw   r>   r‡   rŒ   r‘   r–   r™   rž   r¡   r£   r¨   r«   r®   r±   r´   r¸   rº   r½   rÂ   rØ   r?   r,   r-   r.   r1   r1      s   … ØÓð
óBó ó)óð ò#ó ð#ð ò"ó ð"ð òEó ðEð ò/ó ð/ó"ó$ó"óEóJó3óóAó@óó6BóAóKóKóCó-ó?óó2AóJóóKóJóO#ôbr-   r1   ÚAssistantEventHandlerT)Úboundc                  óD   — e Zd ZdZ	 	 	 	 	 	 dd„Zdd„Z	 	 	 	 	 	 	 	 dd„Zy)	ÚAssistantStreamManagerzöWrapper over AssistantStreamEventHandler that is returned by `.stream()`
    so that a context manager can be used.

    ```py
    with client.threads.create_and_run_stream(...) as stream:
        for event in stream:
            ...
    ```
    c               ó.   — d | _         || _        || _        y r)   )Ú_AssistantStreamManager__streamÚ&_AssistantStreamManager__event_handlerÚ$_AssistantStreamManager__api_request©rC   Úapi_requestÚevent_handlers      r.   rD   zAssistantStreamManager.__init__¶  s   € ð >BˆŒØ,ˆÔØ(ˆÕr-   c                óŽ   — | j                  «       | _        | j                  j                  | j                  «       | j                  S r)   )r  rÿ   r   rJ   rB   s    r.   Ú	__enter__z AssistantStreamManager.__enter__À  s6   € Ø×*Ñ*Ó,ˆŒØ×Ñ×"Ñ" 4§=¡=Ô1Ø×#Ñ#Ð#r-   c                óR   — | j                   �| j                   j                  «        y y r)   )rÿ   rb   ©rC   Úexc_typerÝ   Úexc_tbs       r.   Ú__exit__zAssistantStreamManager.__exit__Å  s#   € ð �=‰=Ð$Ø�M‰M×ÑÕ!ð %r-   N)r  z*Callable[[], Stream[AssistantStreamEvent]]r  rú   rß   rà   )rß   rú   ©r	  ztype[BaseException] | NonerÝ   zBaseException | Noner
  zTracebackType | Nonerß   rà   )rõ   rö   r÷   Ú__doc__rD   r  r  r,   r-   r.   rý   rý   «  sX   „ ñð)à?ð)ð .ð	)ð
 
ó)ó$ð
"à,ð"ð "ð"ð %ð	"ð
 
ô"r-   rý   c                  óJ  — e Zd ZU ded<   	 d%d„Zd&d„Zd'd„Zd(d„Zd%d„Ze	d)d„«       Z
e	d*d	„«       Ze	d+d
„«       Ze	d,d„«       Zd%d„Zd-d„Zd.d„Zd/d„Zd0d„Zd%d„Zd1d„Zd2d„Zd3d„Zd2d„Zd4d„Zd5d„Zd4d„Zd6d„Zd%d„Zd7d„Zd8d„Zd7d„Zd9d„Z d:d„Z!d9d „Z"d;d!„Z#d1d"„Z$d(d#„Z%y$)<ÚAsyncAssistantEventHandlerzAsyncIterable[str]r2   c                óò   — d | _         d | _        d | _        d | _        d | _        d | _        d | _        i | _        i | _        d | _	        | j                  «       | _        | j                  «       | _        d | _        y r)   )r4   r5   r6   r7   r8   Ú0_AsyncAssistantEventHandler__current_run_step_idÚ(_AsyncAssistantEventHandler__current_runÚ/_AsyncAssistantEventHandler__run_step_snapshotsÚ._AsyncAssistantEventHandler__message_snapshotsÚ5_AsyncAssistantEventHandler__current_message_snapshotr>   r2   r?   r@   Ú#_AsyncAssistantEventHandler__streamrB   s    r.   rD   z#AsyncAssistantEventHandler.__init__Ý  sx   € Ø;?ˆÔØ:>ˆÔ+Ø?CˆÔ%Ø48ˆÔ%Ø37ˆÔØ15ˆÔ"Ø)-ˆÔØ8:ˆÔ!Ø79ˆÔ Ø:>ˆÔ'à×/Ñ/Ó1ˆÔØŸ™Ó*ˆŒØBFˆ�r-   c                ó@   — | j                   rt        d«      ‚|| _         y rF   )r  rG   rH   s     r.   rJ   z AsyncAssistantEventHandler._inití  rK   r-   c              ƒ  óR   K  — | j                   j                  «       ƒ d {  –—† S 7 Œ­wr)   )r@   Ú	__anext__rB   s    r.   r  z$AsyncAssistantEventHandler.__anext__õ  s   è ø€ Ø—^‘^×-Ñ-Ó/×/Ð/Ð/ús   ‚' %¡'c               óH   K  — | j                   2 3 d {  –—† }|­–— Œ7 Œ
6 y ­wr)   rO   rP   s     r.   Ú	__aiter__z$AsyncAssistantEventHandler.__aiter__ø  s&   è ø€ ØŸ.™.÷ 	ð 	�$ØŒJð	ø™.ùs   ‚"� “” —"ž  "c              ƒ  ón   K  — | j                   r#| j                   j                  «       ƒ d{  –—†  yy7 Œ­wra   )r  rb   rB   s    r.   rb   z AsyncAssistantEventHandler.closeü  s-   è ø€ ð �=Š=Ø—-‘-×%Ñ%Ó'×'Ñ'ð Ø'úó   ‚*5¬3­5c                ó   — | j                   S r)   rT   rB   s    r.   rU   z(AsyncAssistantEventHandler.current_event  rV   r-   c                ó   — | j                   S r)   )r  rB   s    r.   rX   z&AsyncAssistantEventHandler.current_run	  rY   r-   c                óN   — | j                   sy | j                  | j                      S r)   )r  r  rB   s    r.   r[   z4AsyncAssistantEventHandler.current_run_step_snapshot  r\   r-   c                ó   — | j                   S r)   )r  rB   s    r.   r^   z3AsyncAssistantEventHandler.current_message_snapshot  r_   r-   c              ƒ  ó6   K  — t        | «      ƒ d{  –—†  y7 Œ­wrd   )r   rB   s    r.   re   z%AsyncAssistantEventHandler.until_done  s   è ø€ ä$ TÓ*×*Ò*ús   ‚‘’c              ƒ  ó„   K  — | j                  «       ƒ d{  –—†  | j                  st        d«      ‚| j                  S 7 Œ'­w)rg   Nrh   )re   r  rG   rB   s    r.   ri   z(AsyncAssistantEventHandler.get_final_run  s<   è ø€ à�o‰oÓ×Ðà×!Ò!ÜÐ:Ó;Ð;à×!Ñ!Ð!ð 	 ús   ‚A –>—(A c              ƒ  óÆ   K  — | j                  «       ƒ d{  –—†  | j                  st        d«      ‚| j                  j                  «       D �cg c]  }|‘Œ c}S 7 ŒCc c}w ­w)rk   Nrl   )re   r  rG   rm   rn   s     r.   rp   z.AsyncAssistantEventHandler.get_final_run_steps%  sV   è ø€ à�o‰oÓ×Ðà×(Ò(ÜÐ3Ó4Ð4à!%×!:Ñ!:×!AÑ!AÓ!CÖD˜’ÒDÐDð 	 úò
 Eùó!   ‚A!–A—7A!Á	AÁA!ÁA!c              ƒ  óÆ   K  — | j                  «       ƒ d{  –—†  | j                  st        d«      ‚| j                  j                  «       D �cg c]  }|‘Œ c}S 7 ŒCc c}w ­w)rs   Nrt   )re   r  rG   rm   ru   s     r.   rw   z-AsyncAssistantEventHandler.get_final_messages.  sV   è ø€ à�o‰oÓ×Ðà×'Ò'ÜÐ2Ó3Ð3à'+×'?Ñ'?×'FÑ'FÓ'HÖI˜G’ÒIÐIð 	 úò
 Jùr%  c               ó6  K  — | 2 3 d {  –—† }|j                   dk7  rŒ|j                  j                  j                  xs g D ]O  }|j                  dk(  sŒ|j
                  sŒ |j
                  j                  sŒ7|j
                  j                  ­–— ŒQ Œ�7 Œ‹6 y ­wry   r|   rƒ   s      r.   r>   z*AsyncAssistantEventHandler.__text_deltas__7  s‡   è ø€ Ø÷ 	3ð 	3�%Ø�{‰{Ð4Ò4Øà!&§¡×!1Ñ!1×!9Ñ!9Ò!?¸Rò 3�Ø ×%Ñ%¨Ó/°M×4FÓ4FÈ=×K]ÑK]×KcÓKcØ'×,Ñ,×2Ñ2Ô2ñ3ð		3ø™4ùs8   ‚B…B‰BŠB�ABÁBÁ"BÁ9BÂBÂBc              ƒ  ó   K  — y­wr†   r,   rB   s    r.   r‡   z!AsyncAssistantEventHandler.on_endB  ó   è ø� ùó   ‚c              ƒ  ó   K  — y­wrŠ   r,   r‹   s     r.   rŒ   z#AsyncAssistantEventHandler.on_eventI  r)  r*  c              ƒ  ó   K  — y­wrŽ   r,   r�   s     r.   r‘   z.AsyncAssistantEventHandler.on_run_step_createdL  r)  r*  c              ƒ  ó   K  — y­wr“   r,   r”   s      r.   r–   z,AsyncAssistantEventHandler.on_run_step_deltaO  r)  r*  c              ƒ  ó   K  — y­wr˜   r,   r�   s     r.   r™   z+AsyncAssistantEventHandler.on_run_step_donej  r)  r*  c              ƒ  ó   K  — y­wr›   r,   rœ   s     r.   rž   z/AsyncAssistantEventHandler.on_tool_call_createdm  r)  r*  c              ƒ  ó   K  — y­wr    r,   r”   s      r.   r¡   z-AsyncAssistantEventHandler.on_tool_call_deltap  r)  r*  c              ƒ  ó   K  — y­wr    r,   rœ   s     r.   r£   z,AsyncAssistantEventHandler.on_tool_call_dones  r)  r*  c              ƒ  ó   K  — y­wr¥   r,   r¦   s     r.   r¨   z'AsyncAssistantEventHandler.on_exceptionv  r)  r*  c              ƒ  ó   K  — y­wrª   r,   rB   s    r.   r«   z%AsyncAssistantEventHandler.on_timeouty  r)  r*  c              ƒ  ó   K  — y­wr­   r,   ru   s     r.   r®   z-AsyncAssistantEventHandler.on_message_created|  r)  r*  c              ƒ  ó   K  — y­wr°   r,   r”   s      r.   r±   z+AsyncAssistantEventHandler.on_message_delta  r)  r*  c              ƒ  ó   K  — y­wr³   r,   ru   s     r.   r´   z*AsyncAssistantEventHandler.on_message_done˜  r)  r*  c              ƒ  ó   K  — y­wr¶   r,   r·   s     r.   r¸   z*AsyncAssistantEventHandler.on_text_created›  r)  r*  c              ƒ  ó   K  — y­w)aŒ  Callback that is fired whenever a text content delta is returned
        by the API.

        The first argument is just the delta as sent by the API and the second argument
        is the accumulated snapshot of the text. For example:

        on_text_delta(TextDelta(value="The"), Text(value="The")),
        on_text_delta(TextDelta(value=" solution"), Text(value="The solution")),
        on_text_delta(TextDelta(value=" to"), Text(value="The solution to")),
        on_text_delta(TextDelta(value=" the"), Text(value="The solution to the")),
        on_text_delta(TextDelta(value=" equation"), Text(value="The solution to the equivalent")),
        Nr,   r”   s      r.   rº   z(AsyncAssistantEventHandler.on_text_deltaž  r)  r*  c              ƒ  ó   K  — y­wr¼   r,   r·   s     r.   r½   z'AsyncAssistantEventHandler.on_text_done¬  r)  r*  c              ƒ  ó   K  — y­wr¿   r,   rÀ   s     r.   rÂ   z-AsyncAssistantEventHandler.on_image_file_done¯  r)  r*  c              ƒ  ó  K  — || _         | j                  |«      ƒ d {  –—†  t        || j                  ¬«      \  | _        }| j                  �-| j                  | j                  | j                  j
                  <   t        || j                  ¬«       |D ]f  }| j                  €J ‚| j                  j                  |j                     }|j                  dk(  sŒD| j                  |j                  «      ƒ d {  –—†  Œh |j                  dk(  sK|j                  dk(  s<|j                  dk(  s-|j                  dk(  s|j                  dk(  s|j                  d	k(  rI|j                  | _        | j                   �rS| j#                  | j                   «      ƒ d {  –—†  d | _         y |j                  d
k(  s-|j                  dk(  s|j                  dk(  s|j                  dk(  r|j                  | _        d | _         y |j                  dk(  r+| j%                  |j                  «      ƒ d {  –—†  d | _         y |j                  dk(  �rî| j                  }|€J ‚|j                  j&                  }|j                  ��…|j                  D �]u  }|j                  dk(  rd|j                  rX|j                  |j                     }|j                  dk(  sJ ‚| j)                  |j                  |j                  «      ƒ d {  –—†  |j                  | j*                  k7  rÈ| j,                  ��| j,                  j                  dk(  r.| j/                  | j,                  j                  «      ƒ d {  –—†  nF| j,                  j                  dk(  r-| j1                  | j,                  j2                  «      ƒ d {  –—†  |j                  | _        |j                  |j                     | _        |j                  |j                     | _        �Œx | j5                  |j                  j&                  |«      ƒ d {  –—†  d | _         y |j                  dk(  s|j                  dk(  rý|j                  | _        |j                  | j                  |j                  j
                  <   | j*                  �ˆ|j                  j                  | j*                     }|j                  dk(  r$| j/                  |j                  «      ƒ d {  –—†  n2|j                  dk(  r#| j1                  |j2                  «      ƒ d {  –—†  | j7                  |j                  «      ƒ d {  –—†  d | _         y |j                  dk(  rF|j                  j
                  | _        | j;                  |j                  «      ƒ d {  –—†  d | _         y |j                  dk(  r#|j                  j
                  | _        d | _         y |j                  dk(  �r| j                  |j                  j
                     }	|j                  j&                  }
|
j<                  �r‰|
j<                  j                  dk(  �ro|
j<                  j>                  ��X|	j<                  j                  dk(  sJ ‚|
j<                  j>                  D �]#  }|j                  | j@                  k(  r;| jC                  ||	j<                  j>                  |j                     «      ƒ d {  –—†  |j                  | j@                  k7  r‹| j                   �#| j#                  | j                   «      ƒ d {  –—†  |j                  | _         |	j<                  j>                  |j                     | _        | jE                  | j                   «      ƒ d {  –—†  |	j<                  j>                  |j                     | _        �Œ& | jG                  |j                  j&                  |	«      ƒ d {  –—†  d | _         y |j                  dk(  s-|j                  dk(  s|j                  dk(  s|j                  dk(  ra| j                   r#| j#                  | j                   «      ƒ d {  –—†  | jI                  |j                  «      ƒ d {  –—†  d | _        d | _         y |j                  dk(  s|j                  dk(  s|j                  dk(  r		 d | _         y tJ        rtM        |«       d | _         y 7 �Œ²7 �ŒÝ7 �ŒC7 �Œ·7 �Œì7 �Œ„7 �Œ@7 �ŒÅ7 �Œ7 �ŒÓ7 �Œ³7 �Œa7 �Œ7 �ŒÕ7 �Œ|7 �Œ&7 Œµ7 Œ”­wrÄ   )'r4   rŒ   rË   r  r  rÌ   rÍ   r  r€   rÎ   r�   r¸   r{   r}   r~   r  r8   r£   r®   r   rº   r5   r6   r½   rÂ   rÁ   r±   r´   r  r‘   rÏ   rÉ   r7   r¡   rž   r–   r™   r   r   rÐ   s               r.   rØ   z*AsyncAssistantEventHandler._emit_sse_event²  så  è ø€ Ø#ˆÔØ�m‰m˜EÓ"×"Ð"ä7GØØ%)×%DÑ%Dô8
Ñ4ˆÔ'¨ð ×*Ñ*Ð6ØKO×KjÑKjˆD×$Ñ$ T×%DÑ%D×%GÑ%GÑHäØØ#×8Ñ8õ	
ð
 )ò 	7ˆMØ×2Ñ2Ð>Ð>Ð>à×3Ñ3×;Ñ;¸M×<OÑ<OÑPˆEØ�z‰z˜VÓ#Ø×*Ñ*¨5¯:©:Ó6×6Ñ6ð	7ð �K‰KÐ1Ò1Ø�{‰{Ð4Ò4Ø�{‰{Ð2Ò2Ø�{‰{Ð1Ò1Ø�{‰{Ð:Ò:Ø�{‰{Ð5Ò5à!&§¡ˆDÔØ×&Ó&Ø×,Ñ,¨T×-DÑ-DÓE×EÐEð\ #ˆÕðY �K‰KÐ/Ò/Ø�{‰{Ð6Ò6Ø�{‰{Ð5Ò5Ø�{‰{Ð1Ò1à!&§¡ˆDÔðN #ˆÕðM �[‰[Ð4Ò4Ø×)Ñ)¨%¯*©*Ó5×5Ð5ðJ #ˆÕðI �[‰[Ð2Ó2Ø×6Ñ6ˆHØÐ'Ð'Ð'à!ŸJ™J×,Ñ,ˆMØ×$Ñ$Ñ0Ø%2×%:Ñ%:ó Z�MØ$×)Ñ)¨VÒ3¸×8JÒ8JØ+3×+;Ñ+;¸M×<OÑ<OÑ+PÐ(Ø/×4Ñ4¸Ò>Ð>Ð>Ø"×0Ñ0°×1CÑ1CÐEU×EZÑEZÓ[×[Ð[ð
 %×*Ñ*¨d×.QÑ.QÒQØ×8Ñ8ÐDØ#×<Ñ<×AÑAÀVÒKØ&*×&7Ñ&7¸×8UÑ8U×8ZÑ8ZÓ&[× [Ñ [Ø!%×!>Ñ!>×!CÑ!CÀ|Ò!SØ&*×&=Ñ&=¸d×>[Ñ>[×>fÑ>fÓ&g× gÐ gà>K×>QÑ>Q˜Ô;Ø8@×8HÑ8HÈ×I\ÑI\Ñ8]˜Ô5ð 5=×4DÑ4DÀ]×EXÑEXÑ4Y�DÖ1ð)Zð, ×'Ñ'¨¯
©
×(8Ñ(8¸(ÓC×CÐCðP #ˆÕðO �[‰[Ð6Ò6¸%¿+¹+ÐIdÒ:dØ.3¯j©jˆDÔ+Ø6;·j±jˆD×$Ñ$ U§Z¡Z§]¡]Ñ3à×2Ñ2Ð>ØŸ*™*×,Ñ,¨T×-PÑ-PÑQ�Ø—<‘< 6Ò)Ø×+Ñ+¨G¯L©LÓ9×9Ñ9Ø—\‘\ \Ò1Ø×1Ñ1°'×2DÑ2DÓE×EÐEà×&Ñ& u§z¡zÓ2×2Ð2ðx #ˆÕðw �[‰[Ð5Ò5Ø).¯©¯©ˆDÔ&Ø×*Ñ*¨5¯:©:Ó6×6Ð6ðr #ˆÕðq �[‰[Ð9Ò9Ø).¯©¯©ˆDÔ&ðn #ˆÕðm �[‰[Ð3Ó3Ø ×5Ñ5°e·j±j·m±mÑDˆMà"ŸZ™Z×-Ñ-ˆNà×+Ó+Ø"×/Ñ/×4Ñ4¸ÓDØ"×/Ñ/×:Ñ:ÑFà$×1Ñ1×6Ñ6¸,ÒFÐFÐFØ'5×'BÑ'B×'MÑ'Mó k�OØ&×,Ñ,°×0MÑ0MÒMØ"×5Ñ5Ø+Ø)×6Ñ6×AÑAÀ/×BWÑBWÑXó÷ ð ð '×,Ñ,°×0MÑ0MÒMØ×2Ñ2Ð>Ø"&×"8Ñ"8¸×9PÑ9PÓ"Q×QÐQà8G×8MÑ8M˜Ô5Ø2?×2LÑ2L×2WÑ2WÐXg×XmÑXmÑ2n˜Ô/Ø"×7Ñ7¸×8OÑ8OÓP×PÐPð /<×.HÑ.H×.SÑ.SÐTc×TiÑTiÑ.j�DÖ+ð'kð* ×(Ñ(Ø—
‘
× Ñ Øó÷ ð ð. #ˆÕð% �K‰KÐ6Ò6Ø�{‰{Ð9Ò9Ø�{‰{Ð7Ò7Ø�{‰{Ð6Ò6à×&Ò&Ø×,Ñ,¨T×-DÑ-DÓE×EÐEà×'Ñ'¨¯
©
Ó3×3Ð3Ø)-ˆDÔ&ð #ˆÕð �[‰[Ð,Ò,°·±Ð?[Ò0[Ð_d×_jÑ_jÐnuÒ_uàð #ˆÕõ Ü˜UÔ#à"ˆÕð[ 	#ùð& 7ùð Fùð 6ùð \ùð !\ùà gùð Dùð :ùàEùà2ùð 7ùðùð Rùð Qùð
ùð Føà3úsV  ‚džcŸB8dÃdÃ6cÃ7BdÆcÆBdÈ"cÈ#CdË0cË1A*dÍcÍAdÎ"c"Î#A=dÐ c%Ð!CdÓ%c(Ó&2dÔc+Ô"dÔ;c.Ô<AdÖc1ÖE	dÛc4ÛAdÜ"c7Ü#AdÝ>c:Ý?Adßc=ßA2dá
d á"dá-dá.A#dãdãdãdãdãdã"dã%dã(dã+dã.dã1dã4dã7dã:dã=dä dädc               óð  K  — | j                   }|st        d«      ‚	 |2 3 d {  –—† }| j                  |«      ƒ d {  –—†  |­–— Œ(7 Œ#7 Œ6 np# t        «       $ r9}| j	                  «       ƒ d {  –—†7   | j                  |«      ƒ d {  –—†7   ‚ d }~wt        $ r }| j                  |«      ƒ d {  –—†7   ‚ d }~ww xY w	 | j                  «       ƒ d {  –—†7   y # | j                  «       ƒ d {  –—†7   w xY w­wrÚ   )r  rG   rØ   r/   r«   r¨   rÛ   r‡   rÜ   s       r.   r?   z%AsyncAssistantEventHandler.__stream__C  sÛ   è ø€ Ø—‘ˆÙÜÐ@ÓAÐAð	 Ø%÷ ð �eØ×*Ñ*¨5Ó1×1Ð1à”ðøØ1øñ  &øô #Ó$ò 	Ø—/‘/Ó#×#Ñ#Ø×#Ñ# CÓ(×(Ñ(ØûÜò 	Ø×#Ñ# CÓ(×(Ñ(Øûð	úð  &ð —+‘+“-×Òø�$—+‘+“-×Òüs²   ‚C6�A ŸA£A¤A§A ¼A	½
A ÁAÁ	A ÁA ÁC ÁB:ÁBÁ-A0Á.BÂB
ÂBÂB:ÂB5Â.B1Â/B5Â5B:Â:C Â>C6ÃCÃC6ÃC3Ã,C/Ã-C3Ã3C6NrÞ   )rI   z!AsyncStream[AssistantStreamEvent]rß   rà   rá   )rß   z#AsyncIterator[AssistantStreamEvent]râ   rã   rä   rå   rç   rè   ré   )rß   zAsyncIterator[str]rê   rë   rì   rí   rî   rï   rð   rñ   rò   ró   rô   )&rõ   rö   r÷   rø   rD   rJ   r  r  rb   rù   rU   rX   r[   r^   re   ri   rp   rw   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  Ï  s   … Ø#Ó#ð
óGó ó0óó(ð ò#ó ð#ð ò"ó ð"ð òEó ðEð ò/ó ð/ó+ó"óEóJó3óóAó@óó6BóAóKóKóCó-ó?óó2AóJóóKóJóO#ôb r-   r  ÚAsyncAssistantEventHandlerTc                  óD   — e Zd ZdZ	 	 	 	 	 	 dd„Zdd„Z	 	 	 	 	 	 	 	 dd„Zy)	ÚAsyncAssistantStreamManagera>  Wrapper over AsyncAssistantStreamEventHandler that is returned by `.stream()`
    so that an async context manager can be used without `await`ing the
    original client call.

    ```py
    async with client.threads.create_and_run_stream(...) as stream:
        async for event in stream:
            ...
    ```
    c               ó.   — d | _         || _        || _        y r)   )Ú$_AsyncAssistantStreamManager__streamÚ+_AsyncAssistantStreamManager__event_handlerÚ)_AsyncAssistantStreamManager__api_requestr  s      r.   rD   z$AsyncAssistantStreamManager.__init__g  s   € ð CGˆŒØ,ˆÔØ(ˆÕr-   c              ƒ  ó¢   K  — | j                   ƒ d {  –—† | _        | j                  j                  | j                  «       | j                  S 7 Œ:­wr)   )rC  rA  rB  rJ   rB   s    r.   Ú
__aenter__z&AsyncAssistantStreamManager.__aenter__q  s?   è ø€ Ø"×0Ñ0×0ˆŒØ×Ñ×"Ñ" 4§=¡=Ô1Ø×#Ñ#Ð#ð 1ús   ‚A’A“;Ac              ƒ  ón   K  — | j                   �#| j                   j                  «       ƒ d {  –—†  y y 7 Œ­wr)   )rA  rb   r  s       r.   Ú	__aexit__z%AsyncAssistantStreamManager.__aexit__v  s0   è ø€ ð �=‰=Ð$Ø—-‘-×%Ñ%Ó'×'Ñ'ð %Ø'úr  N)r  z,Awaitable[AsyncStream[AssistantStreamEvent]]r  r=  rß   rà   )rß   r=  r  )rõ   rö   r÷   r  rD   rE  rG  r,   r-   r.   r?  r?  [  sX   „ ñ	ð)àAð)ð 3ð	)ð
 
ó)ó$ð
(à,ð(ð "ð(ð %ð	(ð
 
ô(r-   r?  c                ó²  — | j                   dk(  r$| j                  || j                  j                  <   y | j                   dk(  r•| j                  }||j                     }|j                  rnt	        t        dt        |dd¬«      «      t        dt        |j                  dd¬«      «      «      }t        t        t        t        |¬«      «      ||j                  <   y )NrÇ   rÈ   údict[object, object]TF©Úexclude_unsetÚwarnings©Útype_r‚   )	r}   r~   rÌ   r   Úaccumulate_deltar   r   r$   r   )r}   rÅ   r~   r•   Úmergeds        r.   rÍ   rÍ   €  s¸   € ð
 ‡{�{Ð/Ò/Ø,1¯J©JÐ˜5Ÿ:™:Ÿ=™=Ñ)Øà‡{�{Ð-Ò-Ø�z‰zˆØ% d§g¡gÑ.ˆà�:Š:Ü%ÜØ*Ü˜x°tÀeÔLóô Ø*Ü˜tŸz™z¸ÈÔNóó	ˆFô /3´7¼NÔQXÐ`fÔ<gÓ.hÐ˜xŸ{™{Ñ+àr-   c                ó*  — | j                   dk(  r| j                  g fS g }| j                   dk7  r|g fS |st        d«      ‚| j                  }|j                  j                  r±|j                  j                  D ]˜  }	 |j                  |j
                     }t        t        dt        |dd¬«      «      t        dt        |dd¬«      «      «      }t        t        t        t        t        t        «      |¬«      «      |j                  |j
                  <   Œš ||fS # t        $ rr |j                  j                  |j
                  t        t        t        t        t        t        «      t        |dd¬«      ¬«      «      «       |j                  |«       Y �Œw xY w)	zIReturns a tuple of message snapshot and newly created text message deltasrÆ   rz   z5Encountered a message delta with no previous snapshotrI  TFrJ  rM  )r}   r~   rG   r   r€   rÎ   rO  r   r   r"   r   r   Ú
IndexErrorÚinsertÚappend)r}   r^   rÑ   r~   r„   rÒ   rP  s          r.   rË   rË   �  s�  € ð ‡{�{Ð.Ò.Ø�z‰z˜2ˆ~Ðà-/€Kà‡{�{Ð,Ò,Ø'¨Ð+Ð+á#ÜÐRÓSÐSà�:‰:€DØ‡z�z×ÒØ!ŸZ™Z×/Ñ/ò "	ˆMð!Ø0×8Ñ8¸×9LÑ9LÑM�ô *ÜØ.Ü" 5¸ÀuÔMóô Ø.Ü" =ÀÈuÔUóó	�ô IMÜ"Ü"ä"¤3¬Ó7Ø$ôóIÐ(×0Ñ0°×1DÑ1DÒEð7"	ðH $ [Ð0Ð0øôC ò 2Ø(×0Ñ0×7Ñ7Ø!×'Ñ'ÜÜ&Ü&ä"&¤s¬NÓ";Ü",¨]È$ÐY^Ô"_ôóô
ð ×"Ñ" =×1ð2ús   Á<DÄA7FÆFc                ó\  — |j                  «       D �]V  \  }}|| vr|| |<   Œ| |   }|€|| |<   Œ|dk(  s|dk(  r|| |<   Œ.t        |t        «      rt        |t        «      r||z  }nþt        |t        t        f«      rt        |t        t        f«      r||z  }nÌt        |«      rt        |«      rt        ||«      }n©t        |«      ržt        |«      r“t        d„ |D «       «      r|j                  |«       Œã|D ]j  }t        |«      st        d|› �«      ‚	 |d   }t        |t        «      st        d|› �«      ‚	 ||   }t        |«      st        d«      ‚t        ||«      ||<   Œl || |<   �ŒY | S # t        $ r}t        d|› �«      |‚d }~ww xY w# t        $ r |j                  ||«       Y Œ´w xY w)NrÎ   r�   c              3  óR   K  — | ]  }t        |t        t        t        f«      –— Œ! y ­wr)   )Ú
isinstanceÚstrÚintÚfloat)Ú.0Úxs     r.   ú	<genexpr>z#accumulate_delta.<locals>.<genexpr>õ  s   è ø€ ÒG¸”:˜a¤#¤s¬EÐ!2×3ÑGùs   ‚%'z1Unexpected list delta entry is not a dictionary: z2Expected list delta entry to have an `index` key; z>Unexpected, list delta entry `index` value is not an integer; znot handled yet)ÚitemsrW  rX  rY  rZ  r   rO  r   ÚallÚextendÚ	TypeErrorÚKeyErrorrG   rR  rS  )	Úaccr   ÚkeyÚdelta_valueÚ	acc_valueÚdelta_entryrÎ   rÝ   Ú	acc_entrys	            r.   rO  rO  ×  sé  € Ø!ŸK™K›Mó 7Ñˆˆ[Ø�c‰>Ø"ˆC�‰HØà˜‘Hˆ	ØÐØ"ˆC�‰HØð �'Š>˜S Fš]Ø"ˆC�‰HØä�i¤Ô%¬*°[Ä#Ô*FØ˜Ñ$‰IÜ˜	¤C¬ <Ô0´ZÀÌcÔSXÈ\Ô5ZØ˜Ñ$‰IÜ�YÔ¤G¨KÔ$8Ü(¨°KÓ@‰IÜ�YÔ¤G¨KÔ$8ô ÑG¸YÔGÔGØ× Ñ  Ô-Øà*ò P�Ü˜{Ô+Ü#Ð&WÐXcÐWdÐ$eÓfÐfðtØ'¨Ñ0�Eô " %¬Ô-Ü#Ð&dÐejÐdkÐ$lÓmÐmðPØ )¨%Ñ 0�Iô # 9Ô-Ü'Ð(9Ó:Ð:ä'7¸	À;Ó'O�I˜eÒ$ð)Pð, ˆˆC‹ðo7ðr €Jøô%  ò tÜ&Ð)[Ð\gÐ[hÐ'iÓjÐpsÐsûðtûô "ò 9Ø×$Ñ$ U¨KÖ8ð9ús*   ÄE-Ä7FÅ-	F
Å6FÆF
ÆF+Æ*F+)rß   ztuple[type[Exception], ...])r}   r   rÅ   zdict[str, RunStep]rß   rà   )r}   r   r^   ræ   rß   z0tuple[Message | None, list[MessageContentDelta]])rc  rI  r   rI  rß   rI  );Ú
__future__r   r*   Útypesr   Útypingr   r   r   r   r	   r
   r   r   Útyping_extensionsr   r   r   r   Ú_utilsr   r   r   r   Ú_compatr   Ú_httpx2r   Ú_modelsr   Ú
_streamingr   r   Ú
types.betar   Útypes.beta.threadsr   r   r   r   r    r!   r"   r#   Útypes.beta.threads.runsr$   r%   r&   r'   r/   r1   rú   rý   r  r=  r?  rÍ   rË   rO  r,   r-   r.   ú<module>ru     sù   ðÝ "ã Ý ß [× [Ó [ß SÓ Sç UÓ UÝ !Ý )Ý %ß -Ý .÷	÷ 	ó 	÷ VÓ Uó9÷Fñ FñR !Ð!9ÐAVÔWÐ ô!"˜WÐ%;Ñ<ô !"÷HF ñ F ñR &Ð&CÐKeÔfÐ ô"( 'Ð*EÑ"Fô "(ðJàðð +ðð 
ó	ð:71àð71ð -ð71ð 6ó	71ôt:r-   