Skip to content

fix(provider): meta muse spark 1.1 provider#3688

Open
gonzoga wants to merge 5 commits into
tailcallhq:mainfrom
gonzoga:feat/add-meta-provider
Open

fix(provider): meta muse spark 1.1 provider#3688
gonzoga wants to merge 5 commits into
tailcallhq:mainfrom
gonzoga:feat/add-meta-provider

Conversation

@gonzoga

@gonzoga gonzoga commented Jul 15, 2026

Copy link
Copy Markdown

Summary

Add Meta as a new built-in provider to ForgeCode, using the Meta Model API at https://api.meta.ai/v1. Meta's API is OpenAI Responses-compatible with Bearer token authentication via META_API_KEY.

Context

Meta recently launched their Model API with Muse Spark 1.1, a multimodal model supporting agentic tool calling, coding, structured output, image/video understanding, and long-context reasoning with a 1M-token context window. The API is drop-in compatible with the OpenAI Responses API, making this a pure configuration-driven integration with no new behavioral code needed.

Changes

  • crates/forge_repo/src/provider/provider.json: Add meta provider entry with OpenAIResponses response type, MODEL_API_KEY env var, and hardcoded muse-spark-1.1 model (1,048,576 context, tools + parallel tools + reasoning, text + image input)
  • crates/forge_domain/src/provider.rs: Register META constant, add to built_in_providers(), add from_str() and display_name() match arms, add 3 new tests + update 2 existing tests
  • crates/forge_repo/src/provider/provider_repo.rs: Add test_meta_config test verifying provider config, response type, URL, and hardcoded model specs
  • README.md: Add Meta env var documentation entry

Testing

  • cargo check passes with no errors
  • cargo test -p forge_domain -- provider::tests — 42 passed, 0 failed (including 3 new Meta tests)
  • cargo test -p forge_repo -- provider_repo::tests — 14 passed, 0 failed (including test_meta_config)
  • cargo insta test --accept — no snapshot changes needed

Notes

  • Uses OpenAIResponses response type per Meta's recommendation for "the full feature set for agentic workflows" including reasoning replay across turns
  • The InputModality enum only supports Text and Image — the Meta API also accepts video and PDF inputs, but these cannot be represented in the current domain model
  • Follows the Vivgrid precedent (OpenAIResponses + hardcoded models) and the Neuralwatt precedent (hardcoded model content verification)

Co-Authored-By: ForgeCode noreply@forgecode.dev

Co-Authored-By: ForgeCode <noreply@forgecode.dev>
@CLAassistant

CLAassistant commented Jul 15, 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 Jul 15, 2026
@amitksingh1490 amitksingh1490 changed the title feat(provider): add meta muse spark 1.1 provider fix(provider): add meta muse spark 1.1 provider Jul 15, 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 Jul 15, 2026
@amitksingh1490 amitksingh1490 changed the title fix(provider): add meta muse spark 1.1 provider fix(provider): meta muse spark 1.1 provider Jul 15, 2026
Comment thread crates/forge_repo/src/provider/provider.json Outdated
Co-authored-by: Amit Singh <amitksingh1490@gmail.com>
@gonzoga gonzoga marked this pull request as draft July 15, 2026 17:58
@gonzoga

gonzoga commented Jul 15, 2026

Copy link
Copy Markdown
Author

Screenshots of it working on local machine with changes:
Screenshot 2026-07-15 at 2 20 19 PM
Screenshot 2026-07-15 at 1 59 01 PM

Screenshot 2026-07-15 at 1 58 26 PM Screenshot 2026-07-15 at 1 57 15 PM

@gonzoga gonzoga marked this pull request as ready for review July 15, 2026 20:32
gonzoga and others added 2 commits July 15, 2026 14:36
Update test_meta_config assertion and README docs to use META_API_KEY,
matching the provider.json entry and the <PROVIDER>_API_KEY convention
used by all other built-in providers.

Co-Authored-By: ForgeCode <noreply@forgecode.dev>
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