
    .h9#                       d dl mZ d dlZd dlmZmZ d dlmZmZ erd dl	m
Z
mZ  G d dej                  Z G d d	e          Z G d
 de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          ZdS )    )annotationsN)MappingSequence)TYPE_CHECKINGAny)ResponseResponseInputItemParamc                  f    e Zd ZdZej        dd            Zeej        d	d                        ZdS )
SpanDataz,
    Represents span data in the trace.
    returndict[str, Any]c                    dS )z%Export the span data as a dictionary.N selfs    U/var/www/FlaskApp/flask-venv/lib/python3.11/site-packages/agents/tracing/span_data.pyexportzSpanData.export   s	     	    strc                    dS )zReturn the type of the span.Nr   r   s    r   typezSpanData.type   s	     	r   Nr   r   r   r   )	__name__
__module____qualname____doc__abcabstractmethodr   propertyr   r   r   r   r   r      sp          	        X  r   r   c                  F    e Zd ZdZdZ	 	 	 dddZedd            ZddZdS )AgentSpanDataze
    Represents an Agent Span in the trace.
    Includes name, handoffs, tools, and output type.
    namehandoffstoolsoutput_typeNr$   r   r%   list[str] | Noner&   r'   
str | Nonec                >    || _         || _        || _        || _        d S Nr#   )r   r$   r%   r&   r'   s        r   __init__zAgentSpanData.__init__$   s'     	*2',
'2r   r   c                    dS )Nagentr   r   s    r   r   zAgentSpanData.type0   s    wr   r   c                D    | j         | j        | j        | j        | j        dS )Nr   r$   r%   r&   r'   r0   r   s    r   r   zAgentSpanData.export4   s+    IIZ+
 
 	
r   )NNN)r$   r   r%   r(   r&   r(   r'   r)   r   r   	r   r   r   r   	__slots__r,   r    r   r   r   r   r   r"   r"      s}         
 =I
 &*"&"&
3 
3 
3 
3 
3    X
 
 
 
 
 
r   r"   c                  B    e Zd ZdZdZ	 dddZedd            ZddZdS )FunctionSpanDatazk
    Represents a Function Span in the trace.
    Includes input, output and MCP data (if applicable).
    r$   inputoutputmcp_dataNr$   r   r6   r)   r7   
Any | Noner8   dict[str, Any] | Nonec                >    || _         || _        || _        || _        d S r+   r5   )r   r$   r6   r7   r8   s        r   r,   zFunctionSpanData.__init__F   s$     	
 r   r   c                    dS )Nfunctionr   r   s    r   r   zFunctionSpanData.typeR       zr   r   c                p    | j         | j        | j        | j        rt	          | j                  nd | j        dS )N)r   r$   r6   r7   r8   )r   r$   r6   r7   r   r8   r   s    r   r   zFunctionSpanData.exportV   s>    IIZ*.+?c$+&&&4
 
 	
r   r+   )r$   r   r6   r)   r7   r9   r8   r:   r   r   r1   r   r   r   r4   r4   >   sw         
 8I +/
! 
! 
! 
! 
!    X
 
 
 
 
 
r   r4   c                  J    e Zd ZdZdZ	 	 	 	 	 dddZedd            ZddZdS )GenerationSpanDatazw
    Represents a Generation Span in the trace.
    Includes input, output, model, model configuration, and usage.
    r6   r7   modelmodel_configusageNr6   "Sequence[Mapping[str, Any]] | Noner7   rC   r)   rD   Mapping[str, Any] | NonerE   r:   c                L    || _         || _        || _        || _        || _        d S r+   rB   )r   r6   r7   rC   rD   rE   s         r   r,   zGenerationSpanData.__init__n   s,     

(


r   r   r   c                    dS )N
generationr   r   s    r   r   zGenerationSpanData.type|   s    |r   r   c                P    | j         | j        | j        | j        | j        | j        dS )Nr   r6   r7   rC   rD   rE   rL   r   s    r   r   zGenerationSpanData.export   s0    IZkZ -Z
 
 	
r   )NNNNN)
r6   rF   r7   rF   rC   r)   rD   rG   rE   r:   r   r   r1   r   r   r   rA   rA   `   s         
I 5959 15'+        X
 
 
 
 
 
r   rA   c                  D    e Zd ZdZdZ	 	 ddd
Zedd            ZddZdS )ResponseSpanDatazS
    Represents a Response Span in the trace.
    Includes response and input.
    responser6   NrP   Response | Noner6   )str | list[ResponseInputItemParam] | Noner   Nonec                "    || _         || _        d S r+   rO   )r   rP   r6   s      r   r,   zResponseSpanData.__init__   s    
 ! 


r   r   c                    dS )NrP   r   r   s    r   r   zResponseSpanData.type   r>   r   r   c                <    | j         | j        r| j        j        nd dS )N)r   response_id)r   rP   idr   s    r   r   zResponseSpanData.export   s*    I/3}F4=++$
 
 	
r   NN)rP   rQ   r6   rR   r   rS   r   r   r1   r   r   r   rN   rN      sz         
 &I %);?        X
 
 
 
 
 
r   rN   c                  >    e Zd ZdZdZddZedd	            ZddZdS )HandoffSpanDataz]
    Represents a Handoff Span in the trace.
    Includes source and destination agents.
    
from_agentto_agentr]   r)   r^   c                "    || _         || _        d S r+   r\   )r   r]   r^   s      r   r,   zHandoffSpanData.__init__   s    $ r   r   r   c                    dS )Nhandoffr   r   s    r   r   zHandoffSpanData.type   s    yr   r   c                ,    | j         | j        | j        dS )Nr   r]   r^   rc   r   s    r   r   zHandoffSpanData.export   s     I/
 
 	
r   N)r]   r)   r^   r)   r   r   r1   r   r   r   r[   r[      sm         
 +I! ! ! !    X
 
 
 
 
 
r   r[   c                  >    e Zd ZdZdZddZedd	            Zdd
ZdS )CustomSpanDatazY
    Represents a Custom Span in the trace.
    Includes name and data property bag.
    r$   datar$   r   rg   r   c                "    || _         || _        d S r+   rf   )r   r$   rg   s      r   r,   zCustomSpanData.__init__   s    				r   r   c                    dS )Ncustomr   r   s    r   r   zCustomSpanData.type       xr   c                ,    | j         | j        | j        dS )Nr   r$   rg   rm   r   s    r   r   zCustomSpanData.export   s     III
 
 	
r   N)r$   r   rg   r   r   r   r1   r   r   r   re   re      sm         
 !I       X
 
 
 
 
 
r   re   c                  @    e Zd ZdZdZdddZedd
            ZddZdS )GuardrailSpanDataz[
    Represents a Guardrail Span in the trace.
    Includes name and triggered status.
    r$   	triggeredFr$   r   rq   boolc                "    || _         || _        d S r+   rp   )r   r$   rq   s      r   r,   zGuardrailSpanData.__init__   s    	"r   r   c                    dS )N	guardrailr   r   s    r   r   zGuardrailSpanData.type       {r   r   c                ,    | j         | j        | j        dS )Nr   r$   rq   rx   r   s    r   r   zGuardrailSpanData.export   s     II
 
 	
r   N)F)r$   r   rq   rr   r   r   r1   r   r   r   ro   ro      sr         
 &I# # # # #    X
 
 
 
 
 
r   ro   c                  J    e Zd ZdZdZ	 	 	 	 	 dddZedd            ZddZdS )TranscriptionSpanDatazs
    Represents a Transcription Span in the trace.
    Includes input, output, model, and model configuration.
    )r6   r7   rC   rD   Npcmr6   r)   input_formatr7   rC   rD   rG   c                L    || _         || _        || _        || _        || _        d S r+   )r6   r|   r7   rC   rD   )r   r6   r|   r7   rC   rD   s         r   r,   zTranscriptionSpanData.__init__   s/     
(
(r   r   r   c                    dS )Ntranscriptionr   r   s    r   r   zTranscriptionSpanData.type  s    r   r   c                X    | j         | j        pd| j        d| j        | j        | j        dS )N rg   format)r   r6   r7   rC   rD   )r   r6   r|   r7   rC   rD   r   s    r   r   zTranscriptionSpanData.export  sB    I
(b+  kZ -	
 	
 		
r   )Nr{   NNN)
r6   r)   r|   r)   r7   r)   rC   r)   rD   rG   r   r   r1   r   r   r   rz   rz      s         
I !#(! 15) ) ) ) )    X

 

 

 

 

 

r   rz   c                  L    e Zd ZdZdZ	 	 	 	 	 	 dddZedd            ZddZdS )SpeechSpanDataz
    Represents a Speech Span in the trace.
    Includes input, output, model, model configuration, and first content timestamp.
    )r6   r7   rC   rD   first_content_atNr{   r6   r)   r7   output_formatrC   rD   rG   r   c                Z    || _         || _        || _        || _        || _        || _        d S r+   )r6   r7   r   rC   rD   r   )r   r6   r7   r   rC   rD   r   s          r   r,   zSpeechSpanData.__init__$  s7     
*
( 0r   r   r   c                    dS )Nspeechr   r   s    r   r   zSpeechSpanData.type4  rk   r   r   c                d    | j         | j        | j        pd| j        d| j        | j        | j        dS )Nr   r   )r   r6   r7   rC   rD   r   )r   r6   r7   r   rC   rD   r   r   s    r   r   zSpeechSpanData.export8  sH    IZ)r,  Z - $ 5

 

 
	
r   )NNr{   NNN)r6   r)   r7   r)   r   r)   rC   r)   rD   rG   r   r)   r   r   r1   r   r   r   r   r     s         
 QI !!$) 15'+1 1 1 1 1     X
 
 
 
 
 
r   r   c                  B    e Zd ZdZdZ	 dddZedd            Zdd
ZdS )SpeechGroupSpanDataz6
    Represents a Speech Group Span in the trace.
    r6   Nr)   c                    || _         d S r+   )r6   )r   r6   s     r   r,   zSpeechGroupSpanData.__init__M  s     


r   r   r   c                    dS )Nspeech_groupr   r   s    r   r   zSpeechGroupSpanData.typeS  s    ~r   r   c                     | j         | j        dS )Nr   r6   r   r   s    r   r   zSpeechGroupSpanData.exportW  s    IZ
 
 	
r   r+   )r6   r)   r   r   r1   r   r   r   r   r   F  sw          I !        X
 
 
 
 
 
r   r   c                  @    e Zd ZdZdZdddZedd            ZddZdS )MCPListToolsSpanDatazY
    Represents an MCP List Tools Span in the trace.
    Includes server and result.
    serverresultNr   r)   r   r(   c                "    || _         || _        d S r+   r   )r   r   r   s      r   r,   zMCPListToolsSpanData.__init__i  s    r   r   r   c                    dS )N	mcp_toolsr   r   s    r   r   zMCPListToolsSpanData.typem  rv   r   r   c                ,    | j         | j        | j        dS )Nr   r   r   r   r   s    r   r   zMCPListToolsSpanData.exportq  s     Ikk
 
 	
r   rY   )r   r)   r   r(   r   r   r1   r   r   r   r   r   ^  sr         
I
        X
 
 
 
 
 
r   r   )
__future__r   r   collections.abcr   r   typingr   r   openai.types.responsesr   r	   ABCr   r"   r4   rA   rN   r[   re   ro   rz   r   r   r   r   r   r   <module>r      sz   " " " " " " 



 - - - - - - - - % % % % % % % % HGGGGGGGG    sw   "
 
 
 
 
H 
 
 
D
 
 
 
 
x 
 
 
D(
 (
 (
 (
 (
 (
 (
 (
V
 
 
 
 
x 
 
 
:
 
 
 
 
h 
 
 
0
 
 
 
 
X 
 
 
0
 
 
 
 
 
 
 
0)
 )
 )
 )
 )
H )
 )
 )
X'
 '
 '
 '
 '
X '
 '
 '
T
 
 
 
 
( 
 
 
0
 
 
 
 
8 
 
 
 
 
r   