From 0f47a63a62be75dd7bb9facfceebb176b0b90a0b Mon Sep 17 00:00:00 2001 From: marius-kilocode Date: Tue, 4 Aug 2026 10:26:28 +0200 Subject: [PATCH] fix(vscode): address speech model review feedback --- packages/kilo-vscode/src/speech-to-text/catalog.ts | 10 +++------- packages/kilo-vscode/src/speech-to-text/transcribe.ts | 2 +- .../tests/unit/speech-to-text-catalog.test.ts | 7 +++++-- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/packages/kilo-vscode/src/speech-to-text/catalog.ts b/packages/kilo-vscode/src/speech-to-text/catalog.ts index f9d2724dd5..fbb24114f7 100644 --- a/packages/kilo-vscode/src/speech-to-text/catalog.ts +++ b/packages/kilo-vscode/src/speech-to-text/catalog.ts @@ -52,15 +52,11 @@ function isCatalogModel(value: unknown): value is CatalogModel { } function toModel(model: CatalogModel): SpeechToTextModelDef { - const provider = model.name.split(":", 1)[0]?.trim() || model.id.split("/", 1)[0] || "Kilo Gateway" + const index = model.name.indexOf(":") + const provider = index === -1 ? model.id.split("/", 1)[0] || "Kilo Gateway" : model.name.slice(0, index).trim() return { id: model.id, - label: model.name.includes(":") ? model.name.slice(model.name.indexOf(":") + 1).trim() : model.name, + label: index === -1 ? model.name : model.name.slice(index + 1).trim(), provider, - ...(isVerbatim(model.id) ? { verbatim: true } : {}), } } - -function isVerbatim(id: string): boolean { - return id === "openai/gpt-4o-mini-transcribe" || id === "openai/gpt-4o-transcribe" -} diff --git a/packages/kilo-vscode/src/speech-to-text/transcribe.ts b/packages/kilo-vscode/src/speech-to-text/transcribe.ts index f40f188ac8..bfa0daf590 100644 --- a/packages/kilo-vscode/src/speech-to-text/transcribe.ts +++ b/packages/kilo-vscode/src/speech-to-text/transcribe.ts @@ -54,7 +54,7 @@ export async function transcribeSpeech( "Content-Type": "application/json", }, body: JSON.stringify({ - model: input.model ?? model.id, + model: input.model || model.id, input_audio: { data: input.data, format: input.format, diff --git a/packages/kilo-vscode/tests/unit/speech-to-text-catalog.test.ts b/packages/kilo-vscode/tests/unit/speech-to-text-catalog.test.ts index 1b1f0f3cc5..a4e0a8029f 100644 --- a/packages/kilo-vscode/tests/unit/speech-to-text-catalog.test.ts +++ b/packages/kilo-vscode/tests/unit/speech-to-text-catalog.test.ts @@ -13,6 +13,10 @@ describe("speech-to-text discovery", () => { id: "openai/gpt-4o-mini-transcribe", name: "OpenAI: GPT-4o Mini Transcribe", }, + { + id: "openai/whisper-1", + name: "Whisper 1", + }, ]) expect(models).toEqual([ @@ -21,10 +25,9 @@ describe("speech-to-text discovery", () => { id: "openai/gpt-4o-mini-transcribe", label: "GPT-4o Mini Transcribe", provider: "OpenAI", - verbatim: true, }, + { id: "openai/whisper-1", label: "Whisper 1", provider: "openai" }, ]) - expect(models?.find((model) => model.id === "openai/gpt-4o-mini-transcribe")?.verbatim).toBe(true) }) it("rejects empty or malformed catalogs so callers can use the static fallback", () => {