diff --git a/.changeset/add-claude-sonnet-4-6.md b/.changeset/add-claude-sonnet-4-6.md new file mode 100644 index 00000000..e9547196 --- /dev/null +++ b/.changeset/add-claude-sonnet-4-6.md @@ -0,0 +1,5 @@ +--- +"@perstack/core": patch +--- + +feat: add claude-sonnet-4-6 to known models and update claude-opus-4-6 context window to 1M diff --git a/packages/core/src/known-models/index.ts b/packages/core/src/known-models/index.ts index 6c7bd557..7af934df 100644 --- a/packages/core/src/known-models/index.ts +++ b/packages/core/src/known-models/index.ts @@ -8,7 +8,7 @@ export const knownModels = [ { name: "claude-opus-4-6", tier: "high" as const, - contextWindow: 200_000, + contextWindow: 1_000_000, maxOutputTokens: 128_000, }, { @@ -29,6 +29,12 @@ export const knownModels = [ contextWindow: 200_000, maxOutputTokens: 32_000, }, + { + name: "claude-sonnet-4-6", + tier: "middle" as const, + contextWindow: 1_000_000, + maxOutputTokens: 64_000, + }, { name: "claude-sonnet-4-5", tier: "middle" as const, @@ -51,13 +57,13 @@ export const knownModels = [ name: "claude-haiku-4-5", tier: "low" as const, contextWindow: 200_000, - maxOutputTokens: 8_192, + maxOutputTokens: 64_000, }, { name: "claude-3-5-haiku-latest", tier: "low" as const, contextWindow: 200_000, - maxOutputTokens: 8_192, + maxOutputTokens: 64_000, }, ], }, diff --git a/packages/core/src/known-models/model-tiers.test.ts b/packages/core/src/known-models/model-tiers.test.ts index d404f75d..b6d0f9ec 100644 --- a/packages/core/src/known-models/model-tiers.test.ts +++ b/packages/core/src/known-models/model-tiers.test.ts @@ -20,7 +20,7 @@ describe("@perstack/core: modelTierSchema", () => { describe("@perstack/core: resolveModelTier", () => { it("resolves anthropic tiers to the first matching model", () => { expect(resolveModelTier("anthropic", "low")).toBe("claude-haiku-4-5") - expect(resolveModelTier("anthropic", "middle")).toBe("claude-sonnet-4-5") + expect(resolveModelTier("anthropic", "middle")).toBe("claude-sonnet-4-6") expect(resolveModelTier("anthropic", "high")).toBe("claude-opus-4-6") })