@mastra/schema-compat 1.3.16-alpha.0 → 1.3.17-alpha.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.
Files changed (47) hide show
  1. package/dist/_types/@internal_ai-sdk-v5/dist/index.d.ts +274 -889
  2. package/dist/_types/@internal_ai-v6/dist/index.d.ts +1051 -1301
  3. package/dist/{esm-CWlHuVIx.js → esm-BG70JlG8.js} +60 -108
  4. package/dist/{esm-CWlHuVIx.js.map → esm-BG70JlG8.js.map} +1 -1
  5. package/dist/{esm-CkNCkZSB.cjs → esm-BQeGF7AD.cjs} +60 -108
  6. package/dist/{esm-CkNCkZSB.cjs.map → esm-BQeGF7AD.cjs.map} +1 -1
  7. package/dist/index.cjs +162 -185
  8. package/dist/index.cjs.map +1 -1
  9. package/dist/index.js +162 -185
  10. package/dist/index.js.map +1 -1
  11. package/dist/{json-schema-VSnKq6-P.cjs → json-schema-7oyknwMS.cjs} +241 -247
  12. package/dist/json-schema-7oyknwMS.cjs.map +1 -0
  13. package/dist/{json-schema-R8yfooPa.js → json-schema-BdCwqjfN.js} +241 -247
  14. package/dist/json-schema-BdCwqjfN.js.map +1 -0
  15. package/dist/{json-schema-traverse-B35mHRM8.js → json-schema-traverse-D0CId4oM.js} +5 -7
  16. package/dist/{json-schema-traverse-B35mHRM8.js.map → json-schema-traverse-D0CId4oM.js.map} +1 -1
  17. package/dist/{json-schema-traverse-DbuWNYgg.cjs → json-schema-traverse-evfp8uQX.cjs} +5 -7
  18. package/dist/{json-schema-traverse-DbuWNYgg.cjs.map → json-schema-traverse-evfp8uQX.cjs.map} +1 -1
  19. package/dist/json-to-zod.cjs +153 -142
  20. package/dist/json-to-zod.cjs.map +1 -1
  21. package/dist/json-to-zod.d.ts.map +1 -1
  22. package/dist/json-to-zod.js +153 -142
  23. package/dist/json-to-zod.js.map +1 -1
  24. package/dist/{schema-e0VHpMt0.js → schema-Bf12g7KC.js} +4 -6
  25. package/dist/{schema-e0VHpMt0.js.map → schema-Bf12g7KC.js.map} +1 -1
  26. package/dist/{schema-IhrnbMI3.cjs → schema-D2ab1-Dc.cjs} +5 -7
  27. package/dist/schema-D2ab1-Dc.cjs.map +1 -0
  28. package/dist/schema.cjs +1 -1
  29. package/dist/schema.js +1 -2
  30. package/dist/standard-schema/adapters/ai-sdk.cjs +2 -7
  31. package/dist/standard-schema/adapters/ai-sdk.cjs.map +1 -1
  32. package/dist/standard-schema/adapters/ai-sdk.js +2 -7
  33. package/dist/standard-schema/adapters/ai-sdk.js.map +1 -1
  34. package/dist/standard-schema/adapters/json-schema.cjs +1 -1
  35. package/dist/standard-schema/adapters/json-schema.js +1 -2
  36. package/dist/standard-schema/adapters/zod-v3.cjs +3 -4
  37. package/dist/standard-schema/adapters/zod-v3.cjs.map +1 -1
  38. package/dist/standard-schema/adapters/zod-v3.js +3 -4
  39. package/dist/standard-schema/adapters/zod-v3.js.map +1 -1
  40. package/dist/zod-to-json.cjs +6 -5
  41. package/dist/zod-to-json.cjs.map +1 -1
  42. package/dist/zod-to-json.js +6 -5
  43. package/dist/zod-to-json.js.map +1 -1
  44. package/package.json +24 -25
  45. package/dist/json-schema-R8yfooPa.js.map +0 -1
  46. package/dist/json-schema-VSnKq6-P.cjs.map +0 -1
  47. package/dist/schema-IhrnbMI3.cjs.map +0 -1
package/dist/index.js CHANGED
@@ -1,11 +1,11 @@
1
- import { r as __toESM$1, t as require_json_schema_traverse } from "./json-schema-traverse-B35mHRM8.js";
1
+ import { r as __toESM$1, t as require_json_schema_traverse } from "./json-schema-traverse-D0CId4oM.js";
2
2
  import { ensureAllPropertiesRequired, prepareJsonSchemaForOpenAIStrictMode, zodToJsonSchema as zodToJsonSchema$1 } from "./zod-to-json.js";
3
- import { a as standardSchemaToJSONSchema, i as isStandardSchemaWithJSON, n as isStandardJSONSchema, o as toStandardSchema, r as isStandardSchema, t as JSON_SCHEMA_LIBRARY_OPTIONS } from "./schema-e0VHpMt0.js";
3
+ import { a as standardSchemaToJSONSchema, i as isStandardSchemaWithJSON, n as isStandardJSONSchema, o as toStandardSchema, r as isStandardSchema, t as JSON_SCHEMA_LIBRARY_OPTIONS } from "./schema-Bf12g7KC.js";
4
4
  import { ZodArray, ZodDate, ZodDefault, ZodFirstPartyTypeKind, ZodIntersection, ZodNull, ZodNullable, ZodNumber, ZodObject, ZodOptional, ZodString, ZodUnion, z } from "zod/v3";
5
5
  import { z as z$1 } from "zod";
6
6
  import { convertJsonSchemaToZod } from "zod-from-json-schema";
7
7
  import { ZodArray as ZodArray$1, ZodDate as ZodDate$1, ZodDefault as ZodDefault$1, ZodIntersection as ZodIntersection$1, ZodNull as ZodNull$1, ZodNullable as ZodNullable$1, ZodNumber as ZodNumber$1, ZodObject as ZodObject$1, ZodOptional as ZodOptional$1, ZodString as ZodString$1, ZodUnion as ZodUnion$1, z as z$2 } from "zod/v4";
