refactor(models): bump claude-opus-4-6 to claude-opus-4-7 across fallback chains, categories, and hooks

Updates the canonical Anthropic Opus model in every fallback chain
(sisyphus, oracle, prometheus, metis, momus, visual-engineering,
ultrabrain, deep, artistry, unspecified-high), the unspecified-high
category default, the think-mode HIGH_VARIANT_MAP, the Claude Code
alias map, the claude-thinking legacy alias, the context-limit GA
regex, and event.ts fallback strings.

Widens supportsCachedAnthropicLimit to accept both claude-*-4-6 and
claude-*-4-7 so the 1M context cache still applies across the bump.

Regenerates the bundled model-capabilities snapshot from models.dev
and the model-fallback snapshot to match the new source output.
This commit is contained in:
YeonGyu-Kim
2026-04-17 14:51:52 +09:00
parent b1764a880c
commit def44338ff
85 changed files with 39904 additions and 38116 deletions
@@ -112,13 +112,13 @@ describe("scheduleDeferredModelOverride", () => {
//#when
scheduleDeferredModelOverride(
"msg_001",
{ providerID: "anthropic", modelID: "claude-opus-4-6" },
{ providerID: "anthropic", modelID: "claude-opus-4-7" },
)
await flushMicrotasks(5)
//#then
const model = readMessageModel("msg_001")
expect(model).toEqual({ providerID: "anthropic", modelID: "claude-opus-4-6" })
expect(model).toEqual({ providerID: "anthropic", modelID: "claude-opus-4-7" })
})
test("should update variant and thinking fields when variant provided", async () => {
@@ -128,7 +128,7 @@ describe("scheduleDeferredModelOverride", () => {
//#when
scheduleDeferredModelOverride(
"msg_002",
{ providerID: "anthropic", modelID: "claude-opus-4-6" },
{ providerID: "anthropic", modelID: "claude-opus-4-7" },
"max",
)
await flushMicrotasks(5)
@@ -144,7 +144,7 @@ describe("scheduleDeferredModelOverride", () => {
//#when
scheduleDeferredModelOverride(
"msg_nonexistent",
{ providerID: "anthropic", modelID: "claude-opus-4-6" },
{ providerID: "anthropic", modelID: "claude-opus-4-7" },
)
await flushWithTimeout()
@@ -162,13 +162,13 @@ describe("scheduleDeferredModelOverride", () => {
//#when
scheduleDeferredModelOverride(
"msg_003",
{ providerID: "anthropic", modelID: "claude-opus-4-6" },
{ providerID: "anthropic", modelID: "claude-opus-4-7" },
)
await flushMicrotasks(5)
//#then
const model = readMessageModel("msg_003")
expect(model).toEqual({ providerID: "anthropic", modelID: "claude-opus-4-6" })
expect(model).toEqual({ providerID: "anthropic", modelID: "claude-opus-4-7" })
expect(readMessageField("msg_003", "variant")).toBeNull()
expect(readMessageField("msg_003", "thinking")).toBeNull()
})
@@ -180,7 +180,7 @@ describe("scheduleDeferredModelOverride", () => {
//#when
scheduleDeferredModelOverride(
"msg_004",
{ providerID: "anthropic", modelID: "claude-opus-4-6" },
{ providerID: "anthropic", modelID: "claude-opus-4-7" },
)
await flushMicrotasks(5)
@@ -200,7 +200,7 @@ describe("scheduleDeferredModelOverride", () => {
//#when
scheduleDeferredModelOverride(
"msg_corrupt",
{ providerID: "anthropic", modelID: "claude-opus-4-6" },
{ providerID: "anthropic", modelID: "claude-opus-4-7" },
)
await flushMicrotasks(5)