Ë
    uPêj˜O  ã                   óø   — U d dl Z d dlZd dlZd dlmZmZ d dlZd dlmZm	Z	m
Z
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 d dlmZ d dlmZ eZee d<   eZ!ee d	<   eZ"ee d
<   eZ#ee d<    G d„ de«      Z$y)é    N)ÚFinalÚcast)ÚOPEN_SANDBOX_API_BASE_ENV_VARÚOPEN_SANDBOX_API_KEY_ENV_VARÚOPEN_SANDBOX_DEFAULT_CPU_LIMITÚOPEN_SANDBOX_DEFAULT_ENTRYPOINTÚOPEN_SANDBOX_DEFAULT_LANGUAGEÚ!OPEN_SANDBOX_DEFAULT_MEMORY_LIMITÚOPEN_SANDBOX_DEFAULT_TEMPLATEÚOPEN_SANDBOX_DEFAULT_TIMEOUTÚOPEN_SANDBOX_EXECD_PORTÚOPEN_SANDBOX_POLL_INTERVALÚOPEN_SANDBOX_READY_TIMEOUT)ÚSANDBOX_MAX_OUTPUT_BYTESÚBaseSandboxConfigÚCodeExecutionResultÚContainerHandle)ÚAsyncHTTPHandlerÚget_async_httpx_client)Úget_secret_str)ÚhttpxSpecialProviderÚDEFAULT_SANDBOX_TIMEOUTÚDEFAULT_READY_TIMEOUTÚDEFAULT_POLL_INTERVALÚMAX_OUTPUT_BYTESc            #       óì  — e Zd Zdedz  defd„ZdBdedz  defd„Zdddddddddddddddddœd	edz  d
edz  dedz  dedz  dedz  de	eef   dz  de	eef   dz  de	eef   dz  de	eef   dz  de
e   eedf   z  dz  de	eef   dz  dedededz  dedz  dedz  def"d„Zddedddddœdeez  dededz  dedz  dedededz  dedz  dedz  defd„Zddddœdeez  dedz  dedz  dedz  def
d„Zdeez  dedz  dedz  dededededz  defd „Zd!eded"e	eef   dedz  dededdfd#„Zd!eded"e	eef   dededz  dededeee	eef   f   fd$„Zd!eded"e	eef   dededz  deee	eef   f   fd%„Zd&ed"e	eef   d'e	eef   dedz  de
e   f
d(„Zdedz  d)edefd*„Zed	edz  d
edz  dedz  de	eef   dz  de	eef   dz  de	eef   dz  de	eef   dz  de
e   eedf   z  dz  de	eef   dz  dede	eef   fd+„«       Zede	eef   fd,„«       Zed-ededz  fd.„«       Zed/ede	eef   fd0„«       Zededz  defd1„«       Zedede	eef   fd2„«       Z ed3ededefd4„«       Z!edeez  dedz  defd5„«       Z"ed6e
e   defd7„«       Z#ed8ede	eef   dz  fd9„«       Z$ed:e	eef   de	eef   fd;„«       Z%ed:e	eef   de	eef   fd<„«       Z&ed/ededz  fd=„«       Z'ed>e	eef   d?ed@edefdA„«       Z(y)CÚOpenSandboxSandboxConfigÚclientNÚreturnc                 ó>   — |�|S t        t        j                  ¬«      S )N)Úllm_provider)r   r   ÚSandbox)Úselfr   s     út/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/opensandbox/sandbox/transformation.pyÚ_httpzOpenSandboxSandboxConfig._http)   s   € ØÐØˆMÜ%Ô3G×3OÑ3OÔPÐPó    Úapi_keyc                 ó0   — |�|S t        t        «      xs dS )NÚ )r   r   )r#   r'   Úkwargss      r$   Úvalidate_environmentz-OpenSandboxSandboxConfig.validate_environment.   s   € ØÐØˆNÜÔ:Ó;ÒA¸rÐAr&   F)ÚtemplateÚtimeoutÚallow_internet_accessr'   Úapi_baseÚmetadataÚenv_varsÚresource_limitsÚresource_requestsÚ
entrypointÚnetwork_policyÚsecure_accessÚuse_server_proxyÚready_timeoutÚpoll_intervalr   r,   r-   r.   r/   r0   r1   r2   r3   r4   .r5   r6   r7   r8   r9   c             ‹   óæ  K  — | j                  |¬«      }| j                  |«      }|�t        |«      nt        }|�t        |«      nt        }| j                  |||||||	|
||¬«
      }t        t        j                  | j                  |«      j                  |› d�| j                  |«      |¬«      ƒ d {  –—† «      }|j                  «       }t        |d   «      }| j                  |«      dk7  r.| j                  ||| j                  |«      |||¬«      ƒ d {  –—†  | j!                  ||| j                  |«      ||||¬«      ƒ d {  –—† \  }}t#        |d	|¬
