From 992848431b38ea7eb4b01ffd121974d930759cde Mon Sep 17 00:00:00 2001 From: OmniRoute Ops Date: Mon, 11 May 2026 16:25:00 +0000 Subject: [PATCH] address review: add MODEL_SPECS entries for new claude/kimi/mimo models Per gemini-code-assist review on #2163, the registry contextLength/ maxOutputTokens values were being silently capped to 8192 by capMaxOutputTokens() because the model IDs were absent from MODEL_SPECS, falling back to __default__.maxOutputTokens. Adds entries with matching limits : - claude-opus-4-5-20251101 : 64000 max_out (overrides prefix-match to claude-opus-4-5 which has 32768) - claude-opus-4-6 : 128000 max_out, 1M context tier - claude-sonnet-4-6, claude-sonnet-4-5-20250929, claude-haiku-4-5-20251001 : 64000 max_out each - kimi-k2.6 : 262144 max_out, 262144 context, with aliases for kimi-k2.6-thinking and kimi-for-coding - mimo-v2.5-pro / mimo-v2.5 : 131072 max_out, 1048576 context - mimo-v2-omni : 131072 max_out, 262144 context - mimo-v2-flash : 65536 max_out, 262144 context Each entry carries `aliases` where dot-notation variants exist (e.g. claude-opus-4.6), so capMaxOutputTokens resolves them via the explicit alias lookup before falling back to the prefix-match path. --- src/shared/constants/modelSpecs.ts | 82 ++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/src/shared/constants/modelSpecs.ts b/src/shared/constants/modelSpecs.ts index 079b6e04b7..64de28c63a 100644 --- a/src/shared/constants/modelSpecs.ts +++ b/src/shared/constants/modelSpecs.ts @@ -79,6 +79,27 @@ export const MODEL_SPECS: Record = { supportsVision: true, }, + // ── Claude Opus 4.5 (full ID — overrides prefix match on claude-opus-4-5) ── + "claude-opus-4-5-20251101": { + maxOutputTokens: 64000, + contextWindow: 200000, + defaultThinkingBudget: 10000, + thinkingBudgetCap: 32000, + supportsThinking: true, + supportsTools: true, + supportsVision: true, + }, + + // ── Claude Opus 4.6 (1M context tier) ─────────────────────────── + "claude-opus-4-6": { + maxOutputTokens: 128000, + contextWindow: 1000000, + supportsThinking: true, + supportsTools: true, + supportsVision: true, + aliases: ["claude-opus-4.6"], + }, + // ── Claude Opus 4.7 ───────────────────────────────────────────── "claude-opus-4-7": { maxOutputTokens: 128000, @@ -89,6 +110,67 @@ export const MODEL_SPECS: Record = { aliases: ["claude-opus-4.7"], }, + // ── Claude Sonnet 4.6 ─────────────────────────────────────────── + "claude-sonnet-4-6": { + maxOutputTokens: 64000, + contextWindow: 200000, + supportsThinking: true, + supportsTools: true, + supportsVision: true, + aliases: ["claude-sonnet-4.6"], + }, + + // ── Claude Sonnet 4.5 ─────────────────────────────────────────── + "claude-sonnet-4-5-20250929": { + maxOutputTokens: 64000, + contextWindow: 200000, + supportsThinking: true, + supportsTools: true, + supportsVision: true, + aliases: ["claude-sonnet-4.5"], + }, + + // ── Claude Haiku 4.5 ──────────────────────────────────────────── + "claude-haiku-4-5-20251001": { + maxOutputTokens: 64000, + contextWindow: 200000, + supportsThinking: true, + supportsTools: true, + supportsVision: true, + aliases: ["claude-haiku-4.5"], + }, + + // ── Kimi K2.6 (Moonshot Kimi Code OAuth — 262K native) ────────── + "kimi-k2.6": { + maxOutputTokens: 262144, + contextWindow: 262144, + supportsThinking: true, + supportsTools: true, + aliases: ["kimi-k2.6-thinking", "kimi-for-coding"], + }, + + // ── Xiaomi MiMo V2.5 (1M context, consensus across 7+ sync sources) ── + "mimo-v2.5-pro": { + maxOutputTokens: 131072, + contextWindow: 1048576, + supportsTools: true, + }, + "mimo-v2.5": { + maxOutputTokens: 131072, + contextWindow: 1048576, + supportsTools: true, + }, + "mimo-v2-omni": { + maxOutputTokens: 131072, + contextWindow: 262144, + supportsTools: true, + }, + "mimo-v2-flash": { + maxOutputTokens: 65536, + contextWindow: 262144, + supportsTools: true, + }, + // Defaults __default__: { maxOutputTokens: 8192,