
    =Ki                        S r SSKJr  SSKJrJr  SSKJrJr  \ " S S5      5       r	\ " S S5      5       r
\ " S	 S
5      5       r\ " S S5      5       r\ " S S5      5       r\ " S S5      5       rg)z#Data models for the sandbox client.    )annotations)	dataclassfield)AnyOptionalc                  L    \ rS rSr% SrS\S'   S\S'   S\S'   \SS j5       rS	rg
)ExecutionResult	   z+Result of executing a command in a sandbox.strstdoutstderrint	exit_codec                     U R                   S:H  $ )z.Return True if the command exited with code 0.r   )r   )selfs    [/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/langsmith/sandbox/_models.pysuccessExecutionResult.success   s     ~~""     N)returnbool)	__name__
__module____qualname____firstlineno____doc____annotations__propertyr   __static_attributes__r   r   r   r	   r	   	   s&    5KKN# #r   r	   c                  D    \ rS rSr% SrSrS\S'   SrS\S'   SrS	\S
'   Sr	g)ResourceSpec   z%Resource specification for a sandbox.500mr   cpu512MimemoryNOptional[str]storager   )
r   r   r   r   r   r%   r   r'   r)   r    r   r   r   r"   r"      s#    /CFC!G]!r   r"   c                  v    \ rS rSr% SrS\S'   S\S'   S\S'   SrS\S	'   SrS\S
'   SrS\S'   \	SS j5       r
Srg)Volume    a(  Represents a persistent volume.

Volumes are persistent storage that can be mounted in sandboxes.

Attributes:
    id: Unique identifier (UUID). Remains constant even if name changes.
        May be None for resources created before ID support was added.
    name: Display name (can be updated).
r   namesizestorage_classNr(   id
created_at
updated_atc           
         U " UR                  SS5      UR                  SS5      UR                  SS5      UR                  S5      UR                  S5      UR                  S	5      S
9$ )z'Create a Volume from API response dict.r-    r.   unknownr/   defaultr0   r1   r2   )r-   r.   r/   r0   r1   r2   getclsdatas     r   	from_dictVolume.from_dict3   s^     &"%&),((?I>xx~xx-xx-
 	
r   r   )r;   dict[str, Any]r   r+   r   r   r   r   r   r   r0   r1   r2   classmethodr<   r    r   r   r   r+   r+       sI     I
IB $J$ $J$	
 	
r   r+   c                  .    \ rS rSr% SrS\S'   S\S'   Srg)VolumeMountSpec@   z:Specification for mounting a volume in a sandbox template.r   volume_name
mount_pathr   N)r   r   r   r   r   r   r    r   r   r   rB   rB   @   s    DOr   rB   c                      \ rS rSr% SrS\S'   S\S'   S\S'   \" \S9rS	\S
'   Sr	S\S'   Sr
S\S'   SrS\S'   \SS j5       rSrg)SandboxTemplateH   a  Represents a SandboxTemplate.

Templates define the image, resource limits, and volume mounts for sandboxes.
All other container details are handled by the server with secure defaults.

Attributes:
    id: Unique identifier (UUID). Remains constant even if name changes.
        May be None for resources created before ID support was added.
    name: Display name (can be updated).
r   r-   imager"   	resources)default_factoryzlist[VolumeMountSpec]volume_mountsNr(   r0   r1   r2   c                   UR                  S0 5      nUR                  S/ 5      nU " UR                  SS5      UR                  SS5      [        UR                  SS5      UR                  S	S
5      UR                  S5      S9U Vs/ s H-  n[        UR                  SS5      UR                  SS5      S9PM/     snUR                  S5      UR                  S5      UR                  S5      S9$ s  snf )z0Create a SandboxTemplate from API response dict.rJ   rL   r-   r4   rI   r5   r%   r$   r'   r&   r)   )r%   r'   r)   rD   rE   )rD   rE   r0   r1   r2   )r-   rI   rJ   rL   r0   r1   r2   )r8   r"   rB   )r:   r;   resources_datavolume_mounts_datavms        r   r<   SandboxTemplate.from_dict]   s     +r2!XXor:&"%((7I.""&&uf5%))(G<&**95 -
 -B	   "}b 9!vvlB7 - xx~xx-xx-#
 	
s   4C/r   )r;   r>   r   rG   )r   r   r   r   r   r   r   listrL   r0   r1   r2   r@   r<   r    r   r   r   rG   rG   H   sY    	 IJ+0+FM(FB $J$ $J$
 
r   rG   c                  v    \ rS rSr% SrS\S'   S\S'   S\S'   SrS	\S
'   SrS	\S'   SrS	\S'   \	SS j5       r
Srg)Poolw   a  Represents a Sandbox Pool for pre-provisioned sandboxes.

Pools pre-provision sandboxes from a template for faster startup.
Instead of waiting for a new sandbox to be created, sandboxes can
be served from a pre-warmed pool.

Note: Templates with volume mounts cannot be used in pools.

Attributes:
    id: Unique identifier (UUID). Remains constant even if name changes.
        May be None for resources created before ID support was added.
    name: Display name (can be updated).
r   r-   template_namer   replicasNr(   r0   r1   r2   c           
         U " UR                  SS5      UR                  SS5      UR                  SS5      UR                  S5      UR                  S5      UR                  S5      S	9$ )
z%Create a Pool from API response dict.r-   r4   rV   rW   r   r0   r1   r2   )r-   rV   rW   r0   r1   r2   r7   r9   s     r   r<   Pool.from_dict   s^     &"%((?B7XXj!,xx~xx-xx-
 	
r   r   )r;   r>   r   rT   r?   r   r   r   rT   rT   w   sI     IMB $J$ $J$	
 	
r   rT   N)r   
__future__r   dataclassesr   r   typingr   r   r	   r"   r+   rB   rG   rT   r   r   r   <module>r]      s    ) " (   
# 
# 
# " " " 
 
 
>    +
 +
 +
\  
  
  
r   