[bot] Fireworks AI TypeScript SDK (`@fireworksai/sdk`) not instrumented — no tracing for chat completions, embeddings, or image generation (77 weekly downloads)
維護者通常 1 天內回覆
還沒有人認領這個 Issue。
評估
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 新手友好度
- 55/100
- Issue 類型
- 功能
- 描述清晰度
- 基本清楚
- 活躍度
- 活躍
- 技術堆疊
- typescript
研究方向
從 js/src/auto-instrumentations/configs/ 中現有的設定、js/src/wrappers/ 中的 wrapper、js/src/instrumentation/plugins/ 中的 plugin 以及 e2e/scenarios/ 開始。檢查目前的整合如何處理 issue 中列出的 @fireworksai/sdk 方法,然後加入 coverage 和一個 e2e 情境;當直接的 chat、completion、embedding、image、audio 與 streaming 呼叫能產生 Braintrust spans 時,即表示完成。
由索引模型根據 Issue 內容生成。
描述
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) acrossjs/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
@fireworksai/sdknpm: https://www.npmjs.com/package/@fireworksai/sdk- Fireworks AI GitHub org: https://github.com/fw-ai
- Fireworks AI serverless quickstart: https://docs.fireworks.ai/getting-started/quickstart
- Fireworks AI embeddings & reranking: https://docs.fireworks.ai/guides/querying-embeddings-models
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 presentjs/src/wrappers/— nofireworks.tswrapper filejs/src/instrumentation/plugins/— no Fireworks AI channels or plugine2e/scenarios/— no Fireworks AI test scenarios- Full repo grep for
fireworks(case-insensitive) injs/src/— zero instrumentation matches @fireworksai/sdkinstall notes — confirmedfetch-based HTTP client withzodpeer dependency; noopenairuntime dependency
- 主要語言
- TypeScript
- 星號
- 29
- 分支
- 22
- 平均合併
- 1 天 7 小時
- 30 天內合併 PR
- 65
環境準備
- 提供 Dockerfile 或 Docker Compose 檔案
- 沒有 Pull Request 範本
- 沒有貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
braintrustdata/braintrust-sdk-javascript 的其他 Issue
-
難度 4/5 3-5 天 新手友好度 28/100
braintrustdata/braintrust-sdk-javascript#2709 ·
維護者通常 1 天內回覆
-
難度 3/5 1-2 天 新手友好度 45/100
braintrustdata/braintrust-sdk-javascript#2708 ·
維護者通常 1 天內回覆
-
難度 4/5 3-5 天 新手友好度 35/100
braintrustdata/braintrust-sdk-javascript#2707 ·
維護者通常 1 天內回覆
-
typescript
難度 3/5 1-2 天 新手友好度 45/100
braintrustdata/braintrust-sdk-javascript#2686 ·
維護者通常 1 天內回覆
-
typescript
難度 4/5 3-5 天 新手友好度 45/100
braintrustdata/braintrust-sdk-javascript#2685 ·
維護者通常 1 天內回覆
查看 braintrustdata/braintrust-sdk-javascript 的全部 Issue
相似的 Issue
-
check:passed streams:add
難度 1/5 1 小時以內 新手友好度 65/100
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 62/100
GiganticMinecraft/seichi-playguide#183 ·
維護者通常 1 天內回覆
-
area: core complexity: easy impact: medium
難度 2/5 1-3 小時 新手友好度 86/100
ueberdosis/tiptap#8668 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 78/100
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 68/100
longbridge/nsh#804 ·
維護者通常 1 天內回覆