diff --git a/packages/ai/CHANGELOG.md b/packages/ai/CHANGELOG.md index dd8e0d0b..85d4135f 100644 --- a/packages/ai/CHANGELOG.md +++ b/packages/ai/CHANGELOG.md @@ -2,6 +2,11 @@ ## [Unreleased] +### Fixed + +- Fixed Bedrock Opus 4.6 model IDs (removed `:0` suffix) and cache pricing for `us.*` and `eu.*` variants +- Added missing `eu.anthropic.claude-opus-4-6-v1` inference profile to model catalog + ## [0.52.2] - 2026-02-05 ## [0.52.1] - 2026-02-05 diff --git a/packages/ai/scripts/generate-models.ts b/packages/ai/scripts/generate-models.ts index 3771361c..c7a5c3b6 100644 --- a/packages/ai/scripts/generate-models.ts +++ b/packages/ai/scripts/generate-models.ts @@ -642,6 +642,37 @@ async function generateModels() { opus45.cost.cacheWrite = 6.25; } + // Temporary Bedrock overrides until https://github.com/anomalyco/models.dev/pull/816 is merged. + // 1. Fix incorrect Opus 4.6 Bedrock metadata + for (const candidate of allModels) { + if (candidate.provider === "amazon-bedrock" && candidate.id.includes("anthropic.claude-opus-4-6-v1")) { + candidate.cost.cacheRead = 0.5; + candidate.cost.cacheWrite = 6.25; + candidate.contextWindow = 200000; + } + } + + // 2. Add missing EU Opus 4.6 profile + if (!allModels.some((m) => m.provider === "amazon-bedrock" && m.id === "eu.anthropic.claude-opus-4-6-v1")) { + allModels.push({ + id: "eu.anthropic.claude-opus-4-6-v1", + name: "Claude Opus 4.6 (EU)", + api: "bedrock-converse-stream", + provider: "amazon-bedrock", + baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com", + reasoning: true, + input: ["text", "image"], + cost: { + input: 5, + output: 25, + cacheRead: 0.5, + cacheWrite: 6.25, + }, + contextWindow: 200000, + maxTokens: 128000, + }); + } + // Add missing Claude Opus 4.6 if (!allModels.some(m => m.provider === "anthropic" && m.id === "claude-opus-4-6")) { allModels.push({ diff --git a/packages/ai/src/models.generated.ts b/packages/ai/src/models.generated.ts index 770852ba..cb82bf7f 100644 --- a/packages/ai/src/models.generated.ts +++ b/packages/ai/src/models.generated.ts @@ -311,8 +311,8 @@ export const MODELS = { contextWindow: 200000, maxTokens: 64000, } satisfies Model<"bedrock-converse-stream">, - "anthropic.claude-opus-4-6-v1:0": { - id: "anthropic.claude-opus-4-6-v1:0", + "anthropic.claude-opus-4-6-v1": { + id: "anthropic.claude-opus-4-6-v1", name: "Claude Opus 4.6", api: "bedrock-converse-stream", provider: "amazon-bedrock", @@ -464,8 +464,8 @@ export const MODELS = { contextWindow: 200000, maxTokens: 64000, } satisfies Model<"bedrock-converse-stream">, - "eu.anthropic.claude-opus-4-6-v1:0": { - id: "eu.anthropic.claude-opus-4-6-v1:0", + "eu.anthropic.claude-opus-4-6-v1": { + id: "eu.anthropic.claude-opus-4-6-v1", name: "Claude Opus 4.6 (EU)", api: "bedrock-converse-stream", provider: "amazon-bedrock", @@ -475,8 +475,8 @@ export const MODELS = { cost: { input: 5, output: 25, - cacheRead: 1.5, - cacheWrite: 18.75, + cacheRead: 0.5, + cacheWrite: 6.25, }, contextWindow: 200000, maxTokens: 128000, @@ -549,8 +549,8 @@ export const MODELS = { contextWindow: 200000, maxTokens: 64000, } satisfies Model<"bedrock-converse-stream">, - "global.anthropic.claude-opus-4-6-v1:0": { - id: "global.anthropic.claude-opus-4-6-v1:0", + "global.anthropic.claude-opus-4-6-v1": { + id: "global.anthropic.claude-opus-4-6-v1", name: "Claude Opus 4.6 (Global)", api: "bedrock-converse-stream", provider: "amazon-bedrock", @@ -1178,8 +1178,8 @@ export const MODELS = { contextWindow: 200000, maxTokens: 64000, } satisfies Model<"bedrock-converse-stream">, - "us.anthropic.claude-opus-4-6-v1:0": { - id: "us.anthropic.claude-opus-4-6-v1:0", + "us.anthropic.claude-opus-4-6-v1": { + id: "us.anthropic.claude-opus-4-6-v1", name: "Claude Opus 4.6 (US)", api: "bedrock-converse-stream", provider: "amazon-bedrock", @@ -1189,8 +1189,8 @@ export const MODELS = { cost: { input: 5, output: 25, - cacheRead: 1.5, - cacheWrite: 18.75, + cacheRead: 0.5, + cacheWrite: 6.25, }, contextWindow: 200000, maxTokens: 128000, @@ -1537,23 +1537,6 @@ export const MODELS = { contextWindow: 1000000, maxTokens: 128000, } satisfies Model<"anthropic-messages">, - "claude-opus-4-6-20260205": { - id: "claude-opus-4-6-20260205", - name: "Claude Opus 4.6", - api: "anthropic-messages", - provider: "anthropic", - baseUrl: "https://api.anthropic.com", - reasoning: true, - input: ["text", "image"], - cost: { - input: 5, - output: 25, - cacheRead: 0.5, - cacheWrite: 6.25, - }, - contextWindow: 200000, - maxTokens: 128000, - } satisfies Model<"anthropic-messages">, "claude-sonnet-4-0": { id: "claude-sonnet-4-0", name: "Claude Sonnet 4 (latest)", diff --git a/packages/coding-agent/CHANGELOG.md b/packages/coding-agent/CHANGELOG.md index f9e34ac9..0a315900 100644 --- a/packages/coding-agent/CHANGELOG.md +++ b/packages/coding-agent/CHANGELOG.md @@ -7,6 +7,7 @@ ### Fixed - Fixed git package parsing fallback for unknown hosts so enterprise git sources like `git:github.tools.sap/org/repo` are treated as git packages instead of local paths +- Fixed Bedrock default model ID from `us.anthropic.claude-opus-4-6-v1:0` to `us.anthropic.claude-opus-4-6-v1` ## [0.52.2] - 2026-02-05 diff --git a/packages/coding-agent/src/core/model-resolver.ts b/packages/coding-agent/src/core/model-resolver.ts index 23f7ccad..21de3e85 100644 --- a/packages/coding-agent/src/core/model-resolver.ts +++ b/packages/coding-agent/src/core/model-resolver.ts @@ -12,7 +12,7 @@ import type { ModelRegistry } from "./model-registry.js"; /** Default model IDs for each known provider */ export const defaultModelPerProvider: Record = { - "amazon-bedrock": "us.anthropic.claude-opus-4-6-v1:0", + "amazon-bedrock": "us.anthropic.claude-opus-4-6-v1", anthropic: "claude-opus-4-6", openai: "gpt-5.1-codex", "azure-openai-responses": "gpt-5.2",