fix(openai): flatten realtime transcription session update

This commit is contained in:
Vincent Koc
2026-05-03 17:05:59 -07:00
parent ecd562b2b5
commit 4dc2aedb76
2 changed files with 44 additions and 62 deletions

View File

@@ -54,21 +54,17 @@ type SentRealtimeEvent = {
type: string;
audio?: string;
session?: {
audio?: {
input?: {
format?: { type?: string };
transcription?: {
model?: string;
language?: string;
prompt?: string;
};
turn_detection?: {
type?: string;
threshold?: number;
prefix_padding_ms?: number;
silence_duration_ms?: number;
};
};
input_audio_format?: string;
input_audio_transcription?: {
model?: string;
language?: string;
prompt?: string;
};
turn_detection?: {
type?: string;
threshold?: number;
prefix_padding_ms?: number;
silence_duration_ms?: number;
};
};
};
@@ -179,21 +175,17 @@ describe("buildOpenAIRealtimeTranscriptionProvider", () => {
{
type: "transcription_session.update",
session: {
audio: {
input: {
format: { type: "audio/pcmu" },
transcription: {
model: "gpt-4o-transcribe",
language: "en",
prompt: "expect OpenClaw product names",
},
turn_detection: {
type: "server_vad",
threshold: 0.45,
prefix_padding_ms: 300,
silence_duration_ms: 900,
},
},
input_audio_format: "g711_ulaw",
input_audio_transcription: {
model: "gpt-4o-transcribe",
language: "en",
prompt: "expect OpenClaw product names",
},
turn_detection: {
type: "server_vad",
threshold: 0.45,
prefix_padding_ms: 300,
silence_duration_ms: 900,
},
},
},
@@ -207,21 +199,17 @@ describe("buildOpenAIRealtimeTranscriptionProvider", () => {
{
type: "transcription_session.update",
session: {
audio: {
input: {
format: { type: "audio/pcmu" },
transcription: {
model: "gpt-4o-transcribe",
language: "en",
prompt: "expect OpenClaw product names",
},
turn_detection: {
type: "server_vad",
threshold: 0.45,
prefix_padding_ms: 300,
silence_duration_ms: 900,
},
},
input_audio_format: "g711_ulaw",
input_audio_transcription: {
model: "gpt-4o-transcribe",
language: "en",
prompt: "expect OpenClaw product names",
},
turn_detection: {
type: "server_vad",
threshold: 0.45,
prefix_padding_ms: 300,
silence_duration_ms: 900,
},
},
},

View File

@@ -150,23 +150,17 @@ function createOpenAIRealtimeTranscriptionSession(
transport.sendJson({
type: "transcription_session.update",
session: {
audio: {
input: {
format: {
type: "audio/pcmu",
},
transcription: {
model: config.model,
...(config.language ? { language: config.language } : {}),
...(config.prompt ? { prompt: config.prompt } : {}),
},
turn_detection: {
type: "server_vad",
threshold: config.vadThreshold,
prefix_padding_ms: 300,
silence_duration_ms: config.silenceDurationMs,
},
},
input_audio_format: "g711_ulaw",
input_audio_transcription: {
model: config.model,
...(config.language ? { language: config.language } : {}),
...(config.prompt ? { prompt: config.prompt } : {}),
},
turn_detection: {
type: "server_vad",
threshold: config.vadThreshold,
prefix_padding_ms: 300,
silence_duration_ms: config.silenceDurationMs,
},
},
});