@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/dist/index.mjs CHANGED
@@ -194,7 +194,7 @@ function withUserAgentSuffix(headers, ...userAgentSuffixParts) {
194
194
  }
195
195
 
196
196
  // src/version.ts
197
- var VERSION = true ? "4.0.0-beta.13" : "0.0.0-test";
197
+ var VERSION = true ? "4.0.0-beta.15" : "0.0.0-test";
198
198
 
199
199
  // src/get-from-api.ts
200
200
  var getOriginalFetch = () => globalThis.fetch;
@@ -1002,26 +1002,27 @@ var arktypeToJsonSchema = async (schema) => {
1002
1002
  return schema.toJsonSchema();
1003
1003
  };
1004
1004
 
1005
+ // src/to-json-schema/effect-to-json-schema.ts
1006
+ var effectToJsonSchema = async (schema) => {
1007
+ try {
1008
+ const { JSONSchema } = await import("effect");
1009
+ return JSONSchema.make(schema);
1010
+ } catch (e) {
1011
+ throw new Error(`Failed to import module 'effect'`);
1012
+ }
1013
+ };
1014
+
1005
1015
  // src/to-json-schema/valibot-to-json-schema.ts
1006
1016
  var valibotToJsonSchema = async (schema) => {
1007
1017
  try {
1008
1018
  const { toJsonSchema } = await import("@valibot/to-json-schema");
1009
1019
  return toJsonSchema(schema);
1010
1020
  } catch (e) {
1011
- throw new Error(`Failed to import @valibot/to-json-schema`);
1021
+ throw new Error(`Failed to import module '@valibot/to-json-schema'`);
1012
1022
  }
1013
1023
  };
1014
1024
 
1015
- // src/zod-to-json-schema/get-relative-path.ts
1016
- var getRelativePath = (pathA, pathB) => {
1017
- let i = 0;
1018
- for (; i < pathA.length && i < pathB.length; i++) {
1019
- if (pathA[i] !== pathB[i]) break;
1020
- }
1021
- return [(pathA.length - i).toString(), ...pathB.slice(i)].join("/");
1022
- };
1023
-
1024
- // src/zod-to-json-schema/options.ts
1025
+ // src/to-json-schema/zod3-to-json-schema/options.ts
1025
1026
  var ignoreOverride = Symbol(
1026
1027
  "Let zodToJsonSchema decide on which parser to use"
1027
1028
  );
@@ -1054,15 +1055,15 @@ var getDefaultOptions = (options) => typeof options === "string" ? {
1054
1055
  ...options
1055
1056
  };
1056
1057
 
1057
- // src/zod-to-json-schema/select-parser.ts
1058
+ // src/to-json-schema/zod3-to-json-schema/select-parser.ts
1058
1059
  import { ZodFirstPartyTypeKind as ZodFirstPartyTypeKind3 } from "zod/v3";
1059
1060
 
1060
- // src/zod-to-json-schema/parsers/any.ts
1061
+ // src/to-json-schema/zod3-to-json-schema/parsers/any.ts
1061
1062
  function parseAnyDef() {
1062
1063
  return {};
1063
1064
  }
1064
1065
 
1065
- // src/zod-to-json-schema/parsers/array.ts
1066
+ // src/to-json-schema/zod3-to-json-schema/parsers/array.ts
1066
1067
  import { ZodFirstPartyTypeKind } from "zod/v3";
