add AnyAPI sync provider#3230
Conversation
7fd588f to
f46ef22
Compare
Action items
|
Action items
|
Action items
|
Action items
|
Action items
|
Action items
|
|
Based on my analysis of the PR, the existing provider infrastructure, sync patterns, and the AGENTS.md guidance, here is my review: Action items
|
|
I now have a complete picture. Let me verify my understanding of one edge: confirm that I've confirmed:
Action items
|
|
Based on my thorough analysis of all 9 patches in the diff, the provider directory, schema, sync infrastructure, and related provider modules, here is my review: Action items
|
Action items
|
Action items
|
Action items
|
1c7a7f5 to
cb70617
Compare
Action items
|
|
No actionable findings. |
- add conservative AnyAPI sync provider using /v1/models - require ANYAPI_API_KEY for sync runs and wire workflow env - register provider in aggregators - preserve existing authored AnyAPI TOMLs byte-for-byte - skip creating new models from the thin ID-only endpoint - never delete hand-authored models missing from API response - align existing AnyAPI file paths with current API ids where needed - move rationale comments into leading blocks so sync preserves them
02b346c to
173b96b
Compare
Action items
|
Adds AnyAPI (https://anyapi.ai) sync provider module. The
/v1/modelsendpoint returns model IDs documented in the AnyAPI docs: https://docs.anyapi.ai.Verified against the live AnyAPI API on 2026-07-13:
/v1/models:anthropic/claude-haiku-4.5/v1/models:anthropic/claude-sonnet-4.5/v1/models:anthropic/claude-sonnet-4.6/v1/models:anthropic/claude-opus-4.6/v1/models:anthropic/claude-opus-4.7/v1/models:anthropic/claude-opus-4-6/v1/models:anthropic/claude-opus-4-7/v1/models:google/gemini-3-pro-image/v1/models:google/gemini-3-pro-preview/v1/models:x-ai/grok-4.3Verified against the live chat endpoint with the same API key:
anthropic/claude-opus-4.6-> HTTP 200anthropic/claude-opus-4-6-> HTTP 400anthropic/claude-opus-4.7-> HTTP 200anthropic/claude-opus-4-7-> HTTP 400That is why the existing AnyAPI file paths were renamed to the dot-form Opus IDs and why the sync should treat those dot-form IDs as authoritative.
Changes
packages/core/src/sync/providers/anyapi.ts— fetches fromhttps://api.anyapi.ai/v1/modelsaggregatorsgroupANYAPI_API_KEYdeleteMissing: false— never removes hand-authored models missing from API responseskipCreates: true— does not auto-create new models from the thin ID-only endpointUsage
This is a conservative thin-endpoint sync: it uses the API as catalog availability input, but keeps existing hand-authored AnyAPI model files unchanged unless future provider metadata becomes authoritative enough for richer syncing.