From 7492688effa2ab2dd12094dc4b6d9f7f2e8d909b Mon Sep 17 00:00:00 2001 From: Sergey Galuza Date: Mon, 20 Apr 2026 19:00:39 +0200 Subject: [PATCH] test(cliproxy): cover Claude Opus 4.7 in Claude provider catalog Adds a unit test verifying that `claude-opus-4-7` is registered in the `claude` provider with its provider-specific settings: - `thinking.zeroAllowed: false` (contrasts with AGY where it is true) - `extendedContext: true` (1M context via Anthropic API) Addresses PResto atrvd/ccs#8 issue #4 (suggestion). Built [OnSteroids](https://onsteroids.ai) --- tests/unit/cliproxy/model-catalog.test.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/unit/cliproxy/model-catalog.test.js b/tests/unit/cliproxy/model-catalog.test.js index 36905d66..35ec26c5 100644 --- a/tests/unit/cliproxy/model-catalog.test.js +++ b/tests/unit/cliproxy/model-catalog.test.js @@ -156,6 +156,17 @@ describe('Model Catalog', () => { assert.strictEqual(sonnet.name, 'Claude Sonnet 4.6'); }); + it('includes Claude Opus 4.7 with provider-specific settings', () => { + const { MODEL_CATALOG } = modelCatalog; + const opus47 = MODEL_CATALOG.claude.models.find((m) => m.id === 'claude-opus-4-7'); + assert(opus47, 'Should include Claude Opus 4.7'); + assert.strictEqual(opus47.name, 'Claude Opus 4.7'); + // Claude provider differs from AGY: zero thinking budget is disallowed, + // and extended (1M) context is available on the Anthropic API. + assert.strictEqual(opus47.thinking.zeroAllowed, false); + assert.strictEqual(opus47.extendedContext, true); + }); + it('retains previous 4.5 snapshot models for explicit selection', () => { const { MODEL_CATALOG } = modelCatalog; const ids = MODEL_CATALOG.claude.models.map((m) => m.id);