braintrust 0.1.0 → 0.2.0

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/cli.js CHANGED
@@ -1232,7 +1232,7 @@ var require_package = __commonJS({
1232
1232
  "package.json"(exports2, module2) {
1233
1233
  module2.exports = {
1234
1234
  name: "braintrust",
1235
- version: "0.1.0",
1235
+ version: "0.2.0",
1236
1236
  description: "SDK for integrating Braintrust",
1237
1237
  repository: {
1238
1238
  type: "git",
@@ -1283,9 +1283,11 @@ var require_package = __commonJS({
1283
1283
  docs: "npx typedoc --options typedoc.json src/index.ts",
1284
1284
  prepublishOnly: "../../scripts/node_prepublish_sdk.py",
1285
1285
  postpublish: "../../scripts/node_postpublish_sdk.py",
1286
- test: "vitest run --exclude src/wrappers/anthropic.test.ts --exclude src/wrappers/oai.test.ts",
1286
+ test: "vitest run --exclude src/wrappers/anthropic.test.ts --exclude src/wrappers/oai.test.ts --exclude src/otel.test.ts --exclude src/otel-no-deps.test.ts",
1287
1287
  "test:anthropic": "vitest run src/wrappers/anthropic.test.ts",
1288
- "test:openai": "vitest run src/wrappers/oai.test.ts"
1288
+ "test:openai": "vitest run src/wrappers/oai.test.ts",
1289
+ "test:otel": "vitest run src/otel.test.ts",
1290
+ "test:otel-no-deps": "vitest run src/otel-no-deps.test.ts --reporter=verbose"
1289
1291
  },
1290
1292
  author: "",
1291
1293
  license: "MIT",
@@ -1320,7 +1322,7 @@ var require_package = __commonJS({
1320
1322
  },
1321
1323
  dependencies: {
1322
1324
  "@ai-sdk/provider": "^1.1.3",
1323
- "@braintrust/core": "0.0.90",
1325
+ "@braintrust/core": "0.0.91",
1324
1326
  "@next/env": "^14.2.3",
1325
1327
  "@vercel/functions": "^1.0.2",
1326
1328
  argparse: "^2.0.1",
@@ -1328,7 +1330,7 @@ var require_package = __commonJS({
1328
1330
  "cli-progress": "^3.12.0",
1329
1331
  cors: "^2.8.5",
1330
1332
  dotenv: "^16.4.5",
1331
- esbuild: "^0.25.5",
1333
+ esbuild: "^0.25.8",
1332
1334
  "eventsource-parser": "^1.1.2",
1333
1335
  express: "^4.21.2",
1334
1336
  "graceful-fs": "^4.2.11",
@@ -7263,14 +7265,20 @@ async function runEvaluatorInternal(experiment, evaluator, progressReporter, fil
7263
7265
  } else {
7264
7266
  data = dataResult;
7265
7267
  }
7266
- data = data.filter((d) => filters.every((f) => evaluateFilter(d, f))).flatMap(
7267
- (datum) => [...Array(evaluator.trialCount ?? 1).keys()].map(() => datum)
7268
+ const dataWithTrials = data.filter((d) => filters.every((f) => evaluateFilter(d, f))).flatMap(
7269
+ (datum) => [...Array(evaluator.trialCount ?? 1).keys()].map((trialIndex) => ({
7270
+ datum,
7271
+ trialIndex
7272
+ }))
7268
7273
  );
7269
- progressReporter.start(evaluator.evalName, data.length);
7274
+ progressReporter.start(evaluator.evalName, dataWithTrials.length);
7270
7275
  const results = [];
7271
7276
  const q = queue(
7272
7277
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
7273
- async (datum) => {
7278
+ async ({
7279
+ datum,
7280
+ trialIndex
7281
+ }) => {
7274
7282
  const eventDataset = experiment ? experiment.dataset : Dataset.isDataset(evaluator.data) ? evaluator.data : void 0;
7275
7283
  const baseEvent = {
7276
7284
  name: "eval",
@@ -7319,7 +7327,8 @@ async function runEvaluatorInternal(experiment, evaluator, progressReporter, fil
7319
7327
  name: evaluator.evalName,
7320
7328
  object_type: "task"
7321
7329
  });
7322
- }
7330
+ },
7331
+ trialIndex
7323
7332
  });
7324
7333
  if (outputResult instanceof Promise) {
7325
7334
  output = await outputResult;
@@ -7469,9 +7478,9 @@ async function runEvaluatorInternal(experiment, evaluator, progressReporter, fil
7469
7478
  return await experiment.traced(callback, baseEvent);
7470
7479
  }
7471
7480
  },
7472
- Math.max(evaluator.maxConcurrency ?? data.length, 1)
7481
+ Math.max(evaluator.maxConcurrency ?? dataWithTrials.length, 1)
7473
7482
  );
7474
- q.push(data);
7483
+ q.push(dataWithTrials);
7475
7484
  const cancel = async () => {
7476
7485
  await new Promise((_, reject2) => {
7477
7486
  if (evaluator.timeout) {
@@ -7690,7 +7699,7 @@ async function getBaseBranchAncestor(remote = void 0) {
7690
7699
  return void 0;
7691
7700
  }
7692
7701
  }
7693
- async function getPastNAncestors(n = 10, remote = void 0) {
7702
+ async function getPastNAncestors(n = 1e3, remote = void 0) {
7694
7703
  const git = await currentRepo();
7695
7704
  if (git === null) {
7696
7705
  return [];
@@ -7707,7 +7716,7 @@ async function getPastNAncestors(n = 10, remote = void 0) {
7707
7716
  if (!ancestor) {
7708
7717
  return [];
7709
7718
  }
7710
- const commits = await git.log({ from: ancestor, to: "HEAD" });
7719
+ const commits = await git.log({ from: ancestor, to: "HEAD", maxCount: n });
7711
7720
  return commits.all.map((c) => c.hash);
7712
7721
  }
7713
7722
  async function attempt(fn) {
@@ -0,0 +1,37 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+ var _chunkVKR7HDRSjs = require('./chunk-VKR7HDRS.js');
5
+
6
+
7
+
8
+
9
+ var _chunkCDBUTZMHjs = require('./chunk-CDBUTZMH.js');
10
+
11
+ // ../../node_modules/.pnpm/@opentelemetry+resources@2.0.1_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-bsd.js
12
+ var _fs = require('fs');
13
+ async function getMachineId() {
14
+ try {
15
+ const result = await _fs.promises.readFile("/etc/hostid", { encoding: "utf8" });
16
+ return result.trim();
17
+ } catch (e) {
18
+ _chunkCDBUTZMHjs.diag.debug(`error reading machine id: ${e}`);
19
+ }
20
+ try {
21
+ const result = await _chunkVKR7HDRSjs.execAsync.call(void 0, "kenv -q smbios.system.uuid");
22
+ return result.stdout.trim();
23
+ } catch (e) {
24
+ _chunkCDBUTZMHjs.diag.debug(`error reading machine id: ${e}`);
25
+ }
26
+ return void 0;
27
+ }
28
+ var init_getMachineId_bsd = _chunkCDBUTZMHjs.__esm.call(void 0, {
29
+ "../../node_modules/.pnpm/@opentelemetry+resources@2.0.1_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-bsd.js"() {
30
+ _chunkVKR7HDRSjs.init_execAsync.call(void 0, );
31
+ _chunkCDBUTZMHjs.init_esm.call(void 0, );
32
+ }
33
+ });
34
+ init_getMachineId_bsd();
35
+
36
+
37
+ exports.getMachineId = getMachineId;
@@ -0,0 +1,37 @@
1
+ import {
2
+ execAsync,
3
+ init_execAsync
4
+ } from "./chunk-NB5AEJPK.mjs";
5
+ import {
6
+ __esm,
7
+ diag,
8
+ init_esm
9
+ } from "./chunk-WKBXJQ57.mjs";
10
+
11
+ // ../../node_modules/.pnpm/@opentelemetry+resources@2.0.1_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-bsd.js
12
+ import { promises as fs } from "fs";
13
+ async function getMachineId() {
14
+ try {
15
+ const result = await fs.readFile("/etc/hostid", { encoding: "utf8" });
16
+ return result.trim();
17
+ } catch (e) {
18
+ diag.debug(`error reading machine id: ${e}`);
19
+ }
20
+ try {
21
+ const result = await execAsync("kenv -q smbios.system.uuid");
22
+ return result.stdout.trim();
23
+ } catch (e) {
24
+ diag.debug(`error reading machine id: ${e}`);
25
+ }
26
+ return void 0;
27
+ }
28
+ var init_getMachineId_bsd = __esm({
29
+ "../../node_modules/.pnpm/@opentelemetry+resources@2.0.1_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-bsd.js"() {
30
+ init_execAsync();
31
+ init_esm();
32
+ }
33
+ });
34
+ init_getMachineId_bsd();
35
+ export {
36
+ getMachineId
37
+ };
@@ -0,0 +1,37 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+ var _chunkVKR7HDRSjs = require('./chunk-VKR7HDRS.js');
5
+
6
+
7
+
8
+
9
+ var _chunkCDBUTZMHjs = require('./chunk-CDBUTZMH.js');
10
+
11
+ // ../../node_modules/.pnpm/@opentelemetry+resources@2.0.1_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-darwin.js
12
+ async function getMachineId() {
13
+ try {
14
+ const result = await _chunkVKR7HDRSjs.execAsync.call(void 0, 'ioreg -rd1 -c "IOPlatformExpertDevice"');
15
+ const idLine = result.stdout.split("\n").find((line) => line.includes("IOPlatformUUID"));
16
+ if (!idLine) {
17
+ return void 0;
18
+ }
19
+ const parts = idLine.split('" = "');
20
+ if (parts.length === 2) {
21
+ return parts[1].slice(0, -1);
22
+ }
23
+ } catch (e) {
24
+ _chunkCDBUTZMHjs.diag.debug(`error reading machine id: ${e}`);
25
+ }
26
+ return void 0;
27
+ }
28
+ var init_getMachineId_darwin = _chunkCDBUTZMHjs.__esm.call(void 0, {
29
+ "../../node_modules/.pnpm/@opentelemetry+resources@2.0.1_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-darwin.js"() {
30
+ _chunkVKR7HDRSjs.init_execAsync.call(void 0, );
31
+ _chunkCDBUTZMHjs.init_esm.call(void 0, );
32
+ }
33
+ });
34
+ init_getMachineId_darwin();
35
+
36
+
37
+ exports.getMachineId = getMachineId;
@@ -0,0 +1,37 @@
1
+ import {
2
+ execAsync,
3
+ init_execAsync
4
+ } from "./chunk-NB5AEJPK.mjs";
5
+ import {
6
+ __esm,
7
+ diag,
8
+ init_esm
9
+ } from "./chunk-WKBXJQ57.mjs";
10
+
11
+ // ../../node_modules/.pnpm/@opentelemetry+resources@2.0.1_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-darwin.js
12
+ async function getMachineId() {
13
+ try {
14
+ const result = await execAsync('ioreg -rd1 -c "IOPlatformExpertDevice"');
15
+ const idLine = result.stdout.split("\n").find((line) => line.includes("IOPlatformUUID"));
16
+ if (!idLine) {
17
+ return void 0;
18
+ }
19
+ const parts = idLine.split('" = "');
20
+ if (parts.length === 2) {
21
+ return parts[1].slice(0, -1);
22
+ }
23
+ } catch (e) {
24
+ diag.debug(`error reading machine id: ${e}`);
25
+ }
26
+ return void 0;
27
+ }
28
+ var init_getMachineId_darwin = __esm({
29
+ "../../node_modules/.pnpm/@opentelemetry+resources@2.0.1_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-darwin.js"() {
30
+ init_execAsync();
31
+ init_esm();
32
+ }
33
+ });
34
+ init_getMachineId_darwin();
35
+ export {
36
+ getMachineId
37
+ };
@@ -0,0 +1,29 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+ var _chunkCDBUTZMHjs = require('./chunk-CDBUTZMH.js');
6
+
7
+ // ../../node_modules/.pnpm/@opentelemetry+resources@2.0.1_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-linux.js
8
+ var _fs = require('fs');
9
+ async function getMachineId() {
10
+ const paths = ["/etc/machine-id", "/var/lib/dbus/machine-id"];
11
+ for (const path of paths) {
12
+ try {
13
+ const result = await _fs.promises.readFile(path, { encoding: "utf8" });
14
+ return result.trim();
15
+ } catch (e) {
16
+ _chunkCDBUTZMHjs.diag.debug(`error reading machine id: ${e}`);
17
+ }
18
+ }
19
+ return void 0;
20
+ }
21
+ var init_getMachineId_linux = _chunkCDBUTZMHjs.__esm.call(void 0, {
22
+ "../../node_modules/.pnpm/@opentelemetry+resources@2.0.1_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-linux.js"() {
23
+ _chunkCDBUTZMHjs.init_esm.call(void 0, );
24
+ }
25
+ });
26
+ init_getMachineId_linux();
27
+
28
+
29
+ exports.getMachineId = getMachineId;
@@ -0,0 +1,29 @@
1
+ import {
2
+ __esm,
3
+ diag,
4
+ init_esm
5
+ } from "./chunk-WKBXJQ57.mjs";
6
+
7
+ // ../../node_modules/.pnpm/@opentelemetry+resources@2.0.1_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-linux.js
8
+ import { promises as fs } from "fs";
9
+ async function getMachineId() {
10
+ const paths = ["/etc/machine-id", "/var/lib/dbus/machine-id"];
11
+ for (const path of paths) {
12
+ try {
13
+ const result = await fs.readFile(path, { encoding: "utf8" });
14
+ return result.trim();
15
+ } catch (e) {
16
+ diag.debug(`error reading machine id: ${e}`);
17
+ }
18
+ }
19
+ return void 0;
20
+ }
21
+ var init_getMachineId_linux = __esm({
22
+ "../../node_modules/.pnpm/@opentelemetry+resources@2.0.1_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-linux.js"() {
23
+ init_esm();
24
+ }
25
+ });
26
+ init_getMachineId_linux();
27
+ export {
28
+ getMachineId
29
+ };
@@ -0,0 +1,20 @@
1
+ import {
2
+ __esm,
3
+ diag,
4
+ init_esm
5
+ } from "./chunk-WKBXJQ57.mjs";
6
+
7
+ // ../../node_modules/.pnpm/@opentelemetry+resources@2.0.1_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-unsupported.js
8
+ async function getMachineId() {
9
+ diag.debug("could not read machine-id: unsupported platform");
10
+ return void 0;
11
+ }
12
+ var init_getMachineId_unsupported = __esm({
13
+ "../../node_modules/.pnpm/@opentelemetry+resources@2.0.1_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-unsupported.js"() {
14
+ init_esm();
15
+ }
16
+ });
17
+ init_getMachineId_unsupported();
18
+ export {
19
+ getMachineId
20
+ };
@@ -0,0 +1,20 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+ var _chunkCDBUTZMHjs = require('./chunk-CDBUTZMH.js');
6
+
7
+ // ../../node_modules/.pnpm/@opentelemetry+resources@2.0.1_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-unsupported.js
8
+ async function getMachineId() {
9
+ _chunkCDBUTZMHjs.diag.debug("could not read machine-id: unsupported platform");
10
+ return void 0;
11
+ }
12
+ var init_getMachineId_unsupported = _chunkCDBUTZMHjs.__esm.call(void 0, {
13
+ "../../node_modules/.pnpm/@opentelemetry+resources@2.0.1_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-unsupported.js"() {
14
+ _chunkCDBUTZMHjs.init_esm.call(void 0, );
15
+ }
16
+ });
17
+ init_getMachineId_unsupported();
18
+
19
+
20
+ exports.getMachineId = getMachineId;
@@ -0,0 +1,39 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
2
+
3
+
4
+ var _chunkVKR7HDRSjs = require('./chunk-VKR7HDRS.js');
5
+
6
+
7
+
8
+
9
+ var _chunkCDBUTZMHjs = require('./chunk-CDBUTZMH.js');
10
+
11
+ // ../../node_modules/.pnpm/@opentelemetry+resources@2.0.1_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-win.js
12
+ var _process = require('process'); var process = _interopRequireWildcard(_process);
13
+ async function getMachineId() {
14
+ const args = "QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid";
15
+ let command = "%windir%\\System32\\REG.exe";
16
+ if (process.arch === "ia32" && "PROCESSOR_ARCHITEW6432" in process.env) {
17
+ command = "%windir%\\sysnative\\cmd.exe /c " + command;
18
+ }
19
+ try {
20
+ const result = await _chunkVKR7HDRSjs.execAsync.call(void 0, `${command} ${args}`);
21
+ const parts = result.stdout.split("REG_SZ");
22
+ if (parts.length === 2) {
23
+ return parts[1].trim();
24
+ }
25
+ } catch (e) {
26
+ _chunkCDBUTZMHjs.diag.debug(`error reading machine id: ${e}`);
27
+ }
28
+ return void 0;
29
+ }
30
+ var init_getMachineId_win = _chunkCDBUTZMHjs.__esm.call(void 0, {
31
+ "../../node_modules/.pnpm/@opentelemetry+resources@2.0.1_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-win.js"() {
32
+ _chunkVKR7HDRSjs.init_execAsync.call(void 0, );
33
+ _chunkCDBUTZMHjs.init_esm.call(void 0, );
34
+ }
35
+ });
36
+ init_getMachineId_win();
37
+
38
+
39
+ exports.getMachineId = getMachineId;
@@ -0,0 +1,39 @@
1
+ import {
2
+ execAsync,
3
+ init_execAsync
4
+ } from "./chunk-NB5AEJPK.mjs";
5
+ import {
6
+ __esm,
7
+ diag,
8
+ init_esm
9
+ } from "./chunk-WKBXJQ57.mjs";
10
+
11
+ // ../../node_modules/.pnpm/@opentelemetry+resources@2.0.1_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-win.js
12
+ import * as process from "process";
13
+ async function getMachineId() {
14
+ const args = "QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid";
15
+ let command = "%windir%\\System32\\REG.exe";
16
+ if (process.arch === "ia32" && "PROCESSOR_ARCHITEW6432" in process.env) {
17
+ command = "%windir%\\sysnative\\cmd.exe /c " + command;
18
+ }
19
+ try {
20
+ const result = await execAsync(`${command} ${args}`);
21
+ const parts = result.stdout.split("REG_SZ");
22
+ if (parts.length === 2) {
23
+ return parts[1].trim();
24
+ }
25
+ } catch (e) {
26
+ diag.debug(`error reading machine id: ${e}`);
27
+ }
28
+ return void 0;
29
+ }
30
+ var init_getMachineId_win = __esm({
31
+ "../../node_modules/.pnpm/@opentelemetry+resources@2.0.1_@opentelemetry+api@1.9.0/node_modules/@opentelemetry/resources/build/esm/detectors/platform/node/machine-id/getMachineId-win.js"() {
32
+ init_execAsync();
33
+ init_esm();
34
+ }
35
+ });
36
+ init_getMachineId_win();
37
+ export {
38
+ getMachineId
39
+ };