Thanks to visit codestin.com
Credit goes to github.com

Skip to content

fix(provider): Ambient as a built-in verified-inference provider#3389

Merged
amitksingh1490 merged 4 commits into
tailcallhq:mainfrom
ambient-gregory:feat/ambient-provider
Jun 6, 2026
Merged

fix(provider): Ambient as a built-in verified-inference provider#3389
amitksingh1490 merged 4 commits into
tailcallhq:mainfrom
ambient-gregory:feat/ambient-provider

Conversation

@ambient-gregory

@ambient-gregory ambient-gregory commented May 25, 2026

Copy link
Copy Markdown
Contributor

Summary

Add Ambient as a built-in LLM provider in ForgeCode, exposing Ambient-hosted models through its OpenAI-compatible chat completions API.

Context

Ambient is a verified inference provider — every request is independently verified and the proof is posted on-chain, giving users cryptographic guarantees that the output came from the advertised model and weights. Verification is transparent to the client: no special headers or request fields are required.

The API itself is OpenAI-compatible (https://api.ambient.xyz/v1/chat/completions and https://api.ambient.xyz/v1/models), so this integration plugs into the existing OpenAI response type with no new transport code.

Changes

crates/forge_repo/src/provider/provider.json

  • Added ambient provider entry with OpenAI-compatible response type
  • Chat endpoint: https://api.ambient.xyz/v1/chat/completions
  • Models endpoint: https://api.ambient.xyz/v1/models (driven live from the API, so the catalog stays in sync without code changes)
  • Auth: API key (AMBIENT_API_KEY)

crates/forge_domain/src/provider.rs

  • Added ProviderId::AMBIENT constant
  • Registered in built_in_providers()
  • Added "Ambient" display-name mapping
  • Added "ambient" arm to FromStr
  • Added 3 unit tests: test_ambient_from_str, test_ambient_display_name, test_ambient_in_built_in_providers
  • Extended test_provider_id_display_name and test_codex_in_built_in_providers aggregate tests

crates/forge_repo/src/provider/provider_repo.rs

  • Added test_ambient_config covering id, env var, response type, and URL

How to Use

  1. Get an API key from Ambient
  2. forge provider login ambient → enter your key
  3. Select an Ambient model via /model

Testing

cargo test -p forge_domain -p forge_repo provider

All 269 existing provider tests pass; 4 new Ambient tests added and passing.

Register Ambient as a built-in OpenAI-compatible provider. Models are
sourced live from Ambient's /v1/models endpoint, so the catalog stays in
sync with the upstream API without code changes.

- provider.json: ambient entry (AMBIENT_API_KEY, OpenAI response type)
- ProviderId::AMBIENT constant, display name, built-in registration,
  FromStr arm
- Tests: from_str, display_name, built_in_providers, provider_repo config
@CLAassistant

CLAassistant commented May 25, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@github-actions github-actions Bot added type: feature Brand new functionality, features, pages, workflows, endpoints, etc. type: provider Updates provider.json configuration. labels May 25, 2026
@ambient-gregory

Copy link
Copy Markdown
Contributor Author

cc @amitksingh1490 🙏

@github-actions

github-actions Bot commented Jun 5, 2026

Copy link
Copy Markdown

Action required: PR inactive for 5 days.
Status update or closure in 10 days.

@github-actions github-actions Bot added the state: inactive No current action needed/possible; issue fixed, out of scope, or superseded. label Jun 5, 2026
@ambient-gregory

Copy link
Copy Markdown
Contributor Author

Hi @amitksingh1490 this should be ready for review 🙏

@github-actions github-actions Bot removed the state: inactive No current action needed/possible; issue fixed, out of scope, or superseded. label Jun 5, 2026
@amitksingh1490 amitksingh1490 changed the title feat(provider): add Ambient as a built-in verified-inference provider fix(provider): add Ambient as a built-in verified-inference provider Jun 5, 2026
@amitksingh1490 amitksingh1490 changed the title fix(provider): add Ambient as a built-in verified-inference provider fix(provider): Ambient as a built-in verified-inference provider Jun 5, 2026
@amitksingh1490 amitksingh1490 added type: fix Iterations on existing features or infrastructure. and removed type: feature Brand new functionality, features, pages, workflows, endpoints, etc. labels Jun 5, 2026
@amitksingh1490

Copy link
Copy Markdown
Contributor

Thanx @ambient-gregory

@amitksingh1490 amitksingh1490 merged commit 38eca6a into tailcallhq:main Jun 6, 2026
20 checks passed
KooshaPari pushed a commit to KooshaPari/forgecode that referenced this pull request Jun 16, 2026
…tion, and loop commands (#20)

* fix: pin reedline to 0.47.0 (tailcallhq#3398)

Co-authored-by: ForgeCode <[email protected]>
Co-authored-by: laststylebender <[email protected]>

* chore(deps): update rust crate reedline to v0.48.0 (tailcallhq#3406)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Revert "chore(deps): update rust crate reedline to v0.48.0" (tailcallhq#3409)

* fix(openai_responses): handle codex response completed/incomplete events (tailcallhq#3405)

* chore(deps): update rust crate posthog-rs to v0.7.2 (tailcallhq#3410)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @ai-sdk/google-vertex to v4.0.140 (tailcallhq#3412)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency ai to v6.0.192 (tailcallhq#3413)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(provider): add model entries to provider.json and vertex.json (tailcallhq#3414)

* chore(deps): update rust crate posthog-rs to v0.7.3 (tailcallhq#3415)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update rust crate aws-sdk-bedrockruntime to v1.132.0 (tailcallhq#3416)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: apply Opus 4.7 API contract to Claude Opus 4.8 (tailcallhq#3418)

Co-authored-by: ForgeCode <[email protected]>

* refactor(editor): replace reedline with rustyline completer (tailcallhq#3399)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* fix(minimax): MiniMax M3 model support (tailcallhq#3434)

Co-authored-by: ForgeCode <[email protected]>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* fix(gemini): strip propertyNames from tool schemas (tailcallhq#3426)

Co-authored-by: Amit Singh <[email protected]>

* fix(http): map invalid response status to openai error (tailcallhq#3439)

* chore(deps): update aws-sdk-rust monorepo (tailcallhq#3420)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @ai-sdk/google-vertex to v4.0.142 (tailcallhq#3440)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency ai to v6.0.197 (tailcallhq#3444)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency tsx to v4.22.4 (tailcallhq#3427)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update rust crate chrono to v0.4.45 (tailcallhq#3445)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update rust crate diesel to v2.3.10 (tailcallhq#3446)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update rust crate unicode-segmentation to v1.13.3 (tailcallhq#3431)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update rust crate uuid to v1.23.2 (tailcallhq#3421)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v24.13.0 (tailcallhq#3447)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update rust to 1.96 (tailcallhq#3419)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update rust crate ignore to v0.4.26 (tailcallhq#3453)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update rust crate google-cloud-auth to v1.12.0 (tailcallhq#3449)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update rust crate serial_test to v3.5.0 (tailcallhq#3423)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update rust crate posthog-rs to 0.9.0 (tailcallhq#3451)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update rust crate posthog-rs to 0.10.0 (tailcallhq#3455)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(provider): Ambient as a built-in verified-inference provider (tailcallhq#3389)

Co-authored-by: Amit Singh <[email protected]>

* chore(deps): update dependency @types/node to v24.13.1 (tailcallhq#3458)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Amit Singh <[email protected]>

* build(deps): bump brace-expansion from 5.0.5 to 5.0.6 (tailcallhq#3359)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(openai_responses): preserve 503 retryable errors in stream (tailcallhq#3460)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* fix(select): ignore key Release events so pickers do not close instantly on Windows (tailcallhq#3462)

Co-authored-by: Claude Opus 4.8 <[email protected]>

* fix(editor): strip ANSI from rustyline prompt raw() so the cursor tracks on Windows (tailcallhq#3461)

Co-authored-by: Claude Opus 4.8 <[email protected]>
Co-authored-by: Amit Singh <[email protected]>

* chore(deps): update tokio-prost monorepo to v0.14.4 (tailcallhq#3467)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency ai to v6.0.198 (tailcallhq#3470)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update rust crate http to v1.4.2 (tailcallhq#3471)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update rust crate uuid to v1.23.3 (tailcallhq#3473)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @ai-sdk/google-vertex to v4.0.143 (tailcallhq#3475)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency ai to v6.0.199 (tailcallhq#3476)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(anthropic):  support for claude mythos and fable models (tailcallhq#3474)

* chore(deps): update rust crate regex to v1.12.4 (tailcallhq#3478)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency ai to v6.0.200 (tailcallhq#3481)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to v24.13.2 (tailcallhq#3483)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency ai to v6.0.201 (tailcallhq#3484)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update rust crate insta to v1.48.0 (tailcallhq#3486)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @ai-sdk/google-vertex to v4.0.144 (tailcallhq#3488)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency ai to v6.0.202 (tailcallhq#3489)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update rust crate rmcp to v1 [security] (tailcallhq#3277)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Amit Singh <[email protected]>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* build(deps): bump openssl from 0.10.78 to 0.10.80 (tailcallhq#3364)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Amit Singh <[email protected]>

* fix(config): config auto_install_vscode_extension option (tailcallhq#3485)

Co-authored-by: laststylebender <[email protected]>

* chore(deps): update rust crate aws-smithy-types to v1.5.0 (tailcallhq#3490)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update rust crate async-openai to 0.41.0 (tailcallhq#3078)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Amit Singh <[email protected]>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* feat(provider): add claude-fable-5 to vertex_ai_anthropic models (tailcallhq#3480)

Co-authored-by: akhilapp <[email protected]>
Co-authored-by: Amit Singh <[email protected]>

* chore(deps): update rust crate google-cloud-auth to v1.13.0 (tailcallhq#3491)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update rust crate posthog-rs to 0.11.0 (tailcallhq#3487)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(forge_select): enter alternate screen to keep prompt visible (tailcallhq#3492)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* fix(zsh): pad _forge_reset to avoid zle clearing output (tailcallhq#3494)

* chore(deps): update dependency @ai-sdk/google-vertex to v4.0.145 (tailcallhq#3495)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update rust crate posthog-rs to 0.12.0 (tailcallhq#3498)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency ai to v6.0.204 (tailcallhq#3496)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update rust crate aws-sdk-bedrockruntime to v1.134.0 (tailcallhq#3499)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(provider): add missing fireworks models in provider.json (tailcallhq#3504)

* fix(provider): add z.ai glm-5.2 model to provider.json (tailcallhq#3505)

* chore(deps): update dependency ai to v6.0.205 (tailcallhq#3509)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: show only direct conversation initiated by the user via the `:conversation` command (tailcallhq#3510)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* feat: add parent_id, source, FTS5, subagent hiding, and loop commands

* fix(ui): apply user_initiated_conversations filter to SelectCommand::Conversation

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Amit Singh <[email protected]>
Co-authored-by: ForgeCode <[email protected]>
Co-authored-by: laststylebender <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Imamuzzaki Abu Salam <[email protected]>
Co-authored-by: Pascal <[email protected]>
Co-authored-by: Gregory <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: resrever <[email protected]>
Co-authored-by: Claude Opus 4.8 <[email protected]>
Co-authored-by: Sandipsinh Dilipsinh Rathod <[email protected]>
Co-authored-by: Akhil Appana <[email protected]>
Co-authored-by: akhilapp <[email protected]>
Co-authored-by: Tushar Mathur <[email protected]>
Co-authored-by: Phenotype Agent <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: fix Iterations on existing features or infrastructure. type: provider Updates provider.json configuration.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants