Ë
    $Æ%hôž  ã                  ó°  — 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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 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/  G d„ d«      Z0 e	de0¬«      Z1 G d„ dee1   «      Z2 G d„ d«      Z3 e	de3¬«      Z4 G d„ dee4   «      Z5	 	 	 	 	 	 dd„Z6	 	 	 	 	 	 dd„Z7dd„Z8y)é    )Ú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)Úconstruct_type)ÚStreamÚAsyncStream)ÚAssistantStreamEvent)ÚRunÚTextÚMessageÚ	ImageFileÚ	TextDeltaÚMessageDeltaÚMessageContentÚMessageContentDelta)ÚRunStepÚToolCallÚRunStepDeltaÚToolCallDeltac                  ó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 ©N)Ú_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__r)   Ú
__stream__Ú	_iteratorÚ_AssistantEventHandler__stream©Úselfs    ú^/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/openai/lib/streaming/_assistants.pyÚ__init__zAssistantEventHandler.__init__*   sx   € Ø;?ˆÔØ:>ˆÔ+Ø?CˆÔ%Ø48ˆÔ%Ø37ˆÔØ15ˆÔ"Ø)-ˆÔØ8:ˆÔ!Ø79ˆÔ Ø:>ˆÔ'à×/Ñ/Ó1ˆÔØŸ™Ó*ˆŒØ=Aˆ�ó    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)r9   ÚRuntimeError©r;   Ústreams     r<   Ú_initzAssistantEventHandler._init:   ó%   € Ø�=Š=Üð Lóð ð ˆ�r>   c                ó6   — | j                   j                  «       S r+   )r8   Ú__next__r:   s    r<   rG   zAssistantEventHandler.__next__B   s   € Ø�~‰~×&Ñ&Ó(Ð(r>   c              #  ó6   K  — | j                   D ]  }|–— Œ y ­wr+   ©r8   ©r;   Úitems     r<   Ú__iter__zAssistantEventHandler.__iter__E   s   è ø€ Ø—N‘Nò 	ˆDØ‹Jñ	ùs   ‚c                ó   — | j                   S r+   ©r,   r:   s    r<   Úcurrent_eventz#AssistantEventHandler.current_eventI   ó   € à×"Ñ"Ð"r>   c                ó   — | j                   S r+   )r2   r:   s    r<   Úcurrent_runz!AssistantEventHandler.current_runM   ó   € à×!Ñ!Ð!r>   c                óN   — | j                   sy | j                  | j                      S r+   )r1   r3   r:   s    r<   Úcurrent_run_step_snapshotz/AssistantEventHandler.current_run_step_snapshotQ   ó%   € à×)Ò)Øà×(Ñ(¨×)CÑ)CÑDÐDr>   c                ó   — | j                   S r+   )r5   r:   s    r<   Úcurrent_message_snapshotz.AssistantEventHandler.current_message_snapshotX   ó   € à×.Ñ.Ð.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)r9   Úcloser:   s    r<   r\   zAssistantEventHandler.close\   s    € ð �=Š=Ø�M‰M×ÑÕ!ð r>   c                ó   — t        | «       y©z(Waits until the stream has been consumedN)r   r:   s    r<   Ú
until_donez AssistantEventHandler.until_donee   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)r_   r2   rA   r:   s    r<   Úget_final_runz#AssistantEventHandler.get_final_runi   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)r_   r3   rA   Úvalues©r;   Ústeps     r<   Úget_final_run_stepsz)AssistantEventHandler.get_final_run_stepsr   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)r_   r4   rA   rg   ©r;   Úmessages     r<   Úget_final_messagesz(AssistantEventHandler.get_final_messages{   sD   € à�‰Ôà×'Ò'ÜÐ2Ó3Ð3à'+×'?Ñ'?×'FÑ'FÓ'HÖI˜G’ÒIÐIùÒIrk   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Útyperu   Úvalue©r;   rw   Úcontent_deltas      r<   r6   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.
        N© r:   s    r<   Úon_endzAssistantEventHandler.on_end�   ó   � r>   c                 ó   — y©z2Callback that is fired for every Server-Sent-EventNr�   ©r;   rw   s     r<   Úon_eventzAssistantEventHandler.on_event–   rƒ   r>   c                 ó   — y©z1Callback that is fired when a run step is createdNr�   ©r;   Ú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�   ©r;   ry   Ú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�   ©r;   Ú	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�   ©r;   Ú	exceptions     r<   Úon_exceptionz"AssistantEventHandler.on_exceptionÃ   rƒ   r>   c                 ó   — y©zFires if the request times outNr�   r:   s    r<   Ú
