braintrust 1.1.1 → 2.0.0-rc.20

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/dev/dist/index.js CHANGED
@@ -10017,7 +10017,23 @@ var evaluatorDefinitionsSchema = _v3.z.record(
10017
10017
 
10018
10018
  // dev/server.ts
10019
10019
 
10020
- var _zodtojsonschema = require('zod-to-json-schema'); var _zodtojsonschema2 = _interopRequireDefault(_zodtojsonschema);
10020
+
10021
+ // src/zod/utils.ts
10022
+ var _zodtojsonschema = require('zod-to-json-schema');
10023
+ var _v4 = require('zod/v4'); var z42 = _interopRequireWildcard(_v4);
10024
+ function isZodV4(zodObject) {
10025
+ return typeof zodObject === "object" && zodObject !== null && "_zod" in zodObject && zodObject._zod !== void 0;
10026
+ }
10027
+ function zodToJsonSchema(schema) {
10028
+ if (isZodV4(schema)) {
10029
+ return z42.toJSONSchema(schema, {
10030
+ target: "draft-7"
10031
+ });
10032
+ }
10033
+ return _zodtojsonschema.zodToJsonSchema.call(void 0, schema);
10034
+ }
10035
+
10036
+ // dev/server.ts
10021
10037
  function runDevServer(evaluators, opts) {
10022
10038
  const allEvaluators = Object.fromEntries(
10023
10039
  evaluators.map((evaluator) => [evaluator.evalName, evaluator])
@@ -10307,14 +10323,14 @@ function makeEvalParametersSchema(parameters) {
10307
10323
  }
10308
10324
  ];
10309
10325
  } else {
10310
- const schema = _zodtojsonschema2.default.call(void 0, value);
10326
+ const schemaObj = zodToJsonSchema(value);
10311
10327
  return [
10312
10328
  name,
10313
10329
  {
10314
10330
  type: "data",
10315
- schema,
10316
- default: value.default,
10317
- description: value.description
10331
+ schema: schemaObj,
10332
+ default: schemaObj.default,
10333
+ description: schemaObj.description
10318
10334
  }
10319
10335
  ];
10320
10336
  }
@@ -10017,7 +10017,23 @@ var evaluatorDefinitionsSchema = z12.record(
10017
10017
 
10018
10018
  // dev/server.ts
10019
10019
  import { z as z13 } from "zod/v3";
10020
- import zodToJsonSchema from "zod-to-json-schema";
10020
+
10021
+ // src/zod/utils.ts
10022
+ import { zodToJsonSchema as zodToJsonSchemaV3 } from "zod-to-json-schema";
10023
+ import * as z42 from "zod/v4";
10024
+ function isZodV4(zodObject) {
10025
+ return typeof zodObject === "object" && zodObject !== null && "_zod" in zodObject && zodObject._zod !== void 0;
10026
+ }
10027
+ function zodToJsonSchema(schema) {
10028
+ if (isZodV4(schema)) {
10029
+ return z42.toJSONSchema(schema, {
10030
+ target: "draft-7"
10031
+ });
10032
+ }
10033
+ return zodToJsonSchemaV3(schema);
10034
+ }
10035
+
10036
+ // dev/server.ts
10021
10037
  function runDevServer(evaluators, opts) {
10022
10038
  const allEvaluators = Object.fromEntries(
10023
10039
  evaluators.map((evaluator) => [evaluator.evalName, evaluator])
@@ -10307,14 +10323,14 @@ function makeEvalParametersSchema(parameters) {
10307
10323
  }
10308
10324
  ];
10309
10325
  } else {
10310
- const schema = zodToJsonSchema(value);
10326
+ const schemaObj = zodToJsonSchema(value);
10311
10327
  return [
10312
10328
  name,
10313
10329
  {
10314
10330
  type: "data",
10315
- schema,
10316
- default: value.default,
10317
- description: value.description
10331
+ schema: schemaObj,
10332
+ default: schemaObj.default,
10333
+ description: schemaObj.description
10318
10334
  }
10319
10335
  ];
10320
10336
  }
package/dist/browser.js CHANGED
@@ -9261,8 +9261,22 @@ function processInputAttachments(input) {
9261
9261
  return input;
9262
9262
  }
9263
9263
 
9264
- // src/wrappers/ai-sdk/ai-sdk.ts
9264
+ // src/zod/utils.ts
9265
9265
  var _zodtojsonschema = require('zod-to-json-schema');
9266
+ var _v4 = require('zod/v4'); var z42 = _interopRequireWildcard(_v4);
9267
+ function isZodV4(zodObject) {
9268
+ return typeof zodObject === "object" && zodObject !== null && "_zod" in zodObject && zodObject._zod !== void 0;
9269
+ }
9270
+ function zodToJsonSchema(schema) {
9271
+ if (isZodV4(schema)) {
9272
+ return z42.toJSONSchema(schema, {
9273
+ target: "draft-7"
9274
+ });
9275
+ }
9276
+ return _zodtojsonschema.zodToJsonSchema.call(void 0, schema);
9277
+ }
9278
+
9279
+ // src/wrappers/ai-sdk/ai-sdk.ts
9266
9280
  var DENY_OUTPUT_PATHS = [
9267
9281
  // v3
9268
9282
  "roundtrips[].request.body",
@@ -9993,7 +10007,7 @@ var isZodSchema = (value) => {
9993
10007
  };
9994
10008
  var serializeZodSchema = (schema) => {
9995
10009
  try {
9996
- return _zodtojsonschema.zodToJsonSchema.call(void 0, schema);
10010
+ return zodToJsonSchema(schema);
9997
10011
  } catch (e11) {
9998
10012
  return {
9999
10013
  type: "object",
package/dist/browser.mjs CHANGED
@@ -9261,8 +9261,22 @@ function processInputAttachments(input) {
9261
9261
  return input;
9262
9262
  }
9263
9263
 
9264
+ // src/zod/utils.ts
9265
+ import { zodToJsonSchema as zodToJsonSchemaV3 } from "zod-to-json-schema";
9266
+ import * as z42 from "zod/v4";
9267
+ function isZodV4(zodObject) {
9268
+ return typeof zodObject === "object" && zodObject !== null && "_zod" in zodObject && zodObject._zod !== void 0;
9269
+ }
9270
+ function zodToJsonSchema(schema) {
9271
+ if (isZodV4(schema)) {
9272
+ return z42.toJSONSchema(schema, {
9273
+ target: "draft-7"
9274
+ });
9275
+ }
9276
+ return zodToJsonSchemaV3(schema);
9277
+ }
9278
+
9264
9279
  // src/wrappers/ai-sdk/ai-sdk.ts
9265
- import { zodToJsonSchema } from "zod-to-json-schema";
9266
9280
  var DENY_OUTPUT_PATHS = [
9267
9281
  // v3
9268
9282
  "roundtrips[].request.body",
package/dist/cli.js CHANGED
@@ -1275,7 +1275,7 @@ var require_package = __commonJS({
1275
1275
  "package.json"(exports2, module2) {
1276
1276
  module2.exports = {
1277
1277
  name: "braintrust",
1278
- version: "1.1.1",
1278
+ version: "2.0.0-rc.20",
1279
1279
  description: "SDK for integrating Braintrust",
1280
1280
  repository: {
1281
1281
  type: "git",
@@ -1331,7 +1331,7 @@ var require_package = __commonJS({
1331
1331
  watch: "tsup --watch",
1332
1332
  clean: "rm -r dist/* && rm -r dev/dist/*",
1333
1333
  docs: "npx typedoc --options typedoc.json src/index.ts",
1334
- test: 'vitest run --exclude "src/wrappers/**/*.test.ts" --exclude "src/otel/**/*.test.ts" --exclude "smoke/**/*.test.ts"',
1334
+ test: 'vitest run --exclude "src/wrappers/**/*.test.ts" --exclude "src/otel/**/*.test.ts" --exclude "smoke/**/*.test.ts" --exclude "src/zod/**/*.test.ts"',
1335
1335
  "test:api-compat": "vitest run src/api-compatibility.test.ts",
1336
1336
  "test:anthropic": "vitest run src/wrappers/anthropic.test.ts",
1337
1337
  "test:openai": "vitest run src/wrappers/oai.test.ts",
@@ -1341,6 +1341,8 @@ var require_package = __commonJS({
1341
1341
  "test:ai-sdk-v1": "vitest run src/wrappers/ai-sdk-v1.test.ts",
1342
1342
  "test:ai-sdk-v2": "vitest run src/wrappers/ai-sdk-v2.test.ts src/wrappers/ai-sdk-v1.test.ts",
1343
1343
  "test:ai-sdk-v3": "vitest run src/wrappers/ai-sdk-v3.test.ts",
1344
+ "test:zod-v3": "vitest run src/zod/zod-v3-serialization.test.ts",
1345
+ "test:zod-v4": "vitest run src/zod/zod-v4-serialization.test.ts",
1344
1346
  "test:mastra": "vitest run src/wrappers/mastra.test.ts",
1345
1347
  "test:claude-agent-sdk": "vitest run src/wrappers/claude-agent-sdk.test.ts",
1346
1348
  "test:output": "tsx scripts/test-output.ts --with-comparison --with-metrics --with-progress"
@@ -1384,7 +1386,8 @@ var require_package = __commonJS({
1384
1386
  "typedoc-plugin-markdown": "^3.17.1",
1385
1387
  typescript: "5.4.4",
1386
1388
  "vite-tsconfig-paths": "^4.3.2",
1387
- vitest: "^2.1.9"
1389
+ vitest: "^2.1.9",
1390
+ zod: "^3.25.34"
1388
1391
  },
1389
1392
  dependencies: {
1390
1393
  "@ai-sdk/provider": "^1.1.3",
@@ -1411,11 +1414,10 @@ var require_package = __commonJS({
1411
1414
  "source-map": "^0.7.4",
1412
1415
  "termi-link": "^1.0.1",
1413
1416
  uuid: "^9.0.1",
1414
- zod: "^3.25.34",
1415
- "zod-to-json-schema": "^3.22.5"
1417
+ "zod-to-json-schema": "^3.25.0"
1416
1418
  },
1417
1419
  peerDependencies: {
1418
- zod: "^3.25.34"
1420
+ zod: "^3.25.34 || ^4.0"
1419
1421
  }
1420
1422
  };
1421
1423
  }
@@ -11728,8 +11730,22 @@ async function getTsModule() {
11728
11730
  return tsModule;
11729
11731
  }
11730
11732
 
11731
- // src/cli/functions/upload.ts
11733
+ // src/zod/utils.ts
11732
11734
  var import_zod_to_json_schema = require("zod-to-json-schema");
11735
+ var z42 = __toESM(require("zod/v4"));
11736
+ function isZodV4(zodObject) {
11737
+ return typeof zodObject === "object" && zodObject !== null && "_zod" in zodObject && zodObject._zod !== void 0;
11738
+ }
11739
+ function zodToJsonSchema(schema) {
11740
+ if (isZodV4(schema)) {
11741
+ return z42.toJSONSchema(schema, {
11742
+ target: "draft-7"
11743
+ });
11744
+ }
11745
+ return (0, import_zod_to_json_schema.zodToJsonSchema)(schema);
11746
+ }
11747
+
11748
+ // src/cli/functions/upload.ts
11733
11749
  var import_pluralize2 = __toESM(require("pluralize"));
11734
11750
  var pathInfoSchema = import_v311.z.strictObject({
11735
11751
  url: import_v311.z.string(),
@@ -11770,8 +11786,8 @@ async function uploadHandleBundles({
11770
11786
  index: i
11771
11787
  },
11772
11788
  function_schema: fn.parameters || fn.returns ? {
11773
- parameters: fn.parameters ? (0, import_zod_to_json_schema.zodToJsonSchema)(fn.parameters) : void 0,
11774
- returns: fn.returns ? (0, import_zod_to_json_schema.zodToJsonSchema)(fn.returns) : void 0
11789
+ parameters: fn.parameters ? zodToJsonSchema(fn.parameters) : void 0,
11790
+ returns: fn.returns ? zodToJsonSchema(fn.returns) : void 0
11775
11791
  } : void 0,
11776
11792
  if_exists: fn.ifExists,
11777
11793
  metadata: fn.metadata
@@ -12591,7 +12607,6 @@ var evaluatorDefinitionsSchema = import_v314.z.record(
12591
12607
 
12592
12608
  // dev/server.ts
12593
12609
  var import_v315 = require("zod/v3");
12594
- var import_zod_to_json_schema2 = __toESM(require("zod-to-json-schema"));
12595
12610
  function runDevServer(evaluators, opts) {
12596
12611
  const allEvaluators = Object.fromEntries(
12597
12612
  evaluators.map((evaluator) => [evaluator.evalName, evaluator])
@@ -12881,14 +12896,14 @@ function makeEvalParametersSchema(parameters) {
12881
12896
  }
12882
12897
  ];
12883
12898
  } else {
12884
- const schema = (0, import_zod_to_json_schema2.default)(value);
12899
+ const schemaObj = zodToJsonSchema(value);
12885
12900
  return [
12886
12901
  name,
12887
12902
  {
12888
12903
  type: "data",
12889
- schema,
12890
- default: value.default,
12891
- description: value.description
12904
+ schema: schemaObj,
12905
+ default: schemaObj.default,
12906
+ description: schemaObj.description
12892
12907
  }
12893
12908
  ];
12894
12909
  }
package/dist/index.js CHANGED
@@ -9482,8 +9482,22 @@ function processInputAttachments(input) {
9482
9482
  return input;
9483
9483
  }
9484
9484
 
9485
- // src/wrappers/ai-sdk/ai-sdk.ts
9485
+ // src/zod/utils.ts
9486
9486
  var _zodtojsonschema = require('zod-to-json-schema');
9487
+ var _v4 = require('zod/v4'); var z42 = _interopRequireWildcard(_v4);
9488
+ function isZodV4(zodObject) {
9489
+ return typeof zodObject === "object" && zodObject !== null && "_zod" in zodObject && zodObject._zod !== void 0;
9490
+ }
9491
+ function zodToJsonSchema(schema) {
9492
+ if (isZodV4(schema)) {
9493
+ return z42.toJSONSchema(schema, {
9494
+ target: "draft-7"
9495
+ });
9496
+ }
9497
+ return _zodtojsonschema.zodToJsonSchema.call(void 0, schema);
9498
+ }
9499
+
9500
+ // src/wrappers/ai-sdk/ai-sdk.ts
9487
9501
  var DENY_OUTPUT_PATHS = [
9488
9502
  // v3
9489
9503
  "roundtrips[].request.body",
@@ -10214,7 +10228,7 @@ var isZodSchema = (value) => {
10214
10228
  };
10215
10229
  var serializeZodSchema = (schema) => {
10216
10230
  try {
10217
- return _zodtojsonschema.zodToJsonSchema.call(void 0, schema);
10231
+ return zodToJsonSchema(schema);
10218
10232
  } catch (e11) {
10219
10233
  return {
10220
10234
  type: "object",
package/dist/index.mjs CHANGED
@@ -9482,8 +9482,22 @@ function processInputAttachments(input) {
9482
9482
  return input;
9483
9483
  }
9484
9484
 
9485
+ // src/zod/utils.ts
9486
+ import { zodToJsonSchema as zodToJsonSchemaV3 } from "zod-to-json-schema";
9487
+ import * as z42 from "zod/v4";
9488
+ function isZodV4(zodObject) {
9489
+ return typeof zodObject === "object" && zodObject !== null && "_zod" in zodObject && zodObject._zod !== void 0;
9490
+ }
9491
+ function zodToJsonSchema(schema) {
9492
+ if (isZodV4(schema)) {
9493
+ return z42.toJSONSchema(schema, {
9494
+ target: "draft-7"
9495
+ });
9496
+ }
9497
+ return zodToJsonSchemaV3(schema);
9498
+ }
9499
+
9485
9500
  // src/wrappers/ai-sdk/ai-sdk.ts
9486
- import { zodToJsonSchema } from "zod-to-json-schema";
9487
9501
  var DENY_OUTPUT_PATHS = [
9488
9502
  // v3
9489
9503
  "roundtrips[].request.body",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "braintrust",
3
- "version": "1.1.1",
3
+ "version": "2.0.0-rc.20",
4
4
  "description": "SDK for integrating Braintrust",
5
5
  "repository": {
6
6
  "type": "git",
@@ -56,7 +56,7 @@
56
56
  "watch": "tsup --watch",
57
57
  "clean": "rm -r dist/* && rm -r dev/dist/*",
58
58
  "docs": "npx typedoc --options typedoc.json src/index.ts",
59
- "test": "vitest run --exclude \"src/wrappers/**/*.test.ts\" --exclude \"src/otel/**/*.test.ts\" --exclude \"smoke/**/*.test.ts\"",
59
+ "test": "vitest run --exclude \"src/wrappers/**/*.test.ts\" --exclude \"src/otel/**/*.test.ts\" --exclude \"smoke/**/*.test.ts\" --exclude \"src/zod/**/*.test.ts\"",
60
60
  "test:api-compat": "vitest run src/api-compatibility.test.ts",
61
61
  "test:anthropic": "vitest run src/wrappers/anthropic.test.ts",
62
62
  "test:openai": "vitest run src/wrappers/oai.test.ts",
@@ -66,6 +66,8 @@
66
66
  "test:ai-sdk-v1": "vitest run src/wrappers/ai-sdk-v1.test.ts",
67
67
  "test:ai-sdk-v2": "vitest run src/wrappers/ai-sdk-v2.test.ts src/wrappers/ai-sdk-v1.test.ts",
68
68
  "test:ai-sdk-v3": "vitest run src/wrappers/ai-sdk-v3.test.ts",
69
+ "test:zod-v3": "vitest run src/zod/zod-v3-serialization.test.ts",
70
+ "test:zod-v4": "vitest run src/zod/zod-v4-serialization.test.ts",
69
71
  "test:mastra": "vitest run src/wrappers/mastra.test.ts",
70
72
  "test:claude-agent-sdk": "vitest run src/wrappers/claude-agent-sdk.test.ts",
71
73
  "test:output": "tsx scripts/test-output.ts --with-comparison --with-metrics --with-progress"
@@ -109,7 +111,8 @@
109
111
  "typedoc-plugin-markdown": "^3.17.1",
110
112
  "typescript": "5.4.4",
111
113
  "vite-tsconfig-paths": "^4.3.2",
112
- "vitest": "^2.1.9"
114
+ "vitest": "^2.1.9",
115
+ "zod": "^3.25.34"
113
116
  },
114
117
  "dependencies": {
115
118
  "@ai-sdk/provider": "^1.1.3",
@@ -136,10 +139,9 @@
136
139
  "source-map": "^0.7.4",
137
140
  "termi-link": "^1.0.1",
138
141
  "uuid": "^9.0.1",
139
- "zod": "^3.25.34",
140
- "zod-to-json-schema": "^3.22.5"
142
+ "zod-to-json-schema": "^3.25.0"
141
143
  },
142
144
  "peerDependencies": {
143
- "zod": "^3.25.34"
145
+ "zod": "^3.25.34 || ^4.0"
144
146
  }
145
147
  }