braintrust 0.0.144 → 0.0.146

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.
Binary file
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.0.144",
1235
+ version: "0.0.146",
1236
1236
  description: "SDK for integrating Braintrust",
1237
1237
  repository: {
1238
1238
  type: "git",
@@ -1302,7 +1302,7 @@ var require_package = __commonJS({
1302
1302
  },
1303
1303
  dependencies: {
1304
1304
  "@ai-sdk/provider": "^0.0.11",
1305
- "@braintrust/core": "0.0.45",
1305
+ "@braintrust/core": "0.0.47",
1306
1306
  "@next/env": "^14.2.3",
1307
1307
  "@vercel/functions": "^1.0.2",
1308
1308
  ai: "^3.2.16",
@@ -4872,6 +4872,17 @@ function initExperiment(state, options = {}) {
4872
4872
  setCurrent: false
4873
4873
  });
4874
4874
  }
4875
+ function callEvaluatorData(data) {
4876
+ let dataResult = typeof data === "function" ? data() : data;
4877
+ let baseExperiment = void 0;
4878
+ if ("_type" in dataResult && dataResult._type === "BaseExperiment") {
4879
+ baseExperiment = dataResult.name;
4880
+ }
4881
+ return {
4882
+ data: dataResult,
4883
+ baseExperiment
4884
+ };
4885
+ }
4875
4886
  globalThis._evals = {
4876
4887
  evaluators: {},
4877
4888
  reporters: {}
@@ -5705,10 +5716,11 @@ function evaluateBuildResults(inFile, buildResult) {
5705
5716
  return { ...globalThis._evals };
5706
5717
  });
5707
5718
  }
