Ë
    uPêj  ã                   óŒ   — U d Z ddlmZmZ ddlZddlmZmZ ddlm	Z	 dZ
eed<    G d„ d	e	«      Z G d
„ de	«      Z G d„ d«      Zy)a  
Base Sandbox transformation configuration.

A sandbox provider runs an executable string inside an isolated container and
returns whatever the sandbox produced. The lifecycle is create container ->
run code -> delete container; `code_interpreter_tool` combines all three.
é    )ÚAnyÚFinalN)ÚFieldÚPrivateAttr)ÚLiteLLMPydanticObjectBasei    ÚSANDBOX_MAX_OUTPUT_BYTESc                   ó^   — e Zd ZU dZeed<   eed<   dZedz  ed<   ddiZ ee	¬«      Z
e	ed	<   y)
ÚContainerHandlezFA live sandbox container. Carries everything needed to reach it again.ÚidÚproviderNÚdomainÚextraÚallow©Údefault_factoryÚ_hidden_params)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚstrÚ__annotations__r   Úmodel_configr   Údictr   © ó    úq/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/base_llm/sandbox/transformation.pyr
   r
      s6   … ÙPàƒGØƒMØ€FˆC�$‰JÓà˜WÐ%€Lá&°tÔ<€N�DÔ<r   r
   c                   ó¾   — e Zd ZU dZdZeed<   dZeed<    ee	¬«      Z
e	eeef      ed<   dZeeef   dz  ed<   dZedz  ed	<   d
Zeed<   ddiZ ee¬«      Zeed<   y)ÚCodeExecutionResultz2Passthrough of the sandbox's own execution output.Ú ÚstdoutÚstderrr   ÚresultsNÚerrorÚexecution_countÚcode_executionÚobjectr   r   r   )r   r   r   r   r!   r   r   r"   r   Úlistr#   r   r   r$   r%   Úintr'   r   r   r   r   r   r   r   r      s}   … Ù<à€FˆCÓØ€FˆCÓÙ$)¸$Ô$?€GˆT�$�s˜C�x‘.Ñ!Ó?Ø#'€Eˆ4��S�‰>˜DÑ Ó'Ø"&€O�S˜4‘ZÓ&Ø"€FˆCÓ"à˜WÐ%€Lá&°tÔ<€N�DÔ<r   r   c                   óâ   — e Zd ZdZddedz  defd„Zdddddœdedz  dedz  d	edz  dedz  def
d
„Z	ddœdeez  dededz  de
fd„Zddœdeez  dedz  defd„Zdej                  dee   fd„Zy)ÚBaseSandboxConfigz%Provider-agnostic sandbox operations.NÚapi_keyÚreturnc                 ó   — t        d«      ‚)Nz4validate_environment must be implemented by provider©ÚNotImplementedError)Úselfr,   Úkwargss      r   Úvalidate_environmentz&BaseSandboxConfig.validate_environment1   s   € Ü!Ð"XÓYÐYr   )ÚtemplateÚtimeoutÚallow_internet_accessr,   r4   r5   r6   c             ‹   ó    K  — t        d«      ‚­w)Nz/acreate_sandbox must be implemented by providerr/   )r1   r4   r5   r6   r,   r2   s         r   Úacreate_sandboxz!BaseSandboxConfig.acreate_sandbox4   s   è ø€ ô "Ð"SÓTÐTùó   ‚)r,   Ú	containerÚcodec             ‹   ó    K  — t        d«      ‚­w)Nz)arun_code must be implemented by providerr/   )r1   r:   r;   r,   r2   s        r   Ú	arun_codezBaseSandboxConfig.arun_code?   s   è ø€ ô "Ð"MÓNÐNùr9   c             ‹   ó    K  — t        d«      ‚­w)Nz/adelete_sandbox must be implemented by providerr/   )r1   r:   r,   r2   s       r   Úadelete_sandboxz!BaseSandboxConfig.adelete_sandboxI   s   è ø€ ô "Ð"SÓTÐTùr9   Úresponsec              ƒ   óä   K  — g }d}|j                  «       2 3 d {  –—† }|t        |j                  d«      «      z  }|t        kD  rt	        dt        › d�«      ‚|j                  |«       ŒT7 ŒO6 |S ­w)Nr   zutf-8zSandbox output exceeded z/ bytes; aborting to avoid unbounded memory use.)Úaiter_linesÚlenÚencoder   Ú
ValueErrorÚappend)r1   r@   ÚlinesÚtotalÚlines        r   Ú_read_capped_linesz$BaseSandboxConfig._read_capped_linesR   sƒ   è ø€ Ø"$ˆØˆØ"×.Ñ.Ó0÷ 	ð 	�$Ø”S˜Ÿ™ WÓ-Ó.Ñ.ˆEØÔ/Ò/Ü Ø.Ô/GÐ.HÐHwÐxóð ð �L‰L˜Õð	øÐ0ð ˆùs&   ‚A0—A-›A+œA-ŸAA0Á+A-Á-A0)N)r   r   r   r   r   r3   r)   Úboolr
   r8   r   r=   r?   ÚhttpxÚResponser(   rJ   r   r   r   r+   r+   .   s
  „ Ù/ñZ¨C°$©Jð ZÈCó Zð  $Ø"Ø-1Ø"ò	Uð ˜‘*ð	Uð �t‘ð		Uð
  $ d™{ð	Uð �t‘ð	Uð 
ó	Uð  #òOð # SÑ(ðOð ð	Oð
 �t‘ðOð 
óOð #ò	Uð # SÑ(ðUð �t‘ð	Uð 
óUð
°·±ð 
ÀDÈÁIô 
r   r+   )r   Útypingr   r   rL   Úpydanticr   r   Úlitellm.types.llms.baser   r   r   r
   r   r+   r   r   r   ú<module>rQ      sG   ðò÷ ã ß 'å =à"2Ð ˜%Ó 2ô	=Ð/ô 	=ô=Ð3ô =÷.ò .r   