«      }|||||dœ|_        |S 7 Œ·7 ŒU7 Œ(­w)N)r'   )
r,   r-   r.   r0   r1   r2   r3   r4   r5   r6   z
/sandboxes)ÚurlÚheadersÚjsonÚidÚRunning)Ú
sandbox_idr/   r<   r   r8   r9   ©r@   r/   r<   r7   r   r8   r9   Úopensandbox©r>   ÚproviderÚdomain©r/   r'   Úexecd_endpointÚexecd_headersr7   )r+   Ú	_api_baseÚfloatr   r   Ú_create_bodyr   ÚhttpxÚResponser%   ÚpostÚ_lifecycle_headersr=   ÚstrÚ_sandbox_stateÚ_wait_until_runningÚ_wait_for_execd_endpointr   Ú_hidden_params)r#   r,   r-   r.   r'   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r   r*   ÚkeyÚbaseÚready_timeout_secondsÚpoll_interval_secondsÚbodyÚresponseÚdatar@   ÚendpointÚendpoint_headersÚhandles                                r$   Úacreate_sandboxz(OpenSandboxSandboxConfig.acreate_sandbox3   s¾  è ø€ ð* ×.Ñ.°wÐ.Ó?ˆØ—n‘n XÓ.ˆØ?LÐ?X¤u¨]Ô';Ô^sÐØ?LÐ?X¤u¨]Ô';Ô^sÐØ×'Ñ'ØØØ"7ØØØ+Ø/Ø!Ø)Ø'ð (ó 
ˆô Ü�N‰NØ—*‘*˜VÓ$×)Ñ)Ø�f˜JÐ'Ø×/Ñ/°Ó4Øð *ó ÷ ó
ˆð —m‘m“oˆÜ  T¡
›Oˆ
à×Ñ˜tÓ$¨	Ò1Ø×*Ñ*Ø%ØØ×/Ñ/°Ó4ØØ3Ø3ð +ó ÷ ð ð ,0×+HÑ+HØ!ØØ×+Ñ+¨CÓ0Ø-ØØ/Ø/ð ,Ió ,
÷ &
Ñ"ˆÐ"ô (¨:ÀÐVZÔ[ˆàØØ&Ø-Ø 0ñ!
ˆÔð ˆðKøðøð&
ús7   ‚B1E1Â3E+
Â4A#E1ÄE-Ä.E1ÅE/Å%E1Å-E1Å/E1)r'   r/   Úlanguager7   r8   r9   r   Ú	containerÚcoder`   c       	   
   ‹   ó<  K  — | j                  |||||�t        |«      nt        |�t        |«      nt        |	¬«      ƒ d {  –—† }t	        |j
                  d   «      }| j                  |j
                  j                  d«      «      }t	        |j
                  j                  d«      xs |j                  xs | j                  |«      «      }| j                  | j                  ||«      › d�dddd	œ|¥|d