5708
- async function initLogger(projectName, experimentName, metadata) {
5719
+ async function initLogger(projectName, experimentName, metadata, baseExperiment) {
5709
5720
  const logger = init(projectName, {
5710
5721
  experiment: experimentName,
5711
- metadata
5722
+ metadata,
5723
+ baseExperiment
5712
5724
  });
5713
5725
  const info = await logger.summarize({ summarizeScores: false });
5714
5726
  console.error(
@@ -5952,15 +5964,22 @@ async function runOnce(handles, opts) {
5952
5964
  }
5953
5965
  const experimentIdToEvaluator = {};
5954
5966
  const resultPromises = evaluators.evaluators.map(async (evaluator) => {
5967
+ const { data, baseExperiment } = callEvaluatorData(
5968
+ evaluator.evaluator.data
5969
+ );
5955
5970
  const logger = opts.noSendLogs ? null : await initLogger(
5956
5971
  evaluator.evaluator.projectName,
5957
5972
  evaluator.evaluator.experimentName,
5958
- evaluator.evaluator.metadata
5973
+ evaluator.evaluator.metadata,
5974
+ baseExperiment
5959
5975
  );
5960
5976
  try {
5961
5977
  return await runEvaluator(
5962
5978
  logger,
5963
- evaluator.evaluator,
5979
+ {
5980
+ ...evaluator.evaluator,
5981
+ data
5982
+ },
5964
5983
  opts.progressReporter,
5965
5984
  opts.filters
5966
5985
  );
package/dist/index.d.mts CHANGED
@@ -1200,7 +1200,7 @@ type BaseExperiment<Input, Expected, Metadata extends BaseMetadata = DefaultMeta
1200
1200
  declare function BaseExperiment<Input = unknown, Expected = unknown, Metadata extends BaseMetadata = DefaultMetadataType>(options?: {
1201
1201
  name?: string;
1202
1202
  }): BaseExperiment<Input, Expected, Metadata>;
1203
- type EvalData<Input, Expected, Metadata extends BaseMetadata = DefaultMetadataType> = EvalCase<Input, Expected, Metadata>[] | (() => EvalCase<Input, Expected, Metadata>[]) | (() => Promise<EvalCase<Input, Expected, Metadata>[]>) | AsyncGenerator<EvalCase<Input, Expected, Metadata>> | AsyncIterable<EvalCase<Input, Expected, Metadata>> | BaseExperiment<Input, Expected, Metadata> | (() => BaseExperiment<Input, Expected, Metadata>);
1203
+ type EvalData<Input, Expected, Metadata extends BaseMetadata = DefaultMetadataType> = EvalCase<Input, Expected, Metadata>[] | (() => EvalCase<Input, Expected, Metadata>[]) | Promise<EvalCase<Input, Expected, Metadata>[]> | (() => Promise<EvalCase<Input, Expected, Metadata>[]>) | AsyncGenerator<EvalCase<Input, Expected, Metadata>> | AsyncIterable<EvalCase<Input, Expected, Metadata>> | BaseExperiment<Input, Expected, Metadata> | (() => BaseExperiment<Input, Expected, Metadata>);
1204
1204
  type EvalTask<Input, Output> = ((input: Input, hooks: EvalHooks) => Promise<Output>) | ((input: Input, hooks: EvalHooks) => Output);
1205
1205
  interface EvalHooks {
1206
1206
  meta: (info: Record<string, unknown>) => void;
package/dist/index.d.ts CHANGED
@@ -1200,7 +1200,7 @@ type BaseExperiment<Input, Expected, Metadata extends BaseMetadata = DefaultMeta
1200
1200
  declare function BaseExperiment<Input = unknown, Expected = unknown, Metadata extends BaseMetadata = DefaultMetadataType>(options?: {
1201
1201
  name?: string;
1202
1202
  }): BaseExperiment<Input, Expected, Metadata>;
1203
- type EvalData<Input, Expected, Metadata extends BaseMetadata = DefaultMetadataType> = EvalCase<Input, Expected, Metadata>[] | (() => EvalCase<Input, Expected, Metadata>[]) | (() => Promise<EvalCase<Input, Expected, Metadata>[]>) | AsyncGenerator<EvalCase<Input, Expected, Metadata>> | AsyncIterable<EvalCase<Input, Expected, Metadata>> | BaseExperiment<Input, Expected, Metadata> | (() => BaseExperiment<Input, Expected, Metadata>);
1203
+ type EvalData<Input, Expected, Metadata extends BaseMetadata = DefaultMetadataType> = EvalCase<Input, Expected, Metadata>[] | (() => EvalCase<Input, Expected, Metadata>[]) | Promise<EvalCase<Input, Expected, Metadata>[]> | (() => Promise<EvalCase<Input, Expected, Metadata>[]>) | AsyncGenerator<EvalCase<Input, Expected, Metadata>> | AsyncIterable<EvalCase<Input, Expected, Metadata>> | BaseExperiment<Input, Expected, Metadata> | (() => BaseExperiment<Input, Expected, Metadata>);
1204
1204
  type EvalTask<Input, Output> = ((input: Input, hooks: EvalHooks) => Promise<Output>) | ((input: Input, hooks: EvalHooks) => Output);
1205
1205
  interface EvalHooks {
1206
1206
  meta: (info: Record<string, unknown>) => void;
package/dist/index.js CHANGED
@@ -4311,6 +4311,17 @@ function initExperiment2(state, options = {}) {
4311
4311
  setCurrent: false
4312
4312
  });
4313
4313
  }
4314
+ function callEvaluatorData(data) {
4315
+ let dataResult = typeof data === "function" ? data() : data;
4316
+ let baseExperiment = void 0;
4317
+ if ("_type" in dataResult && dataResult._type === "BaseExperiment") {
4318
+ baseExperiment = dataResult.name;
4319
+ }
4320
+ return {
4321
+ data: dataResult,
4322
+ baseExperiment
4323
+ };
4324
+ }
4314
4325
  globalThis._evals = {
4315
4326
  evaluators: {},
4316
4327
  reporters: {}
@@ -4345,12 +4356,14 @@ async function Eval(name, evaluator, reporterOrOpts) {
4345
4356
  }
4346
4357
  const resolvedReporter = options.reporter || defaultReporter;
4347
4358
  try {
4359
+ const { data, baseExperiment } = callEvaluatorData(evaluator.data);
4348
4360
  const experiment = initExperiment2(evaluator.state, {
4349
4361
  ...evaluator.projectId ? { projectId: evaluator.projectId } : { project: name },
4350
4362
  experiment: evaluator.experimentName,
4351
4363
  metadata: evaluator.metadata,
4352
4364
  isPublic: evaluator.isPublic,
4353
- update: evaluator.update
4365
+ update: evaluator.update,
4366
+ baseExperiment
4354
4367
  });
4355
4368
  if (options.onStart) {
4356
4369
  experiment.summarize({ summarizeScores: false }).then(options.onStart);
@@ -4359,7 +4372,8 @@ async function Eval(name, evaluator, reporterOrOpts) {
4359
4372
  const evalDef = {
4360
4373
  evalName,
4361
4374
  projectName: name,
4362
- ...evaluator
4375
+ ...evaluator,
4376
+ data
4363
4377
  };
4364
4378
  const ret = await runEvaluator(experiment, evalDef, progressReporter, []);
4365
4379
  progressReporter.stop();
package/dist/index.mjs CHANGED
@@ -4254,6 +4254,17 @@ function initExperiment2(state, options = {}) {
4254
4254
  setCurrent: false
4255
4255
  });
4256
4256
  }
4257
+ function callEvaluatorData(data) {
4258
+ let dataResult = typeof data === "function" ? data() : data;
4259
+ let baseExperiment = void 0;
4260
+ if ("_type" in dataResult && dataResult._type === "BaseExperiment") {
4261
+ baseExperiment = dataResult.name;
4262
+ }
4263
+ return {
4264
+ data: dataResult,
4265
+ baseExperiment
4266
+ };
4267
+ }
4257
4268
  globalThis._evals = {
4258
4269
  evaluators: {},
4259
4270
  reporters: {}
@@ -4288,12 +4299,14 @@ async function Eval(name, evaluator, reporterOrOpts) {
4288
4299
  }
4289
4300
  const resolvedReporter = options.reporter || defaultReporter;
4290
4301
  try {
4302
+ const { data, baseExperiment } = callEvaluatorData(evaluator.data);
4291
4303
  const experiment = initExperiment2(evaluator.state, {
4292
4304
  ...evaluator.projectId ? { projectId: evaluator.projectId } : { project: name },
4293
4305
  experiment: evaluator.experimentName,
4294
4306
  metadata: evaluator.metadata,
4295
4307
  isPublic: evaluator.isPublic,
4296
- update: evaluator.update
4308
+ update: evaluator.update,
4309
+ baseExperiment
4297
4310
  });
4298
4311
  if (options.onStart) {
4299
4312
  experiment.summarize({ summarizeScores: false }).then(options.onStart);
@@ -4302,7 +4315,8 @@ async function Eval(name, evaluator, reporterOrOpts) {
4302
4315
  const evalDef = {
4303
4316
  evalName,
4304
4317
  projectName: name,
4305
- ...evaluator
4318
+ ...evaluator,
4319
+ data
4306
4320
  };
4307
4321
  const ret = await runEvaluator(experiment, evalDef, progressReporter, []);
4308
4322
  progressReporter.stop();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "braintrust",
3
- "version": "0.0.144",
3
+ "version": "0.0.146",
4
4
  "description": "SDK for integrating Braintrust",
5
5
  "repository": {
6
6
  "type": "git",
@@ -70,7 +70,7 @@
70
70
  },
71
71
  "dependencies": {
72
72
  "@ai-sdk/provider": "^0.0.11",
73
- "@braintrust/core": "0.0.45",
73
+ "@braintrust/core": "0.0.47",
74
74
  "@next/env": "^14.2.3",
75
75
  "@vercel/functions": "^1.0.2",
76
76
  "ai": "^3.2.16",