@ai-sdk/provider-utils 4.0.0-beta.13 → 4.0.0-beta.15

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 CHANGED
@@ -1,5 +1,17 @@
1
1
  # @ai-sdk/provider-utils
2
2
 
3
+ ## 4.0.0-beta.15
4
+
5
+ ### Patch Changes
6
+
7
+ - f0b2157: fix: revert zod import change
8
+
9
+ ## 4.0.0-beta.14
10
+
11
+ ### Patch Changes
12
+
13
+ - 3b1d015: feat(ai): Effect schema support
14
+
3
15
  ## 4.0.0-beta.13
4
16
 
5
17
  ### Patch Changes
package/dist/index.js CHANGED
@@ -285,7 +285,7 @@ function withUserAgentSuffix(headers, ...userAgentSuffixParts) {
285
285
  }
286
286
 
287
287
  // src/version.ts
288
- var VERSION = true ? "4.0.0-beta.13" : "0.0.0-test";
288
+ var VERSION = true ? "4.0.0-beta.15" : "0.0.0-test";
289
289
 
290
290
  // src/get-from-api.ts
291
291
  var getOriginalFetch = () => globalThis.fetch;
@@ -1088,26 +1088,27 @@ var arktypeToJsonSchema = async (schema) => {
1088
1088
  return schema.toJsonSchema();
1089
1089
  };
1090
1090
 
1091
+ // src/to-json-schema/effect-to-json-schema.ts
1092
+ var effectToJsonSchema = async (schema) => {
1093
+ try {
1094
+ const { JSONSchema } = await import("effect");
1095
+ return JSONSchema.make(schema);
1096
+ } catch (e) {
1097
+ throw new Error(`Failed to import module 'effect'`);
1098
+ }
1099
+ };
1100
+
1091
1101
  // src/to-json-schema/valibot-to-json-schema.ts
1092
1102
  var valibotToJsonSchema = async (schema) => {
1093
1103
  try {
1094
1104
  const { toJsonSchema } = await import("@valibot/to-json-schema");
1095
1105
  return toJsonSchema(schema);
1096
1106
  } catch (e) {
1097
- throw new Error(`Failed to import @valibot/to-json-schema`);
1107
+ throw new Error(`Failed to import module '@valibot/to-json-schema'`);
1098
1108
  }
1099
1109
  };
1100
1110
 
1101
- // src/zod-to-json-schema/get-relative-path.ts
1102
- var getRelativePath = (pathA, pathB) => {
1103
- let i = 0;
1104
- for (; i < pathA.length && i < pathB.length; i++) {
1105
- if (pathA[i] !== pathB[i]) break;
1106
- }
1107
- return [(pathA.length - i).toString(), ...pathB.slice(i)].join("/");
1108
- };
1109
-
1110
- // src/zod-to-json-schema/options.ts
1111
+ // src/to-json-schema/zod3-to-json-schema/options.ts
1111
1112
  var ignoreOverride = Symbol(
1112
1113
  "Let zodToJsonSchema decide on which parser to use"
1113
1114
  );
@@ -1140,15 +1141,15 @@ var getDefaultOptions = (options) => typeof options === "string" ? {
1140
1141
  ...options
1141
1142
  };
1142
1143
 
1143
- // src/zod-to-json-schema/select-parser.ts
1144
+ // src/to-json-schema/zod3-to-json-schema/select-parser.ts
1144
1145
  var import_v33 = require("zod/v3");
1145
1146
 
1146
- // src/zod-to-json-schema/parsers/any.ts
1147
+ // src/to-json-schema/zod3-to-json-schema/parsers/any.ts
1147
1148
  function parseAnyDef() {
1148
1149
  return {};
1149
1150
  }
1150
1151
 
1151
- // src/zod-to-json-schema/parsers/array.ts
1152
+ // src/to-json-schema/zod3-to-json-schema/parsers/array.ts
1152
1153
  var import_v3 = require("zod/v3");