|idœ|	¬«      ƒ d {  –—† }| j                  |«      S 7 Œ×7 Œ­w)N)ra   r'   r/   r7   r8   r9   r   rG   rH   r/   z/codeúapplication/jsonztext/event-streamzno-cache)úContent-TypeÚAcceptzCache-Controlr`   )rb   Úcontext)r;   r<   rY   r   )Ú_ensure_handlerJ   r   r   rP   rT   Ú_as_str_dictÚgetrE   rI   Ú
_post_codeÚ_endpoint_base_urlÚ_parse_lines)r#   ra   rb   r'   r/   r`   r7   r8   r9   r   r*   r^   r\   r]   rV   Úliness                   r$   Ú	arun_codez"OpenSandboxSandboxConfig.arun_code‚   s>  è ø€ ð #×1Ñ1ØØØØ-Ø3@Ð3Lœ5 Ô/ÔRgØ3@Ð3Lœ5 Ô/ÔRgØð 2ó 
÷ 
ˆô ˜f×3Ñ3Ð4DÑEÓFˆØ"&×"3Ñ"3°F×4IÑ4I×4MÑ4MÈoÓ4^Ó"_ÐÜ˜&×/Ñ/×3Ñ3°JÓ?ÒlÀ6Ç=Á=ÒlÐTX×TbÑTbÐckÓTlÓmˆØ!Ÿ_™_Ø×*Ñ*¨8°TÓ:Ð;¸5ÐAà 2Ø-Ø!+ñð #ð	ð Ø&¨Ð1ñð ð -ó 
÷ 
ˆð × Ñ  Ó'Ð'ð5
øð
ús$   ‚>DÁ DÁCDÄDÄDÄD)r'   r/   r   c          	   ‹   ó2  K  — | j                  ||¬«      }t        |j                  j                  d«      xs | j	                  |«      «      }| j                  ||¬«      }	 t        t        j                  | j                  |«      j                  |› d|j                  › �| j                  |«      ¬«      ƒ d {  –—† «      }	d|	j                  cxk  xr d	k  S c S 7 Œ"# t        j                  $ r$}
|
j                  j                  dk(  rY d }
~
y‚ d }
~
ww xY w­w)
N©r/   r/   ©r'   r^   ú/sandboxes/©r;   r<   é”  FéÈ   i,  )Ú
_as_handlerP   rT   rj   rI   Ú_api_keyr   rL   rM   r%   Údeleter>   rO   ÚHTTPStatusErrorrZ   Ústatus_code)r#   ra   r'   r/   r   r*   r^   rV   rU   rZ   Úes              r$   Úadelete_sandboxz(OpenSandboxSandboxConfig.adelete_sandbox¬   sÿ   è ø€ ð Ÿ™¨	¸H˜ÓEˆÜ˜&×/Ñ/×3Ñ3°JÓ?Ò[À4Ç>Á>ÐRZÓC[Ó\ˆØ—]‘]¨7¸6�]ÓBˆð	Ü"Ü—‘Ø—j‘j Ó(×/Ñ/Ø˜& ¨F¯I©I¨;Ð7Ø ×3Ñ3°CÓ8ð 0ó ÷ óˆHð �h×*Ñ*Ö0¨SÑ0Ð0Ñ0Ð0ðùô
 ×$Ñ$ò 	Ø�z‰z×%Ñ%¨Ò,ÜØûð	üsI   ‚ADÁ!AC Â8C
Â9C ÃDÃC ÃDÃ0DÄ	DÄDÄDÄDc          	   ƒ   ó  K  — | j                  ||¬«      }|j                  j                  d«      r|S t        |j                  j                  d«      xs | j	                  |«      «      }	| j                  ||¬«      }
t        |j                  j                  d|«      «      }| j                  |j                  |	| j                  |
«      ||||¬«      ƒ d {  –—† \  }}|	|_
        i |j                  ¥|	|
