Ë
    $Æ%hª1  ã                  ó˜  — 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 d dlmZmZmZmZ ddlmZ ddlmZmZmZmZmZ d	d
lmZmZ d	dlmZmZmZ d	dlm Z m!Z! d	dl"m#Z#m$Z$ d	dl%m&Z&mZ' ddl(m)Z)m*Z*m+Z+ d	dl,m-Z- d	dl.m/Z/m0Z0m1Z1  G d„ dee)   «      Z2 G d„ dee)   «      Z3 G d„ dee)   «      Z4 G d„ dee)   «      Z5 G d„ dee)   «      Z6y)é    )ÚannotationsN)ÚTracebackType)ÚAnyÚListÚGenericÚIterableÚ	AwaitableÚcast)ÚSelfÚCallableÚIteratorÚAsyncIteratoré   )ÚParsedResponseSnapshot)ÚResponseStreamEventÚResponseTextDoneEventÚResponseCompletedEventÚResponseTextDeltaEventÚ'ResponseFunctionCallArgumentsDeltaEventé   )Ú	NOT_GIVENÚNotGiven)Úis_givenÚconsume_sync_iteratorÚconsume_async_iterator)ÚbuildÚconstruct_type_unchecked)ÚStreamÚAsyncStream)ÚParsedResponser   é   )ÚTextFormatTÚ
parse_textÚparse_response)Ú	ToolParam)ÚParsedContentÚParsedResponseOutputMessageÚParsedResponseFunctionToolCallc                  ót   — e Zd Z	 	 	 	 	 	 	 	 dd„Zdd„Zdd„Zdd„Zdd„Z	 	 	 	 	 	 	 	 dd„Zdd„Z	dd„Z
dd	„Zy
)ÚResponseStreamc               ó‚   — || _         |j                  | _        | j                  «       | _        t        ||¬«      | _        y ©N)Útext_formatÚinput_tools©Ú_raw_streamÚresponseÚ	_responseÚ
__stream__Ú	_iteratorÚResponseStreamStateÚ_state©ÚselfÚ
raw_streamr-   r.   s       úg/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/openai/lib/streaming/responses/_responses.pyÚ__init__zResponseStream.__init__   ó5   € ð &ˆÔØ#×,Ñ,ˆŒØŸ™Ó*ˆŒÜ)°kÈ{Ô[ˆ�ó    c                ó6   — | j                   j                  «       S ©N)r4   Ú__next__©r8   s    r:   r@   zResponseStream.__next__+   s   € Ø�~‰~×&Ñ&Ó(Ð(r=   c              #  ó6   K  — | j                   D ]  }|–— Œ y ­wr?   ©r4   ©r8   Úitems     r:   Ú__iter__zResponseStream.__iter__.   s   è ø€ Ø—N‘Nò 	ˆDØ‹Jñ	ùs   ‚c                ó   — | S r?   © rA   s    r:   Ú	__enter__zResponseStream.__enter__2   s   € Øˆr=   c              #  óz   K  — | j                   D ](  }| j                  j                  |«      }|D ]  }|–— Œ Œ* y ­wr?   ©r0   r6   Úhandle_event©r8   Ú	sse_eventÚevents_to_fireÚevents       r:   r3   zResponseStream.__stream__5   sC   è ø€ Ø×)Ñ)ò 	ˆIØ!Ÿ[™[×5Ñ5°iÓ@ˆNØ'ò �Ø“ññ	ùs   ‚9;c                ó$   — | j                  «        y r?   ©Úclose©r8   Úexc_typeÚexcÚexc_tbs       r:   Ú__exit__zResponseStream.__exit__;   s   € ð 	�
‰
�r=   c                ó8   — | j                   j                  «        y©zŠ
        Close the response and release the connection.

        Automatically called if the response body is read to completion.
        N)r2   rS   rA   s    r:   rS   zResponseStream.closeC   s   € ð 	�‰×ÑÕr=   c                ól   — | j                  «        | j                  j                  }|st        d«      ‚|S )úxWaits until the stream has been read to completion and returns
        the accumulated `ParsedResponse` object.
        ú,Didn't receive a `response.completed` event.©Ú
