@mastra/schema-compat 1.0.0-beta.0 → 1.0.0-beta.2
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 +42 -0
- package/dist/index.cjs +62 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +63 -15
- package/dist/index.js.map +1 -1
- package/dist/json-to-zod.cjs +268 -0
- package/dist/json-to-zod.cjs.map +1 -0
- package/dist/json-to-zod.d.ts +4 -0
- package/dist/json-to-zod.d.ts.map +1 -0
- package/dist/json-to-zod.js +257 -0
- package/dist/json-to-zod.js.map +1 -0
- package/dist/provider-compats/openai-reasoning.d.ts.map +1 -1
- package/dist/provider-compats/openai.d.ts.map +1 -1
- package/dist/schema-compatibility-v3.d.ts +4 -3
- package/dist/schema-compatibility-v3.d.ts.map +1 -1
- package/dist/schema-compatibility-v4.d.ts +7 -3
- package/dist/schema-compatibility-v4.d.ts.map +1 -1
- package/dist/zodTypes.d.ts +2 -0
- package/dist/zodTypes.d.ts.map +1 -1
- package/package.json +16 -3
package/dist/index.d.ts
CHANGED
|
@@ -8,6 +8,6 @@ export { GoogleSchemaCompatLayer } from './provider-compats/google.js';
|
|
|
8
8
|
export { MetaSchemaCompatLayer } from './provider-compats/meta.js';
|
|
9
9
|
export { OpenAISchemaCompatLayer } from './provider-compats/openai.js';
|
|
10
10
|
export { OpenAIReasoningSchemaCompatLayer } from './provider-compats/openai-reasoning.js';
|
|
11
|
-
export { type Schema } from './types.js';
|
|
11
|
+
export { type Schema, type ModelInformation } from './types.js';
|
|
12
12
|
export { type JSONSchema7, jsonSchema } from './json-schema.js';
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,IAAI,mBAAmB,EACxC,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EAEb,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,UAAU,EAEf,UAAU,EACV,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,GACT,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,IAAI,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EAAE,6BAA6B,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG9F,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,gCAAgC,EAAE,MAAM,qCAAqC,CAAC;AAEvF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,IAAI,mBAAmB,EACxC,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EAEb,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,UAAU,EAEf,UAAU,EACV,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,GACT,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,IAAI,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EAAE,6BAA6B,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG9F,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,gCAAgC,EAAE,MAAM,qCAAqC,CAAC;AAEvF,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,KAAK,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { zodToJsonSchema } from './chunk-U2HXWNAF.js';
|
|
|
2
2
|
import { z, ZodOptional, ZodObject, ZodArray, ZodUnion, ZodString, ZodNumber, ZodNull, ZodDate, ZodDefault, ZodFirstPartyTypeKind } from 'zod';
|
|
3
3
|
import { convertJsonSchemaToZod } from 'zod-from-json-schema';
|
|
4
4
|
import { convertJsonSchemaToZod as convertJsonSchemaToZod$1 } from 'zod-from-json-schema-v3';
|
|
5
|
-
import { ZodOptional as ZodOptional$1, ZodObject as ZodObject$1, ZodNull as ZodNull$1, ZodArray as ZodArray$1, ZodUnion as ZodUnion$1, ZodString as ZodString$1, ZodNumber as ZodNumber$1, ZodDate as ZodDate$1, ZodDefault as ZodDefault$1, z as z$1 } from 'zod/v4';
|
|
5
|
+
import { ZodOptional as ZodOptional$1, ZodObject as ZodObject$1, ZodNull as ZodNull$1, ZodNullable, ZodArray as ZodArray$1, ZodUnion as ZodUnion$1, ZodString as ZodString$1, ZodNumber as ZodNumber$1, ZodDate as ZodDate$1, ZodDefault as ZodDefault$1, z as z$1 } from 'zod/v4';
|
|
6
6
|
|
|
7
7
|
// ../_ai-sdk-v4/dist/chunk-EDUQOWHB.js
|
|
8
8
|
var __create = Object.create;
|
|
@@ -3644,7 +3644,8 @@ var SUPPORTED_ZOD_TYPES = [
|
|
|
3644
3644
|
"ZodNumber",
|
|
3645
3645
|
"ZodDate",
|
|
3646
3646
|
"ZodAny",
|
|
3647
|
-
"ZodDefault"
|
|
3647
|
+
"ZodDefault",
|
|
3648
|
+
"ZodNullable"
|
|
3648
3649
|
];
|
|
3649
3650
|
var ALL_ZOD_TYPES = [...SUPPORTED_ZOD_TYPES, ...UNSUPPORTED_ZOD_TYPES];
|
|
3650
3651
|
var SchemaCompatLayer = class {
|
|
@@ -4061,7 +4062,8 @@ var SUPPORTED_ZOD_TYPES2 = [
|
|
|
4061
4062
|
"ZodNumber",
|
|
4062
4063
|
"ZodDate",
|
|
4063
4064
|
"ZodAny",
|
|
4064
|
-
"ZodDefault"
|
|
4065
|
+
"ZodDefault",
|
|
4066
|
+
"ZodNullable"
|
|
4065
4067
|
];
|
|
4066
4068
|
var SchemaCompatLayer2 = class {
|
|
4067
4069
|
model;
|
|
@@ -4104,6 +4106,12 @@ var SchemaCompatLayer2 = class {
|
|
|
4104
4106
|
isNull(v) {
|
|
4105
4107
|
return v instanceof ZodNull$1;
|
|
4106
4108
|
}
|
|
4109
|
+
/**
|
|
4110
|
+
* Type guard for nullable Zod types
|
|
4111
|
+
*/
|
|
4112
|
+
isNullable(v) {
|
|
4113
|
+
return v instanceof ZodNullable;
|
|
4114
|
+
}
|
|
4107
4115
|
/**
|
|
4108
4116
|
* Type guard for array Zod types
|
|
4109
4117
|
*/
|
|
@@ -4697,6 +4705,9 @@ function isDate(z11) {
|
|
|
4697
4705
|
function isDefault(z11) {
|
|
4698
4706
|
return (v) => v instanceof z11["ZodDefault"];
|
|
4699
4707
|
}
|
|
4708
|
+
function isNullable(z11) {
|
|
4709
|
+
return (v) => v instanceof z11["ZodNullable"];
|
|
4710
|
+
}
|
|
4700
4711
|
|
|
4701
4712
|
// src/provider-compats/anthropic.ts
|
|
4702
4713
|
var AnthropicSchemaCompatLayer = class extends SchemaCompatLayer3 {
|
|
@@ -4837,15 +4848,30 @@ var OpenAISchemaCompatLayer = class extends SchemaCompatLayer3 {
|
|
|
4837
4848
|
}
|
|
4838
4849
|
processZodType(value) {
|
|
4839
4850
|
if (isOptional2(z)(value)) {
|
|
4840
|
-
|
|
4841
|
-
|
|
4842
|
-
|
|
4843
|
-
|
|
4844
|
-
|
|
4845
|
-
|
|
4846
|
-
|
|
4847
|
-
|
|
4848
|
-
|
|
4851
|
+
const innerType = "_def" in value ? value._def.innerType : value._zod?.def?.innerType;
|
|
4852
|
+
if (innerType) {
|
|
4853
|
+
if (isNullable(z)(innerType)) {
|
|
4854
|
+
const processed = this.processZodType(innerType);
|
|
4855
|
+
return processed.transform((val) => val === null ? void 0 : val);
|
|
4856
|
+
}
|
|
4857
|
+
const processedInner = this.processZodType(innerType);
|
|
4858
|
+
return processedInner.nullable().transform((val) => val === null ? void 0 : val);
|
|
4859
|
+
}
|
|
4860
|
+
return value;
|
|
4861
|
+
} else if (isNullable(z)(value)) {
|
|
4862
|
+
const innerType = "_def" in value ? value._def.innerType : value._zod?.def?.innerType;
|
|
4863
|
+
if (innerType) {
|
|
4864
|
+
if (isOptional2(z)(innerType)) {
|
|
4865
|
+
const innerInnerType = "_def" in innerType ? innerType._def.innerType : innerType._zod?.def?.innerType;
|
|
4866
|
+
if (innerInnerType) {
|
|
4867
|
+
const processedInnerInner = this.processZodType(innerInnerType);
|
|
4868
|
+
return processedInnerInner.nullable().transform((val) => val === null ? void 0 : val);
|
|
4869
|
+
}
|
|
4870
|
+
}
|
|
4871
|
+
const processedInner = this.processZodType(innerType);
|
|
4872
|
+
return processedInner.nullable();
|
|
4873
|
+
}
|
|
4874
|
+
return value;
|
|
4849
4875
|
} else if (isObj2(z)(value)) {
|
|
4850
4876
|
return this.defaultZodObjectHandler(value);
|
|
4851
4877
|
} else if (isUnion2(z)(value)) {
|
|
@@ -4878,15 +4904,37 @@ var OpenAIReasoningSchemaCompatLayer = class extends SchemaCompatLayer3 {
|
|
|
4878
4904
|
return this.getModel().modelId.includes(`o3`) || this.getModel().modelId.includes(`o4`) || this.getModel().modelId.includes(`o1`);
|
|
4879
4905
|
}
|
|
4880
4906
|
shouldApply() {
|
|
4881
|
-
if (
|
|
4907
|
+
if (this.isReasoningModel() && (this.getModel().provider.includes(`openai`) || this.getModel().modelId.includes(`openai`))) {
|
|
4882
4908
|
return true;
|
|
4883
4909
|
}
|
|
4884
4910
|
return false;
|
|
4885
4911
|
}
|
|
4886
4912
|
processZodType(value) {
|
|
4887
4913
|
if (isOptional2(z)(value)) {
|
|
4888
|
-
const
|
|
4889
|
-
|
|
4914
|
+
const innerType = "_def" in value ? value._def.innerType : value._zod?.def?.innerType;
|
|
4915
|
+
if (innerType) {
|
|
4916
|
+
if (isNullable(z)(innerType)) {
|
|
4917
|
+
const processed = this.processZodType(innerType);
|
|
4918
|
+
return processed.transform((val) => val === null ? void 0 : val);
|
|
4919
|
+
}
|
|
4920
|
+
const processedInner = this.processZodType(innerType);
|
|
4921
|
+
return processedInner.nullable().transform((val) => val === null ? void 0 : val);
|
|
4922
|
+
}
|
|
4923
|
+
return value;
|
|
4924
|
+
} else if (isNullable(z)(value)) {
|
|
4925
|
+
const innerType = "_def" in value ? value._def.innerType : value._zod?.def?.innerType;
|
|
4926
|
+
if (innerType && isOptional2(z)(innerType)) {
|
|
4927
|
+
const innerInnerType = "_def" in innerType ? innerType._def.innerType : innerType._zod?.def?.innerType;
|
|
4928
|
+
if (innerInnerType) {
|
|
4929
|
+
const processedInnerInner = this.processZodType(innerInnerType);
|
|
4930
|
+
return processedInnerInner.nullable().transform((val) => val === null ? void 0 : val);
|
|
4931
|
+
}
|
|
4932
|
+
}
|
|
4933
|
+
if (innerType) {
|
|
4934
|
+
const processedInner = this.processZodType(innerType);
|
|
4935
|
+
return processedInner.nullable();
|
|
4936
|
+
}
|
|
4937
|
+
return value;
|
|
4890
4938
|
} else if (isObj2(z)(value)) {
|
|
4891
4939
|
return this.defaultZodObjectHandler(value, { passthrough: false });
|
|
4892
4940
|
} else if (isArr2(z)(value)) {
|