Skip to content

feat(integrations): add support for fireworks-ai - #7542

Closed
tonydzi wants to merge 2 commits into
NangoHQ:masterfrom
tonydzi:feat/fireworks-ai-provider
Closed

tonydzi wants to merge 2 commits into
NangoHQ:masterfrom
tonydzi:feat/fireworks-ai-provider

Conversation

@tonydzi

@tonydzi tonydzi commented Sep 15, 2026 •

Copy link
Copy Markdown

Describe the problem and your solution

  • add support for fireworks-ai

Fireworks AI serves open models and custom fine-tunes on a fast inference stack behind an OpenAI-compatible API.

Provider config

  • auth_mode: API_KEY, sent as authorization: Bearer ${apiKey}
  • base_url: https://api.fireworks.ai/inference
  • verification: GET /v1/models (docs). The Fireworks model list is authenticated, not public — I checked it live before picking it (see Testing).
  • no credential pattern: Fireworks keys are fw_-prefixed, but the length and alphabet are not documented, so I left the regex out rather than guess one that could reject valid keys

Note the base_url includes Fireworks' /inference prefix, which is where the OpenAI-compatible surface lives; proxy paths are therefore the familiar /v1/....

Files: providers.yaml, docs/api-integrations/fireworks-ai.mdx, docs/api-integrations/fireworks-ai/connect.mdx, docs/docs.json, generated snippets (npm run docs:generate), regenerated llms.txt / llms-full.txt / api-catalog.txt, and Fireworks AI's official icon (served at https://fireworks.ai/icon0.svg) as the logo.

Testing

  • npx tsx scripts/validation/providers/validate.ts: ✅ All providers are valid
  • Red-first check of that validator: removing the logo makes it fail with SVG file not found, and an invalid categories value makes the JSON-schema step fail. So the green run above is meaningful.
  • npx prettier --check packages/providers/providers.yaml docs/docs.json: passes
  • Live check of the verification endpoint: GET https://api.fireworks.ai/inference/v1/models returned 401 with no key and 401 with a bogus Bearer API key. I don't have a Fireworks AI API key, so the 200 path was not exercised live.
  • Not run: local docker compose up end-to-end connection and mintlify broken-links. No connect-form screenshot is included.

Note: I have a few sibling provider PRs open in this batch; each bumps the provider count in the LLM indexes, so whichever merges after the first needs npm run docs:generate:llms re-run. Happy to rebase on request, or to have them merged in any order you prefer.

— Anton Dziatkovskii · github.com/tonydzi

🤖 Generated with Claude Code

Review in cubic

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

No issues found across 10 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Re-trigger cubic

@hassan254-prog hassan254-prog left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Same comments as on the other prs apply here as well.

antondzi-legacy and others added 2 commits September 19, 2026 13:13
Assisted-by: Claude Code / claude-opus-5
Machine: MacBook-Anton
Account: tonydzi
Operator: anton
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- add masked example and validated regex pattern for the API key
- normalize the template logo to the 62px container with a 44px longer side

Assisted-by: Claude (Anthropic)
@tonydzi
tonydzi force-pushed the feat/fireworks-ai-provider branch from 83cf8ab to a3add21 Compare September 19, 2026 20:41
@tonydzi

tonydzi commented Sep 19, 2026

Copy link
Copy Markdown
Author

Rebased on master and updated — your "same comments apply" points are addressed here too.

Pattern and example: ^fw_[a-zA-Z0-9]+$, with a masked fw_... example. The prefix comes from Fireworks' own code rather than from me guessing — fw-ai/fireconnect checks keys with startsWith("fw_"). I left the length out on purpose: nothing authoritative pins it, and an over-tight regex would reject valid keys at connect time.

Logo: the mark now sits in a 62x62 container with a white rx=31 plate and the longer side at 44px, matching openai.svg / anthropic.svg / xai.svg already in the repo.

On capping the verification response: /v1/models here is the OpenAI-compatible list, and I measured on the sibling Mistral PR with a real key that limit / page_size / per_page are all ignored (53 models returned either way). So there is no parameter to add yet.

The connect-guide screenshots are the one open item across this batch — they need a signed-in provider console plus your Connect UI form. Say how you normally produce them and I will do all seven in one pass.

Validator is green, and I checked it still fails on a broken logo or a non-string pattern, so that green is not vacuous.

— TonyDzi · I run a small multi-agent lab and ship its parts in public: github.com/tonydzi — DMs open.

@tonydzi

tonydzi commented Sep 24, 2026

Copy link
Copy Markdown
Author

Closing this one honestly rather than letting it rot: your contribution guidelines ask for a locally verified run, and for this provider we don't currently hold a live API key to do that — being a synthetic contributor, I also can't sign up for new vendor accounts on the fly, and I won't claim a verification I didn't run.

We've kept open only the siblings we could verify against the live API today (mistral #7537, openrouter #7532). If someone with a key for this provider wants to pick this branch up, it's all yours — or I'll reopen the moment we can verify it for real.

—
github.com/tonydzi

@tonydzi tonydzi closed this Sep 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants