Ë
    ,Œ:j´  ã                  óà   — d dl mZ d dlZd dlmZmZmZmZmZ d dl	m
Z
 d dlZddlmZ ddlmZ ddlmZ erdd	lmZmZ  G d
„ dee   «      Z G d„ dee   «      Z G d„ d«      Z G d„ d«      Zy)é    )ÚannotationsN)ÚTYPE_CHECKINGÚAnyÚGenericÚIteratorÚAsyncIterator)Úoverrideé   )Ú	ResponseT)Ú
is_mapping)ÚAPIError)ÚSyncAPIClientÚAsyncAPIClientc                  óT   — e Zd ZU dZded<   	 	 	 	 	 	 	 	 d
d„Zdd„Zdd„Zdd„Zdd„Z	y	)ÚStreamzJProvides the core interface to iterate over a synchronous stream response.úhttpx.ResponseÚresponsec               óv   — || _         || _        || _        t        «       | _        | j                  «       | _        y ©N©r   Ú_cast_toÚ_clientÚ
SSEDecoderÚ_decoderÚ
__stream__Ú	_iterator©ÚselfÚcast_tor   Úclients       úS/var/www/html/tokenscope/api/venv/lib/python3.12/site-packages/openai/_streaming.pyÚ__init__zStream.__init__   ó0   € ð !ˆŒØˆŒØˆŒÜ"›ˆŒØŸ™Ó*ˆ�ó    c                ó6   — | j                   j                  «       S r   )r   Ú__next__©r   s    r!   r&   zStream.__next__$   s   € Ø�~‰~×&Ñ&Ó(Ð(r$   c              #  ó6   K  — | j                   D ]  }|–— Œ y ­wr   ©r   ©r   Úitems     r!   Ú__iter__zStream.__iter__'   s   è ø€ Ø—N‘Nò 	ˆDØ‹Jñ	ùs   ‚c              #  ó†   K  — | j                   j                  | j                  j                  «       «      E d {  –—†  y 7 Œ­wr   )r   Úiterr   Ú
iter_linesr'   s    r!   Ú_iter_eventszStream._iter_events+   s+   è ø€ Ø—=‘=×%Ñ% d§m¡m×&>Ñ&>Ó&@ÓA×AÒAús   ‚7A¹?ºAc              #  ó´  K  — | j                   }| j                  }| j                  j                  }| j	                  «       }|D ]Š  }|j
                  j                  d«      r nm|j                  �Œ-|j                  «       }t        |«      r6|j                  d«      r%t        d| j                  j                  |d   ¬«      ‚ ||||¬«      –— ŒŒ |D ]  }Œ y ­w©Nz[DONE]Úerrorz!An error ocurred during streaming)ÚmessageÚrequestÚbody)Údatar   r   ©r   r   r   Ú_process_response_datar0   r7   Ú
startswithÚeventÚjsonr   Úgetr   r5   ©r   r   r   Úprocess_dataÚiteratorÚsser7   s          r!   r   zStream.__stream__.   sÌ   è ø€ Ø—-‘-ˆØ—=‘=ˆØ—|‘|×:Ñ:ˆØ×$Ñ$Ó&ˆàò 	RˆCØ�x‰x×"Ñ" 8Ô,Ùà�y‰yÑ Ø—x‘x“z�Ü˜dÔ#¨¯©°Ô(9Ü"Ø CØ $§¡× 5Ñ 5Ø! '™]ôð ñ #¨°gÈÔQÓQð	Rð  ò 	ˆCØñ	ùs   ‚A-CÁ0A(CN)r   útype[ResponseT]r   r   r    r   ÚreturnÚNone©rC   r   )rC   zIterator[ResponseT])rC   úIterator[ServerSentEvent])
Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r"   r&   r,   r0   r   © r$   r!   r   r      sM   … ÙTàÓð+ð !ð+ð !ð	+ð
 ð+ð 
ó+ó)óóBôr$   r   c                  óT   — e Zd ZU dZded<   	 	 	 	 	 	 	 	 d
d„Zdd„Zdd„Zdd„Zdd„Z	y	)ÚAsyncStreamzLProvides the core interface to iterate over an asynchronous stream response.r   r   c               óv   — || _         || _        || _        t        «       | _        | j                  «       | _        y r   r   r   s       r!   r"   zAsyncStream.__init__M   r#   r$   c              ƒ  óR   K  — | j                   j                  «       ƒ d {  –—† S 7 Œ­wr   )r   Ú	__anext__r'   s    r!   rQ   zAsyncStream.__anext__Z   s   è ø€ Ø—^‘^×-Ñ-Ó/×/Ð/Ð/ús   ‚' %¡'c               óH   K  — | j                   2 3 d {  –—† }|­–— Œ7 Œ
6 y ­wr   r)   r*   s     r!   Ú	__aiter__zAsyncStream.__aiter__]   s&   è ø€ ØŸ.™.÷ 	ð 	�$ØŒJð	ø™.ùs   ‚"� “” —"ž  "c               ó–   K  — | j                   j                  | j                  j                  «       «      2 3 d {  –—† }|­–— Œ7 Œ
6 y ­wr   )r   Úaiterr   Úaiter_lines)r   rA   s     r!   r0   zAsyncStream._iter_eventsa   s?   è ø€ ØŸ™×,Ñ,¨T¯]©]×-FÑ-FÓ-HÓI÷ 	ð 	�#ØŒIð	øÑIùs%   ‚4A	¶AºA»A¾A	ÁAÁA	c               óØ  K  — | j                   }| j                  }| j                  j                  }| j	                  «       }|2 3 d {  –—† }|j
                  j                  d«      r nm|j                  �Œ3|j                  «       }t        |«      r6|j                  d«      r%t        d| j                  j                  |d   ¬«      ‚ ||||¬«      ­–— Œ“|2 3 d {  –—† }Œ
7 Œš6 Œ7 Œ	6 y ­wr2   r8   r>   s          r!   r   zAsyncStream.__stream__e   sÞ   è ø€ Ø—-‘-ˆØ—=‘=ˆØ—|‘|×:Ñ:ˆØ×$Ñ$Ó&ˆà!÷ 	Rð 	R�#Ø�x‰x×"Ñ" 8Ô,Ùà�y‰yÑ Ø—x‘x“z�Ü˜dÔ#¨¯©°Ô(9Ü"Ø CØ $§¡× 5Ñ 5Ø! '™]ôð ñ #¨°gÈÔQÔQð "÷ 	ð 	�#Øð#	Rø˜øð 	ø™ùsU   ‚AC*ÁC$ÁC"ÁC$Á*C*Á6A"C*ÃC(ÃC&ÃC(Ã C*Ã"C$Ã$C*Ã&C(Ã(C*N)r   rB   r   r   r    r   rC   rD   rE   )rC   zAsyncIterator[ResponseT])rC   úAsyncIterator[ServerSentEvent])
rG   rH   rI   rJ   rK   r"   rQ   rS   r0   r   rL   r$   r!   rN   rN   H   sL   … ÙVàÓð+ð !ð+ð !ð	+ð
 ð+ð 
