Files
oh-my-pi/packages/catalog/test/descriptors.test.ts
T
can1357 65e9e69d9b feat(catalog): updated provider defaults and model priorities for new versions
- Updated default model identifiers in catalog provider descriptors to newer releases for Bedrock, Anthropic, LiteLLM, OpenAI, OpenRouter, NanoGPT, and ZenMux.
- Updated provider descriptor tests to match the new ZenMux and OpenAI-Codex default model values.
- Added gpt-5.5 to slow priorities and new Gemini-3.5 flash aliases to coding-agent priority settings.
2026-06-14 08:43:40 +02:00

31 lines
1.7 KiB
TypeScript

import { describe, expect, test } from "bun:test";
import { DEFAULT_MODEL_PER_PROVIDER, PROVIDER_DESCRIPTORS } from "@oh-my-pi/pi-catalog/provider-models";
describe("catalog provider descriptors", () => {
test("descriptors cover standard model providers, excluding special-managed ones", () => {
const zenmux = PROVIDER_DESCRIPTORS.find(descriptor => descriptor.providerId === "zenmux");
expect(zenmux).toBeDefined();
expect(zenmux?.defaultModel).toBe("anthropic/claude-opus-4.8");
// The descriptor factory carries the provider identity through.
expect(zenmux?.createModelManagerOptions({ apiKey: "k" }).providerId).toBe("zenmux");
// openai-codex is special-managed (bespoke runtime factory) → excluded from descriptors,
// but still a known model provider with a default.
expect(PROVIDER_DESCRIPTORS.some(descriptor => descriptor.providerId === "openai-codex")).toBe(false);
expect(DEFAULT_MODEL_PER_PROVIDER["openai-codex"]).toBe("gpt-5.5");
expect(DEFAULT_MODEL_PER_PROVIDER.minimax).toBe("MiniMax-M3");
expect(DEFAULT_MODEL_PER_PROVIDER["minimax-code"]).toBe("MiniMax-M3");
expect(DEFAULT_MODEL_PER_PROVIDER["minimax-code-cn"]).toBe("MiniMax-M3");
// Login-only tools have no default model.
expect(DEFAULT_MODEL_PER_PROVIDER).not.toHaveProperty("kagi");
});
test("every descriptor has a default model and a factory that preserves provider identity", () => {
for (const descriptor of PROVIDER_DESCRIPTORS) {
expect(descriptor.defaultModel).toBeTruthy();
expect(typeof descriptor.createModelManagerOptions).toBe("function");
expect(descriptor.createModelManagerOptions({ apiKey: "k" }).providerId).toBe(descriptor.providerId);
}
});
});