bodhi-realtime-agent / OpenAIRealtimeConfig
Interface: OpenAIRealtimeConfig
Defined in: src/transport/openai-realtime-transport.ts:102
Properties
apiKey
apiKey:
string
Defined in: src/transport/openai-realtime-transport.ts:104
OpenAI API key.
audioInputFormat?
optionalaudioInputFormat?:OpenAIRealtimeAudioFormat
Defined in: src/transport/openai-realtime-transport.ts:140
Wire-level input audio format. Default { type: 'audio/pcm', rate: 24000 }. Telephony bridges set this to { type: 'audio/pcmu' } (rate is always 8000 for G.711). PCM rates other than 24000 are rejected at build-config time.
audioOutputFormat?
optionalaudioOutputFormat?:OpenAIRealtimeAudioFormat
Defined in: src/transport/openai-realtime-transport.ts:143
Wire-level output audio format. Default { type: 'audio/pcm', rate: 24000 }. Same constraints as audioInputFormat.
baseURL?
optionalbaseURL?:string
Defined in: src/transport/openai-realtime-transport.ts:115
Override the OpenAI base URL (e.g. for compatible third-party gateways). Pass-through to the SDK client constructor; the P6 promptCacheKey probe also scopes rejections per baseURL so a 4xx on one deployment does not poison the probe state for another.
cacheConfig?
optionalcacheConfig?:OpenAIRealtimeCacheConfig
Defined in: src/transport/openai-realtime-transport.ts:151
Cache control. Truncation lands in P3; enforcePrefixStability in P5; experimental.promptCacheKey in P6. See OpenAIRealtimeCacheConfig.
model?
optionalmodel?:OpenAIRealtimeModel
Defined in: src/transport/openai-realtime-transport.ts:117
Model identifier (default: 'gpt-realtime-2').
noiseReduction?
optionalnoiseReduction?:Record<string,unknown> |OpenAIRealtimeNoiseReductionConfig|null
Defined in: src/transport/openai-realtime-transport.ts:132
Input-audio noise reduction, sent as noise_reduction in session.update. Defaults to { type: 'far_field' }; set null to disable. Any other object is forwarded unchanged, so fields this type does not name still reach the API.
organization?
optionalorganization?:string
Defined in: src/transport/openai-realtime-transport.ts:107
OpenAI organization ID. Pass-through to the SDK client constructor. Used by the P6 promptCacheKey probe to scope rejections per org.
project?
optionalproject?:string
Defined in: src/transport/openai-realtime-transport.ts:110
OpenAI project ID. Pass-through to the SDK client constructor. Used by the P6 promptCacheKey probe to scope rejections per project.
reasoning?
optionalreasoning?:object
Defined in: src/transport/openai-realtime-transport.ts:136
Reasoning effort + optional summary verbosity. Only honoured when the active model supports reasoning (gated via the FEATURES table). Dropped with a warn — or thrown under strict: true — on older models.
effort?
optionaleffort?:ReasoningEffort
summary?
optionalsummary?:ReasoningSummary
strict?
optionalstrict?:boolean
Defined in: src/transport/openai-realtime-transport.ts:148
When true, supplying a feature unsupported for the active model throws FrameworkError('UNSUPPORTED_FEATURE') from buildSessionConfig(). When false/omitted (production default), the feature is dropped and a warn is logged. Framework Vitest suites set strict: true.
transcriptionModel?
optionaltranscriptionModel?:string|null
Defined in: src/transport/openai-realtime-transport.ts:121
Transcription model (default: 'gpt-4o-mini-transcribe'). Set to null to disable input transcription.
turnDetection?
optionalturnDetection?:Record<string,unknown> |null
Defined in: src/transport/openai-realtime-transport.ts:128
Turn detection configuration. Defaults to { type: 'semantic_vad' }. Pass null to disable VAD entirely (manual turn control via commitAudio() — frameworkOwnsInterrupt capability is forced false and greetingInterruptGraceMs to 0 in this mode). When omitted, the framework's defaults are merged in type-aware fashion — see resolveTurnDetectionConfig.
voice?
optionalvoice?:string
Defined in: src/transport/openai-realtime-transport.ts:119
Voice name (default: 'coral').