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
@@ -24,7 +24,7 @@ describe("buildPrometheusAgentConfig", () => {
(category) => ({ model: `${category}/default-model` } as CategoryConfig)
);
resolveModelPipelineSpy = spyOn(shared, "resolveModelPipeline").mockReturnValue({
model: "anthropic/claude-opus-4-6",
model: "anthropic/claude-opus-4-7",
provenance: "provider-fallback",
});
;({ buildPrometheusAgentConfig } = await importFreshPrometheusAgentConfigBuilderModule())
@@ -42,7 +42,7 @@ describe("buildPrometheusAgentConfig", () => {
describe("#when currentModel is NOT in Prometheus fallback chain", () => {
test("falls through to fallback chain instead of using currentModel as override", async () => {
// given - currentModel is a model NOT in Prometheus fallback chain
// Prometheus chain: claude-opus-4-6, gpt-5.4, glm-5, gemini-3.1-pro
// Prometheus chain: claude-opus-4-7, gpt-5.4, glm-5, gemini-3.1-pro
const currentModel = "some-provider/gpt-5.3-codex";
// when
@@ -65,14 +65,14 @@ describe("buildPrometheusAgentConfig", () => {
systemDefaultModel: undefined,
}),
});
expect(result.model).toBe("anthropic/claude-opus-4-6");
expect(result.model).toBe("anthropic/claude-opus-4-7");
});
});
describe("#when currentModel IS in Prometheus fallback chain", () => {
test("preserves currentModel as uiSelectedModel for claude-opus-4-6", async () => {
test("preserves currentModel as uiSelectedModel for claude-opus-4-7", async () => {
// given - currentModel matches a Prometheus fallback chain entry
const currentModel = "anthropic/claude-opus-4-6";
const currentModel = "anthropic/claude-opus-4-7";
// when - should not throw and should produce a valid config
const result = await buildPrometheusAgentConfig({
@@ -128,7 +128,7 @@ describe("buildPrometheusAgentConfig", () => {
describe("#given explicit Prometheus model configured via plugin override", () => {
test("explicit config wins over currentModel and fallback chain", async () => {
// given
const currentModel = "anthropic/claude-opus-4-6";
const currentModel = "anthropic/claude-opus-4-7";
const explicitModel = "custom-provider/custom-model";
// when
@@ -163,7 +163,7 @@ describe("buildPrometheusAgentConfig", () => {
describe("#given category with model configured", () => {
test("category model wins when no explicit override", async () => {
// given
const currentModel = "anthropic/claude-opus-4-6";
const currentModel = "anthropic/claude-opus-4-7";
const categoryModel = "category-provider/category-model";
resolveCategoryConfigSpy.mockReturnValue({
@@ -264,7 +264,7 @@ describe("buildPrometheusAgentConfig", () => {
},
})
);
expect(result.model).toBe("anthropic/claude-opus-4-6");
expect(result.model).toBe("anthropic/claude-opus-4-7");
});
});