
    CjK*                       S SK Jr  S SKrS SKJr  S SKJr  S SKJr  S SK	J
r
JrJr  SSKJr  SS	KJr  SS
KJr  SSKJrJr  SSKJr  SSKJrJr  SSKJrJrJr  SSKJ r   SSK!J"r"J#r#  SSK$J%r%  SSK&J'r'  SSK(J)r)J*r*  SSK+J,r,J-r-  SSK.J/r/J0r0J1r1  SSK2J3r3  SSK4J5r5  SSK6J7r7  SSK8J9r9  \Rt                  " \;5      r<\ " S S\\   5      5       r=S$S jr>    S%S jr? " S S \\   5      r@S&S! jrAS'S" jrBS(S# jrCg))    )annotationsN)Sequence)nullcontext)	dataclass)AnyGenericcast   )Agent)	UserError)TResponseInputItem)	RunResultRunResultStreaming)	RunConfig)RunContextWrapperTContext)AgentBindingsbind_execution_agentbind_public_agent)RunState)custom_spanget_current_trace   )
Capability)Memory)SandboxMemoryGenerationManager'get_or_create_memory_generation_manager)RolloutTerminalMetadatabuild_rollout_payload)clone_capabilitiesprepare_sandbox_agentprepare_sandbox_input)SandboxRuntimeSessionManager)SandboxAgent)BaseSandboxSession)Userc                  *    \ rS rSr% S\S'   S\S'   Srg)_SandboxPreparedAgent*   zAgentBindings[TContext]bindingsstr | list[TResponseInputItem]input N)__name__
__module____qualname____firstlineno____annotations____static_attributes__r-       h/home/rurouni/.local/share/pipx/venvs/strix-agent/lib/python3.13/site-packages/agents/sandbox/runtime.pyr(   r(   *   s    %%))r4   r(   c                 P    [        5       n U S L=(       a    U R                  5       S L$ N)r   export)current_traces    r5   _supports_trace_spansr:   0   s(    %'M$K)=)=)?t)KKr4   c                r    U R                   c  U R                  c  U R                  (       a  g U R                  $ r7   )_conversation_id_previous_response_id_auto_previous_response_id_original_input_for_persistence)results    r5   _stream_memory_input_overriderA   5   s4     	+''3,,111r4   c                      \ rS rSrSS.         SS jjr\SS j5       r\SS j5       rSS jrSS jr	SSS	.       SS
 jjr
            SS jrSS jrSS jr          SS jrSS jrSrg)SandboxRuntimeA   N
rollout_idc                   Ub  UR                   OS U l        Ub  UR                  OS U l        X0l        S U l        [        UU R                  US9U l        0 U l        0 U l	        g )N)starting_agentsandbox_config	run_state)
sandbox_sandbox_configmodel_run_config_model_rollout_id_active_memory_capabilityr#   _session_manager_prepared_agents_prepared_sessions)selfrH   
run_configrF   rJ   s        r5   __init__SandboxRuntime.__init__B   so     6@5Kz11QU5?5K!1!1QU &8<& <)//!

 =?ACr4   c                .    U R                   R                  $ r7   )rQ   enabledrT   s    r5   rY   SandboxRuntime.enabledX   s    $$,,,r4   c                .    U R                   R                  $ r7   )rQ   current_sessionrZ   s    r5   r]   SandboxRuntime.current_session\   s    $$444r4   c                z   ^ ^ T R                   nUTl        [        T[        5      (       a  SUU 4S jjnUTl        g g )Nc                   >#      TR                  T[        T5      S9I S h  vN   TR                  5       I S h  vN nUTl        S Tl        g  N+! [         a   n [        R	                  SU 5         S n A NNS n A ff = f NB! S Tl        f = f7f)N)input_overridez7Failed to enqueue sandbox memory after streamed run: %s)enqueue_memory_resultrA   	Exceptionloggerwarningcleanup_sandbox_resume_state_sandbox_session)errorpayloadr@   rT   s     r5   _cleanup_and_store@SandboxRuntime.apply_result_metadata.<locals>._cleanup_and_storee   s     3"88"+H+P 9    %)LLN2G3:F0.2F+ % UW\  3 /3F+sY   BA AA A? A=A? BA 
A:A50A? 5A::A? ?	BB)returnNone)r]   rh   
isinstancer   _sandbox_cleanup)rT   r@   sessionrk   s   ``  r5   apply_result_metadata$SandboxRuntime.apply_result_metadata`   s=    &&")f0113 3  '9F#% 2r4   c                `    [        U[        5      (       a  U R                  c  [        S5      eg g )Nz8SandboxAgent execution requires `RunConfig(sandbox=...)`)ro   r$   rL   r   rT   agents     r5   assert_agent_supported%SandboxRuntime.assert_agent_supportedw   s/    e\**t/C/C/KVWW 0L*r4   )	exceptionra   c                  #    U R                  5       nUb  U R                  c  g UR                  UUUU R                  S9I S h  vN   g  N7f)N)ry   ra   rF   )_memory_generation_managerrO   enqueue_result)rT   r@   ry   ra   managers        r5   rb   $SandboxRuntime.enqueue_memory_result{   sW      113?d..6$$)''	 % 
 	
 	
s   AAA	Ac                  #    U R                  5       nUb  U R                  c  g [        UUUUUS9nUR                  UU R                  S9I S h  vN   g  N7f)N)r,   	new_itemsfinal_outputinterruptionsterminal_metadatarE   )r{   rO   r   enqueue_rollout_payload)rT   r,   r   r   r   r   r}   rj   s           r5   enqueue_memory_payload%SandboxRuntime.enqueue_memory_payload   sl      113?d..6'%'/
 --'' . 
 	
 	
s   AAAAc                    U R                   nUb$  U R                  b  U R                  R                  c  g [        UU R                  S9$ )N)rq   memory)r]   rP   generater   )rT   rq   s     r5   r{   )SandboxRuntime._memory_generation_manager   sL    &&O--5--66>611
 	
