diff --git a/packages/ai/scripts/generate-models.ts b/packages/ai/scripts/generate-models.ts index 911063e3..206a0afd 100644 --- a/packages/ai/scripts/generate-models.ts +++ b/packages/ai/scripts/generate-models.ts @@ -642,7 +642,7 @@ async function generateModels() { opus45.cost.cacheWrite = 6.25; } - // Temporary Opus 4.6 overrides until upstream model metadata is corrected. + // Temporary overrides until upstream model metadata is corrected. for (const candidate of allModels) { if (candidate.provider === "amazon-bedrock" && candidate.id.includes("anthropic.claude-opus-4-6-v1")) { candidate.cost.cacheRead = 0.5; @@ -652,6 +652,10 @@ async function generateModels() { if ((candidate.provider === "anthropic" || candidate.provider === "opencode") && candidate.id === "claude-opus-4-6") { candidate.contextWindow = 200000; } + // opencode lists Claude Sonnet 4/4.5 with 1M context, actual limit is 200K + if (candidate.provider === "opencode" && (candidate.id === "claude-sonnet-4-5" || candidate.id === "claude-sonnet-4")) { + candidate.contextWindow = 200000; + } } // Add missing EU Opus 4.6 profile diff --git a/packages/ai/src/models.generated.ts b/packages/ai/src/models.generated.ts index 347389e7..8f92ed48 100644 --- a/packages/ai/src/models.generated.ts +++ b/packages/ai/src/models.generated.ts @@ -5231,7 +5231,7 @@ export const MODELS = { cacheRead: 0.3, cacheWrite: 3.75, }, - contextWindow: 1000000, + contextWindow: 200000, maxTokens: 64000, } satisfies Model<"anthropic-messages">, "claude-sonnet-4-5": { @@ -5248,7 +5248,7 @@ export const MODELS = { cacheRead: 0.3, cacheWrite: 3.75, }, - contextWindow: 1000000, + contextWindow: 200000, maxTokens: 64000, } satisfies Model<"anthropic-messages">, "gemini-3-flash": { @@ -7336,9 +7336,9 @@ export const MODELS = { reasoning: true, input: ["text", "image"], cost: { - input: 0.44999999999999996, - output: 2.25, - cacheRead: 0.075, + input: 0.3, + output: 1.5, + cacheRead: 0.049999999999999996, cacheWrite: 0, }, contextWindow: 262144,