// Amazon Bedrock tests cover provider policy api plugin behavior. import { describe, expect, it } from "vitest"; import { resolveThinkingProfile } from "./provider-policy-api.js"; describe("amazon-bedrock provider-policy-api", () => { it("exposes adaptive thinking for Bedrock Claude 4.6 before runtime registration", () => { const profile = resolveThinkingProfile({ provider: "amazon-bedrock", modelId: "amazon-bedrock/global.anthropic.claude-opus-4-6-v1", }); expect(profile?.levels.map((level) => level.id)).toEqual([ "off", "minimal", "low", "medium", "high", "adaptive", "max", ]); expect(profile?.defaultLevel).toBe("adaptive"); }); it("caps Bedrock Claude Sonnet 4.6 at high effort", () => { const profile = resolveThinkingProfile({ provider: "amazon-bedrock", modelId: "amazon-bedrock/global.anthropic.claude-sonnet-4-6", }); expect(profile?.levels.map((level) => level.id)).toEqual([ "off", "minimal", "low", "medium", "high", "adaptive", ]); }); it("leaves Bedrock Claude Opus 4.8 thinking off by default with max effort available", () => { const profile = resolveThinkingProfile({ provider: "amazon-bedrock", modelId: "arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-opus-4-8", }); expect(profile?.levels.map((level) => level.id)).toEqual([ "off", "minimal", "low", "medium", "high", "xhigh", "adaptive", "max", ]); expect(profile?.defaultLevel).toBe("off"); }); it("exposes max thinking for Bedrock Claude Opus 4.7 refs", () => { expect( resolveThinkingProfile({ provider: "amazon-bedrock", modelId: "arn:aws:bedrock:us-west-2:123456789012:inference-profile/us.anthropic.claude-opus-4-7", })?.levels.map((level) => level.id), ).toEqual(["off", "minimal", "low", "medium", "high", "xhigh", "adaptive", "max"]); }); it.each([ { canonicalModelId: "claude-fable-5", defaultLevel: "high", preservesCatalogOptOut: true, }, { canonicalModelId: "claude-opus-4-8", defaultLevel: "off", preservesCatalogOptOut: false, }, ])( "resolves $canonicalModelId deployment aliases from canonical metadata", ({ canonicalModelId, defaultLevel, preservesCatalogOptOut }) => { const profile = resolveThinkingProfile({ provider: "amazon-bedrock", modelId: "production-claude", params: { canonicalModelId }, }); expect(profile?.defaultLevel).toBe(defaultLevel); expect(profile?.levels.map((level) => level.id)).toContain("max"); expect(profile?.preserveWhenCatalogReasoningFalse === true).toBe(preservesCatalogOptOut); }, ); it("ignores unrelated providers", () => { expect( resolveThinkingProfile({ provider: "anthropic", modelId: "claude-opus-4-6" }), ).toBeNull(); }); });