@mastra/schema-compat 0.11.7-alpha.0 → 0.11.8-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/index.d.ts CHANGED
@@ -8,4 +8,5 @@ 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 ModelInformation } from './types.js';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -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"}
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,gBAAgB,EAAE,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ import { z, ZodOptional, ZodObject, ZodArray, ZodUnion, ZodString, ZodNumber, Zo
3
3
  import { jsonSchema } from 'ai';
4
4
  import { convertJsonSchemaToZod } from 'zod-from-json-schema';
5
5
  import { convertJsonSchemaToZod as convertJsonSchemaToZod$1 } from 'zod-from-json-schema-v3';
6
- 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';
6
+ 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';
7
7
 
8
8
  function convertZodSchemaToAISDKSchema(zodSchema, target = "jsonSchema7") {
9
9
  const jsonSchemaToUse = zodToJsonSchema(zodSchema, target);
@@ -84,7 +84,8 @@ var SUPPORTED_ZOD_TYPES = [
84
84
  "ZodNumber",
85
85
  "ZodDate",
86
86
  "ZodAny",
87
- "ZodDefault"
87
+ "ZodDefault",
88
+ "ZodNullable"
88
89
  ];
89
90
  var ALL_ZOD_TYPES = [...SUPPORTED_ZOD_TYPES, ...UNSUPPORTED_ZOD_TYPES];
90
91
  var SchemaCompatLayer = class {
@@ -501,7 +502,8 @@ var SUPPORTED_ZOD_TYPES2 = [
501
502
  "ZodNumber",
502
503
  "ZodDate",
503
504
  "ZodAny",
504
- "ZodDefault"
505
+ "ZodDefault",
506
+ "ZodNullable"
505
507
  ];
506
508
  var SchemaCompatLayer2 = class {
507
509
  model;
@@ -544,6 +546,12 @@ var SchemaCompatLayer2 = class {
544
546
  isNull(v) {
545
547
  return v instanceof ZodNull$1;
546
548
  }
549
+ /**
550
+ * Type guard for nullable Zod types
551
+ */
552
+ isNullable(v) {
553
+ return v instanceof ZodNullable;
554
+ }
547
555
  /**
548
556
  * Type guard for array Zod types
549
557
  */
@@ -1137,6 +1145,9 @@ function isDate(z10) {
1137
1145
  function isDefault(z10) {
1138
1146
  return (v) => v instanceof z10["ZodDefault"];
1139
1147
  }
1148
+ function isNullable(z10) {
1149
+ return (v) => v instanceof z10["ZodNullable"];
1150
+ }
1140
1151
 
1141
1152
  // src/provider-compats/anthropic.ts
1142
1153
  var AnthropicSchemaCompatLayer = class extends SchemaCompatLayer3 {
@@ -1277,15 +1288,30 @@ var OpenAISchemaCompatLayer = class extends SchemaCompatLayer3 {
1277
1288
  }
1278
1289
  processZodType(value) {
1279
1290
  if (isOptional2(z)(value)) {
1280
- return this.defaultZodOptionalHandler(value, [
1281
- "ZodObject",
1282
- "ZodArray",
1283
- "ZodUnion",
1284
- "ZodString",
1285
- "ZodNever",
1286
- "ZodUndefined",
1287
- "ZodTuple"
1288
- ]);
1291
+ const innerType = "_def" in value ? value._def.innerType : value._zod?.def?.innerType;
1292
+ if (innerType) {
1293
+ if (isNullable(z)(innerType)) {
1294
+ const processed = this.processZodType(innerType);
1295
+ return processed.transform((val) => val === null ? void 0 : val);
1296
+ }
1297
+ const processedInner = this.processZodType(innerType);
1298
+ return processedInner.nullable().transform((val) => val === null ? void 0 : val);
1299
+ }
1300
+ return value;
1301
+ } else if (isNullable(z)(value)) {
1302
+ const innerType = "_def" in value ? value._def.innerType : value._zod?.def?.innerType;
1303
+ if (innerType) {
1304
+ if (isOptional2(z)(innerType)) {
1305
+ const innerInnerType = "_def" in innerType ? innerType._def.innerType : innerType._zod?.def?.innerType;
1306
+ if (innerInnerType) {
1307
+ const processedInnerInner = this.processZodType(innerInnerType);
1308
+ return processedInnerInner.nullable().transform((val) => val === null ? void 0 : val);
1309
+ }
1310
+ }
1311
+ const processedInner = this.processZodType(innerType);
1312
+ return processedInner.nullable();
1313
+ }
1314
+ return value;
1289
1315
  } else if (isObj2(z)(value)) {
1290
1316
  return this.defaultZodObjectHandler(value);
1291
1317
  } else if (isUnion2(z)(value)) {
@@ -1325,8 +1351,30 @@ var OpenAIReasoningSchemaCompatLayer = class extends SchemaCompatLayer3 {
1325
1351
  }
1326
1352
  processZodType(value) {
1327
1353
  if (isOptional2(z)(value)) {
1328
- const innerZodType = this.processZodType(value._def.innerType);
1329
- return innerZodType.nullable();
1354
+ const innerType = "_def" in value ? value._def.innerType : value._zod?.def?.innerType;
1355
+ if (innerType) {
1356
+ if (isNullable(z)(innerType)) {
1357
+ const processed = this.processZodType(innerType);
1358
+ return processed.transform((val) => val === null ? void 0 : val);
1359
+ }
1360
+ const processedInner = this.processZodType(innerType);
1361
+ return processedInner.nullable().transform((val) => val === null ? void 0 : val);
1362
+ }
1363
+ return value;
1364
+ } else if (isNullable(z)(value)) {
1365
+ const innerType = "_def" in value ? value._def.innerType : value._zod?.def?.innerType;
1366
+ if (innerType && isOptional2(z)(innerType)) {
1367
+ const innerInnerType = "_def" in innerType ? innerType._def.innerType : innerType._zod?.def?.innerType;
1368
+ if (innerInnerType) {
1369
+ const processedInnerInner = this.processZodType(innerInnerType);
1370
+ return processedInnerInner.nullable().transform((val) => val === null ? void 0 : val);
1371
+ }
1372
+ }
1373
+ if (innerType) {
1374
+ const processedInner = this.processZodType(innerType);
1375
+ return processedInner.nullable();
1376
+ }
1377
+ return value;
1330
1378
  } else if (isObj2(z)(value)) {
1331
1379
  return this.defaultZodObjectHandler(value, { passthrough: false });
1332
1380
  } else if (isArr2(z)(value)) {