
    Cj>                        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
JrJrJrJr  SS jr              SS jrS	S
S.                 SS jjr " S S5      rg	)    )annotations)Any   )TracingConfig)get_current_tracetrace)Trace
TraceState_hash_tracing_api_key_trace_id_was_startedreattach_tracec                .    U b  U R                  S5      $ S $ )Napi_key)get)tracings    h/home/rurouni/.local/share/pipx/venvs/strix-agent/lib/python3.13/site-packages/agents/tracing/context.py_get_tracing_api_keyr      s    %,%87;;y!BdB    c                D   U R                   b  U R                   U:w  a  gU R                  U:w  a  gU R                  U:w  a  gU R                  U:w  a  g[	        U5      nU R
                  b  U R
                  U:H  $ U R                  b  U R                  [        U5      :H  $ US L $ NF)trace_idworkflow_namegroup_idmetadatar   tracing_api_keytracing_api_key_hashr   )trace_stater   r   r   r   r   r   s          r   '_trace_state_matches_effective_settingsr      s     #{';';x'G  M1x'x'*73O"".**o==''3 //3H3YYYd""r   NF)r   reattach_resumed_tracec           	         [        5       nU(       a  gU(       aJ  U(       dC  Ub@  [        UR                  5      (       a&  [        UU UUUUS9(       a  [	        U[        U5      S9$ [        U UUUUUS9$ )zBReturn a trace object for this run when one is not already active.N)r   r   r   r   r   r   )r   )r   r   r   r   r   disabled)r   r   r   r   r   r   r   )	r   r   r   r   r   r!   r   r   current_traces	            r   create_trace_for_runr#   /   s     &'M 	#!+"6"6773#'
 k;OPW;XYY# r   c                  X    \ rS rSrSr  S               S	S jjrS
S jrS rSrg)TraceCtxManager[   zCCreate a trace when none exists and manage its lifecycle for a run.Nc	                r    S U l         Xl        X l        X0l        X@l        XPl        X`l        Xpl        Xl        g )N)	r   r   r   r   r   r   r!   r   r   )	selfr   r   r   r   r   r!   r   r   s	            r   __init__TraceCtxManager.__init__^   s6     $(
*    &&<#r   c                B   [        U R                  U R                  U R                  U R                  U R
                  U R                  U R                  U R                  S9U l	        U R                  (       a(  U R                  c   eU R                  R                  SS9  U $ )N)r   r   r   r   r   r!   r   r   T)mark_as_current)r#   r   r   r   r   r   r!   r   r   r   start)r(   s    r   	__enter__TraceCtxManager.__enter__s   s    ),,]]]]]]LL]]((#'#>#>	

 ::::)))JJT2r   c                Z    U R                   (       a  U R                   R                  SS9  g g )NT)reset_current)r   finish)r(   exc_typeexc_valexc_tbs       r   __exit__TraceCtxManager.__exit__   s#    ::JJD1 r   )	r!   r   r   r   r   r   r   r   r   r   )r   strr   
str | Noner   r9   r   dict[str, Any] | Noner   TracingConfig | Noner!   boolr   TraceState | Noner   r<   )returnr%   )	__name__
__module____qualname____firstlineno____doc__r)   r.   r6   __static_attributes__ r   r   r%   r%   [   sj    M *.',== = 	=
 (= &= = '= !%=* 2r   r%   )r   r;   r>   r9   )r   r
   r   r8   r   r9   r   r9   r   r:   r   r;   r>   r<   )r   r8   r   r9   r   r9   r   r:   r   r;   r!   r<   r   r=   r   r<   r>   zTrace | None)
__future__r   typingr   configr   creater   r   tracesr	   r
   r   r   r   r   r   r#   r%   rE   r   r   <module>rK      s    "  ! , C## # 	#
 # $# "# 
#F &*#()) ) 	)
 $) ") ) #) !) )X*2 *2r   