Skip to content

feat(provider): add ModelSource::Dynamic with curated fallback - #3871

Closed
KooshaPari wants to merge 1 commit into
tailcallhq:mainfrom
KooshaPari:repair/dynamic-model-provider-20260911
Closed

feat(provider): add ModelSource::Dynamic with curated fallback#3871
KooshaPari wants to merge 1 commit into
tailcallhq:mainfrom
KooshaPari:repair/dynamic-model-provider-20260911

Conversation

@KooshaPari

Copy link
Copy Markdown

What this does

Adds dynamic model provider fetching via ModelSource::Dynamic: fetches the live model list from /v1/models, enriches it with curated metadata from a fallback list matched by model id, and falls back to that list when the fetch fails. Converts 7 static providers (openai, anthropic, google, bedrock, opencode, openai_responses) to dynamic dispatch.

Verification

Check Result
cargo fmt --all -- --check Pass
cargo clippy --workspace --all-targets 0 errors
cargo test --workspace --lib --no-fail-fast 3201 passed, 0 failed, 1 ignored
Mock wire-level integration tests 4/4 passed

Note

This PR was created under option 3 (hold and review) — origin/main was not touched. The branch includes the full accumulated WIP from the repair branch plus the dynamic-provider subset. Reviewers should inspect the full commit history before merging.

Copilot AI lite review requested due to automatic review settings September 11, 2026 11:32

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@CLAassistant

CLAassistant commented Sep 11, 2026

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


KooshaPari seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@github-actions github-actions Bot added ci: benchmark Runs benchmarks type: feature Brand new functionality, features, pages, workflows, endpoints, etc. type: provider Updates provider.json configuration. labels Sep 11, 2026
Add a richer ModelSource::Dynamic variant that fetches the live model list
from a /v1/models endpoint, enriches it with curated metadata from a
fallback list matched by model id, and falls back to that list when the
fetch fails. Converts 7 static providers (openai, anthropic, google,
bedrock, opencode, openai_responses) to dynamic dispatch. Verified: cargo
fmt, clippy --workspace --all-targets, and 3201 passing tests.

Signed-off-by: KooshaPari <koosha@example.com>
@KooshaPari
KooshaPari force-pushed the repair/dynamic-model-provider-20260911 branch from 4c9e898 to ebf343a Compare September 11, 2026 11:44
@KooshaPari

Copy link
Copy Markdown
Author

Closing - tailcall has paused forge2. Moving development to KooshaPari/forgecode fork. No intent to contribute upstream.

@KooshaPari KooshaPari closed this Sep 12, 2026
@KooshaPari
KooshaPari deleted the repair/dynamic-model-provider-20260911 branch September 12, 2026 02:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci: benchmark Runs benchmarks type: feature Brand new functionality, features, pages, workflows, endpoints, etc. type: provider Updates provider.json configuration.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants