@braintrust/otel can't be installed alongside OpenTelemetry JS 3

Ouverte
#2,745 0 commentaires 0 réactions 1 personne assignée Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@lforst y travaille déjà.

Depuis le 6/11/2026.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
57/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
node.js, typescript
Domaine
backend, testing

Piste de recherche

Start with src/otel.ts and the existing otel-v1/ and otel-v2/ test environments; the issue describes the missing runtime import and an OTel 3 install failure. Check how the current environments test peer dependency compatibility, then verify installation and tests against OTel 3. Done means @braintrust/otel can install with the listed OTel 3 packages and resolve BatchSpanProcessor from the supported SDK.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

@braintrust/otel 1.1.0 can't be installed in an app that uses OpenTelemetry JS 3, released on 20 October.

Repro
mkdir bt-otel3 && cd bt-otel3 && npm init -y
npm install braintrust @braintrust/otel @opentelemetry/[email protected] @opentelemetry/[email protected] @opentelemetry/[email protected]
# npm error ERESOLVE unable to resolve dependency tree
# peer @opentelemetry/api@">=1.3.0 <1.10.0" from @opentelemetry/[email protected]

braintrust 3.43.0, Node 25.6.1, npm 11.

Cause

OpenTelemetry JS 3 removed @opentelemetry/sdk-trace-base. It is frozen at 2.12.0, which peers @opentelemetry/api <1.10.0, and its classes moved to @opentelemetry/sdk-trace. @braintrust/otel declares sdk-trace-base as a required peer, and src/otel.ts imports BatchSpanProcessor from it at runtime, so there is no install that satisfies both it and an OTel 3 stack.

A possible fix, in the package's existing pattern
  • Add an otel-v3/ test environment next to otel-v1/ and otel-v2/.
  • Make @opentelemetry/sdk-trace-base an optional peer, and add @opentelemetry/sdk-trace as an optional peer.
  • Resolve BatchSpanProcessor from @opentelemetry/sdk-trace when present, otherwise from sdk-trace-base. ReadableSpan and SpanProcessor are only used as types.

Would you take that, or would you rather ship OTel 3 support another way (for example a separate entry point)? I'm happy to open the PR either way.

Langage dominant
TypeScript
Étoiles
29
Forks
22
Merge moyen
1 j 25 min
PR mergées (30 j)
80

Préparer son environnement

  • Fournit un Dockerfile ou un fichier Docker Compose
  • Aucun modèle de pull request
  • Aucun guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de braintrustdata/braintrust-sdk-javascript

Toutes les issues de braintrustdata/braintrust-sdk-javascript

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.