From e50bb7d1d3a1e2e8acec0e2becfb95f515d31bba Mon Sep 17 00:00:00 2001 From: marius-kilocode Date: Tue, 16 Jun 2026 14:11:36 +0200 Subject: [PATCH] refactor(vscode): simplify speech state lookups --- packages/kilo-vscode/src/provider-actions.ts | 11 ++++------- .../tests/unit/provider-actions-save.test.ts | 9 +++++++++ .../webview-ui/src/components/settings/ModelsTab.tsx | 4 ++-- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/packages/kilo-vscode/src/provider-actions.ts b/packages/kilo-vscode/src/provider-actions.ts index 650d3e1714a..742380b5604 100644 --- a/packages/kilo-vscode/src/provider-actions.ts +++ b/packages/kilo-vscode/src/provider-actions.ts @@ -59,13 +59,10 @@ export async function fetchProviderData(client: KiloClient, dir: string) { .then((r) => r.data ?? {}) .catch(() => ({})) : Promise.resolve({}) - const kiloRequest = - typeof client.kilo?.authStatus === "function" - ? client.kilo - .authStatus({ directory: dir }, { throwOnError: true }) - .then((r) => (r.data?.authenticated ? (r.data.type ?? null) : null)) - .catch(() => null) - : Promise.resolve(null) + const kiloRequest = client.kilo + .authStatus({ directory: dir }, { throwOnError: true }) + .then((r) => (r.data?.authenticated ? (r.data.type ?? null) : null)) + .catch(() => null) const [{ data: response }, authMethods, kiloAuth] = await Promise.all([ client.provider.list({ directory: dir }, { throwOnError: true }), diff --git a/packages/kilo-vscode/tests/unit/provider-actions-save.test.ts b/packages/kilo-vscode/tests/unit/provider-actions-save.test.ts index e80edd36879..a6499bab1c6 100644 --- a/packages/kilo-vscode/tests/unit/provider-actions-save.test.ts +++ b/packages/kilo-vscode/tests/unit/provider-actions-save.test.ts @@ -54,6 +54,9 @@ function createCtx(existing: ExistingGlobal = { disabled_providers: [] }, merged }), auth: async () => ({ data: {} }), }, + kilo: { + authStatus: async () => ({ data: { authenticated: false } }), + }, global: { config: { get: async () => ({ data: existing }), @@ -435,6 +438,9 @@ describe("fetchProviderData", () => { }), auth: async () => ({ data: {} }), }, + kilo: { + authStatus: async () => ({ data: { authenticated: false } }), + }, } as unknown as Parameters[0] const result = await fetchProviderData(client, "/tmp") @@ -518,6 +524,9 @@ describe("fetchProviderData", () => { }), auth: async () => ({ data: {} }), }, + kilo: { + authStatus: async () => ({ data: { authenticated: false } }), + }, } as unknown as Parameters[0] const result = await fetchProviderData(client, "/tmp") diff --git a/packages/kilo-vscode/webview-ui/src/components/settings/ModelsTab.tsx b/packages/kilo-vscode/webview-ui/src/components/settings/ModelsTab.tsx index 53314e25208..abce3c773a4 100644 --- a/packages/kilo-vscode/webview-ui/src/components/settings/ModelsTab.tsx +++ b/packages/kilo-vscode/webview-ui/src/components/settings/ModelsTab.tsx @@ -43,8 +43,8 @@ const ModelsTab: Component = () => { const subagentModel = createMemo(() => parseModelString(config().subagent_model ?? undefined)) const speechModel = createMemo(() => selectedSpeechToTextModel(config())) - const speechOption = createMemo( - () => SPEECH_TO_TEXT_MODEL_OPTIONS.find((item) => item.value === speechModel()) ?? SPEECH_TO_TEXT_MODEL_OPTIONS[0], + const speechOption = createMemo(() => + SPEECH_TO_TEXT_MODEL_OPTIONS.find((item) => item.value === speechModel()), ) const kiloReady = createMemo(() => hasSpeechToTextAccess(config(), provider.authStates())) const variantKey = createMemo(() => config().subagent_model ?? undefined)