Skip to content

[bot] Fireworks AI TypeScript SDK (@fireworksai/sdk) not instrumented — no tracing for chat completions, embeddings, or image generation #2102

@braintrust-bot

Description

@braintrust-bot

Summary

Fireworks AI publishes an official TypeScript SDK: @fireworksai/sdk on npm (currently in beta, requires zod peer dependency). It provides execution APIs for chat completions, text completions, embeddings, image generation, and audio transcription via Fireworks AI's own REST API client, with HTTP requests powered by fetch. This repository has zero instrumentation for any @fireworksai/sdk surface — no wrapper, no channels, no plugin, no auto-instrumentation config. Users who call @fireworksai/sdk directly get no Braintrust spans.

What instrumentation is missing

The @fireworksai/sdk npm package exposes these execution surfaces, none of which are instrumented:

SDK Method Description
client.chat.completions.create({ model, messages }) Chat completions with tool calling and structured outputs
client.chat.completions.create({ ..., stream: true }) Streaming chat completions
client.completions.create({ model, prompt }) Text completions
client.embeddings.create({ model, input }) Text embeddings (OpenAI-compatible format)
client.images.generate({ model, prompt }) Text-to-image generation
client.audio.transcriptions.create(...) Audio transcription

The SDK uses its own fetch-based HTTP client (with Zod for request/response validation) and does not use the openai npm package internally. Existing openai auto-instrumentation does not cover calls made through @fireworksai/sdk.

No coverage in any instrumentation layer:

  • No wrapper function (e.g. wrapFireworks())
  • No diagnostics channels for Fireworks AI methods
  • No plugin handler in js/src/instrumentation/plugins/
  • No auto-instrumentation config in js/src/auto-instrumentations/configs/
  • No e2e test scenarios
  • Grep for fireworks (case-insensitive) across js/src/ returns zero instrumentation matches

Indirect coverage is insufficient:

Braintrust's Fireworks AI integration page documents a gateway/OpenAI SDK approach — using the openai npm client pointed at the Braintrust gateway with Fireworks model identifiers. Users who call @fireworksai/sdk directly — which ships Fireworks' own type-safe TypeScript API client — get no spans at all under that approach.

Braintrust docs status

not_found for direct SDK instrumentation. The Braintrust Fireworks integration page documents a gateway/OpenAI SDK approach only and does not reference @fireworksai/sdk.

Upstream references

Local files inspected

  • js/src/auto-instrumentations/configs/ — full config list: anthropic.ts, openai.ts, ai-sdk.ts, groq.ts, mistral.ts, cohere.ts, huggingface.ts, google-genai.ts, google-adk.ts, genkit.ts, openai-agents.ts, openrouter.ts, openrouter-agent.ts, claude-agent-sdk.ts, cursor-sdk.ts, github-copilot.ts, openai-codex.ts, flue.ts — no Fireworks AI config present
  • js/src/wrappers/ — no fireworks.ts wrapper file
  • js/src/instrumentation/plugins/ — no Fireworks AI channels or plugin
  • e2e/scenarios/ — no Fireworks AI test scenarios
  • Full repo grep for fireworks (case-insensitive) in js/src/ — zero instrumentation matches
  • @fireworksai/sdk install notes — confirmed fetch-based HTTP client with zod peer dependency; no openai runtime dependency

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions