o
    h                     @  s  U d dl mZ d dlmZ d dlmZmZmZ d dlm	Z	 ddl
mZ ed Zded	< eG d
d dZeG dd dZeG dd dZeG dd dZeG dd dZeG dd dZeG dd dZeG dd dZeG dd dZeG dd dZeG dd dZeG d d! d!ZeG d"d# d#ZeG d$d% d%ZeG d&d' d'ZeG d(d) d)Zeeeeeeeeeeeeeeeeef Zded*< d+S ),    )annotations)	dataclass)AnyLiteralUnion)	TypeAlias   )RealtimeItem)
connecting	connecteddisconnectedr   RealtimeConnectionStatusc                   @  s&   e Zd ZU dZded< dZded< dS )RealtimeModelErrorEventu%   Represents a transport‑layer error.r   errorzLiteral['error']typeN__name__
__module____qualname____doc____annotations__r    r   r   ]/var/www/html/openai_agents/venv/lib/python3.10/site-packages/agents/realtime/model_events.pyr         
 r   c                   @  sN   e Zd ZU dZded< ded< ded< dZded< dZded	< d
Zded< dS )RealtimeModelToolCallEventz%Model attempted a tool/function call.strnamecall_id	argumentsN
str | Noneidprevious_item_idfunction_callzLiteral['function_call']r   )r   r   r   r   r   r    r!   r   r   r   r   r   r      s   
 r   c                   @  sB   e Zd ZU dZded< ded< ded< 	 ded< 	 d	Zd
ed< dS )RealtimeModelAudioEventz%Raw audio bytes emitted by the model.bytesdatar   response_iditem_idintcontent_indexaudiozLiteral['audio']r   Nr   r   r   r   r   r#   $   s   
 r#   c                   @  2   e Zd ZU dZded< 	 ded< 	 dZded< d	S )
"RealtimeModelAudioInterruptedEventzAudio interrupted.r   r'   r(   r)   audio_interruptedzLiteral['audio_interrupted']r   Nr   r   r   r   r   r,   4      
 r,   c                   @  r+   )
RealtimeModelAudioDoneEventzAudio done.r   r'   r(   r)   
audio_donezLiteral['audio_done']r   Nr   r   r   r   r   r/   A   r.   r/   c                   @  s.   e Zd ZU dZded< ded< dZded< dS )	2RealtimeModelInputAudioTranscriptionCompletedEventz$Input audio transcription completed.r   r'   
transcript#input_audio_transcription_completedz.Literal['input_audio_transcription_completed']r   Nr   r   r   r   r   r1   N   s
   
 r1   c                   @  s6   e Zd ZU dZded< ded< ded< dZded	< d
S ),RealtimeModelInputAudioTimeoutTriggeredEventzInput audio timeout triggered.r   r'   r(   audio_start_msaudio_end_msinput_audio_timeout_triggeredz(Literal['input_audio_timeout_triggered']r   Nr   r   r   r   r   r4   X      
 r4   c                   @  s6   e Zd ZU dZded< ded< ded< dZded< d	S )
!RealtimeModelTranscriptDeltaEventzPartial transcript update.r   r'   deltar&   transcript_deltazLiteral['transcript_delta']r   Nr   r   r   r   r   r9   c   r8   r9   c                   @  &   e Zd ZU dZded< dZded< dS )RealtimeModelItemUpdatedEventz%Item added to the history or updated.r	   itemitem_updatedzLiteral['item_updated']r   Nr   r   r   r   r   r=   n   r   r=   c                   @  r<   )RealtimeModelItemDeletedEventzItem deleted from the history.r   r'   item_deletedzLiteral['item_deleted']r   Nr   r   r   r   r   r@   w   r   r@   c                   @  r<   )"RealtimeModelConnectionStatusEventzConnection status changed.r   statusconnection_statuszLiteral['connection_status']r   Nr   r   r   r   r   rB      r   rB   c                   @     e Zd ZU dZdZded< dS )RealtimeModelTurnStartedEventzATriggered when the model starts generating a response for a turn.turn_startedzLiteral['turn_started']r   Nr   r   r   r   r   r   r   r   r   r   rF         
 rF   c                   @  rE   )RealtimeModelTurnEndedEventzCTriggered when the model finishes generating a response for a turn.
turn_endedzLiteral['turn_ended']r   NrH   r   r   r   r   rJ      rI   rJ   c                   @  r<   )RealtimeModelOtherEventz.Used as a catchall for vendor-specific events.r   r%   otherzLiteral['other']r   Nr   r   r   r   r   rL      r   rL   c                   @  s2   e Zd ZU dZded< dZded< dZded< dS )	RealtimeModelExceptionEventz*Exception occurred during model operation.	Exception	exceptionNr   contextzLiteral['exception']r   )r   r   r   r   r   rQ   r   r   r   r   r   rN      s
   
 rN   c                   @  r<   )RealtimeModelRawServerEventz%Raw events forwarded from the server.r   r%   raw_server_eventzLiteral['raw_server_event']r   Nr   r   r   r   r   rR      r   rR   RealtimeModelEventN)
__future__r   dataclassesr   typingr   r   r   typing_extensionsr   itemsr	   r   r   r   r   r#   r,   r/   r1   r4   r9   r=   r@   rB   rF   rJ   rL   rN   rR   rT   r   r   r   r   <module>   sr    	

	