pi-mono/packages/ai/test/baseten-models.test.ts
David Brailovsky e5fe9777b9 fix(ai,coding-agent): drop models retired upstream
models.dev deprecated several Baseten, GitHub Copilot, and Together models,
which broke type checks and the default-model test.

- Default GitHub Copilot model: gpt-5.4 -> gpt-6.1-sol
- Move Copilot live tests to gpt-6-luna/gpt-6-sol
- Remove tests and generator entries for retired models, including the
  Together reasoning-only model list
2026-10-21 10:10:55 +02:00

68 lines
2.1 KiB
TypeScript

import { afterEach, describe, expect, it } from "vitest";
import { getModel, streamSimple } from "../src/compat.ts";
import { findEnvKeys, getEnvApiKey } from "../src/env-api-keys.ts";
const originalBasetenApiKey = process.env.BASETEN_API_KEY;
afterEach(() => {
if (originalBasetenApiKey === undefined) {
delete process.env.BASETEN_API_KEY;
} else {
process.env.BASETEN_API_KEY = originalBasetenApiKey;
}
});
describe("Baseten models", () => {
it("keeps both GLM 5.2 endpoints text-only", () => {
expect(getModel("baseten", "zai-org/GLM-5.2").input).toEqual(["text"]);
expect(getModel("baseten", "zai-org/GLM-5.2-Fast").input).toEqual(["text"]);
});
it("sends Baseten chat_template_args with reasoning effort", async () => {
const model = getModel("baseten", "zai-org/GLM-5.2");
let payload: Record<string, unknown> | undefined;
await streamSimple(
model,
{ messages: [{ role: "user", content: "test", timestamp: 0 }] },
{
apiKey: "test-baseten-key",
reasoning: "high",
onPayload: (value) => {
payload = value as Record<string, unknown>;
throw new Error("payload captured");
},
},
).result();
expect(payload?.chat_template_args).toEqual({ enable_thinking: true });
expect(payload?.reasoning_effort).toBe("high");
});
it("disables Baseten opt-in reasoning when thinking is off", async () => {
const model = getModel("baseten", "zai-org/GLM-5.2");
let payload: Record<string, unknown> | undefined;
await streamSimple(
model,
{ messages: [{ role: "user", content: "test", timestamp: 0 }] },
{
apiKey: "test-baseten-key",
onPayload: (value) => {
payload = value as Record<string, unknown>;
throw new Error("payload captured");
},
},
).result();
expect(payload?.chat_template_args).toEqual({ enable_thinking: false });
expect(payload?.reasoning_effort).toBe("none");
});
it("resolves BASETEN_API_KEY from the environment", () => {
process.env.BASETEN_API_KEY = "test-baseten-key";
expect(findEnvKeys("baseten")).toEqual(["BASETEN_API_KEY"]);
expect(getEnvApiKey("baseten")).toBe("test-baseten-key");
});
});