1153
1154
  function parseArrayDef(def, refs) {
1154
1155
  var _a, _b, _c;
@@ -1174,7 +1175,7 @@ function parseArrayDef(def, refs) {
1174
1175
  return res;
1175
1176
  }
1176
1177
 
1177
- // src/zod-to-json-schema/parsers/bigint.ts
1178
+ // src/to-json-schema/zod3-to-json-schema/parsers/bigint.ts
1178
1179
  function parseBigintDef(def) {
1179
1180
  const res = {
1180
1181
  type: "integer",
@@ -1205,22 +1206,22 @@ function parseBigintDef(def) {
1205
1206
  return res;
1206
1207
  }
1207
1208
 
1208
- // src/zod-to-json-schema/parsers/boolean.ts
1209
+ // src/to-json-schema/zod3-to-json-schema/parsers/boolean.ts
1209
1210
  function parseBooleanDef() {
1210
1211
  return { type: "boolean" };
1211
1212
  }
1212
1213
 
1213
- // src/zod-to-json-schema/parsers/branded.ts
1214
+ // src/to-json-schema/zod3-to-json-schema/parsers/branded.ts
1214
1215
  function parseBrandedDef(_def, refs) {
1215
1216
  return parseDef(_def.type._def, refs);
1216
1217
  }
1217
1218
 
1218
- // src/zod-to-json-schema/parsers/catch.ts
1219
+ // src/to-json-schema/zod3-to-json-schema/parsers/catch.ts
1219
1220
  var parseCatchDef = (def, refs) => {
1220
1221
  return parseDef(def.innerType._def, refs);
1221
1222
  };
1222
1223
 
1223
- // src/zod-to-json-schema/parsers/date.ts
1224
+ // src/to-json-schema/zod3-to-json-schema/parsers/date.ts
1224
1225
  function parseDateDef(def, refs, overrideDateStrategy) {
1225
1226
  const strategy = overrideDateStrategy != null ? overrideDateStrategy : refs.dateStrategy;
1226
1227
  if (Array.isArray(strategy)) {
@@ -1262,7 +1263,7 @@ var integerDateParser = (def) => {
1262
1263
  return res;
1263
1264
  };
1264
1265
 
1265
- // src/zod-to-json-schema/parsers/default.ts
1266
+ // src/to-json-schema/zod3-to-json-schema/parsers/default.ts
1266
1267
  function parseDefaultDef(_def, refs) {
1267
1268
  return {
1268
1269
  ...parseDef(_def.innerType._def, refs),
@@ -1270,12 +1271,12 @@ function parseDefaultDef(_def, refs) {
1270
1271
  };
1271
1272
  }
1272
1273
 
1273
- // src/zod-to-json-schema/parsers/effects.ts
1274
+ // src/to-json-schema/zod3-to-json-schema/parsers/effects.ts
1274
1275
  function parseEffectsDef(_def, refs) {
1275
1276
  return refs.effectStrategy === "input" ? parseDef(_def.schema._def, refs) : parseAnyDef();
1276
1277
  }
1277
1278
 
1278
- // src/zod-to-json-schema/parsers/enum.ts
1279
+ // src/to-json-schema/zod3-to-json-schema/parsers/enum.ts
1279
1280
  function parseEnumDef(def) {
1280
1281
  return {
1281
1282
  type: "string",
@@ -1283,7 +1284,7 @@ function parseEnumDef(def) {
1283
1284
  };
1284
1285
  }
1285
1286
 
1286
- // src/zod-to-json-schema/parsers/intersection.ts
1287
+ // src/to-json-schema/zod3-to-json-schema/parsers/intersection.ts
1287
1288
  var isJsonSchema7AllOfType = (type) => {
1288
1289
  if ("type" in type && type.type === "string") return false;
1289
1290
  return "allOf" in type;
@@ -1315,7 +1316,7 @@ function parseIntersectionDef(def, refs) {
1315
1316
  return mergedAllOf.length ? { allOf: mergedAllOf } : void 0;
1316
1317
  }
1317
1318
 
1318
- // src/zod-to-json-schema/parsers/literal.ts
1319
+ // src/to-json-schema/zod3-to-json-schema/parsers/literal.ts
1319
1320
  function parseLiteralDef(def) {
1320
1321
  const parsedType = typeof def.value;
1321
1322
  if (parsedType !== "bigint" && parsedType !== "number" && parsedType !== "boolean" && parsedType !== "string") {
@@ -1329,10 +1330,10 @@ function parseLiteralDef(def) {
1329
1330
  };
1330
1331
  }
1331
1332
 
1332
- // src/zod-to-json-schema/parsers/record.ts
1333
+ // src/to-json-schema/zod3-to-json-schema/parsers/record.ts
1333
1334
  var import_v32 = require("zod/v3");
1334
1335
 
1335
- // src/zod-to-json-schema/parsers/string.ts
1336
+ // src/to-json-schema/zod3-to-json-schema/parsers/string.ts
1336
1337
  var emojiRegex = void 0;
1337
1338
  var zodPatterns = {
1338
1339
  /**
@@ -1668,7 +1669,7 @@ function stringifyRegExpWithFlags(regex, refs) {
1668
1669
  return pattern;
1669
1670
  }
1670
1671
 
1671
- // src/zod-to-json-schema/parsers/record.ts
1672
+ // src/to-json-schema/zod3-to-json-schema/parsers/record.ts
1672
1673
  function parseRecordDef(def, refs) {
1673
1674
  var _a, _b, _c, _d, _e, _f;
1674
1675
  const schema = {
@@ -1704,7 +1705,7 @@ function parseRecordDef(def, refs) {
1704
1705
  return schema;
1705
1706
  }
1706
1707
 
1707
- // src/zod-to-json-schema/parsers/map.ts
1708
+ // src/to-json-schema/zod3-to-json-schema/parsers/map.ts
1708
1709
  function parseMapDef(def, refs) {
1709
1710
  if (refs.mapStrategy === "record") {
1710
1711
  return parseRecordDef(def, refs);
@@ -1729,7 +1730,7 @@ function parseMapDef(def, refs) {
1729
1730
  };
1730
1731
  }
1731
1732
 
1732
- // src/zod-to-json-schema/parsers/native-enum.ts
1733
+ // src/to-json-schema/zod3-to-json-schema/parsers/native-enum.ts
1733
1734
  function parseNativeEnumDef(def) {
1734
1735
  const object = def.values;
1735
1736
  const actualKeys = Object.keys(def.values).filter((key) => {
@@ -1745,19 +1746,19 @@ function parseNativeEnumDef(def) {
1745
1746
  };
1746
1747
  }
1747
1748
 
1748
- // src/zod-to-json-schema/parsers/never.ts
1749
+ // src/to-json-schema/zod3-to-json-schema/parsers/never.ts
1749
1750
  function parseNeverDef() {
1750
1751
  return { not: parseAnyDef() };
1751
1752
  }
1752
1753
 
1753
- // src/zod-to-json-schema/parsers/null.ts
1754
+ // src/to-json-schema/zod3-to-json-schema/parsers/null.ts
1754
1755
  function parseNullDef() {
1755
1756
  return {
1756
1757
  type: "null"
1757
1758
  };
1758
1759
  }
1759
1760
 
1760
- // src/zod-to-json-schema/parsers/union.ts
1761
+ // src/to-json-schema/zod3-to-json-schema/parsers/union.ts
1761
1762
  var primitiveMappings = {
1762
1763
  ZodString: "string",
1763
1764
  ZodNumber: "number",
@@ -1837,7 +1838,7 @@ var asAnyOf = (def, refs) => {
1837
1838
  return anyOf.length ? { anyOf } : void 0;
1838
1839
  };
1839
1840
 
1840
- // src/zod-to-json-schema/parsers/nullable.ts
1841
+ // src/to-json-schema/zod3-to-json-schema/parsers/nullable.ts
1841
1842
  function parseNullableDef(def, refs) {
1842
1843
  if (["ZodString", "ZodNumber", "ZodBigInt", "ZodBoolean", "ZodNull"].includes(
1843
1844
  def.innerType._def.typeName
@@ -1856,7 +1857,7 @@ function parseNullableDef(def, refs) {
1856
1857
  return base && { anyOf: [base, { type: "null" }] };
1857
1858
  }
1858
1859
 
1859
- // src/zod-to-json-schema/parsers/number.ts
1860
+ // src/to-json-schema/zod3-to-json-schema/parsers/number.ts
1860
1861
  function parseNumberDef(def) {
1861
1862
  const res = {
1862
1863
  type: "number"
@@ -1889,7 +1890,7 @@ function parseNumberDef(def) {
1889
1890
  return res;
1890
1891
  }
1891
1892
 
1892
- // src/zod-to-json-schema/parsers/object.ts
1893
+ // src/to-json-schema/zod3-to-json-schema/parsers/object.ts
1893
1894
  function parseObjectDef(def, refs) {
1894
1895
  const result = {
1895
1896
  type: "object",
@@ -1949,7 +1950,7 @@ function safeIsOptional(schema) {
1949
1950
  }
1950
1951
  }
1951
1952
 
1952
- // src/zod-to-json-schema/parsers/optional.ts
1953
+ // src/to-json-schema/zod3-to-json-schema/parsers/optional.ts
1953
1954
  var parseOptionalDef = (def, refs) => {
1954
1955
  var _a;
1955
1956
  if (refs.currentPath.toString() === ((_a = refs.propertyPath) == null ? void 0 : _a.toString())) {
@@ -1962,7 +1963,7 @@ var parseOptionalDef = (def, refs) => {
1962
1963
  return innerSchema ? { anyOf: [{ not: parseAnyDef() }, innerSchema] } : parseAnyDef();
1963
1964
  };
1964
1965
 
1965
- // src/zod-to-json-schema/parsers/pipeline.ts
1966
+ // src/to-json-schema/zod3-to-json-schema/parsers/pipeline.ts
1966
1967
  var parsePipelineDef = (def, refs) => {
1967
1968
  if (refs.pipeStrategy === "input") {
1968
1969
  return parseDef(def.in._def, refs);
@@ -1982,12 +1983,12 @@ var parsePipelineDef = (def, refs) => {
1982
1983
  };
1983
1984
  };
1984
1985
 
1985
- // src/zod-to-json-schema/parsers/promise.ts
1986
+ // src/to-json-schema/zod3-to-json-schema/parsers/promise.ts
1986
1987
  function parsePromiseDef(def, refs) {
1987
1988
  return parseDef(def.type._def, refs);
1988
1989
  }
1989
1990
 
1990
- // src/zod-to-json-schema/parsers/set.ts
1991
+ // src/to-json-schema/zod3-to-json-schema/parsers/set.ts
1991
1992
  function parseSetDef(def, refs) {
1992
1993
  const items = parseDef(def.valueType._def, {
1993
1994
  ...refs,
@@ -2007,7 +2008,7 @@ function parseSetDef(def, refs) {
2007
2008
  return schema;
2008
2009
  }
2009
2010
 
2010
- // src/zod-to-json-schema/parsers/tuple.ts
2011
+ // src/to-json-schema/zod3-to-json-schema/parsers/tuple.ts
2011
2012
  function parseTupleDef(def, refs) {
2012
2013
  if (def.rest) {
2013
2014
  return {
@@ -2045,24 +2046,24 @@ function parseTupleDef(def, refs) {
2045
2046
  }
2046
2047
  }
2047
2048
 
2048
- // src/zod-to-json-schema/parsers/undefined.ts
2049
+ // src/to-json-schema/zod3-to-json-schema/parsers/undefined.ts
2049
2050
  function parseUndefinedDef() {
2050
2051
  return {
2051
2052
  not: parseAnyDef()
2052
2053
  };
2053
2054
  }
2054
2055
 
2055
- // src/zod-to-json-schema/parsers/unknown.ts
2056
+ // src/to-json-schema/zod3-to-json-schema/parsers/unknown.ts
2056
2057
  function parseUnknownDef() {
2057
2058
  return parseAnyDef();
2058
2059
  }
2059
2060
 
2060
- // src/zod-to-json-schema/parsers/readonly.ts
2061
+ // src/to-json-schema/zod3-to-json-schema/parsers/readonly.ts
2061
2062
  var parseReadonlyDef = (def, refs) => {
2062
2063
  return parseDef(def.innerType._def, refs);
2063
2064
  };
2064
2065
 
2065
- // src/zod-to-json-schema/select-parser.ts
2066
+ // src/to-json-schema/zod3-to-json-schema/select-parser.ts
2066
2067
  var selectParser = (def, typeName, refs) => {
2067
2068
  switch (typeName) {
2068
2069
  case import_v33.ZodFirstPartyTypeKind.ZodString:
@@ -2138,7 +2139,16 @@ var selectParser = (def, typeName, refs) => {
2138
2139
  }
2139
2140
  };
2140
2141
 
2141
- // src/zod-to-json-schema/parse-def.ts
2142
+ // src/to-json-schema/zod3-to-json-schema/get-relative-path.ts
2143
+ var getRelativePath = (pathA, pathB) => {
2144
+ let i = 0;
2145
+ for (; i < pathA.length && i < pathB.length; i++) {
2146
+ if (pathA[i] !== pathB[i]) break;
2147
+ }
2148
+ return [(pathA.length - i).toString(), ...pathB.slice(i)].join("/");
2149
+ };
2150
+
2151
+ // src/to-json-schema/zod3-to-json-schema/parse-def.ts
2142
2152
  function parseDef(def, refs, forceResolution = false) {
2143
2153
  var _a;
2144
2154
  const seenItem = refs.seen.get(def);
@@ -2202,7 +2212,7 @@ var addMeta = (def, refs, jsonSchema2) => {
2202
2212
  return jsonSchema2;
2203
2213
  };
2204
2214
 
2205
- // src/zod-to-json-schema/refs.ts
2215
+ // src/to-json-schema/zod3-to-json-schema/refs.ts
2206
2216
  var getRefs = (options) => {
2207
2217
  const _options = getDefaultOptions(options);
2208
2218
  const currentPath = _options.name !== void 0 ? [..._options.basePath, _options.definitionPath, _options.name] : _options.basePath;
@@ -2224,8 +2234,8 @@ var getRefs = (options) => {
2224
2234
  };
2225
2235
  };
2226
2236
 
2227
- // src/zod-to-json-schema/zod-to-json-schema.ts
2228
- var zodToJsonSchema = (schema, options) => {
2237
+ // src/to-json-schema/zod3-to-json-schema/zod3-to-json-schema.ts
2238
+ var zod3ToJsonSchema = (schema, options) => {
2229
2239
  var _a;
2230
2240
  const refs = getRefs(options);
2231
2241
  let definitions = typeof options === "object" && options.definitions ? Object.entries(options.definitions).reduce(
@@ -2276,9 +2286,6 @@ var zodToJsonSchema = (schema, options) => {
2276
2286
  return combined;
2277
2287
  };
2278
2288
 
2279
- // src/zod-to-json-schema/index.ts
2280
- var zod_to_json_schema_default = zodToJsonSchema;
2281
-
2282
2289
  // src/schema.ts
2283
2290
  var schemaSymbol = Symbol.for("vercel.ai.schema");
2284
2291
  function lazySchema(createSchema) {
@@ -2330,6 +2337,12 @@ function standardSchema(standardSchema2) {
2330
2337
  arktypeToJsonSchema
2331
2338
  );
2332
2339
  }
2340
+ case "effect": {
2341
+ return standardSchemaWithJsonSchemaResolver(
2342
+ standardSchema2,
2343
+ effectToJsonSchema
2344
+ );
2345
+ }
2333
2346
  case "valibot": {
2334
2347
  return standardSchemaWithJsonSchemaResolver(
2335
2348
  standardSchema2,
@@ -2362,7 +2375,7 @@ function zod3Schema(zodSchema2, options) {
2362
2375
  const useReferences = (_a = options == null ? void 0 : options.useReferences) != null ? _a : false;
2363
2376
  return jsonSchema(
2364
2377
  // defer json schema creation to avoid unnecessary computation when only validation is needed
2365
- () => zod_to_json_schema_default(zodSchema2, {
2378
+ () => zod3ToJsonSchema(zodSchema2, {
2366
2379
  $refStrategy: useReferences ? "root" : "none"
2367
2380
  }),
2368
2381
  {