chore(scripts): model sync emits `tools: []` and skips ANTHROPIC_COMBINED_TOOLS_AND_SCHEMA_MODELS, so every new Anthropic model lands red (#1516)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 68/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- ai, testing-qa, tooling
Direzione di ricerca
Start with scripts/model-sync/provider-supports.ts and scripts/sync-provider-models.ts, then run the failing Anthropic and OpenRouter tests named in the issue. Check the generated metadata against the hand-maintained Anthropic capability list and the catalog-based OpenRouter test. Done means the sync regenerates green metadata and the Sync Model Metadata workflow no longer fails.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
The daily model sync (automated/sync-models, PR #1516) is red on Test and Coverage. The Coverage job is not reporting a coverage drop — @tanstack/ai-anthropic:test:coverage errors out, so the job exits 1 before any comparison runs.
Run: https://github.com/TanStack/ai/actions/runs/36563236332 (head 3cbc3a061)
Three failures, all from the newly synced claude-sonnet-5-5 plus one removed OpenRouter model. All three reproduce locally:
-
@tanstack/ai-anthropic:test:lib—tests/model-meta.test.ts:418, "covers every registered model that accepts output_config.format":AssertionError: expected [ 'claude-sonnet-5-5' ] to deeply equal []The sync added
CLAUDE_SONNET_5_5.idtoANTHROPIC_MODELSand to the three type maps, but not toANTHROPIC_COMBINED_TOOLS_AND_SCHEMA_MODELS(packages/ai-anthropic/src/model-meta.ts:778). -
@tanstack/ai-anthropic:test:types—tests/tools-per-model-type-safety.test.ts:252, "every registered model declares at least one provider tool":error TS2344: Type '"claude-opus-5-fast"' does not satisfy the constraint '"Expected: literal string: claude-opus-5-fast, Actual: literal string: claude-sonnet-5-5"'The generated entry has
supports: { tools: [] }, so the new model joinsclaude-opus-5-fastin the "declares no provider tool" set that the test pins to exactly one id. For comparison, the hand-writtenCLAUDE_SONNET_5(packages/ai-anthropic/src/model-meta.ts:464) listsweb_search,web_fetch,code_execution,computer_use,bash,text_editor,memory. The generated entry also omits theextended_thinking/adaptive_thinking/priority_tierflags its siblings carry — same root cause, not caught by any test. -
@tanstack/ai-openrouter:test:types—tests/openrouter-combined-structured-output.test.ts:187:'anthropic/claude-3-haiku'is no longer inOPENROUTER_CHAT_MODELS. This sync dropped it (along withdeepseek/deepseek-r1-distill-llama-70band four:freevariants), so the literal no longer type-checks.
Root cause
1 and 2 are generator bugs and recur on every sync that adds a native Anthropic model.
scripts/model-sync/provider-supports.ts hardcodes tools: [] for every provider (case 'anthropic' at line 118, and the same literal in the openai, gemini and grok branches) — a conservative placeholder that was never filled in. scripts/sync-provider-models.ts:443 emits it verbatim, and nothing in the sync knows about ANTHROPIC_COMBINED_TOOLS_AND_SCHEMA_MODELS, so a new model lands registered-but-unlisted.
Same class as #1163: the sync writes a generated model list while a hand-maintained companion list goes stale.
3 is unrelated test brittleness — the test pins a literal catalog id that OpenRouter can (and did) delete.
Fix
scripts/model-sync/provider-supports.ts: fill the real provider server tools for new models instead of emittingtools: [], per provider (Anthropic, OpenAI, Gemini, Grok each have their own vocabulary — Anthropicweb_search/code_execution/…, OpenAIweb_search/file_search/code_interpreter/mcp/…, Geminicode_execution/google_search/url_context/…). While in there, emit the per-generation Anthropic flags (extended_thinking/adaptive_thinking/priority_tier) the hand-written entries carry.scripts/sync-provider-models.ts: insert a new native Anthropic model id intoANTHROPIC_COMBINED_TOOLS_AND_SCHEMA_MODELSwhen it acceptsoutput_config.format.packages/ai-openrouter/tests/openrouter-combined-structured-output.test.ts:187: stop pinning a literal that a sync can delete — pick the model from the catalog by capability instead.- Then re-run Sync Model Metadata (
workflow_dispatch) so #1516 regenerates green. Fixing #1516's branch directly is pointless:.github/workflows/sync-models.yml:52rebuilds it frommainandgit push --forces it every day at 06:00 UTC.
- Lingua principale
- TypeScript
- Stelle
- 3.1k
- Fork
- 340
- Merge medio
- 2g 7h
- PR unite (30g)
- 175
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di TanStack/ai
-
signin with openaiAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
I maintainer di solito rispondono entro 1 giorno
-
update elevenlabsForse già presa @tombeckenham l’ha presa 1 giorno fa. Apertahas-pr waiting-on: maintainer
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
TanStack/ai#1564 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
onAfterToolCall failure records a second, contradictory result for a successful server toolForse già presa @AlemTuzlak l’ha presa 1 giorno fa. Apertahas-pr waiting-on: maintainer
TanStack/ai#1558 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
SSE and NDJSON response streams drain unread sources without backpressureForse già presa @tombeckenham l’ha presa 1 giorno fa. Apertahas-pr waiting-on: maintainer
TanStack/ai#1556 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Solid useChat drops earlier turns after a reactive request option changesForse già presa @AlemTuzlak l’ha presa 1 giorno fa. Apertahas-pr waiting-on: maintainer
TanStack/ai#1552 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Issue simili
-
Mend: dependency security vulnerability untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
opensearch-project/security-dashboards-plugin#2545 ·
I maintainer di solito rispondono entro 1 giorno
-
Add: Dream TR SDApertacheck:passed streams:add
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
doctor integrity sample scans soft-deleted pages on Postgres (batch path has no deleted_at filter)Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
SocialGouv/egapro#4672 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
area:agents area:tui bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
anthropics/claude-code#98358 ·
I maintainer di solito rispondono entro 1 giorno