
    CjP!                    $   % S SK Jr  S SKJr  S SKJrJrJr  S SKJ	r
  S SKJrJr  S SKJr  SSKJr  SS	KJr  SS
KJr  SSKJr  SSKJr  \S   \-  rS\S'    \S   \-  \\\4   -  \
-  rS\S'     " S S\5      r " S S\5      r " S S\5      r  " S S\5      r! " S S\SS9r" " S S\SS9r# " S  S!\SS9r$ " S" S#\5      r% " S$ S%\5      r& " S& S'\5      r' " S( S)\5      r( " S* S+\5      r) " S, S-\SS9r* " S. S/\5      r+\\+-  r,S\S0'   g1)2    )annotations)Mapping)AnyLiteral	TypeAlias)RealtimeAudioFormats)NotRequired	TypedDict)Prompt   )OutputGuardrail)Handoff)
ToolChoice)ToolErrorFormatter)Tool)zgpt-realtimezgpt-realtime-1.5zgpt-realtime-2025-08-28zgpt-4o-realtime-previewz"gpt-4o-realtime-preview-2024-10-01z"gpt-4o-realtime-preview-2024-12-17z"gpt-4o-realtime-preview-2025-06-03zgpt-4o-mini-realtime-previewz'gpt-4o-mini-realtime-preview-2024-12-17zgpt-realtime-minizgpt-realtime-mini-2025-10-06zgpt-realtime-mini-2025-12-15r   RealtimeModelName)pcm16	g711_ulaw	g711_alawRealtimeAudioFormatc                  0    \ rS rSr% SrS\S'    S\S'   Srg)	RealtimeClientMessage0   z&A raw message to be sent to the model.strtypeNotRequired[dict[str, Any]]
other_data N__name__
__module____qualname____firstlineno____doc____annotations____static_attributes__r       h/home/rurouni/.local/share/pipx/venvs/strix-agent/lib/python3.13/site-packages/agents/realtime/config.pyr   r   0   s    0
I"++'r'   r   c                  <    \ rS rSr% SrS\S'    S\S'    S\S'   Srg	)
%RealtimeInputAudioTranscriptionConfig:   z;Configuration for audio transcription in realtime sessions.NotRequired[str]languagezVNotRequired[Literal['gpt-4o-transcribe', 'gpt-4o-mini-transcribe', 'whisper-1'] | str]modelpromptr   Nr   r   r'   r(   r*   r*   :   s     E.aa)4r'   r*   c                  $    \ rS rSr% SrS\S'   Srg)&RealtimeInputAudioNoiseReductionConfigG   z.Noise reduction configuration for input audio.z/NotRequired[Literal['near_field', 'far_field']]r   r   Nr   r   r'   r(   r1   r1   G   s    8
997r'   r1   c                      \ rS rSr% SrS\S'    S\S'    S\S'    S\S	'    S
\S'    S
\S'    S\S'    S
\S'    S\S'   Srg)RealtimeTurnDetectionConfigN   z: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_msr,   model_versionr   Nr   r   r'   r(   r4   r4   N   sV    D
<<6&&?DD0))A''=))H!!5%%_##9r'   r4   c                  B    \ rS rSr% SrS\S'   S\S'   S\S'   S	\S
'   Srg)RealtimeAudioInputConfigm   z3Configuration for audio input in realtime sessions.0RealtimeAudioFormat | OpenAIRealtimeAudioFormatsformatz-RealtimeInputAudioNoiseReductionConfig | Nonenoise_reductionr*   transcriptionr4   turn_detectionr   Nr   r   r'   r(   rB   rB   m   s    =<<BB88//r'   rB   F)totalc                  8    \ rS rSr% SrS\S'   S\S'   S\S'   S	rg
)RealtimeAudioOutputConfigv   z4Configuration for audio output in realtime sessions.rD   rE   r   voicefloatspeedr   Nr   r   r'   r(   rK   rK   v   s    ><<JLr'   rK   c                  .    \ rS rSr% SrS\S'   S\S'   Srg)	RealtimeAudioConfig~   z*Audio configuration for realtime sessions.rB   inputrK   outputr   Nr   r   r'   r(   rQ   rQ   ~   s    4##%%r'   rQ   c                      \ rS rSr% SrS\S'    S\S'    S\S'    S	\S
'    S	\S'    S\S'    S\S'    S\S'    S\S'    S\S'    S\S'    S\S'    S\S'    S\S'    S\S'    S\S'    S \S!'   S"rg#)$RealtimeSessionModelSettings   z,Model settings for a realtime model session.zNotRequired[RealtimeModelName]
model_namer,   instructionszNotRequired[Prompt]r/   z+NotRequired[list[Literal['text', 'audio']]]
modalitiesoutput_modalitiesz NotRequired[RealtimeAudioConfig]audiorM   r=   rO   z=NotRequired[RealtimeAudioFormat | OpenAIRealtimeAudioFormats]input_audio_formatoutput_audio_formatz2NotRequired[RealtimeInputAudioTranscriptionConfig]input_audio_transcriptionz:NotRequired[RealtimeInputAudioNoiseReductionConfig | None]input_audio_noise_reductionz(NotRequired[RealtimeTurnDetectionConfig]rH   zNotRequired[ToolChoice]tool_choicezNotRequired[list[Tool]]toolszNotRequired[list[Handoff]]handoffsz.NotRequired[RealtimeModelTracingConfig | None]tracingr   Nr   r   r'   r(   rV   rV      s    6..0"",*;;2BB9++2,-UU-VV.QQ5![[8<<9((:""/(();;,r'   rV   c                  $    \ rS rSr% SrS\S'   Srg)RealtimeGuardrailsSettings   z4Settings for output guardrails in realtime sessions.r:   debounce_text_lengthr   Nr   r   r'   r(   rf   rf      s    >**r'   rf   c                  <    \ rS rSr% SrS\S'    S\S'    S\S'   Srg	)
RealtimeModelTracingConfig   z5Configuration for tracing in realtime model sessions.r,   workflow_namegroup_idr   metadatar   Nr   r   r'   r(   rj   rj      s     ?##/R))8r'   rj   c                  `    \ rS rSr% SrS\S'    S\S'    S\S'    S	\S
'    S	\S'    S\S'   Srg)RealtimeRunConfig   z3Configuration for running a realtime agent session.z)NotRequired[RealtimeSessionModelSettings]model_settingsz'NotRequired[list[OutputGuardrail[Any]]]output_guardrailsz'NotRequired[RealtimeGuardrailsSettings]guardrails_settingsr6   tracing_disabledasync_tool_callszNotRequired[ToolErrorFormatter]tool_error_formatterr   Nr   r   r'   r(   rp   rp      s;    ===2>>D@@+''3''R99Sr'   rp   c                  0    \ rS rSr% SrS\S'    S\S'   Srg)	RealtimeUserInputText   zA text input from the user.zLiteral['input_text']r   r   textr   Nr   r   r'   r(   ry   ry      s    %
-
I)r'   ry   c                  8    \ rS rSr% SrS\S'   S\S'   S\S'   S	rg
)RealtimeUserInputImage   z(An image input from the user (Realtime).zLiteral['input_image']r   r   	image_urlz1NotRequired[Literal['auto', 'low', 'high'] | str]detailr   Nr   r   r'   r(   r}   r}      s    2
  N==r'   r}   c                  <    \ rS rSr% SrS\S'    S\S'    S\S'   S	rg
)RealtimeUserInputMessage   zA message input from the user.zLiteral['message']r   zLiteral['user']rolez4list[RealtimeUserInputText | RealtimeUserInputImage]contentr   Nr   r   r'   r(   r   r      s     (
1
0AA@r'   r   RealtimeUserInputN)-
__future__r   collections.abcr   typingr   r   r   ,openai.types.realtime.realtime_audio_formatsr   OpenAIRealtimeAudioFormatstyping_extensionsr	   r
   agents.promptsr   	guardrailr   rc   r   rr   r   
run_configr   toolr   r   r   r%   r   r   r*   r1   r4   rB   rK   rQ   rV   rf   rj   rp   ry   r}   r   r   r   r'   r(   <module>r      sa   " # * * 5 ! '  ' +  	( 

 9 " $ -.	
c3h !! Y  3(I (
5I 
58Y 8:) :>0y 0	 &)5 &4-9 4-n 
9 
9T	 T0*I *>Ye >
Ay 
A  #%== 9 = <r'   