chore(ai): refresh the generated model catalog from live provider sources - #2039
Merged
Conversation
…rces Explicit, reviewed regeneration via `npm run generate-models`: 1238 -> 1262 models (41 added, 17 removed). No provider dropped wholesale or lost >30% of its rows. GitHub Copilot removed claude-opus-4.5, claude-opus-4.6, claude-sonnet-4, claude-sonnet-4.5, gemini-3.1-pro-preview, gpt-4.1, gpt-5.2, and gpt-5.2-codex; its stale claude-sonnet-4.5 entry is what broke CI type checks against the regenerated catalog. Test references to the removed Copilot models move to claude-sonnet-4.6 and gpt-5.3-codex; the interleaved-thinking beta test uses claude-haiku-4.5, the only remaining non-adaptive Claude in the Copilot catalog. All other providers' referenced ids are unchanged. Every defaultModelPerProvider entry exists in the refreshed catalog except the pre-existing zai glm-5.1 gap already fixed in #2032. Linear: RES-1269
xeophon
approved these changes
Sep 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
First explicit, reviewed refresh of the generated model catalog (
npm run generate-models), per the RES-1269 discussion: catalog regeneration is a deliberate, audited step rather than a CI side effect. This PR stands alone against current main: CI's build regenerates the catalog, and the committed file here is byte-identical (md5af81f536fceafbdeac473ee4f6f5b0d8) to a fresh regeneration at validation time, so committed == live. If upstream shifts before merge and CI fails, the catalog should be regenerated and this PR updated.Totals: 1238 -> 1262 models (41 added, 17 removed). No provider dropped wholesale or lost >30% of its rows (the silent-
[]fetch-failure signature from #2008 did not occur; generator logs showed all four sources loading: models.dev 564, OpenRouter 294, Vercel AI Gateway 233, Prime Inference 107).Per-provider changes
Providers not listed are unchanged.
Added
anthropic.claude-fable-5-1,global.anthropic.claude-fable-5-1,us.anthropic.claude-fable-5-1claude-fable-5-1claude-fable-5.1@cf/zai-org/glm-5.3accounts/fireworks/models/deepseek-v4-flash-vision-exp,accounts/fireworks/models/glm-5p3,accounts/fireworks/models/glm-5p3-flashclaude-fable-5.1,gemini-3.8-flashgemini-3.8-flashqwen/qwen3.8-27bdeepseek-ai/DeepSeek-V4-Flash-Vision-Exp,zai-org/GLM-5.3claude-fable-5-1,gemini-3.8-flash,ling-3.0-flash-fin-free,muse-spark-1.3-contributor-freehy4-preview,muse-spark-1.3-contributor,omen-alphaanthropic/claude-fable-5.1,google/gemini-3.8-flash,ibm-granite/granite-4.2-8b,inception/mercury-2.5-preview,inclusionai/ling-3.0-flash-fin,meta/muse-spark-1.3,meta/muse-spark-1.3-contributor,~z-ai/glm-flash-latestx-ai/grok-4.6alibaba/qwen3.8-flash-next,alibaba/qwen3.8-max-0902,anthropic/claude-fable-5.1,google/gemini-3.8-flash,meta/muse-spark-1.3,meta/muse-spark-1.3-contributor,tencent/hy4-preview,xiaomi/mimo-v2.5-pro-ultraspeed,zai/glm-5.3-fast,zai/glm-5.3-promo-50Removed
accounts/fireworks/models/deepseek-v4-flashclaude-opus-4.5,claude-opus-4.6,claude-sonnet-4,claude-sonnet-4.5,gemini-3.1-pro-preview,gpt-4.1,gpt-5.2,gpt-5.2-codexgemini-robotics-er-1.6-previewhy3-freeanthropic/claude-opus-4.7-fast,anthropic/claude-opus-4.8-fast,anthropic/claude-opus-5-fast,arcee-ai/virtuoso-large,kwaipilot/kat-coder-air-v2.5deepseek/deepseek-v3Reference fixes (substitution table)
GitHub Copilot dropped 8 models; two of them were referenced in typed
getModel("github-copilot", ...)calls (the exact breakage that motivated RES-1269 — the failing union in CI was Copilot's model list). Substitutions, applied only to (provider, id) pairs that were actually removed:claude-sonnet-4.5claude-sonnet-4.6expect+ 1 handoff pairclaude-sonnet-4.5claude-haiku-4.5github-copilot-anthropic.test.ts; the beta header is only sent for non-adaptive-thinking models and haiku is the only remaining non-adaptive Claude in the Copilot cataloggpt-5.2-codexgpt-5.3-codextool-call-id-normalization.test.ts+ 1 handoff pairThe same ids under other providers (anthropic
claude-sonnet-4-5, openai-codexgpt-5.2-codex, openaigpt-5.2, googlegemini-3.1-pro-preview, etc.) still exist and their references are untouched. No test added or removed; counts unchanged.defaultModelPerProvider check
Every entry resolves in the refreshed catalog except
zai: glm-5.1, which is missing from the OLD catalog too — a pre-existing gap, already fixed (with a catalog-existence pin) in open #2032. Not duplicated here.Data-quality notes (report only, for the upcoming validation work)
huggingface / thinkingmachines/Inkling-Small:maxTokens1048576 >contextWindow524288 (likely swapped upstream). Pre-existing — identical values in the old catalog. Only violation ofmaxTokens <= contextWindowin the 1262 rows; no zero or missing contextWindow/maxTokens fields.Verification (clean checkout, Prime sandbox, source-only sync + npm ci)
npm run build(which on current main regenerates the catalog — exact CI mirror): exit 0; regenerated file byte-identical to the committed one.npm run check: exit 0.packages/ainpm test: 50 files passed / 22 skipped, 0 failures (includes thecross-provider-handoffcatalog-existence guard).model-resolver,model-registry,tree-selector,settings-managertest files: 4/4 passed.Linear: RES-1269
Note
Medium Risk
Large generated catalog diff can break compile-time model unions and runtime routing for users pinned to removed ids; Copilot catalog shrink is the main behavioral change, mitigated by targeted test substitutions.
Overview
Refreshes the committed
models.generated.tscatalog (RES-1269) so it matches a livegenerate-modelsrun: 1262 models net (+41 / −17), with metadata and pricing updates across Bedrock, Anthropic, Google, Fireworks, OpenRouter, Vercel AI Gateway, opencode, and others.Notable catalog deltas: adds Claude Fable 5.1, Gemini 3.8 Flash, and GLM-5.3 (and related variants) on multiple routes; GitHub Copilot drops eight ids (e.g.
claude-sonnet-4.5,gpt-5.2-codex, older Opus/Sonnet/GPT entries) and gainsclaude-fable-5.1andgemini-3.8-flash. Several rows are renamed or retuned (Fireworks DeepSeek ids, OpenRouter “fast” Opus removals, Googlegemini-robotics-erremoval, etc.).Tests that typed
getModel("github-copilot", …)against removed ids now useclaude-sonnet-4.6andgpt-5.3-codex; the Copilot interleaved-thinking mock test switches toclaude-haiku-4.5because it is the remaining non-adaptive Claude in that catalog. A one-line.changesnote documents the refresh.Reviewed by Cursor Bugbot for commit 8a7bc2a. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Refresh generated model catalog from live provider sources
models.generated.tsmay break callers referencing deprecated IDs.Macroscope summarized 8a7bc2a.