feat: add Z.AI env support and live test

This commit is contained in:
Peter Steinberger committed 2025-12-31 11:36:57 +01:00
1 parent 4bdc25d072
commit 21237dae98
6 files changed
+83

No files matched your search

+37
View File
@@ -0,0 +1,37 @@
import { describe, expect, it } from "vitest";
import { normalizeZaiEnv } from "./env.js";
describe("normalizeZaiEnv", () => {
it("copies Z_AI_API_KEY to ZAI_API_KEY when missing", () => {
const prevZai = process.env.ZAI_API_KEY;
const prevZAi = process.env.Z_AI_API_KEY;
process.env.ZAI_API_KEY = "";
process.env.Z_AI_API_KEY = "zai-legacy";
normalizeZaiEnv();
expect(process.env.ZAI_API_KEY).toBe("zai-legacy");
if (prevZai === undefined) delete process.env.ZAI_API_KEY;
else process.env.ZAI_API_KEY = prevZai;
if (prevZAi === undefined) delete process.env.Z_AI_API_KEY;
else process.env.Z_AI_API_KEY = prevZAi;
});
it("does not override existing ZAI_API_KEY", () => {
const prevZai = process.env.ZAI_API_KEY;
const prevZAi = process.env.Z_AI_API_KEY;
process.env.ZAI_API_KEY = "zai-current";
process.env.Z_AI_API_KEY = "zai-legacy";
normalizeZaiEnv();
expect(process.env.ZAI_API_KEY).toBe("zai-current");
if (prevZai === undefined) delete process.env.ZAI_API_KEY;
else process.env.ZAI_API_KEY = prevZai;
if (prevZAi === undefined) delete process.env.Z_AI_API_KEY;
else process.env.Z_AI_API_KEY = prevZAi;
});
});
+9
View File
@@ -0,0 +1,9 @@
export function normalizeZaiEnv(): void {
if (!process.env.ZAI_API_KEY?.trim() && process.env.Z_AI_API_KEY?.trim()) {
process.env.ZAI_API_KEY = process.env.Z_AI_API_KEY;
}
}
export function normalizeEnv(): void {
normalizeZaiEnv();
}