|||dœ¥|_        |S 7 Œ+­w)Nrq   rG   r/   rr   r7   rA   rF   )rw   rT   rj   rP   rI   rx   ÚboolrS   r>   rO   rE   )r#   ra   r'   r/   r7   r8   r9   r   r^   rV   rU   Úresolved_use_server_proxyr\   r]   s                 r$   rh   z'OpenSandboxSandboxConfig._ensure_handleÆ   s  è ø€ ð Ÿ™¨	¸H˜ÓEˆØ× Ñ ×$Ñ$Ð%5Ô6ØˆMä˜&×/Ñ/×3Ñ3°JÓ?Ò[À4Ç>Á>ÐRZÓC[Ó\ˆØ—]‘]¨7¸6�]ÓBˆÜ+/°×0EÑ0E×0IÑ0IÐJ\Ð^nÓ0oÓ+pÐ!Ø+/×+HÑ+HØ—y‘yØØ×+Ñ+¨CÓ0Ø6ØØ'Ø'ð ,Ió ,
÷ &
Ñ"ˆÐ"ð ˆŒð!
Ø×#Ñ#ð!
àØØ&Ø-Ø 9ò!
ˆÔð ˆð%&
ús   ‚CDÃDÃ,Dr@   r<   c             ƒ   óÖ  K  — t        j                  «       |z   }	 t        t        j                  | j                  |«      j                  |› d|› �|¬«      ƒ d {  –—† «      }|j                  «       }	| j                  |	«      }
|
dk(  ry |
dv rt        d|› d|
› �«      ‚t        j                  «       |k\  rt        d|› d|› d�«      ‚t        j                  |«      ƒ d {  –—†  ŒÊ7 Œ‹7 Œ­w)	Nrs   rt   r?   >   ÚFailedÚStoppingÚ
TerminatedzOpenSandbox sandbox z	 entered z was not Running within ú seconds)ÚtimeÚ	monotonicr   rL   rM   r%   rj   r=   rQ   Ú
ValueErrorÚTimeoutErrorÚasyncioÚsleep)r#   r@   r/   r<   r   r8   r9   ÚdeadlinerZ   r[   Ústates              r$   rR   z,OpenSandboxSandboxConfig._wait_until_runningì   sù   è ø€ ô Ÿ.™.Ó*¨]Ñ:ˆØÜÜ—‘Ø—j‘j Ó(×,Ñ,Ø#˜* K°
¨|Ð<Ø#ð -ó ÷ óˆHð —=‘=“?ˆDØ×'Ñ'¨Ó-ˆEØ˜	Ò!ØØÐ<Ñ<Ü Ð#7¸
°|À9ÈUÈGÐ!TÓUÐUÜ�~‰~Ó 8Ò+Ü"Ð%9¸*¸ÐE]Ð^kÐ]lÐltÐ#uÓvÐvÜ—-‘- Ó.×.Ð.ð! ðøð /ús%   ‚AC)ÁC%
ÁBC)ÃC'Ã C)Ã'C)c             ƒ   ó°  K  — t        j                  «       |z   }d }		 	 | j                  |||||¬«      ƒ d {  –—† S 7 Œ# t        j                  $ r&}
|
j
                  j                  dk7  r‚ |
}	Y d }
~
nd }
~
wt        $ r}
|
}	Y d }
~
nd }
~
ww xY wt        j                  «       |k\  rt        d|› d|› d�«      |	‚t        j                  |«      ƒ d {  –—†7   Œ¹­w)N)r@   r/   r<   r7   r   ru   zOpenSandbox execd endpoint for z was not ready within r…   )r†   r‡   Ú_get_execd_endpointrL   rz   rZ   r{   rˆ   r‰   rŠ   r‹   )r#   r@   r/   r<   r7   r   r8   r9   rŒ   Ú
last_errorr|   s              r$   rS   z1OpenSandboxSandboxConfig._wait_for_execd_endpoint	  sç   è ø€ ô Ÿ.™.Ó*¨]Ñ:ˆØ'+ˆ
ØðØ!×5Ñ5Ø)Ø%Ø#Ø%5Ø!ð 6ó ÷ ð ð ùô ×(Ñ(ò Ø—:‘:×)Ñ)¨SÒ0ØØ•
ûÜò Ø•
ûðúô �~‰~Ó 8Ò+Ü"Ø5°j°\ÐAWÐXeÐWfÐfnÐoóà!ð"ô —-‘- Ó.×.Ñ.ð) ùsV   ‚Cž> ·<¸> »C¼> ¾B
ÁA2Á-CÁ2B
Á>BÂ CÂB
Â
ACÃCÃCc          
   ƒ   óh  K  — t        t        j                  | j                  |«      j	                  |› d|› dt
        › �|d|i¬«      ƒ d {  –—† «      }|j                  «       }|j	                  d«      }|st        d|› �«      ‚t        |«      | j                  |j	                  d«      «      fS 7 Œd­w)Nrs   z/endpoints/r7   )r;   r<   Úparamsr\   z1OpenSandbox did not return an execd endpoint for r<   )
r   rL   rM   r%   rj   r   r=   rˆ   rP   ri   )	r#   r@   r/   r<   r7   r   rZ   r[   r\   s	            r$   r�   z,OpenSandboxSandboxConfig._get_execd_endpoint,  s·   è ø€ ô Ü�N‰NØ—*‘*˜VÓ$×(Ñ(Ø�j ¨J¨<°{ÔCZÐB[Ð\ØØ*Ð,<Ð=ð )ó ÷ ó
ˆð —m‘m“oˆØŸ(™( :Ó.ˆÙÜÐPÐQ[ÐP\Ð]Ó^Ð^Ü�8‹}˜d×/Ñ/°·±¸Ó0CÓDÐDÐDðús   ‚A	B2ÁB0
ÁA%B2r;   rY   c          
   ƒ   ó   K  — t        j                  dd dd ¬«      }t        t         j                  | j	                  |«      j                  ||||d¬«      ƒ d {  –—† «      }| j                  |«      ƒ d {  –—† S 7 Œ!7 Œ­w)Ng      >@)ÚconnectÚreadÚwriteÚpoolT)r;   r<   r-   r=   Ústream)rL   ÚTimeoutr   rM   r%   rN   Ú_read_capped_lines)r#   r;   r<   rY   r   r-   rZ   s          r$   rk   z#OpenSandboxSandboxConfig._post_codeC  s   è ø€ ô Ÿ™¨t¸$ÀdÐQUÔVˆÜÜ�N‰NØ—*‘*˜VÓ$×)Ñ)ØØØØØð *ó ÷ ó	
