chore(scripts): model sync emits `tools: []` and skips ANTHROPIC_COMBINED_TOOLS_AND_SCHEMA_MODELS, so every new Anthropic model lands red (#1516)
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 68/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- typescript
- Lĩnh vực
- ai, testing-qa, tooling
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- TypeScript
- Star
- 3.1k
- Fork
- 340
- Merge trung bình
- 2 ngày 7 giờ
- Pull request đã merge (30 ngày)
- 175
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của TanStack/ai
-
signin with openaiĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 45/100
Maintainer thường phản hồi trong vòng 1 ngày
-
update elevenlabsCó thể đã có người làm @tombeckenham đã nhận 1 ngày trước. Đang mởhas-pr waiting-on: maintainer
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
TanStack/ai#1564 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
onAfterToolCall failure records a second, contradictory result for a successful server toolCó thể đã có người làm @AlemTuzlak đã nhận 2 ngày trước. Đang mởhas-pr waiting-on: maintainer
TanStack/ai#1558 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
SSE and NDJSON response streams drain unread sources without backpressureCó thể đã có người làm @tombeckenham đã nhận 2 ngày trước. Đang mởhas-pr waiting-on: maintainer
TanStack/ai#1556 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Solid useChat drops earlier turns after a reactive request option changesCó thể đã có người làm @AlemTuzlak đã nhận 2 ngày trước. Đang mởhas-pr waiting-on: maintainer
TanStack/ai#1552 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
bug via-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
pingdotgg/t3code#14452 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
solana-foundation/program-examples#747 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 9 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
remotion-dev/remotion#11847 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
openwatersio/slackwater#355 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
melgarafael/DeskcommCRM#1998 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày