braintrust 0.4.1 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -3465,7 +3465,6 @@ var init_context = __esm({
3465
3465
  "src/otel/context.ts"() {
3466
3466
  "use strict";
3467
3467
  init_logger();
3468
- init_util();
3469
3468
  OTEL_NOT_INSTALLED_MESSAGE = "OpenTelemetry packages are not installed. Install them with: npm install @opentelemetry/api @opentelemetry/sdk-trace-base";
3470
3469
  otelTrace = null;
3471
3470
  otelContext = null;
@@ -3528,6 +3527,10 @@ var init_context = __esm({
3528
3527
  const currentContext = otelContext.active();
3529
3528
  let newContext = otelTrace.setSpan(currentContext, wrappedContext);
3530
3529
  newContext = newContext.setValue("braintrust_span", span);
3530
+ const parentValue = span._getOtelParent();
3531
+ if (parentValue) {
3532
+ newContext = newContext.setValue("braintrust.parent", parentValue);
3533
+ }
3531
3534
  return otelContext.with(newContext, callback);
3532
3535
  }
3533
3536
  } catch (error2) {
@@ -3543,34 +3546,6 @@ var init_context = __esm({
3543
3546
  }
3544
3547
  return void 0;
3545
3548
  }
3546
- _getOtelParent(span) {
3547
- if (!span.parentObjectType || !span.parentObjectId) {
3548
- return void 0;
3549
- }
3550
- try {
3551
- const parentType = span.parentObjectType;
3552
- const parentId = span.parentObjectId;
3553
- if (parentType === 2 /* PROJECT_LOGS */) {
3554
- const id = typeof parentId === "object" && parentId !== null && "get" in parentId ? (
3555
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- Type guard ensures object has get method
3556
- parentId.get()
3557
- ) : parentId;
3558
- if (typeof id === "string") {
3559
- return `project_id:${id}`;
3560
- }
3561
- } else if (parentType === 1 /* EXPERIMENT */) {
3562
- const id = typeof parentId === "object" && parentId !== null && "get" in parentId ? (
3563
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- Type guard ensures object has get method
3564
- parentId.get()
3565
- ) : parentId;
3566
- if (typeof id === "string") {
3567
- return `experiment_id:${id}`;
3568
- }
3569
- }
3570
- } catch {
3571
- }
3572
- return void 0;
3573
- }
3574
3549
  };
3575
3550
  }
3576
3551
  });
@@ -5381,6 +5356,9 @@ var init_logger = __esm({
5381
5356
  state() {
5382
5357
  return _internalGetGlobalState();
5383
5358
  }
5359
+ _getOtelParent() {
5360
+ return void 0;
5361
+ }
5384
5362
  // Custom inspect for Node.js console.log
5385
5363
  [Symbol.for("nodejs.util.inspect.custom")]() {
5386
5364
  return `NoopSpan {
@@ -6888,6 +6866,15 @@ Error: ${errorText}`;
6888
6866
  return (await this.lazyMetadata.get()).experiment.id;
6889
6867
  })();
6890
6868
  }
