feat: add Fireworks AI channel support#1200
Conversation
bb45553 to
0b751f7
Compare
There was a problem hiding this comment.
Code Review
This pull request integrates the Fireworks AI provider into the platform, encompassing frontend configuration, backend entity updates, and a specialized LLM transformer that strips reasoning fields for API compatibility. The changes also include extensive integration and unit tests. A review comment suggests restoring the descriptive documentation for the parseTimeWindow helper in the GraphQL resolvers, which was simplified during a code refactor.
Implements Fireworks AI provider integration with OpenAI-compatible API. The transformer wraps OpenAI transformer and strips reasoning fields before sending to Fireworks' strictly-validated API. Backend Changes: - Add Fireworks transformer package (llm/transformer/fireworks/) * Wraps OpenAI transformer * Strips reasoning/reasoning_content/reasoning_signature * Supports Bearer token authentication * Comprehensive unit and integration tests - Update database schema to add "fireworks" channel type - Register Fireworks transformer in channel_llm.go Frontend Changes: - Add ChannelType.fireworks to TypeScript schema - Add Fireworks config to CHANNEL_CONFIGS - Add Fireworks provider to PROVIDER_CONFIGS - Add translations for Fireworks channel Testing: - 36 tests pass (25 unit + 11 integration) - Integration tests use httptest.NewServer (no external API calls) - Verifies reasoning fields properly stripped Documentation: - Add Fireworks to supported providers table in README.md
0b751f7 to
519a29c
Compare
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces support for the Fireworks AI provider across the stack. Changes include frontend configuration for the new channel and provider, backend schema updates in ent and GraphQL, and the implementation of a Fireworks-specific LLM transformer that strips unsupported reasoning fields. Feedback focuses on fixing a malformed request body in integration tests, ensuring UI color consistency for the provider, and replacing custom string helper functions with standard library equivalents.
* feat: add Fireworks AI channel support Implements Fireworks AI provider integration with OpenAI-compatible API. The transformer wraps OpenAI transformer and strips reasoning fields before sending to Fireworks' strictly-validated API. Backend Changes: - Add Fireworks transformer package (llm/transformer/fireworks/) * Wraps OpenAI transformer * Strips reasoning/reasoning_content/reasoning_signature * Supports Bearer token authentication * Comprehensive unit and integration tests - Update database schema to add "fireworks" channel type - Register Fireworks transformer in channel_llm.go Frontend Changes: - Add ChannelType.fireworks to TypeScript schema - Add Fireworks config to CHANNEL_CONFIGS - Add Fireworks provider to PROVIDER_CONFIGS - Add translations for Fireworks channel Testing: - 36 tests pass (25 unit + 11 integration) - Integration tests use httptest.NewServer (no external API calls) - Verifies reasoning fields properly stripped Documentation: - Add Fireworks to supported providers table in README.md * refactor: simplify test code and update provider colors * fix: update fireworks default models * docs: update fireworks model list * docs: update fireworks models list
Implements Fireworks AI provider integration with OpenAI-compatible API.
The transformer wraps OpenAI transformer and strips reasoning fields before sending to Fireworks' strictly-validated API.
Backend Changes
Frontend Changes
Testing
Documentation