1ae064099c
* generate-models: use reasoning options from models.dev * fix tests
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { getEffortThinkingLevelMap } from "../scripts/models-dev-reasoning-options.ts";
|
|
|
|
describe("getEffortThinkingLevelMap", () => {
|
|
it("exposes only verified effort values and none", () => {
|
|
expect(
|
|
getEffortThinkingLevelMap([{ type: "toggle" }, { type: "effort", values: ["none", "low", "high", "max"] }]),
|
|
).toEqual({
|
|
off: "none",
|
|
minimal: null,
|
|
low: "low",
|
|
medium: null,
|
|
high: "high",
|
|
xhigh: null,
|
|
max: "max",
|
|
});
|
|
});
|
|
|
|
it("does not infer thinking-off from an effort list", () => {
|
|
expect(getEffortThinkingLevelMap([{ type: "effort", values: ["low", "high", "max"] }])).toEqual({
|
|
off: null,
|
|
minimal: null,
|
|
low: "low",
|
|
medium: null,
|
|
high: "high",
|
|
xhigh: null,
|
|
max: "max",
|
|
});
|
|
});
|
|
|
|
it("leaves toggle and budget controls for their adapter-specific implementations", () => {
|
|
expect(getEffortThinkingLevelMap([{ type: "toggle" }])).toBeUndefined();
|
|
expect(getEffortThinkingLevelMap([{ type: "budget_tokens", min: 1024, max: 32000 }])).toBeUndefined();
|
|
expect(getEffortThinkingLevelMap([{ type: "effort", values: [null, "default"] }])).toBeUndefined();
|
|
});
|
|
});
|