until_doner6   Ú_completed_responseÚRuntimeError©r8   r1   s     r:   Úget_final_responsez!ResponseStream.get_final_responseK   s1   € ð 	�‰ÔØ—;‘;×2Ñ2ˆÙÜÐMÓNÐNàˆr=   c                ó   — t        | «       | S )ú*Blocks until the stream has been consumed.)r   rA   s    r:   r_   zResponseStream.until_doneV   s   € ä˜dÔ#Øˆr=   N)r9   zStream[RawResponseStreamEvent]r-   útype[TextFormatT] | NotGivenr.   úIterable[ToolParam] | NotGivenÚreturnÚNone©rh   z ResponseStreamEvent[TextFormatT])rh   z*Iterator[ResponseStreamEvent[TextFormatT]]©rh   r   ©rU   ztype[BaseException] | NonerV   zBaseException | NonerW   zTracebackType | Nonerh   ri   ©rh   ri   ©rh   zParsedResponse[TextFormatT])Ú__name__Ú
__module__Ú__qualname__r;   r@   rF   rI   r3   rX   rS   rc   r_   rH   r=   r:   r*   r*      s‚   „ ð
\ð 3ð
\ð 2ð	
\ð
 4ð
\ð 
ó
\ó)óóóðà,ðð "ðð %ð	ð
 
óóó	ôr=   r*   c                  óD   — e Zd Z	 	 	 	 	 	 	 	 dd„Zdd„Z	 	 	 	 	 	 	 	 dd„Zy)ÚResponseStreamManagerc               ó<   — d | _         || _        || _        || _        y r?   )Ú_ResponseStreamManager__streamÚ#_ResponseStreamManager__api_requestÚ#_ResponseStreamManager__text_formatÚ#_ResponseStreamManager__input_tools©r8   Úapi_requestr-   r.   s       r:   r;   zResponseStreamManager.__init__]   s$   € ð =AˆŒØ(ˆÔØ(ˆÔØ(ˆÕr=   c                óˆ   — | j                  «       }t        || j                  | j                  ¬«      | _        | j                  S ©N)r9   r-   r.   )rv   r*   rw   rx   ru   ©r8   r9   s     r:   rI   zResponseStreamManager.__enter__i   s=   € Ø×'Ñ'Ó)ˆ
ä&Ø!Ø×*Ñ*Ø×*Ñ*ô
ˆŒð �}‰}Ðr=   c                óR   — | j                   �| j                   j                  «        y y r?   )ru   rS   rT   s       r:   rX   zResponseStreamManager.__exit__t   s#   € ð �=‰=Ð$Ø�M‰M×ÑÕ!ð %r=   N)rz   z,Callable[[], Stream[RawResponseStreamEvent]]r-   rf   r.   rg   rh   ri   )rh   zResponseStream[TextFormatT]rl   )ro   rp   rq   r;   rI   rX   rH   r=   r:   rs   rs   \   s]   „ ð
)àAð
)ð 2ð	
)ð
 4ð
)ð 
ó
)ó	ð"à,ð"ð "ð"ð %ð	"ð
 