8
- //#region ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/zod-from-json-schema/0.0.5/8e273a13436172e49bb0898e3f9caf0fd3966851d12111764522ea958a085aeb/node_modules/zod-from-json-schema/dist/index.mjs
8
+ // ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/zod-from-json-schema/0.0.5/8e273a13436172e49bb0898e3f9caf0fd3966851d12111764522ea958a085aeb/node_modules/zod-from-json-schema/dist/index.mjs
9
9
  function convertJsonSchemaToZod$1(schema) {
10
10
  function addMetadata(zodSchema, jsonSchema) {
11
11
  if (jsonSchema.description) zodSchema = zodSchema.describe(jsonSchema.description);
@@ -135,8 +135,7 @@ function convertJsonSchemaToZod$1(schema) {
135
135
  }
136
136
  return addMetadata(z$1.any(), schema);
137
137
  }
138
- //#endregion
139
- //#region ../_vendored/ai_v4/dist/dist-Cm5DZgxA.js
138
+ // ../_vendored/ai_v4/dist/dist-DlRWVOEI.js
140
139
  var marker$1 = "vercel.ai.error";
141
140
  var symbol$1 = Symbol.for(marker$1);
142
141
  var _a$1;
@@ -252,15 +251,14 @@ Error message: ${getErrorMessage(cause)}`,
252
251
  };
253
252
  _a13$1 = symbol13$1;
254
253
  var TypeValidationError = _TypeValidationError;
255
- //#endregion
256
- //#region ../_vendored/ai_v4/dist/index.js
254
+ // ../_vendored/ai_v4/dist/index.js
257
255
  var __create = Object.create;
258
256
  var __defProp$1 = Object.defineProperty;
259
257
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
260
258
  var __getOwnPropNames = Object.getOwnPropertyNames;
261
259
  var __getProtoOf = Object.getPrototypeOf;
262
260
  var __hasOwnProp = Object.prototype.hasOwnProperty;
263
- var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
261
+ var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod, mod.exports), cb = null), mod.exports);
264
262
  var __copyProps = (to, from, except, desc) => {
265
263
  if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
266
264
  key = keys[i];
@@ -271,7 +269,7 @@ var __copyProps = (to, from, except, desc) => {
271
269
  }
272
270
  return to;
273
271
  };
274
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp$1(target, "default", {
272
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp$1(target, "default", {
275
273
  value: mod,
276
274
  enumerable: true
277
275
  }) : target, mod));
@@ -576,24 +574,24 @@ function parseBigintDef(def, refs) {
576
574
  if (!def.checks) return res;
577
575
  for (const check of def.checks) switch (check.kind) {
578
576
  case "min":
579
- if (refs.target === "jsonSchema7") if (check.inclusive) setResponseValueAndErrors(res, "minimum", check.value, check.message, refs);
580
- else setResponseValueAndErrors(res, "exclusiveMinimum", check.value, check.message, refs);
581
- else {
577
+ if (refs.target === "jsonSchema7") {
578
+ if (check.inclusive) setResponseValueAndErrors(res, "minimum", check.value, check.message, refs);
579
+ else setResponseValueAndErrors(res, "exclusiveMinimum", check.value, check.message, refs);
580
+ } else {
582
581
  if (!check.inclusive) res.exclusiveMinimum = true;
583
582
  setResponseValueAndErrors(res, "minimum", check.value, check.message, refs);
584
583
  }
585
584
  break;
586
585
  case "max":
587
- if (refs.target === "jsonSchema7") if (check.inclusive) setResponseValueAndErrors(res, "maximum", check.value, check.message, refs);
588
- else setResponseValueAndErrors(res, "exclusiveMaximum", check.value, check.message, refs);
589
- else {
586
+ if (refs.target === "jsonSchema7") {
587
+ if (check.inclusive) setResponseValueAndErrors(res, "maximum", check.value, check.message, refs);
588
+ else setResponseValueAndErrors(res, "exclusiveMaximum", check.value, check.message, refs);
589
+ } else {
590
590
  if (!check.inclusive) res.exclusiveMaximum = true;
591
591
  setResponseValueAndErrors(res, "maximum", check.value, check.message, refs);
592
592
  }
593
593
  break;
594
- case "multipleOf":
595
- setResponseValueAndErrors(res, "multipleOf", check.value, check.message, refs);
596
- break;
594
+ case "multipleOf": setResponseValueAndErrors(res, "multipleOf", check.value, check.message, refs);
597
595
  }
598
596
  return res;
599
597
  }
@@ -632,9 +630,7 @@ const integerDateParser = (def, refs) => {
632
630
  case "min":
633
631
  setResponseValueAndErrors(res, "minimum", check.value, check.message, refs);
634
632
  break;
635
- case "max":
636
- setResponseValueAndErrors(res, "maximum", check.value, check.message, refs);
637
- break;
633
+ case "max": setResponseValueAndErrors(res, "maximum", check.value, check.message, refs);
638
634
  }
639
635
  return res;
640
636
  };
@@ -774,9 +770,7 @@ function parseStringDef(def, refs) {
774
770
  case "format:idn-email":
775
771
  addFormat(res, "idn-email", check.message, refs);
776
772
  break;
777
- case "pattern:zod":
778
- addPattern(res, zodPatterns.email, check.message, refs);
779
- break;
773
+ case "pattern:zod": addPattern(res, zodPatterns.email, check.message, refs);
780
774
  }
781
775
  break;
782
776
  case "url":
@@ -847,16 +841,10 @@ function parseStringDef(def, refs) {
847
841
  case "contentEncoding:base64":
848
842
  setResponseValueAndErrors(res, "contentEncoding", "base64", check.message, refs);
849
843
  break;
850
- case "pattern:zod":
851
- addPattern(res, zodPatterns.base64, check.message, refs);
852
- break;
844
+ case "pattern:zod": addPattern(res, zodPatterns.base64, check.message, refs);
853
845
  }
854
846
  break;
855
847
  case "nanoid": addPattern(res, zodPatterns.nanoid, check.message, refs);
856
- case "toLowerCase":
857
- case "toUpperCase":
858
- case "trim": break;
859
- default:
860
848
  }
861
849
  return res;
862
850
  }
@@ -1172,24 +1160,24 @@ function parseNumberDef(def, refs) {
1172
1160
  addErrorMessage(res, "type", check.message, refs);
1173
1161
  break;
1174
1162
  case "min":
1175
- if (refs.target === "jsonSchema7") if (check.inclusive) setResponseValueAndErrors(res, "minimum", check.value, check.message, refs);
1176
- else setResponseValueAndErrors(res, "exclusiveMinimum", check.value, check.message, refs);
1177
- else {
1163
+ if (refs.target === "jsonSchema7") {
1164
+ if (check.inclusive) setResponseValueAndErrors(res, "minimum", check.value, check.message, refs);
1165
+ else setResponseValueAndErrors(res, "exclusiveMinimum", check.value, check.message, refs);
1166
+ } else {
1178
1167
  if (!check.inclusive) res.exclusiveMinimum = true;
1179
1168
  setResponseValueAndErrors(res, "minimum", check.value, check.message, refs);
1180
1169
  }
1181
1170
  break;
1182
1171
  case "max":
1183
- if (refs.target === "jsonSchema7") if (check.inclusive) setResponseValueAndErrors(res, "maximum", check.value, check.message, refs);
1184
- else setResponseValueAndErrors(res, "exclusiveMaximum", check.value, check.message, refs);
1185
- else {
1172
+ if (refs.target === "jsonSchema7") {
1173
+ if (check.inclusive) setResponseValueAndErrors(res, "maximum", check.value, check.message, refs);
1174
+ else setResponseValueAndErrors(res, "exclusiveMaximum", check.value, check.message, refs);
1175
+ } else {
1186
1176
  if (!check.inclusive) res.exclusiveMaximum = true;
1187
1177
  setResponseValueAndErrors(res, "maximum", check.value, check.message, refs);
1188
1178
  }
1189
1179
  break;
1190
- case "multipleOf":
1191
- setResponseValueAndErrors(res, "multipleOf", check.value, check.message, refs);
1192
- break;
1180
+ case "multipleOf": setResponseValueAndErrors(res, "multipleOf", check.value, check.message, refs);
1193
1181
  }
1194
1182
  return res;
1195
1183
  }
@@ -1608,7 +1596,6 @@ function fixJson(input) {
1608
1596
  stack.pop();
1609
1597
  stack.push(swapState);
1610
1598
  stack.push("INSIDE_ARRAY_START");
1611
- break;
1612
1599
  }
1613
1600
  }
1614
1601
  function processAfterObjectValue(char, i) {
@@ -1620,7 +1607,6 @@ function fixJson(input) {
1620
1607
  case "}":
1621
1608
  lastValidIndex = i;
1622
1609
  stack.pop();
1623
- break;
1624
1610
  }
1625
1611
  }
1626
1612
  function processAfterArrayValue(char, i) {
@@ -1632,7 +1618,6 @@ function fixJson(input) {
1632
1618
  case "]":
1633
1619
  lastValidIndex = i;
1634
1620
  stack.pop();
1635
- break;
1636
1621
  }
1637
1622
  }
1638
1623
  for (let i = 0; i < input.length; i++) {
@@ -1650,7 +1635,6 @@ function fixJson(input) {
1650
1635
  case "}":
1651
1636
  lastValidIndex = i;
1652
1637
  stack.pop();
1653
- break;
1654
1638
  }
1655
1639
  break;
1656
1640
  case "INSIDE_OBJECT_AFTER_COMMA":
@@ -1658,7 +1642,6 @@ function fixJson(input) {
1658
1642
  case "\"":
1659
1643
  stack.pop();
1660
1644
  stack.push("INSIDE_OBJECT_KEY");
1661
- break;
1662
1645
  }
1663
1646
  break;
1664
1647
  case "INSIDE_OBJECT_KEY":
@@ -1666,7 +1649,6 @@ function fixJson(input) {
1666
1649
  case "\"":
1667
1650
  stack.pop();
1668
1651
  stack.push("INSIDE_OBJECT_AFTER_KEY");
1669
- break;
1670
1652
  }
1671
1653
  break;
1672
1654
  case "INSIDE_OBJECT_AFTER_KEY":
@@ -1674,7 +1656,6 @@ function fixJson(input) {
1674
1656
  case ":":
1675
1657
  stack.pop();
1676
1658
  stack.push("INSIDE_OBJECT_BEFORE_VALUE");
1677
- break;
1678
1659
  }
1679
1660
  break;
1680
1661
  case "INSIDE_OBJECT_BEFORE_VALUE":
@@ -1704,7 +1685,6 @@ function fixJson(input) {
1704
1685
  default:
1705
1686
  lastValidIndex = i;
1706
1687
  processValueStart(char, i, "INSIDE_ARRAY_AFTER_VALUE");
1707
- break;
1708
1688
  }
1709
1689
  break;
1710
1690
  case "INSIDE_ARRAY_AFTER_VALUE":
@@ -1717,9 +1697,7 @@ function fixJson(input) {
1717
1697
  lastValidIndex = i;
1718
1698
  stack.pop();
1719
1699
  break;
1720
- default:
1721
- lastValidIndex = i;
1722
- break;
1700
+ default: lastValidIndex = i;
1723
1701
  }
1724
1702
  break;
1725
1703
  case "INSIDE_ARRAY_AFTER_COMMA":
@@ -1760,9 +1738,7 @@ function fixJson(input) {
1760
1738
  stack.pop();
1761
1739
  if (stack[stack.length - 1] === "INSIDE_ARRAY_AFTER_VALUE") processAfterArrayValue(char, i);
1762
1740
  break;
1763
- default:
1764
- stack.pop();
1765
- break;
1741
+ default: stack.pop();
1766
1742
  }
1767
1743
  break;
1768
1744
  case "INSIDE_LITERAL": {
@@ -3383,8 +3359,7 @@ function trimStartOfStream() {
3383
3359
  return text2;
3384
3360
  };
3385
3361
  }
3386
- //#endregion
3387
- //#region src/utils.ts
3362
+ // src/utils.ts
3388
3363
  /**
3389
3364
  * Converts a Zod schema to an AI SDK Schema with validation support.
3390
3365
  *
@@ -3507,7 +3482,10 @@ function convertSchemaToZod(schema) {
3507
3482
  function applyCompatLayer({ schema, compatLayers, mode }) {
3508
3483
  if (mode === "jsonSchema") {
3509
3484
  const standardSchema = toStandardSchema(schema);
3510
- for (const compat of compatLayers) if (compat.shouldApply()) return standardSchemaToJSONSchema(compat.processToCompatSchema(standardSchema));
3485
+ for (const compat of compatLayers) if (compat.shouldApply()) {
3486
+ const compatSchema = compat.processToCompatSchema(standardSchema);
3487
+ return standardSchemaToJSONSchema(compatSchema);
3488
+ }
3511
3489
  return standardSchemaToJSONSchema(standardSchema);
3512
3490
  } else {
3513
3491
  let zodSchema;
@@ -3520,8 +3498,7 @@ function applyCompatLayer({ schema, compatLayers, mode }) {
3520
3498
  return convertZodSchemaToAISDKSchema(zodSchema);
3521
3499
  }
3522
3500
  }
3523
- //#endregion
3524
- //#region src/schema-compatibility-v3.ts
3501
+ // src/schema-compatibility-v3.ts
3525
3502
  /**
3526
3503
  * All supported string validation check types that can be processed or converted to descriptions.
3527
3504
  * @constant
@@ -3802,12 +3779,18 @@ var SchemaCompatLayer$1 = class {
3802
3779
  const processedType = this.processZodType(zodArrayDef.type);
3803
3780
  let result = z.array(processedType);
3804
3781
  const constraints = [];
3805
- if (zodArrayDef.minLength?.value !== void 0) if (handleChecks.includes("min")) constraints.push(`minimum length ${zodArrayDef.minLength.value}`);
3806
- else result = result.min(zodArrayDef.minLength.value);
3807
- if (zodArrayDef.maxLength?.value !== void 0) if (handleChecks.includes("max")) constraints.push(`maximum length ${zodArrayDef.maxLength.value}`);
3808
- else result = result.max(zodArrayDef.maxLength.value);
3809
- if (zodArrayDef.exactLength?.value !== void 0) if (handleChecks.includes("length")) constraints.push(`exact length ${zodArrayDef.exactLength.value}`);
3810
- else result = result.length(zodArrayDef.exactLength.value);
3782
+ if (zodArrayDef.minLength?.value !== void 0) {
3783
+ if (handleChecks.includes("min")) constraints.push(`minimum length ${zodArrayDef.minLength.value}`);
3784
+ else result = result.min(zodArrayDef.minLength.value);
3785
+ }
3786
+ if (zodArrayDef.maxLength?.value !== void 0) {
3787
+ if (handleChecks.includes("max")) constraints.push(`maximum length ${zodArrayDef.maxLength.value}`);
3788
+ else result = result.max(zodArrayDef.maxLength.value);
3789
+ }
3790
+ if (zodArrayDef.exactLength?.value !== void 0) {
3791
+ if (handleChecks.includes("length")) constraints.push(`exact length ${zodArrayDef.exactLength.value}`);
3792
+ else result = result.length(zodArrayDef.exactLength.value);
3793
+ }
3811
3794
  const description = this.mergeParameterDescription(value.description, constraints);
3812
3795
  if (description) result = result.describe(description);
3813
3796
  return result;
@@ -3837,23 +3820,23 @@ var SchemaCompatLayer$1 = class {
3837
3820
  const constraints = [];
3838
3821
  const checks = value._def.checks || [];
3839
3822
  const newChecks = [];
3840
- for (const check of checks) if ("kind" in check) if (handleChecks.includes(check.kind)) switch (check.kind) {
3841
- case "regex":
3842
- constraints.push(`input must match this regex ${check.regex.source}`);
3843
- break;
3844
- case "emoji":
3845
- case "email":
3846
- case "url":
3847
- case "uuid":
3848
- case "cuid":
3849
- constraints.push(`a valid ${check.kind}`);
3850
- break;
3851
- case "min":
3852
- case "max":
3853
- constraints.push(`${check.kind}imum length ${check.value}`);
3854
- break;
3823
+ for (const check of checks) if ("kind" in check) {
3824
+ if (handleChecks.includes(check.kind)) switch (check.kind) {
3825
+ case "regex":
3826
+ constraints.push(`input must match this regex ${check.regex.source}`);
3827
+ break;
3828
+ case "emoji":
3829
+ case "email":
3830
+ case "url":
3831
+ case "uuid":
3832
+ case "cuid":
3833
+ constraints.push(`a valid ${check.kind}`);
3834
+ break;
3835
+ case "min":
3836
+ case "max": constraints.push(`${check.kind}imum length ${check.value}`);
3837
+ }
3838
+ else newChecks.push(check);
3855
3839
  }
3856
- else newChecks.push(check);
3857
3840
  let result = z.string();
3858
3841
  for (const check of newChecks) result = result._addCheck(check);
3859
3842
  const description = this.mergeParameterDescription(value.description, constraints);
@@ -3871,20 +3854,20 @@ var SchemaCompatLayer$1 = class {
3871
3854
  const constraints = [];
3872
3855
  const checks = value._def.checks || [];
3873
3856
  const newChecks = [];
3874
- for (const check of checks) if ("kind" in check) if (handleChecks.includes(check.kind)) switch (check.kind) {
3875
- case "min":
3876
- if (check.inclusive) constraints.push(`greater than or equal to ${check.value}`);
3877
- else constraints.push(`greater than ${check.value}`);
3878
- break;
3879
- case "max":
3880
- if (check.inclusive) constraints.push(`lower than or equal to ${check.value}`);
3881
- else constraints.push(`lower than ${check.value}`);
3882
- break;
3883
- case "multipleOf":
3884
- constraints.push(`multiple of ${check.value}`);
3885
- break;
3857
+ for (const check of checks) if ("kind" in check) {
3858
+ if (handleChecks.includes(check.kind)) switch (check.kind) {
3859
+ case "min":
3860
+ if (check.inclusive) constraints.push(`greater than or equal to ${check.value}`);
3861
+ else constraints.push(`greater than ${check.value}`);
3862
+ break;
3863
+ case "max":
3864
+ if (check.inclusive) constraints.push(`lower than or equal to ${check.value}`);
3865
+ else constraints.push(`lower than ${check.value}`);
3866
+ break;
3867
+ case "multipleOf": constraints.push(`multiple of ${check.value}`);
3868
+ }
3869
+ else newChecks.push(check);
3886
3870
  }
3887
- else newChecks.push(check);
3888
3871
  let result = z.number();
3889
3872
  for (const check of newChecks) switch (check.kind) {
3890
3873
  case "int":
@@ -3990,8 +3973,7 @@ var SchemaCompatLayer$1 = class {
3990
3973
  return this.processToAISDKSchema(zodSchema).jsonSchema;
3991
3974
  }
3992
3975
  };
3993
- //#endregion
3994
- //#region src/schema-compatibility-v4.ts
3976
+ // src/schema-compatibility-v4.ts
3995
3977
  /**
3996
3978
  * All supported string validation check types that can be processed or converted to descriptions.
3997
3979
  * @constant
@@ -4275,12 +4257,18 @@ var SchemaCompatLayer$2 = class {
4275
4257
  let result = z$2.array(processedType);
4276
4258
  const constraints = [];
4277
4259
  if (zodArrayDef.checks) for (const check of zodArrayDef.checks) {
4278
- if (check._zod.def.check === "min_length") if (handleChecks.includes("min")) constraints.push(`minimum length ${check._zod.def.minimum}`);
4279
- else result = result.min(check._zod.def.minimum);
4280
- if (check._zod.def.check === "max_length") if (handleChecks.includes("max")) constraints.push(`maximum length ${check._zod.def.maximum}`);
4281
- else result = result.max(check._zod.def.maximum);
4282
- if (check._zod.def.check === "length_equals") if (handleChecks.includes("length")) constraints.push(`exact length ${check._zod.def.length}`);
4283
- else result = result.length(check._zod.def.length);
4260
+ if (check._zod.def.check === "min_length") {
4261
+ if (handleChecks.includes("min")) constraints.push(`minimum length ${check._zod.def.minimum}`);
4262
+ else result = result.min(check._zod.def.minimum);
4263
+ }
4264
+ if (check._zod.def.check === "max_length") {
4265
+ if (handleChecks.includes("max")) constraints.push(`maximum length ${check._zod.def.maximum}`);
4266
+ else result = result.max(check._zod.def.maximum);
4267
+ }
4268
+ if (check._zod.def.check === "length_equals") {
4269
+ if (handleChecks.includes("length")) constraints.push(`exact length ${check._zod.def.length}`);
4270
+ else result = result.length(check._zod.def.length);
4271
+ }
4284
4272
  }
4285
4273
  const metaDescription = value.meta()?.description;
4286
4274
  const legacyDescription = value.description;
@@ -4320,23 +4308,19 @@ var SchemaCompatLayer$2 = class {
4320
4308
  case "max_length":
4321
4309
  constraints.push(`maximum length ${check._zod.def.maximum}`);
4322
4310
  break;
4323
- case "string_format":
4324
- switch (check._zod.def.format) {
4325
- case "email":
4326
- case "url":
4327
- case "emoji":
4328
- case "uuid":
4329
- case "cuid":
4330
- constraints.push(`a valid ${check._zod.def.format}`);
4331
- break;
4332
- case "regex":
4333
- constraints.push(`input must match this regex ${check._zod.def.pattern}`);
4334
- break;
4335
- default:
4336
- newChecks.push(check);
4337
- break;
4338
- }
4339
- break;
4311
+ case "string_format": switch (check._zod.def.format) {
4312
+ case "email":
4313
+ case "url":
4314
+ case "emoji":
4315
+ case "uuid":
4316
+ case "cuid":
4317
+ constraints.push(`a valid ${check._zod.def.format}`);
4318
+ break;
4319
+ case "regex":
4320
+ constraints.push(`input must match this regex ${check._zod.def.pattern}`);
4321
+ break;
4322
+ default: newChecks.push(check);
4323
+ }
4340
4324
  }
4341
4325
  else newChecks.push(check);
4342
4326
  let result = z$2.string();
@@ -4367,18 +4351,14 @@ var SchemaCompatLayer$2 = class {
4367
4351
  if (check._zod.def.inclusive) constraints.push(`lower than or equal to ${check._zod.def.value}`);
4368
4352
  else constraints.push(`lower than ${check._zod.def.value}`);
4369
4353
  break;
4370
- case "multiple_of":
4371
- constraints.push(`multiple of ${check._zod.def.value}`);
4372
- break;
4354
+ case "multiple_of": constraints.push(`multiple of ${check._zod.def.value}`);
4373
4355
  }
4374
4356
  else newChecks.push(check);
4375
4357
  let result = z$2.number();
4376
4358
  for (const check of newChecks) switch (check._zod.def.check) {
4377
4359
  case "number_format":
4378
4360
  switch (check._zod.def.format) {
4379
- case "safeint":
4380
- result = result.int();
4381
- break;
4361
+ case "safeint": result = result.int();
4382
4362
  }
4383
4363
  break;
4384
4364
  default: result = result.check(check);
@@ -4483,8 +4463,7 @@ var SchemaCompatLayer$2 = class {
4483
4463
  return this.processToAISDKSchema(zodSchema).jsonSchema;
4484
4464
  }
4485
4465
  };
4486
- //#endregion
4487
- //#region src/json-schema/utils.ts
4466
+ // src/json-schema/utils.ts
4488
4467
  var import_json_schema_traverse = /* @__PURE__ */ __toESM$1(require_json_schema_traverse(), 1);
4489
4468
  /**
4490
4469
  * Type guard to check if a JSON Schema has a specific type
@@ -4552,8 +4531,7 @@ function isOptionalSchema(propertyName, parentSchema) {
4552
4531
  if (!parentSchema.required || !Array.isArray(parentSchema.required)) return true;
4553
4532
  return !parentSchema.required.includes(propertyName);
4554
4533
  }
4555
- //#endregion
4556
- //#region src/schema-compatibility.ts
4534
+ // src/schema-compatibility.ts
4557
4535
  var SchemaCompatLayer = class {
4558
4536
  model;
4559
4537
  v3Layer;
@@ -4671,12 +4649,13 @@ var SchemaCompatLayer = class {
4671
4649
  if (!v4Type) return value;
4672
4650
  innerTypeName = "Zod" + v4Type.charAt(0).toUpperCase() + v4Type.slice(1);
4673
4651
  } else innerTypeName = value._def.innerType._def.typeName;
4674
- if (handleTypes.includes(innerTypeName)) if ("_zod" in value) {
4675
- const innerType = value._zod?.def?.innerType;
4676
- if (!innerType) return value;
4677
- return this.processZodType(innerType).optional();
4678
- } else return this.processZodType(value._def.innerType).optional();
4679
- else return value;
4652
+ if (handleTypes.includes(innerTypeName)) {
4653
+ if ("_zod" in value) {
4654
+ const innerType = value._zod?.def?.innerType;
4655
+ if (!innerType) return value;
4656
+ return this.processZodType(innerType).optional();
4657
+ } else return this.processZodType(value._def.innerType).optional();
4658
+ } else return value;
4680
4659
  }
4681
4660
  defaultZodNullableHandler(value, handleTypes) {
4682
4661
  if ("_zod" in value) return this.v4Layer.defaultZodNullableHandler(value, handleTypes ?? SUPPORTED_ZOD_TYPES$2);
@@ -4699,7 +4678,8 @@ var SchemaCompatLayer = class {
4699
4678
  * @returns
4700
4679
  */
4701
4680
  processToJSONSchema(schema, io = "input") {
4702
- const jsonSchema = standardSchemaToJSONSchema(toStandardSchema(schema), {
4681
+ const standardSchema = toStandardSchema(schema);
4682
+ const jsonSchema = standardSchemaToJSONSchema(standardSchema, {
4703
4683
  target: "draft-07",
4704
4684
  io
4705
4685
  });
@@ -4787,7 +4767,6 @@ var SchemaCompatLayer = class {
4787
4767
  constraints.push(`a valid ${schema.format}`);
4788
4768
  delete schema.pattern;
4789
4769
  delete schema.format;
4790
- break;
4791
4770
  }
4792
4771
  if (constraints.length === 0 && schema.pattern !== void 0) {
4793
4772
  constraints.push(`input must match this regex ${schema.pattern}`);
@@ -4942,7 +4921,8 @@ var SchemaCompatLayer = class {
4942
4921
  };
4943
4922
  const schemaTarget = this.getSchemaTarget();
4944
4923
  const target = (schemaTarget && SCHEMA_TARGET_TO_STANDARD[schemaTarget]) ?? schemaTarget;
4945
- const jsonSchema = standardSchemaToJSONSchema(toStandardSchema(zodSchema), {
4924
+ const standardSchema = toStandardSchema(zodSchema);
4925
+ const jsonSchema = standardSchemaToJSONSchema(standardSchema, {
4946
4926
  target,
4947
4927
  io: "input"
4948
4928
  });
@@ -4957,8 +4937,7 @@ var SchemaCompatLayer = class {
4957
4937
  return jsonSchema;
4958
4938
  }
4959
4939
  };
4960
- //#endregion
4961
- //#region src/null-to-undefined.ts
4940
+ // src/null-to-undefined.ts
4962
4941
  /**
4963
4942
  * Recursively converts null values to undefined in an object based on which
4964
4943
  * properties are optional in the JSON Schema. This is needed because OpenAI
@@ -5104,8 +5083,7 @@ function isNullable(z) {
5104
5083
  function isIntersection(z) {
5105
5084
  return (v) => v instanceof z["ZodIntersection"];
5106
5085
  }
5107
- //#endregion
5108
- //#region src/provider-compats/openai.ts
5086
+ // src/provider-compats/openai.ts
5109
5087
  const allowedStringFormats = [
5110
5088
  "date-time",
5111
5089
  "time",
@@ -5216,7 +5194,8 @@ var OpenAISchemaCompatLayer = class extends SchemaCompatLayer {
5216
5194
  * which causes OpenAI strict mode to reject tool schemas missing additionalProperties: false.
5217
5195
  */
5218
5196
  processToAISDKSchema(zodSchema) {
5219
- const transformedJsonSchema = standardSchemaToJSONSchema(this.processToCompatSchema(zodSchema));
5197
+ const compat = this.processToCompatSchema(zodSchema);
5198
+ const transformedJsonSchema = standardSchemaToJSONSchema(compat);
5220
5199
  return jsonSchema(transformedJsonSchema, { validate: (value) => {
5221
5200
  const transformed = this.#traverse(value, transformedJsonSchema);
5222
5201
  const result = zodSchema.safeParse(transformed);
@@ -5393,14 +5372,16 @@ var OpenAISchemaCompatLayer = class extends SchemaCompatLayer {
5393
5372
  prop.anyOf = [propSchema, { type: "null" }];
5394
5373
  }
5395
5374
  } else if (prop.type === void 0 && Array.isArray(prop.anyOf)) {
5396
- if (!prop.anyOf.some((branch) => typeof branch !== "boolean" && branch.type === "null")) if (genericConstraintKeywords.some((keyword) => keyword in prop)) {
5397
- const branch = { anyOf: prop.anyOf };
5398
- for (const keyword of genericConstraintKeywords) if (keyword in prop) {
5399
- branch[keyword] = prop[keyword];
5400
- delete prop[keyword];
5401
- }
5402
- prop.anyOf = [branch, { type: "null" }];
5403
- } else prop.anyOf = [...prop.anyOf, { type: "null" }];
5375
+ if (!prop.anyOf.some((branch) => typeof branch !== "boolean" && branch.type === "null")) {
5376
+ if (genericConstraintKeywords.some((keyword) => keyword in prop)) {
5377
+ const branch = { anyOf: prop.anyOf };
5378
+ for (const keyword of genericConstraintKeywords) if (keyword in prop) {
5379
+ branch[keyword] = prop[keyword];
5380
+ delete prop[keyword];
5381
+ }
5382
+ prop.anyOf = [branch, { type: "null" }];
5383
+ } else prop.anyOf = [...prop.anyOf, { type: "null" }];
5384
+ }
5404
5385
  }
5405
5386
  }
5406
5387
  }
@@ -5457,8 +5438,7 @@ var OpenAISchemaCompatLayer = class extends SchemaCompatLayer {
5457
5438
  function isDateFormat(schema) {
5458
5439
  return schema.format === "date-time" || schema.format === "date";
5459
5440
  }
5460
- //#endregion
5461
- //#region src/provider-compats/openai-reasoning.ts
5441
+ // src/provider-compats/openai-reasoning.ts
5462
5442
  var OpenAIReasoningSchemaCompatLayer = class extends OpenAISchemaCompatLayer {
5463
5443
  getSchemaTarget() {
5464
5444
  return `openApi3`;
@@ -5506,8 +5486,7 @@ var OpenAIReasoningSchemaCompatLayer = class extends OpenAISchemaCompatLayer {
5506
5486
  return this.defaultUnsupportedZodTypeHandler(value);
5507
5487
  }
5508
5488
  };
5509
- //#endregion
5510
- //#region src/standard-schema-compat.ts
5489
+ // src/standard-schema-compat.ts
5511
5490
  /**
5512
5491
  * Standard Schema compatibility utilities
5513
5492
  *
@@ -5559,7 +5538,8 @@ function applyOpenAICompatTransforms(schema, modelInfo) {
5559
5538
  const reasoningLayer = new OpenAIReasoningSchemaCompatLayer(modelInfo);
5560
5539
  const compatLayer = reasoningLayer.isReasoningModel() ? reasoningLayer : new OpenAISchemaCompatLayer(modelInfo);
5561
5540
  if (!compatLayer.shouldApply()) return schema;
5562
- return toStandardSchema(compatLayer.processZodType(zodSchema));
5541
+ const processedZodSchema = compatLayer.processZodType(zodSchema);
5542
+ return toStandardSchema(processedZodSchema);
5563
5543
  }
5564
5544
  /**
5565
5545
  * Applies OpenAI compat transforms to all tools in a toolset.
@@ -5601,8 +5581,7 @@ function applyOpenAICompatToTools(tools, modelInfo) {
5601
5581
  } else transformedTools[name] = tool;
5602
5582
  return transformedTools;
5603
5583
  }
5604
- //#endregion
5605
- //#region src/provider-compats/anthropic.ts
5584
+ // src/provider-compats/anthropic.ts
5606
5585
  var AnthropicSchemaCompatLayer = class extends SchemaCompatLayer {
5607
5586
  constructor(model) {
5608
5587
  super(model);
@@ -5647,9 +5626,10 @@ var AnthropicSchemaCompatLayer = class extends SchemaCompatLayer {
5647
5626
  } else if (this.isObj(value)) return this.defaultZodObjectHandler(value);
5648
5627
  else if (this.isArr(value)) return this.defaultZodArrayHandler(value, []);
5649
5628
  else if (this.isUnion(value)) return this.defaultZodUnionHandler(value);
5650
- else if (this.isString(value)) if (this.getModel().modelId.includes("claude-3.5-haiku")) return this.defaultZodStringHandler(value, ["max", "min"]);
5651
- else return value;
5652
- else if (isNull(z$1)(value)) return z$1.any().refine((v) => v === null, { message: "must be null" }).describe(value.description || "must be null");
5629
+ else if (this.isString(value)) {
5630
+ if (this.getModel().modelId.includes("claude-3.5-haiku")) return this.defaultZodStringHandler(value, ["max", "min"]);
5631
+ else return value;
5632
+ } else if (isNull(z$1)(value)) return z$1.any().refine((v) => v === null, { message: "must be null" }).describe(value.description || "must be null");
5653
5633
  else if (isIntersection(z$1)(value)) return this.defaultZodIntersectionHandler(value);
5654
5634
  return this.defaultUnsupportedZodTypeHandler(value);
5655
5635
  }
@@ -5814,12 +5794,10 @@ var AnthropicSchemaCompatLayer = class extends SchemaCompatLayer {
5814
5794
  case "promise":
5815
5795
  replace("innerType");
5816
5796
  break;
5817
- case "lazy":
5818
- nextDef = {
5819
- ...def,
5820
- getter: () => strip(def.getter())
5821
- };
5822
- break;
5797
+ case "lazy": nextDef = {
5798
+ ...def,
5799
+ getter: () => strip(def.getter())
5800
+ };
5823
5801
  }
5824
5802
  if (nextDef === def) {
5825
5803
  schemas.set(value, value);
@@ -5933,12 +5911,10 @@ var AnthropicSchemaCompatLayer = class extends SchemaCompatLayer {
5933
5911
  replace("in");
5934
5912
  replace("out");
5935
5913
  break;
5936
- case "ZodLazy":
5937
- nextDef = {
5938
- ...def,
5939
- getter: () => strip(def.getter())
5940
- };
5941
- break;
5914
+ case "ZodLazy": nextDef = {
5915
+ ...def,
5916
+ getter: () => strip(def.getter())
5917
+ };
5942
5918
  }
5943
5919
  if (nextDef === def) {
5944
5920
  schemas.set(value, value);
@@ -5960,8 +5936,7 @@ var AnthropicSchemaCompatLayer = class extends SchemaCompatLayer {
5960
5936
  }) ?? schema;
5961
5937
  }
5962
5938
  };
5963
- //#endregion
5964
- //#region src/provider-compats/deepseek.ts
5939
+ // src/provider-compats/deepseek.ts
5965
5940
  var DeepSeekSchemaCompatLayer = class extends SchemaCompatLayer {
5966
5941
  constructor(model) {
5967
5942
  super(model);
@@ -5988,7 +5963,8 @@ var DeepSeekSchemaCompatLayer = class extends SchemaCompatLayer {
5988
5963
  return value;
5989
5964
  }
5990
5965
  processToAISDKSchema(zodSchema) {
5991
- const transformedJsonSchema = standardSchemaToJSONSchema(this.processToCompatSchema(zodSchema));
5966
+ const compat = this.processToCompatSchema(zodSchema);
5967
+ const transformedJsonSchema = standardSchemaToJSONSchema(compat);
5992
5968
  return jsonSchema(transformedJsonSchema, { validate: (value) => {
5993
5969
  const transformed = this.#traverse(value, transformedJsonSchema);
5994
5970
  const result = zodSchema.safeParse(transformed);
@@ -6053,8 +6029,7 @@ var DeepSeekSchemaCompatLayer = class extends SchemaCompatLayer {
6053
6029
  return schema;
6054
6030
  }
6055
6031
  };
6056
- //#endregion
6057
- //#region src/provider-compats/google.ts
6032
+ // src/provider-compats/google.ts
6058
6033
  function fixAISDKNullableUnionTypes(schema) {
6059
6034
  if (typeof schema !== "object" || schema === null) return schema;
6060
6035
  const result = { ...schema };
@@ -6090,8 +6065,10 @@ function fixAISDKNullableUnionTypes(schema) {
6090
6065
  }
6091
6066
  }
6092
6067
  if (result.properties && typeof result.properties === "object") result.properties = Object.fromEntries(Object.entries(result.properties).map(([key, value]) => [key, fixAISDKNullableUnionTypes(value)]));
6093
- if (result.items) if (Array.isArray(result.items)) result.items = result.items.map((item) => fixAISDKNullableUnionTypes(item));
6094
- else result.items = fixAISDKNullableUnionTypes(result.items);
6068
+ if (result.items) {
6069
+ if (Array.isArray(result.items)) result.items = result.items.map((item) => fixAISDKNullableUnionTypes(item));
6070
+ else result.items = fixAISDKNullableUnionTypes(result.items);
6071
+ }
6095
6072
  if (result.additionalProperties && typeof result.additionalProperties === "object") result.additionalProperties = fixAISDKNullableUnionTypes(result.additionalProperties);
6096
6073
  if (result.anyOf && Array.isArray(result.anyOf)) result.anyOf = result.anyOf.map((s) => fixAISDKNullableUnionTypes(s));
6097
6074
  if (result.oneOf && Array.isArray(result.oneOf)) result.oneOf = result.oneOf.map((s) => fixAISDKNullableUnionTypes(s));
@@ -6179,7 +6156,8 @@ var GoogleSchemaCompatLayer = class extends SchemaCompatLayer {
6179
6156
  return result;
6180
6157
  }
6181
6158
  processToAISDKSchema(zodSchema) {
6182
- const fixedJsonSchema = fixAISDKNullableUnionTypes(standardSchemaToJSONSchema(this.processToCompatSchema(zodSchema)));
6159
+ const compat = this.processToCompatSchema(zodSchema);
6160
+ const fixedJsonSchema = fixAISDKNullableUnionTypes(standardSchemaToJSONSchema(compat));
6183
6161
  return jsonSchema(fixedJsonSchema, { validate: (value) => {
6184
6162
  const transformed = this.#traverse(value, fixedJsonSchema);
6185
6163
  const result = zodSchema.safeParse(transformed);
@@ -6310,8 +6288,7 @@ var GoogleSchemaCompatLayer = class extends SchemaCompatLayer {
6310
6288
  return schema;
6311
6289
  }
6312
6290
  };
6313
- //#endregion
6314
- //#region src/provider-compats/meta.ts
6291
+ // src/provider-compats/meta.ts
6315
6292
  var MetaSchemaCompatLayer = class extends SchemaCompatLayer {
6316
6293
  constructor(model) {
6317
6294
  super(model);
@@ -6339,7 +6316,8 @@ var MetaSchemaCompatLayer = class extends SchemaCompatLayer {
6339
6316
  return value;
6340
6317
  }
6341
6318
  processToAISDKSchema(zodSchema) {
6342
- const transformedJsonSchema = standardSchemaToJSONSchema(this.processToCompatSchema(zodSchema));
6319
+ const compat = this.processToCompatSchema(zodSchema);
6320
+ const transformedJsonSchema = standardSchemaToJSONSchema(compat);
6343
6321
  return jsonSchema(transformedJsonSchema, { validate: (value) => {
6344
6322
  const transformed = this.#traverse(value, transformedJsonSchema);
6345
6323
  const result = zodSchema.safeParse(transformed);
@@ -6404,7 +6382,6 @@ var MetaSchemaCompatLayer = class extends SchemaCompatLayer {
6404
6382
  return schema;
6405
6383
  }
6406
6384
  };
6407
- //#endregion
6408
6385
  export { ALL_ARRAY_CHECKS, ALL_NUMBER_CHECKS, ALL_STRING_CHECKS, ALL_ZOD_TYPES, AnthropicSchemaCompatLayer, DeepSeekSchemaCompatLayer, GoogleSchemaCompatLayer, JSON_SCHEMA_LIBRARY_OPTIONS, MetaSchemaCompatLayer, OpenAIReasoningSchemaCompatLayer, OpenAISchemaCompatLayer, SUPPORTED_ZOD_TYPES, SchemaCompatLayer, SchemaCompatLayer$1 as SchemaCompatLayerV3, SchemaCompatLayer$2 as SchemaCompatLayerV4, UNSUPPORTED_ZOD_TYPES, applyCompatLayer, applyOpenAICompatToTools, applyOpenAICompatTransforms, convertSchemaToZod, convertZodSchemaToAISDKSchema, ensureAllPropertiesRequired, extractZodSchema, isArr, isNumber, isObj, isOptional, isStandardJSONSchema, isStandardSchema, isStandardSchemaWithJSON, isString, isUnion, isZodType, jsonSchema, prepareJsonSchemaForOpenAIStrictMode, standardSchemaToJSONSchema, toStandardSchema, wrapSchemaWithNullTransform };
6409
6386
 
6410
6387
  //# sourceMappingURL=index.js.map