ˆð ×,Ñ,¨XÓ6×6Ð6ðøð 7ús$   ‚AA>ÁA:
ÁA>Á5A<Á6A>Á<A>r^   c                óv   — |�|S d|j                   v rt        |j                   d   «      S | j                  «       S )Nr'   )rT   rP   r+   )r#   r'   r^   s      r$   rx   z!OpenSandboxSandboxConfig._api_keyX  s@   € ØÐØˆNØ˜×-Ñ-Ñ-Ü�v×,Ñ,¨YÑ7Ó8Ð8Ø×(Ñ(Ó*Ð*r&   c        
         óæ   — d| xs t         it        |xs t        «      |�|nt        |xs t        j                  «       dœ}
|r||
d<   |r||
d<   |r||
d<   |�||
d<   n|durdg d	œ|
d<   |	rd|
d
<   |
S )NÚuri)Úimager4   r-   ÚresourceLimitsr0   ÚenvÚresourceRequestsÚnetworkPolicyTÚdeny)ÚdefaultActionÚegressÚsecureAccess)r   Úlistr   r   r   Ú_default_resource_limits)r,   r-   r.   r0   r1   r2   r3   r4   r5   r6   rY   s              r$   rK   z%OpenSandboxSandboxConfig._create_body_  s¦   € ð ˜XÒFÔ)FÐGÜ˜zÒLÔ-LÓMØ")Ð"5‘wÔ;RØ-ÒdÔ1I×1bÑ1bÓ1dñ	*
ˆñ Ø'ˆD�ÑÙØ"ˆD�‰KÙØ'8ˆDÐ#Ñ$ØÐ%Ø$2ˆD�Ò!Ø"¨$Ñ.Ø6<ÈÑ$KˆD�Ñ!ÙØ#'ˆD�Ñ Øˆr&   c                  ó   — t         t        dœS )N)ÚcpuÚmemory)r   r
   © r&   r$   r¨   z1OpenSandboxSandboxConfig._default_resource_limits�  s   € ô 2Ü7ñ
ð 	
r&   r[   c                 ó¨   — t        | t        «      sy | j                  d«      }t        |t        «      sy |j                  d«      }|�t        |«      S d S )NÚstatusr�   )Ú
isinstanceÚdictrj   rP   )r[   r®   r�   s      r$   rQ   z'OpenSandboxSandboxConfig._sandbox_stateˆ  sL   € ä˜$¤Ô%ØØŸ™ Ó*ˆÜ˜&¤$Ô'ØØ—z‘z 'Ó*ˆØ"Ð.Œs�5‹zÐ8°DÐ8r&   Úvaluec                 óž   — t        | t        «      si S | j                  «       D ��ci c]  \  }}t        |«      t        |«      “Œ c}}S c c}}w ©N)r¯   r°   ÚitemsrP   )r±   ÚkÚvs      r$   ri   z%OpenSandboxSandboxConfig._as_str_dict’  s;   € ä˜%¤Ô&ØˆIØ+0¯;©;«=×9¡4 1 a”�A“œ˜A›‘Ó9Ð9ùÓ9s   ¦A	c                 ó†   — | xs t        t        «      }|st        dt        › d�«      ‚t        |«      j	                  d«      S )Nz7OpenSandbox api_base is required. Pass api_base or set ú.ú/)r   r   rˆ   rP   Úrstrip)r/   rV   s     r$   rI   z"OpenSandboxSandboxConfig._api_base˜  sB   € àÒO¤.Ô1NÓ"OˆÙÜÐVÔWtÐVuÐuvÐwÓxÐxÜ�4‹y×Ñ Ó$Ð$r&   c                 ó   — ddi}| r| |d<   |S )Nre   rd   zOPEN-SANDBOX-API-KEYr¬   )r'   r<   s     r$   rO   z+OpenSandboxSandboxConfig._lifecycle_headersŸ  s    € à(Ð*<Ð=ˆÙØ.5ˆGÐ*Ñ+Øˆr&   r\   c                 óŽ   — | j                  d«      }|j                  d«      r|S d|v r|j                  dd«      d   nd}|› d|› �S )Nr¹   )zhttp://zhttps://z://é   r   Úhttp)rº   Ú
startswithÚsplit)r\   r/   Únormalized_endpointÚprotocols       r$   rl   z+OpenSandboxSandboxConfig._endpoint_base_url¦  sX   € à%-§_¡_°SÓ%9ÐØ×)Ñ)Ð*AÔBØ&Ð&Ø9>À(Ñ9J˜(Ÿ.™.¨°Ó2°1Ò5ÐPVˆØ�˜3Ð2Ð3Ð4Ð4r&   c                óŒ   — t        | t        «      r| S t        t        | «      dt        j	                  |«      ¬«      }i |_        |S )NrB   rC   )r¯   r   rP   r   rI   rT   )ra   r/   r^   s      r$   rw   z#OpenSandboxSandboxConfig._as_handle®  sC   € ä�i¤Ô1ØÐÜ'Ü�9‹~Ø"Ü+×5Ñ5°hÓ?ô
ˆð
 !#ˆÔØˆr&   rn   c           
      ó’  ‡‡— t        ˆfd„| D «       «      Šdt        fˆfd„}t        d„  |d«      D «       d «      }t        d„  |d«      D «       d «      }t        dj	                  d	„  |d
