fix: clean up OpenRouter-generated provider configs#37
Conversation
908d9a0 to
69c0656
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 908d9a063f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
scripts/sync-pricing.py
Outdated
| "alibaba", # → qwen.toml | ||
| "amazon", # → bedrock.toml | ||
| "bytedance", # → volcengine.toml | ||
| "nvidia", # → nvidia-nim.toml | ||
| "rekaai", # → reka.toml (if it gets a proper base_url) |
There was a problem hiding this comment.
Preserve unique model IDs before skipping duplicate providers
Adding these IDs to SKIP_DUPLICATES while deleting their TOMLs removes model entries that are not present in the mapped hand-written files (for example, nova-micro-v1/nova-premier-v1 are not in providers/bedrock.toml, nemotron-3-nano-30b-a3b is not in providers/nvidia-nim.toml, and reka-flash-3 is not in providers/reka.toml). That makes previously valid model IDs disappear from the registry and will break users or experiments pinned to them unless equivalent entries/aliases are migrated first.
Useful? React with 👍 / 👎.
- Merge unique models from duplicate providers into their hand-written counterparts and remove the duplicates: - alibaba (tongyi-deepresearch) → qwen - amazon (nova-2-lite, nova-micro, nova-premier) → bedrock - bytedance (ui-tars) → volcengine - nvidia (nemotron-3-nano, nemotron-3-super, etc.) → nvidia-nim - rekaai (reka-flash-3) → reka - Set correct official API base_url for providers with public APIs: arcee-ai, inception, morph, reka, upstage - Set key_required=false for 20 providers only accessible through hosting platforms (no public API) - Update sync-pricing.py with SKIP_DUPLICATES, PROVIDER_API mapping, and default key_required=false for future auto-generated providers
69c0656 to
150055c
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 150055ce5c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| aliases = [] | ||
|
|
||
| [[models]] | ||
| id = "bedrock/amazon.nova-2-lite-v1:0" |
There was a problem hiding this comment.
Preserve legacy Amazon Nova model IDs as aliases
This migration introduces bedrock/amazon... IDs but removes the standalone Amazon provider, so previously valid IDs (nova-2-lite-v1, nova-lite-v1, nova-micro-v1, nova-premier-v1, nova-pro-v1) disappear with no alias bridge. Any config or experiment pinned to those IDs will fail model lookup after this commit. Fresh evidence in this revision is that these old IDs are absent from the remaining provider TOMLs and aliases.toml.
Useful? React with 👍 / 👎.
| aliases = ["phi-4-mini"] | ||
|
|
||
| [[models]] | ||
| id = "nvidia/nemotron-3-nano-30b-a3b" |
There was a problem hiding this comment.
Keep NVIDIA free model IDs before provider removal
The new NVIDIA entries only keep prefixed IDs (nvidia/...) and the commit deletes the old nvidia.toml, which removes all prior :free model IDs (nemotron-3-nano-30b-a3b:free, nemotron-3-super-120b-a12b:free, nemotron-nano-12b-v2-vl:free, nemotron-nano-9b-v2:free) without aliases. Users pinned to these IDs lose access immediately instead of being migrated safely. Fresh evidence here is that this new block defines only non-free prefixed IDs.
Useful? React with 👍 / 👎.
Summary
base_urlfor 5 providers with public APIs (arcee-ai, inception, morph, reka, upstage)key_required=falsefor 20 providers only accessible through hosting platformssync-pricing.pywithSKIP_DUPLICATES,PROVIDER_APImapping, and defaultkey_required=falsefor future auto-generated providersTest plan
python scripts/sync-pricing.py --dry-runto verify script changes