
    Cj                       S SK Jr  S SKJr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Jr  SSKJrJr  SS	KJr  \(       a  SS
KJr  SSKJr  SSKJr  SSKJr  SS jrSS jrSS jr \!" 5       r"\ " S S\\   5      5       r#g)    )annotations)	dataclassfieldfields)TYPE_CHECKINGAnycast)ResponseFunctionToolCall   )get_tool_call_namespacetool_trace_name)get_agent_tool_state_scopeset_agent_tool_state_scope)RunContextWrapperTContext)Usage)	AgentBase)TResponseInputItem)	RunConfig)_ApprovalRecordc                     [        S5      e)Nz*tool_call_id must be passed to ToolContext
ValueError     e/home/rurouni/.local/share/pipx/venvs/strix-agent/lib/python3.13/site-packages/agents/tool_context.py_assert_must_pass_tool_call_idr      s    
A
BBr   c                     [        S5      e)Nz'tool_name must be passed to ToolContextr   r   r   r   _assert_must_pass_tool_namer      s    
>
??r   c                     [        S5      e)Nz,tool_arguments must be passed to ToolContextr   r   r   r    _assert_must_pass_tool_argumentsr!      s    
C
DDr   c                  l  ^  \ rS rSr% Sr\" \S9rS\S'    \" \	S9r
S\S'    \" \S9rS\S'    SrS	\S
'    SrS\S'    SrS\S'    SrS\S'    \\\\S4SSSSSSS.                         SU 4S jjjjr\SS j5       r\  SSSSSS.                 SS jjj5       rSrU =r$ )ToolContext#   zThe context of a tool call.)default_factorystr	tool_nametool_call_idtool_argumentsNResponseFunctionToolCall | None	tool_call
str | Nonetool_namespaceAgentBase[Any] | NoneagentRunConfig | None
run_config)r-   r/   r1   
turn_input
_approvals
tool_inputc                 > U[         L a
  [        5       O[        [        U5      n[        TU ]  UU[        U
=(       d    / 5      Uc  0 OUUS9  U[         L a
  [        5       O[        [        U5      U l        U[         L a
  [        5       O[        [        U5      U l
        U[         L a
  [        5       O[        [        U5      U l        X`l        [        U[        5      (       a  UO
[        U5      U l        Xl        Xl        g)zLPreserve the v0.7 positional constructor while accepting new context fields.N)contextusager2   r3   r4   )_MISSINGr   r	   super__init__listr   r&   r'   r!   r)   r   r(   r+   
isinstancer   r-   r/   r1   )selfr6   r7   r'   r(   r)   r+   r-   r/   r1   r2   r3   r4   resolved_usage	__class__s                 r   r:   ToolContext.__init__<   s    " %*X$54u;M J,"-'/rZ! 	 	
 .7(-B')SR[H\ 	
 ) -.c>* 	 x' +,c<( 	
 # .#.. (3 	
 
$r   c                h    [        U R                  U R                  5      =(       d    U R                  $ )z;Return the tool name qualified by namespace when available.)r   r'   r-   )r=   s    r   qualified_tool_nameToolContext.qualified_tool_namek   s$     t~~t/B/BCUt~~Ur   )r'   r)   r-   r1   c                  [        [        5       V	s0 s H5  oR                  (       d  M  U	R                  [	        XR                  5      _M7     n
n	Ub  UOUb  UR                  O	[        5       nUb  UOUb  UR                  O	[        5       nUnUc!  [        U[        5      (       a  UR                  nUnUc!  [        U[        5      (       a  UR                  nU " SUUUU[        U[        5      (       a  UO1Ub-  [        [	        USS5      [        5      (       a  [	        USS5      OSUUS.U
D6n[        U[        U5      5        U$ s  sn	f )z0
Create a ToolContext from a RunContextWrapper.
N	namespace)r'   r(   r)   r+   r-   r/   r1   r   )r   r   initnamegetattrr   	argumentsr!   r<   r#   r/   r1   r&   r   r   )clsr6   r(   r+   r/   r'   r)   r-   r1   fbase_valuesresolved_tool_nameresolved_tool_args
tool_agenttool_run_configtool_contexts                   r   from_agent_contextToolContext.from_agent_contextp   sb   $ 7==N6O'
6OSYSY,AFFGGVV,,6O 	 '

 $ $-$9)..?Z?\ 	 )  (1'<	##BbBd	 	 
*Wk"B"B J$"z';'G'G%00O 
(%- nc22  !,"79k4#H#NN I{D9  &!
" #
& 	#<1KG1TUU'
s
   E$E)r/   r1   r)   r+   r(   r'   r-   )r6   r   r7   zUsage | objectr'   str | objectr(   rT   r)   rT   r+   r*   r-   r,   r/   r.   r1   r0   r2   zlist[TResponseInputItem] | Noner3   z!dict[str, _ApprovalRecord] | Noner4   z
Any | NonereturnNonerU   r&   )NN)r6   zRunContextWrapper[TContext]r(   r&   r+   r*   r/   r.   r'   r,   r)   r,   r-   r,   r1   r0   rU   r#   )__name__
__module____qualname____firstlineno____doc__r   r   r'   __annotations__r   r(   r!   r)   r+   r-   r/   r1   r8   r:   propertyrB   classmethodrR   __static_attributes____classcell__)r?   s   @r   r#   r#   #   s   %+FGIsG-.LML#M"0PQNCQ415I.5?!%NJ%G#'E '>#'J 'C
 !)"*%-'/59-% &*'+'+6:8<!%-%-% -%  	-%
 #-% %-% 3-% #-% %-% %-% 4-% 6-% -% 
-% -%^ V V 
 6:'+: !%%)%)'+:,: : 3	:
 %: : #: #: %: 
: :r   r#   NrW   )$
__future__r   dataclassesr   r   r   typingr   r   r	   openai.types.responsesr
   _tool_identityr   r   agent_tool_stater   r   run_contextr   r   r7   r   r/   r   itemsr   r1   r   r   r   r   r!   objectr8   r#   r   r   r   <module>rk      sq    " 0 0 + + ; D T 4  )%,C@E 8 G#H- G Gr   