«      D «       «      dj	                  d„  |d«      D «       «       |d«      D �cg c]  }t
        j                  |«      ‘Œ c}||¬«      S c c}w )Nc              3   óR   •K  — | ]  }t         j                  |«      xŠ€Œ‰–— Œ  y ­wr³   )r   Ú_parse_sse_line)Ú.0ÚlineÚevents     €r$   ú	<genexpr>z8OpenSandboxSandboxConfig._parse_lines.<locals>.<genexpr>¼  s-   øè ø€ ò  
ØÔ1I×1YÑ1YÐZ^Ó1_Ð(_¨Ñ'lŒEñ 
ùs   ƒ' 'Úmessage_typec                 ó   •‡ — ˆ fd„‰D «       S )Nc              3   óL   •K  — | ]  }|j                  d «      ‰k(  sŒ|–— Œ y­w)ÚtypeN)rj   )rÇ   ÚmrË   s     €r$   rÊ   zIOpenSandboxSandboxConfig._parse_lines.<locals>.of_type.<locals>.<genexpr>Á  s    øè ø€ ÒI˜!¨1¯5©5°«=¸LÓ+H”AÑIùs   ƒ$�$r¬   )rË   Úmessagess   `€r$   Úof_typez6OpenSandboxSandboxConfig._parse_lines.<locals>.of_typeÀ  s   ù€ ÛI˜xÔIÐIr&   c              3   óF   K  — | ]  }t         j                  |«      –— Œ y ­wr³   )r   Ú_normalize_error©rÇ   rÏ   s     r$   rÊ   z8OpenSandboxSandboxConfig._parse_lines.<locals>.<genexpr>Ä  s   è ø€ ÒT¸aÔ%×6Ñ6°q×9ÑTùs   ‚!Úerrorc              3   ó¬   K  — | ]L  }t         j                  |j                  d «      «      �&t         j                  |j                  d «      «      –— ŒN y­w)Úexecution_countN)r   Ú_as_intrj   rÔ   s     r$   rÊ   z8OpenSandboxSandboxConfig._parse_lines.<locals>.<genexpr>È  sH   è ø€ ò àÜ+×3Ñ3°A·E±EÐ:KÓ4LÓMÐYô )×0Ñ0°·±Ð7HÓ1I×Jñùs   ‚AAr×   r)   c              3   óR   K  — | ]  }t        |j                  d d«      «      –— Œ! y­w©Útextr)   N©rP   rj   rÔ   s     r$   rÊ   z8OpenSandboxSandboxConfig._parse_lines.<locals>.<genexpr>Ñ  ó    è ø€ ÒM°aœ3˜qŸu™u V¨RÓ0×1ÑMùó   ‚%'Ústdoutc              3   óR   K  — | ]  }t        |j                  d d«      «      –— Œ! y­wrÚ   rÜ   rÔ   s     r$   rÊ   z8OpenSandboxSandboxConfig._parse_lines.<locals>.<genexpr>Ò  rÝ   rÞ   ÚstderrÚresult)rß   rá   ÚresultsrÕ   r×   )ÚtuplerP   Únextr   Újoinr   Ú_normalize_result)rn   rÑ   rÕ   r×   rÏ   rÉ   rÐ   s        @@r$   rm   z%OpenSandboxSandboxConfig._parse_linesº  sÑ   ù€ äó  
Ø#ô 
ó 
ˆð	J¤#õ 	Jô ÙTÁ7È7ÓCSÔTØó
ˆô "&ñá Ð!2Ó3ôð
 ó"
ˆô #Ø—7‘7ÑM¹7À8Ó;LÔMÓMØ—7‘7ÑM¹7À8Ó;LÔMÓMÙLSÐT\ÓL]Ö^ÀqÔ-×?Ñ?ÀÕBÒ^ØØ+ô
ð 	
ùò _s   ÂCrÈ   c                 óz  — | j                  «       }|r|j                  d«      ry |j                  d«      r|dd  j                  «       n|}|sy 	 t        j                  |«      }t        |t        «      sy d|vr)d|v r%d|v r!dt        |d   «      t        |d   «      g dœd	œS |S # t        j                  $ r Y y w xY w)
N)ú:zevent:zid:zretry:zdata:é   rÎ   rb   ÚmessagerÕ   )ÚenameÚevalueÚ	traceback)rÎ   rÕ   )Ústripr¿   r=   ÚloadsÚJSONDecodeErrorr¯   r°   rP   )rÈ   Ústrippedr[   Úparseds       r$   rÆ   z(OpenSandboxSandboxConfig._parse_sse_lineØ  sØ   € àŸ*™*›,ˆÙ˜8×.Ñ.ðô
ð Ø.6×.AÑ.AÀ'Ô.J�h˜q˜r�l×(Ñ(Ô*ÐPXˆÙØð	Ü ŸJ™J tÓ,ˆFô ˜&¤$Ô'ØØ˜Ñ F¨fÑ$4¸ÀfÑ9Làä  ¨¡Ó0Ü! &¨Ñ"3Ó4Ø!#ññð ð ˆøô ×#Ñ#ò 	Ùð	ús   ÁB$ Â$B:Â9B:rë   c                 ó  — | j                  d«      }t        |t        «      r-|j                  «       D ��ci c]  \  }}t	        |«      |“Œ c}}S | j                  «       D ��ci c]  \  }}|dvsŒt	        |«      |“Œ c}}S c c}}w c c}}w )Nrã   >   rÎ   Ú	timestampr×   )rj   r¯   r°   r´   rP   )rë   rã   rµ   r¶   s       r$   rç   z*OpenSandboxSandboxConfig._normalize_resultø  sp   € à Ÿ™ YÓ/ˆÜ�gœtÔ$Ø*1¯-©-«/×:¡$ ! Q”C˜“F˜A‘IÓ:Ð:Ø&-§m¡m£o×k™d˜a ¸ÐBjÒ9j”�A“˜‘	ÓkÐkùó ;ùÛks   µBÁ"BÁ/Bc                 óv  — | j                  d«      }t        |t        «      rPt        j	                  |ddd¬«      }t        j	                  |ddd¬«      }t        j	                  |dg ¬«      }|||d	œS t        j	                  | dd¬«      t        j	                  | dd
d¬«      t        j	                  | dg ¬«      d	œS )NrÕ   rì   Únamer)   )Údefaultrí   r±   rî   )r÷   r±   rî   rÛ   )rj   r¯   r°   r   Ú_first_non_none_value)rë   Ú	raw_errorr÷   r±   rî   s        r$   rÓ   z)OpenSandboxSandboxConfig._normalize_errorÿ  sÐ   € à"Ÿ;™; wÓ/ˆ	Ü�i¤Ô&Ü2×HÑHÈÐT[Ð]cÐmoÐHÓpˆDÜ3×IÑIÈ)ÐU]Ð_fÐprÐIÓsˆEÜ7×MÑMÈiÐYdÐnpÐMÓqˆIàØØ&ñð ô -×BÑBÀ7ÈFÐ\^ÐBÓ_Ü-×CÑCÀGÈWÐV\ÐfhÐCÓiÜ1×GÑGÈÐQ\ÐfhÐGÓiñ
ð 	
r&   c                 ó~   — t        | t        «      r| S t        | t        «      r	 t        | «      S y # t        $ r Y y w xY wr³   )r¯   ÚintrP   rˆ   )r±   s    r$   rØ   z OpenSandboxSandboxConfig._as_int  sC   € ä�eœSÔ!ØˆLÜ�eœSÔ!ðÜ˜5“zÐ!ð øô ò Ùðús   ¤
0 °	<»<ÚvaluesÚkeysrø   c                ó.   ‡ — t        ˆ fd„|D «       |«      S )Nc              3   ó>   •K  — | ]  }|‰v sŒ‰|   €Œ‰|   –— Œ y ­wr³   r¬   )rÇ   rU   rý   s     €r$   rÊ   zAOpenSandboxSandboxConfig._first_non_none_value.<locals>.<genexpr>  s$   øè ø€ ÒV˜S¨C°6ªM¸fÀS¹kÑ>UˆV�C�[ÑVùs   ƒ	�“
)rå   )rý   rø   rþ   s   `  r$   rù   z.OpenSandboxSandboxConfig._first_non_none_value  s   ø€ äÛV DÔVØó
ð 	
r&   r³   ))Ú__name__Ú
__module__Ú__qualname__r   r%   rP   r+   rü   r   r°   r§   rä   ÚobjectrJ   r   r_   r	   r   ro   r}   rh   rR   rS   r�   rk   rx   ÚstaticmethodrK   r¨   rQ   ri   rI   rO   rl   rw   rm   rÆ   rç   rÓ   rØ   rù   r¬   r&   r$   r   r   (   sÐ  „ ðQÐ,¨tÑ3ð QÐ8Hó Qñ
B¨C°$©Jð BÈCó Bð  $Ø"Ø-1Ø"Ø#Ø*.Ø*.Ø15Ø37Ø9=Ø37Ø#Ø!&Ø&*Ø&*Ø*.ò%Mð ˜‘*ðMð �t‘ð	Mð
  $ d™{ðMð �t‘ðMð ˜‘*ðMð �s˜C�x‘. 4Ñ'ðMð �s˜C�x‘. 4Ñ'ðMð ˜c 3˜h™¨$Ñ.ðMð    S ™>¨DÑ0ðMð ˜‘I  c¨3 h¡Ñ/°$Ñ6ðMð ˜S &˜[Ñ)¨DÑ0ðMð ðMð ðMð  ˜t‘|ð!Mð" ˜t‘|ð#Mð$ ! 4Ñ'ð%Mð( 
ó)Mðh #Ø#Ø5Ø!&Ø&*Ø&*Ø*.ò((ð # SÑ(ð((ð ð	((ð
 �t‘ð((ð ˜‘*ð((ð ð((ð ð((ð ˜t‘|ð((ð ˜t‘|ð((ð ! 4Ñ'ð((ð 
ó((ð\ #Ø#Ø*.ò1ð # SÑ(ð1ð �t‘ð	1ð
 ˜‘*ð1ð ! 4Ñ'ð1ð 
ó1ð4$ð # SÑ(ð$ð �t‘ð	$ð
 ˜‘*ð$ð ð$ð ð$ð ð$ð ! 4Ñ'ð$ð 
ó$ðL/ð ð/ð ð	/ð
 �c˜3�h‘ð/ð ! 4Ñ'ð/ð ð/ð ð/ð 
ó/ð:!/ð ð!/ð ð	!/ð
 �c˜3�h‘ð!/ð ð!/ð ! 4Ñ'ð!/ð ð!/ð ð!/ð 
ˆs�D˜˜c˜‘NÐ"Ñ	#ó!/ðFEð ðEð ð	Eð
 �c˜3�h‘ðEð ðEð ! 4Ñ'ðEð 
ˆs�D˜˜c˜‘NÐ"Ñ	#óEð.7ð ð7ð �c˜3�h‘ð	7ð
 �3˜�;Ñð7ð ! 4Ñ'ð7ð 
ˆc‰ó7ð*+ 3¨¡:ð +°ð +È3ó +ð ðà˜‘*ðð �t‘ðð  $ d™{ð	ð
 �s˜C�x‘. 4Ñ'ðð �s˜C�x‘. 4Ñ'ðð ˜c 3˜h™¨$Ñ.ðð    S ™>¨DÑ0ðð ˜‘I  c¨3 h¡Ñ/°$Ñ6ðð ˜S &˜[Ñ)¨DÑ0ðð ðð 
ˆc�6ˆkÑ	òó ððB ð
 d¨3°¨8¡nò 
ó ð
ð ð9˜Vð 9¨¨d©
ò 9ó ð9ð ð:˜Fð : t¨C°¨H¡~ò :ó ð:ð
 ð%˜C $™Jð %¨3ò %ó ð%ð ð Cð ¨D°°c°©Nò ó ðð ð5 Sð 5°Cð 5¸Cò 5ó ð5ð ð	˜o°Ñ3ð 	À#ÈÁ*ð 	ÐQ`ò 	ó ð	ð ð
˜D ™Ið 
Ð*=ò 
ó ð
ð: ð˜cð  d¨3°¨;Ñ&7¸$Ñ&>ò ó ðð> ðl 4¨¨V¨Ñ#4ð l¸¸cÀ6¸kÑ9Jò ló ðlð ð
 $ s¨F {Ñ"3ð 
¸¸SÀ&¸[Ñ8Iò 
ó ð
ð" ð�vð  #¨¡*ò ó ðð ð
 d¨3°¨;Ñ&7ð 
Àð 
Èfð 
ÐY_ò 
ó ñ
r&   r   )%rŠ   r=   r†   Útypingr   r   rL   Úlitellm.constantsr   r   r   r   r	   r
   r   r   r   r   r   Ú,litellm.llms.base_llm.sandbox.transformationr   r   r   r   Ú&litellm.llms.custom_httpx.http_handlerr   r   Úlitellm.secret_managers.mainr   Úlitellm.types.llms.custom_httpr   r   Ú__annotations__r   r   r   r   r¬   r&   r$   ú<module>r     sz   ðÜ Û Û ß ã ÷÷ ÷ ñ ÷ó ÷õ 8Ý ?à!=Ð ˜Ó =Ø9Ð �uÓ 9Ø9Ð �uÓ 9Ø2Ð �%Ó 2ôy
Ð0õ y
r&   