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
@@ -18,7 +18,7 @@ describe("buildPlanDemoteConfig", () => {
//#given
const prometheusConfig = {
name: "prometheus",
model: "anthropic/claude-opus-4-6",
model: "anthropic/claude-opus-4-7",
variant: "max",
mode: "primary",
prompt: "You are Prometheus...",
@@ -39,7 +39,7 @@ describe("buildPlanDemoteConfig", () => {
//#then - picks model settings, NOT prompt/permission/description/color/name/mode
expect(result.mode).toBe("subagent")
expect(result.model).toBe("anthropic/claude-opus-4-6")
expect(result.model).toBe("anthropic/claude-opus-4-7")
expect(result.variant).toBe("max")
expect(result.temperature).toBe(0.1)
expect(result.top_p).toBe(0.95)
@@ -58,7 +58,7 @@ describe("buildPlanDemoteConfig", () => {
test("plan override takes priority over prometheus for all model settings", () => {
//#given
const prometheusConfig = {
model: "anthropic/claude-opus-4-6",
model: "anthropic/claude-opus-4-7",
variant: "max",
temperature: 0.1,
reasoningEffort: "high",
@@ -83,7 +83,7 @@ describe("buildPlanDemoteConfig", () => {
test("falls back to prometheus when plan override has partial settings", () => {
//#given
const prometheusConfig = {
model: "anthropic/claude-opus-4-6",
model: "anthropic/claude-opus-4-7",
variant: "max",
temperature: 0.1,
reasoningEffort: "high",
@@ -105,14 +105,14 @@ describe("buildPlanDemoteConfig", () => {
test("skips undefined values from both sources", () => {
//#given
const prometheusConfig = {
model: "anthropic/claude-opus-4-6",
model: "anthropic/claude-opus-4-7",
}
//#when
const result = buildPlanDemoteConfig(prometheusConfig, undefined)
//#then
expect(result).toEqual({ mode: "subagent", hidden: true, model: "anthropic/claude-opus-4-6" })
expect(result).toEqual({ mode: "subagent", hidden: true, model: "anthropic/claude-opus-4-7" })
expect(Object.keys(result)).toEqual(["mode", "hidden", "model"])
})
})