o
    h$                     @  s~  U d dl mZ d dlmZmZ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 ddlmZ dd	lmZ dd
lmZ eed ef Zded< 	 eed ef Zded< 	 G dd deZG dd deZG dd deZG dd deZG dd deZG dd deZ G dd deZ!G dd deZ"G d d! d!eZ#G d"d# d#ed$d%Z$G d&d' d'eZ%eee%f Z&ded(< d)S )*    )annotations)AnyLiteralUnion)RealtimeAudioFormats)NotRequired	TypeAlias	TypedDict)Prompt   )OutputGuardrail)Handoff)
ToolChoice)Tool)zgpt-realtimezgpt-realtime-2025-08-28zgpt-4o-realtime-previewzgpt-4o-mini-realtime-previewz"gpt-4o-realtime-preview-2025-06-03z"gpt-4o-realtime-preview-2024-12-17z"gpt-4o-realtime-preview-2024-10-01z'gpt-4o-mini-realtime-preview-2024-12-17r   RealtimeModelName)pcm16	g711_ulaw	g711_alawRealtimeAudioFormatc                   @  $   e Zd ZU dZded< 	 ded< dS )RealtimeClientMessagez&A raw message to be sent to the model.strtypeNotRequired[dict[str, Any]]
other_dataN__name__
__module____qualname____doc____annotations__ r!   r!   W/var/www/html/openai_agents/venv/lib/python3.10/site-packages/agents/realtime/config.pyr   )      
 r   c                   @  s.   e Zd ZU dZded< 	 ded< 	 ded< dS )%RealtimeInputAudioTranscriptionConfigz;Configuration for audio transcription in realtime sessions.NotRequired[str]languagezVNotRequired[Literal['gpt-4o-transcribe', 'gpt-4o-mini-transcribe', 'whisper-1'] | str]modelpromptNr   r!   r!   r!   r"   r$   3      
 r$   c                   @     e Zd ZU dZded< dS )&RealtimeInputAudioNoiseReductionConfigz.Noise reduction configuration for input audio.z/NotRequired[Literal['near_field', 'far_field']]r   Nr   r!   r!   r!   r"   r+   @      
 r+   c                   @  s`   e Zd ZU dZded< 	 ded< 	 ded< 	 ded< 	 d	ed
< 	 d	ed< 	 ded< 	 d	ed< dS )RealtimeTurnDetectionConfigz:Turn detection config. Allows extra vendor keys if needed.z2NotRequired[Literal['semantic_vad', 'server_vad']]r   NotRequired[bool]create_responsez5NotRequired[Literal['auto', 'low', 'medium', 'high']]	eagernessinterrupt_responseNotRequired[int]prefix_padding_mssilence_duration_msNotRequired[float]	thresholdidle_timeout_msNr   r!   r!   r!   r"   r-   G   s$   
 r-   c                   @  s   e Zd ZU dZded< 	 ded< 	 ded< 	 ded	< 	 ded
< 	 ded< 	 ded< 	 ded< 	 ded< 	 ded< 	 ded< 	 ded< 	 ded< 	 ded< 	 ded< dS )RealtimeSessionModelSettingsz,Model settings for a realtime model session.zNotRequired[RealtimeModelName]
model_namer%   instructionszNotRequired[Prompt]r(   z+NotRequired[list[Literal['text', 'audio']]]
modalitiesvoicer5   speedz=NotRequired[RealtimeAudioFormat | OpenAIRealtimeAudioFormats]input_audio_formatoutput_audio_formatz2NotRequired[RealtimeInputAudioTranscriptionConfig]input_audio_transcriptionz:NotRequired[RealtimeInputAudioNoiseReductionConfig | None]input_audio_noise_reductionz(NotRequired[RealtimeTurnDetectionConfig]turn_detectionzNotRequired[ToolChoice]tool_choicezNotRequired[list[Tool]]toolszNotRequired[list[Handoff]]handoffsz.NotRequired[RealtimeModelTracingConfig | None]tracingNr   r!   r!   r!   r"   r8   c   s@   
 r8   c                   @  r*   )RealtimeGuardrailsSettingsz4Settings for output guardrails in realtime sessions.r2   debounce_text_lengthNr   r!   r!   r!   r"   rG      r,   rG   c                   @  s.   e Zd ZU dZded< 	 ded< 	 ded< dS )RealtimeModelTracingConfigz5Configuration for tracing in realtime model sessions.r%   workflow_namegroup_idr   metadataNr   r!   r!   r!   r"   rI      r)   rI   c                   @  s8   e Zd ZU dZded< 	 ded< 	 ded< 	 ded	< d
S )RealtimeRunConfigz3Configuration for running a realtime agent session.z)NotRequired[RealtimeSessionModelSettings]model_settingsz'NotRequired[list[OutputGuardrail[Any]]]output_guardrailsz'NotRequired[RealtimeGuardrailsSettings]guardrails_settingsr.   tracing_disabledNr   r!   r!   r!   r"   rM      s   
 rM   c                   @  r   )RealtimeUserInputTextzA text input from the user.zLiteral['input_text']r   r   textNr   r!   r!   r!   r"   rR      r#   rR   c                   @  s*   e Zd ZU dZded< ded< ded< dS )	RealtimeUserInputImagez(An image input from the user (Realtime).zLiteral['input_image']r   r   	image_urlz1NotRequired[Literal['auto', 'low', 'high'] | str]detailNr   r!   r!   r!   r"   rT      s
   
 rT   F)totalc                   @  s.   e Zd ZU dZded< 	 ded< 	 ded< dS )	RealtimeUserInputMessagezA message input from the user.zLiteral['message']r   zLiteral['user']rolez4list[RealtimeUserInputText | RealtimeUserInputImage]contentNr   r!   r!   r!   r"   rX      r)   rX   RealtimeUserInputN)'
__future__r   typingr   r   r   ,openai.types.realtime.realtime_audio_formatsr   OpenAIRealtimeAudioFormatstyping_extensionsr   r   r	   agents.promptsr
   	guardrailr   rE   r   rN   r   toolr   r   r   r    r   r   r$   r+   r-   r8   rG   rI   rM   rR   rT   rX   r[   r!   r!   r!   r"   <module>   s@    

1
