@mastra/schema-compat 1.3.4-alpha.2 → 1.3.5-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/CHANGELOG.md +34 -0
- package/dist/_types/@internal_ai-sdk-v5/dist/index.d.ts +4 -4
- package/dist/_types/@internal_ai-v6/dist/index.d.ts +10 -6
- package/dist/index.cjs +5455 -5998
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +5467 -5988
- package/dist/index.js.map +1 -1
- package/dist/json-schema-BstKYbJi.js +6797 -0
- package/dist/json-schema-BstKYbJi.js.map +1 -0
- package/dist/json-schema-pcL1TeZs.cjs +6809 -0
- package/dist/json-schema-pcL1TeZs.cjs.map +1 -0
- package/dist/json-schema-traverse-B35mHRM8.js +101 -0
- package/dist/json-schema-traverse-B35mHRM8.js.map +1 -0
- package/dist/json-schema-traverse-CSNSaf0y.cjs +83 -0
- package/dist/json-schema-traverse-CSNSaf0y.cjs.map +1 -0
- package/dist/json-to-zod.cjs +185 -245
- package/dist/json-to-zod.cjs.map +1 -1
- package/dist/json-to-zod.js +176 -235
- package/dist/json-to-zod.js.map +1 -1
- package/dist/provider-compats/anthropic.d.ts +1 -0
- package/dist/provider-compats/anthropic.d.ts.map +1 -1
- package/dist/rolldown-runtime-emK7D4bc.cjs +35 -0
- package/dist/schema-Bv9OdW1f.js +258 -0
- package/dist/schema-Bv9OdW1f.js.map +1 -0
- package/dist/schema-Cjk6OMG9.cjs +295 -0
- package/dist/schema-Cjk6OMG9.cjs.map +1 -0
- package/dist/schema.cjs +8 -32
- package/dist/schema.js +2 -3
- package/dist/standard-schema/adapters/ai-sdk.cjs +156 -14
- package/dist/standard-schema/adapters/ai-sdk.cjs.map +1 -1
- package/dist/standard-schema/adapters/ai-sdk.js +155 -2
- package/dist/standard-schema/adapters/ai-sdk.js.map +1 -1
- package/dist/standard-schema/adapters/json-schema.cjs +4 -16
- package/dist/standard-schema/adapters/json-schema.js +2 -3
- package/dist/standard-schema/adapters/zod-v3.cjs +101 -10
- package/dist/standard-schema/adapters/zod-v3.cjs.map +1 -1
- package/dist/standard-schema/adapters/zod-v3.js +99 -2
- package/dist/standard-schema/adapters/zod-v3.js.map +1 -1
- package/dist/zod-to-json.cjs +165 -22
- package/dist/zod-to-json.cjs.map +1 -1
- package/dist/zod-to-json.js +160 -2
- package/dist/zod-to-json.js.map +1 -1
- package/package.json +18 -17
- package/dist/chunk-23HDOZLF.js +0 -105
- package/dist/chunk-23HDOZLF.js.map +0 -1
- package/dist/chunk-5WRI5ZAA.js +0 -29
- package/dist/chunk-5WRI5ZAA.js.map +0 -1
- package/dist/chunk-77T2HV4Q.cjs +0 -7352
- package/dist/chunk-77T2HV4Q.cjs.map +0 -1
- package/dist/chunk-BQ3VTMIR.cjs +0 -76
- package/dist/chunk-BQ3VTMIR.cjs.map +0 -1
- package/dist/chunk-DZUJEN5N.cjs +0 -32
- package/dist/chunk-DZUJEN5N.cjs.map +0 -1
- package/dist/chunk-FJGZKUBH.cjs +0 -208
- package/dist/chunk-FJGZKUBH.cjs.map +0 -1
- package/dist/chunk-FS3P4V5M.cjs +0 -108
- package/dist/chunk-FS3P4V5M.cjs.map +0 -1
- package/dist/chunk-QEM5W7OR.js +0 -199
- package/dist/chunk-QEM5W7OR.js.map +0 -1
- package/dist/chunk-QFEMCRFS.js +0 -70
- package/dist/chunk-QFEMCRFS.js.map +0 -1
- package/dist/chunk-RMMKMUYK.js +0 -7349
- package/dist/chunk-RMMKMUYK.js.map +0 -1
- package/dist/chunk-SKPYVQBT.cjs +0 -94
- package/dist/chunk-SKPYVQBT.cjs.map +0 -1
- package/dist/chunk-VNIPWNNH.js +0 -170
- package/dist/chunk-VNIPWNNH.js.map +0 -1
- package/dist/chunk-Y4VRRNL5.js +0 -92
- package/dist/chunk-Y4VRRNL5.js.map +0 -1
- package/dist/chunk-ZTO66ALH.cjs +0 -181
- package/dist/chunk-ZTO66ALH.cjs.map +0 -1
- package/dist/schema.cjs.map +0 -1
- package/dist/schema.js.map +0 -1
- package/dist/standard-schema/adapters/json-schema.cjs.map +0 -1
- package/dist/standard-schema/adapters/json-schema.js.map +0 -1
package/dist/json-to-zod.cjs
CHANGED
|
@@ -1,268 +1,208 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var jsonSchemaToZodOriginal__default = /*#__PURE__*/_interopDefault(jsonSchemaToZodOriginal);
|
|
8
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_rolldown_runtime = require("./rolldown-runtime-emK7D4bc.cjs");
|
|
3
|
+
let json_schema_to_zod = require("json-schema-to-zod");
|
|
4
|
+
json_schema_to_zod = require_rolldown_runtime.__toESM(json_schema_to_zod, 1);
|
|
5
|
+
//#region src/json-to-zod.ts
|
|
9
6
|
function parseObject(objectSchema, refs) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
patternProperties += `z.record(z.union([${[
|
|
65
|
-
...Object.values(parsedPatternProperties),
|
|
66
|
-
additionalProperties
|
|
67
|
-
].join(", ")}]))`;
|
|
68
|
-
} else if (Object.keys(parsedPatternProperties).length > 1) {
|
|
69
|
-
patternProperties += `z.record(z.union([${Object.values(parsedPatternProperties).join(", ")}]))`;
|
|
70
|
-
} else {
|
|
71
|
-
patternProperties += `z.record(${Object.values(parsedPatternProperties)})`;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
patternProperties += ".superRefine((value, ctx) => {\n";
|
|
75
|
-
patternProperties += "for (const key in value) {\n";
|
|
76
|
-
if (additionalProperties) {
|
|
77
|
-
if (objectSchema.properties) {
|
|
78
|
-
patternProperties += `let evaluated = [${Object.keys(objectSchema.properties).map((key) => JSON.stringify(key)).join(", ")}].includes(key)
|
|
79
|
-
`;
|
|
80
|
-
} else {
|
|
81
|
-
patternProperties += `let evaluated = false
|
|
82
|
-
`;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
for (const key in objectSchema.patternProperties) {
|
|
86
|
-
patternProperties += "if (key.match(new RegExp(" + JSON.stringify(key) + "))) {\n";
|
|
87
|
-
if (additionalProperties) {
|
|
88
|
-
patternProperties += "evaluated = true\n";
|
|
89
|
-
}
|
|
90
|
-
patternProperties += "const result = " + parsedPatternProperties[key] + ".safeParse(value[key])\n";
|
|
91
|
-
patternProperties += "if (!result.success) {\n";
|
|
92
|
-
patternProperties += `ctx.addIssue({
|
|
7
|
+
let properties = void 0;
|
|
8
|
+
if (objectSchema.properties) if (!Object.keys(objectSchema.properties).length) properties = "z.object({})";
|
|
9
|
+
else {
|
|
10
|
+
properties = "z.object({ ";
|
|
11
|
+
properties += Object.keys(objectSchema.properties).map((key) => {
|
|
12
|
+
const propSchema = objectSchema.properties[key];
|
|
13
|
+
let result = `${JSON.stringify(key)}: ${(0, json_schema_to_zod.parseSchema)(propSchema, {
|
|
14
|
+
...refs,
|
|
15
|
+
path: [
|
|
16
|
+
...refs.path,
|
|
17
|
+
"properties",
|
|
18
|
+
key
|
|
19
|
+
]
|
|
20
|
+
})}`;
|
|
21
|
+
if (refs.withJsdocs && typeof propSchema === "object") result = (0, json_schema_to_zod.addJsdocs)(propSchema, result);
|
|
22
|
+
const hasDefault = typeof propSchema === "object" && propSchema.default !== void 0;
|
|
23
|
+
const required = Array.isArray(objectSchema.required) ? objectSchema.required.includes(key) : typeof propSchema === "object" && propSchema.required === true;
|
|
24
|
+
return !hasDefault && !required ? `${result}.optional()` : result;
|
|
25
|
+
}).join(", ");
|
|
26
|
+
properties += " })";
|
|
27
|
+
}
|
|
28
|
+
const additionalProperties = objectSchema.additionalProperties !== void 0 && objectSchema.additionalProperties !== false ? (0, json_schema_to_zod.parseSchema)(objectSchema.additionalProperties, {
|
|
29
|
+
...refs,
|
|
30
|
+
path: [...refs.path, "additionalProperties"]
|
|
31
|
+
}) : void 0;
|
|
32
|
+
let patternProperties = void 0;
|
|
33
|
+
if (objectSchema.patternProperties) {
|
|
34
|
+
const parsedPatternProperties = Object.fromEntries(Object.entries(objectSchema.patternProperties).map(([key, value]) => {
|
|
35
|
+
return [key, (0, json_schema_to_zod.parseSchema)(value, {
|
|
36
|
+
...refs,
|
|
37
|
+
path: [
|
|
38
|
+
...refs.path,
|
|
39
|
+
"patternProperties",
|
|
40
|
+
key
|
|
41
|
+
]
|
|
42
|
+
})];
|
|
43
|
+
}, {}));
|
|
44
|
+
patternProperties = "";
|
|
45
|
+
if (properties) if (additionalProperties) patternProperties += `.catchall(z.union([${[...Object.values(parsedPatternProperties), additionalProperties].join(", ")}]))`;
|
|
46
|
+
else if (Object.keys(parsedPatternProperties).length > 1) patternProperties += `.catchall(z.union([${Object.values(parsedPatternProperties).join(", ")}]))`;
|
|
47
|
+
else patternProperties += `.catchall(${Object.values(parsedPatternProperties)})`;
|
|
48
|
+
else if (additionalProperties) patternProperties += `z.record(z.union([${[...Object.values(parsedPatternProperties), additionalProperties].join(", ")}]))`;
|
|
49
|
+
else if (Object.keys(parsedPatternProperties).length > 1) patternProperties += `z.record(z.union([${Object.values(parsedPatternProperties).join(", ")}]))`;
|
|
50
|
+
else patternProperties += `z.record(${Object.values(parsedPatternProperties)})`;
|
|
51
|
+
patternProperties += ".superRefine((value, ctx) => {\n";
|
|
52
|
+
patternProperties += "for (const key in value) {\n";
|
|
53
|
+
if (additionalProperties) if (objectSchema.properties) patternProperties += `let evaluated = [${Object.keys(objectSchema.properties).map((key) => JSON.stringify(key)).join(", ")}].includes(key)\n`;
|
|
54
|
+
else patternProperties += `let evaluated = false\n`;
|
|
55
|
+
for (const key in objectSchema.patternProperties) {
|
|
56
|
+
patternProperties += "if (key.match(new RegExp(" + JSON.stringify(key) + "))) {\n";
|
|
57
|
+
if (additionalProperties) patternProperties += "evaluated = true\n";
|
|
58
|
+
patternProperties += "const result = " + parsedPatternProperties[key] + ".safeParse(value[key])\n";
|
|
59
|
+
patternProperties += "if (!result.success) {\n";
|
|
60
|
+
patternProperties += `ctx.addIssue({
|
|
93
61
|
path: [...ctx.path, key],
|
|
94
62
|
code: 'custom',
|
|
95
63
|
message: \`Invalid input: Key matching regex /\${key}/ must match schema\`,
|
|
96
64
|
params: {
|
|
97
65
|
issues: result.error.issues
|
|
98
66
|
}
|
|
99
|
-
})
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
patternProperties += `ctx.addIssue({
|
|
67
|
+
})\n`;
|
|
68
|
+
patternProperties += "}\n";
|
|
69
|
+
patternProperties += "}\n";
|
|
70
|
+
}
|
|
71
|
+
if (additionalProperties) {
|
|
72
|
+
patternProperties += "if (!evaluated) {\n";
|
|
73
|
+
patternProperties += "const result = " + additionalProperties + ".safeParse(value[key])\n";
|
|
74
|
+
patternProperties += "if (!result.success) {\n";
|
|
75
|
+
patternProperties += `ctx.addIssue({
|
|
109
76
|
path: [...ctx.path, key],
|
|
110
77
|
code: 'custom',
|
|
111
78
|
message: \`Invalid input: must match catchall schema\`,
|
|
112
79
|
params: {
|
|
113
80
|
issues: result.error.issues
|
|
114
81
|
}
|
|
115
|
-
})
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
}
|
|
146
|
-
if (jsonSchemaToZodOriginal.its.an.allOf(objectSchema)) {
|
|
147
|
-
output += `.and(${jsonSchemaToZodOriginal.parseAllOf(
|
|
148
|
-
{
|
|
149
|
-
...objectSchema,
|
|
150
|
-
allOf: objectSchema.allOf.map(
|
|
151
|
-
(x) => typeof x === "object" && !x.type && (x.properties || x.additionalProperties || x.patternProperties) ? { ...x, type: "object" } : x
|
|
152
|
-
)
|
|
153
|
-
},
|
|
154
|
-
refs
|
|
155
|
-
)})`;
|
|
156
|
-
}
|
|
157
|
-
return output;
|
|
82
|
+
})\n`;
|
|
83
|
+
patternProperties += "}\n";
|
|
84
|
+
patternProperties += "}\n";
|
|
85
|
+
}
|
|
86
|
+
patternProperties += "}\n";
|
|
87
|
+
patternProperties += "})";
|
|
88
|
+
}
|
|
89
|
+
let output = properties ? patternProperties ? properties + patternProperties : additionalProperties ? additionalProperties === "z.never()" ? properties + ".strict()" : properties + `.catchall(${additionalProperties})` : properties : patternProperties ? patternProperties : additionalProperties ? `z.record(${additionalProperties})` : "z.record(z.any())";
|
|
90
|
+
if (json_schema_to_zod.its.an.anyOf(objectSchema)) output += `.and(${(0, json_schema_to_zod.parseAnyOf)({
|
|
91
|
+
...objectSchema,
|
|
92
|
+
anyOf: objectSchema.anyOf.map((x) => typeof x === "object" && !x.type && (x.properties || x.additionalProperties || x.patternProperties) ? {
|
|
93
|
+
...x,
|
|
94
|
+
type: "object"
|
|
95
|
+
} : x)
|
|
96
|
+
}, refs)})`;
|
|
97
|
+
if (json_schema_to_zod.its.a.oneOf(objectSchema)) output += `.and(${(0, json_schema_to_zod.parseOneOf)({
|
|
98
|
+
...objectSchema,
|
|
99
|
+
oneOf: objectSchema.oneOf.map((x) => typeof x === "object" && !x.type && (x.properties || x.additionalProperties || x.patternProperties) ? {
|
|
100
|
+
...x,
|
|
101
|
+
type: "object"
|
|
102
|
+
} : x)
|
|
103
|
+
}, refs)})`;
|
|
104
|
+
if (json_schema_to_zod.its.an.allOf(objectSchema)) output += `.and(${(0, json_schema_to_zod.parseAllOf)({
|
|
105
|
+
...objectSchema,
|
|
106
|
+
allOf: objectSchema.allOf.map((x) => typeof x === "object" && !x.type && (x.properties || x.additionalProperties || x.patternProperties) ? {
|
|
107
|
+
...x,
|
|
108
|
+
type: "object"
|
|
109
|
+
} : x)
|
|
110
|
+
}, refs)})`;
|
|
111
|
+
return output;
|
|
158
112
|
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
if (!refs.withoutDescribes) {
|
|
225
|
-
parsed = addDescribes(schema, parsed);
|
|
226
|
-
}
|
|
227
|
-
if (!refs.withoutDefaults) {
|
|
228
|
-
parsed = addDefaults(schema, parsed);
|
|
229
|
-
}
|
|
230
|
-
parsed = addAnnotations(schema, parsed);
|
|
231
|
-
if (seen) {
|
|
232
|
-
seen.r = parsed;
|
|
233
|
-
}
|
|
234
|
-
return parsed;
|
|
235
|
-
}
|
|
113
|
+
const parserOverride = (schema, refs) => {
|
|
114
|
+
let parsed = "";
|
|
115
|
+
let seen = refs.seen.get(schema);
|
|
116
|
+
if (json_schema_to_zod.its.an.anyOf(schema)) {
|
|
117
|
+
const allObjects = schema.anyOf.every((item) => typeof item === "object" && json_schema_to_zod.its.an.object(item) && item.properties !== void 0);
|
|
118
|
+
if (schema.anyOf.length > 1 && allObjects) {
|
|
119
|
+
const propertiesWithConst = schema.anyOf.reduce((acc, item) => {
|
|
120
|
+
if (typeof item === "object" && json_schema_to_zod.its.an.object(item)) {
|
|
121
|
+
const propertyWithConst = Object.entries(item.properties ?? {}).filter(([_, value]) => typeof value === "object" && value?.const !== void 0);
|
|
122
|
+
if (propertyWithConst?.length) {
|
|
123
|
+
const ppties = propertyWithConst.map(([key, _]) => key);
|
|
124
|
+
acc.push(ppties);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return acc;
|
|
128
|
+
}, []);
|
|
129
|
+
if (propertiesWithConst.length === schema.anyOf.length) {
|
|
130
|
+
if (seen) {
|
|
131
|
+
if (seen.r !== void 0) return seen.r;
|
|
132
|
+
if (refs.depth === void 0 || seen.n >= refs.depth) return "z.any()";
|
|
133
|
+
seen.n += 1;
|
|
134
|
+
} else {
|
|
135
|
+
seen = {
|
|
136
|
+
r: void 0,
|
|
137
|
+
n: 0
|
|
138
|
+
};
|
|
139
|
+
refs.seen.set(schema, seen);
|
|
140
|
+
}
|
|
141
|
+
const discriminators = propertiesWithConst.length > 0 && propertiesWithConst[0] ? propertiesWithConst.reduce((common, properties) => {
|
|
142
|
+
return common.filter((prop) => properties.includes(prop));
|
|
143
|
+
}, propertiesWithConst[0]) : [];
|
|
144
|
+
if (discriminators.length > 0) {
|
|
145
|
+
const discriminator = discriminators[0];
|
|
146
|
+
if (discriminator) parsed = `z.discriminatedUnion("${discriminator}", [${schema.anyOf.map((schema, i) => (0, json_schema_to_zod.parseSchema)(schema, {
|
|
147
|
+
...refs,
|
|
148
|
+
path: [
|
|
149
|
+
...refs.path,
|
|
150
|
+
"anyOf",
|
|
151
|
+
i
|
|
152
|
+
]
|
|
153
|
+
})).join(", ")}])`;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
} else if (json_schema_to_zod.its.an.object(schema)) {
|
|
158
|
+
if (seen) {
|
|
159
|
+
if (seen.r !== void 0) return seen.r;
|
|
160
|
+
if (refs.depth === void 0 || seen.n >= refs.depth) return "z.any()";
|
|
161
|
+
seen.n += 1;
|
|
162
|
+
} else {
|
|
163
|
+
seen = {
|
|
164
|
+
r: void 0,
|
|
165
|
+
n: 0
|
|
166
|
+
};
|
|
167
|
+
refs.seen.set(schema, seen);
|
|
168
|
+
}
|
|
169
|
+
parsed = parseObject(schema, refs);
|
|
170
|
+
}
|
|
171
|
+
if (parsed) {
|
|
172
|
+
if (!refs.withoutDescribes) parsed = addDescribes(schema, parsed);
|
|
173
|
+
if (!refs.withoutDefaults) parsed = addDefaults(schema, parsed);
|
|
174
|
+
parsed = addAnnotations(schema, parsed);
|
|
175
|
+
if (seen) seen.r = parsed;
|
|
176
|
+
return parsed;
|
|
177
|
+
}
|
|
236
178
|
};
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
}
|
|
241
|
-
return parsed;
|
|
179
|
+
const addDescribes = (schema, parsed) => {
|
|
180
|
+
if (schema.description) parsed += `.describe(${JSON.stringify(schema.description)})`;
|
|
181
|
+
return parsed;
|
|
242
182
|
};
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
}
|
|
247
|
-
return parsed;
|
|
183
|
+
const addDefaults = (schema, parsed) => {
|
|
184
|
+
if (schema.default !== void 0) parsed += `.default(${JSON.stringify(schema.default)})`;
|
|
185
|
+
return parsed;
|
|
248
186
|
};
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
}
|
|
253
|
-
return parsed;
|
|
187
|
+
const addAnnotations = (schema, parsed) => {
|
|
188
|
+
if (schema.readOnly) parsed += ".readonly()";
|
|
189
|
+
return parsed;
|
|
254
190
|
};
|
|
255
191
|
function jsonSchemaToZod(schema, options = {}) {
|
|
256
|
-
|
|
257
|
-
|
|
192
|
+
return (0, json_schema_to_zod.default)(schema, {
|
|
193
|
+
...options,
|
|
194
|
+
parserOverride
|
|
195
|
+
}).replace(/\.reduce<[^>]+>/g, ".reduce");
|
|
258
196
|
}
|
|
259
|
-
|
|
197
|
+
//#endregion
|
|
260
198
|
exports.jsonSchemaToZod = jsonSchemaToZod;
|
|
261
|
-
Object.keys(
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
199
|
+
Object.keys(json_schema_to_zod).forEach(function(k) {
|
|
200
|
+
if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
201
|
+
enumerable: true,
|
|
202
|
+
get: function() {
|
|
203
|
+
return json_schema_to_zod[k];
|
|
204
|
+
}
|
|
205
|
+
});
|
|
266
206
|
});
|
|
267
|
-
|
|
207
|
+
|
|
268
208
|
//# sourceMappingURL=json-to-zod.cjs.map
|
package/dist/json-to-zod.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/json-to-zod.ts"],"names":["parseSchema","addJsdocs","its","parseAnyOf","parseOneOf","parseAllOf","schema","jsonSchemaToZodOriginal"],"mappings":"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","file":"json-to-zod.cjs","sourcesContent":["import type { JsonSchema, JsonSchemaObject, Options, Refs } from 'json-schema-to-zod';\nimport jsonSchemaToZodOriginal, {\n addJsdocs,\n its,\n parseAllOf,\n parseAnyOf,\n parseOneOf,\n parseSchema,\n} from 'json-schema-to-zod';\n\nfunction parseObject(objectSchema: JsonSchemaObject & { type: 'object' }, refs: Refs): string {\n let properties: string | undefined = undefined;\n\n if (objectSchema.properties) {\n if (!Object.keys(objectSchema.properties).length) {\n properties = 'z.object({})';\n } else {\n properties = 'z.object({ ';\n\n properties += Object.keys(objectSchema.properties)\n .map(key => {\n const propSchema = objectSchema.properties![key];\n\n let result = `${JSON.stringify(key)}: ${parseSchema(propSchema!, {\n ...refs,\n path: [...refs.path, 'properties', key],\n })}`;\n\n if (refs.withJsdocs && typeof propSchema === 'object') {\n result = addJsdocs(propSchema, result);\n }\n\n const hasDefault = typeof propSchema === 'object' && propSchema.default !== undefined;\n\n const required = Array.isArray(objectSchema.required)\n ? objectSchema.required.includes(key)\n : typeof propSchema === 'object' && propSchema.required === true;\n\n const optional = !hasDefault && !required;\n\n return optional ? `${result}.optional()` : result;\n })\n .join(', ');\n\n properties += ' })';\n }\n }\n\n const additionalProperties =\n objectSchema.additionalProperties !== undefined && objectSchema.additionalProperties !== false\n ? parseSchema(objectSchema.additionalProperties, {\n ...refs,\n path: [...refs.path, 'additionalProperties'],\n })\n : undefined;\n\n let patternProperties: string | undefined = undefined;\n\n if (objectSchema.patternProperties) {\n const parsedPatternProperties = Object.fromEntries(\n Object.entries(objectSchema.patternProperties).map(([key, value]) => {\n return [\n key,\n parseSchema(value, {\n ...refs,\n path: [...refs.path, 'patternProperties', key],\n }),\n ];\n }, {}),\n );\n\n patternProperties = '';\n\n if (properties) {\n if (additionalProperties) {\n patternProperties += `.catchall(z.union([${[\n ...Object.values(parsedPatternProperties),\n additionalProperties,\n ].join(', ')}]))`;\n } else if (Object.keys(parsedPatternProperties).length > 1) {\n patternProperties += `.catchall(z.union([${Object.values(parsedPatternProperties).join(', ')}]))`;\n } else {\n patternProperties += `.catchall(${Object.values(parsedPatternProperties)})`;\n }\n } else {\n if (additionalProperties) {\n patternProperties += `z.record(z.union([${[\n ...Object.values(parsedPatternProperties),\n additionalProperties,\n ].join(', ')}]))`;\n } else if (Object.keys(parsedPatternProperties).length > 1) {\n patternProperties += `z.record(z.union([${Object.values(parsedPatternProperties).join(', ')}]))`;\n } else {\n patternProperties += `z.record(${Object.values(parsedPatternProperties)})`;\n }\n }\n\n patternProperties += '.superRefine((value, ctx) => {\\n';\n\n patternProperties += 'for (const key in value) {\\n';\n\n if (additionalProperties) {\n if (objectSchema.properties) {\n patternProperties += `let evaluated = [${Object.keys(objectSchema.properties)\n .map(key => JSON.stringify(key))\n .join(', ')}].includes(key)\\n`;\n } else {\n patternProperties += `let evaluated = false\\n`;\n }\n }\n\n for (const key in objectSchema.patternProperties) {\n patternProperties += 'if (key.match(new RegExp(' + JSON.stringify(key) + '))) {\\n';\n if (additionalProperties) {\n patternProperties += 'evaluated = true\\n';\n }\n patternProperties += 'const result = ' + parsedPatternProperties[key] + '.safeParse(value[key])\\n';\n patternProperties += 'if (!result.success) {\\n';\n\n patternProperties += `ctx.addIssue({\n path: [...ctx.path, key],\n code: 'custom',\n message: \\`Invalid input: Key matching regex /\\${key}/ must match schema\\`,\n params: {\n issues: result.error.issues\n }\n })\\n`;\n\n patternProperties += '}\\n';\n patternProperties += '}\\n';\n }\n\n if (additionalProperties) {\n patternProperties += 'if (!evaluated) {\\n';\n patternProperties += 'const result = ' + additionalProperties + '.safeParse(value[key])\\n';\n patternProperties += 'if (!result.success) {\\n';\n\n patternProperties += `ctx.addIssue({\n path: [...ctx.path, key],\n code: 'custom',\n message: \\`Invalid input: must match catchall schema\\`,\n params: {\n issues: result.error.issues\n }\n })\\n`;\n\n patternProperties += '}\\n';\n patternProperties += '}\\n';\n }\n patternProperties += '}\\n';\n patternProperties += '})';\n }\n\n let output = properties\n ? patternProperties\n ? properties + patternProperties\n : additionalProperties\n ? additionalProperties === 'z.never()'\n ? properties + '.strict()'\n : properties + `.catchall(${additionalProperties})`\n : properties\n : patternProperties\n ? patternProperties\n : additionalProperties\n ? `z.record(${additionalProperties})`\n : 'z.record(z.any())';\n\n if (its.an.anyOf(objectSchema)) {\n output += `.and(${parseAnyOf(\n {\n ...objectSchema,\n anyOf: objectSchema.anyOf.map(x =>\n typeof x === 'object' && !x.type && (x.properties || x.additionalProperties || x.patternProperties)\n ? { ...x, type: 'object' }\n : x,\n ) as any,\n },\n refs,\n )})`;\n }\n\n if (its.a.oneOf(objectSchema)) {\n output += `.and(${parseOneOf(\n {\n ...objectSchema,\n oneOf: objectSchema.oneOf.map(x =>\n typeof x === 'object' && !x.type && (x.properties || x.additionalProperties || x.patternProperties)\n ? { ...x, type: 'object' }\n : x,\n ) as any,\n },\n refs,\n )})`;\n }\n\n if (its.an.allOf(objectSchema)) {\n output += `.and(${parseAllOf(\n {\n ...objectSchema,\n allOf: objectSchema.allOf.map(x =>\n typeof x === 'object' && !x.type && (x.properties || x.additionalProperties || x.patternProperties)\n ? { ...x, type: 'object' }\n : x,\n ) as any,\n },\n refs,\n )})`;\n }\n\n return output;\n}\n\nconst parserOverride = (schema: JsonSchemaObject, refs: Refs) => {\n let parsed = '';\n let seen = refs.seen.get(schema);\n if (its.an.anyOf(schema)) {\n const allObjects = schema.anyOf.every(\n item => typeof item === 'object' && its.an.object(item) && item.properties !== undefined,\n );\n if (schema.anyOf.length > 1 && allObjects) {\n const propertiesWithConst: string[][] = schema.anyOf.reduce((acc, item) => {\n if (typeof item === 'object' && its.an.object(item)) {\n const propertyWithConst = Object.entries(item.properties ?? {}).filter(\n ([_, value]) => typeof value === 'object' && (value as any)?.const !== undefined,\n );\n if (propertyWithConst?.length) {\n const ppties = propertyWithConst.map(([key, _]) => key);\n acc.push(ppties);\n }\n }\n return acc;\n }, [] as string[][]);\n\n if (propertiesWithConst.length === schema.anyOf.length) {\n if (seen) {\n if (seen.r !== undefined) {\n return seen.r;\n }\n\n if (refs.depth === undefined || seen.n >= refs.depth) {\n return 'z.any()';\n }\n\n seen.n += 1;\n } else {\n seen = { r: undefined, n: 0 };\n refs.seen.set(schema, seen);\n }\n\n const discriminators =\n propertiesWithConst.length > 0 && propertiesWithConst[0]\n ? propertiesWithConst.reduce((common, properties) => {\n return common.filter(prop => properties.includes(prop));\n }, propertiesWithConst[0])\n : [];\n\n if (discriminators.length > 0) {\n const discriminator = discriminators[0];\n if (discriminator) {\n parsed = `z.discriminatedUnion(\"${discriminator}\", [${schema.anyOf\n .map((schema, i) =>\n parseSchema(schema, {\n ...refs,\n path: [...refs.path, 'anyOf', i],\n }),\n )\n .join(', ')}])`;\n }\n }\n }\n }\n } else if (its.an.object(schema)) {\n if (seen) {\n if (seen.r !== undefined) {\n return seen.r;\n }\n\n if (refs.depth === undefined || seen.n >= refs.depth) {\n return 'z.any()';\n }\n\n seen.n += 1;\n } else {\n seen = { r: undefined, n: 0 };\n refs.seen.set(schema, seen);\n }\n\n parsed = parseObject(schema, refs);\n }\n if (parsed) {\n if (!refs.withoutDescribes) {\n parsed = addDescribes(schema, parsed);\n }\n\n if (!refs.withoutDefaults) {\n parsed = addDefaults(schema, parsed);\n }\n\n parsed = addAnnotations(schema, parsed);\n\n if (seen) {\n seen.r = parsed;\n }\n\n return parsed;\n }\n};\n\nconst addDescribes = (schema: JsonSchemaObject, parsed: string): string => {\n if (schema.description) {\n parsed += `.describe(${JSON.stringify(schema.description)})`;\n }\n\n return parsed;\n};\n\nconst addDefaults = (schema: JsonSchemaObject, parsed: string): string => {\n if (schema.default !== undefined) {\n parsed += `.default(${JSON.stringify(schema.default)})`;\n }\n\n return parsed;\n};\n\nconst addAnnotations = (schema: JsonSchemaObject, parsed: string): string => {\n if (schema.readOnly) {\n parsed += '.readonly()';\n }\n\n return parsed;\n};\n\nexport function jsonSchemaToZod(schema: JsonSchema, options: Options = {}): string {\n const result = jsonSchemaToZodOriginal(schema, { ...options, parserOverride });\n\n // Fix: The upstream json-schema-to-zod generates TypeScript syntax `reduce<z.ZodError[]>`\n // in parseOneOf which fails when evaluated at runtime with Function().\n // This catches any oneOf usage that bypasses our parserOverride (e.g., non-object contexts).\n // See: https://github.com/mastra-ai/mastra/issues/11610\n return result.replace(/\\.reduce<[^>]+>/g, '.reduce');\n}\n\n// Re-export all named exports from json-schema-to-zod (excluding the default export)\nexport * from 'json-schema-to-zod';\n"]}
|
|
1
|
+
{"version":3,"file":"json-to-zod.cjs","names":["its"],"sources":["../src/json-to-zod.ts"],"sourcesContent":["import type { JsonSchema, JsonSchemaObject, Options, Refs } from 'json-schema-to-zod';\nimport jsonSchemaToZodOriginal, {\n addJsdocs,\n its,\n parseAllOf,\n parseAnyOf,\n parseOneOf,\n parseSchema,\n} from 'json-schema-to-zod';\n\nfunction parseObject(objectSchema: JsonSchemaObject & { type: 'object' }, refs: Refs): string {\n let properties: string | undefined = undefined;\n\n if (objectSchema.properties) {\n if (!Object.keys(objectSchema.properties).length) {\n properties = 'z.object({})';\n } else {\n properties = 'z.object({ ';\n\n properties += Object.keys(objectSchema.properties)\n .map(key => {\n const propSchema = objectSchema.properties![key];\n\n let result = `${JSON.stringify(key)}: ${parseSchema(propSchema!, {\n ...refs,\n path: [...refs.path, 'properties', key],\n })}`;\n\n if (refs.withJsdocs && typeof propSchema === 'object') {\n result = addJsdocs(propSchema, result);\n }\n\n const hasDefault = typeof propSchema === 'object' && propSchema.default !== undefined;\n\n const required = Array.isArray(objectSchema.required)\n ? objectSchema.required.includes(key)\n : typeof propSchema === 'object' && propSchema.required === true;\n\n const optional = !hasDefault && !required;\n\n return optional ? `${result}.optional()` : result;\n })\n .join(', ');\n\n properties += ' })';\n }\n }\n\n const additionalProperties =\n objectSchema.additionalProperties !== undefined && objectSchema.additionalProperties !== false\n ? parseSchema(objectSchema.additionalProperties, {\n ...refs,\n path: [...refs.path, 'additionalProperties'],\n })\n : undefined;\n\n let patternProperties: string | undefined = undefined;\n\n if (objectSchema.patternProperties) {\n const parsedPatternProperties = Object.fromEntries(\n Object.entries(objectSchema.patternProperties).map(([key, value]) => {\n return [\n key,\n parseSchema(value, {\n ...refs,\n path: [...refs.path, 'patternProperties', key],\n }),\n ];\n }, {}),\n );\n\n patternProperties = '';\n\n if (properties) {\n if (additionalProperties) {\n patternProperties += `.catchall(z.union([${[\n ...Object.values(parsedPatternProperties),\n additionalProperties,\n ].join(', ')}]))`;\n } else if (Object.keys(parsedPatternProperties).length > 1) {\n patternProperties += `.catchall(z.union([${Object.values(parsedPatternProperties).join(', ')}]))`;\n } else {\n patternProperties += `.catchall(${Object.values(parsedPatternProperties)})`;\n }\n } else {\n if (additionalProperties) {\n patternProperties += `z.record(z.union([${[\n ...Object.values(parsedPatternProperties),\n additionalProperties,\n ].join(', ')}]))`;\n } else if (Object.keys(parsedPatternProperties).length > 1) {\n patternProperties += `z.record(z.union([${Object.values(parsedPatternProperties).join(', ')}]))`;\n } else {\n patternProperties += `z.record(${Object.values(parsedPatternProperties)})`;\n }\n }\n\n patternProperties += '.superRefine((value, ctx) => {\\n';\n\n patternProperties += 'for (const key in value) {\\n';\n\n if (additionalProperties) {\n if (objectSchema.properties) {\n patternProperties += `let evaluated = [${Object.keys(objectSchema.properties)\n .map(key => JSON.stringify(key))\n .join(', ')}].includes(key)\\n`;\n } else {\n patternProperties += `let evaluated = false\\n`;\n }\n }\n\n for (const key in objectSchema.patternProperties) {\n patternProperties += 'if (key.match(new RegExp(' + JSON.stringify(key) + '))) {\\n';\n if (additionalProperties) {\n patternProperties += 'evaluated = true\\n';\n }\n patternProperties += 'const result = ' + parsedPatternProperties[key] + '.safeParse(value[key])\\n';\n patternProperties += 'if (!result.success) {\\n';\n\n patternProperties += `ctx.addIssue({\n path: [...ctx.path, key],\n code: 'custom',\n message: \\`Invalid input: Key matching regex /\\${key}/ must match schema\\`,\n params: {\n issues: result.error.issues\n }\n })\\n`;\n\n patternProperties += '}\\n';\n patternProperties += '}\\n';\n }\n\n if (additionalProperties) {\n patternProperties += 'if (!evaluated) {\\n';\n patternProperties += 'const result = ' + additionalProperties + '.safeParse(value[key])\\n';\n patternProperties += 'if (!result.success) {\\n';\n\n patternProperties += `ctx.addIssue({\n path: [...ctx.path, key],\n code: 'custom',\n message: \\`Invalid input: must match catchall schema\\`,\n params: {\n issues: result.error.issues\n }\n })\\n`;\n\n patternProperties += '}\\n';\n patternProperties += '}\\n';\n }\n patternProperties += '}\\n';\n patternProperties += '})';\n }\n\n let output = properties\n ? patternProperties\n ? properties + patternProperties\n : additionalProperties\n ? additionalProperties === 'z.never()'\n ? properties + '.strict()'\n : properties + `.catchall(${additionalProperties})`\n : properties\n : patternProperties\n ? patternProperties\n : additionalProperties\n ? `z.record(${additionalProperties})`\n : 'z.record(z.any())';\n\n if (its.an.anyOf(objectSchema)) {\n output += `.and(${parseAnyOf(\n {\n ...objectSchema,\n anyOf: objectSchema.anyOf.map(x =>\n typeof x === 'object' && !x.type && (x.properties || x.additionalProperties || x.patternProperties)\n ? { ...x, type: 'object' }\n : x,\n ) as any,\n },\n refs,\n )})`;\n }\n\n if (its.a.oneOf(objectSchema)) {\n output += `.and(${parseOneOf(\n {\n ...objectSchema,\n oneOf: objectSchema.oneOf.map(x =>\n typeof x === 'object' && !x.type && (x.properties || x.additionalProperties || x.patternProperties)\n ? { ...x, type: 'object' }\n : x,\n ) as any,\n },\n refs,\n )})`;\n }\n\n if (its.an.allOf(objectSchema)) {\n output += `.and(${parseAllOf(\n {\n ...objectSchema,\n allOf: objectSchema.allOf.map(x =>\n typeof x === 'object' && !x.type && (x.properties || x.additionalProperties || x.patternProperties)\n ? { ...x, type: 'object' }\n : x,\n ) as any,\n },\n refs,\n )})`;\n }\n\n return output;\n}\n\nconst parserOverride = (schema: JsonSchemaObject, refs: Refs) => {\n let parsed = '';\n let seen = refs.seen.get(schema);\n if (its.an.anyOf(schema)) {\n const allObjects = schema.anyOf.every(\n item => typeof item === 'object' && its.an.object(item) && item.properties !== undefined,\n );\n if (schema.anyOf.length > 1 && allObjects) {\n const propertiesWithConst: string[][] = schema.anyOf.reduce((acc, item) => {\n if (typeof item === 'object' && its.an.object(item)) {\n const propertyWithConst = Object.entries(item.properties ?? {}).filter(\n ([_, value]) => typeof value === 'object' && (value as any)?.const !== undefined,\n );\n if (propertyWithConst?.length) {\n const ppties = propertyWithConst.map(([key, _]) => key);\n acc.push(ppties);\n }\n }\n return acc;\n }, [] as string[][]);\n\n if (propertiesWithConst.length === schema.anyOf.length) {\n if (seen) {\n if (seen.r !== undefined) {\n return seen.r;\n }\n\n if (refs.depth === undefined || seen.n >= refs.depth) {\n return 'z.any()';\n }\n\n seen.n += 1;\n } else {\n seen = { r: undefined, n: 0 };\n refs.seen.set(schema, seen);\n }\n\n const discriminators =\n propertiesWithConst.length > 0 && propertiesWithConst[0]\n ? propertiesWithConst.reduce((common, properties) => {\n return common.filter(prop => properties.includes(prop));\n }, propertiesWithConst[0])\n : [];\n\n if (discriminators.length > 0) {\n const discriminator = discriminators[0];\n if (discriminator) {\n parsed = `z.discriminatedUnion(\"${discriminator}\", [${schema.anyOf\n .map((schema, i) =>\n parseSchema(schema, {\n ...refs,\n path: [...refs.path, 'anyOf', i],\n }),\n )\n .join(', ')}])`;\n }\n }\n }\n }\n } else if (its.an.object(schema)) {\n if (seen) {\n if (seen.r !== undefined) {\n return seen.r;\n }\n\n if (refs.depth === undefined || seen.n >= refs.depth) {\n return 'z.any()';\n }\n\n seen.n += 1;\n } else {\n seen = { r: undefined, n: 0 };\n refs.seen.set(schema, seen);\n }\n\n parsed = parseObject(schema, refs);\n }\n if (parsed) {\n if (!refs.withoutDescribes) {\n parsed = addDescribes(schema, parsed);\n }\n\n if (!refs.withoutDefaults) {\n parsed = addDefaults(schema, parsed);\n }\n\n parsed = addAnnotations(schema, parsed);\n\n if (seen) {\n seen.r = parsed;\n }\n\n return parsed;\n }\n};\n\nconst addDescribes = (schema: JsonSchemaObject, parsed: string): string => {\n if (schema.description) {\n parsed += `.describe(${JSON.stringify(schema.description)})`;\n }\n\n return parsed;\n};\n\nconst addDefaults = (schema: JsonSchemaObject, parsed: string): string => {\n if (schema.default !== undefined) {\n parsed += `.default(${JSON.stringify(schema.default)})`;\n }\n\n return parsed;\n};\n\nconst addAnnotations = (schema: JsonSchemaObject, parsed: string): string => {\n if (schema.readOnly) {\n parsed += '.readonly()';\n }\n\n return parsed;\n};\n\nexport function jsonSchemaToZod(schema: JsonSchema, options: Options = {}): string {\n const result = jsonSchemaToZodOriginal(schema, { ...options, parserOverride });\n\n // Fix: The upstream json-schema-to-zod generates TypeScript syntax `reduce<z.ZodError[]>`\n // in parseOneOf which fails when evaluated at runtime with Function().\n // This catches any oneOf usage that bypasses our parserOverride (e.g., non-object contexts).\n // See: https://github.com/mastra-ai/mastra/issues/11610\n return result.replace(/\\.reduce<[^>]+>/g, '.reduce');\n}\n\n// Re-export all named exports from json-schema-to-zod (excluding the default export)\nexport * from 'json-schema-to-zod';\n"],"mappings":"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"}
|