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:
@@ -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");
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user