feat(ai): add ZAI Coding Plan China provider

This commit is contained in:
弎水
2026-06-02 23:39:56 +08:00
parent e30b1b18d0
commit 51df39b9b9
13 changed files with 155 additions and 28 deletions

View File

@@ -4,6 +4,7 @@ import { findEnvKeys, getEnvApiKey } from "../src/env-api-keys.ts";
const originalCopilotGitHubToken = process.env.COPILOT_GITHUB_TOKEN;
const originalGhToken = process.env.GH_TOKEN;
const originalGitHubToken = process.env.GITHUB_TOKEN;
const originalZaiCodingCnApiKey = process.env.ZAI_CODING_CN_API_KEY;
afterEach(() => {
if (originalCopilotGitHubToken === undefined) {
@@ -23,6 +24,12 @@ afterEach(() => {
} else {
process.env.GITHUB_TOKEN = originalGitHubToken;
}
if (originalZaiCodingCnApiKey === undefined) {
delete process.env.ZAI_CODING_CN_API_KEY;
} else {
process.env.ZAI_CODING_CN_API_KEY = originalZaiCodingCnApiKey;
}
});
describe("environment API keys", () => {
@@ -43,4 +50,11 @@ describe("environment API keys", () => {
expect(findEnvKeys("github-copilot")).toEqual(["COPILOT_GITHUB_TOKEN"]);
expect(getEnvApiKey("github-copilot")).toBe("copilot-token");
});
it("resolves ZAI China Coding Plan credentials from ZAI_CODING_CN_API_KEY", () => {
process.env.ZAI_CODING_CN_API_KEY = "zai-coding-cn-token";
expect(findEnvKeys("zai-coding-cn")).toEqual(["ZAI_CODING_CN_API_KEY"]);
expect(getEnvApiKey("zai-coding-cn")).toBe("zai-coding-cn-token");
});
});