r4   c                $    [        U5      U l        g r7   )_get_memory_capabilityrP   ru   s     r5   _set_active_memory_capability,SandboxRuntime._set_active_memory_capability   s    )?)F&r4   c                 #    U R                  U5        U R                  U5        [        U[        5      (       d  [	        [        U5      US9$ [        5       (       a  [        SSUR                  0S9O
[        S 5      nU   U R                  R                  U5        U R                  R                  [        U5      5      n[        UR                   5      nU R                  R#                  UUUS9I S h  vN nUb  U R$                  R                  [        U5      5      UL a  ['        [)        [        [*           U5      R                   [-        UR.                  5      5        [1        [)        [        [*           U5      R                   U5      n	[	        [3        UUS9U	S9sS S S 5        $ [-        UR.                  5      n
U H  nUR5                  U5        M     ['        Xz5        [1        Xr5      n	[7        UUUU R8                  S9nX`R                  [        U5      '   XR$                  [        U5      '   [	        [3        UUS9U	S9sS S S 5        $  GNW! , (       d  f       g = f7f)N)r*   r,   zsandbox.prepare_agent
agent_namedata)rv   capabilitiesis_resumed_state)public_agentexecution_agent)rv   rq   r   run_config_model)rw   r   ro   r$   r(   r   r:   r   namer   rQ   acquire_agentrR   getidr    r   ensure_sessionrS   _bind_capability_run_asr	   r   _coerce_run_as_userrun_asr"   r   bindr!   rN   )rT   current_agentcurrent_inputcontext_wrapperr   span_cmprepared_agentprepared_capabilitiesrq   prepared_inputr   
capabilitys               r5   prepare_agentSandboxRuntime.prepare_agent   s8     	##M2**=9-66(*=9#  %&&	 '"M$6$67
 T" 	 !!//>!2266r-7HIN$6}7Q7Q$R! 11@@#2!1 A  G *++//=0ABgM (h/@MM'(<(<= "7h/@MM!" -1%2(6 )/ WB ))=)=>F3
( 4#$9B23HXN2#2!%!7!7	N 8F!!"]"349@##B}$56(-!.$2 %] W	 Ws?   A=I?A3I2I	3B(I
I%BI?
I	I
IIc                  #    U R                   S L=(       d    [        U R                  5      nU(       a  [        5       (       a
  [	        S0 S9O
[        S 5      nU    U R                  R                  5       I S h  vN U R                  R                  5         U R                  R                  5         sS S S 5        $  NA! U R                  R                  5         U R                  R                  5         f = f! , (       d  f       g = f7f)Nzsandbox.cleanupr   )
r]   boolrS   r:   r   r   rQ   rf   rR   clear)rT   should_trace_cleanupr   s      r5   rf   SandboxRuntime.cleanup  s     #334?`4H_H_C` $(=(?(? )3T" 	
 0!22::<<%%++-''--/ W<%%++-''--/ WsH   ADC6B=9B;:B==4C61
D;B==6C33C66
D D)rP   rR   rS   rO   rN   rL   rQ   )
rH   Agent[TContext]rU   zRunConfig | NonerF   z
str | NonerJ   zRunState[TContext] | Nonerm   rn   rm   r   )rm   zBaseSandboxSession | None)r@   RunResult | RunResultStreamingrm   rn   )rv   r   rm   rn   )r@   r   ry   zBaseException | Nonera   z%str | list[TResponseInputItem] | Nonerm   rn   )r,   r+   r   	list[Any]r   objectr   r   r   r   rm   rn   )rm   z%SandboxMemoryGenerationManager | None)
r   r   r   r+   r   zRunContextWrapper[TContext]r   r   rm   z_SandboxPreparedAgent[TContext])rm   zdict[str, object] | None)r.   r/   r0   r1   rV   propertyrY   r]   rr   rw   rb   r   r{   r   r   rf   r3   r-   r4   r5   rC   rC   A   s9    "&D (D %	D
 D -D 
D, - - 5 59.X +/@D
.
 (	

 >
 

"
 .
 	

 
 !
 3
 

0
GL 'L 6	L
 5L L 
)L\0r4   rC   c                    [        U [        5      (       d  g U R                   H  n[        U[        5      (       d  M  Us  $    g r7   )ro   r$   r   r   )rv   r   s     r5   r   r     s:    e\**((
j&)) ) r4   c                J    U c  g [        U [        5      (       a  U $ [        U S9$ )N)r   )ro   r&   )r   s    r5   r   r     s'    ~&$Vr4   c                8    U  H  nUR                  U5        M     g r7   )bind_run_as)r   userr   s      r5   r   r   "  s    "
t$ #r4   r   )r@   r   rm   zlist[TResponseInputItem] | None)rv   r   rm   zMemory | None)r   zUser | str | Nonerm   User | None)r   zSequence[Capability]r   r   rm   rn   )D
__future__r   loggingcollections.abcr   
contextlibr   dataclassesr   typingr   r   r	   rv   r   
exceptionsr   itemsr   r@   r   r   rU   r   run_contextr   r   run_internal.agent_bindingsr   r   r   rJ   r   tracingr   r   r   r   capabilities.memoryr   memory.managerr   r   memory.rolloutsr   r   runtime_agent_preparationr    r!   r"   runtime_session_managerr#   sandbox_agentr$   session.base_sandbox_sessionr%   typesr&   	getLoggerr.   rd   r(   r:   rA   rC   r   r   r   r-   r4   r5   <module>r      s    "  $ " ! % %  " & 2 " 5 
 ! 4 $ ' c 
 B ' < 			8	$ *GH- * *
L
	2	2$	2M0WX& M0`%r4   