mirror of
https://github.com/Kilo-Org/kilocode.git
synced 2026-08-29 03:44:06 +08:00
fix(vscode): shorten prompt model label
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"kilo-code": patch
|
||||
---
|
||||
|
||||
Keep provider names out of the compact prompt model selector label while retaining them in the expanded picker.
|
||||
@@ -255,69 +255,67 @@ describe("hasByok", () => {
|
||||
|
||||
describe("buildTriggerLabel", () => {
|
||||
it("returns resolved model name for non-kilo provider unchanged", () => {
|
||||
expect(buildTriggerLabel("GPT-4o", "openai", undefined, null, false, "", true, labels)).toBe("GPT-4o")
|
||||
expect(buildTriggerLabel("GPT-4o", "openai", null, false, "", true, labels)).toBe("GPT-4o")
|
||||
})
|
||||
|
||||
it("strips sub-provider prefix from resolved name for kilo gateway models", () => {
|
||||
expect(
|
||||
buildTriggerLabel("Anthropic: Claude Sonnet", KILO_GATEWAY_ID, undefined, null, false, "", true, labels),
|
||||
).toBe("Claude Sonnet")
|
||||
expect(buildTriggerLabel("Anthropic: Claude Sonnet", KILO_GATEWAY_ID, null, false, "", true, labels)).toBe(
|
||||
"Claude Sonnet",
|
||||
)
|
||||
})
|
||||
|
||||
it("does not strip prefix for non-kilo provider even if name contains ': '", () => {
|
||||
expect(buildTriggerLabel("Anthropic: Claude Sonnet", "anthropic", undefined, null, false, "", true, labels)).toBe(
|
||||
expect(buildTriggerLabel("Anthropic: Claude Sonnet", "anthropic", null, false, "", true, labels)).toBe(
|
||||
"Anthropic: Claude Sonnet",
|
||||
)
|
||||
})
|
||||
|
||||
it("returns resolved name as-is when providerID is undefined", () => {
|
||||
expect(buildTriggerLabel("GPT-4o", undefined, undefined, null, false, "", true, labels)).toBe("GPT-4o")
|
||||
expect(buildTriggerLabel("GPT-4o", undefined, null, false, "", true, labels)).toBe("GPT-4o")
|
||||
})
|
||||
|
||||
it("returns providerName / resolvedName for non-kilo provider with providerName", () => {
|
||||
expect(buildTriggerLabel("GPT-4o", "openai", "OpenAI", null, false, "", true, labels)).toBe("OpenAI / GPT-4o")
|
||||
it("does not add provider name to the compact label", () => {
|
||||
expect(buildTriggerLabel("GPT-5.6 Luna", "openai", null, false, "", true, labels)).toBe("GPT-5.6 Luna")
|
||||
})
|
||||
|
||||
it("returns modelID for kilo gateway raw selection", () => {
|
||||
const raw = { providerID: "kilo", modelID: "kilo-auto/frontier" }
|
||||
expect(buildTriggerLabel(undefined, undefined, undefined, raw, false, "", true, labels)).toBe("kilo-auto/frontier")
|
||||
expect(buildTriggerLabel(undefined, undefined, raw, false, "", true, labels)).toBe("kilo-auto/frontier")
|
||||
})
|
||||
|
||||
it("returns providerID / modelID for non-kilo raw selection", () => {
|
||||
const raw = { providerID: "anthropic", modelID: "claude-3-5-sonnet" }
|
||||
expect(buildTriggerLabel(undefined, undefined, undefined, raw, false, "", true, labels)).toBe(
|
||||
"anthropic / claude-3-5-sonnet",
|
||||
)
|
||||
expect(buildTriggerLabel(undefined, undefined, raw, false, "", true, labels)).toBe("anthropic / claude-3-5-sonnet")
|
||||
})
|
||||
|
||||
it("returns clearLabel when allowClear and no selection", () => {
|
||||
expect(buildTriggerLabel(undefined, undefined, undefined, null, true, "None", true, labels)).toBe("None")
|
||||
expect(buildTriggerLabel(undefined, undefined, null, true, "None", true, labels)).toBe("None")
|
||||
})
|
||||
|
||||
it("falls back to labels.notSet when allowClear and clearLabel is empty", () => {
|
||||
expect(buildTriggerLabel(undefined, undefined, undefined, null, true, "", true, labels)).toBe("Not set")
|
||||
expect(buildTriggerLabel(undefined, undefined, null, true, "", true, labels)).toBe("Not set")
|
||||
})
|
||||
|
||||
it("returns labels.select when providers exist and no selection", () => {
|
||||
expect(buildTriggerLabel(undefined, undefined, undefined, null, false, "", true, labels)).toBe("Select model")
|
||||
expect(buildTriggerLabel(undefined, undefined, null, false, "", true, labels)).toBe("Select model")
|
||||
})
|
||||
|
||||
it("returns labels.noProviders when no providers available", () => {
|
||||
expect(buildTriggerLabel(undefined, undefined, undefined, null, false, "", false, labels)).toBe("No providers")
|
||||
expect(buildTriggerLabel(undefined, undefined, null, false, "", false, labels)).toBe("No providers")
|
||||
})
|
||||
|
||||
it("prefers resolvedName over raw selection", () => {
|
||||
const raw = { providerID: "anthropic", modelID: "claude-3-5-sonnet" }
|
||||
expect(buildTriggerLabel("Claude Sonnet", undefined, undefined, raw, false, "", true, labels)).toBe("Claude Sonnet")
|
||||
expect(buildTriggerLabel("Claude Sonnet", undefined, raw, false, "", true, labels)).toBe("Claude Sonnet")
|
||||
})
|
||||
|
||||
it("ignores partial raw selection (only providerID)", () => {
|
||||
const raw = { providerID: "anthropic", modelID: "" }
|
||||
expect(buildTriggerLabel(undefined, undefined, undefined, raw, false, "", true, labels)).toBe("Select model")
|
||||
expect(buildTriggerLabel(undefined, undefined, raw, false, "", true, labels)).toBe("Select model")
|
||||
})
|
||||
|
||||
it("ignores partial raw selection (only modelID)", () => {
|
||||
const raw = { providerID: "", modelID: "claude-3-5-sonnet" }
|
||||
expect(buildTriggerLabel(undefined, undefined, undefined, raw, false, "", true, labels)).toBe("Select model")
|
||||
expect(buildTriggerLabel(undefined, undefined, raw, false, "", true, labels)).toBe("Select model")
|
||||
})
|
||||
})
|
||||
|
||||
@@ -776,7 +776,6 @@ export const ModelSelectorBase: Component<ModelSelectorBaseProps> = (props) => {
|
||||
buildTriggerLabel(
|
||||
activeModel()?.name,
|
||||
activeModel()?.providerID,
|
||||
activeModel()?.providerName,
|
||||
props.value,
|
||||
props.allowClear ?? false,
|
||||
props.clearLabel ?? "",
|
||||
|
||||
@@ -216,7 +216,6 @@ export function stripSubProviderPrefix(name: string): string {
|
||||
export function buildTriggerLabel(
|
||||
resolvedName: string | undefined,
|
||||
providerID: string | undefined,
|
||||
providerName: string | undefined,
|
||||
raw: ModelSelection | null,
|
||||
allowClear: boolean,
|
||||
clearLabel: string,
|
||||
@@ -225,7 +224,6 @@ export function buildTriggerLabel(
|
||||
): string {
|
||||
if (resolvedName) {
|
||||
if (providerID === KILO_GATEWAY_ID) return stripSubProviderPrefix(resolvedName)
|
||||
if (providerName) return `${providerName} / ${resolvedName}`
|
||||
return resolvedName
|
||||
}
|
||||
if (raw?.providerID && raw?.modelID) {
|
||||
|
||||
Reference in New Issue
Block a user