@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 +12 -0
- package/dist/index.js +66 -53
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +66 -53
- package/dist/index.mjs.map +1 -1
- package/package.json +6 -1
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.
|
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/
|
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/
|
1144
|
+
// src/to-json-schema/zod3-to-json-schema/select-parser.ts
|
1144
1145
|
var import_v33 = require("zod/v3");
|
1145
1146
|
|
1146
|
-
// src/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
1333
|
+
// src/to-json-schema/zod3-to-json-schema/parsers/record.ts
|
1333
1334
|
var import_v32 = require("zod/v3");
|
1334
1335
|
|
1335
|
-
// src/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
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/
|
2228
|
-
var
|
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
|
-
() =>
|
2378
|
+
() => zod3ToJsonSchema(zodSchema2, {
|
2366
2379
|
$refStrategy: useReferences ? "root" : "none"
|
2367
2380
|
}),
|
2368
2381
|
{
|