6869
+ /**
6870
+ * Wait for the experiment ID to be resolved. This is useful for ensuring the ID
6871
+ * is available synchronously in child spans (for OTEL parent attributes).
6872
+ * @internal
6873
+ */
6874
+ async _waitForId() {
6875
+ await this.lazyId.get().catch(() => {
6876
+ });
6877
+ }
6891
6878
  get name() {
6892
6879
  return (async () => {
6893
6880
  return (await this.lazyMetadata.get()).experiment.name;
@@ -7440,6 +7427,42 @@ View complete results in Braintrust or run experiment.summarize() again.`
7440
7427
  state() {
7441
7428
  return this._state;
7442
7429
  }
7430
+ /**
7431
+ * Internal method to get the OTEL parent string for this span.
7432
+ * This is used by OtelContextManager to set the braintrust.parent attribute.
7433
+ * @returns A string like "project_id:X" or "experiment_id:X", or undefined if no parent
7434
+ */
7435
+ _getOtelParent() {
7436
+ if (!this.parentObjectType) {
7437
+ return void 0;
7438
+ }
7439
+ try {
7440
+ if (this.parentObjectType === 2 /* PROJECT_LOGS */) {
7441
+ const syncResult = this.parentObjectId.getSync();
7442
+ const id = syncResult.value;
7443
+ const args = this.parentComputeObjectMetadataArgs;
7444
+ if (id) {
7445
+ return `project_id:${id}`;
7446
+ }
7447
+ const projectName = args?.project_name;
7448
+ if (projectName) {
7449
+ return `project_name:${projectName}`;
7450
+ }
7451
+ } else if (this.parentObjectType === 1 /* EXPERIMENT */) {
7452
+ const syncResult = this.parentObjectId.getSync();
7453
+ const id = syncResult.value;
7454
+ if (!syncResult.resolved) {
7455
+ this.parentObjectId.get().catch(() => {
7456
+ });
7457
+ }
7458
+ if (id) {
7459
+ return `experiment_id:${id}`;
7460
+ }
7461
+ }
7462
+ } catch (e) {
7463
+ }
7464
+ return void 0;
7465
+ }
7443
7466
  // Custom inspect for Node.js console.log
7444
7467
  [Symbol.for("nodejs.util.inspect.custom")]() {
7445
7468
  return `SpanImpl {
@@ -8123,45 +8146,41 @@ var init_version = __esm({
8123
8146
  }
8124
8147
  });
8125
8148
 
8126
- // ../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/trace/SemanticAttributes.js
8149
+ // ../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.37.0/node_modules/@opentelemetry/semantic-conventions/build/esm/trace/SemanticAttributes.js
8127
8150
  var init_SemanticAttributes = __esm({
8128
- "../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/trace/SemanticAttributes.js"() {
8151
+ "../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.37.0/node_modules/@opentelemetry/semantic-conventions/build/esm/trace/SemanticAttributes.js"() {
8129
8152
  "use strict";
8130
8153
  }
8131
8154
  });
8132
8155
 
8133
- // ../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/trace/index.js
8156
+ // ../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.37.0/node_modules/@opentelemetry/semantic-conventions/build/esm/trace/index.js
8134
8157
  var init_trace = __esm({
8135
- "../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/trace/index.js"() {
8158
+ "../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.37.0/node_modules/@opentelemetry/semantic-conventions/build/esm/trace/index.js"() {
8136
8159
  "use strict";
8137
8160
  init_SemanticAttributes();
8138
8161
  }
8139
8162
  });
8140
8163
 
8141
- // ../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/resource/SemanticResourceAttributes.js
8164
+ // ../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.37.0/node_modules/@opentelemetry/semantic-conventions/build/esm/resource/SemanticResourceAttributes.js
8142
8165
  var init_SemanticResourceAttributes = __esm({
8143
- "../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/resource/SemanticResourceAttributes.js"() {
8166
+ "../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.37.0/node_modules/@opentelemetry/semantic-conventions/build/esm/resource/SemanticResourceAttributes.js"() {
8144
8167
  "use strict";
8145
8168
  }
8146
8169
  });
8147
8170
 
8148
- // ../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/resource/index.js
8171
+ // ../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.37.0/node_modules/@opentelemetry/semantic-conventions/build/esm/resource/index.js
8149
8172
  var init_resource = __esm({
8150
- "../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/resource/index.js"() {
8173
+ "../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.37.0/node_modules/@opentelemetry/semantic-conventions/build/esm/resource/index.js"() {
8151
8174
  "use strict";
8152
8175
  init_SemanticResourceAttributes();
8153
8176
  }
8154
8177
  });
8155
8178
 
8156
- // ../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js
8157
- var ATTR_EXCEPTION_MESSAGE, ATTR_EXCEPTION_STACKTRACE, ATTR_EXCEPTION_TYPE, ATTR_SERVICE_NAME, ATTR_TELEMETRY_SDK_LANGUAGE, TELEMETRY_SDK_LANGUAGE_VALUE_NODEJS, ATTR_TELEMETRY_SDK_NAME, ATTR_TELEMETRY_SDK_VERSION;
8179
+ // ../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.37.0/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js
8180
+ var ATTR_TELEMETRY_SDK_LANGUAGE, TELEMETRY_SDK_LANGUAGE_VALUE_NODEJS, ATTR_TELEMETRY_SDK_NAME, ATTR_TELEMETRY_SDK_VERSION;
8158
8181
  var init_stable_attributes = __esm({
8159
- "../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js"() {
8182
+ "../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.37.0/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js"() {
8160
8183
  "use strict";
8161
- ATTR_EXCEPTION_MESSAGE = "exception.message";
8162
- ATTR_EXCEPTION_STACKTRACE = "exception.stacktrace";
8163
- ATTR_EXCEPTION_TYPE = "exception.type";
8164
- ATTR_SERVICE_NAME = "service.name";
8165
8184
  ATTR_TELEMETRY_SDK_LANGUAGE = "telemetry.sdk.language";
8166
8185
  TELEMETRY_SDK_LANGUAGE_VALUE_NODEJS = "nodejs";
8167
8186
  ATTR_TELEMETRY_SDK_NAME = "telemetry.sdk.name";
@@ -8169,21 +8188,29 @@ var init_stable_attributes = __esm({
8169
8188
  }
8170
8189
  });
8171
8190
 
8172
- // ../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_metrics.js
8191
+ // ../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.37.0/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_metrics.js
8173
8192
  var init_stable_metrics = __esm({
8174
- "../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_metrics.js"() {
8193
+ "../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.37.0/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_metrics.js"() {
8175
8194
  "use strict";
8176
8195
  }
8177
8196
  });
8178
8197
 
8179
- // ../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/index.js
8198
+ // ../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.37.0/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_events.js
8199
+ var init_stable_events = __esm({
8200
+ "../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.37.0/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_events.js"() {
8201
+ "use strict";
8202
+ }
8203
+ });
8204
+
8205
+ // ../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.37.0/node_modules/@opentelemetry/semantic-conventions/build/esm/index.js
8180
8206
  var init_esm2 = __esm({
8181
- "../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/index.js"() {
8207
+ "../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.37.0/node_modules/@opentelemetry/semantic-conventions/build/esm/index.js"() {
8182
8208
  "use strict";
8183
8209
  init_trace();
8184
8210
  init_resource();
8185
8211
  init_stable_attributes();
8186
8212
  init_stable_metrics();
8213
+ init_stable_events();
8187
8214
  }
8188
8215
  });
8189
8216
 
@@ -8587,6 +8614,69 @@ var init_esm3 = __esm({
8587
8614
  }
8588
8615
  });
8589
8616
 
8617
+ // ../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/trace/SemanticAttributes.js
8618
+ var init_SemanticAttributes2 = __esm({
8619
+ "../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/trace/SemanticAttributes.js"() {
8620
+ "use strict";
8621
+ }
8622
+ });
8623
+
8624
+ // ../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/trace/index.js
8625
+ var init_trace2 = __esm({
8626
+ "../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/trace/index.js"() {
8627
+ "use strict";
8628
+ init_SemanticAttributes2();
8629
+ }
8630
+ });
8631
+
8632
+ // ../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/resource/SemanticResourceAttributes.js
8633
+ var init_SemanticResourceAttributes2 = __esm({
8634
+ "../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/resource/SemanticResourceAttributes.js"() {
8635
+ "use strict";
8636
+ }
8637
+ });
8638
+
8639
+ // ../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/resource/index.js
8640
+ var init_resource2 = __esm({
8641
+ "../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/resource/index.js"() {
8642
+ "use strict";
8643
+ init_SemanticResourceAttributes2();
8644
+ }
8645
+ });
8646
+
8647
+ // ../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js
8648
+ var ATTR_EXCEPTION_MESSAGE, ATTR_EXCEPTION_STACKTRACE, ATTR_EXCEPTION_TYPE, ATTR_SERVICE_NAME, ATTR_TELEMETRY_SDK_LANGUAGE2, ATTR_TELEMETRY_SDK_NAME2, ATTR_TELEMETRY_SDK_VERSION2;
8649
+ var init_stable_attributes2 = __esm({
8650
+ "../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js"() {
8651
+ "use strict";
8652
+ ATTR_EXCEPTION_MESSAGE = "exception.message";
8653
+ ATTR_EXCEPTION_STACKTRACE = "exception.stacktrace";
8654
+ ATTR_EXCEPTION_TYPE = "exception.type";
8655
+ ATTR_SERVICE_NAME = "service.name";
8656
+ ATTR_TELEMETRY_SDK_LANGUAGE2 = "telemetry.sdk.language";
8657
+ ATTR_TELEMETRY_SDK_NAME2 = "telemetry.sdk.name";
8658
+ ATTR_TELEMETRY_SDK_VERSION2 = "telemetry.sdk.version";
8659
+ }
8660
+ });
8661
+
8662
+ // ../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_metrics.js
8663
+ var init_stable_metrics2 = __esm({
8664
+ "../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_metrics.js"() {
8665
+ "use strict";
8666
+ }
8667
+ });
8668
+
8669
+ // ../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/index.js
8670
+ var init_esm4 = __esm({
8671
+ "../../node_modules/.pnpm/@opentelemetry+semantic-conventions@1.32.0/node_modules/@opentelemetry/semantic-conventions/build/esm/index.js"() {
8672
+ "use strict";
8673
+ init_trace2();
8674
+ init_resource2();
8675
+ init_stable_attributes2();
8676
+ init_stable_metrics2();
8677
+ }
8678
+ });
8679
+
8590
8680
  // ../../node_modules/.pnpm/@opentelemetry+resources@2.0.1_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/esm/platform/node/default-service-name.js
8591
8681
  function defaultServiceName() {
8592
8682
  return `unknown_service:${process.argv0}`;
@@ -8631,9 +8721,9 @@ function resourceFromAttributes(attributes) {
8631
8721
  function defaultResource() {
8632
8722
  return resourceFromAttributes({
8633
8723
  [ATTR_SERVICE_NAME]: defaultServiceName(),
8634
- [ATTR_TELEMETRY_SDK_LANGUAGE]: SDK_INFO[ATTR_TELEMETRY_SDK_LANGUAGE],
8635
- [ATTR_TELEMETRY_SDK_NAME]: SDK_INFO[ATTR_TELEMETRY_SDK_NAME],
8636
- [ATTR_TELEMETRY_SDK_VERSION]: SDK_INFO[ATTR_TELEMETRY_SDK_VERSION]
8724
+ [ATTR_TELEMETRY_SDK_LANGUAGE2]: SDK_INFO[ATTR_TELEMETRY_SDK_LANGUAGE2],
8725
+ [ATTR_TELEMETRY_SDK_NAME2]: SDK_INFO[ATTR_TELEMETRY_SDK_NAME2],
8726
+ [ATTR_TELEMETRY_SDK_VERSION2]: SDK_INFO[ATTR_TELEMETRY_SDK_VERSION2]
8637
8727
  });
8638
8728
  }
8639
8729
  function guardedRawAttributes(attributes) {
@@ -8656,7 +8746,7 @@ var init_ResourceImpl = __esm({
8656
8746
  "use strict";
8657
8747
  init_esm();
8658
8748
  init_esm3();
8659
- init_esm2();
8749
+ init_esm4();
8660
8750
  init_platform2();
8661
8751
  init_utils();
8662
8752
  ResourceImpl = class _ResourceImpl {
@@ -8730,7 +8820,7 @@ var init_ResourceImpl = __esm({
8730
8820
  });
8731
8821
 
8732
8822
  // ../../node_modules/.pnpm/@opentelemetry+resources@2.0.1_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/esm/index.js
8733
- var init_esm4 = __esm({
8823
+ var init_esm5 = __esm({
8734
8824
  "../../node_modules/.pnpm/@opentelemetry+resources@2.0.1_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/esm/index.js"() {
8735
8825
  "use strict";
8736
8826
  init_ResourceImpl();
@@ -8753,7 +8843,7 @@ var init_Span = __esm({
8753
8843
  "use strict";
8754
8844
  init_esm();
8755
8845
  init_esm3();
8756
- init_esm2();
8846
+ init_esm4();
8757
8847
  init_enums();
8758
8848
  SpanImpl2 = class {
8759
8849
  // Below properties are included to implement ReadableSpan for export
@@ -9682,7 +9772,7 @@ var init_BasicTracerProvider = __esm({
9682
9772
  "../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.0.1_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/sdk-trace-base/build/esm/BasicTracerProvider.js"() {
9683
9773
  "use strict";
9684
9774
  init_esm3();
9685
- init_esm4();
9775
+ init_esm5();
9686
9776
  init_Tracer();
9687
9777
  init_config();
9688
9778
  init_MultiSpanProcessor();
@@ -9959,7 +10049,7 @@ __export(esm_exports2, {
9959
10049
  SimpleSpanProcessor: () => SimpleSpanProcessor,
9960
10050
  TraceIdRatioBasedSampler: () => TraceIdRatioBasedSampler
9961
10051
  });
9962
- var init_esm5 = __esm({
10052
+ var init_esm6 = __esm({
9963
10053
  "../../node_modules/.pnpm/@opentelemetry+sdk-trace-base@2.0.1_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/sdk-trace-base/build/esm/index.js"() {
9964
10054
  "use strict";
9965
10055
  init_BasicTracerProvider();
@@ -10169,7 +10259,7 @@ var init_ExportResult2 = __esm({
10169
10259
  });
10170
10260
 
10171
10261
  // ../../node_modules/.pnpm/@opentelemetry+core@2.0.0_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/core/build/esm/index.js
10172
- var init_esm6 = __esm({
10262
+ var init_esm7 = __esm({
10173
10263
  "../../node_modules/.pnpm/@opentelemetry+core@2.0.0_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/core/build/esm/index.js"() {
10174
10264
  "use strict";
10175
10265
  init_time2();
@@ -10207,7 +10297,7 @@ var OTLPExportDelegate;
10207
10297
  var init_otlp_export_delegate = __esm({
10208
10298
  "../../node_modules/.pnpm/@opentelemetry+otlp-exporter-base@0.200.0_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/otlp-exporter-base/build/esm/otlp-export-delegate.js"() {
10209
10299
  "use strict";
10210
- init_esm6();
10300
+ init_esm7();
10211
10301
  init_types();
10212
10302
  init_logging_response_handler();
10213
10303
  init_esm();
@@ -10293,7 +10383,7 @@ var init_otlp_export_delegate = __esm({
10293
10383
  });
10294
10384
 
10295
10385
  // ../../node_modules/.pnpm/@opentelemetry+otlp-exporter-base@0.200.0_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/otlp-exporter-base/build/esm/index.js
10296
- var init_esm7 = __esm({
10386
+ var init_esm8 = __esm({
10297
10387
  "../../node_modules/.pnpm/@opentelemetry+otlp-exporter-base@0.200.0_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/otlp-exporter-base/build/esm/index.js"() {
10298
10388
  "use strict";
10299
10389
  init_OTLPExporterBase();
@@ -10377,7 +10467,7 @@ var encodeTimestamp, DEFAULT_ENCODER;
10377
10467
  var init_utils3 = __esm({
10378
10468
  "../../node_modules/.pnpm/@opentelemetry+otlp-transformer@0.200.0_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/otlp-transformer/build/esm/common/utils.js"() {
10379
10469
  "use strict";
10380
- init_esm6();
10470
+ init_esm7();
10381
10471
  init_hex_to_binary();
10382
10472
  encodeTimestamp = typeof BigInt !== "undefined" ? encodeAsString : hrTimeToNanoseconds2;
10383
10473
  DEFAULT_ENCODER = {
@@ -10550,7 +10640,7 @@ var init_internal2 = __esm({
10550
10640
 
10551
10641
  // ../../node_modules/.pnpm/@opentelemetry+otlp-transformer@0.200.0_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/json/trace.js
10552
10642
  var JsonTraceSerializer;
10553
- var init_trace2 = __esm({
10643
+ var init_trace3 = __esm({
10554
10644
  "../../node_modules/.pnpm/@opentelemetry+otlp-transformer@0.200.0_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/json/trace.js"() {
10555
10645
  "use strict";
10556
10646
  init_internal2();
@@ -10575,12 +10665,12 @@ var init_trace2 = __esm({
10575
10665
  var init_json = __esm({
10576
10666
  "../../node_modules/.pnpm/@opentelemetry+otlp-transformer@0.200.0_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/json/index.js"() {
10577
10667
  "use strict";
10578
- init_trace2();
10668
+ init_trace3();
10579
10669
  }
10580
10670
  });
10581
10671
 
10582
10672
  // ../../node_modules/.pnpm/@opentelemetry+otlp-transformer@0.200.0_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/otlp-transformer/build/esm/index.js
10583
- var init_esm8 = __esm({
10673
+ var init_esm9 = __esm({
10584
10674
  "../../node_modules/.pnpm/@opentelemetry+otlp-transformer@0.200.0_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/otlp-transformer/build/esm/index.js"() {
10585
10675
  "use strict";
10586
10676
  init_json();
@@ -11011,7 +11101,7 @@ function getHttpConfigurationFromEnvironment(signalIdentifier, signalResourcePat
11011
11101
  var init_otlp_http_env_configuration = __esm({
11012
11102
  "../../node_modules/.pnpm/@opentelemetry+otlp-exporter-base@0.200.0_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/otlp-exporter-base/build/esm/configuration/otlp-http-env-configuration.js"() {
11013
11103
  "use strict";
11014
- init_esm6();
11104
+ init_esm7();
11015
11105
  init_esm();
11016
11106
  init_shared_env_configuration();
11017
11107
  init_shared_configuration();
@@ -11070,9 +11160,9 @@ var OTLPTraceExporter;
11070
11160
  var init_OTLPTraceExporter = __esm({
11071
11161
  "../../node_modules/.pnpm/@opentelemetry+exporter-trace-otlp-http@0.200.0_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esm/platform/node/OTLPTraceExporter.js"() {
11072
11162
  "use strict";
11073
- init_esm7();
11074
- init_version2();
11075
11163
  init_esm8();
11164
+ init_version2();
11165
+ init_esm9();
11076
11166
  init_index_node_http();
11077
11167
  OTLPTraceExporter = class extends OTLPExporterBase {
11078
11168
  constructor(config = {}) {
@@ -11106,7 +11196,7 @@ var esm_exports3 = {};
11106
11196
  __export(esm_exports3, {
11107
11197
  OTLPTraceExporter: () => OTLPTraceExporter
11108
11198
  });
11109
- var init_esm9 = __esm({
11199
+ var init_esm10 = __esm({
11110
11200
  "../../node_modules/.pnpm/@opentelemetry+exporter-trace-otlp-http@0.200.0_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/exporter-trace-otlp-http/build/esm/index.js"() {
11111
11201
  "use strict";
11112
11202
  init_platform4();
@@ -13164,6 +13254,9 @@ async function Eval(name, evaluator, reporterOrOpts) {
13164
13254
  repoInfo: evaluator.repoInfo,
13165
13255
  dataset: Dataset2.isDataset(data) ? data : void 0
13166
13256
  });
13257
+ if (experiment && typeof process !== "undefined" && process.env?.BRAINTRUST_OTEL_COMPAT?.toLowerCase() === "true") {
13258
+ await experiment._waitForId();
13259
+ }
13167
13260
  if (experiment && options.onStart) {
13168
13261
  const summary = await experiment.summarize({ summarizeScores: false });
13169
13262
  options.onStart(summary);
@@ -16344,7 +16437,7 @@ var otelSdk = null;
16344
16437
  var OTEL_AVAILABLE2 = false;
16345
16438
  try {
16346
16439
  otelApi = (init_esm(), __toCommonJS(esm_exports));
16347
- otelSdk = (init_esm5(), __toCommonJS(esm_exports2));
16440
+ otelSdk = (init_esm6(), __toCommonJS(esm_exports2));
16348
16441
  OTEL_AVAILABLE2 = true;
16349
16442
  } catch {
16350
16443
  console.warn(
@@ -16481,7 +16574,7 @@ var BraintrustSpanProcessor = class _BraintrustSpanProcessor {
16481
16574
  try {
16482
16575
  const {
16483
16576
  OTLPTraceExporter: OTLPTraceExporter2
16484
- } = (init_esm9(), __toCommonJS(esm_exports3));
16577
+ } = (init_esm10(), __toCommonJS(esm_exports3));
16485
16578
  const headers = {
16486
16579
  Authorization: `Bearer ${apiKey}`,
16487
16580
  "Content-Type": "application/json",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "braintrust",
3
- "version": "0.4.1",
3
+ "version": "0.4.2",
4
4
  "description": "SDK for integrating Braintrust",
5
5
  "repository": {
6
6
  "type": "git",