From 6fb50a894243f4f1c74fda163b404a08a2032aa4 Mon Sep 17 00:00:00 2001 From: Mark IJbema Date: Tue, 26 May 2026 10:25:36 +0200 Subject: [PATCH] fix(vscode): infer autocomplete provider from direct models --- packages/kilo-gateway/src/autocomplete.ts | 5 +++++ .../src/services/autocomplete/__tests__/settings.spec.ts | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/packages/kilo-gateway/src/autocomplete.ts b/packages/kilo-gateway/src/autocomplete.ts index 86c502e1dab..b3093b2656a 100644 --- a/packages/kilo-gateway/src/autocomplete.ts +++ b/packages/kilo-gateway/src/autocomplete.ts @@ -83,6 +83,11 @@ export function getAutocompleteModel(provider?: string, model?: string): Autocom return DEFAULT_AUTOCOMPLETE_MODEL } + if (!provider) { + const direct = models.find((m) => m.directProvider && m.modelID === model) + if (direct) return direct + } + const pid = provider || "kilo" const mid = aliases[model ?? ""] ?? model for (const m of models) { diff --git a/packages/kilo-vscode/src/services/autocomplete/__tests__/settings.spec.ts b/packages/kilo-vscode/src/services/autocomplete/__tests__/settings.spec.ts index 3663a3f692a..52955b1c7a9 100644 --- a/packages/kilo-vscode/src/services/autocomplete/__tests__/settings.spec.ts +++ b/packages/kilo-vscode/src/services/autocomplete/__tests__/settings.spec.ts @@ -33,6 +33,14 @@ describe("autocomplete settings", () => { expect(buildAutocompleteSettingsMessage().settings.model).toBe("mercury-edit-2") }) + it("infers direct provider from native direct model choices", async () => { + state.set("model", "mercury-edit-2") + const { buildAutocompleteSettingsMessage } = await import("../settings") + + expect(buildAutocompleteSettingsMessage().settings.provider).toBe("inception") + expect(buildAutocompleteSettingsMessage().settings.model).toBe("mercury-edit-2") + }) + it("defaults to codestral when no model is set", async () => { const { buildAutocompleteSettingsMessage } = await import("../settings")