Summary
The official Together AI TypeScript SDK (together-ai on npm, v0.40.0, last published ~3 weeks ago) provides execution APIs for chat completions, completions, embeddings, image generation, and audio transcription. It has its own HTTP client layer — it does not depend on the openai npm package and is generated with Stainless from the Together REST API spec. This repository has zero instrumentation for any together-ai SDK surface — no wrapper, no channels, no plugin, no auto-instrumentation config. Users who call the together-ai JS SDK directly get no Braintrust spans.
What instrumentation is missing
The together-ai npm package exposes these execution surfaces, none of which are instrumented:
| SDK Method |
Description |
client.chat.completions.create({ model, messages }) |
Chat completions with multi-turn conversation support |
client.chat.completions.create({ ..., stream: true }) |
Streaming chat completions (Server-Sent Events) |
client.completions.create({ model, prompt }) |
Raw text completions |
client.embeddings.create({ model, input }) |
Text embeddings |
client.images.generate(...) |
Image generation from text prompts |
These methods use Together's own TypeScript client (no openai dependency), so the existing openai auto-instrumentation does not cover them.
No coverage in any instrumentation layer:
- No wrapper function (e.g.
wrapTogether())
- No diagnostics channels for Together 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
together (case-insensitive) across js/src/ returns zero instrumentation matches
Indirect coverage is insufficient:
Braintrust's Together AI integration page documents accessing Together models via the OpenAI SDK pointed at the Braintrust gateway (https://gateway.braintrust.dev/v1). Users who call the together-ai npm SDK directly — which is Together's own official TypeScript client with its own HTTP layer — get no spans at all under that approach.
Braintrust docs status
not_found for direct SDK instrumentation. The Braintrust Together AI integration page documents a gateway/OpenAI SDK approach only and does not reference the together-ai npm package.
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 Together AI config present
js/src/wrappers/ — no together.ts wrapper file
js/src/instrumentation/plugins/ — no Together AI channels or plugin
e2e/scenarios/ — no Together AI test scenarios
- Full repo grep for
together (case-insensitive) in js/src/ — zero instrumentation matches
together-ai GitHub package.json — confirmed no openai runtime dependency; own Stainless-generated HTTP client
Summary
The official Together AI TypeScript SDK (
together-aion npm, v0.40.0, last published ~3 weeks ago) provides execution APIs for chat completions, completions, embeddings, image generation, and audio transcription. It has its own HTTP client layer — it does not depend on theopenainpm package and is generated with Stainless from the Together REST API spec. This repository has zero instrumentation for anytogether-aiSDK surface — no wrapper, no channels, no plugin, no auto-instrumentation config. Users who call thetogether-aiJS SDK directly get no Braintrust spans.What instrumentation is missing
The
together-ainpm package exposes these execution surfaces, none of which are instrumented:client.chat.completions.create({ model, messages })client.chat.completions.create({ ..., stream: true })client.completions.create({ model, prompt })client.embeddings.create({ model, input })client.images.generate(...)These methods use Together's own TypeScript client (no
openaidependency), so the existingopenaiauto-instrumentation does not cover them.No coverage in any instrumentation layer:
wrapTogether())js/src/instrumentation/plugins/js/src/auto-instrumentations/configs/together(case-insensitive) acrossjs/src/returns zero instrumentation matchesIndirect coverage is insufficient:
Braintrust's Together AI integration page documents accessing Together models via the OpenAI SDK pointed at the Braintrust gateway (
https://gateway.braintrust.dev/v1). Users who call thetogether-ainpm SDK directly — which is Together's own official TypeScript client with its own HTTP layer — get no spans at all under that approach.Braintrust docs status
not_foundfor direct SDK instrumentation. The Braintrust Together AI integration page documents a gateway/OpenAI SDK approach only and does not reference thetogether-ainpm package.Upstream references
together-ainpm package: https://www.npmjs.com/package/together-aiLocal 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 Together AI config presentjs/src/wrappers/— notogether.tswrapper filejs/src/instrumentation/plugins/— no Together AI channels or plugine2e/scenarios/— no Together AI test scenariostogether(case-insensitive) injs/src/— zero instrumentation matchestogether-aiGitHubpackage.json— confirmed noopenairuntime dependency; own Stainless-generated HTTP client