o
    h                     @   s   U d dl Z d dlmZmZ ddlmZ er!ddlmZ ddlmZ e j	ddd	Z
e j	d
 ed< e j	ddd	Ze j	d ed< G dd dZdS )    N)TYPE_CHECKINGAny   )logger   )Span)Tracecurrent_span)defaultSpan[Any] | None_current_spancurrent_traceTrace | None_current_tracec                   @   sd   e Zd ZdZedddZeddd	ZedddZedddZedddZ	edddZ
dS )Scopez<
    Manages the current span and trace in the context.
    returnr   c                 C      t  S N)r   getcls r   U/var/www/html/openai_agents/venv/lib/python3.10/site-packages/agents/tracing/scope.pyget_current_span      zScope.get_current_spanspan#contextvars.Token[Span[Any] | None]c                 C   s
   t |S r   )r   set)r   r   r   r   r   set_current_span   s   
zScope.set_current_spantokenNc                 C   s   t | d S r   )r   resetr   r   r   r   r   reset_current_span!   s   zScope.reset_current_spanr   c                 C   r   r   )r   r   r   r   r   r   get_current_trace%   r   zScope.get_current_tracetracecontextvars.Token[Trace | None]c                 C   s$   t d|r|jnd   t|S )NzSetting current trace: )r   debugtrace_idr   r   )r   r$   r   r   r   set_current_trace)   s   
zScope.set_current_tracec                 C   s   t d t| d S )NzResetting current trace)r   r&   r   r    r!   r   r   r   reset_current_trace.   s   
zScope.reset_current_trace)r   r   )r   r   r   r   )r   r   r   N)r   r   )r$   r   r   r%   )r   r%   r   N)__name__
__module____qualname____doc__classmethodr   r   r"   r#   r(   r)   r   r   r   r   r      s    r   )contextvarstypingr   r   r   spansr   tracesr   
ContextVarr   __annotations__r   r   r   r   r   r   <module>   s   
