[bot] LiveKit Agents for Node.js (`@livekit/agents`) not instrumented in the JS SDK — Braintrust's own integration docs are Python-only (449,224 weekly downloads)
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- node.js, typescript
- Área
- observability, tooling
Línea de trabajo
Comienza leyendo los layouts existentes en js/src/wrappers/, js/src/instrumentation/plugins/, js/src/auto-instrumentations/configs/ y js/src/instrumentation/config.ts; después, revisa e2e/scenarios/ en busca de integraciones comparables. Se considera terminado cuando las superficies de LiveKit Agents enumeradas en el issue tienen cobertura de instrumentación, configuración y un escenario de extremo a extremo.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
LiveKit publishes @livekit/agents on npm — the official Node.js distribution of the LiveKit Agents framework (source: livekit/agents-js on GitHub) for building realtime, multimodal voice/video AI agents that pipeline STT → LLM → TTS with tool-calling, turn detection, and session tracing hooks. It is actively maintained with regular releases and its own reference docs. This JavaScript SDK repository has zero instrumentation for any @livekit/agents execution surface — no wrapper, no diagnostics channel, no plugin, no auto-instrumentation config, no e2e scenario.
What instrumentation is missing
| SDK Surface | Description |
|---|---|
AgentSession run/turn execution |
Orchestrates a realtime multimodal agent session (STT → LLM → TTS pipeline) |
LLM turns issued through agent plugins (e.g. @livekit/agents-plugin-openai, -anthropic, -google) |
Model calls made through LiveKit's own plugin abstraction rather than directly through an instrumented provider SDK |
Function/tool calls (llm.FunctionTool execution during a session) |
Tool-calling during agent execution |
| STT/TTS pipeline stages | Speech-to-text and text-to-speech legs of the realtime pipeline |
None of these are covered by any existing plugin in this repo. Even when a LiveKit agent uses an underlying provider that this repo already instruments (e.g. OpenAI), calls routed through LiveKit's own plugin layer are not guaranteed to hit the same code paths patched by the existing per-provider auto-instrumentation, and there is no session/pipeline-level span for the agent turn itself.
No coverage in any instrumentation layer:
- No wrapper function in
js/src/wrappers/ - No channel definitions or plugin in
js/src/instrumentation/plugins/ - No auto-instrumentation config in
js/src/auto-instrumentations/configs/ - No e2e test scenario under
e2e/scenarios/ - Full repo grep for
livekit(case-insensitive) returns zero matches anywhere injs/,integrations/, ore2e/
Braintrust docs status
supported for Python only. Braintrust documents a LiveKit Agents integration at https://www.braintrust.dev/docs/integrations/agent-frameworks/livekit-agents, but it is built on OpenTelemetry configuration through Braintrust's Python SDK, tracing the Python livekit-agents package. The docs do not mention @livekit/agents (the Node.js distribution) or any JavaScript/TypeScript setup. This mirrors a documented Python/JS parity gap pattern already seen in this repo's instrumentation coverage (compare to the Python-only Firebase Genkit gap that was previously filed and fixed for the JS side in this repo).
Upstream references
- npm package: https://www.npmjs.com/package/@livekit/agents
- Official Node.js Agents SDK GitHub: https://github.com/livekit/agents-js
- Agents for Node.js reference docs: https://docs.livekit.io/reference/agents-js/
- Agents framework overview: https://docs.livekit.io/agents/
Local files inspected
js/src/wrappers/— no LiveKit wrapperjs/src/instrumentation/plugins/— no LiveKit channels or plugin filejs/src/auto-instrumentations/configs/— no LiveKit config entryjs/src/instrumentation/config.ts—InstrumentationIntegrationsConfighas no LiveKit-related keye2e/scenarios/— no LiveKit test scenario- Full repo grep for
livekit(case-insensitive) — zero matches
- Lenguaje dominante
- TypeScript
- Estrellas
- 29
- Forks
- 16
- Merge medio
- 1 d 20 h
- PR fusionados (30 d)
- 70
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de braintrustdata/braintrust-sdk-javascript
-
typescript
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
braintrustdata/braintrust-sdk-javascript#2578 ·
Los mantenedores suelen responder en 1 día
-
typescript
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
braintrustdata/braintrust-sdk-javascript#2577 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
braintrustdata/braintrust-sdk-javascript#2527 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 65/100
braintrustdata/braintrust-sdk-javascript#2526 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 56/100
braintrustdata/braintrust-sdk-javascript#2482 ·
Los mantenedores suelen responder en 1 día
Todos los issues de braintrustdata/braintrust-sdk-javascript
Issues similares
-
cleanName keeps a state code that's joined to the word before it (SavannahGa → "Savannah Ga")Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
openwatersio/slackwater-database#281 ·
Los mantenedores suelen responder en 1 día
-
accepted bug via-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
pingdotgg/t3code#18690 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Bayern feature:Application ready web
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
digitalfabrik/entitlementcard#3176 ·
Los mantenedores suelen responder en 7 días
-
[BUG] 运行位置的分支列表不自动刷新,外部新建的分支看不到Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
NanmiCoder/cc-haha#1533 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día