mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-07-24 21:30:17 +08:00
169d58ac6f
Set the default Claude Code auto-compact window to 262144 for the Kimi For Coding provider preset, matching the official Kimi docs: https://www.kimi.com/code/docs/en/third-party-tools/other-coding-agents.html Use templateValues so users can customize the value (e.g. for future models or performance tuning) while keeping 262144 as the default.
106 lines
3.8 KiB
TypeScript
106 lines
3.8 KiB
TypeScript
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)",
|
|
);
|
|
|
|
it("should include AWS Bedrock (AKSK) preset", () => {
|
|
expect(bedrockAksk).toBeDefined();
|
|
});
|
|
|
|
it("AKSK preset should have required AWS env variables", () => {
|
|
const env = (bedrockAksk!.settingsConfig as any).env;
|
|
expect(env).toHaveProperty("AWS_ACCESS_KEY_ID");
|
|
expect(env).toHaveProperty("AWS_SECRET_ACCESS_KEY");
|
|
expect(env).toHaveProperty("AWS_REGION");
|
|
expect(env).toHaveProperty("CLAUDE_CODE_USE_BEDROCK", "1");
|
|
});
|
|
|
|
it("AKSK preset should have template values for AWS credentials", () => {
|
|
expect(bedrockAksk!.templateValues).toBeDefined();
|
|
expect(bedrockAksk!.templateValues!.AWS_ACCESS_KEY_ID).toBeDefined();
|
|
expect(bedrockAksk!.templateValues!.AWS_SECRET_ACCESS_KEY).toBeDefined();
|
|
expect(bedrockAksk!.templateValues!.AWS_REGION).toBeDefined();
|
|
expect(bedrockAksk!.templateValues!.AWS_REGION.editorValue).toBe(
|
|
"us-west-2",
|
|
);
|
|
});
|
|
|
|
it("AKSK preset should have correct base URL template", () => {
|
|
const env = (bedrockAksk!.settingsConfig as any).env;
|
|
expect(env.ANTHROPIC_BASE_URL).toContain("bedrock-runtime");
|
|
expect(env.ANTHROPIC_BASE_URL).toContain("${AWS_REGION}");
|
|
});
|
|
|
|
it("AKSK preset should have cloud_provider category", () => {
|
|
expect(bedrockAksk!.category).toBe("cloud_provider");
|
|
});
|
|
|
|
it("AKSK preset should have Bedrock model as default", () => {
|
|
const env = (bedrockAksk!.settingsConfig as any).env;
|
|
expect(env.ANTHROPIC_MODEL).toContain("anthropic.claude");
|
|
});
|
|
|
|
const bedrockApiKey = providerPresets.find(
|
|
(p) => p.name === "AWS Bedrock (API Key)",
|
|
);
|
|
|
|
it("should include AWS Bedrock (API Key) preset", () => {
|
|
expect(bedrockApiKey).toBeDefined();
|
|
});
|
|
|
|
it("API Key preset should have apiKey field and AWS env variables", () => {
|
|
const config = bedrockApiKey!.settingsConfig as any;
|
|
expect(config).toHaveProperty("apiKey", "");
|
|
expect(config.env).toHaveProperty("AWS_REGION");
|
|
expect(config.env).toHaveProperty("CLAUDE_CODE_USE_BEDROCK", "1");
|
|
});
|
|
|
|
it("API Key preset should NOT have AKSK env variables", () => {
|
|
const env = (bedrockApiKey!.settingsConfig as any).env;
|
|
expect(env).not.toHaveProperty("AWS_ACCESS_KEY_ID");
|
|
expect(env).not.toHaveProperty("AWS_SECRET_ACCESS_KEY");
|
|
});
|
|
|
|
it("API Key preset should have template values for region only", () => {
|
|
expect(bedrockApiKey!.templateValues).toBeDefined();
|
|
expect(bedrockApiKey!.templateValues!.AWS_REGION).toBeDefined();
|
|
expect(bedrockApiKey!.templateValues!.AWS_REGION.editorValue).toBe(
|
|
"us-west-2",
|
|
);
|
|
});
|
|
|
|
it("API Key preset should have cloud_provider category", () => {
|
|
expect(bedrockApiKey!.category).toBe("cloud_provider");
|
|
});
|
|
});
|