Vendor-neutral configuration for a realtime voice session.
The library forwards a curated subset to the active gateway and translates vendor-specific shapes at the boundary. Mirrors RealtimeVoiceConfig in mojentic-py / mojentic-ts.
Summary
Types
@type audio_format() :: :pcm16 | :g711_ulaw | :g711_alaw
@type interrupt_policy() :: :drop | :submit | :submit_completed_only
@type modality() :: :audio | :text
@type t() :: %Mojentic.Realtime.Config{ input_audio_format: audio_format() | nil, input_audio_transcription: map() | false | nil, instructions: String.t() | nil, max_response_output_tokens: pos_integer() | nil, modalities: [modality()] | nil, on_interrupt: interrupt_policy() | nil, output_audio_format: audio_format() | nil, provider_extras: map() | nil, temperature: float() | nil, tool_choice: tool_choice() | nil, tools: [module() | struct()] | nil, turn_detection: turn_detection_mode() | nil, voice: String.t() | nil }
@type tool_choice() :: :auto | :none | :required | %{name: String.t()}
@type turn_detection_mode() :: :server_vad | :semantic_vad | :none | Mojentic.Realtime.ServerVadConfig.t() | Mojentic.Realtime.SemanticVadConfig.t()