ô"r=   rs   c                  ót   — e Zd Z	 	 	 	 	 	 	 	 dd„Zdd„Zdd„Zdd„Zdd„Z	 	 	 	 	 	 	 	 dd„Zdd„Z	dd„Z
dd	„Zy
)ÚAsyncResponseStreamc               ó‚   — || _         |j                  | _        | j                  «       | _        t        ||¬«      | _        y r,   r/   r7   s       r:   r;   zAsyncResponseStream.__init__   r<   r=   c              ƒ  óR   K  — | j                   j                  «       ƒ d {  –—† S 7 Œ­wr?   )r4   Ú	__anext__rA   s    r:   rƒ   zAsyncResponseStream.__anext__‹   s   è ø€ Ø—^‘^×-Ñ-Ó/×/Ð/Ð/ús   ‚' %¡'c               óH   K  — | j                   2 3 d {  –—† }|­–— Œ7 Œ
6 y ­wr?   rC   rD   s     r:   Ú	__aiter__zAsyncResponseStream.__aiter__Ž   s&   è ø€ ØŸ.™.÷ 	ð 	�$ØŒJð	ø™.ùs   ‚"� “” —"ž  "c               óŒ   K  — | j                   2 3 d {  –—† }| j                  j                  |«      }|D ]  }|­–— Œ	 Œ17 Œ,6 y ­wr?   rK   rM   s       r:   r3   zAsyncResponseStream.__stream__’   sL   è ø€ Ø#×/Ñ/÷ 	ð 	�)Ø!Ÿ[™[×5Ñ5°iÓ@ˆNØ'ò �Ø”ñð	øÑ/ùs%   ‚A�A“A ”A—)AÁ AÁAc              ƒ  ó   K  — | S ­wr?   rH   rA   s    r:   Ú
__aenter__zAsyncResponseStream.__aenter__˜   s   è ø€ Øˆùs   ‚c              ƒ  ó@   K  — | j                  «       ƒ d {  –—†  y 7 Œ­wr?   rR   rT   s       r:   Ú	__aexit__zAsyncResponseStream.__aexit__›   s   è ø€ ð �j‰j‹l×Òús   ‚–—c              ƒ  óT   K  — | j                   j                  «       ƒ d{  –—†  y7 Œ­wrZ   )r2   ÚacloserA   s    r:   rS   zAsyncResponseStream.close£   s   è ø€ ð �n‰n×#Ñ#Ó%×%Ò%ús   ‚( &¡(c              ƒ  óˆ   K  — | j                  «       ƒ d{  –—†  | j                  j                  }|st        d«      ‚|S 7 Œ)­w)r\   Nr]   r^   rb   s     r:   rc   z&AsyncResponseStream.get_final_response«   s@   è ø€ ð �o‰oÓ×ÐØ—;‘;×2Ñ2ˆÙÜÐMÓNÐNàˆð 	 ús   ‚A–A —*Ac              ƒ  ó8   K  — t        | «      ƒ d{  –—†  | S 7 Œ­w)re   N)r   rA   s    r:   r_   zAsyncResponseStream.until_done¶   s   è ø€ ä$ TÓ*×*Ð*Øˆð 	+ús   ‚‘’N)r9   z#AsyncStream[RawResponseStreamEvent]r-   rf   r.   rg   rh   ri   rj   )rh   z/AsyncIterator[ResponseStreamEvent[TextFormatT]]rk   rl   rm   rn   )ro   rp   rq   r;   rƒ   r…   r3   rˆ   rŠ   rS   rc   r_   rH   r=   r:   r€   r€   ~   s‚   „ ð
\ð 8ð
\ð 2ð	
\ð
 4ð
\ð 
ó
\ó0óóóðà,ðð "ðð %ð	ð
 
óó&ó	ôr=   r€   c                  óD   — e Zd Z	 	 	 	 	 	 	 	 dd„Zdd„Z	 	 	 	 	 	 	 	 dd„Zy)ÚAsyncResponseStreamManagerc               ó<   — d | _         || _        || _        || _        y r?   )Ú#_AsyncResponseStreamManager__streamÚ(_AsyncResponseStreamManager__api_requestÚ(_AsyncResponseStreamManager__text_formatÚ(_AsyncResponseStreamManager__input_toolsry   s       r:   r;   z#AsyncResponseStreamManager.__init__½   s%   € ð BFˆŒØ(ˆÔØ(ˆÔØ(ˆÕr=   c              ƒ  óœ   K  — | j                   ƒ d {  –—† }t        || j                  | j                  ¬«      | _        | j                  S 7 Œ7­wr|   )r“   r€   r”   r•   r’   r}   s     r:   rˆ   z%AsyncResponseStreamManager.__aenter__É   sF   è ø€ Ø×-Ñ-×-ˆ
ä+Ø!Ø×*Ñ*Ø×*Ñ*ô
ˆŒð �}‰}Ðð .ús   ‚A’A
“8Ac              ƒ  ón   K  — | j                   �#| j                   j                  «       ƒ d {  –—†  y y 7 Œ­wr?   )r’   rS   rT   s       r:   rŠ   z$AsyncResponseStreamManager.__aexit__Ô   s0   è ø€ ð �=‰=Ð$Ø—-‘-×%Ñ%Ó'×'Ñ'ð %Ø'ús   ‚*5¬3­5N)rz   z.Awaitable[AsyncStream[RawResponseStreamEvent]]r-   rf   r.   rg   rh   ri   )rh   z AsyncResponseStream[TextFormatT]rl   )ro   rp   rq   r;   rˆ   rŠ   rH   r=   r:   r�   r�   ¼   s]   „ ð
)àCð
)ð 2ð	
)ð
 4ð
)ð 
ó
)ó	ð(à,ð(ð "ð(ð %ð	(ð
 
ô(r=   r�   c                  ó8   — e Zd Z	 	 	 	 	 	 dd„Zdd„Zdd„Zdd„Zy)	r5   c               óÌ   — d | _         d | _        t        |«      r|D �cg c]  }|‘Œ c}ng | _        || _        t        j                  |«      r|| _        y t        | _        y c c}w r?   )	Ú&_ResponseStreamState__current_snapshotr`   r   Ú_input_toolsÚ_text_formatÚinspectÚisclassr   Ú_rich_text_format)r8   r.   r-   Útools       r:   r;   zResponseStreamState.__init__ß   s\   € ð BFˆÔØGKˆÔ Ü>FÀ{Ô>S¨kÖ: dšTÓ:ÐY[ˆÔØ'ˆÔÜAHÇÁÐQ\ÔA]°+ˆÕÔclˆÕùò ;s   ž	A!c                ó  — | j                  |«      x| _        }g }|j                  dk(  r­|j                  |j                     }|j                  dk(  sJ ‚|j
                  |j                     }|j                  dk(  sJ ‚|j                  t        t        |j                  |j                  |j                  |j                  d|j                  ¬«      «       |S |j                  dk(  rÉ|j                  |j                     }|j                  dk(  sJ ‚|j
                  |j                     }|j                  dk(  sJ ‚|j                  t        t        t           |j                  |j                  |j                  d|j                  t        |j                  | j                   ¬«      ¬«      «       |S |j                  dk(  rx|j                  |j                     }|j                  d	k(  sJ ‚|j                  t        t"        |j                  |j                  |j                  d|j$                  ¬
«      «       |S |j                  dk(  r3| j&                  }|€J ‚|j                  t        t(        d|¬«      «       |S |j                  |«       |S )Núresponse.output_text.deltaÚmessageÚoutput_text)Úcontent_indexÚdeltaÚitem_idÚoutput_indexÚtypeÚsnapshotzresponse.output_text.done)r-   )r¥   r§   r¨   r©   ÚtextÚparsedú&response.function_call_arguments.deltaÚfunction_call)r¦   r§   r¨   r©   rª   úresponse.completed)r©   r1   )Úaccumulate_eventrš   r©   Úoutputr¨   Úcontentr¥   Úappendr   r   r¦   r§   r«   r   r"   r#   rœ   r   Ú	argumentsr`   r   )r8   rP   rª   Úeventsr±   r²   r1   s          r:   rL   z ResponseStreamState.handle_eventë   sK  € Ø-1×-BÑ-BÀ5Ó-IÐIˆÔ (à9;ˆà�:‰:Ð5Ò5Ø—_‘_ U×%7Ñ%7Ñ8ˆFØ—;‘; )Ò+Ð+Ð+à—n‘n U×%8Ñ%8Ñ9ˆGØ—<‘< =Ò0Ð0Ð0à�M‰MÜÜ*Ø"'×"5Ñ"5ØŸ+™+Ø!ŸM™MØ!&×!3Ñ!3Ø5Ø$Ÿ\™\ôô
ðt ˆð_ �Z‰ZÐ6Ò6Ø—_‘_ U×%7Ñ%7Ñ8ˆFØ—;‘; )Ò+Ð+Ð+à—n‘n U×%8Ñ%8Ñ9ˆGØ—<‘< =Ò0Ð0Ð0à�M‰MÜÜ)¬+Ñ6Ø"'×"5Ñ"5Ø!ŸM™MØ!&×!3Ñ!3Ø4ØŸ™Ü% e§j¡j¸d×>OÑ>OÔPôô
ðP ˆð; �Z‰ZÐCÒCØ—_‘_ U×%7Ñ%7Ñ8ˆFØ—;‘; /Ò1Ð1Ð1à�M‰MÜÜ;ØŸ+™+Ø!ŸM™MØ!&×!3Ñ!3ØAØ#×-Ñ-ôô	ð2 ˆð �Z‰ZÐ/Ò/Ø×/Ñ/ˆHØÐ'Ð'Ð'à�M‰MÜÜ*Ø-Ø%ôôð ˆð �M‰M˜%Ô àˆr=   c                ó¢  — | j                   }|€| j                  |«      S |j                  dk(  rý|j                  j                  dk(  rR|j                  j                  t        t        t        t        «      |j                  j                  «       ¬«      «       |S |j                  j                  dk(  rR|j                  j                  t        t        t        t        «      |j                  j                  «       ¬«      «       |S |j                  j                  |j                  «       |S |j                  dk(  rz|j                  |j                     }|j                  dk(  rP|j                  j                  t        t        t        t        «      |j                  j                  «       ¬«      «       |S |j                  dk(  rs|j                  |j                     }|j                  dk(  rI|j                  |j                      }|j                  dk(  sJ ‚|xj"                  |j$                  z  c_        |S |j                  dk(  rI|j                  |j                     }|j                  dk(  r|xj&                  |j$                  z  c_        |S |j                  d	k(  r1t)        | j*                  |j,                  | j.                  ¬
«      | _        |S )Nzresponse.output_item.addedr®   ©Útype_Úvaluer£   zresponse.content_part.addedr¢   r¤   r­   r¯   )r-   r1   r.   )rš   Ú_create_initial_responser©   rE   r±   r³   r   r
   r   r(   Úto_dictr'   r¨   r²   r&   Úpartr¥   r«   r¦   r´   r$   rœ   r1   r›   r`   )r8   rP   rª   r±   r²   s        r:   r°   z$ResponseStreamState.accumulate_event3  sG  € Ø×*Ñ*ˆØÐØ×0Ñ0°Ó7Ð7à�:‰:Ð5Ò5Ø�z‰z�‰ /Ò1Ø—‘×&Ñ&Ü,Ü"¤3Ô(FÓGÈuÏzÉz×OaÑOaÓOcôôðD ˆð; —‘—‘ IÒ-Ø—‘×&Ñ&Ü,´4¼Ô=XÓ3YÐaf×akÑak×asÑasÓauÔvôð8 ˆð1 —‘×&Ñ& u§z¡zÔ2ð0 ˆð/ �Z‰ZÐ8Ò8Ø—_‘_ U×%7Ñ%7Ñ8ˆFØ�{‰{˜iÒ'Ø—‘×%Ñ%Ü,´4¼¼]Ó3KÐSX×S]ÑS]×SeÑSeÓSgÔhôð( ˆð# �Z‰ZÐ7Ò7Ø—_‘_ U×%7Ñ%7Ñ8ˆFØ�{‰{˜iÒ'Ø Ÿ.™.¨×)<Ñ)<Ñ=�Ø—|‘| }Ò4Ð4Ð4Ø—’ §¡Ñ+•ð ˆð �Z‰ZÐCÒCØ—_‘_ U×%7Ñ%7Ñ8ˆFØ�{‰{˜oÒ-Ø× Ò  E§K¡KÑ/Õ ð ˆð �Z‰ZÐ/Ò/Ü'5Ø ×-Ñ-ØŸ™Ø ×-Ñ-ô(ˆDÔ$ð ˆr=   c                ó¤   — |j                   dk7  rt        d|j                   › d�«      ‚t        t        |j                  j                  «       ¬«      S )Nzresponse.createdz5Expected to have received `response.created` before `ú`r·   )r©   ra   r   r   r1   r»   )r8   rP   s     r:   rº   z,ResponseStreamState._create_initial_response^  sH   € Ø�:‰:Ð+Ò+ÜÐ!VÐW\×WaÑWaÐVbÐbcÐdÓeÐeä'Ô.DÈEÏNÉN×LbÑLbÓLdÔeÐer=   N)r.   rg   r-   rf   rh   ri   )rP   ÚRawResponseStreamEventrh   z&List[ResponseStreamEvent[TextFormatT]])rP   r¿   rh   r   )ro   rp   rq   r;   rL   r°   rº   rH   r=   r:   r5   r5   Þ   s<   „ ð
mð 4ð
mð 2ð	
mð
 
ó
móFóP)ôVfr=   r5   )7Ú
__future__r   r�   Útypesr   Útypingr   r   r   r   r	   r
   Útyping_extensionsr   r   r   r   Ú_typesr   Ú_eventsr   r   r   r   r   r   r   Ú_utilsr   r   r   Ú_modelsr   r   Ú
_streamingr   r   Útypes.responsesr    r¿   Ú_parsing._responsesr"   r#   r$   Útypes.responses.tool_paramr%   Útypes.responses.parsed_responser&   r'   r(   r*   rs   r€   r�   r5   rH   r=   r:   ú<module>rÍ      s«   ðÝ "ã Ý ß @× @ß EÓ Eå *÷õ ÷ +ß NÑ Nß 7ß .ß ]ß JÑ JÝ 4÷ñ ô;�W˜[Ñ)ô ;ô|"˜G KÑ0ô "ôD;˜' +Ñ.ô ;ô|( ¨Ñ!5ô (ôDDf˜' +Ñ.õ Dfr=   