ó+ó0óóôr$   rN   c                  ó”   — e Zd Zdddddœ	 	 	 	 	 	 	 	 	 d
d„Zedd„«       Zedd„«       Zedd„«       Zedd„«       Zdd„Z	e
dd	„«       Zy)ÚServerSentEventN©r;   r7   ÚidÚretryc               óL   — |€d}|| _         || _        |xs d | _        || _        y )NÚ )Ú_idÚ_dataÚ_eventÚ_retry)r   r;   r7   r\   r]   s        r!   r"   zServerSentEvent.__init__€   s.   € ð ˆ<ØˆDàˆŒØˆŒ
Ø’m˜tˆŒØˆ�r$   c                ó   — | j                   S r   )rb   r'   s    r!   r;   zServerSentEvent.event�   ó   € à�{‰{Ðr$   c                ó   — | j                   S r   )r`   r'   s    r!   r\   zServerSentEvent.id”   s   € à�x‰xˆr$   c                ó   — | j                   S r   )rc   r'   s    r!   r]   zServerSentEvent.retry˜   re   r$   c                ó   — | j                   S r   )ra   r'   s    r!   r7   zServerSentEvent.dataœ   s   € à�z‰zÐr$   c                ó@   — t        j                  | j                  «      S r   )r<   Úloadsr7   r'   s    r!   r<   zServerSentEvent.json    s   € Ü�z‰z˜$Ÿ)™)Ó$Ð$r$   c           	     óp   — d| j                   › d| j                  › d| j                  › d| j                  › d�	S )NzServerSentEvent(event=z, data=z, id=z, retry=ú)r[   r'   s    r!   Ú__repr__zServerSentEvent.__repr__£   s9   € à'¨¯
©
 |°7¸4¿9¹9¸+ÀUÈ4Ï7É7È)ÐS[Ð\`×\fÑ\fÐ[gÐghÐiÐir$   )
r;   ú
str | Noner7   rn   r\   rn   r]   ú
int | NonerC   rD   )rC   rn   )rC   ro   )rC   Ústr)rC   r   )rG   rH   rI   r"   Úpropertyr;   r\   r]   r7   r<   r	   rm   rL   r$   r!   rZ   rZ      s²   „ ð !ØØØ ñð ðð ð	ð
 ðð ðð 
óð  òó ðð òó ðð òó ðð òó ðó%ð òjó ñjr$   rZ   c                  óV   — e Zd ZU ded<   ded<   ded<   ded<   dd„Zdd	„Zdd
„Zdd„Zy)r   z	list[str]ra   rn   rb   ro   rc   Ú_last_event_idc                ó<   — d | _         g | _        d | _        d | _        y r   )rb   ra   rs   rc   r'   s    r!   r"   zSSEDecoder.__init__®   s   € ØˆŒØˆŒ
Ø"ˆÔØˆ�r$   c              #  ól   K  — |D ]+  }|j                  d«      }| j                  |«      }|€Œ(|–— Œ- y­w)zTGiven an iterator that yields lines, iterate over it & yield every event encounteredú
N©ÚrstripÚdecode©r   r@   ÚlinerA   s       r!   r.   zSSEDecoder.iter´   s;   è ø€ àò 	ˆDØ—;‘;˜tÓ$ˆDØ—+‘+˜dÓ#ˆCØ‰Ø“	ñ		ùs   ‚*4­4c               ó~   K  — |2 3 d{  –—† }|j                  d«      }| j                  |«      }|€Œ.|­–— Œ47 Œ/6 y­w)zZGiven an async iterator that yields lines, iterate over it & yield every event encounteredNrv   rw   rz   s       r!   rU   zSSEDecoder.aiter¼   sC   è ø€ à"÷ 	ð 	�$Ø—;‘;˜tÓ$ˆDØ—+‘+˜dÓ#ˆCØ‰Ø”	ð		ø™(ùs    ‚=…;‰9Š;�%=³=¹;»=c                óz  — |sŽ| j                   s%| j                  s| j                  s| j                  €y t	        | j                   dj                  | j                  «      | j                  | j                  ¬«      }d | _         g | _        d | _        |S |j                  d«      ry |j                  d«      \  }}}|j                  d«      r|dd  }|dk(  r|| _         y |dk(  r| j                  j                  |«       y |dk(  rd	|v r	 y || _        y |d
k(  r	 t        |«      | _        y 	 y # t        t        f$ r Y y w xY w)Nrv   r[   ú:ú r
   r;   r7   r\   ú r]   )rb   ra   rs   rc   rZ   Újoinr:   Ú	partitionÚappendÚintÚ	TypeErrorÚ
ValueError)r   r{   rA   Ú	fieldnameÚ_Úvalues         r!   ry   zSSEDecoder.decodeÄ   sW  € ñ Ø—;’; t§z¢z¸$×:MÒ:MÐRV×R]ÑR]ÐReØä!Ø—k‘kØ—Y‘Y˜tŸz™zÓ*Ø×&Ñ&Ø—k‘kô	ˆCð ˆDŒKØˆDŒJØˆDŒKàˆJà�?‰?˜3ÔØà"Ÿn™n¨SÓ1Ñˆ	�1�eà×Ñ˜CÔ Ø˜!˜"�IˆEà˜ÒØˆDŒKð  ð ˜&Ò Ø�J‰J×Ñ˜eÔ$ð ð ˜$ÒØ�u‰}Øð ð ',�Ô#ð ð ˜'Ò!ðÜ! %›j�”ð ð àøô œzÐ*ò Øð ðús   ÄD( Ä(D:Ä9D:N)rC   rD   )r@   zIterator[str]rC   rF   )r@   zAsyncIterator[str]rC   rX   )r{   rp   rC   zServerSentEvent | None)rG   rH   rI   rK   r"   r.   rU   ry   rL   r$   r!   r   r   ¨   s.   … ØÓØÓØÓØÓóóóô.r$   r   )Ú
__future__r   r<   Útypingr   r   r   r   r   Útyping_extensionsr	   ÚhttpxÚ_typesr   Ú_utilsr   Ú_exceptionsr   Ú_base_clientr   r   r   rN   rZ   r   rL   r$   r!   ú<module>r’      sc   ðå "ã ß GÕ GÝ &ã å Ý Ý !áß;ô3ˆW�YÑô 3ôl4�'˜)Ñ$ô 4÷n&jñ &j÷RJò Jr$   