@mastra/schema-compat 0.10.6-alpha.0 → 0.10.6-alpha.1
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/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +41 -0
- package/README.md +0 -4
- package/dist/chunk-FTKGHMGD.js +27 -0
- package/dist/chunk-FTKGHMGD.js.map +1 -0
- package/dist/chunk-LNR4XKDU.cjs +33 -0
- package/dist/chunk-LNR4XKDU.cjs.map +1 -0
- package/dist/index.cjs +843 -84
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +10 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +842 -85
- package/dist/index.js.map +1 -1
- package/dist/provider-compats/anthropic.d.ts +7 -5
- package/dist/provider-compats/anthropic.d.ts.map +1 -1
- package/dist/provider-compats/deepseek.d.ts +7 -5
- package/dist/provider-compats/deepseek.d.ts.map +1 -1
- package/dist/provider-compats/google.d.ts +7 -5
- package/dist/provider-compats/google.d.ts.map +1 -1
- package/dist/provider-compats/meta.d.ts +7 -5
- package/dist/provider-compats/meta.d.ts.map +1 -1
- package/dist/provider-compats/openai-reasoning.d.ts +7 -5
- package/dist/provider-compats/openai-reasoning.d.ts.map +1 -1
- package/dist/provider-compats/openai.d.ts +7 -5
- package/dist/provider-compats/openai.d.ts.map +1 -1
- package/dist/schema-compatibility-v3.d.ts +319 -0
- package/dist/schema-compatibility-v3.d.ts.map +1 -0
- package/dist/schema-compatibility-v4.d.ts +310 -0
- package/dist/schema-compatibility-v4.d.ts.map +1 -0
- package/dist/schema-compatibility.d.ts +79 -131
- package/dist/schema-compatibility.d.ts.map +1 -1
- package/dist/types.d.ts +6 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils-test-suite.d.ts +2 -0
- package/dist/utils-test-suite.d.ts.map +1 -0
- package/dist/utils.d.ts +17 -5
- package/dist/utils.d.ts.map +1 -1
- package/dist/zod-to-json.cjs +12 -0
- package/dist/zod-to-json.cjs.map +1 -0
- package/dist/zod-to-json.d.ts +6 -0
- package/dist/zod-to-json.d.ts.map +1 -0
- package/dist/zod-to-json.js +3 -0
- package/dist/zod-to-json.js.map +1 -0
- package/dist/zodTypes.d.ts +21 -0
- package/dist/zodTypes.d.ts.map +1 -0
- package/package.json +16 -6
- package/src/index.ts +4 -3
- package/src/provider-compats/anthropic.ts +30 -13
- package/src/provider-compats/deepseek.ts +15 -10
- package/src/provider-compats/google.ts +19 -33
- package/src/provider-compats/meta.ts +16 -11
- package/src/provider-compats/openai-reasoning.ts +24 -26
- package/src/provider-compats/openai.ts +23 -14
- package/src/provider-compats.test.ts +120 -25
- package/src/schema-compatibility-v3.ts +664 -0
- package/src/schema-compatibility-v4.test.ts +476 -0
- package/src/schema-compatibility-v4.ts +706 -0
- package/src/schema-compatibility.test.ts +9 -9
- package/src/schema-compatibility.ts +266 -383
- package/src/types.ts +5 -0
- package/src/utils-test-suite.ts +467 -0
- package/src/utils-v3.test.ts +9 -0
- package/src/utils-v4.test.ts +9 -0
- package/src/utils.ts +30 -24
- package/src/zod-to-json.ts +27 -0
- package/src/zodTypes.ts +56 -0
- package/tsup.config.ts +8 -3
- package/src/utils.test.ts +0 -434
|
@@ -1,83 +1,10 @@
|
|
|
1
|
-
import type { Schema
|
|
1
|
+
import type { Schema } from 'ai';
|
|
2
2
|
import type { JSONSchema7 } from 'json-schema';
|
|
3
|
-
import { z
|
|
4
|
-
import type {
|
|
3
|
+
import type { z as zV3 } from 'zod/v3';
|
|
4
|
+
import type { z as zV4, ZodType } from 'zod/v4';
|
|
5
5
|
import type { Targets } from 'zod-to-json-schema';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
* @constant
|
|
9
|
-
*/
|
|
10
|
-
export declare const ALL_STRING_CHECKS: readonly ["regex", "emoji", "email", "url", "uuid", "cuid", "min", "max"];
|
|
11
|
-
/**
|
|
12
|
-
* All supported number validation check types that can be processed or converted to descriptions.
|
|
13
|
-
* @constant
|
|
14
|
-
*/
|
|
15
|
-
export declare const ALL_NUMBER_CHECKS: readonly ["min", "max", "multipleOf"];
|
|
16
|
-
/**
|
|
17
|
-
* All supported array validation check types that can be processed or converted to descriptions.
|
|
18
|
-
* @constant
|
|
19
|
-
*/
|
|
20
|
-
export declare const ALL_ARRAY_CHECKS: readonly ["min", "max", "length"];
|
|
21
|
-
export declare const isOptional: (v: ZodTypeAny) => v is ZodOptional<any>;
|
|
22
|
-
export declare const isObj: (v: ZodTypeAny) => v is ZodObject<any, any, any>;
|
|
23
|
-
export declare const isNull: (v: ZodTypeAny) => v is ZodNull;
|
|
24
|
-
export declare const isArr: (v: ZodTypeAny) => v is ZodArray<any, any>;
|
|
25
|
-
export declare const isUnion: (v: ZodTypeAny) => v is ZodUnion<[ZodTypeAny, ...ZodTypeAny[]]>;
|
|
26
|
-
export declare const isString: (v: ZodTypeAny) => v is ZodString;
|
|
27
|
-
export declare const isNumber: (v: ZodTypeAny) => v is ZodNumber;
|
|
28
|
-
export declare const isDate: (v: ZodTypeAny) => v is ZodDate;
|
|
29
|
-
export declare const isDefault: (v: ZodTypeAny) => v is ZodDefault<any>;
|
|
30
|
-
/**
|
|
31
|
-
* Zod types that are not supported by most AI model providers and should be avoided.
|
|
32
|
-
* @constant
|
|
33
|
-
*/
|
|
34
|
-
export declare const UNSUPPORTED_ZOD_TYPES: readonly ["ZodIntersection", "ZodNever", "ZodNull", "ZodTuple", "ZodUndefined"];
|
|
35
|
-
/**
|
|
36
|
-
* Zod types that are generally supported by AI model providers.
|
|
37
|
-
* @constant
|
|
38
|
-
*/
|
|
39
|
-
export declare const SUPPORTED_ZOD_TYPES: readonly ["ZodObject", "ZodArray", "ZodUnion", "ZodString", "ZodNumber", "ZodDate", "ZodAny", "ZodDefault"];
|
|
40
|
-
/**
|
|
41
|
-
* All Zod types (both supported and unsupported).
|
|
42
|
-
* @constant
|
|
43
|
-
*/
|
|
44
|
-
export declare const ALL_ZOD_TYPES: readonly ["ZodObject", "ZodArray", "ZodUnion", "ZodString", "ZodNumber", "ZodDate", "ZodAny", "ZodDefault", "ZodIntersection", "ZodNever", "ZodNull", "ZodTuple", "ZodUndefined"];
|
|
45
|
-
/**
|
|
46
|
-
* Type representing string validation checks.
|
|
47
|
-
*/
|
|
48
|
-
export type StringCheckType = (typeof ALL_STRING_CHECKS)[number];
|
|
49
|
-
/**
|
|
50
|
-
* Type representing number validation checks.
|
|
51
|
-
*/
|
|
52
|
-
export type NumberCheckType = (typeof ALL_NUMBER_CHECKS)[number];
|
|
53
|
-
/**
|
|
54
|
-
* Type representing array validation checks.
|
|
55
|
-
*/
|
|
56
|
-
export type ArrayCheckType = (typeof ALL_ARRAY_CHECKS)[number];
|
|
57
|
-
/**
|
|
58
|
-
* Type representing unsupported Zod schema types.
|
|
59
|
-
*/
|
|
60
|
-
export type UnsupportedZodType = (typeof UNSUPPORTED_ZOD_TYPES)[number];
|
|
61
|
-
/**
|
|
62
|
-
* Type representing supported Zod schema types.
|
|
63
|
-
*/
|
|
64
|
-
export type SupportedZodType = (typeof SUPPORTED_ZOD_TYPES)[number];
|
|
65
|
-
/**
|
|
66
|
-
* Type representing all Zod schema types (supported and unsupported).
|
|
67
|
-
*/
|
|
68
|
-
export type AllZodType = (typeof ALL_ZOD_TYPES)[number];
|
|
69
|
-
/**
|
|
70
|
-
* Utility type to extract the shape of a Zod object schema.
|
|
71
|
-
*/
|
|
72
|
-
export type ZodShape<T extends z.AnyZodObject> = T['shape'];
|
|
73
|
-
/**
|
|
74
|
-
* Utility type to extract the keys from a Zod object shape.
|
|
75
|
-
*/
|
|
76
|
-
export type ShapeKey<T extends z.AnyZodObject> = keyof ZodShape<T>;
|
|
77
|
-
/**
|
|
78
|
-
* Utility type to extract the value types from a Zod object shape.
|
|
79
|
-
*/
|
|
80
|
-
export type ShapeValue<T extends z.AnyZodObject> = ZodShape<T>[ShapeKey<T>];
|
|
6
|
+
import type { UnsupportedZodType as UnsupportedZodTypeV3, ShapeValue as ShapeValueV3, StringCheckType, NumberCheckType, ArrayCheckType, AllZodType as AllZodTypeV3 } from './schema-compatibility-v3';
|
|
7
|
+
import type { UnsupportedZodType as UnsupportedZodTypeV4, ShapeValue as ShapeValueV4, AllZodType as AllZodTypeV4 } from './schema-compatibility-v4';
|
|
81
8
|
type StringConstraints = {
|
|
82
9
|
minLength?: number;
|
|
83
10
|
maxLength?: number;
|
|
@@ -108,59 +35,69 @@ type DateConstraints = {
|
|
|
108
35
|
maxDate?: string;
|
|
109
36
|
dateFormat?: string;
|
|
110
37
|
};
|
|
111
|
-
|
|
112
|
-
* Abstract base class for creating schema compatibility layers for different AI model providers.
|
|
113
|
-
*
|
|
114
|
-
* This class provides a framework for transforming Zod schemas to work with specific AI model
|
|
115
|
-
* provider requirements and limitations. Each provider may have different support levels for
|
|
116
|
-
* JSON Schema features, validation constraints, and data types.
|
|
117
|
-
*
|
|
118
|
-
* @abstract
|
|
119
|
-
*
|
|
120
|
-
* @example
|
|
121
|
-
* ```typescript
|
|
122
|
-
* import { SchemaCompatLayer } from '@mastra/schema-compat';
|
|
123
|
-
* import type { LanguageModelV1 } from 'ai';
|
|
124
|
-
*
|
|
125
|
-
* class CustomProviderCompat extends SchemaCompatLayer {
|
|
126
|
-
* constructor(model: LanguageModelV1) {
|
|
127
|
-
* super(model);
|
|
128
|
-
* }
|
|
129
|
-
*
|
|
130
|
-
* shouldApply(): boolean {
|
|
131
|
-
* return this.getModel().provider === 'custom-provider';
|
|
132
|
-
* }
|
|
133
|
-
*
|
|
134
|
-
* getSchemaTarget() {
|
|
135
|
-
* return 'jsonSchema7';
|
|
136
|
-
* }
|
|
137
|
-
*
|
|
138
|
-
* processZodType<T extends z.AnyZodObject>(value: z.ZodTypeAny): ShapeValue<T> {
|
|
139
|
-
* // Custom processing logic for this provider
|
|
140
|
-
* switch (value._def.typeName) {
|
|
141
|
-
* case 'ZodString':
|
|
142
|
-
* return this.defaultZodStringHandler(value, ['email', 'url']);
|
|
143
|
-
* default:
|
|
144
|
-
* return this.defaultUnsupportedZodTypeHandler(value);
|
|
145
|
-
* }
|
|
146
|
-
* }
|
|
147
|
-
* }
|
|
148
|
-
* ```
|
|
149
|
-
*/
|
|
38
|
+
import type { ModelInformation } from './types';
|
|
150
39
|
export declare abstract class SchemaCompatLayer {
|
|
151
40
|
private model;
|
|
41
|
+
private v3Layer;
|
|
42
|
+
private v4Layer;
|
|
152
43
|
/**
|
|
153
44
|
* Creates a new schema compatibility instance.
|
|
154
45
|
*
|
|
155
46
|
* @param model - The language model this compatibility layer applies to
|
|
156
47
|
*/
|
|
157
|
-
constructor(model:
|
|
48
|
+
constructor(model: ModelInformation);
|
|
158
49
|
/**
|
|
159
50
|
* Gets the language model associated with this compatibility layer.
|
|
160
51
|
*
|
|
161
52
|
* @returns The language model instance
|
|
162
53
|
*/
|
|
163
|
-
getModel():
|
|
54
|
+
getModel(): ModelInformation;
|
|
55
|
+
getUnsupportedZodTypes(v: ZodType): readonly string[];
|
|
56
|
+
/**
|
|
57
|
+
* Type guard for optional Zod types
|
|
58
|
+
*/
|
|
59
|
+
isOptional(v: zV4.ZodType): v is zV4.ZodOptional<any>;
|
|
60
|
+
isOptional(v: zV3.ZodType): v is zV3.ZodOptional<any>;
|
|
61
|
+
/**
|
|
62
|
+
* Type guard for object Zod types
|
|
63
|
+
*/
|
|
64
|
+
isObj(v: zV4.ZodType): v is zV4.ZodObject<any, any>;
|
|
65
|
+
isObj(v: zV3.ZodType): v is zV3.ZodObject<any, any, any, any, any>;
|
|
66
|
+
/**
|
|
67
|
+
* Type guard for null Zod types
|
|
68
|
+
*/
|
|
69
|
+
isNull(v: zV4.ZodType): v is zV4.ZodNull;
|
|
70
|
+
isNull(v: zV3.ZodType): v is zV3.ZodNull;
|
|
71
|
+
/**
|
|
72
|
+
* Type guard for array Zod types
|
|
73
|
+
*/
|
|
74
|
+
isArr(v: zV4.ZodType): v is zV4.ZodArray<any>;
|
|
75
|
+
isArr(v: zV3.ZodType): v is zV3.ZodArray<any, any>;
|
|
76
|
+
/**
|
|
77
|
+
* Type guard for union Zod types
|
|
78
|
+
*/
|
|
79
|
+
isUnion(v: zV4.ZodType): v is zV4.ZodUnion<[zV4.ZodType, ...zV4.ZodType[]]>;
|
|
80
|
+
isUnion(v: zV3.ZodType): v is zV3.ZodUnion<[zV3.ZodType, ...zV3.ZodType[]]>;
|
|
81
|
+
/**
|
|
82
|
+
* Type guard for string Zod types
|
|
83
|
+
*/
|
|
84
|
+
isString(v: zV4.ZodType): v is zV4.ZodString;
|
|
85
|
+
isString(v: zV3.ZodType): v is zV3.ZodString;
|
|
86
|
+
/**
|
|
87
|
+
* Type guard for number Zod types
|
|
88
|
+
*/
|
|
89
|
+
isNumber(v: zV4.ZodType): v is zV4.ZodNumber;
|
|
90
|
+
isNumber(v: zV3.ZodType): v is zV3.ZodNumber;
|
|
91
|
+
/**
|
|
92
|
+
* Type guard for date Zod types
|
|
93
|
+
*/
|
|
94
|
+
isDate(v: zV4.ZodType): v is zV4.ZodDate;
|
|
95
|
+
isDate(v: zV3.ZodType): v is zV3.ZodDate;
|
|
96
|
+
/**
|
|
97
|
+
* Type guard for default Zod types
|
|
98
|
+
*/
|
|
99
|
+
isDefault(v: zV4.ZodType): v is zV4.ZodDefault<any>;
|
|
100
|
+
isDefault(v: zV3.ZodType): v is zV3.ZodDefault<any>;
|
|
164
101
|
/**
|
|
165
102
|
* Determines whether this compatibility layer should be applied for the current model.
|
|
166
103
|
*
|
|
@@ -182,16 +119,21 @@ export declare abstract class SchemaCompatLayer {
|
|
|
182
119
|
* @returns The processed Zod type
|
|
183
120
|
* @abstract
|
|
184
121
|
*/
|
|
185
|
-
abstract processZodType(value:
|
|
122
|
+
abstract processZodType(value: zV4.ZodType): zV4.ZodType;
|
|
123
|
+
abstract processZodType(value: zV3.ZodType): zV3.ZodType;
|
|
124
|
+
abstract processZodType(value: zV4.ZodType | zV3.ZodType): zV4.ZodType | zV3.ZodType;
|
|
186
125
|
/**
|
|
187
126
|
* Default handler for Zod object types. Recursively processes all properties in the object.
|
|
188
127
|
*
|
|
189
128
|
* @param value - The Zod object to process
|
|
190
129
|
* @returns The processed Zod object
|
|
191
130
|
*/
|
|
192
|
-
defaultZodObjectHandler(value: ZodObject<any, any
|
|
131
|
+
defaultZodObjectHandler(value: zV4.ZodObject<any, any>, options?: {
|
|
132
|
+
passthrough?: boolean;
|
|
133
|
+
}): zV4.ZodObject<any, any>;
|
|
134
|
+
defaultZodObjectHandler(value: zV3.ZodObject<any, any>, options?: {
|
|
193
135
|
passthrough?: boolean;
|
|
194
|
-
}): ZodObject<any, any
|
|
136
|
+
}): zV3.ZodObject<any, any>;
|
|
195
137
|
/**
|
|
196
138
|
* Merges validation constraints into a parameter description.
|
|
197
139
|
*
|
|
@@ -213,7 +155,7 @@ export declare abstract class SchemaCompatLayer {
|
|
|
213
155
|
* @returns The original value if not in the throw list
|
|
214
156
|
* @throws Error if the type is in the unsupported list
|
|
215
157
|
*/
|
|
216
|
-
defaultUnsupportedZodTypeHandler<T extends
|
|
158
|
+
defaultUnsupportedZodTypeHandler<T extends zV4.ZodObject | zV3.AnyZodObject>(value: T, throwOnTypes?: T extends zV4.ZodObject ? UnsupportedZodTypeV4[] : T extends zV3.AnyZodObject ? UnsupportedZodTypeV3[] : never): T extends zV4.ZodObject ? ShapeValueV4<T> : T extends zV3.AnyZodObject ? ShapeValueV3<T> : never;
|
|
217
159
|
/**
|
|
218
160
|
* Default handler for Zod array types. Processes array constraints according to provider support.
|
|
219
161
|
*
|
|
@@ -221,7 +163,8 @@ export declare abstract class SchemaCompatLayer {
|
|
|
221
163
|
* @param handleChecks - Array constraints to convert to descriptions vs keep as validation
|
|
222
164
|
* @returns The processed Zod array
|
|
223
165
|
*/
|
|
224
|
-
defaultZodArrayHandler(value: ZodArray<any
|
|
166
|
+
defaultZodArrayHandler(value: zV4.ZodArray<any>, handleChecks?: readonly ArrayCheckType[]): zV4.ZodArray<any>;
|
|
167
|
+
defaultZodArrayHandler(value: zV3.ZodArray<any, any>, handleChecks?: readonly ArrayCheckType[]): zV3.ZodArray<any, any>;
|
|
225
168
|
/**
|
|
226
169
|
* Default handler for Zod union types. Processes all union options.
|
|
227
170
|
*
|
|
@@ -229,7 +172,8 @@ export declare abstract class SchemaCompatLayer {
|
|
|
229
172
|
* @returns The processed Zod union
|
|
230
173
|
* @throws Error if union has fewer than 2 options
|
|
231
174
|
*/
|
|
232
|
-
defaultZodUnionHandler(value: ZodUnion<[
|
|
175
|
+
defaultZodUnionHandler(value: zV4.ZodUnion<[zV4.ZodType, ...zV4.ZodType[]]>): zV4.ZodType;
|
|
176
|
+
defaultZodUnionHandler(value: zV3.ZodUnion<[zV3.ZodType, ...zV3.ZodType[]]>): zV3.ZodType;
|
|
233
177
|
/**
|
|
234
178
|
* Default handler for Zod string types. Processes string validation constraints.
|
|
235
179
|
*
|
|
@@ -237,7 +181,8 @@ export declare abstract class SchemaCompatLayer {
|
|
|
237
181
|
* @param handleChecks - String constraints to convert to descriptions vs keep as validation
|
|
238
182
|
* @returns The processed Zod string
|
|
239
183
|
*/
|
|
240
|
-
defaultZodStringHandler(value: ZodString, handleChecks?: readonly StringCheckType[]): ZodString;
|
|
184
|
+
defaultZodStringHandler(value: zV4.ZodString, handleChecks?: readonly StringCheckType[]): zV4.ZodString;
|
|
185
|
+
defaultZodStringHandler(value: zV3.ZodString, handleChecks?: readonly StringCheckType[]): zV3.ZodString;
|
|
241
186
|
/**
|
|
242
187
|
* Default handler for Zod number types. Processes number validation constraints.
|
|
243
188
|
*
|
|
@@ -245,14 +190,16 @@ export declare abstract class SchemaCompatLayer {
|
|
|
245
190
|
* @param handleChecks - Number constraints to convert to descriptions vs keep as validation
|
|
246
191
|
* @returns The processed Zod number
|
|
247
192
|
*/
|
|
248
|
-
defaultZodNumberHandler(value: ZodNumber, handleChecks?: readonly NumberCheckType[]): ZodNumber;
|
|
193
|
+
defaultZodNumberHandler(value: zV4.ZodNumber, handleChecks?: readonly NumberCheckType[]): zV4.ZodNumber;
|
|
194
|
+
defaultZodNumberHandler(value: zV3.ZodNumber, handleChecks?: readonly NumberCheckType[]): zV3.ZodNumber;
|
|
249
195
|
/**
|
|
250
196
|
* Default handler for Zod date types. Converts dates to ISO strings with constraint descriptions.
|
|
251
197
|
*
|
|
252
198
|
* @param value - The Zod date to process
|
|
253
199
|
* @returns A Zod string schema representing the date in ISO format
|
|
254
200
|
*/
|
|
255
|
-
defaultZodDateHandler(value: ZodDate): ZodString;
|
|
201
|
+
defaultZodDateHandler(value: zV4.ZodDate): zV4.ZodString;
|
|
202
|
+
defaultZodDateHandler(value: zV3.ZodDate): zV3.ZodString;
|
|
256
203
|
/**
|
|
257
204
|
* Default handler for Zod optional types. Processes the inner type and maintains optionality.
|
|
258
205
|
*
|
|
@@ -260,21 +207,22 @@ export declare abstract class SchemaCompatLayer {
|
|
|
260
207
|
* @param handleTypes - Types that should be processed vs passed through
|
|
261
208
|
* @returns The processed Zod optional
|
|
262
209
|
*/
|
|
263
|
-
defaultZodOptionalHandler(value: ZodOptional<any>, handleTypes?: readonly
|
|
210
|
+
defaultZodOptionalHandler(value: zV4.ZodOptional<any>, handleTypes?: readonly AllZodTypeV4[]): zV4.ZodType;
|
|
211
|
+
defaultZodOptionalHandler(value: zV3.ZodOptional<any>, handleTypes?: readonly AllZodTypeV3[]): zV3.ZodType;
|
|
264
212
|
/**
|
|
265
213
|
* Processes a Zod object schema and converts it to an AI SDK Schema.
|
|
266
214
|
*
|
|
267
215
|
* @param zodSchema - The Zod object schema to process
|
|
268
216
|
* @returns An AI SDK Schema with provider-specific compatibility applied
|
|
269
217
|
*/
|
|
270
|
-
processToAISDKSchema(zodSchema:
|
|
218
|
+
processToAISDKSchema(zodSchema: zV3.ZodSchema | zV4.ZodType): Schema;
|
|
271
219
|
/**
|
|
272
220
|
* Processes a Zod object schema and converts it to a JSON Schema.
|
|
273
221
|
*
|
|
274
222
|
* @param zodSchema - The Zod object schema to process
|
|
275
223
|
* @returns A JSONSchema7 object with provider-specific compatibility applied
|
|
276
224
|
*/
|
|
277
|
-
processToJSONSchema(zodSchema:
|
|
225
|
+
processToJSONSchema(zodSchema: zV3.ZodSchema | zV4.ZodType): JSONSchema7;
|
|
278
226
|
}
|
|
279
227
|
export {};
|
|
280
228
|
//# sourceMappingURL=schema-compatibility.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-compatibility.d.ts","sourceRoot":"","sources":["../src/schema-compatibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"schema-compatibility.d.ts","sourceRoot":"","sources":["../src/schema-compatibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AACjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AASlD,OAAO,KAAK,EACV,kBAAkB,IAAI,oBAAoB,EAC1C,UAAU,IAAI,YAAY,EAC1B,eAAe,EACf,eAAe,EACf,cAAc,EACd,UAAU,IAAI,YAAY,EAC3B,MAAM,2BAA2B,CAAC;AAMnC,OAAO,KAAK,EACV,kBAAkB,IAAI,oBAAoB,EAC1C,UAAU,IAAI,YAAY,EAC1B,UAAU,IAAI,YAAY,EAC3B,MAAM,2BAA2B,CAAC;AAGnC,KAAK,iBAAiB,GAAG;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGhD,8BAAsB,iBAAiB;IACrC,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,OAAO,CAAsB;IAErC;;;;OAIG;gBACS,KAAK,EAAE,gBAAgB;IAMnC;;;;OAIG;IACH,QAAQ,IAAI,gBAAgB;IAI5B,sBAAsB,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS,MAAM,EAAE;IAQrD;;OAEG;IACH,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC;IACrD,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC;IAUrD;;OAEG;IACH,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IACnD,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAUlE;;OAEG;IACH,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO;IACxC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO;IAUxC;;OAEG;IACH,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;IAC7C,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAUlD;;OAEG;IACH,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3E,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAU3E;;OAEG;IACH,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,SAAS;IAC5C,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,SAAS;IAU5C;;OAEG;IACH,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,SAAS;IAC5C,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,SAAS;IAU5C;;OAEG;IACH,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO;IACxC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO;IAUxC;;OAEG;IACH,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;IACnD,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;IAUnD;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,IAAI,OAAO;IAE/B;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,IAAI,OAAO,GAAG,SAAS;IAE/C;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO;IACxD,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO;IACxD,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO;IAEpF;;;;;OAKG;IACI,uBAAuB,CAC5B,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EAC9B,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAClC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IACnB,uBAAuB,CAC5B,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EAC9B,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAClC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAY1B;;;;;;;;;OASG;IACI,yBAAyB,CAC9B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,WAAW,EACP,iBAAiB,GACjB,iBAAiB,GACjB,gBAAgB,GAChB,eAAe,GACf;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7B,MAAM,GAAG,SAAS;IAKrB;;;;;;;OAOG;IACI,gCAAgC,CAAC,CAAC,SAAS,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,YAAY,EAChF,KAAK,EAAE,CAAC,EACR,YAAY,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,SAAS,GAClC,oBAAoB,EAAE,GACtB,CAAC,SAAS,GAAG,CAAC,YAAY,GACxB,oBAAoB,EAAE,GACtB,KAAK,GACV,CAAC,SAAS,GAAG,CAAC,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK;IAenG;;;;;;OAMG;IACI,sBAAsB,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,EAAE,SAAS,cAAc,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;IAC7G,sBAAsB,CAC3B,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAC7B,YAAY,CAAC,EAAE,SAAS,cAAc,EAAE,GACvC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAYzB;;;;;;OAMG;IACI,sBAAsB,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO;IACzF,sBAAsB,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO;IAYhG;;;;;;OAMG;IACI,uBAAuB,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,SAAS,eAAe,EAAE,GAAG,GAAG,CAAC,SAAS;IACvG,uBAAuB,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,SAAS,eAAe,EAAE,GAAG,GAAG,CAAC,SAAS;IAY9G;;;;;;OAMG;IACI,uBAAuB,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,SAAS,eAAe,EAAE,GAAG,GAAG,CAAC,SAAS;IACvG,uBAAuB,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,SAAS,eAAe,EAAE,GAAG,GAAG,CAAC,SAAS;IAY9G;;;;;OAKG;IACI,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,SAAS;IACxD,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,SAAS;IAS/D;;;;;;OAMG;IACI,yBAAyB,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,EAAE,SAAS,YAAY,EAAE,GAAG,GAAG,CAAC,OAAO;IAC1G,yBAAyB,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,EAAE,SAAS,YAAY,EAAE,GAAG,GAAG,CAAC,OAAO;IAYjH;;;;;OAKG;IACI,oBAAoB,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM;IAM3E;;;;;OAKG;IACI,mBAAmB,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,OAAO,GAAG,WAAW;CAGhF"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB,EAAE,OAAO,CAAC;CACpC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils-test-suite.d.ts","sourceRoot":"","sources":["../src/utils-test-suite.ts"],"names":[],"mappings":"AAgDA,wBAAgB,YAAY,SAka3B"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import type { Schema } from 'ai';
|
|
2
2
|
import type { JSONSchema7 } from 'json-schema';
|
|
3
|
-
import type {
|
|
3
|
+
import type { ZodSchema as ZodSchemaV3, ZodType as ZodTypeV3 } from 'zod/v3';
|
|
4
|
+
import type { ZodType as ZodSchemaV4, ZodType as ZodTypeV4 } from 'zod/v4';
|
|
4
5
|
import type { Targets } from 'zod-to-json-schema';
|
|
5
|
-
import type { SchemaCompatLayer } from './schema-compatibility
|
|
6
|
+
import type { SchemaCompatLayer } from './schema-compatibility';
|
|
7
|
+
type ZodSchema = ZodSchemaV3 | ZodSchemaV4;
|
|
8
|
+
type ZodType = ZodTypeV3 | ZodTypeV4;
|
|
6
9
|
/**
|
|
7
10
|
* Converts a Zod schema to an AI SDK Schema with validation support.
|
|
8
11
|
*
|
|
@@ -27,6 +30,14 @@ import type { SchemaCompatLayer } from './schema-compatibility.js';
|
|
|
27
30
|
* ```
|
|
28
31
|
*/
|
|
29
32
|
export declare function convertZodSchemaToAISDKSchema(zodSchema: ZodSchema, target?: Targets): Schema<any>;
|
|
33
|
+
/**
|
|
34
|
+
* Checks if a value is a Zod type by examining its properties and methods.
|
|
35
|
+
*
|
|
36
|
+
* @param value - The value to check
|
|
37
|
+
* @returns True if the value is a Zod type, false otherwise
|
|
38
|
+
* @internal
|
|
39
|
+
*/
|
|
40
|
+
export declare function isZodType(value: unknown): value is ZodType;
|
|
30
41
|
/**
|
|
31
42
|
* Converts an AI SDK Schema or Zod schema to a Zod schema.
|
|
32
43
|
*
|
|
@@ -52,7 +63,7 @@ export declare function convertZodSchemaToAISDKSchema(zodSchema: ZodSchema, targ
|
|
|
52
63
|
* const zodSchema = convertSchemaToZod(aiSchema);
|
|
53
64
|
* ```
|
|
54
65
|
*/
|
|
55
|
-
export declare function convertSchemaToZod(schema: Schema |
|
|
66
|
+
export declare function convertSchemaToZod(schema: Schema | ZodSchema): ZodType;
|
|
56
67
|
/**
|
|
57
68
|
* Processes a schema using provider compatibility layers and converts it to an AI SDK Schema.
|
|
58
69
|
*
|
|
@@ -63,7 +74,7 @@ export declare function convertSchemaToZod(schema: Schema | z.ZodSchema): z.ZodT
|
|
|
63
74
|
* @returns Processed schema as an AI SDK Schema
|
|
64
75
|
*/
|
|
65
76
|
export declare function applyCompatLayer(options: {
|
|
66
|
-
schema: Schema |
|
|
77
|
+
schema: Schema | ZodSchema;
|
|
67
78
|
compatLayers: SchemaCompatLayer[];
|
|
68
79
|
mode: 'aiSdkSchema';
|
|
69
80
|
}): Schema;
|
|
@@ -77,8 +88,9 @@ export declare function applyCompatLayer(options: {
|
|
|
77
88
|
* @returns Processed schema as a JSONSchema7
|
|
78
89
|
*/
|
|
79
90
|
export declare function applyCompatLayer(options: {
|
|
80
|
-
schema: Schema |
|
|
91
|
+
schema: Schema | ZodSchema;
|
|
81
92
|
compatLayers: SchemaCompatLayer[];
|
|
82
93
|
mode: 'jsonSchema';
|
|
83
94
|
}): JSONSchema7;
|
|
95
|
+
export {};
|
|
84
96
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AACjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AACjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EAAE,SAAS,IAAI,WAAW,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,QAAQ,CAAC;AAI3E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAGhE,KAAK,SAAS,GAAG,WAAW,GAAG,WAAW,CAAC;AAC3C,KAAK,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAErC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,GAAE,OAAuB,eASlG;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAW1D;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAkBtE;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE;IACxC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,IAAI,EAAE,aAAa,CAAC;CACrB,GAAG,MAAM,CAAC;AAEX;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE;IACxC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,IAAI,EAAE,YAAY,CAAC;CACpB,GAAG,WAAW,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkLNR4XKDU_cjs = require('./chunk-LNR4XKDU.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "zodToJsonSchema", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () { return chunkLNR4XKDU_cjs.zodToJsonSchema; }
|
|
10
|
+
});
|
|
11
|
+
//# sourceMappingURL=zod-to-json.cjs.map
|
|
12
|
+
//# sourceMappingURL=zod-to-json.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"zod-to-json.cjs"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { JSONSchema7 } from 'json-schema';
|
|
2
|
+
import type { ZodSchema as ZodSchemaV3 } from 'zod/v3';
|
|
3
|
+
import type { ZodType as ZodSchemaV4 } from 'zod/v4';
|
|
4
|
+
import type { Targets } from 'zod-to-json-schema';
|
|
5
|
+
export declare function zodToJsonSchema(zodSchema: ZodSchemaV3 | ZodSchemaV4, target?: Targets): JSONSchema7;
|
|
6
|
+
//# sourceMappingURL=zod-to-json.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod-to-json.d.ts","sourceRoot":"","sources":["../src/zod-to-json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGlD,wBAAgB,eAAe,CAAC,SAAS,EAAE,WAAW,GAAG,WAAW,EAAE,MAAM,GAAE,OAAuB,eAmBpG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"zod-to-json.js"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { z as zV3 } from 'zod/v3';
|
|
2
|
+
import type { z as zV4 } from 'zod/v4';
|
|
3
|
+
export declare function isOptional<Z extends typeof zV3>(z: Z): (v: any) => v is zV3.ZodOptional<any>;
|
|
4
|
+
export declare function isOptional<Z extends typeof zV4>(z: Z): (v: any) => v is zV4.ZodOptional<any>;
|
|
5
|
+
export declare function isObj<Z extends typeof zV3>(z: Z): (v: any) => v is zV3.ZodObject<any>;
|
|
6
|
+
export declare function isObj<Z extends typeof zV4>(z: Z): (v: any) => v is zV4.ZodObject;
|
|
7
|
+
export declare function isNull<Z extends typeof zV3>(z: Z): (v: any) => v is zV3.ZodNull;
|
|
8
|
+
export declare function isNull<Z extends typeof zV4>(z: Z): (v: any) => v is zV4.ZodNull;
|
|
9
|
+
export declare function isArr<Z extends typeof zV3>(z: Z): (v: any) => v is zV3.ZodArray<any>;
|
|
10
|
+
export declare function isArr<Z extends typeof zV4>(z: Z): (v: any) => v is zV4.ZodArray;
|
|
11
|
+
export declare function isUnion<Z extends typeof zV3>(z: Z): (v: any) => v is zV3.ZodUnion<any>;
|
|
12
|
+
export declare function isUnion<Z extends typeof zV4>(z: Z): (v: any) => v is zV4.ZodUnion;
|
|
13
|
+
export declare function isString<Z extends typeof zV3>(z: Z): (v: any) => v is zV3.ZodString;
|
|
14
|
+
export declare function isString<Z extends typeof zV4>(z: Z): (v: any) => v is zV4.ZodString;
|
|
15
|
+
export declare function isNumber<Z extends typeof zV3>(z: Z): (v: any) => v is zV3.ZodNumber;
|
|
16
|
+
export declare function isNumber<Z extends typeof zV4>(z: Z): (v: any) => v is zV4.ZodNumber;
|
|
17
|
+
export declare function isDate<Z extends typeof zV3>(z: Z): (v: any) => v is zV3.ZodDate;
|
|
18
|
+
export declare function isDate<Z extends typeof zV4>(z: Z): (v: any) => v is zV4.ZodDate;
|
|
19
|
+
export declare function isDefault<Z extends typeof zV3>(z: Z): (v: any) => v is zV3.ZodDefault<any>;
|
|
20
|
+
export declare function isDefault<Z extends typeof zV4>(z: Z): (v: any) => v is zV4.ZodDefault;
|
|
21
|
+
//# sourceMappingURL=zodTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zodTypes.d.ts","sourceRoot":"","sources":["../src/zodTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,MAAM,QAAQ,CAAC;AAEvC,wBAAgB,UAAU,CAAC,CAAC,SAAS,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AAC9F,wBAAgB,UAAU,CAAC,CAAC,SAAS,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AAK9F,wBAAgB,KAAK,CAAC,CAAC,SAAS,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACvF,wBAAgB,KAAK,CAAC,CAAC,SAAS,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC;AAKlF,wBAAgB,MAAM,CAAC,CAAC,SAAS,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC;AACjF,wBAAgB,MAAM,CAAC,CAAC,SAAS,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC;AAKjF,wBAAgB,KAAK,CAAC,CAAC,SAAS,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACtF,wBAAgB,KAAK,CAAC,CAAC,SAAS,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC;AAKjF,wBAAgB,OAAO,CAAC,CAAC,SAAS,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACxF,wBAAgB,OAAO,CAAC,CAAC,SAAS,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC;AAKnF,wBAAgB,QAAQ,CAAC,CAAC,SAAS,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC;AACrF,wBAAgB,QAAQ,CAAC,CAAC,SAAS,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC;AAKrF,wBAAgB,QAAQ,CAAC,CAAC,SAAS,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC;AACrF,wBAAgB,QAAQ,CAAC,CAAC,SAAS,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC;AAKrF,wBAAgB,MAAM,CAAC,CAAC,SAAS,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC;AACjF,wBAAgB,MAAM,CAAC,CAAC,SAAS,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC;AAKjF,wBAAgB,SAAS,CAAC,CAAC,SAAS,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC5F,wBAAgB,SAAS,CAAC,CAAC,SAAS,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/schema-compat",
|
|
3
|
-
"version": "0.10.6-alpha.
|
|
3
|
+
"version": "0.10.6-alpha.1",
|
|
4
4
|
"description": "Tool schema compatibility layer for Mastra.ai",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -16,6 +16,16 @@
|
|
|
16
16
|
"default": "./dist/index.cjs"
|
|
17
17
|
}
|
|
18
18
|
},
|
|
19
|
+
"./zod-to-json": {
|
|
20
|
+
"import": {
|
|
21
|
+
"types": "./dist/zod-to-json.d.ts",
|
|
22
|
+
"default": "./dist/zod-to-json.js"
|
|
23
|
+
},
|
|
24
|
+
"require": {
|
|
25
|
+
"types": "./dist/zod-to-json.d.ts",
|
|
26
|
+
"default": "./dist/zod-to-json.cjs"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
19
29
|
"./package.json": "./package.json"
|
|
20
30
|
},
|
|
21
31
|
"keywords": [
|
|
@@ -29,12 +39,13 @@
|
|
|
29
39
|
"license": "Apache-2.0",
|
|
30
40
|
"dependencies": {
|
|
31
41
|
"json-schema": "^0.4.0",
|
|
32
|
-
"zod-from-json-schema": "^0.0
|
|
42
|
+
"zod-from-json-schema": "^0.5.0",
|
|
43
|
+
"zod-from-json-schema-v3": "npm:zod-from-json-schema@^0.0.5",
|
|
33
44
|
"zod-to-json-schema": "^3.24.5"
|
|
34
45
|
},
|
|
35
46
|
"peerDependencies": {
|
|
36
|
-
"ai": "^4.0.0",
|
|
37
|
-
"zod": "^3.0.0"
|
|
47
|
+
"ai": "^4.0.0 || ^5.0.0",
|
|
48
|
+
"zod": "^3.0.0 || ^4.0.0"
|
|
38
49
|
},
|
|
39
50
|
"devDependencies": {
|
|
40
51
|
"@types/json-schema": "^7.0.15",
|
|
@@ -45,8 +56,7 @@
|
|
|
45
56
|
"typescript": "^5.8.3",
|
|
46
57
|
"vitest": "^3.2.4",
|
|
47
58
|
"zod": "^3.25.67",
|
|
48
|
-
"@internal/lint": "0.0.
|
|
49
|
-
"@internal/types-builder": "0.0.1"
|
|
59
|
+
"@internal/lint": "0.0.31"
|
|
50
60
|
},
|
|
51
61
|
"scripts": {
|
|
52
62
|
"build": "tsup --silent --config tsup.config.ts",
|
package/src/index.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// Schema compatibility base class and related types
|
|
2
2
|
export {
|
|
3
|
-
SchemaCompatLayer,
|
|
4
|
-
// Constants
|
|
3
|
+
SchemaCompatLayer as SchemaCompatLayerV3,
|
|
5
4
|
ALL_STRING_CHECKS,
|
|
6
5
|
ALL_NUMBER_CHECKS,
|
|
7
6
|
ALL_ARRAY_CHECKS,
|
|
@@ -25,7 +24,9 @@ export {
|
|
|
25
24
|
isUnion,
|
|
26
25
|
isString,
|
|
27
26
|
isNumber,
|
|
28
|
-
} from './schema-compatibility';
|
|
27
|
+
} from './schema-compatibility-v3';
|
|
28
|
+
export { SchemaCompatLayer as SchemaCompatLayerV4 } from './schema-compatibility-v4';
|
|
29
|
+
export { SchemaCompatLayer } from './schema-compatibility';
|
|
29
30
|
|
|
30
31
|
// Utility functions
|
|
31
32
|
export { convertZodSchemaToAISDKSchema, applyCompatLayer, convertSchemaToZod } from './utils';
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type {
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { ZodType as ZodTypeV3, ZodObject as ZodObjectV3 } from 'zod/v3';
|
|
3
|
+
import type { ZodType as ZodTypeV4, ZodObject as ZodObjectV4 } from 'zod/v4';
|
|
3
4
|
import type { Targets } from 'zod-to-json-schema';
|
|
4
|
-
import { SchemaCompatLayer
|
|
5
|
-
import type { AllZodType } from '../schema-compatibility';
|
|
5
|
+
import { SchemaCompatLayer } from '../schema-compatibility';
|
|
6
|
+
import type { AllZodType as AllZodTypeV3 } from '../schema-compatibility-v3';
|
|
7
|
+
import type { AllZodType as AllZodTypeV4 } from '../schema-compatibility-v4';
|
|
8
|
+
import type { ModelInformation } from '../types';
|
|
9
|
+
import { isOptional, isObj, isArr, isUnion, isString } from '../zodTypes';
|
|
6
10
|
|
|
7
11
|
export class AnthropicSchemaCompatLayer extends SchemaCompatLayer {
|
|
8
|
-
constructor(model:
|
|
12
|
+
constructor(model: ModelInformation) {
|
|
9
13
|
super(model);
|
|
10
14
|
}
|
|
11
15
|
|
|
@@ -17,18 +21,27 @@ export class AnthropicSchemaCompatLayer extends SchemaCompatLayer {
|
|
|
17
21
|
return this.getModel().modelId.includes('claude');
|
|
18
22
|
}
|
|
19
23
|
|
|
20
|
-
processZodType(value:
|
|
21
|
-
|
|
22
|
-
|
|
24
|
+
processZodType(value: ZodTypeV3): ZodTypeV3;
|
|
25
|
+
processZodType(value: ZodTypeV4): ZodTypeV4;
|
|
26
|
+
processZodType(value: ZodTypeV3 | ZodTypeV4): ZodTypeV3 | ZodTypeV4 {
|
|
27
|
+
if (isOptional(z)(value)) {
|
|
28
|
+
const handleTypes: AllZodTypeV3[] | AllZodTypeV4 = [
|
|
29
|
+
'ZodObject',
|
|
30
|
+
'ZodArray',
|
|
31
|
+
'ZodUnion',
|
|
32
|
+
'ZodNever',
|
|
33
|
+
'ZodUndefined',
|
|
34
|
+
'ZodTuple',
|
|
35
|
+
];
|
|
23
36
|
if (this.getModel().modelId.includes('claude-3.5-haiku')) handleTypes.push('ZodString');
|
|
24
37
|
return this.defaultZodOptionalHandler(value, handleTypes);
|
|
25
|
-
} else if (isObj(value)) {
|
|
38
|
+
} else if (isObj(z)(value)) {
|
|
26
39
|
return this.defaultZodObjectHandler(value);
|
|
27
|
-
} else if (isArr(value)) {
|
|
40
|
+
} else if (isArr(z)(value)) {
|
|
28
41
|
return this.defaultZodArrayHandler(value, []);
|
|
29
|
-
} else if (isUnion(value)) {
|
|
42
|
+
} else if (isUnion(z)(value)) {
|
|
30
43
|
return this.defaultZodUnionHandler(value);
|
|
31
|
-
} else if (isString(value)) {
|
|
44
|
+
} else if (isString(z)(value)) {
|
|
32
45
|
// the claude-3.5-haiku model support these properties but the model doesn't respect them, but it respects them when they're
|
|
33
46
|
// added to the tool description
|
|
34
47
|
|
|
@@ -39,6 +52,10 @@ export class AnthropicSchemaCompatLayer extends SchemaCompatLayer {
|
|
|
39
52
|
}
|
|
40
53
|
}
|
|
41
54
|
|
|
42
|
-
return this.defaultUnsupportedZodTypeHandler(value
|
|
55
|
+
return this.defaultUnsupportedZodTypeHandler(value as ZodObjectV4<any> | ZodObjectV3<any>, [
|
|
56
|
+
'ZodNever',
|
|
57
|
+
'ZodTuple',
|
|
58
|
+
'ZodUndefined',
|
|
59
|
+
]);
|
|
43
60
|
}
|
|
44
61
|
}
|