Files
OmniRoute/open-sse
OmniRoute Ops fa3b6d18ac chore(registry): per-model contextLength/maxOutputTokens for active providers
The /v1/models catalog endpoint reads `model.contextLength` directly from
the REGISTRY entries (src/app/api/v1/models/catalog.ts:823) and falls back
to REGISTRY[provider].defaultContextLength → getTokenLimit chain otherwise.
`max_output_tokens` flows through enrichCatalogModelEntry which calls
getResolvedModelCapabilities (src/lib/modelCapabilities.ts:261-265) reading
the same per-model registry fields.

Currently most non-default-spec models lack explicit contextLength /
maxOutputTokens, so /v1/models advertises stale defaults
(DEFAULT_LIMITS.default = 128000, MODEL_SPECS.__default__.maxOutputTokens
= 8192). Clients that read these values to compute compression thresholds
or prompt budgets (e.g. Capy reading context_length for its compress
trigger) over-aggressively trim long conversations.

Provider IDs in the registry (`claude`, `kimi-coding`, `xiaomi-mimo`) do
not match the canonical IDs synced from models.dev (`anthropic`, `cc`,
`xiaomi`), so the DB lookup misses for these entries. The cleanest fix
is to populate the registry directly with values consensus'd across 6+
upstream sync sources (anthropic, cc, openrouter, kilocode, vercel,
xiaomi-token-plan-*, llmgateway, kc, kilo-gateway).

Values:

- claude (id="claude", alias="cc"):
    opus-4-7, opus-4-6 → 1M ctx / 128K max_out
    opus-4-5-20251101, sonnet-4-6, sonnet-4-5-20250929, haiku-4-5-20251001
      → 200K ctx / 64K max_out
- kiro (alias="kr"): same opus/sonnet/haiku tiering
- github (alias="gh"): same claude subset tiering
- KIMI_CODING_SHARED:
    kimi-k2.6, kimi-k2.6-thinking → 262K ctx / 262K max_out
- xiaomi-mimo:
    mimo-v2.5-pro, mimo-v2.5 → 1M ctx / 131K max_out
    mimo-v2-omni → 262K ctx / 131K max_out
    mimo-v2-flash → 262K ctx / 65K max_out

The 1M context tier for claude-opus-4-6/4-7 requires the
`context-1m-2025-08-07` beta header which selectBetaFlags() already
attaches automatically for full-agent traffic (hasTools && hasSystem,
the Capy pattern) — see open-sse/executors/claudeIdentity.ts:304. No
wire-level change needed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 16:13:51 +00:00
..
2026-05-10 00:55:06 -03:00
2026-05-10 00:55:06 -03:00
2026-04-19 19:50:30 -03:00