1067
1068
  function parseArrayDef(def, refs) {
1068
1069
  var _a, _b, _c;
@@ -1088,7 +1089,7 @@ function parseArrayDef(def, refs) {
1088
1089
  return res;
1089
1090
  }
1090
1091
 
1091
- // src/zod-to-json-schema/parsers/bigint.ts
1092
+ // src/to-json-schema/zod3-to-json-schema/parsers/bigint.ts
1092
1093
  function parseBigintDef(def) {
1093
1094
  const res = {
1094
1095
  type: "integer",
@@ -1119,22 +1120,22 @@ function parseBigintDef(def) {
1119
1120
  return res;
1120
1121
  }
1121
1122
 
1122
- // src/zod-to-json-schema/parsers/boolean.ts
1123
+ // src/to-json-schema/zod3-to-json-schema/parsers/boolean.ts
1123
1124
  function parseBooleanDef() {
1124
1125
  return { type: "boolean" };
1125
1126
  }
1126
1127
 
1127
- // src/zod-to-json-schema/parsers/branded.ts
1128
+ // src/to-json-schema/zod3-to-json-schema/parsers/branded.ts
1128
1129
  function parseBrandedDef(_def, refs) {
1129
1130
  return parseDef(_def.type._def, refs);
1130
1131
  }
1131
1132
 
1132
- // src/zod-to-json-schema/parsers/catch.ts
1133
+ // src/to-json-schema/zod3-to-json-schema/parsers/catch.ts
1133
1134
  var parseCatchDef = (def, refs) => {
1134
1135
  return parseDef(def.innerType._def, refs);
1135
1136
  };
1136
1137
 
1137
- // src/zod-to-json-schema/parsers/date.ts
1138
+ // src/to-json-schema/zod3-to-json-schema/parsers/date.ts
1138
1139
  function parseDateDef(def, refs, overrideDateStrategy) {
1139
1140
  const strategy = overrideDateStrategy != null ? overrideDateStrategy : refs.dateStrategy;
1140
1141
  if (Array.isArray(strategy)) {
@@ -1176,7 +1177,7 @@ var integerDateParser = (def) => {
1176
1177
  return res;
1177
1178
  };
1178
1179
 
1179
- // src/zod-to-json-schema/parsers/default.ts
1180
+ // src/to-json-schema/zod3-to-json-schema/parsers/default.ts
1180
1181
  function parseDefaultDef(_def, refs) {
1181
1182
  return {
1182
1183
  ...parseDef(_def.innerType._def, refs),
@@ -1184,12 +1185,12 @@ function parseDefaultDef(_def, refs) {
1184
1185
  };
1185
1186
  }
1186
1187
 
1187
- // src/zod-to-json-schema/parsers/effects.ts
1188
+ // src/to-json-schema/zod3-to-json-schema/parsers/effects.ts
1188
1189
  function parseEffectsDef(_def, refs) {
1189
1190
  return refs.effectStrategy === "input" ? parseDef(_def.schema._def, refs) : parseAnyDef();
1190
1191
  }
1191
1192
 
1192
- // src/zod-to-json-schema/parsers/enum.ts
1193
+ // src/to-json-schema/zod3-to-json-schema/parsers/enum.ts
1193
1194
  function parseEnumDef(def) {
1194
1195
  return {
1195
1196
  type: "string",
@@ -1197,7 +1198,7 @@ function parseEnumDef(def) {
1197
1198
  };
1198
1199
  }
1199
1200
 
1200
- // src/zod-to-json-schema/parsers/intersection.ts
1201
+ // src/to-json-schema/zod3-to-json-schema/parsers/intersection.ts
1201
1202
  var isJsonSchema7AllOfType = (type) => {
1202
1203
  if ("type" in type && type.type === "string") return false;
1203
1204
  return "allOf" in type;
@@ -1229,7 +1230,7 @@ function parseIntersectionDef(def, refs) {
1229
1230
  return mergedAllOf.length ? { allOf: mergedAllOf } : void 0;
1230
1231
  }
1231
1232
 
1232
- // src/zod-to-json-schema/parsers/literal.ts
1233
+ // src/to-json-schema/zod3-to-json-schema/parsers/literal.ts
1233
1234
  function parseLiteralDef(def) {
1234
1235
  const parsedType = typeof def.value;
1235
1236
  if (parsedType !== "bigint" && parsedType !== "number" && parsedType !== "boolean" && parsedType !== "string") {
@@ -1243,12 +1244,12 @@ function parseLiteralDef(def) {
1243
1244
  };
1244
1245
  }
1245
1246
 
1246
- // src/zod-to-json-schema/parsers/record.ts
1247
+ // src/to-json-schema/zod3-to-json-schema/parsers/record.ts
1247
1248
  import {
1248
1249
  ZodFirstPartyTypeKind as ZodFirstPartyTypeKind2
1249
1250
  } from "zod/v3";
1250
1251
 
1251
- // src/zod-to-json-schema/parsers/string.ts
1252
+ // src/to-json-schema/zod3-to-json-schema/parsers/string.ts
1252
1253
  var emojiRegex = void 0;
1253
1254
  var zodPatterns = {
1254
1255
  /**
@@ -1584,7 +1585,7 @@ function stringifyRegExpWithFlags(regex, refs) {
1584
1585
  return pattern;
1585
1586
  }
1586
1587
 
1587
- // src/zod-to-json-schema/parsers/record.ts
1588
+ // src/to-json-schema/zod3-to-json-schema/parsers/record.ts
1588
1589
  function parseRecordDef(def, refs) {
1589
1590
  var _a, _b, _c, _d, _e, _f;
1590
1591
  const schema = {
@@ -1620,7 +1621,7 @@ function parseRecordDef(def, refs) {
1620
1621
  return schema;
1621
1622
  }
1622
1623
 
1623
- // src/zod-to-json-schema/parsers/map.ts
1624
+ // src/to-json-schema/zod3-to-json-schema/parsers/map.ts
1624
1625
  function parseMapDef(def, refs) {
1625
1626
  if (refs.mapStrategy === "record") {
1626
1627
  return parseRecordDef(def, refs);
@@ -1645,7 +1646,7 @@ function parseMapDef(def, refs) {
1645
1646
  };
1646
1647
  }
1647
1648
 
1648
- // src/zod-to-json-schema/parsers/native-enum.ts
1649
+ // src/to-json-schema/zod3-to-json-schema/parsers/native-enum.ts
1649
1650
  function parseNativeEnumDef(def) {
1650
1651
  const object = def.values;
1651
1652
  const actualKeys = Object.keys(def.values).filter((key) => {
@@ -1661,19 +1662,19 @@ function parseNativeEnumDef(def) {
1661
1662
  };
1662
1663
  }
1663
1664
 
1664
- // src/zod-to-json-schema/parsers/never.ts
1665
+ // src/to-json-schema/zod3-to-json-schema/parsers/never.ts
1665
1666
  function parseNeverDef() {
1666
1667
  return { not: parseAnyDef() };
1667
1668
  }
1668
1669
 
1669
- // src/zod-to-json-schema/parsers/null.ts
1670
+ // src/to-json-schema/zod3-to-json-schema/parsers/null.ts
1670
1671
  function parseNullDef() {
1671
1672
  return {
1672
1673
  type: "null"
1673
1674
  };
1674
1675
  }
1675
1676
 
1676
- // src/zod-to-json-schema/parsers/union.ts
1677
+ // src/to-json-schema/zod3-to-json-schema/parsers/union.ts
1677
1678
  var primitiveMappings = {
1678
1679
  ZodString: "string",
1679
1680
  ZodNumber: "number",
@@ -1753,7 +1754,7 @@ var asAnyOf = (def, refs) => {
1753
1754
  return anyOf.length ? { anyOf } : void 0;
1754
1755
  };
1755
1756
 
1756
- // src/zod-to-json-schema/parsers/nullable.ts
1757
+ // src/to-json-schema/zod3-to-json-schema/parsers/nullable.ts
1757
1758
  function parseNullableDef(def, refs) {
1758
1759
  if (["ZodString", "ZodNumber", "ZodBigInt", "ZodBoolean", "ZodNull"].includes(
1759
1760
  def.innerType._def.typeName
@@ -1772,7 +1773,7 @@ function parseNullableDef(def, refs) {
1772
1773
  return base && { anyOf: [base, { type: "null" }] };
1773
1774
  }
1774
1775
 
1775
- // src/zod-to-json-schema/parsers/number.ts
1776
+ // src/to-json-schema/zod3-to-json-schema/parsers/number.ts
1776
1777
  function parseNumberDef(def) {
1777
1778
  const res = {
1778
1779
  type: "number"
@@ -1805,7 +1806,7 @@ function parseNumberDef(def) {
1805
1806
  return res;
1806
1807
  }
1807
1808
 
1808
- // src/zod-to-json-schema/parsers/object.ts
1809
+ // src/to-json-schema/zod3-to-json-schema/parsers/object.ts
1809
1810
  function parseObjectDef(def, refs) {
1810
1811
  const result = {
1811
1812
  type: "object",
@@ -1865,7 +1866,7 @@ function safeIsOptional(schema) {
1865
1866
  }
1866
1867
  }
1867
1868
 
1868
- // src/zod-to-json-schema/parsers/optional.ts
1869
+ // src/to-json-schema/zod3-to-json-schema/parsers/optional.ts
1869
1870
  var parseOptionalDef = (def, refs) => {
1870
1871
  var _a;
1871
1872
  if (refs.currentPath.toString() === ((_a = refs.propertyPath) == null ? void 0 : _a.toString())) {
@@ -1878,7 +1879,7 @@ var parseOptionalDef = (def, refs) => {
1878
1879
  return innerSchema ? { anyOf: [{ not: parseAnyDef() }, innerSchema] } : parseAnyDef();
1879
1880
  };
1880
1881
 
1881
- // src/zod-to-json-schema/parsers/pipeline.ts
1882
+ // src/to-json-schema/zod3-to-json-schema/parsers/pipeline.ts
1882
1883
  var parsePipelineDef = (def, refs) => {
1883
1884
  if (refs.pipeStrategy === "input") {
1884
1885
  return parseDef(def.in._def, refs);
@@ -1898,12 +1899,12 @@ var parsePipelineDef = (def, refs) => {
1898
1899
  };
1899
1900
  };
1900
1901
 
1901
- // src/zod-to-json-schema/parsers/promise.ts
1902
+ // src/to-json-schema/zod3-to-json-schema/parsers/promise.ts
1902
1903
  function parsePromiseDef(def, refs) {
1903
1904
  return parseDef(def.type._def, refs);
1904
1905
  }
1905
1906
 
1906
- // src/zod-to-json-schema/parsers/set.ts
1907
+ // src/to-json-schema/zod3-to-json-schema/parsers/set.ts
1907
1908
  function parseSetDef(def, refs) {
1908
1909
  const items = parseDef(def.valueType._def, {
1909
1910
  ...refs,
@@ -1923,7 +1924,7 @@ function parseSetDef(def, refs) {
1923
1924
  return schema;
1924
1925
  }
1925
1926
 
1926
- // src/zod-to-json-schema/parsers/tuple.ts
1927
+ // src/to-json-schema/zod3-to-json-schema/parsers/tuple.ts
1927
1928
  function parseTupleDef(def, refs) {
1928
1929
  if (def.rest) {
1929
1930
  return {
@@ -1961,24 +1962,24 @@ function parseTupleDef(def, refs) {
1961
1962
  }
1962
1963
  }
1963
1964
 
1964
- // src/zod-to-json-schema/parsers/undefined.ts
1965
+ // src/to-json-schema/zod3-to-json-schema/parsers/undefined.ts
1965
1966
  function parseUndefinedDef() {
1966
1967
  return {
1967
1968
  not: parseAnyDef()
1968
1969
  };
1969
1970
  }
1970
1971
 
1971
- // src/zod-to-json-schema/parsers/unknown.ts
1972
+ // src/to-json-schema/zod3-to-json-schema/parsers/unknown.ts
1972
1973
  function parseUnknownDef() {
1973
1974
  return parseAnyDef();
1974
1975
  }
1975
1976
 
1976
- // src/zod-to-json-schema/parsers/readonly.ts
1977
+ // src/to-json-schema/zod3-to-json-schema/parsers/readonly.ts
1977
1978
  var parseReadonlyDef = (def, refs) => {
1978
1979
  return parseDef(def.innerType._def, refs);
1979
1980
  };
1980
1981
 
1981
- // src/zod-to-json-schema/select-parser.ts
1982
+ // src/to-json-schema/zod3-to-json-schema/select-parser.ts
1982
1983
  var selectParser = (def, typeName, refs) => {
1983
1984
  switch (typeName) {
1984
1985
  case ZodFirstPartyTypeKind3.ZodString:
@@ -2054,7 +2055,16 @@ var selectParser = (def, typeName, refs) => {
2054
2055
  }
2055
2056
  };
2056
2057
 
2057
- // src/zod-to-json-schema/parse-def.ts
2058
+ // src/to-json-schema/zod3-to-json-schema/get-relative-path.ts
2059
+ var getRelativePath = (pathA, pathB) => {
2060
+ let i = 0;
2061
+ for (; i < pathA.length && i < pathB.length; i++) {
2062
+ if (pathA[i] !== pathB[i]) break;
2063
+ }
2064
+ return [(pathA.length - i).toString(), ...pathB.slice(i)].join("/");
2065
+ };
2066
+
2067
+ // src/to-json-schema/zod3-to-json-schema/parse-def.ts
2058
2068
  function parseDef(def, refs, forceResolution = false) {
2059
2069
  var _a;
2060
2070
  const seenItem = refs.seen.get(def);
@@ -2118,7 +2128,7 @@ var addMeta = (def, refs, jsonSchema2) => {
2118
2128
  return jsonSchema2;
2119
2129
  };
2120
2130
 
2121
- // src/zod-to-json-schema/refs.ts
2131
+ // src/to-json-schema/zod3-to-json-schema/refs.ts
2122
2132
  var getRefs = (options) => {
2123
2133
  const _options = getDefaultOptions(options);
2124
2134
  const currentPath = _options.name !== void 0 ? [..._options.basePath, _options.definitionPath, _options.name] : _options.basePath;
@@ -2140,8 +2150,8 @@ var getRefs = (options) => {
2140
2150
  };
2141
2151
  };
2142
2152
 
2143
- // src/zod-to-json-schema/zod-to-json-schema.ts
2144
- var zodToJsonSchema = (schema, options) => {
2153
+ // src/to-json-schema/zod3-to-json-schema/zod3-to-json-schema.ts
2154
+ var zod3ToJsonSchema = (schema, options) => {
2145
2155
  var _a;
2146
2156
  const refs = getRefs(options);
2147
2157
  let definitions = typeof options === "object" && options.definitions ? Object.entries(options.definitions).reduce(
@@ -2192,9 +2202,6 @@ var zodToJsonSchema = (schema, options) => {
2192
2202
  return combined;
2193
2203
  };
2194
2204
 
2195
- // src/zod-to-json-schema/index.ts
2196
- var zod_to_json_schema_default = zodToJsonSchema;
2197
-
2198
2205
  // src/schema.ts
2199
2206
  var schemaSymbol = Symbol.for("vercel.ai.schema");
2200
2207
  function lazySchema(createSchema) {
@@ -2246,6 +2253,12 @@ function standardSchema(standardSchema2) {
2246
2253
  arktypeToJsonSchema
2247
2254
  );
2248
2255
  }
2256
+ case "effect": {
2257
+ return standardSchemaWithJsonSchemaResolver(
2258
+ standardSchema2,
2259
+ effectToJsonSchema
2260
+ );
2261
+ }
2249
2262
  case "valibot": {
2250
2263
  return standardSchemaWithJsonSchemaResolver(
2251
2264
  standardSchema2,
@@ -2278,7 +2291,7 @@ function zod3Schema(zodSchema2, options) {
2278
2291
  const useReferences = (_a = options == null ? void 0 : options.useReferences) != null ? _a : false;
2279
2292
  return jsonSchema(
2280
2293
  // defer json schema creation to avoid unnecessary computation when only validation is needed
2281
- () => zod_to_json_schema_default(zodSchema2, {
2294
+ () => zod3ToJsonSchema(zodSchema2, {
2282
2295
  $refStrategy: useReferences ? "root" : "none"
2283
2296
  }),
2284
2297
  {