diff --git a/src/config/claudeProviderPresets.ts b/src/config/claudeProviderPresets.ts index 9a27cc1c6..1c8efa164 100644 --- a/src/config/claudeProviderPresets.ts +++ b/src/config/claudeProviderPresets.ts @@ -392,6 +392,15 @@ export const providerPresets: ProviderPreset[] = [ env: { ANTHROPIC_BASE_URL: "https://api.kimi.com/coding/", ANTHROPIC_AUTH_TOKEN: "", + CLAUDE_CODE_AUTO_COMPACT_WINDOW: "${CLAUDE_CODE_AUTO_COMPACT_WINDOW}", + }, + }, + templateValues: { + CLAUDE_CODE_AUTO_COMPACT_WINDOW: { + label: "Auto Compact Window", + placeholder: "262144", + defaultValue: "262144", + editorValue: "262144", }, }, category: "cn_official", diff --git a/tests/config/claudeProviderPresets.test.ts b/tests/config/claudeProviderPresets.test.ts index dc1f4397c..beb031ea2 100644 --- a/tests/config/claudeProviderPresets.test.ts +++ b/tests/config/claudeProviderPresets.test.ts @@ -1,6 +1,33 @@ import { describe, expect, it } from "vitest"; import { providerPresets } from "@/config/claudeProviderPresets"; +describe("Kimi For Coding Provider Preset", () => { + const kimiForCoding = providerPresets.find( + (p) => p.name === "Kimi For Coding", + ); + + it("should include Kimi For Coding preset", () => { + expect(kimiForCoding).toBeDefined(); + }); + + it("should use template placeholder for Claude Code auto-compact window", () => { + const env = (kimiForCoding!.settingsConfig as any).env; + expect(env).toHaveProperty( + "CLAUDE_CODE_AUTO_COMPACT_WINDOW", + "${CLAUDE_CODE_AUTO_COMPACT_WINDOW}", + ); + }); + + it("should expose auto-compact window as editable template value with Kimi default", () => { + const values = (kimiForCoding!.templateValues as any) + ?.CLAUDE_CODE_AUTO_COMPACT_WINDOW; + expect(values).toBeDefined(); + expect(values.defaultValue).toBe("262144"); + expect(values.editorValue).toBe("262144"); + expect(values.label).toBe("Auto Compact Window"); + }); +}); + describe("AWS Bedrock Provider Presets", () => { const bedrockAksk = providerPresets.find( (p) => p.name === "AWS Bedrock (AKSK)",