@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.
- package/dist/_types/@internal_ai-sdk-v5/dist/index.d.ts +274 -889
- package/dist/_types/@internal_ai-v6/dist/index.d.ts +1051 -1301
- package/dist/{esm-CWlHuVIx.js → esm-BG70JlG8.js} +60 -108
- package/dist/{esm-CWlHuVIx.js.map → esm-BG70JlG8.js.map} +1 -1
- package/dist/{esm-CkNCkZSB.cjs → esm-BQeGF7AD.cjs} +60 -108
- package/dist/{esm-CkNCkZSB.cjs.map → esm-BQeGF7AD.cjs.map} +1 -1
- package/dist/index.cjs +162 -185
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +162 -185
- package/dist/index.js.map +1 -1
- package/dist/{json-schema-VSnKq6-P.cjs → json-schema-7oyknwMS.cjs} +241 -247
- package/dist/json-schema-7oyknwMS.cjs.map +1 -0
- package/dist/{json-schema-R8yfooPa.js → json-schema-BdCwqjfN.js} +241 -247
- package/dist/json-schema-BdCwqjfN.js.map +1 -0
- package/dist/{json-schema-traverse-B35mHRM8.js → json-schema-traverse-D0CId4oM.js} +5 -7
- package/dist/{json-schema-traverse-B35mHRM8.js.map → json-schema-traverse-D0CId4oM.js.map} +1 -1
- package/dist/{json-schema-traverse-DbuWNYgg.cjs → json-schema-traverse-evfp8uQX.cjs} +5 -7
- package/dist/{json-schema-traverse-DbuWNYgg.cjs.map → json-schema-traverse-evfp8uQX.cjs.map} +1 -1
- package/dist/json-to-zod.cjs +153 -142
- package/dist/json-to-zod.cjs.map +1 -1
- package/dist/json-to-zod.d.ts.map +1 -1
- package/dist/json-to-zod.js +153 -142
- package/dist/json-to-zod.js.map +1 -1
- package/dist/{schema-e0VHpMt0.js → schema-Bf12g7KC.js} +4 -6
- package/dist/{schema-e0VHpMt0.js.map → schema-Bf12g7KC.js.map} +1 -1
- package/dist/{schema-IhrnbMI3.cjs → schema-D2ab1-Dc.cjs} +5 -7
- package/dist/schema-D2ab1-Dc.cjs.map +1 -0
- package/dist/schema.cjs +1 -1
- package/dist/schema.js +1 -2
- package/dist/standard-schema/adapters/ai-sdk.cjs +2 -7
- package/dist/standard-schema/adapters/ai-sdk.cjs.map +1 -1
- package/dist/standard-schema/adapters/ai-sdk.js +2 -7
- package/dist/standard-schema/adapters/ai-sdk.js.map +1 -1
- package/dist/standard-schema/adapters/json-schema.cjs +1 -1
- package/dist/standard-schema/adapters/json-schema.js +1 -2
- package/dist/standard-schema/adapters/zod-v3.cjs +3 -4
- package/dist/standard-schema/adapters/zod-v3.cjs.map +1 -1
- package/dist/standard-schema/adapters/zod-v3.js +3 -4
- package/dist/standard-schema/adapters/zod-v3.js.map +1 -1
- package/dist/zod-to-json.cjs +6 -5
- package/dist/zod-to-json.cjs.map +1 -1
- package/dist/zod-to-json.js +6 -5
- package/dist/zod-to-json.js.map +1 -1
- package/package.json +24 -25
- package/dist/json-schema-R8yfooPa.js.map +0 -1
- package/dist/json-schema-VSnKq6-P.cjs.map +0 -1
- 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-
|
|
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-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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")
|
|
580
|
-
|
|
581
|
-
|
|
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")
|
|
588
|
-
|
|
589
|
-
|
|
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")
|
|
1176
|
-
|
|
1177
|
-
|
|
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")
|
|
1184
|
-
|
|
1185
|
-
|
|
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
|
-
|
|
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())
|
|
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
|
-
|
|
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)
|
|
3806
|
-
|
|
3807
|
-
|
|
3808
|
-
|
|
3809
|
-
if (zodArrayDef.
|
|
3810
|
-
|
|
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)
|
|
3841
|
-
|
|
3842
|
-
|
|
3843
|
-
|
|
3844
|
-
|
|
3845
|
-
|
|
3846
|
-
|
|
3847
|
-
|
|
3848
|
-
|
|
3849
|
-
|
|
3850
|
-
|
|
3851
|
-
|
|
3852
|
-
|
|
3853
|
-
constraints.push(`${check.kind}imum length ${check.value}`);
|
|
3854
|
-
|
|
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)
|
|
3875
|
-
|
|
3876
|
-
|
|
3877
|
-
|
|
3878
|
-
|
|
3879
|
-
|
|
3880
|
-
|
|
3881
|
-
|
|
3882
|
-
|
|
3883
|
-
|
|
3884
|
-
constraints.push(`multiple of ${check.value}`);
|
|
3885
|
-
|
|
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
|
-
|
|
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")
|
|
4279
|
-
|
|
4280
|
-
|
|
4281
|
-
|
|
4282
|
-
if (check._zod.def.check === "
|
|
4283
|
-
|
|
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
|
-
|
|
4325
|
-
|
|
4326
|
-
|
|
4327
|
-
|
|
4328
|
-
|
|
4329
|
-
|
|
4330
|
-
|
|
4331
|
-
|
|
4332
|
-
|
|
4333
|
-
|
|
4334
|
-
|
|
4335
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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))
|
|
4675
|
-
|
|
4676
|
-
|
|
4677
|
-
|
|
4678
|
-
|
|
4679
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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"))
|
|
5397
|
-
|
|
5398
|
-
|
|
5399
|
-
|
|
5400
|
-
|
|
5401
|
-
|
|
5402
|
-
|
|
5403
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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))
|
|
5651
|
-
|
|
5652
|
-
|
|
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
|
-
|
|
5819
|
-
|
|
5820
|
-
|
|
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
|
-
|
|
5938
|
-
|
|
5939
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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)
|
|
6094
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|