diff --git a/packages/ai/src/models.ts b/packages/ai/src/models.ts index 3c06c0cc..101c83f2 100644 --- a/packages/ai/src/models.ts +++ b/packages/ai/src/models.ts @@ -50,15 +50,15 @@ export function calculateCost(model: Model, usage: Usage * * Supported today: * - GPT-5.2 / GPT-5.3 / GPT-5.4 model families - * - Anthropic Messages API Opus 4.6 models (xhigh maps to adaptive effort "max") + * - Opus 4.6 models (xhigh maps to adaptive effort "max" on Anthropic-compatible providers) */ export function supportsXhigh(model: Model): boolean { if (model.id.includes("gpt-5.2") || model.id.includes("gpt-5.3") || model.id.includes("gpt-5.4")) { return true; } - if (model.api === "anthropic-messages") { - return model.id.includes("opus-4-6") || model.id.includes("opus-4.6"); + if (model.id.includes("opus-4-6") || model.id.includes("opus-4.6")) { + return true; } return false; diff --git a/packages/ai/test/supports-xhigh.test.ts b/packages/ai/test/supports-xhigh.test.ts index e7bc5aa6..b3e5aaf6 100644 --- a/packages/ai/test/supports-xhigh.test.ts +++ b/packages/ai/test/supports-xhigh.test.ts @@ -20,9 +20,9 @@ describe("supportsXhigh", () => { expect(supportsXhigh(model!)).toBe(true); }); - it("returns false for OpenRouter Opus 4.6 (openai-completions API)", () => { + it("returns true for OpenRouter Opus 4.6 (openai-completions API)", () => { const model = getModel("openrouter", "anthropic/claude-opus-4.6"); expect(model).toBeDefined(); - expect(supportsXhigh(model!)).toBe(false); + expect(supportsXhigh(model!)).toBe(true); }); });