fix(ai): omit disabled thinking for Claude Fable 5

This commit is contained in:
Armin Ronacher
2026-06-10 00:27:11 +02:00
parent dacb367e9e
commit 9ccfcd7cfc
5 changed files with 17 additions and 4 deletions

View File

@@ -132,6 +132,13 @@ describe("Anthropic thinking disable payload", () => {
expect(payload.output_config).toBeUndefined();
});
it("omits thinking.type=disabled for Claude Fable 5 when thinking is off", async () => {
const payload = await capturePayload(getModel("anthropic", "claude-fable-5"));
expect(payload.thinking).toBeUndefined();
expect(payload.output_config).toBeUndefined();
});
it("uses adaptive thinking for Claude Opus 4.8 when reasoning is enabled", async () => {
const payload = await capturePayload(getModel("anthropic", "claude-opus-4-8"), { reasoning: "high" });

View File

@@ -20,10 +20,11 @@ describe("getSupportedThinkingLevels", () => {
expect(getSupportedThinkingLevels(model!)).toContain("xhigh");
});
it("includes xhigh for Anthropic Claude Fable 5 on anthropic-messages API", () => {
it("includes xhigh but not off for Anthropic Claude Fable 5 on anthropic-messages API", () => {
const model = getModel("anthropic", "claude-fable-5");
expect(model).toBeDefined();
expect(getSupportedThinkingLevels(model!)).toContain("xhigh");
expect(getSupportedThinkingLevels(model!)).not.toContain("off");
});
it("does not include xhigh for Claude Sonnet 4.5", () => {
@@ -86,9 +87,10 @@ describe("getSupportedThinkingLevels", () => {
expect(getSupportedThinkingLevels(model!)).toContain("xhigh");
});
it("includes xhigh for Bedrock Claude Fable 5", () => {
it("includes xhigh but not off for Bedrock Claude Fable 5", () => {
const model = getModel("amazon-bedrock", "global.anthropic.claude-fable-5");
expect(model).toBeDefined();
expect(getSupportedThinkingLevels(model!)).toContain("xhigh");
expect(getSupportedThinkingLevels(model!)).not.toContain("off");
});
});