Ë
    uPêj×  ã                   ó¼  — U d Z ddlmZ ddlZddlmZmZmZ ddlm	Z	 ddl
mZmZ g d¢Zh d£Zeed	<   d
edefd„Zdedefd„Zded
ededdfd„Ze	 	 	 	 	 dd
ededz  dedz  dedz  dedz  dedz  defd„«       Ze	 dd
edeez  dededz  def
d„«       Ze	 	 dd
edeez  dedz  dedz  def
d„«       Ze	 	 	 	 dd
edededz  dedz  dedz  dedz  defd„«       Zy) aT  
Public entrypoints for running model-generated code in a sandbox.

Low-level lifecycle:
    acreate_container -> arun_code -> adelete_container

High-level convenience:
    acode_interpreter_tool  (ephemeral: create -> run -> delete)

Each entrypoint is `@client`-decorated, so every operation is logged the same
way `litellm.asearch` is.
é    )ÚFinalN)ÚBaseSandboxConfigÚCodeExecutionResultÚContainerHandle)ÚSandboxProviders)ÚProviderConfigManagerÚclient)Úacode_interpreter_toolÚacreate_sandboxÚadelete_sandboxÚ	arun_code>   Úlitellm_call_idÚlitellm_metadataÚlitellm_trace_idÚlitellm_logging_objÚ_LITELLM_INTERNAL_KWARGSÚproviderÚreturnc                 ób   — t        j                  t        | «      «      }|€t        d| › �«      ‚|S )Nz.Code execution is not supported for provider: )r   Úget_provider_sandbox_configr   Ú
ValueError)r   Úconfigs     úY/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/sandbox/main.pyÚ_get_configr   (   s6   € Ü)×EÑEÔFVÐW_ÓF`Óa€FØ€~ÜÐIÈ(ÈÐTÓUÐUØ€Mó    Úkwargsc                 óh   — | j                  «       D ��ci c]  \  }}|t        vsŒ||“Œ c}}S c c}}w ©N)Úitemsr   )r   ÚkÚvs      r   Ú_forward_kwargsr"   /   s,   € Ø#Ÿ\™\›^×Q‘T�Q˜¨qÔ8PÒ/PˆAˆq‰DÓQÐQùÓQs   ”.¥.Ú	operationc           	      ó„   — | j                  d«      }|€y |j                  | |› d|› �i d| j                  d«      i|¬«       y )Nr   ú/r   )r   ÚmodelÚoptional_paramsÚlitellm_paramsÚcustom_llm_provider)ÚgetÚupdate_from_kwargs)r   r   r#   Úlogging_objs       r   Ú_update_loggingr-   3   sV   € ØŸ™Ð$9Ó:€KØÐØØ×"Ñ"ØØ�
˜!˜I˜;Ð'ØØ)¨6¯:©:Ð6GÓ+HÐIØ$ð #õ r   ÚtemplateÚtimeoutÚallow_internet_accessÚapi_keyÚapi_basec           	   ‹   óŒ   K  — t        || d«        t        | «      j                  d|||||dœt        |«      ¤Žƒ d {  –—† S 7 Œ­w)NÚcreate_sandbox)r.   r/   r0   r1   r2   © )r-   r   r   r"   )r   r.   r/   r0   r1   r2   r   s          r   r   r   @   s\   è ø€ ô �F˜HÐ&6Ô7Ø6”˜XÓ&×6Ñ6ð ØØØ3ØØñô ˜&Ó
!ñ÷ ð ð ús   ‚;A½A¾AÚ	containerÚcodec              ‹   óˆ   K  — t        || d«        t        | «      j                  d|||dœt        |«      ¤Žƒ d {  –—† S 7 Œ­w)NÚrun_code©r6   r7   r1   r5   )r-   r   r   r"   )r   r6   r7   r1   r   s        r   r   r   U   sU   è ø€ ô �F˜H jÔ1Ø0”˜XÓ&×0Ñ0ð ØØØñô ˜&Ó
!ñ	÷ ð ð úó   ‚9A»A ¼Ac              ‹   óˆ   K  — t        || d«        t        | «      j                  d|||dœt        |«      ¤Žƒ d {  –—† S 7 Œ­w)NÚdelete_sandbox©r6   r1   r2   r5   )r-   r   r   r"   )r   r6   r1   r2   r   s        r   r   r   f   sV   è ø€ ô �F˜HÐ&6Ô7Ø6”˜XÓ&×6Ñ6ð ØØØñô ˜&Ó
!ñ	÷ ð ð úr;   c           	   ‹   ó`  K  — t        || d«       t        | «      }t        |«      } |j                  d||||dœ|¤Žƒ d {  –—† }		  |j                  d|	||dœ|¤Žƒ d {  –—† 	  |j
                  d|	||dœ|¤Žƒ d {  –—†  S 7 ŒB7 Œ%7 Œ	# t        $ r4}
t        j                  j                  j                  d|
«       Y d }
~
S d }
~
ww xY w# 	  |j
                  d|	||dœ|¤Žƒ d {  –—†7   w # t        $ r4}
t        j                  j                  j                  d|
«       Y d }
~
w d }
~
ww xY wxY w­w)NÚcode_interpreter_tool)r.   r/   r1   r2   r:   r>   z1sandbox: failed to delete ephemeral container: %sr5   )r-   r   r"   r   r   r   Ú	ExceptionÚlitellmÚ_loggingÚverbose_loggerÚdebug)r   r7   r.   r/   r1   r2   r   r   Ú	forwardedr6   Úes              r   r
   r
   w   sM  è ø€ ô �F˜HÐ&=Ô>Ü Ó)€FÜ& vÓ.€Ià3˜V×3Ñ3ð ØØØØñ	ð
 ñ÷ €IðjØ%�V×%Ñ%Ðc°	ÀÈgÑcÐYbÑc×cð	jØ(�&×(Ñ(Ðn°9ÀgÐX`ÑnÐdmÑn×nÑnðøð døð oùÜò 	jÜ×Ñ×+Ñ+×1Ñ1Ð2eÐgh×iÑiûð	jûð	jØ(�&×(Ñ(Ðn°9ÀgÐX`ÑnÐdmÑn×nÒnøÜò 	jÜ×Ñ×+Ñ+×1Ñ1Ð2eÐgh×iÑiûð	jÿs§   ‚>D.Á BÁD.ÁC	 ÁBÁ C	 Á$B	Á=BÁ>B	ÂD.ÂC	 ÂB	Â		CÂ*CÂ<D.ÃCÃD.Ã	D+ÃC+Ã$C'Ã%C+Ã*D+Ã+	D(Ã4*D#ÄD+Ä#D(Ä(D+Ä+D.)NNNNNr   )NN)NNNN)Ú__doc__Útypingr   rB   Ú,litellm.llms.base_llm.sandbox.transformationr   r   r   Úlitellm.types.utilsr   Úlitellm.utilsr   r	   Ú__all__r   Ú__annotations__Ústrr   Údictr"   r-   ÚintÚboolr   r   r   r
   r5   r   r   ú<module>rS      s$  ðòõ ã ÷ñ õ
 1ß 7ò€ò#Ð ˜%ó ð˜#ð Ð"3ó ðR˜Dð R Tó Rð
˜Dð 
¨Cð 
¸Cð 
ÀDó 
ð ð  ØØ)-ØØñØðà�D‰jðð �4‰Zðð   $™;ð	ð
 �4‰Zðð �D‰jðð òó ðð( ð
 ñ	Øðà Ñ$ðð ðð �4‰Zð	ð òó ðð  ð Øñ	Øðà Ñ$ðð �4‰Zðð �D‰jð	ð 
òó ðð  ð  ØØØñjØðjà
ðjð �D‰jðjð �4‰Zð	jð
 �4‰Zðjð �D‰jðjð òjó ñjr   