on_timeoutz AssistantEventHandler.on_timeoutÆ   rƒ   r>   c                 ó   — y©z0Callback that is fired when a message is createdNr�   ro   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�   ro   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�   ©r;   ru   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�   ©r;   Ú
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)rw   rX   )rw   Úrun_step_snapshotsru   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.createdrt   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)'r,   r‡   Úaccumulate_eventr5   r4   ÚidÚaccumulate_run_stepr3   rz   Úindexr{   r³   ru   rw   rx   r2   r0   rž   r©   ry   rµ   r-   r.   r¸   r½   r¼   r¬   r¯   r1   rŒ   Ústep_detailsrÄ   r/   rœ   r™   r‘   r”   r   r   ©r;   rw   Únew_contentr~   Úblockr�   Úmessage_deltaÚsnapshot_contentrz   Ú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              #  óš  K  — | j                   }|st        d«      ‚	 |D ]  }| j                  |«       |–— Œ 	 | j                  «        y # t        j                  t
        j                  f$ 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)r9   rA   rÓ   ÚhttpxÚTimeoutExceptionÚasyncioÚTimeoutErrorr¦   r£   Ú	Exceptionr‚   ©r;   rC   rw   Úexcs       r<   r7   z AssistantEventHandler.__stream__�  s³   è ø€ Ø—‘ˆÙÜÐ@ÓAÐAð	Øò �Ø×$Ñ$ UÔ+à“ñð �K‰K�Møô ×&Ñ&¬×(<Ñ(<Ð=ò 	Ø�O‰OÔØ×Ñ˜cÔ"ØûÜò 	Ø×Ñ˜cÔ"Øûð	ûð �K‰K�Müs?   ‚C�A ºCÁ#B3Á."BÂB3ÂB.Â.B3Â3B6 Â6CÃCN©ÚreturnÚNone)rC   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]©rw   r   rÞ   rß   ©r‹   r#   rÞ   rß   ©ry   r%   r�   r#   rÞ   rß   ©r˜   r$   rÞ   rß   ©ry   r&   r�   r$   rÞ   rß   ©r¢   rÚ   rÞ   rß   ©rp   r   rÞ   rß   ©ry   r    r�   r   rÞ   rß   ©ru   r   rÞ   rß   ©ry   r   r�   r   rÞ   rß   ©r¼   r   rÞ   rß   )&Ú__name__Ú
__module__Ú__qualname__Ú__annotations__r=   rD   rG   rL   ÚpropertyrO   rR   rU   rX   r\   r_   rc   rj   rq   r6   r‚   r‡   rŒ   r‘   r”   r™   rœ   rž   r£   r¦   r©   r¬   r¯   r³   rµ   r¸   r½   rÓ   r7   r�   r>   r<   r(   r(      s   … ØÓð
óBó ó)óð ò#ó ð#ð ò"ó ð"ð òEó ðEð ò/ó ð/ó"ó$ó"óEóJó3óóAó@óó6BóAóKóKóCó-ó?óó2AóJóóKóJóO#ôbr>   r(   Ú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©r;   Úapi_requestÚevent_handlers      r<   r=   zAssistantStreamManager.__init__³  s   € ð >BˆŒØ,ˆÔØ(ˆÕr>   c                óŽ   — | j                  «       | _        | j                  j                  | j                  «       | j                  S r+   )r   rþ   rÿ   rD   r:   s    r<   Ú	__enter__z AssistantStreamManager.__enter__½  s6   € Ø×*Ñ*Ó,ˆŒØ×Ñ×"Ñ" 4§=¡=Ô1Ø×#Ñ#Ð#r>   c                óR   — | j                   �| j                   j                  «        y y r+   )rþ   r\   ©r;   Ú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__r=   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]r)   c                óò   — d | _         d | _        d | _        d | _        d | _        d | _        d | _        i | _        i | _        d | _	        | j                  «       | _        | j                  «       | _        d | _        y r+   )r,   r-   r.   r/   r0   Ú0_AsyncAssistantEventHandler__current_run_step_idÚ(_AsyncAssistantEventHandler__current_runÚ/_AsyncAssistantEventHandler__run_step_snapshotsÚ._AsyncAssistantEventHandler__message_snapshotsÚ5_AsyncAssistantEventHandler__current_message_snapshotr6   r)   r7   r8   Ú#_AsyncAssistantEventHandler__streamr:   s    r<   r=   z#AsyncAssistantEventHandler.__init__Ú  sx   € Ø;?ˆÔØ:>ˆÔ+Ø?CˆÔ%Ø48ˆÔ%Ø37ˆÔØ15ˆÔ"Ø)-ˆÔØ8:ˆÔ!Ø79ˆÔ Ø:>ˆÔ'à×/Ñ/Ó1ˆÔØŸ™Ó*ˆŒØBFˆ�r>   c                ó@   — | j                   rt        d«      ‚|| _         y r@   )r  rA   rB   s     r<   rD   z AsyncAssistantEventHandler._initê  rE   r>   c              ƒ  óR   K  — | j                   j                  «       ƒ d {  –—† S 7 Œ­wr+   )r8   Ú	__anext__r:   s    r<   r  z$AsyncAssistantEventHandler.__anext__ò  s   è ø€ Ø—^‘^×-Ñ-Ó/×/Ð/Ð/ús   ‚' %¡'c               óH   K  — | j                   2 3 d {  –—† }|­–— Œ7 Œ
6 y ­wr+   rI   rJ   s     r<   Ú	__aiter__z$AsyncAssistantEventHandler.__aiter__õ  s&   è ø€ ØŸ.™.÷ 	ð 	�$ØŒJð	ø™.ùs   ‚"� “” —"ž  "c              ƒ  ón   K  — | j                   r#| j                   j                  «       ƒ d{  –—†  yy7 Œ­wr[   )r  r\   r:   s    r<   r\   z AsyncAssistantEventHandler.closeù  s-   è ø€ ð �=Š=Ø—-‘-×%Ñ%Ó'×'Ñ'ð Ø'úó   ‚*5¬3­5c                ó   — | j                   S r+   rN   r:   s    r<   rO   z(AsyncAssistantEventHandler.current_event  rP   r>   c                ó   — | j                   S r+   )r  r:   s    r<   rR   z&AsyncAssistantEventHandler.current_run  rS   r>   c                óN   — | j                   sy | j                  | j                      S r+   )r  r  r:   s    r<   rU   z4AsyncAssistantEventHandler.current_run_step_snapshot
  rV   r>   c                ó   — | j                   S r+   )r  r:   s    r<   rX   z3AsyncAssistantEventHandler.current_message_snapshot  rY   r>   c              ƒ  ó6   K  — t        | «      ƒ d{  –—†  y7 Œ­wr^   )r   r:   s    r<   r_   z%AsyncAssistantEventHandler.until_done  s   è ø€ ä$ TÓ*×*Ò*ús   ‚‘’c              ƒ  ó„   K  — | j                  «       ƒ d{  –—†  | j                  st        d«      ‚| j                  S 7 Œ'­w)ra   Nrb   )r_   r  rA   r:   s    r<   rc   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)re   Nrf   )r_   r  rA   rg   rh   s     r<   rj   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)rm   Nrn   )r_   r  rA   rg   ro   s     r<   rq   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rs   rv   r}   s      r<   r6   z*AsyncAssistantEventHandler.__text_deltas__4  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�   r:   s    r<   r‚   z!AsyncAssistantEventHandler.on_end?  ó   è ø� ùó   ‚c              ƒ  ó   K  — y­wr…   r�   r†   s     r<   r‡   z#AsyncAssistantEventHandler.on_eventF  r(  r)  c              ƒ  ó   K  — y­wr‰   r�   rŠ   s     r<   rŒ   z.AsyncAssistantEventHandler.on_run_step_createdI  r(  r)  c              ƒ  ó   K  — y­wrŽ   r�   r�   s      r<   r‘   z,AsyncAssistantEventHandler.on_run_step_deltaL  r(  r)  c              ƒ  ó   K  — y­wr“   r�   rŠ   s     r<   r”   z+AsyncAssistantEventHandler.on_run_step_doneg  r(  r)  c              ƒ  ó   K  — y­wr–   r�   r—   s     r<   r™   z/AsyncAssistantEventHandler.on_tool_call_createdj  r(  r)  c              ƒ  ó   K  — y­wr›   r�   r�   s      r<   rœ   z-AsyncAssistantEventHandler.on_tool_call_deltam  r(  r)  c              ƒ  ó   K  — y­wr›   r�   r—   s     r<   rž   z,AsyncAssistantEventHandler.on_tool_call_donep  r(  r)  c              ƒ  ó   K  — y­wr    r�   r¡   s     r<   r£   z'AsyncAssistantEventHandler.on_exceptions  r(  r)  c              ƒ  ó   K  — y­wr¥   r�   r:   s    r<   r¦   z%AsyncAssistantEventHandler.on_timeoutv  r(  r)  c              ƒ  ó   K  — y­wr¨   r�   ro   s     r<   r©   z-AsyncAssistantEventHandler.on_message_createdy  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�   ro   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¿   )'r,   r‡   rÆ   r  r  rÇ   rÈ   r  rz   rÉ   r{   r³   ru   rw   rx   r  r0   rž   r©   ry   rµ   r-   r.   r¸   r½   r¼   r¬   r¯   r  rŒ   rÊ   rÄ   r/   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 n†# t        j                  t
        j                  f$ 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  rA   rÓ   rÖ   r×   rØ   rÙ   r¦   r£   rÚ   r‚   rÛ   s       r<   r7   z%AsyncAssistantEventHandler.__stream__@  sé   è ø€ Ø—‘ˆÙÜÐ@ÓAÐAð	 Ø%÷ ð �eØ×*Ñ*¨5Ó1×1Ð1à”ðøØ1øñ  &øô ×&Ñ&¬×(<Ñ(<Ð=ò 	Ø—/‘/Ó#×#Ñ#Ø×#Ñ# CÓ(×(Ñ(ØûÜò 	Ø×#Ñ# CÓ(×(Ñ(Øûð	úð  &ð —+‘+“-×Òø�$—+‘+“-×Òüs²   ‚D�A ŸA£A¤A§A ¼A	½
A ÁAÁ	A ÁA ÁC. Á#CÁ0B$ÂBÂB$ÂB ÂB$Â$CÂ0CÃCÃCÃCÃC. ÃDÃ'C*Ã(DÃ.D	ÄDÄD	Ä	DNrÝ   )rC   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÷   r=   rD   r  r  r\   rø   rO   rR   rU   rX   r_   rc   rj   rq   r6   r‚   r‡   rŒ   r‘   r”   r™   rœ   rž   r£   r¦   r©   r¬   r¯   r³   rµ   r¸   r½   rÓ   r7   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<   r=   z$AsyncAssistantStreamManager.__init__d  s   € ð CGˆŒØ,ˆÔØ(ˆÕr>   c              ƒ  ó¢   K  — | j                   ƒ d {  –—† | _        | j                  j                  | j                  «       | j                  S 7 Œ:­wr+   )rB  r@  rA  rD   r:   s    r<   Ú
__aenter__z&AsyncAssistantStreamManager.__aenter__n  s?   è ø€ Ø"×0Ñ0×0ˆŒØ×Ñ×"Ñ" 4§=¡=Ô1Ø×#Ñ#Ð#ð 1ús   ‚A’A“;Ac              ƒ  ón   K  — | j                   �#| j                   j                  «       ƒ d {  –—†  y y 7 Œ­wr+   )r@  r\   r  s       r<   Ú	__aexit__z%AsyncAssistantStreamManager.__aexit__s  s0   è ø€ ð �=‰=Ð$Ø—-‘-×%Ñ%Ó'×'Ñ'ð %Ø'úr  N)r  z,Awaitable[AsyncStream[AssistantStreamEvent]]r  r<  rÞ   rß   )rÞ   r<  r  )rô   rõ   rö   r  r=   rD  rF  r�   r>   r<   r>  r>  X  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|   )	rw   rx   rÇ   ry   Úaccumulate_deltar   r   r#   r   )rw   rÀ   rx   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Á   rt   z5Encountered a message delta with no previous snapshotrH  TFrI  rL  )rw   rx   rA   ry   rz   rÉ   rN  r   r   r!   r   r   Ú
IndexErrorÚinsertÚappend)rw   rX   rÌ   rx   r~   rÍ   rO  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)ÚitemsrV  rW  rX  rY  r   rN  r   ÚallÚextendÚ	TypeErrorÚKeyErrorrA   rQ  rR  )	Úaccry   ÚkeyÚdelta_valueÚ	acc_valueÚdelta_entryrÉ   rÜ   Ú	acc_entrys	            r<   rN  rN  Ô  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+)rw   r   rÀ   zdict[str, RunStep]rÞ   rß   )rw   r   rX   rå   rÞ   z0tuple[Message | None, list[MessageContentDelta]])rb  rH  ry   rH  rÞ   rH  )9Ú
__future__r   rØ   Útypesr   Útypingr   r   r   r   r	   r
   r   r   Útyping_extensionsr   r   r   r   rÖ   Ú_utilsr   r   r   r   Ú_compatr   Ú_modelsr   Ú
_streamingr   r   Ú
types.betar   Útypes.beta.threadsr   r   r   r   r   r    r!   r"   Útypes.beta.threads.runsr#   r$   r%   r&   r(   rù   rü   r  r<  r>  rÈ   rÆ   rN  r�   r>   r<   ú<module>rs     sô   ðÝ "ã Ý ß [× [Ó [ß SÓ Sã ç UÓ UÝ !Ý %ß -Ý .÷	÷ 	ó 	÷ VÓ U÷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>   