
    .Ui$                       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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d$%      Z$ G d& d'e      Z%eee%f   Z&ded(<   y))*    )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<   y)RealtimeClientMessagez&A raw message to be sent to the model.strtypeNotRequired[dict[str, Any]]
other_dataN__name__
__module____qualname____doc____annotations__     r/home/jay/workspace/tools/ai-image-gen/jaaz-app/server/venv/lib/python3.12/site-packages/agents/realtime/config.pyr   r   )   s    0
I"++'r#   r   c                  4    e Zd ZU dZded<   	 ded<   	 ded<   y)%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   s     E.aa)4r#   r&   c                      e Zd ZU dZded<   y)&RealtimeInputAudioNoiseReductionConfigz.Noise reduction configuration for input audio.z/NotRequired[Literal['near_field', 'far_field']]r   Nr   r"   r#   r$   r,   r,   @   s    8
997r#   r,   c                  p    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<   y)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   sM    D
<<6&&?DD0))A''=))H!!5%%_r#   r.   c                      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<   y)RealtimeSessionModelSettingsz,Model settings for a realtime model session.zNotRequired[RealtimeModelName]
model_namer'   instructionszNotRequired[Prompt]r*   z+NotRequired[list[Literal['text', 'audio']]]
modalitiesvoicer6   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:   r:   c   s    6..0"",*;;2,-UU-VV.QQ5![[8<<9((:""/(();;,r#   r:   c                      e Zd ZU dZded<   y)RealtimeGuardrailsSettingsz4Settings for output guardrails in realtime sessions.r3   debounce_text_lengthNr   r"   r#   r$   rJ   rJ      s    >**r#   rJ   c                  4    e Zd ZU dZded<   	 ded<   	 ded<   y)RealtimeModelTracingConfigz5Configuration for tracing in realtime model sessions.r'   workflow_namegroup_idr   metadataNr   r"   r#   r$   rM   rM      s     ?##/R))8r#   rM   c                  @    e Zd ZU dZded<   	 ded<   	 ded<   	 ded	<   y
)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$   rR   rR      s)    ===2>>D@@+''3r#   rR   c                  (    e Zd ZU dZded<   	 ded<   y)RealtimeUserInputTextzA text input from the user.zLiteral['input_text']r   r   textNr   r"   r#   r$   rX   rX      s    %
-
I)r#   rX   c                  0    e Zd ZU dZded<   ded<   ded<   y)	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[   r[      s    2
  N==r#   r[   F)totalc                  4    e Zd ZU dZded<   	 ded<   	 ded<   y)	RealtimeUserInputMessagezA message input from the user.zLiteral['message']r   zLiteral['user']rolez4list[RealtimeUserInputText | RealtimeUserInputImage]contentNr   r"   r#   r$   r`   r`      s     (
1
0AA@r#   r`   RealtimeUserInputN)'
__future__r   typingr   r   r   ,openai.types.realtime.realtime_audio_formatsr   OpenAIRealtimeAudioFormatstyping_extensionsr   r	   r
   agents.promptsr   	guardrailr   rG   r   rS   r   toolr   r   r   r!   r   r   r&   r,   r.   r:   rJ   rM   rR   rX   r[   r`   rc   r"   r#   r$   <module>rl      s$   "  @ ? ! '  ' $	3	 
	  9  $ "'w/P'QSV'V!W Y W 2(I (
5I 
58Y 8`) `8.-9 .-b 
9 
94	 4$*I *>Ye >
Ay 
A  %S*B%BC 9 C <r#   