@n8n-plus/n8n-plus
Version:
n8n Workflow Automation Tool (plus edition)
5,990 lines • 224 kB
JavaScript
var __getOwnPropNames = Object.getOwnPropertyNames;
var __commonJS = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
// ../../node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/cjs/v3/helpers/util.js
var require_util = __commonJS({
"../../node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/cjs/v3/helpers/util.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getParsedType = exports2.ZodParsedType = exports2.objectUtil = exports2.util = void 0;
var util;
(function(util2) {
util2.assertEqual = (_) => {
};
function assertIs(_arg) {
}
util2.assertIs = assertIs;
function assertNever(_x) {
throw new Error();
}
util2.assertNever = assertNever;
util2.arrayToEnum = (items) => {
const obj = {};
for (const item of items) {
obj[item] = item;
}
return obj;
};
util2.getValidEnumValues = (obj) => {
const validKeys = util2.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== "number");
const filtered = {};
for (const k of validKeys) {
filtered[k] = obj[k];
}
return util2.objectValues(filtered);
};
util2.objectValues = (obj) => {
return util2.objectKeys(obj).map(function(e) {
return obj[e];
});
};
util2.objectKeys = typeof Object.keys === "function" ? (obj) => Object.keys(obj) : (object) => {
const keys = [];
for (const key in object) {
if (Object.prototype.hasOwnProperty.call(object, key)) {
keys.push(key);
}
}
return keys;
};
util2.find = (arr, checker) => {
for (const item of arr) {
if (checker(item))
return item;
}
return void 0;
};
util2.isInteger = typeof Number.isInteger === "function" ? (val) => Number.isInteger(val) : (val) => typeof val === "number" && Number.isFinite(val) && Math.floor(val) === val;
function joinValues(array, separator = " | ") {
return array.map((val) => typeof val === "string" ? `'${val}'` : val).join(separator);
}
util2.joinValues = joinValues;
util2.jsonStringifyReplacer = (_, value) => {
if (typeof value === "bigint") {
return value.toString();
}
return value;
};
})(util || (exports2.util = util = {}));
var objectUtil;
(function(objectUtil2) {
objectUtil2.mergeShapes = (first, second) => {
return {
...first,
...second
// second overwrites first
};
};
})(objectUtil || (exports2.objectUtil = objectUtil = {}));
exports2.ZodParsedType = util.arrayToEnum([
"string",
"nan",
"number",
"integer",
"float",
"boolean",
"date",
"bigint",
"symbol",
"function",
"undefined",
"null",
"array",
"object",
"unknown",
"promise",
"void",
"never",
"map",
"set"
]);
var getParsedType = (data) => {
const t = typeof data;
switch (t) {
case "undefined":
return exports2.ZodParsedType.undefined;
case "string":
return exports2.ZodParsedType.string;
case "number":
return Number.isNaN(data) ? exports2.ZodParsedType.nan : exports2.ZodParsedType.number;
case "boolean":
return exports2.ZodParsedType.boolean;
case "function":
return exports2.ZodParsedType.function;
case "bigint":
return exports2.ZodParsedType.bigint;
case "symbol":
return exports2.ZodParsedType.symbol;
case "object":
if (Array.isArray(data)) {
return exports2.ZodParsedType.array;
}
if (data === null) {
return exports2.ZodParsedType.null;
}
if (data.then && typeof data.then === "function" && data.catch && typeof data.catch === "function") {
return exports2.ZodParsedType.promise;
}
if (typeof Map !== "undefined" && data instanceof Map) {
return exports2.ZodParsedType.map;
}
if (typeof Set !== "undefined" && data instanceof Set) {
return exports2.ZodParsedType.set;
}
if (typeof Date !== "undefined" && data instanceof Date) {
return exports2.ZodParsedType.date;
}
return exports2.ZodParsedType.object;
default:
return exports2.ZodParsedType.unknown;
}
};
exports2.getParsedType = getParsedType;
}
});
// ../../node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/cjs/v3/ZodError.js
var require_ZodError = __commonJS({
"../../node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/cjs/v3/ZodError.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.ZodError = exports2.quotelessJson = exports2.ZodIssueCode = void 0;
var util_js_1 = require_util();
exports2.ZodIssueCode = util_js_1.util.arrayToEnum([
"invalid_type",
"invalid_literal",
"custom",
"invalid_union",
"invalid_union_discriminator",
"invalid_enum_value",
"unrecognized_keys",
"invalid_arguments",
"invalid_return_type",
"invalid_date",
"invalid_string",
"too_small",
"too_big",
"invalid_intersection_types",
"not_multiple_of",
"not_finite"
]);
var quotelessJson = (obj) => {
const json = JSON.stringify(obj, null, 2);
return json.replace(/"([^"]+)":/g, "$1:");
};
exports2.quotelessJson = quotelessJson;
var ZodError = class _ZodError extends Error {
get errors() {
return this.issues;
}
constructor(issues) {
super();
this.issues = [];
this.addIssue = (sub) => {
this.issues = [...this.issues, sub];
};
this.addIssues = (subs = []) => {
this.issues = [...this.issues, ...subs];
};
const actualProto = new.target.prototype;
if (Object.setPrototypeOf) {
Object.setPrototypeOf(this, actualProto);
} else {
this.__proto__ = actualProto;
}
this.name = "ZodError";
this.issues = issues;
}
format(_mapper) {
const mapper = _mapper || function(issue) {
return issue.message;
};
const fieldErrors = { _errors: [] };
const processError = (error) => {
for (const issue of error.issues) {
if (issue.code === "invalid_union") {
issue.unionErrors.map(processError);
} else if (issue.code === "invalid_return_type") {
processError(issue.returnTypeError);
} else if (issue.code === "invalid_arguments") {
processError(issue.argumentsError);
} else if (issue.path.length === 0) {
fieldErrors._errors.push(mapper(issue));
} else {
let curr = fieldErrors;
let i = 0;
while (i < issue.path.length) {
const el = issue.path[i];
const terminal = i === issue.path.length - 1;
if (!terminal) {
curr[el] = curr[el] || { _errors: [] };
} else {
curr[el] = curr[el] || { _errors: [] };
curr[el]._errors.push(mapper(issue));
}
curr = curr[el];
i++;
}
}
}
};
processError(this);
return fieldErrors;
}
static assert(value) {
if (!(value instanceof _ZodError)) {
throw new Error(`Not a ZodError: ${value}`);
}
}
toString() {
return this.message;
}
get message() {
return JSON.stringify(this.issues, util_js_1.util.jsonStringifyReplacer, 2);
}
get isEmpty() {
return this.issues.length === 0;
}
flatten(mapper = (issue) => issue.message) {
const fieldErrors = {};
const formErrors = [];
for (const sub of this.issues) {
if (sub.path.length > 0) {
fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];
fieldErrors[sub.path[0]].push(mapper(sub));
} else {
formErrors.push(mapper(sub));
}
}
return { formErrors, fieldErrors };
}
get formErrors() {
return this.flatten();
}
};
exports2.ZodError = ZodError;
ZodError.create = (issues) => {
const error = new ZodError(issues);
return error;
};
}
});
// ../../node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/cjs/v3/locales/en.js
var require_en = __commonJS({
"../../node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/cjs/v3/locales/en.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
var ZodError_js_1 = require_ZodError();
var util_js_1 = require_util();
var errorMap = (issue, _ctx) => {
let message;
switch (issue.code) {
case ZodError_js_1.ZodIssueCode.invalid_type:
if (issue.received === util_js_1.ZodParsedType.undefined) {
message = "Required";
} else {
message = `Expected ${issue.expected}, received ${issue.received}`;
}
break;
case ZodError_js_1.ZodIssueCode.invalid_literal:
message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util_js_1.util.jsonStringifyReplacer)}`;
break;
case ZodError_js_1.ZodIssueCode.unrecognized_keys:
message = `Unrecognized key(s) in object: ${util_js_1.util.joinValues(issue.keys, ", ")}`;
break;
case ZodError_js_1.ZodIssueCode.invalid_union:
message = `Invalid input`;
break;
case ZodError_js_1.ZodIssueCode.invalid_union_discriminator:
message = `Invalid discriminator value. Expected ${util_js_1.util.joinValues(issue.options)}`;
break;
case ZodError_js_1.ZodIssueCode.invalid_enum_value:
message = `Invalid enum value. Expected ${util_js_1.util.joinValues(issue.options)}, received '${issue.received}'`;
break;
case ZodError_js_1.ZodIssueCode.invalid_arguments:
message = `Invalid function arguments`;
break;
case ZodError_js_1.ZodIssueCode.invalid_return_type:
message = `Invalid function return type`;
break;
case ZodError_js_1.ZodIssueCode.invalid_date:
message = `Invalid date`;
break;
case ZodError_js_1.ZodIssueCode.invalid_string:
if (typeof issue.validation === "object") {
if ("includes" in issue.validation) {
message = `Invalid input: must include "${issue.validation.includes}"`;
if (typeof issue.validation.position === "number") {
message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`;
}
} else if ("startsWith" in issue.validation) {
message = `Invalid input: must start with "${issue.validation.startsWith}"`;
} else if ("endsWith" in issue.validation) {
message = `Invalid input: must end with "${issue.validation.endsWith}"`;
} else {
util_js_1.util.assertNever(issue.validation);
}
} else if (issue.validation !== "regex") {
message = `Invalid ${issue.validation}`;
} else {
message = "Invalid";
}
break;
case ZodError_js_1.ZodIssueCode.too_small:
if (issue.type === "array")
message = `Array must contain ${issue.exact ? "exactly" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`;
else if (issue.type === "string")
message = `String must contain ${issue.exact ? "exactly" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`;
else if (issue.type === "number")
message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`;
else if (issue.type === "date")
message = `Date must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${new Date(Number(issue.minimum))}`;
else
message = "Invalid input";
break;
case ZodError_js_1.ZodIssueCode.too_big:
if (issue.type === "array")
message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`;
else if (issue.type === "string")
message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;
else if (issue.type === "number")
message = `Number must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;
else if (issue.type === "bigint")
message = `BigInt must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;
else if (issue.type === "date")
message = `Date must be ${issue.exact ? `exactly` : issue.inclusive ? `smaller than or equal to` : `smaller than`} ${new Date(Number(issue.maximum))}`;
else
message = "Invalid input";
break;
case ZodError_js_1.ZodIssueCode.custom:
message = `Invalid input`;
break;
case ZodError_js_1.ZodIssueCode.invalid_intersection_types:
message = `Intersection results could not be merged`;
break;
case ZodError_js_1.ZodIssueCode.not_multiple_of:
message = `Number must be a multiple of ${issue.multipleOf}`;
break;
case ZodError_js_1.ZodIssueCode.not_finite:
message = "Number must be finite";
break;
default:
message = _ctx.defaultError;
util_js_1.util.assertNever(issue);
}
return { message };
};
exports2.default = errorMap;
}
});
// ../../node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/cjs/v3/errors.js
var require_errors = __commonJS({
"../../node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/cjs/v3/errors.js"(exports2) {
"use strict";
var __importDefault = exports2 && exports2.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : { "default": mod };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.defaultErrorMap = void 0;
exports2.setErrorMap = setErrorMap;
exports2.getErrorMap = getErrorMap;
var en_js_1 = __importDefault(require_en());
exports2.defaultErrorMap = en_js_1.default;
var overrideErrorMap = en_js_1.default;
function setErrorMap(map) {
overrideErrorMap = map;
}
function getErrorMap() {
return overrideErrorMap;
}
}
});
// ../../node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/cjs/v3/helpers/parseUtil.js
var require_parseUtil = __commonJS({
"../../node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/cjs/v3/helpers/parseUtil.js"(exports2) {
"use strict";
var __importDefault = exports2 && exports2.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : { "default": mod };
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.isAsync = exports2.isValid = exports2.isDirty = exports2.isAborted = exports2.OK = exports2.DIRTY = exports2.INVALID = exports2.ParseStatus = exports2.EMPTY_PATH = exports2.makeIssue = void 0;
exports2.addIssueToContext = addIssueToContext;
var errors_js_1 = require_errors();
var en_js_1 = __importDefault(require_en());
var makeIssue = (params) => {
const { data, path, errorMaps, issueData } = params;
const fullPath = [...path, ...issueData.path || []];
const fullIssue = {
...issueData,
path: fullPath
};
if (issueData.message !== void 0) {
return {
...issueData,
path: fullPath,
message: issueData.message
};
}
let errorMessage = "";
const maps = errorMaps.filter((m) => !!m).slice().reverse();
for (const map of maps) {
errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;
}
return {
...issueData,
path: fullPath,
message: errorMessage
};
};
exports2.makeIssue = makeIssue;
exports2.EMPTY_PATH = [];
function addIssueToContext(ctx, issueData) {
const overrideMap = (0, errors_js_1.getErrorMap)();
const issue = (0, exports2.makeIssue)({
issueData,
data: ctx.data,
path: ctx.path,
errorMaps: [
ctx.common.contextualErrorMap,
// contextual error map is first priority
ctx.schemaErrorMap,
// then schema-bound map if available
overrideMap,
// then global override map
overrideMap === en_js_1.default ? void 0 : en_js_1.default
// then global default map
].filter((x) => !!x)
});
ctx.common.issues.push(issue);
}
var ParseStatus = class _ParseStatus {
constructor() {
this.value = "valid";
}
dirty() {
if (this.value === "valid")
this.value = "dirty";
}
abort() {
if (this.value !== "aborted")
this.value = "aborted";
}
static mergeArray(status, results) {
const arrayValue = [];
for (const s of results) {
if (s.status === "aborted")
return exports2.INVALID;
if (s.status === "dirty")
status.dirty();
arrayValue.push(s.value);
}
return { status: status.value, value: arrayValue };
}
static async mergeObjectAsync(status, pairs) {
const syncPairs = [];
for (const pair of pairs) {
const key = await pair.key;
const value = await pair.value;
syncPairs.push({
key,
value
});
}
return _ParseStatus.mergeObjectSync(status, syncPairs);
}
static mergeObjectSync(status, pairs) {
const finalObject = {};
for (const pair of pairs) {
const { key, value } = pair;
if (key.status === "aborted")
return exports2.INVALID;
if (value.status === "aborted")
return exports2.INVALID;
if (key.status === "dirty")
status.dirty();
if (value.status === "dirty")
status.dirty();
if (key.value !== "__proto__" && (typeof value.value !== "undefined" || pair.alwaysSet)) {
finalObject[key.value] = value.value;
}
}
return { status: status.value, value: finalObject };
}
};
exports2.ParseStatus = ParseStatus;
exports2.INVALID = Object.freeze({
status: "aborted"
});
var DIRTY = (value) => ({ status: "dirty", value });
exports2.DIRTY = DIRTY;
var OK = (value) => ({ status: "valid", value });
exports2.OK = OK;
var isAborted = (x) => x.status === "aborted";
exports2.isAborted = isAborted;
var isDirty = (x) => x.status === "dirty";
exports2.isDirty = isDirty;
var isValid = (x) => x.status === "valid";
exports2.isValid = isValid;
var isAsync = (x) => typeof Promise !== "undefined" && x instanceof Promise;
exports2.isAsync = isAsync;
}
});
// ../../node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/cjs/v3/helpers/typeAliases.js
var require_typeAliases = __commonJS({
"../../node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/cjs/v3/helpers/typeAliases.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
}
});
// ../../node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/cjs/v3/helpers/errorUtil.js
var require_errorUtil = __commonJS({
"../../node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/cjs/v3/helpers/errorUtil.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.errorUtil = void 0;
var errorUtil;
(function(errorUtil2) {
errorUtil2.errToObj = (message) => typeof message === "string" ? { message } : message || {};
errorUtil2.toString = (message) => typeof message === "string" ? message : message?.message;
})(errorUtil || (exports2.errorUtil = errorUtil = {}));
}
});
// ../../node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/cjs/v3/types.js
var require_types = __commonJS({
"../../node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/cjs/v3/types.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.discriminatedUnion = exports2.date = exports2.boolean = exports2.bigint = exports2.array = exports2.any = exports2.coerce = exports2.ZodFirstPartyTypeKind = exports2.late = exports2.ZodSchema = exports2.Schema = exports2.ZodReadonly = exports2.ZodPipeline = exports2.ZodBranded = exports2.BRAND = exports2.ZodNaN = exports2.ZodCatch = exports2.ZodDefault = exports2.ZodNullable = exports2.ZodOptional = exports2.ZodTransformer = exports2.ZodEffects = exports2.ZodPromise = exports2.ZodNativeEnum = exports2.ZodEnum = exports2.ZodLiteral = exports2.ZodLazy = exports2.ZodFunction = exports2.ZodSet = exports2.ZodMap = exports2.ZodRecord = exports2.ZodTuple = exports2.ZodIntersection = exports2.ZodDiscriminatedUnion = exports2.ZodUnion = exports2.ZodObject = exports2.ZodArray = exports2.ZodVoid = exports2.ZodNever = exports2.ZodUnknown = exports2.ZodAny = exports2.ZodNull = exports2.ZodUndefined = exports2.ZodSymbol = exports2.ZodDate = exports2.ZodBoolean = exports2.ZodBigInt = exports2.ZodNumber = exports2.ZodString = exports2.ZodType = void 0;
exports2.NEVER = exports2.void = exports2.unknown = exports2.union = exports2.undefined = exports2.tuple = exports2.transformer = exports2.symbol = exports2.string = exports2.strictObject = exports2.set = exports2.record = exports2.promise = exports2.preprocess = exports2.pipeline = exports2.ostring = exports2.optional = exports2.onumber = exports2.oboolean = exports2.object = exports2.number = exports2.nullable = exports2.null = exports2.never = exports2.nativeEnum = exports2.nan = exports2.map = exports2.literal = exports2.lazy = exports2.intersection = exports2.instanceof = exports2.function = exports2.enum = exports2.effect = void 0;
exports2.datetimeRegex = datetimeRegex;
exports2.custom = custom;
var ZodError_js_1 = require_ZodError();
var errors_js_1 = require_errors();
var errorUtil_js_1 = require_errorUtil();
var parseUtil_js_1 = require_parseUtil();
var util_js_1 = require_util();
var ParseInputLazyPath = class {
constructor(parent, value, path, key) {
this._cachedPath = [];
this.parent = parent;
this.data = value;
this._path = path;
this._key = key;
}
get path() {
if (!this._cachedPath.length) {
if (Array.isArray(this._key)) {
this._cachedPath.push(...this._path, ...this._key);
} else {
this._cachedPath.push(...this._path, this._key);
}
}
return this._cachedPath;
}
};
var handleResult = (ctx, result) => {
if ((0, parseUtil_js_1.isValid)(result)) {
return { success: true, data: result.value };
} else {
if (!ctx.common.issues.length) {
throw new Error("Validation failed but no issues detected.");
}
return {
success: false,
get error() {
if (this._error)
return this._error;
const error = new ZodError_js_1.ZodError(ctx.common.issues);
this._error = error;
return this._error;
}
};
}
};
function processCreateParams(params) {
if (!params)
return {};
const { errorMap, invalid_type_error, required_error, description } = params;
if (errorMap && (invalid_type_error || required_error)) {
throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);
}
if (errorMap)
return { errorMap, description };
const customMap = (iss, ctx) => {
const { message } = params;
if (iss.code === "invalid_enum_value") {
return { message: message ?? ctx.defaultError };
}
if (typeof ctx.data === "undefined") {
return { message: message ?? required_error ?? ctx.defaultError };
}
if (iss.code !== "invalid_type")
return { message: ctx.defaultError };
return { message: message ?? invalid_type_error ?? ctx.defaultError };
};
return { errorMap: customMap, description };
}
var ZodType = class {
get description() {
return this._def.description;
}
_getType(input) {
return (0, util_js_1.getParsedType)(input.data);
}
_getOrReturnCtx(input, ctx) {
return ctx || {
common: input.parent.common,
data: input.data,
parsedType: (0, util_js_1.getParsedType)(input.data),
schemaErrorMap: this._def.errorMap,
path: input.path,
parent: input.parent
};
}
_processInputParams(input) {
return {
status: new parseUtil_js_1.ParseStatus(),
ctx: {
common: input.parent.common,
data: input.data,
parsedType: (0, util_js_1.getParsedType)(input.data),
schemaErrorMap: this._def.errorMap,
path: input.path,
parent: input.parent
}
};
}
_parseSync(input) {
const result = this._parse(input);
if ((0, parseUtil_js_1.isAsync)(result)) {
throw new Error("Synchronous parse encountered promise.");
}
return result;
}
_parseAsync(input) {
const result = this._parse(input);
return Promise.resolve(result);
}
parse(data, params) {
const result = this.safeParse(data, params);
if (result.success)
return result.data;
throw result.error;
}
safeParse(data, params) {
const ctx = {
common: {
issues: [],
async: params?.async ?? false,
contextualErrorMap: params?.errorMap
},
path: params?.path || [],
schemaErrorMap: this._def.errorMap,
parent: null,
data,
parsedType: (0, util_js_1.getParsedType)(data)
};
const result = this._parseSync({ data, path: ctx.path, parent: ctx });
return handleResult(ctx, result);
}
"~validate"(data) {
const ctx = {
common: {
issues: [],
async: !!this["~standard"].async
},
path: [],
schemaErrorMap: this._def.errorMap,
parent: null,
data,
parsedType: (0, util_js_1.getParsedType)(data)
};
if (!this["~standard"].async) {
try {
const result = this._parseSync({ data, path: [], parent: ctx });
return (0, parseUtil_js_1.isValid)(result) ? {
value: result.value
} : {
issues: ctx.common.issues
};
} catch (err) {
if (err?.message?.toLowerCase()?.includes("encountered")) {
this["~standard"].async = true;
}
ctx.common = {
issues: [],
async: true
};
}
}
return this._parseAsync({ data, path: [], parent: ctx }).then((result) => (0, parseUtil_js_1.isValid)(result) ? {
value: result.value
} : {
issues: ctx.common.issues
});
}
async parseAsync(data, params) {
const result = await this.safeParseAsync(data, params);
if (result.success)
return result.data;
throw result.error;
}
async safeParseAsync(data, params) {
const ctx = {
common: {
issues: [],
contextualErrorMap: params?.errorMap,
async: true
},
path: params?.path || [],
schemaErrorMap: this._def.errorMap,
parent: null,
data,
parsedType: (0, util_js_1.getParsedType)(data)
};
const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });
const result = await ((0, parseUtil_js_1.isAsync)(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult));
return handleResult(ctx, result);
}
refine(check, message) {
const getIssueProperties = (val) => {
if (typeof message === "string" || typeof message === "undefined") {
return { message };
} else if (typeof message === "function") {
return message(val);
} else {
return message;
}
};
return this._refinement((val, ctx) => {
const result = check(val);
const setError = () => ctx.addIssue({
code: ZodError_js_1.ZodIssueCode.custom,
...getIssueProperties(val)
});
if (typeof Promise !== "undefined" && result instanceof Promise) {
return result.then((data) => {
if (!data) {
setError();
return false;
} else {
return true;
}
});
}
if (!result) {
setError();
return false;
} else {
return true;
}
});
}
refinement(check, refinementData) {
return this._refinement((val, ctx) => {
if (!check(val)) {
ctx.addIssue(typeof refinementData === "function" ? refinementData(val, ctx) : refinementData);
return false;
} else {
return true;
}
});
}
_refinement(refinement) {
return new ZodEffects({
schema: this,
typeName: ZodFirstPartyTypeKind.ZodEffects,
effect: { type: "refinement", refinement }
});
}
superRefine(refinement) {
return this._refinement(refinement);
}
constructor(def) {
this.spa = this.safeParseAsync;
this._def = def;
this.parse = this.parse.bind(this);
this.safeParse = this.safeParse.bind(this);
this.parseAsync = this.parseAsync.bind(this);
this.safeParseAsync = this.safeParseAsync.bind(this);
this.spa = this.spa.bind(this);
this.refine = this.refine.bind(this);
this.refinement = this.refinement.bind(this);
this.superRefine = this.superRefine.bind(this);
this.optional = this.optional.bind(this);
this.nullable = this.nullable.bind(this);
this.nullish = this.nullish.bind(this);
this.array = this.array.bind(this);
this.promise = this.promise.bind(this);
this.or = this.or.bind(this);
this.and = this.and.bind(this);
this.transform = this.transform.bind(this);
this.brand = this.brand.bind(this);
this.default = this.default.bind(this);
this.catch = this.catch.bind(this);
this.describe = this.describe.bind(this);
this.pipe = this.pipe.bind(this);
this.readonly = this.readonly.bind(this);
this.isNullable = this.isNullable.bind(this);
this.isOptional = this.isOptional.bind(this);
this["~standard"] = {
version: 1,
vendor: "zod",
validate: (data) => this["~validate"](data)
};
}
optional() {
return ZodOptional.create(this, this._def);
}
nullable() {
return ZodNullable.create(this, this._def);
}
nullish() {
return this.nullable().optional();
}
array() {
return ZodArray.create(this);
}
promise() {
return ZodPromise.create(this, this._def);
}
or(option) {
return ZodUnion.create([this, option], this._def);
}
and(incoming) {
return ZodIntersection.create(this, incoming, this._def);
}
transform(transform) {
return new ZodEffects({
...processCreateParams(this._def),
schema: this,
typeName: ZodFirstPartyTypeKind.ZodEffects,
effect: { type: "transform", transform }
});
}
default(def) {
const defaultValueFunc = typeof def === "function" ? def : () => def;
return new ZodDefault({
...processCreateParams(this._def),
innerType: this,
defaultValue: defaultValueFunc,
typeName: ZodFirstPartyTypeKind.ZodDefault
});
}
brand() {
return new ZodBranded({
typeName: ZodFirstPartyTypeKind.ZodBranded,
type: this,
...processCreateParams(this._def)
});
}
catch(def) {
const catchValueFunc = typeof def === "function" ? def : () => def;
return new ZodCatch({
...processCreateParams(this._def),
innerType: this,
catchValue: catchValueFunc,
typeName: ZodFirstPartyTypeKind.ZodCatch
});
}
describe(description) {
const This = this.constructor;
return new This({
...this._def,
description
});
}
pipe(target) {
return ZodPipeline.create(this, target);
}
readonly() {
return ZodReadonly.create(this);
}
isOptional() {
return this.safeParse(void 0).success;
}
isNullable() {
return this.safeParse(null).success;
}
};
exports2.ZodType = ZodType;
exports2.Schema = ZodType;
exports2.ZodSchema = ZodType;
var cuidRegex = /^c[^\s-]{8,}$/i;
var cuid2Regex = /^[0-9a-z]+$/;
var ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/i;
var uuidRegex = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i;
var nanoidRegex = /^[a-z0-9_-]{21}$/i;
var jwtRegex = /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/;
var durationRegex = /^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/;
var emailRegex = /^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i;
var _emojiRegex = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;
var emojiRegex;
var ipv4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;
var ipv4CidrRegex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/;
var ipv6Regex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;
var ipv6CidrRegex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;
var base64Regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;
var base64urlRegex = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/;
var dateRegexSource = `((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))`;
var dateRegex = new RegExp(`^${dateRegexSource}$`);
function timeRegexSource(args) {
let secondsRegexSource = `[0-5]\\d`;
if (args.precision) {
secondsRegexSource = `${secondsRegexSource}\\.\\d{${args.precision}}`;
} else if (args.precision == null) {
secondsRegexSource = `${secondsRegexSource}(\\.\\d+)?`;
}
const secondsQuantifier = args.precision ? "+" : "?";
return `([01]\\d|2[0-3]):[0-5]\\d(:${secondsRegexSource})${secondsQuantifier}`;
}
function timeRegex(args) {
return new RegExp(`^${timeRegexSource(args)}$`);
}
function datetimeRegex(args) {
let regex = `${dateRegexSource}T${timeRegexSource(args)}`;
const opts = [];
opts.push(args.local ? `Z?` : `Z`);
if (args.offset)
opts.push(`([+-]\\d{2}:?\\d{2})`);
regex = `${regex}(${opts.join("|")})`;
return new RegExp(`^${regex}$`);
}
function isValidIP(ip, version) {
if ((version === "v4" || !version) && ipv4Regex.test(ip)) {
return true;
}
if ((version === "v6" || !version) && ipv6Regex.test(ip)) {
return true;
}
return false;
}
function isValidJWT(jwt, alg) {
if (!jwtRegex.test(jwt))
return false;
try {
const [header] = jwt.split(".");
const base64 = header.replace(/-/g, "+").replace(/_/g, "/").padEnd(header.length + (4 - header.length % 4) % 4, "=");
const decoded = JSON.parse(atob(base64));
if (typeof decoded !== "object" || decoded === null)
return false;
if ("typ" in decoded && decoded?.typ !== "JWT")
return false;
if (!decoded.alg)
return false;
if (alg && decoded.alg !== alg)
return false;
return true;
} catch {
return false;
}
}
function isValidCidr(ip, version) {
if ((version === "v4" || !version) && ipv4CidrRegex.test(ip)) {
return true;
}
if ((version === "v6" || !version) && ipv6CidrRegex.test(ip)) {
return true;
}
return false;
}
var ZodString = class _ZodString extends ZodType {
_parse(input) {
if (this._def.coerce) {
input.data = String(input.data);
}
const parsedType = this._getType(input);
if (parsedType !== util_js_1.ZodParsedType.string) {
const ctx2 = this._getOrReturnCtx(input);
(0, parseUtil_js_1.addIssueToContext)(ctx2, {
code: ZodError_js_1.ZodIssueCode.invalid_type,
expected: util_js_1.ZodParsedType.string,
received: ctx2.parsedType
});
return parseUtil_js_1.INVALID;
}
const status = new parseUtil_js_1.ParseStatus();
let ctx = void 0;
for (const check of this._def.checks) {
if (check.kind === "min") {
if (input.data.length < check.value) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.too_small,
minimum: check.value,
type: "string",
inclusive: true,
exact: false,
message: check.message
});
status.dirty();
}
} else if (check.kind === "max") {
if (input.data.length > check.value) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.too_big,
maximum: check.value,
type: "string",
inclusive: true,
exact: false,
message: check.message
});
status.dirty();
}
} else if (check.kind === "length") {
const tooBig = input.data.length > check.value;
const tooSmall = input.data.length < check.value;
if (tooBig || tooSmall) {
ctx = this._getOrReturnCtx(input, ctx);
if (tooBig) {
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.too_big,
maximum: check.value,
type: "string",
inclusive: true,
exact: true,
message: check.message
});
} else if (tooSmall) {
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.too_small,
minimum: check.value,
type: "string",
inclusive: true,
exact: true,
message: check.message
});
}
status.dirty();
}
} else if (check.kind === "email") {
if (!emailRegex.test(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
validation: "email",
code: ZodError_js_1.ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
} else if (check.kind === "emoji") {
if (!emojiRegex) {
emojiRegex = new RegExp(_emojiRegex, "u");
}
if (!emojiRegex.test(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
validation: "emoji",
code: ZodError_js_1.ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
} else if (check.kind === "uuid") {
if (!uuidRegex.test(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
validation: "uuid",
code: ZodError_js_1.ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
} else if (check.kind === "nanoid") {
if (!nanoidRegex.test(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
validation: "nanoid",
code: ZodError_js_1.ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
} else if (check.kind === "cuid") {
if (!cuidRegex.test(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
validation: "cuid",
code: ZodError_js_1.ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
} else if (check.kind === "cuid2") {
if (!cuid2Regex.test(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
validation: "cuid2",
code: ZodError_js_1.ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
} else if (check.kind === "ulid") {
if (!ulidRegex.test(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
validation: "ulid",
code: ZodError_js_1.ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
} else if (check.kind === "url") {
try {
new URL(input.data);
} catch {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
validation: "url",
code: ZodError_js_1.ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
} else if (check.kind === "regex") {
check.regex.lastIndex = 0;
const testResult = check.regex.test(input.data);
if (!testResult) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
validation: "regex",
code: ZodError_js_1.ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
} else if (check.kind === "trim") {
input.data = input.data.trim();
} else if (check.kind === "includes") {
if (!input.data.includes(check.value, check.position)) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_string,
validation: { includes: check.value, position: check.position },
message: check.message
});
status.dirty();
}
} else if (check.kind === "toLowerCase") {
input.data = input.data.toLowerCase();
} else if (check.kind === "toUpperCase") {
input.data = input.data.toUpperCase();
} else if (check.kind === "startsWith") {
if (!input.data.startsWith(check.value)) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_string,
validation: { startsWith: check.value },
message: check.message
});
status.dirty();
}
} else if (check.kind === "endsWith") {
if (!input.data.endsWith(check.value)) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_string,
validation: { endsWith: check.value },
message: check.message
});
status.dirty();
}
} else if (check.kind === "datetime") {
const regex = datetimeRegex(check);
if (!regex.test(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_string,
validation: "datetime",
message: check.message
});
status.dirty();
}
} else if (check.kind === "date") {
const regex = dateRegex;
if (!regex.test(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_string,
validation: "date",
message: check.message
});
status.dirty();
}
} else if (check.kind === "time") {
const regex = timeRegex(check);
if (!regex.test(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_string,
validation: "time",
message: check.message
});
status.dirty();
}
} else if (check.kind === "duration") {
if (!durationRegex.test(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
validation: "duration",
code: ZodError_js_1.ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
} else if (check.kind === "ip") {
if (!isValidIP(input.data, check.version)) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
validation: "ip",
code: ZodError_js_1.ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
} else if (check.kind === "jwt") {
if (!isValidJWT(input.data, check.alg)) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
validation: "jwt",
code: ZodError_js_1.ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
} else if (check.kind === "cidr") {
if (!isValidCidr(input.data, check.version)) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
validation: "cidr",
code: ZodError_js_1.ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
} else if (check.kind === "base64") {
if (!base64Regex.test(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
validation: "base64",
code: ZodError_js_1.ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
} else if (check.kind === "base64url") {
if (!base64urlRegex.test(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
validation: "base64url",
code: ZodError_js_1.ZodIssueCode.invalid_string,
message: check.message
});
status.dirty();
}
} else {
util_js_1.util.assertNever(check);
}
}
return { status: status.value, value: input.data };
}
_regex(regex, validation, message) {
return this.refinement((data) => regex.test(data), {
validation,
code: ZodError_js_1.ZodIssueCode.invalid_string,
...errorUtil_js_1.errorUtil.errToObj(message)
});
}
_addCheck(check) {
return new _ZodString({
...this._def,
checks: [...this._def.checks, check]
});
}
email(message) {
return this._addCheck({ kind: "email", ...errorUtil_js_1.errorUtil.errToObj(message) });
}
url(message) {
return this._addCheck({ kind: "url", ...errorUtil_js_1.errorUtil.errToObj(message) });
}
emoji(message) {
return this._addCheck({ kind: "emoji", ...errorUtil_js_1.errorUtil.errToObj(message) });
}
uuid(message) {
return this._addCheck({ kind: "uuid", ...errorUtil_js_1.errorUtil.errToObj(message) });
}
nanoid(message) {
return this._addCheck({ kind: "nanoid", ...errorUtil_js_1.errorUtil.errToObj(message) });
}
cuid(message) {
return this._addCheck({ kind: "cuid", ...errorUtil_js_1.errorUtil.errToObj(message) });
}
cuid2(message) {
return this._addCheck({ kind: "cuid2", ...errorUtil_js_1.errorUtil.errToObj(message) });
}
ulid(message) {
return this._addCheck({ kind: "ulid", ...errorUtil_js_1.errorUtil.errToObj(message) });
}
base64(message) {
return this._addCheck({ kind: "base64", ...errorUtil_js_1.errorUtil.errToObj(message) });
}
base64url(message) {
return this._addCheck({
kind: "base64url",
...errorUtil_js_1.errorUtil.errToObj(message)
});
}
jwt(options) {
return this._addCheck({ kind: "jwt", ...errorUtil_js_1.errorUtil.errToObj(options) });
}
ip(options) {
return this._addCheck({ kind: "ip", ...errorUtil_js_1.errorUtil.errToObj(options) });
}
cidr(options) {
return this._addCheck({ kind: "cidr", ...errorUtil_js_1.errorUtil.errToObj(options) });
}
datetime(options) {
if (typeof options === "string") {
return this._addCheck({
kind: "datetime",
precision: null,
offset: false,
local: false,
message: options
});
}
return this._addCheck({
kind: "datetime",
precision: typeof options?.precision === "undefined" ? null : options?.precision,
offset: options?.offset ?? false,
local: options?.local ?? false,
...errorUtil_js_1.errorUtil.errToObj(options?.message)
});
}
date(message) {
return this._addCheck({ kind: "date", message });
}
time(options) {
if (typeof options === "string") {
return this._addCheck({
kind: "time",
precision: null,
message: options
});
}
return this._addCheck({
kind: "time",
precision: typeof options?.precision === "undefined" ? null : options?.precision,
...errorUtil_js_1.errorUtil.errToObj(options?.message)
});
}
duration(message) {
return this._addCheck({ kind: "duration", ...errorUtil_js_1.errorUtil.errToObj(message) });
}
regex(regex, message) {
return this._addCheck({
kind: "regex",
regex,
...errorUtil_js_1.errorUtil.errToObj(message)
});
}
includes(value, options) {
return this._addCheck({
kind: "includes",
value,
position: options?.position,
...errorUtil_js_1.errorUtil.errToObj(options?.message)
});
}
startsWith(value, message) {
return this._addCheck({
kind: "startsWith",
value,
...errorUtil_js_1.errorUtil.errToObj(message)
});
}
endsWith(value, message) {
return this._addCheck({
kind: "endsWith",
value,
...errorUtil_js_1.errorUtil.errToObj(message)
});
}
min(minLength, message) {
return this._addCheck({
kind: "min",
value: minLength,
...errorUtil_js_1.errorUtil.errToObj(message)
});
}
max(maxLength, message) {
return this._addCheck({
kind: "max",
value: maxLength,
...errorUtil_js_1.errorUtil.errToObj(message)
});
}
length(len, message) {
return this._addCheck({
kind: "length",
value: len,
...errorUtil_js_1.errorUtil.errToObj(message)
});
}
/**
* Equivalent to `.min(1)`
*/
nonempty(message) {
return this.min(1, errorUtil_js_1.errorUtil.errToObj(message));
}
trim() {
return new _ZodString({
...this._def,
checks: [...this._def.checks, { kind: "trim" }]
});
}
toLowerCase() {
return new _ZodString({
...this._def,
checks: [...this._def.checks, { kind: "toLowerCase" }]
});
}
toUpperCase() {
return new _ZodString({
...this._def,
checks: [...this._def.checks, { kind: "toUpperCase" }]
});
}
get isDatetime() {
return !!this._def.checks.find((ch) => ch.kind === "datetime");
}
get isDate() {
return !!this._def.checks.find((ch) => ch.kind === "date");
}
get isTime() {
return !!this._def.checks.find((ch) => ch.kind === "time");
}
get isDuration() {
return !!this._def.checks.find((ch) => ch.kind === "duration");
}
get isEmail() {
return !!this._def.checks.find((ch) => ch.kind === "email");
}
get isURL() {
return !!this._def.checks.find((ch) => ch.kind === "url");
}
get isEmoji() {
return !!this._def.checks.find((ch) => ch.kind === "emoji");
}
get isUUID() {
return !!this._def.checks.find((ch) => ch.kind === "uuid");
}
get isNANOID() {
return !!this._def.checks.find((ch) => ch.kind === "nanoid");
}
get isCUID() {
return !!this._def.checks.find((ch) => ch.kind === "cuid");
}
get isCUID2() {
return !!this._def.checks.find((ch) => ch.kind === "cuid2");
}
get isULID() {
return !!this._def.checks.find((ch) => ch.kind === "ulid");
}
get isIP() {
return !!this._def.checks.find((ch) => ch.kind === "ip");
}
get isCIDR() {
return !!this._def.checks.find((ch) => ch.kind === "cidr");
}
get isBase64() {
return !!this._def.checks.find((ch) => ch.kind === "base64");
}
get isBase64url() {
return !!this._def.checks.find((ch) => ch.kind === "base64url");
}
get minLength() {
let min = null;
for (const ch of this._def.checks) {
if (ch.kind === "min") {
if (min === null || ch.value > min)
min = ch.value;
}
}
return min;
}
get maxLength() {
let max = null;
for (const ch of this._def.checks) {
if (ch.kind === "max") {
if (max === null || ch.value < max)
max = ch.value;
}
}
return max;
}
};
exports2.ZodString = ZodString;
ZodString.create = (params) => {
return new ZodString({
checks: [],
typeName: ZodFirstPartyTypeKind.ZodString,
coerce: params?.coerce ?? false,
...processCreateParams(params)
});
};
function floatSafeRemainder(val, step) {
const valDecCount = (val.toString().split(".")[1] || "").length;
const stepDecCount = (step.toString().split(".")[1] || "").length;
const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;
const valInt = Number.parseInt(val.toFixed(decCount).replace(".", ""));
const stepInt = Number.parseInt(step.toFixed(decCount).replace(".", ""));
return valInt % stepInt / 10 ** decCount;
}
var ZodNumber = class _ZodNumber extends ZodType {
constructor() {
super(...arguments);
this.min = this.gte;
this.max = this.lte;
this.step = this.multipleOf;
}
_parse(input) {
if (this._def.coerce) {
input.data = Number(input.data);
}
const parsedType = this._getType(input);
if (parsedType !== util_js_1.ZodParsedType.number) {
const ctx2 = this._getOrReturnCtx(input);
(0, parseUtil_js_1.addIssueToContext)(ctx2, {
code: ZodError_js_1.ZodIssueCode.invalid_type,
expected: util_js_1.ZodParsedType.number,
received: ctx2.parsedType
});
return parseUtil_js_1.INVALID;
}
let ctx = void 0;
const status = new parseUtil_js_1.ParseStatus();
for (const check of this._def.checks) {
if (check.kind === "int") {
if (!util_js_1.util.isInteger(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_type,
expected: "integer",
received: "float",
message: check.message
});
status.dirty();
}
} else if (check.kind === "min") {
const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;
if (tooSmall) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.too_small,
minimum: check.value,
type: "number",
inclusive: check.inclusive,
exact: false,
message: check.message
});
status.dirty();
}
} else if (check.kind === "max") {
const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;
if (tooBig) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.too_big,
maximum: check.value,
type: "number",
inclusive: check.inclusive,
exact: false,
message: check.message
});
status.dirty();
}
} else if (check.kind === "multipleOf") {
if (floatSafeRemainder(input.data, check.value) !== 0) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.not_multiple_of,
multipleOf: check.value,
message: check.message
});
status.dirty();
}
} else if (check.kind === "finite") {
if (!Number.isFinite(input.data)) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.not_finite,
message: check.message
});
status.dirty();
}
} else {
util_js_1.util.assertNever(check);
}
}
return { status: status.value, value: input.data };
}
gte(value, message) {
return this.setLimit("min", value, true, errorUtil_js_1.errorUtil.toString(message));
}
gt(value, message) {
return this.setLimit("min", value, false, errorUtil_js_1.errorUtil.toString(message));
}
lte(value, message) {
return this.setLimit("max", value, true, errorUtil_js_1.errorUtil.toString(message));
}
lt(value, message) {
return this.setLimit("max", value, false, errorUtil_js_1.errorUtil.toString(message));
}
setLimit(kind, value, inclusive, message) {
return new _ZodNumber({
...this._def,
checks: [
...this._def.checks,
{
kind,
value,
inclusive,
message: errorUtil_js_1.errorUtil.toString(message)
}
]
});
}
_addCheck(check) {
return new _ZodNumber({
...this._def,
checks: [...this._def.checks, check]
});
}
int(message) {
return this._addCheck({
kind: "int",
message: errorUtil_js_1.errorUtil.toString(message)
});
}
positive(message) {
return this._addCheck({
kind: "min",
value: 0,
inclusive: false,
message: errorUtil_js_1.errorUtil.toString(message)
});
}
negative(message) {
return this._addCheck({
kind: "max",
value: 0,
inclusive: false,
message: errorUtil_js_1.errorUtil.toString(message)
});
}
nonpositive(message) {
return this._addCheck({
kind: "max",
value: 0,
inclusive: true,
message: errorUtil_js_1.errorUtil.toString(message)
});
}
nonnegative(message) {
return this._addCheck({
kind: "min",
value: 0,
inclusive: true,
message: errorUtil_js_1.errorUtil.toString(message)
});
}
multipleOf(value, message) {
return this._addCheck({
kind: "multipleOf",
value,
message: errorUtil_js_1.errorUtil.toString(message)
});
}
finite(message) {
return this._addCheck({
kind: "finite",
message: errorUtil_js_1.errorUtil.toString(message)
});
}
safe(message) {
return this._addCheck({
kind: "min",
inclusive: true,
value: Number.MIN_SAFE_INTEGER,
message: errorUtil_js_1.errorUtil.toString(message)
})._addCheck({
kind: "max",
inclusive: true,
value: Number.MAX_SAFE_INTEGER,
message: errorUtil_js_1.errorUtil.toString(message)
});
}
get minValue() {
let min = null;
for (const ch of this._def.checks) {
if (ch.kind === "min") {
if (min === null || ch.value > min)
min = ch.value;
}
}
return min;
}
get maxValue() {
let max = null;
for (const ch of this._def.checks) {
if (ch.kind === "max") {
if (max === null || ch.value < max)
max = ch.value;
}
}
return max;
}
get isInt() {
return !!this._def.checks.find((ch) => ch.kind === "int" || ch.kind === "multipleOf" && util_js_1.util.isInteger(ch.value));
}
get isFinite() {
let max = null;
let min = null;
for (const ch of this._def.checks) {
if (ch.kind === "finite" || ch.kind === "int" || ch.kind === "multipleOf") {
return true;
} else if (ch.kind === "min") {
if (min === null || ch.value > min)
min = ch.value;
} else if (ch.kind === "max") {
if (max === null || ch.value < max)
max = ch.value;
}
}
return Number.isFinite(min) && Number.isFinite(max);
}
};
exports2.ZodNumber = ZodNumber;
ZodNumber.create = (params) => {
return new ZodNumber({
checks: [],
typeName: ZodFirstPartyTypeKind.ZodNumber,
coerce: params?.coerce || false,
...processCreateParams(params)
});
};
var ZodBigInt = class _ZodBigInt extends ZodType {
constructor() {
super(...arguments);
this.min = this.gte;
this.max = this.lte;
}
_parse(input) {
if (this._def.coerce) {
try {
input.data = BigInt(input.data);
} catch {
return this._getInvalidInput(input);
}
}
const parsedType = this._getType(input);
if (parsedType !== util_js_1.ZodParsedType.bigint) {
return this._getInvalidInput(input);
}
let ctx = void 0;
const status = new parseUtil_js_1.ParseStatus();
for (const check of this._def.checks) {
if (check.kind === "min") {
const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;
if (tooSmall) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.too_small,
type: "bigint",
minimum: check.value,
inclusive: check.inclusive,
message: check.message
});
status.dirty();
}
} else if (check.kind === "max") {
const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;
if (tooBig) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.too_big,
type: "bigint",
maximum: check.value,
inclusive: check.inclusive,
message: check.message
});
status.dirty();
}
} else if (check.kind === "multipleOf") {
if (input.data % check.value !== BigInt(0)) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.not_multiple_of,
multipleOf: check.value,
message: check.message
});
status.dirty();
}
} else {
util_js_1.util.assertNever(check);
}
}
return { status: status.value, value: input.data };
}
_getInvalidInput(input) {
const ctx = this._getOrReturnCtx(input);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_type,
expected: util_js_1.ZodParsedType.bigint,
received: ctx.parsedType
});
return parseUtil_js_1.INVALID;
}
gte(value, message) {
return this.setLimit("min", value, true, errorUtil_js_1.errorUtil.toString(message));
}
gt(value, message) {
return this.setLimit("min", value, false, errorUtil_js_1.errorUtil.toString(message));
}
lte(value, message) {
return this.setLimit("max", value, true, errorUtil_js_1.errorUtil.toString(message));
}
lt(value, message) {
return this.setLimit("max", value, false, errorUtil_js_1.errorUtil.toString(message));
}
setLimit(kind, value, inclusive, message) {
return new _ZodBigInt({
...this._def,
checks: [
...this._def.checks,
{
kind,
value,
inclusive,
message: errorUtil_js_1.errorUtil.toString(message)
}
]
});
}
_addCheck(check) {
return new _ZodBigInt({
...this._def,
checks: [...this._def.checks, check]
});
}
positive(message) {
return this._addCheck({
kind: "min",
value: BigInt(0),
inclusive: false,
message: errorUtil_js_1.errorUtil.toString(message)
});
}
negative(message) {
return this._addCheck({
kind: "max",
value: BigInt(0),
inclusive: false,
message: errorUtil_js_1.errorUtil.toString(message)
});
}
nonpositive(message) {
return this._addCheck({
kind: "max",
value: BigInt(0),
inclusive: true,
message: errorUtil_js_1.errorUtil.toString(message)
});
}
nonnegative(message) {
return this._addCheck({
kind: "min",
value: BigInt(0),
inclusive: true,
message: errorUtil_js_1.errorUtil.toString(message)
});
}
multipleOf(value, message) {
return this._addCheck({
kind: "multipleOf",
value,
message: errorUtil_js_1.errorUtil.toString(message)
});
}
get minValue() {
let min = null;
for (const ch of this._def.checks) {
if (ch.kind === "min") {
if (min === null || ch.value > min)
min = ch.value;
}
}
return min;
}
get maxValue() {
let max = null;
for (const ch of this._def.checks) {
if (ch.kind === "max") {
if (max === null || ch.value < max)
max = ch.value;
}
}
return max;
}
};
exports2.ZodBigInt = ZodBigInt;
ZodBigInt.create = (params) => {
return new ZodBigInt({
checks: [],
typeName: ZodFirstPartyTypeKind.ZodBigInt,
coerce: params?.coerce ?? false,
...processCreateParams(params)
});
};
var ZodBoolean = class extends ZodType {
_parse(input) {
if (this._def.coerce) {
input.data = Boolean(input.data);
}
const parsedType = this._getType(input);
if (parsedType !== util_js_1.ZodParsedType.boolean) {
const ctx = this._getOrReturnCtx(input);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_type,
expected: util_js_1.ZodParsedType.boolean,
received: ctx.parsedType
});
return parseUtil_js_1.INVALID;
}
return (0, parseUtil_js_1.OK)(input.data);
}
};
exports2.ZodBoolean = ZodBoolean;
ZodBoolean.create = (params) => {
return new ZodBoolean({
typeName: ZodFirstPartyTypeKind.ZodBoolean,
coerce: params?.coerce || false,
...processCreateParams(params)
});
};
var ZodDate = class _ZodDate extends ZodType {
_parse(input) {
if (this._def.coerce) {
input.data = new Date(input.data);
}
const parsedType = this._getType(input);
if (parsedType !== util_js_1.ZodParsedType.date) {
const ctx2 = this._getOrReturnCtx(input);
(0, parseUtil_js_1.addIssueToContext)(ctx2, {
code: ZodError_js_1.ZodIssueCode.invalid_type,
expected: util_js_1.ZodParsedType.date,
received: ctx2.parsedType
});
return parseUtil_js_1.INVALID;
}
if (Number.isNaN(input.data.getTime())) {
const ctx2 = this._getOrReturnCtx(input);
(0, parseUtil_js_1.addIssueToContext)(ctx2, {
code: ZodError_js_1.ZodIssueCode.invalid_date
});
return parseUtil_js_1.INVALID;
}
const status = new parseUtil_js_1.ParseStatus();
let ctx = void 0;
for (const check of this._def.checks) {
if (check.kind === "min") {
if (input.data.getTime() < check.value) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.too_small,
message: check.message,
inclusive: true,
exact: false,
minimum: check.value,
type: "date"
});
status.dirty();
}
} else if (check.kind === "max") {
if (input.data.getTime() > check.value) {
ctx = this._getOrReturnCtx(input, ctx);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.too_big,
message: check.message,
inclusive: true,
exact: false,
maximum: check.value,
type: "date"
});
status.dirty();
}
} else {
util_js_1.util.assertNever(check);
}
}
return {
status: status.value,
value: new Date(input.data.getTime())
};
}
_addCheck(check) {
return new _ZodDate({
...this._def,
checks: [...this._def.checks, check]
});
}
min(minDate, message) {
return this._addCheck({
kind: "min",
value: minDate.getTime(),
message: errorUtil_js_1.errorUtil.toString(message)
});
}
max(maxDate, message) {
return this._addCheck({
kind: "max",
value: maxDate.getTime(),
message: errorUtil_js_1.errorUtil.toString(message)
});
}
get minDate() {
let min = null;
for (const ch of this._def.checks) {
if (ch.kind === "min") {
if (min === null || ch.value > min)
min = ch.value;
}
}
return min != null ? new Date(min) : null;
}
get maxDate() {
let max = null;
for (const ch of this._def.checks) {
if (ch.kind === "max") {
if (max === null || ch.value < max)
max = ch.value;
}
}
return max != null ? new Date(max) : null;
}
};
exports2.ZodDate = ZodDate;
ZodDate.create = (params) => {
return new ZodDate({
checks: [],
coerce: params?.coerce || false,
typeName: ZodFirstPartyTypeKind.ZodDate,
...processCreateParams(params)
});
};
var ZodSymbol = class extends ZodType {
_parse(input) {
const parsedType = this._getType(input);
if (parsedType !== util_js_1.ZodParsedType.symbol) {
const ctx = this._getOrReturnCtx(input);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_type,
expected: util_js_1.ZodParsedType.symbol,
received: ctx.parsedType
});
return parseUtil_js_1.INVALID;
}
return (0, parseUtil_js_1.OK)(input.data);
}
};
exports2.ZodSymbol = ZodSymbol;
ZodSymbol.create = (params) => {
return new ZodSymbol({
typeName: ZodFirstPartyTypeKind.ZodSymbol,
...processCreateParams(params)
});
};
var ZodUndefined = class extends ZodType {
_parse(input) {
const parsedType = this._getType(input);
if (parsedType !== util_js_1.ZodParsedType.undefined) {
const ctx = this._getOrReturnCtx(input);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_type,
expected: util_js_1.ZodParsedType.undefined,
received: ctx.parsedType
});
return parseUtil_js_1.INVALID;
}
return (0, parseUtil_js_1.OK)(input.data);
}
};
exports2.ZodUndefined = ZodUndefined;
ZodUndefined.create = (params) => {
return new ZodUndefined({
typeName: ZodFirstPartyTypeKind.ZodUndefined,
...processCreateParams(params)
});
};
var ZodNull = class extends ZodType {
_parse(input) {
const parsedType = this._getType(input);
if (parsedType !== util_js_1.ZodParsedType.null) {
const ctx = this._getOrReturnCtx(input);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_type,
expected: util_js_1.ZodParsedType.null,
received: ctx.parsedType
});
return parseUtil_js_1.INVALID;
}
return (0, parseUtil_js_1.OK)(input.data);
}
};
exports2.ZodNull = ZodNull;
ZodNull.create = (params) => {
return new ZodNull({
typeName: ZodFirstPartyTypeKind.ZodNull,
...processCreateParams(params)
});
};
var ZodAny = class extends ZodType {
constructor() {
super(...arguments);
this._any = true;
}
_parse(input) {
return (0, parseUtil_js_1.OK)(input.data);
}
};
exports2.ZodAny = ZodAny;
ZodAny.create = (params) => {
return new ZodAny({
typeName: ZodFirstPartyTypeKind.ZodAny,
...processCreateParams(params)
});
};
var ZodUnknown = class extends ZodType {
constructor() {
super(...arguments);
this._unknown = true;
}
_parse(input) {
return (0, parseUtil_js_1.OK)(input.data);
}
};
exports2.ZodUnknown = ZodUnknown;
ZodUnknown.create = (params) => {
return new ZodUnknown({
typeName: ZodFirstPartyTypeKind.ZodUnknown,
...processCreateParams(params)
});
};
var ZodNever = class extends ZodType {
_parse(input) {
const ctx = this._getOrReturnCtx(input);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_type,
expected: util_js_1.ZodParsedType.never,
received: ctx.parsedType
});
return parseUtil_js_1.INVALID;
}
};
exports2.ZodNever = ZodNever;
ZodNever.create = (params) => {
return new ZodNever({
typeName: ZodFirstPartyTypeKind.ZodNever,
...processCreateParams(params)
});
};
var ZodVoid = class extends ZodType {
_parse(input) {
const parsedType = this._getType(input);
if (parsedType !== util_js_1.ZodParsedType.undefined) {
const ctx = this._getOrReturnCtx(input);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_type,
expected: util_js_1.ZodParsedType.void,
received: ctx.parsedType
});
return parseUtil_js_1.INVALID;
}
return (0, parseUtil_js_1.OK)(input.data);
}
};
exports2.ZodVoid = ZodVoid;
ZodVoid.create = (params) => {
return new ZodVoid({
typeName: ZodFirstPartyTypeKind.ZodVoid,
...processCreateParams(params)
});
};
var ZodArray = class _ZodArray extends ZodType {
_parse(input) {
const { ctx, status } = this._processInputParams(input);
const def = this._def;
if (ctx.parsedType !== util_js_1.ZodParsedType.array) {
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_type,
expected: util_js_1.ZodParsedType.array,
received: ctx.parsedType
});
return parseUtil_js_1.INVALID;
}
if (def.exactLength !== null) {
const tooBig = ctx.data.length > def.exactLength.value;
const tooSmall = ctx.data.length < def.exactLength.value;
if (tooBig || tooSmall) {
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: tooBig ? ZodError_js_1.ZodIssueCode.too_big : ZodError_js_1.ZodIssueCode.too_small,
minimum: tooSmall ? def.exactLength.value : void 0,
maximum: tooBig ? def.exactLength.value : void 0,
type: "array",
inclusive: true,
exact: true,
message: def.exactLength.message
});
status.dirty();
}
}
if (def.minLength !== null) {
if (ctx.data.length < def.minLength.value) {
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.too_small,
minimum: def.minLength.value,
type: "array",
inclusive: true,
exact: false,
message: def.minLength.message
});
status.dirty();
}
}
if (def.maxLength !== null) {
if (ctx.data.length > def.maxLength.value) {
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.too_big,
maximum: def.maxLength.value,
type: "array",
inclusive: true,
exact: false,
message: def.maxLength.message
});
status.dirty();
}
}
if (ctx.common.async) {
return Promise.all([...ctx.data].map((item, i) => {
return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i));
})).then((result2) => {
return parseUtil_js_1.ParseStatus.mergeArray(status, result2);
});
}
const result = [...ctx.data].map((item, i) => {
return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i));
});
return parseUtil_js_1.ParseStatus.mergeArray(status, result);
}
get element() {
return this._def.type;
}
min(minLength, message) {
return new _ZodArray({
...this._def,
minLength: { value: minLength, message: errorUtil_js_1.errorUtil.toString(message) }
});
}
max(maxLength, message) {
return new _ZodArray({
...this._def,
maxLength: { value: maxLength, message: errorUtil_js_1.errorUtil.toString(message) }
});
}
length(len, message) {
return new _ZodArray({
...this._def,
exactLength: { value: len, message: errorUtil_js_1.errorUtil.toString(message) }
});
}
nonempty(message) {
return this.min(1, message);
}
};
exports2.ZodArray = ZodArray;
ZodArray.create = (schema, params) => {
return new ZodArray({
type: schema,
minLength: null,
maxLength: null,
exactLength: null,
typeName: ZodFirstPartyTypeKind.ZodArray,
...processCreateParams(params)
});
};
function deepPartialify(schema) {
if (schema instanceof ZodObject) {
const newShape = {};
for (const key in schema.shape) {
const fieldSchema = schema.shape[key];
newShape[key] = ZodOptional.create(deepPartialify(fieldSchema));
}
return new ZodObject({
...schema._def,
shape: () => newShape
});
} else if (schema instanceof ZodArray) {
return new ZodArray({
...schema._def,
type: deepPartialify(schema.element)
});
} else if (schema instanceof ZodOptional) {
return ZodOptional.create(deepPartialify(schema.unwrap()));
} else if (schema instanceof ZodNullable) {
return ZodNullable.create(deepPartialify(schema.unwrap()));
} else if (schema instanceof ZodTuple) {
return ZodTuple.create(schema.items.map((item) => deepPartialify(item)));
} else {
return schema;
}
}
var ZodObject = class _ZodObject extends ZodType {
constructor() {
super(...arguments);
this._cached = null;
this.nonstrict = this.passthrough;
this.augment = this.extend;
}
_getCached() {
if (this._cached !== null)
return this._cached;
const shape = this._def.shape();
const keys = util_js_1.util.objectKeys(shape);
this._cached = { shape, keys };
return this._cached;
}
_parse(input) {
const parsedType = this._getType(input);
if (parsedType !== util_js_1.ZodParsedType.object) {
const ctx2 = this._getOrReturnCtx(input);
(0, parseUtil_js_1.addIssueToContext)(ctx2, {
code: ZodError_js_1.ZodIssueCode.invalid_type,
expected: util_js_1.ZodParsedType.object,
received: ctx2.parsedType
});
return parseUtil_js_1.INVALID;
}
const { status, ctx } = this._processInputParams(input);
const { shape, keys: shapeKeys } = this._getCached();
const extraKeys = [];
if (!(this._def.catchall instanceof ZodNever && this._def.unknownKeys === "strip")) {
for (const key in ctx.data) {
if (!shapeKeys.includes(key)) {
extraKeys.push(key);
}
}
}
const pairs = [];
for (const key of shapeKeys) {
const keyValidator = shape[key];
const value = ctx.data[key];
pairs.push({
key: { status: "valid", value: key },
value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),
alwaysSet: key in ctx.data
});
}
if (this._def.catchall instanceof ZodNever) {
const unknownKeys = this._def.unknownKeys;
if (unknownKeys === "passthrough") {
for (const key of extraKeys) {
pairs.push({
key: { status: "valid", value: key },
value: { status: "valid", value: ctx.data[key] }
});
}
} else if (unknownKeys === "strict") {
if (extraKeys.length > 0) {
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.unrecognized_keys,
keys: extraKeys
});
status.dirty();
}
} else if (unknownKeys === "strip") {
} else {
throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);
}
} else {
const catchall = this._def.catchall;
for (const key of extraKeys) {
const value = ctx.data[key];
pairs.push({
key: { status: "valid", value: key },
value: catchall._parse(
new ParseInputLazyPath(ctx, value, ctx.path, key)
//, ctx.child(key), value, getParsedType(value)
),
alwaysSet: key in ctx.data
});
}
}
if (ctx.common.async) {
return Promise.resolve().then(async () => {
const syncPairs = [];
for (const pair of pairs) {
const key = await pair.key;
const value = await pair.value;
syncPairs.push({
key,
value,
alwaysSet: pair.alwaysSet
});
}
return syncPairs;
}).then((syncPairs) => {
return parseUtil_js_1.ParseStatus.mergeObjectSync(status, syncPairs);
});
} else {
return parseUtil_js_1.ParseStatus.mergeObjectSync(status, pairs);
}
}
get shape() {
return this._def.shape();
}
strict(message) {
errorUtil_js_1.errorUtil.errToObj;
return new _ZodObject({
...this._def,
unknownKeys: "strict",
...message !== void 0 ? {
errorMap: (issue, ctx) => {
const defaultError = this._def.errorMap?.(issue, ctx).message ?? ctx.defaultError;
if (issue.code === "unrecognized_keys")
return {
message: errorUtil_js_1.errorUtil.errToObj(message).message ?? defaultError
};
return {
message: defaultError
};
}
} : {}
});
}
strip() {
return new _ZodObject({
...this._def,
unknownKeys: "strip"
});
}
passthrough() {
return new _ZodObject({
...this._def,
unknownKeys: "passthrough"
});
}
// const AugmentFactory =
// <Def extends ZodObjectDef>(def: Def) =>
// <Augmentation extends ZodRawShape>(
// augmentation: Augmentation
// ): ZodObject<
// extendShape<ReturnType<Def["shape"]>, Augmentation>,
// Def["unknownKeys"],
// Def["catchall"]
// > => {
// return new ZodObject({
// ...def,
// shape: () => ({
// ...def.shape(),
// ...augmentation,
// }),
// }) as any;
// };
extend(augmentation) {
return new _ZodObject({
...this._def,
shape: () => ({
...this._def.shape(),
...augmentation
})
});
}
/**
* Prior to zod@1.0.12 there was a bug in the
* inferred type of merged objects. Please
* upgrade if you are experiencing issues.
*/
merge(merging) {
const merged = new _ZodObject({
unknownKeys: merging._def.unknownKeys,
catchall: merging._def.catchall,
shape: () => ({
...this._def.shape(),
...merging._def.shape()
}),
typeName: ZodFirstPartyTypeKind.ZodObject
});
return merged;
}
// merge<
// Incoming extends AnyZodObject,
// Augmentation extends Incoming["shape"],
// NewOutput extends {
// [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation
// ? Augmentation[k]["_output"]
// : k extends keyof Output
// ? Output[k]
// : never;
// },
// NewInput extends {
// [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation
// ? Augmentation[k]["_input"]
// : k extends keyof Input
// ? Input[k]
// : never;
// }
// >(
// merging: Incoming
// ): ZodObject<
// extendShape<T, ReturnType<Incoming["_def"]["shape"]>>,
// Incoming["_def"]["unknownKeys"],
// Incoming["_def"]["catchall"],
// NewOutput,
// NewInput
// > {
// const merged: any = new ZodObject({
// unknownKeys: merging._def.unknownKeys,
// catchall: merging._def.catchall,
// shape: () =>
// objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),
// typeName: ZodFirstPartyTypeKind.ZodObject,
// }) as any;
// return merged;
// }
setKey(key, schema) {
return this.augment({ [key]: schema });
}
// merge<Incoming extends AnyZodObject>(
// merging: Incoming
// ): //ZodObject<T & Incoming["_shape"], UnknownKeys, Catchall> = (merging) => {
// ZodObject<
// extendShape<T, ReturnType<Incoming["_def"]["shape"]>>,
// Incoming["_def"]["unknownKeys"],
// Incoming["_def"]["catchall"]
// > {
// // const mergedShape = objectUtil.mergeShapes(
// // this._def.shape(),
// // merging._def.shape()
// // );
// const merged: any = new ZodObject({
// unknownKeys: merging._def.unknownKeys,
// catchall: merging._def.catchall,
// shape: () =>
// objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),
// typeName: ZodFirstPartyTypeKind.ZodObject,
// }) as any;
// return merged;
// }
catchall(index) {
return new _ZodObject({
...this._def,
catchall: index
});
}
pick(mask) {
const shape = {};
for (const key of util_js_1.util.objectKeys(mask)) {
if (mask[key] && this.shape[key]) {
shape[key] = this.shape[key];
}
}
return new _ZodObject({
...this._def,
shape: () => shape
});
}
omit(mask) {
const shape = {};
for (const key of util_js_1.util.objectKeys(this.shape)) {
if (!mask[key]) {
shape[key] = this.shape[key];
}
}
return new _ZodObject({
...this._def,
shape: () => shape
});
}
/**
* @deprecated
*/
deepPartial() {
return deepPartialify(this);
}
partial(mask) {
const newShape = {};
for (const key of util_js_1.util.objectKeys(this.shape)) {
const fieldSchema = this.shape[key];
if (mask && !mask[key]) {
newShape[key] = fieldSchema;
} else {
newShape[key] = fieldSchema.optional();
}
}
return new _ZodObject({
...this._def,
shape: () => newShape
});
}
required(mask) {
const newShape = {};
for (const key of util_js_1.util.objectKeys(this.shape)) {
if (mask && !mask[key]) {
newShape[key] = this.shape[key];
} else {
const fieldSchema = this.shape[key];
let newField = fieldSchema;
while (newField instanceof ZodOptional) {
newField = newField._def.innerType;
}
newShape[key] = newField;
}
}
return new _ZodObject({
...this._def,
shape: () => newShape
});
}
keyof() {
return createZodEnum(util_js_1.util.objectKeys(this.shape));
}
};
exports2.ZodObject = ZodObject;
ZodObject.create = (shape, params) => {
return new ZodObject({
shape: () => shape,
unknownKeys: "strip",
catchall: ZodNever.create(),
typeName: ZodFirstPartyTypeKind.ZodObject,
...processCreateParams(params)
});
};
ZodObject.strictCreate = (shape, params) => {
return new ZodObject({
shape: () => shape,
unknownKeys: "strict",
catchall: ZodNever.create(),
typeName: ZodFirstPartyTypeKind.ZodObject,
...processCreateParams(params)
});
};
ZodObject.lazycreate = (shape, params) => {
return new ZodObject({
shape,
unknownKeys: "strip",
catchall: ZodNever.create(),
typeName: ZodFirstPartyTypeKind.ZodObject,
...processCreateParams(params)
});
};
var ZodUnion = class extends ZodType {
_parse(input) {
const { ctx } = this._processInputParams(input);
const options = this._def.options;
function handleResults(results) {
for (const result of results) {
if (result.result.status === "valid") {
return result.result;
}
}
for (const result of results) {
if (result.result.status === "dirty") {
ctx.common.issues.push(...result.ctx.common.issues);
return result.result;
}
}
const unionErrors = results.map((result) => new ZodError_js_1.ZodError(result.ctx.common.issues));
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_union,
unionErrors
});
return parseUtil_js_1.INVALID;
}
if (ctx.common.async) {
return Promise.all(options.map(async (option) => {
const childCtx = {
...ctx,
common: {
...ctx.common,
issues: []
},
parent: null
};
return {
result: await option._parseAsync({
data: ctx.data,
path: ctx.path,
parent: childCtx
}),
ctx: childCtx
};
})).then(handleResults);
} else {
let dirty = void 0;
const issues = [];
for (const option of options) {
const childCtx = {
...ctx,
common: {
...ctx.common,
issues: []
},
parent: null
};
const result = option._parseSync({
data: ctx.data,
path: ctx.path,
parent: childCtx
});
if (result.status === "valid") {
return result;
} else if (result.status === "dirty" && !dirty) {
dirty = { result, ctx: childCtx };
}
if (childCtx.common.issues.length) {
issues.push(childCtx.common.issues);
}
}
if (dirty) {
ctx.common.issues.push(...dirty.ctx.common.issues);
return dirty.result;
}
const unionErrors = issues.map((issues2) => new ZodError_js_1.ZodError(issues2));
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_union,
unionErrors
});
return parseUtil_js_1.INVALID;
}
}
get options() {
return this._def.options;
}
};
exports2.ZodUnion = ZodUnion;
ZodUnion.create = (types, params) => {
return new ZodUnion({
options: types,
typeName: ZodFirstPartyTypeKind.ZodUnion,
...processCreateParams(params)
});
};
var getDiscriminator = (type) => {
if (type instanceof ZodLazy) {
return getDiscriminator(type.schema);
} else if (type instanceof ZodEffects) {
return getDiscriminator(type.innerType());
} else if (type instanceof ZodLiteral) {
return [type.value];
} else if (type instanceof ZodEnum) {
return type.options;
} else if (type instanceof ZodNativeEnum) {
return util_js_1.util.objectValues(type.enum);
} else if (type instanceof ZodDefault) {
return getDiscriminator(type._def.innerType);
} else if (type instanceof ZodUndefined) {
return [void 0];
} else if (type instanceof ZodNull) {
return [null];
} else if (type instanceof ZodOptional) {
return [void 0, ...getDiscriminator(type.unwrap())];
} else if (type instanceof ZodNullable) {
return [null, ...getDiscriminator(type.unwrap())];
} else if (type instanceof ZodBranded) {
return getDiscriminator(type.unwrap());
} else if (type instanceof ZodReadonly) {
return getDiscriminator(type.unwrap());
} else if (type instanceof ZodCatch) {
return getDiscriminator(type._def.innerType);
} else {
return [];
}
};
var ZodDiscriminatedUnion = class _ZodDiscriminatedUnion extends ZodType {
_parse(input) {
const { ctx } = this._processInputParams(input);
if (ctx.parsedType !== util_js_1.ZodParsedType.object) {
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_type,
expected: util_js_1.ZodParsedType.object,
received: ctx.parsedType
});
return parseUtil_js_1.INVALID;
}
const discriminator = this.discriminator;
const discriminatorValue = ctx.data[discriminator];
const option = this.optionsMap.get(discriminatorValue);
if (!option) {
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_union_discriminator,
options: Array.from(this.optionsMap.keys()),
path: [discriminator]
});
return parseUtil_js_1.INVALID;
}
if (ctx.common.async) {
return option._parseAsync({
data: ctx.data,
path: ctx.path,
parent: ctx
});
} else {
return option._parseSync({
data: ctx.data,
path: ctx.path,
parent: ctx
});
}
}
get discriminator() {
return this._def.discriminator;
}
get options() {
return this._def.options;
}
get optionsMap() {
return this._def.optionsMap;
}
/**
* The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor.
* However, it only allows a union of objects, all of which need to share a discriminator property. This property must
* have a different value for each object in the union.
* @param discriminator the name of the discriminator property
* @param types an array of object schemas
* @param params
*/
static create(discriminator, options, params) {
const optionsMap = /* @__PURE__ */ new Map();
for (const type of options) {
const discriminatorValues = getDiscriminator(type.shape[discriminator]);
if (!discriminatorValues.length) {
throw new Error(`A discriminator value for key \`${discriminator}\` could not be extracted from all schema options`);
}
for (const value of discriminatorValues) {
if (optionsMap.has(value)) {
throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`);
}
optionsMap.set(value, type);
}
}
return new _ZodDiscriminatedUnion({
typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion,
discriminator,
options,
optionsMap,
...processCreateParams(params)
});
}
};
exports2.ZodDiscriminatedUnion = ZodDiscriminatedUnion;
function mergeValues(a, b) {
const aType = (0, util_js_1.getParsedType)(a);
const bType = (0, util_js_1.getParsedType)(b);
if (a === b) {
return { valid: true, data: a };
} else if (aType === util_js_1.ZodParsedType.object && bType === util_js_1.ZodParsedType.object) {
const bKeys = util_js_1.util.objectKeys(b);
const sharedKeys = util_js_1.util.objectKeys(a).filter((key) => bKeys.indexOf(key) !== -1);
const newObj = { ...a, ...b };
for (const key of sharedKeys) {
const sharedValue = mergeValues(a[key], b[key]);
if (!sharedValue.valid) {
return { valid: false };
}
newObj[key] = sharedValue.data;
}
return { valid: true, data: newObj };
} else if (aType === util_js_1.ZodParsedType.array && bType === util_js_1.ZodParsedType.array) {
if (a.length !== b.length) {
return { valid: false };
}
const newArray = [];
for (let index = 0; index < a.length; index++) {
const itemA = a[index];
const itemB = b[index];
const sharedValue = mergeValues(itemA, itemB);
if (!sharedValue.valid) {
return { valid: false };
}
newArray.push(sharedValue.data);
}
return { valid: true, data: newArray };
} else if (aType === util_js_1.ZodParsedType.date && bType === util_js_1.ZodParsedType.date && +a === +b) {
return { valid: true, data: a };
} else {
return { valid: false };
}
}
var ZodIntersection = class extends ZodType {
_parse(input) {
const { status, ctx } = this._processInputParams(input);
const handleParsed = (parsedLeft, parsedRight) => {
if ((0, parseUtil_js_1.isAborted)(parsedLeft) || (0, parseUtil_js_1.isAborted)(parsedRight)) {
return parseUtil_js_1.INVALID;
}
const merged = mergeValues(parsedLeft.value, parsedRight.value);
if (!merged.valid) {
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_intersection_types
});
return parseUtil_js_1.INVALID;
}
if ((0, parseUtil_js_1.isDirty)(parsedLeft) || (0, parseUtil_js_1.isDirty)(parsedRight)) {
status.dirty();
}
return { status: status.value, value: merged.data };
};
if (ctx.common.async) {
return Promise.all([
this._def.left._parseAsync({
data: ctx.data,
path: ctx.path,
parent: ctx
}),
this._def.right._parseAsync({
data: ctx.data,
path: ctx.path,
parent: ctx
})
]).then(([left, right]) => handleParsed(left, right));
} else {
return handleParsed(this._def.left._parseSync({
data: ctx.data,
path: ctx.path,
parent: ctx
}), this._def.right._parseSync({
data: ctx.data,
path: ctx.path,
parent: ctx
}));
}
}
};
exports2.ZodIntersection = ZodIntersection;
ZodIntersection.create = (left, right, params) => {
return new ZodIntersection({
left,
right,
typeName: ZodFirstPartyTypeKind.ZodIntersection,
...processCreateParams(params)
});
};
var ZodTuple = class _ZodTuple extends ZodType {
_parse(input) {
const { status, ctx } = this._processInputParams(input);
if (ctx.parsedType !== util_js_1.ZodParsedType.array) {
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_type,
expected: util_js_1.ZodParsedType.array,
received: ctx.parsedType
});
return parseUtil_js_1.INVALID;
}
if (ctx.data.length < this._def.items.length) {
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.too_small,
minimum: this._def.items.length,
inclusive: true,
exact: false,
type: "array"
});
return parseUtil_js_1.INVALID;
}
const rest = this._def.rest;
if (!rest && ctx.data.length > this._def.items.length) {
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.too_big,
maximum: this._def.items.length,
inclusive: true,
exact: false,
type: "array"
});
status.dirty();
}
const items = [...ctx.data].map((item, itemIndex) => {
const schema = this._def.items[itemIndex] || this._def.rest;
if (!schema)
return null;
return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex));
}).filter((x) => !!x);
if (ctx.common.async) {
return Promise.all(items).then((results) => {
return parseUtil_js_1.ParseStatus.mergeArray(status, results);
});
} else {
return parseUtil_js_1.ParseStatus.mergeArray(status, items);
}
}
get items() {
return this._def.items;
}
rest(rest) {
return new _ZodTuple({
...this._def,
rest
});
}
};
exports2.ZodTuple = ZodTuple;
ZodTuple.create = (schemas, params) => {
if (!Array.isArray(schemas)) {
throw new Error("You must pass an array of schemas to z.tuple([ ... ])");
}
return new ZodTuple({
items: schemas,
typeName: ZodFirstPartyTypeKind.ZodTuple,
rest: null,
...processCreateParams(params)
});
};
var ZodRecord = class _ZodRecord extends ZodType {
get keySchema() {
return this._def.keyType;
}
get valueSchema() {
return this._def.valueType;
}
_parse(input) {
const { status, ctx } = this._processInputParams(input);
if (ctx.parsedType !== util_js_1.ZodParsedType.object) {
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_type,
expected: util_js_1.ZodParsedType.object,
received: ctx.parsedType
});
return parseUtil_js_1.INVALID;
}
const pairs = [];
const keyType = this._def.keyType;
const valueType = this._def.valueType;
for (const key in ctx.data) {
pairs.push({
key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)),
value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)),
alwaysSet: key in ctx.data
});
}
if (ctx.common.async) {
return parseUtil_js_1.ParseStatus.mergeObjectAsync(status, pairs);
} else {
return parseUtil_js_1.ParseStatus.mergeObjectSync(status, pairs);
}
}
get element() {
return this._def.valueType;
}
static create(first, second, third) {
if (second instanceof ZodType) {
return new _ZodRecord({
keyType: first,
valueType: second,
typeName: ZodFirstPartyTypeKind.ZodRecord,
...processCreateParams(third)
});
}
return new _ZodRecord({
keyType: ZodString.create(),
valueType: first,
typeName: ZodFirstPartyTypeKind.ZodRecord,
...processCreateParams(second)
});
}
};
exports2.ZodRecord = ZodRecord;
var ZodMap = class extends ZodType {
get keySchema() {
return this._def.keyType;
}
get valueSchema() {
return this._def.valueType;
}
_parse(input) {
const { status, ctx } = this._processInputParams(input);
if (ctx.parsedType !== util_js_1.ZodParsedType.map) {
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_type,
expected: util_js_1.ZodParsedType.map,
received: ctx.parsedType
});
return parseUtil_js_1.INVALID;
}
const keyType = this._def.keyType;
const valueType = this._def.valueType;
const pairs = [...ctx.data.entries()].map(([key, value], index) => {
return {
key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, "key"])),
value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, "value"]))
};
});
if (ctx.common.async) {
const finalMap = /* @__PURE__ */ new Map();
return Promise.resolve().then(async () => {
for (const pair of pairs) {
const key = await pair.key;
const value = await pair.value;
if (key.status === "aborted" || value.status === "aborted") {
return parseUtil_js_1.INVALID;
}
if (key.status === "dirty" || value.status === "dirty") {
status.dirty();
}
finalMap.set(key.value, value.value);
}
return { status: status.value, value: finalMap };
});
} else {
const finalMap = /* @__PURE__ */ new Map();
for (const pair of pairs) {
const key = pair.key;
const value = pair.value;
if (key.status === "aborted" || value.status === "aborted") {
return parseUtil_js_1.INVALID;
}
if (key.status === "dirty" || value.status === "dirty") {
status.dirty();
}
finalMap.set(key.value, value.value);
}
return { status: status.value, value: finalMap };
}
}
};
exports2.ZodMap = ZodMap;
ZodMap.create = (keyType, valueType, params) => {
return new ZodMap({
valueType,
keyType,
typeName: ZodFirstPartyTypeKind.ZodMap,
...processCreateParams(params)
});
};
var ZodSet = class _ZodSet extends ZodType {
_parse(input) {
const { status, ctx } = this._processInputParams(input);
if (ctx.parsedType !== util_js_1.ZodParsedType.set) {
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_type,
expected: util_js_1.ZodParsedType.set,
received: ctx.parsedType
});
return parseUtil_js_1.INVALID;
}
const def = this._def;
if (def.minSize !== null) {
if (ctx.data.size < def.minSize.value) {
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.too_small,
minimum: def.minSize.value,
type: "set",
inclusive: true,
exact: false,
message: def.minSize.message
});
status.dirty();
}
}
if (def.maxSize !== null) {
if (ctx.data.size > def.maxSize.value) {
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.too_big,
maximum: def.maxSize.value,
type: "set",
inclusive: true,
exact: false,
message: def.maxSize.message
});
status.dirty();
}
}
const valueType = this._def.valueType;
function finalizeSet(elements2) {
const parsedSet = /* @__PURE__ */ new Set();
for (const element of elements2) {
if (element.status === "aborted")
return parseUtil_js_1.INVALID;
if (element.status === "dirty")
status.dirty();
parsedSet.add(element.value);
}
return { status: status.value, value: parsedSet };
}
const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i)));
if (ctx.common.async) {
return Promise.all(elements).then((elements2) => finalizeSet(elements2));
} else {
return finalizeSet(elements);
}
}
min(minSize, message) {
return new _ZodSet({
...this._def,
minSize: { value: minSize, message: errorUtil_js_1.errorUtil.toString(message) }
});
}
max(maxSize, message) {
return new _ZodSet({
...this._def,
maxSize: { value: maxSize, message: errorUtil_js_1.errorUtil.toString(message) }
});
}
size(size, message) {
return this.min(size, message).max(size, message);
}
nonempty(message) {
return this.min(1, message);
}
};
exports2.ZodSet = ZodSet;
ZodSet.create = (valueType, params) => {
return new ZodSet({
valueType,
minSize: null,
maxSize: null,
typeName: ZodFirstPartyTypeKind.ZodSet,
...processCreateParams(params)
});
};
var ZodFunction = class _ZodFunction extends ZodType {
constructor() {
super(...arguments);
this.validate = this.implement;
}
_parse(input) {
const { ctx } = this._processInputParams(input);
if (ctx.parsedType !== util_js_1.ZodParsedType.function) {
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_type,
expected: util_js_1.ZodParsedType.function,
received: ctx.parsedType
});
return parseUtil_js_1.INVALID;
}
function makeArgsIssue(args, error) {
return (0, parseUtil_js_1.makeIssue)({
data: args,
path: ctx.path,
errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, (0, errors_js_1.getErrorMap)(), errors_js_1.defaultErrorMap].filter((x) => !!x),
issueData: {
code: ZodError_js_1.ZodIssueCode.invalid_arguments,
argumentsError: error
}
});
}
function makeReturnsIssue(returns, error) {
return (0, parseUtil_js_1.makeIssue)({
data: returns,
path: ctx.path,
errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, (0, errors_js_1.getErrorMap)(), errors_js_1.defaultErrorMap].filter((x) => !!x),
issueData: {
code: ZodError_js_1.ZodIssueCode.invalid_return_type,
returnTypeError: error
}
});
}
const params = { errorMap: ctx.common.contextualErrorMap };
const fn = ctx.data;
if (this._def.returns instanceof ZodPromise) {
const me = this;
return (0, parseUtil_js_1.OK)(async function(...args) {
const error = new ZodError_js_1.ZodError([]);
const parsedArgs = await me._def.args.parseAsync(args, params).catch((e) => {
error.addIssue(makeArgsIssue(args, e));
throw error;
});
const result = await Reflect.apply(fn, this, parsedArgs);
const parsedReturns = await me._def.returns._def.type.parseAsync(result, params).catch((e) => {
error.addIssue(makeReturnsIssue(result, e));
throw error;
});
return parsedReturns;
});
} else {
const me = this;
return (0, parseUtil_js_1.OK)(function(...args) {
const parsedArgs = me._def.args.safeParse(args, params);
if (!parsedArgs.success) {
throw new ZodError_js_1.ZodError([makeArgsIssue(args, parsedArgs.error)]);
}
const result = Reflect.apply(fn, this, parsedArgs.data);
const parsedReturns = me._def.returns.safeParse(result, params);
if (!parsedReturns.success) {
throw new ZodError_js_1.ZodError([makeReturnsIssue(result, parsedReturns.error)]);
}
return parsedReturns.data;
});
}
}
parameters() {
return this._def.args;
}
returnType() {
return this._def.returns;
}
args(...items) {
return new _ZodFunction({
...this._def,
args: ZodTuple.create(items).rest(ZodUnknown.create())
});
}
returns(returnType) {
return new _ZodFunction({
...this._def,
returns: returnType
});
}
implement(func) {
const validatedFunc = this.parse(func);
return validatedFunc;
}
strictImplement(func) {
const validatedFunc = this.parse(func);
return validatedFunc;
}
static create(args, returns, params) {
return new _ZodFunction({
args: args ? args : ZodTuple.create([]).rest(ZodUnknown.create()),
returns: returns || ZodUnknown.create(),
typeName: ZodFirstPartyTypeKind.ZodFunction,
...processCreateParams(params)
});
}
};
exports2.ZodFunction = ZodFunction;
var ZodLazy = class extends ZodType {
get schema() {
return this._def.getter();
}
_parse(input) {
const { ctx } = this._processInputParams(input);
const lazySchema = this._def.getter();
return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx });
}
};
exports2.ZodLazy = ZodLazy;
ZodLazy.create = (getter, params) => {
return new ZodLazy({
getter,
typeName: ZodFirstPartyTypeKind.ZodLazy,
...processCreateParams(params)
});
};
var ZodLiteral = class extends ZodType {
_parse(input) {
if (input.data !== this._def.value) {
const ctx = this._getOrReturnCtx(input);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
received: ctx.data,
code: ZodError_js_1.ZodIssueCode.invalid_literal,
expected: this._def.value
});
return parseUtil_js_1.INVALID;
}
return { status: "valid", value: input.data };
}
get value() {
return this._def.value;
}
};
exports2.ZodLiteral = ZodLiteral;
ZodLiteral.create = (value, params) => {
return new ZodLiteral({
value,
typeName: ZodFirstPartyTypeKind.ZodLiteral,
...processCreateParams(params)
});
};
function createZodEnum(values, params) {
return new ZodEnum({
values,
typeName: ZodFirstPartyTypeKind.ZodEnum,
...processCreateParams(params)
});
}
var ZodEnum = class _ZodEnum extends ZodType {
_parse(input) {
if (typeof input.data !== "string") {
const ctx = this._getOrReturnCtx(input);
const expectedValues = this._def.values;
(0, parseUtil_js_1.addIssueToContext)(ctx, {
expected: util_js_1.util.joinValues(expectedValues),
received: ctx.parsedType,
code: ZodError_js_1.ZodIssueCode.invalid_type
});
return parseUtil_js_1.INVALID;
}
if (!this._cache) {
this._cache = new Set(this._def.values);
}
if (!this._cache.has(input.data)) {
const ctx = this._getOrReturnCtx(input);
const expectedValues = this._def.values;
(0, parseUtil_js_1.addIssueToContext)(ctx, {
received: ctx.data,
code: ZodError_js_1.ZodIssueCode.invalid_enum_value,
options: expectedValues
});
return parseUtil_js_1.INVALID;
}
return (0, parseUtil_js_1.OK)(input.data);
}
get options() {
return this._def.values;
}
get enum() {
const enumValues = {};
for (const val of this._def.values) {
enumValues[val] = val;
}
return enumValues;
}
get Values() {
const enumValues = {};
for (const val of this._def.values) {
enumValues[val] = val;
}
return enumValues;
}
get Enum() {
const enumValues = {};
for (const val of this._def.values) {
enumValues[val] = val;
}
return enumValues;
}
extract(values, newDef = this._def) {
return _ZodEnum.create(values, {
...this._def,
...newDef
});
}
exclude(values, newDef = this._def) {
return _ZodEnum.create(this.options.filter((opt) => !values.includes(opt)), {
...this._def,
...newDef
});
}
};
exports2.ZodEnum = ZodEnum;
ZodEnum.create = createZodEnum;
var ZodNativeEnum = class extends ZodType {
_parse(input) {
const nativeEnumValues = util_js_1.util.getValidEnumValues(this._def.values);
const ctx = this._getOrReturnCtx(input);
if (ctx.parsedType !== util_js_1.ZodParsedType.string && ctx.parsedType !== util_js_1.ZodParsedType.number) {
const expectedValues = util_js_1.util.objectValues(nativeEnumValues);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
expected: util_js_1.util.joinValues(expectedValues),
received: ctx.parsedType,
code: ZodError_js_1.ZodIssueCode.invalid_type
});
return parseUtil_js_1.INVALID;
}
if (!this._cache) {
this._cache = new Set(util_js_1.util.getValidEnumValues(this._def.values));
}
if (!this._cache.has(input.data)) {
const expectedValues = util_js_1.util.objectValues(nativeEnumValues);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
received: ctx.data,
code: ZodError_js_1.ZodIssueCode.invalid_enum_value,
options: expectedValues
});
return parseUtil_js_1.INVALID;
}
return (0, parseUtil_js_1.OK)(input.data);
}
get enum() {
return this._def.values;
}
};
exports2.ZodNativeEnum = ZodNativeEnum;
ZodNativeEnum.create = (values, params) => {
return new ZodNativeEnum({
values,
typeName: ZodFirstPartyTypeKind.ZodNativeEnum,
...processCreateParams(params)
});
};
var ZodPromise = class extends ZodType {
unwrap() {
return this._def.type;
}
_parse(input) {
const { ctx } = this._processInputParams(input);
if (ctx.parsedType !== util_js_1.ZodParsedType.promise && ctx.common.async === false) {
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_type,
expected: util_js_1.ZodParsedType.promise,
received: ctx.parsedType
});
return parseUtil_js_1.INVALID;
}
const promisified = ctx.parsedType === util_js_1.ZodParsedType.promise ? ctx.data : Promise.resolve(ctx.data);
return (0, parseUtil_js_1.OK)(promisified.then((data) => {
return this._def.type.parseAsync(data, {
path: ctx.path,
errorMap: ctx.common.contextualErrorMap
});
}));
}
};
exports2.ZodPromise = ZodPromise;
ZodPromise.create = (schema, params) => {
return new ZodPromise({
type: schema,
typeName: ZodFirstPartyTypeKind.ZodPromise,
...processCreateParams(params)
});
};
var ZodEffects = class extends ZodType {
innerType() {
return this._def.schema;
}
sourceType() {
return this._def.schema._def.typeName === ZodFirstPartyTypeKind.ZodEffects ? this._def.schema.sourceType() : this._def.schema;
}
_parse(input) {
const { status, ctx } = this._processInputParams(input);
const effect = this._def.effect || null;
const checkCtx = {
addIssue: (arg) => {
(0, parseUtil_js_1.addIssueToContext)(ctx, arg);
if (arg.fatal) {
status.abort();
} else {
status.dirty();
}
},
get path() {
return ctx.path;
}
};
checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx);
if (effect.type === "preprocess") {
const processed = effect.transform(ctx.data, checkCtx);
if (ctx.common.async) {
return Promise.resolve(processed).then(async (processed2) => {
if (status.value === "aborted")
return parseUtil_js_1.INVALID;
const result = await this._def.schema._parseAsync({
data: processed2,
path: ctx.path,
parent: ctx
});
if (result.status === "aborted")
return parseUtil_js_1.INVALID;
if (result.status === "dirty")
return (0, parseUtil_js_1.DIRTY)(result.value);
if (status.value === "dirty")
return (0, parseUtil_js_1.DIRTY)(result.value);
return result;
});
} else {
if (status.value === "aborted")
return parseUtil_js_1.INVALID;
const result = this._def.schema._parseSync({
data: processed,
path: ctx.path,
parent: ctx
});
if (result.status === "aborted")
return parseUtil_js_1.INVALID;
if (result.status === "dirty")
return (0, parseUtil_js_1.DIRTY)(result.value);
if (status.value === "dirty")
return (0, parseUtil_js_1.DIRTY)(result.value);
return result;
}
}
if (effect.type === "refinement") {
const executeRefinement = (acc) => {
const result = effect.refinement(acc, checkCtx);
if (ctx.common.async) {
return Promise.resolve(result);
}
if (result instanceof Promise) {
throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");
}
return acc;
};
if (ctx.common.async === false) {
const inner = this._def.schema._parseSync({
data: ctx.data,
path: ctx.path,
parent: ctx
});
if (inner.status === "aborted")
return parseUtil_js_1.INVALID;
if (inner.status === "dirty")
status.dirty();
executeRefinement(inner.value);
return { status: status.value, value: inner.value };
} else {
return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((inner) => {
if (inner.status === "aborted")
return parseUtil_js_1.INVALID;
if (inner.status === "dirty")
status.dirty();
return executeRefinement(inner.value).then(() => {
return { status: status.value, value: inner.value };
});
});
}
}
if (effect.type === "transform") {
if (ctx.common.async === false) {
const base = this._def.schema._parseSync({
data: ctx.data,
path: ctx.path,
parent: ctx
});
if (!(0, parseUtil_js_1.isValid)(base))
return parseUtil_js_1.INVALID;
const result = effect.transform(base.value, checkCtx);
if (result instanceof Promise) {
throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);
}
return { status: status.value, value: result };
} else {
return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((base) => {
if (!(0, parseUtil_js_1.isValid)(base))
return parseUtil_js_1.INVALID;
return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({
status: status.value,
value: result
}));
});
}
}
util_js_1.util.assertNever(effect);
}
};
exports2.ZodEffects = ZodEffects;
exports2.ZodTransformer = ZodEffects;
ZodEffects.create = (schema, effect, params) => {
return new ZodEffects({
schema,
typeName: ZodFirstPartyTypeKind.ZodEffects,
effect,
...processCreateParams(params)
});
};
ZodEffects.createWithPreprocess = (preprocess, schema, params) => {
return new ZodEffects({
schema,
effect: { type: "preprocess", transform: preprocess },
typeName: ZodFirstPartyTypeKind.ZodEffects,
...processCreateParams(params)
});
};
var ZodOptional = class extends ZodType {
_parse(input) {
const parsedType = this._getType(input);
if (parsedType === util_js_1.ZodParsedType.undefined) {
return (0, parseUtil_js_1.OK)(void 0);
}
return this._def.innerType._parse(input);
}
unwrap() {
return this._def.innerType;
}
};
exports2.ZodOptional = ZodOptional;
ZodOptional.create = (type, params) => {
return new ZodOptional({
innerType: type,
typeName: ZodFirstPartyTypeKind.ZodOptional,
...processCreateParams(params)
});
};
var ZodNullable = class extends ZodType {
_parse(input) {
const parsedType = this._getType(input);
if (parsedType === util_js_1.ZodParsedType.null) {
return (0, parseUtil_js_1.OK)(null);
}
return this._def.innerType._parse(input);
}
unwrap() {
return this._def.innerType;
}
};
exports2.ZodNullable = ZodNullable;
ZodNullable.create = (type, params) => {
return new ZodNullable({
innerType: type,
typeName: ZodFirstPartyTypeKind.ZodNullable,
...processCreateParams(params)
});
};
var ZodDefault = class extends ZodType {
_parse(input) {
const { ctx } = this._processInputParams(input);
let data = ctx.data;
if (ctx.parsedType === util_js_1.ZodParsedType.undefined) {
data = this._def.defaultValue();
}
return this._def.innerType._parse({
data,
path: ctx.path,
parent: ctx
});
}
removeDefault() {
return this._def.innerType;
}
};
exports2.ZodDefault = ZodDefault;
ZodDefault.create = (type, params) => {
return new ZodDefault({
innerType: type,
typeName: ZodFirstPartyTypeKind.ZodDefault,
defaultValue: typeof params.default === "function" ? params.default : () => params.default,
...processCreateParams(params)
});
};
var ZodCatch = class extends ZodType {
_parse(input) {
const { ctx } = this._processInputParams(input);
const newCtx = {
...ctx,
common: {
...ctx.common,
issues: []
}
};
const result = this._def.innerType._parse({
data: newCtx.data,
path: newCtx.path,
parent: {
...newCtx
}
});
if ((0, parseUtil_js_1.isAsync)(result)) {
return result.then((result2) => {
return {
status: "valid",
value: result2.status === "valid" ? result2.value : this._def.catchValue({
get error() {
return new ZodError_js_1.ZodError(newCtx.common.issues);
},
input: newCtx.data
})
};
});
} else {
return {
status: "valid",
value: result.status === "valid" ? result.value : this._def.catchValue({
get error() {
return new ZodError_js_1.ZodError(newCtx.common.issues);
},
input: newCtx.data
})
};
}
}
removeCatch() {
return this._def.innerType;
}
};
exports2.ZodCatch = ZodCatch;
ZodCatch.create = (type, params) => {
return new ZodCatch({
innerType: type,
typeName: ZodFirstPartyTypeKind.ZodCatch,
catchValue: typeof params.catch === "function" ? params.catch : () => params.catch,
...processCreateParams(params)
});
};
var ZodNaN = class extends ZodType {
_parse(input) {
const parsedType = this._getType(input);
if (parsedType !== util_js_1.ZodParsedType.nan) {
const ctx = this._getOrReturnCtx(input);
(0, parseUtil_js_1.addIssueToContext)(ctx, {
code: ZodError_js_1.ZodIssueCode.invalid_type,
expected: util_js_1.ZodParsedType.nan,
received: ctx.parsedType
});
return parseUtil_js_1.INVALID;
}
return { status: "valid", value: input.data };
}
};
exports2.ZodNaN = ZodNaN;
ZodNaN.create = (params) => {
return new ZodNaN({
typeName: ZodFirstPartyTypeKind.ZodNaN,
...processCreateParams(params)
});
};
exports2.BRAND = Symbol("zod_brand");
var ZodBranded = class extends ZodType {
_parse(input) {
const { ctx } = this._processInputParams(input);
const data = ctx.data;
return this._def.type._parse({
data,
path: ctx.path,
parent: ctx
});
}
unwrap() {
return this._def.type;
}
};
exports2.ZodBranded = ZodBranded;
var ZodPipeline = class _ZodPipeline extends ZodType {
_parse(input) {
const { status, ctx } = this._processInputParams(input);
if (ctx.common.async) {
const handleAsync = async () => {
const inResult = await this._def.in._parseAsync({
data: ctx.data,
path: ctx.path,
parent: ctx
});
if (inResult.status === "aborted")
return parseUtil_js_1.INVALID;
if (inResult.status === "dirty") {
status.dirty();
return (0, parseUtil_js_1.DIRTY)(inResult.value);
} else {
return this._def.out._parseAsync({
data: inResult.value,
path: ctx.path,
parent: ctx
});
}
};
return handleAsync();
} else {
const inResult = this._def.in._parseSync({
data: ctx.data,
path: ctx.path,
parent: ctx
});
if (inResult.status === "aborted")
return parseUtil_js_1.INVALID;
if (inResult.status === "dirty") {
status.dirty();
return {
status: "dirty",
value: inResult.value
};
} else {
return this._def.out._parseSync({
data: inResult.value,
path: ctx.path,
parent: ctx
});
}
}
}
static create(a, b) {
return new _ZodPipeline({
in: a,
out: b,
typeName: ZodFirstPartyTypeKind.ZodPipeline
});
}
};
exports2.ZodPipeline = ZodPipeline;
var ZodReadonly = class extends ZodType {
_parse(input) {
const result = this._def.innerType._parse(input);
const freeze = (data) => {
if ((0, parseUtil_js_1.isValid)(data)) {
data.value = Object.freeze(data.value);
}
return data;
};
return (0, parseUtil_js_1.isAsync)(result) ? result.then((data) => freeze(data)) : freeze(result);
}
unwrap() {
return this._def.innerType;
}
};
exports2.ZodReadonly = ZodReadonly;
ZodReadonly.create = (type, params) => {
return new ZodReadonly({
innerType: type,
typeName: ZodFirstPartyTypeKind.ZodReadonly,
...processCreateParams(params)
});
};
function cleanParams(params, data) {
const p = typeof params === "function" ? params(data) : typeof params === "string" ? { message: params } : params;
const p2 = typeof p === "string" ? { message: p } : p;
return p2;
}
function custom(check, _params = {}, fatal) {
if (check)
return ZodAny.create().superRefine((data, ctx) => {
const r = check(data);
if (r instanceof Promise) {
return r.then((r2) => {
if (!r2) {
const params = cleanParams(_params, data);
const _fatal = params.fatal ?? fatal ?? true;
ctx.addIssue({ code: "custom", ...params, fatal: _fatal });
}
});
}
if (!r) {
const params = cleanParams(_params, data);
const _fatal = params.fatal ?? fatal ?? true;
ctx.addIssue({ code: "custom", ...params, fatal: _fatal });
}
return;
});
return ZodAny.create();
}
exports2.late = {
object: ZodObject.lazycreate
};
var ZodFirstPartyTypeKind;
(function(ZodFirstPartyTypeKind2) {
ZodFirstPartyTypeKind2["ZodString"] = "ZodString";
ZodFirstPartyTypeKind2["ZodNumber"] = "ZodNumber";
ZodFirstPartyTypeKind2["ZodNaN"] = "ZodNaN";
ZodFirstPartyTypeKind2["ZodBigInt"] = "ZodBigInt";
ZodFirstPartyTypeKind2["ZodBoolean"] = "ZodBoolean";
ZodFirstPartyTypeKind2["ZodDate"] = "ZodDate";
ZodFirstPartyTypeKind2["ZodSymbol"] = "ZodSymbol";
ZodFirstPartyTypeKind2["ZodUndefined"] = "ZodUndefined";
ZodFirstPartyTypeKind2["ZodNull"] = "ZodNull";
ZodFirstPartyTypeKind2["ZodAny"] = "ZodAny";
ZodFirstPartyTypeKind2["ZodUnknown"] = "ZodUnknown";
ZodFirstPartyTypeKind2["ZodNever"] = "ZodNever";
ZodFirstPartyTypeKind2["ZodVoid"] = "ZodVoid";
ZodFirstPartyTypeKind2["ZodArray"] = "ZodArray";
ZodFirstPartyTypeKind2["ZodObject"] = "ZodObject";
ZodFirstPartyTypeKind2["ZodUnion"] = "ZodUnion";
ZodFirstPartyTypeKind2["ZodDiscriminatedUnion"] = "ZodDiscriminatedUnion";
ZodFirstPartyTypeKind2["ZodIntersection"] = "ZodIntersection";
ZodFirstPartyTypeKind2["ZodTuple"] = "ZodTuple";
ZodFirstPartyTypeKind2["ZodRecord"] = "ZodRecord";
ZodFirstPartyTypeKind2["ZodMap"] = "ZodMap";
ZodFirstPartyTypeKind2["ZodSet"] = "ZodSet";
ZodFirstPartyTypeKind2["ZodFunction"] = "ZodFunction";
ZodFirstPartyTypeKind2["ZodLazy"] = "ZodLazy";
ZodFirstPartyTypeKind2["ZodLiteral"] = "ZodLiteral";
ZodFirstPartyTypeKind2["ZodEnum"] = "ZodEnum";
ZodFirstPartyTypeKind2["ZodEffects"] = "ZodEffects";
ZodFirstPartyTypeKind2["ZodNativeEnum"] = "ZodNativeEnum";
ZodFirstPartyTypeKind2["ZodOptional"] = "ZodOptional";
ZodFirstPartyTypeKind2["ZodNullable"] = "ZodNullable";
ZodFirstPartyTypeKind2["ZodDefault"] = "ZodDefault";
ZodFirstPartyTypeKind2["ZodCatch"] = "ZodCatch";
ZodFirstPartyTypeKind2["ZodPromise"] = "ZodPromise";
ZodFirstPartyTypeKind2["ZodBranded"] = "ZodBranded";
ZodFirstPartyTypeKind2["ZodPipeline"] = "ZodPipeline";
ZodFirstPartyTypeKind2["ZodReadonly"] = "ZodReadonly";
})(ZodFirstPartyTypeKind || (exports2.ZodFirstPartyTypeKind = ZodFirstPartyTypeKind = {}));
var instanceOfType = (cls, params = {
message: `Input not instance of ${cls.name}`
}) => custom((data) => data instanceof cls, params);
exports2.instanceof = instanceOfType;
var stringType = ZodString.create;
exports2.string = stringType;
var numberType = ZodNumber.create;
exports2.number = numberType;
var nanType = ZodNaN.create;
exports2.nan = nanType;
var bigIntType = ZodBigInt.create;
exports2.bigint = bigIntType;
var booleanType = ZodBoolean.create;
exports2.boolean = booleanType;
var dateType = ZodDate.create;
exports2.date = dateType;
var symbolType = ZodSymbol.create;
exports2.symbol = symbolType;
var undefinedType = ZodUndefined.create;
exports2.undefined = undefinedType;
var nullType = ZodNull.create;
exports2.null = nullType;
var anyType = ZodAny.create;
exports2.any = anyType;
var unknownType = ZodUnknown.create;
exports2.unknown = unknownType;
var neverType = ZodNever.create;
exports2.never = neverType;
var voidType = ZodVoid.create;
exports2.void = voidType;
var arrayType = ZodArray.create;
exports2.array = arrayType;
var objectType = ZodObject.create;
exports2.object = objectType;
var strictObjectType = ZodObject.strictCreate;
exports2.strictObject = strictObjectType;
var unionType = ZodUnion.create;
exports2.union = unionType;
var discriminatedUnionType = ZodDiscriminatedUnion.create;
exports2.discriminatedUnion = discriminatedUnionType;
var intersectionType = ZodIntersection.create;
exports2.intersection = intersectionType;
var tupleType = ZodTuple.create;
exports2.tuple = tupleType;
var recordType = ZodRecord.create;
exports2.record = recordType;
var mapType = ZodMap.create;
exports2.map = mapType;
var setType = ZodSet.create;
exports2.set = setType;
var functionType = ZodFunction.create;
exports2.function = functionType;
var lazyType = ZodLazy.create;
exports2.lazy = lazyType;
var literalType = ZodLiteral.create;
exports2.literal = literalType;
var enumType = ZodEnum.create;
exports2.enum = enumType;
var nativeEnumType = ZodNativeEnum.create;
exports2.nativeEnum = nativeEnumType;
var promiseType = ZodPromise.create;
exports2.promise = promiseType;
var effectsType = ZodEffects.create;
exports2.effect = effectsType;
exports2.transformer = effectsType;
var optionalType = ZodOptional.create;
exports2.optional = optionalType;
var nullableType = ZodNullable.create;
exports2.nullable = nullableType;
var preprocessType = ZodEffects.createWithPreprocess;
exports2.preprocess = preprocessType;
var pipelineType = ZodPipeline.create;
exports2.pipeline = pipelineType;
var ostring = () => stringType().optional();
exports2.ostring = ostring;
var onumber = () => numberType().optional();
exports2.onumber = onumber;
var oboolean = () => booleanType().optional();
exports2.oboolean = oboolean;
exports2.coerce = {
string: ((arg) => ZodString.create({ ...arg, coerce: true })),
number: ((arg) => ZodNumber.create({ ...arg, coerce: true })),
boolean: ((arg) => ZodBoolean.create({
...arg,
coerce: true
})),
bigint: ((arg) => ZodBigInt.create({ ...arg, coerce: true })),
date: ((arg) => ZodDate.create({ ...arg, coerce: true }))
};
exports2.NEVER = parseUtil_js_1.INVALID;
}
});
// ../../node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/cjs/v3/external.js
var require_external = __commonJS({
"../../node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/cjs/v3/external.js"(exports2) {
"use strict";
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
o[k2] = m[k];
}));
var __exportStar = exports2 && exports2.__exportStar || function(m, exports3) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding(exports3, m, p);
};
Object.defineProperty(exports2, "__esModule", { value: true });
__exportStar(require_errors(), exports2);
__exportStar(require_parseUtil(), exports2);
__exportStar(require_typeAliases(), exports2);
__exportStar(require_util(), exports2);
__exportStar(require_types(), exports2);
__exportStar(require_ZodError(), exports2);
}
});
// ../../node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/cjs/v3/index.js
var require_v3 = __commonJS({
"../../node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/cjs/v3/index.js"(exports2) {
"use strict";
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = exports2 && exports2.__importStar || function(mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) {
for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
}
__setModuleDefault(result, mod);
return result;
};
var __exportStar = exports2 && exports2.__exportStar || function(m, exports3) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding(exports3, m, p);
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.z = void 0;
var z = __importStar(require_external());
exports2.z = z;
__exportStar(require_external(), exports2);
exports2.default = z;
}
});
// ../../node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/cjs/index.js
var require_cjs = __commonJS({
"../../node_modules/.pnpm/zod@3.25.67/node_modules/zod/dist/cjs/index.js"(exports2) {
"use strict";
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
o[k2] = m[k];
}));
var __exportStar = exports2 && exports2.__exportStar || function(m, exports3) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding(exports3, m, p);
};
var __importDefault = exports2 && exports2.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : { "default": mod };
};
Object.defineProperty(exports2, "__esModule", { value: true });
var index_js_1 = __importDefault(require_v3());
__exportStar(require_v3(), exports2);
exports2.default = index_js_1.default;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/Options.js
var require_Options = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/Options.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getDefaultOptions = exports2.defaultOptions = exports2.ignoreOverride = void 0;
exports2.ignoreOverride = Symbol("Let zodToJsonSchema decide on which parser to use");
exports2.defaultOptions = {
name: void 0,
$refStrategy: "root",
basePath: ["#"],
effectStrategy: "input",
pipeStrategy: "all",
dateStrategy: "format:date-time",
mapStrategy: "entries",
removeAdditionalStrategy: "passthrough",
definitionPath: "definitions",
target: "jsonSchema7",
strictUnions: false,
definitions: {},
errorMessages: false,
markdownDescription: false,
patternStrategy: "escape",
applyRegexFlags: false,
emailStrategy: "format:email",
base64Strategy: "contentEncoding:base64",
nameStrategy: "ref"
};
var getDefaultOptions = (options) => typeof options === "string" ? {
...exports2.defaultOptions,
name: options
} : {
...exports2.defaultOptions,
...options
};
exports2.getDefaultOptions = getDefaultOptions;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/Refs.js
var require_Refs = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/Refs.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.getRefs = void 0;
var Options_js_1 = require_Options();
var getRefs = (options) => {
const _options = (0, Options_js_1.getDefaultOptions)(options);
const currentPath = _options.name !== void 0 ? [..._options.basePath, _options.definitionPath, _options.name] : _options.basePath;
return {
..._options,
currentPath,
propertyPath: void 0,
seen: new Map(Object.entries(_options.definitions).map(([name, def]) => [
def._def,
{
def: def._def,
path: [..._options.basePath, _options.definitionPath, name],
// Resolution of references will be forced even though seen, so it's ok that the schema is undefined here for now.
jsonSchema: void 0
}
]))
};
};
exports2.getRefs = getRefs;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/errorMessages.js
var require_errorMessages = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/errorMessages.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.setResponseValueAndErrors = exports2.addErrorMessage = void 0;
function addErrorMessage(res, key, errorMessage, refs) {
if (!refs?.errorMessages)
return;
if (errorMessage) {
res.errorMessage = {
...res.errorMessage,
[key]: errorMessage
};
}
}
exports2.addErrorMessage = addErrorMessage;
function setResponseValueAndErrors(res, key, value, errorMessage, refs) {
res[key] = value;
addErrorMessage(res, key, errorMessage, refs);
}
exports2.setResponseValueAndErrors = setResponseValueAndErrors;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/any.js
var require_any = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/any.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseAnyDef = void 0;
function parseAnyDef() {
return {};
}
exports2.parseAnyDef = parseAnyDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/array.js
var require_array = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/array.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseArrayDef = void 0;
var zod_1 = require_cjs();
var errorMessages_js_1 = require_errorMessages();
var parseDef_js_1 = require_parseDef();
function parseArrayDef(def, refs) {
const res = {
type: "array"
};
if (def.type?._def?.typeName !== zod_1.ZodFirstPartyTypeKind.ZodAny) {
res.items = (0, parseDef_js_1.parseDef)(def.type._def, {
...refs,
currentPath: [...refs.currentPath, "items"]
});
}
if (def.minLength) {
(0, errorMessages_js_1.setResponseValueAndErrors)(res, "minItems", def.minLength.value, def.minLength.message, refs);
}
if (def.maxLength) {
(0, errorMessages_js_1.setResponseValueAndErrors)(res, "maxItems", def.maxLength.value, def.maxLength.message, refs);
}
if (def.exactLength) {
(0, errorMessages_js_1.setResponseValueAndErrors)(res, "minItems", def.exactLength.value, def.exactLength.message, refs);
(0, errorMessages_js_1.setResponseValueAndErrors)(res, "maxItems", def.exactLength.value, def.exactLength.message, refs);
}
return res;
}
exports2.parseArrayDef = parseArrayDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/bigint.js
var require_bigint = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/bigint.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseBigintDef = void 0;
var errorMessages_js_1 = require_errorMessages();
function parseBigintDef(def, refs) {
const res = {
type: "integer",
format: "int64"
};
if (!def.checks)
return res;
for (const check of def.checks) {
switch (check.kind) {
case "min":
if (refs.target === "jsonSchema7") {
if (check.inclusive) {
(0, errorMessages_js_1.setResponseValueAndErrors)(res, "minimum", check.value, check.message, refs);
} else {
(0, errorMessages_js_1.setResponseValueAndErrors)(res, "exclusiveMinimum", check.value, check.message, refs);
}
} else {
if (!check.inclusive) {
res.exclusiveMinimum = true;
}
(0, errorMessages_js_1.setResponseValueAndErrors)(res, "minimum", check.value, check.message, refs);
}
break;
case "max":
if (refs.target === "jsonSchema7") {
if (check.inclusive) {
(0, errorMessages_js_1.setResponseValueAndErrors)(res, "maximum", check.value, check.message, refs);
} else {
(0, errorMessages_js_1.setResponseValueAndErrors)(res, "exclusiveMaximum", check.value, check.message, refs);
}
} else {
if (!check.inclusive) {
res.exclusiveMaximum = true;
}
(0, errorMessages_js_1.setResponseValueAndErrors)(res, "maximum", check.value, check.message, refs);
}
break;
case "multipleOf":
(0, errorMessages_js_1.setResponseValueAndErrors)(res, "multipleOf", check.value, check.message, refs);
break;
}
}
return res;
}
exports2.parseBigintDef = parseBigintDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/boolean.js
var require_boolean = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/boolean.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseBooleanDef = void 0;
function parseBooleanDef() {
return {
type: "boolean"
};
}
exports2.parseBooleanDef = parseBooleanDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/branded.js
var require_branded = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/branded.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseBrandedDef = void 0;
var parseDef_js_1 = require_parseDef();
function parseBrandedDef(_def, refs) {
return (0, parseDef_js_1.parseDef)(_def.type._def, refs);
}
exports2.parseBrandedDef = parseBrandedDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/catch.js
var require_catch = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/catch.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseCatchDef = void 0;
var parseDef_js_1 = require_parseDef();
var parseCatchDef = (def, refs) => {
return (0, parseDef_js_1.parseDef)(def.innerType._def, refs);
};
exports2.parseCatchDef = parseCatchDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/date.js
var require_date = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/date.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseDateDef = void 0;
var errorMessages_js_1 = require_errorMessages();
function parseDateDef(def, refs, overrideDateStrategy) {
const strategy = overrideDateStrategy ?? refs.dateStrategy;
if (Array.isArray(strategy)) {
return {
anyOf: strategy.map((item, i) => parseDateDef(def, refs, item))
};
}
switch (strategy) {
case "string":
case "format:date-time":
return {
type: "string",
format: "date-time"
};
case "format:date":
return {
type: "string",
format: "date"
};
case "integer":
return integerDateParser(def, refs);
}
}
exports2.parseDateDef = parseDateDef;
var integerDateParser = (def, refs) => {
const res = {
type: "integer",
format: "unix-time"
};
if (refs.target === "openApi3") {
return res;
}
for (const check of def.checks) {
switch (check.kind) {
case "min":
(0, errorMessages_js_1.setResponseValueAndErrors)(
res,
"minimum",
check.value,
// This is in milliseconds
check.message,
refs
);
break;
case "max":
(0, errorMessages_js_1.setResponseValueAndErrors)(
res,
"maximum",
check.value,
// This is in milliseconds
check.message,
refs
);
break;
}
}
return res;
};
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/default.js
var require_default = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/default.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseDefaultDef = void 0;
var parseDef_js_1 = require_parseDef();
function parseDefaultDef(_def, refs) {
return {
...(0, parseDef_js_1.parseDef)(_def.innerType._def, refs),
default: _def.defaultValue()
};
}
exports2.parseDefaultDef = parseDefaultDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/effects.js
var require_effects = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/effects.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseEffectsDef = void 0;
var parseDef_js_1 = require_parseDef();
function parseEffectsDef(_def, refs) {
return refs.effectStrategy === "input" ? (0, parseDef_js_1.parseDef)(_def.schema._def, refs) : {};
}
exports2.parseEffectsDef = parseEffectsDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/enum.js
var require_enum = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/enum.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseEnumDef = void 0;
function parseEnumDef(def) {
return {
type: "string",
enum: def.values
};
}
exports2.parseEnumDef = parseEnumDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/intersection.js
var require_intersection = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/intersection.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseIntersectionDef = void 0;
var parseDef_js_1 = require_parseDef();
var isJsonSchema7AllOfType = (type) => {
if ("type" in type && type.type === "string")
return false;
return "allOf" in type;
};
function parseIntersectionDef(def, refs) {
const allOf = [
(0, parseDef_js_1.parseDef)(def.left._def, {
...refs,
currentPath: [...refs.currentPath, "allOf", "0"]
}),
(0, parseDef_js_1.parseDef)(def.right._def, {
...refs,
currentPath: [...refs.currentPath, "allOf", "1"]
})
].filter((x) => !!x);
let unevaluatedProperties = refs.target === "jsonSchema2019-09" ? { unevaluatedProperties: false } : void 0;
const mergedAllOf = [];
allOf.forEach((schema) => {
if (isJsonSchema7AllOfType(schema)) {
mergedAllOf.push(...schema.allOf);
if (schema.unevaluatedProperties === void 0) {
unevaluatedProperties = void 0;
}
} else {
let nestedSchema = schema;
if ("additionalProperties" in schema && schema.additionalProperties === false) {
const { additionalProperties, ...rest } = schema;
nestedSchema = rest;
} else {
unevaluatedProperties = void 0;
}
mergedAllOf.push(nestedSchema);
}
});
return mergedAllOf.length ? {
allOf: mergedAllOf,
...unevaluatedProperties
} : void 0;
}
exports2.parseIntersectionDef = parseIntersectionDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/literal.js
var require_literal = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/literal.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseLiteralDef = void 0;
function parseLiteralDef(def, refs) {
const parsedType = typeof def.value;
if (parsedType !== "bigint" && parsedType !== "number" && parsedType !== "boolean" && parsedType !== "string") {
return {
type: Array.isArray(def.value) ? "array" : "object"
};
}
if (refs.target === "openApi3") {
return {
type: parsedType === "bigint" ? "integer" : parsedType,
enum: [def.value]
};
}
return {
type: parsedType === "bigint" ? "integer" : parsedType,
const: def.value
};
}
exports2.parseLiteralDef = parseLiteralDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/string.js
var require_string = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/string.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseStringDef = exports2.zodPatterns = void 0;
var errorMessages_js_1 = require_errorMessages();
var emojiRegex;
exports2.zodPatterns = {
/**
* `c` was changed to `[cC]` to replicate /i flag
*/
cuid: /^[cC][^\s-]{8,}$/,
cuid2: /^[0-9a-z]+$/,
ulid: /^[0-9A-HJKMNP-TV-Z]{26}$/,
/**
* `a-z` was added to replicate /i flag
*/
email: /^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,
/**
* Constructed a valid Unicode RegExp
*
* Lazily instantiate since this type of regex isn't supported
* in all envs (e.g. React Native).
*
* See:
* https://github.com/colinhacks/zod/issues/2433
* Fix in Zod:
* https://github.com/colinhacks/zod/commit/9340fd51e48576a75adc919bff65dbc4a5d4c99b
*/
emoji: () => {
if (emojiRegex === void 0) {
emojiRegex = RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$", "u");
}
return emojiRegex;
},
/**
* Unused
*/
uuid: /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,
/**
* Unused
*/
ipv4: /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,
/**
* Unused
*/
ipv6: /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,
base64: /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,
nanoid: /^[a-zA-Z0-9_-]{21}$/
};
function parseStringDef(def, refs) {
const res = {
type: "string"
};
function processPattern(value) {
return refs.patternStrategy === "escape" ? escapeNonAlphaNumeric(value) : value;
}
if (def.checks) {
for (const check of def.checks) {
switch (check.kind) {
case "min":
(0, errorMessages_js_1.setResponseValueAndErrors)(res, "minLength", typeof res.minLength === "number" ? Math.max(res.minLength, check.value) : check.value, check.message, refs);
break;
case "max":
(0, errorMessages_js_1.setResponseValueAndErrors)(res, "maxLength", typeof res.maxLength === "number" ? Math.min(res.maxLength, check.value) : check.value, check.message, refs);
break;
case "email":
switch (refs.emailStrategy) {
case "format:email":
addFormat(res, "email", check.message, refs);
break;
case "format:idn-email":
addFormat(res, "idn-email", check.message, refs);
break;
case "pattern:zod":
addPattern(res, exports2.zodPatterns.email, check.message, refs);
break;
}
break;
case "url":
addFormat(res, "uri", check.message, refs);
break;
case "uuid":
addFormat(res, "uuid", check.message, refs);
break;
case "regex":
addPattern(res, check.regex, check.message, refs);
break;
case "cuid":
addPattern(res, exports2.zodPatterns.cuid, check.message, refs);
break;
case "cuid2":
addPattern(res, exports2.zodPatterns.cuid2, check.message, refs);
break;
case "startsWith":
addPattern(res, RegExp(`^${processPattern(check.value)}`), check.message, refs);
break;
case "endsWith":
addPattern(res, RegExp(`${processPattern(check.value)}$`), check.message, refs);
break;
case "datetime":
addFormat(res, "date-time", check.message, refs);
break;
case "date":
addFormat(res, "date", check.message, refs);
break;
case "time":
addFormat(res, "time", check.message, refs);
break;
case "duration":
addFormat(res, "duration", check.message, refs);
break;
case "length":
(0, errorMessages_js_1.setResponseValueAndErrors)(res, "minLength", typeof res.minLength === "number" ? Math.max(res.minLength, check.value) : check.value, check.message, refs);
(0, errorMessages_js_1.setResponseValueAndErrors)(res, "maxLength", typeof res.maxLength === "number" ? Math.min(res.maxLength, check.value) : check.value, check.message, refs);
break;
case "includes": {
addPattern(res, RegExp(processPattern(check.value)), check.message, refs);
break;
}
case "ip": {
if (check.version !== "v6") {
addFormat(res, "ipv4", check.message, refs);
}
if (check.version !== "v4") {
addFormat(res, "ipv6", check.message, refs);
}
break;
}
case "emoji":
addPattern(res, exports2.zodPatterns.emoji, check.message, refs);
break;
case "ulid": {
addPattern(res, exports2.zodPatterns.ulid, check.message, refs);
break;
}
case "base64": {
switch (refs.base64Strategy) {
case "format:binary": {
addFormat(res, "binary", check.message, refs);
break;
}
case "contentEncoding:base64": {
(0, errorMessages_js_1.setResponseValueAndErrors)(res, "contentEncoding", "base64", check.message, refs);
break;
}
case "pattern:zod": {
addPattern(res, exports2.zodPatterns.base64, check.message, refs);
break;
}
}
break;
}
case "nanoid": {
addPattern(res, exports2.zodPatterns.nanoid, check.message, refs);
}
case "toLowerCase":
case "toUpperCase":
case "trim":
break;
default:
/* @__PURE__ */ ((_) => {
})(check);
}
}
}
return res;
}
exports2.parseStringDef = parseStringDef;
var escapeNonAlphaNumeric = (value) => Array.from(value).map((c) => /[a-zA-Z0-9]/.test(c) ? c : `\\${c}`).join("");
var addFormat = (schema, value, message, refs) => {
if (schema.format || schema.anyOf?.some((x) => x.format)) {
if (!schema.anyOf) {
schema.anyOf = [];
}
if (schema.format) {
schema.anyOf.push({
format: schema.format,
...schema.errorMessage && refs.errorMessages && {
errorMessage: { format: schema.errorMessage.format }
}
});
delete schema.format;
if (schema.errorMessage) {
delete schema.errorMessage.format;
if (Object.keys(schema.errorMessage).length === 0) {
delete schema.errorMessage;
}
}
}
schema.anyOf.push({
format: value,
...message && refs.errorMessages && { errorMessage: { format: message } }
});
} else {
(0, errorMessages_js_1.setResponseValueAndErrors)(schema, "format", value, message, refs);
}
};
var addPattern = (schema, regex, message, refs) => {
if (schema.pattern || schema.allOf?.some((x) => x.pattern)) {
if (!schema.allOf) {
schema.allOf = [];
}
if (schema.pattern) {
schema.allOf.push({
pattern: schema.pattern,
...schema.errorMessage && refs.errorMessages && {
errorMessage: { pattern: schema.errorMessage.pattern }
}
});
delete schema.pattern;
if (schema.errorMessage) {
delete schema.errorMessage.pattern;
if (Object.keys(schema.errorMessage).length === 0) {
delete schema.errorMessage;
}
}
}
schema.allOf.push({
pattern: processRegExp(regex, refs),
...message && refs.errorMessages && { errorMessage: { pattern: message } }
});
} else {
(0, errorMessages_js_1.setResponseValueAndErrors)(schema, "pattern", processRegExp(regex, refs), message, refs);
}
};
var processRegExp = (regexOrFunction, refs) => {
const regex = typeof regexOrFunction === "function" ? regexOrFunction() : regexOrFunction;
if (!refs.applyRegexFlags || !regex.flags)
return regex.source;
const flags = {
i: regex.flags.includes("i"),
m: regex.flags.includes("m"),
s: regex.flags.includes("s")
// `.` matches newlines
};
const source = flags.i ? regex.source.toLowerCase() : regex.source;
let pattern = "";
let isEscaped = false;
let inCharGroup = false;
let inCharRange = false;
for (let i = 0; i < source.length; i++) {
if (isEscaped) {
pattern += source[i];
isEscaped = false;
continue;
}
if (flags.i) {
if (inCharGroup) {
if (source[i].match(/[a-z]/)) {
if (inCharRange) {
pattern += source[i];
pattern += `${source[i - 2]}-${source[i]}`.toUpperCase();
inCharRange = false;
} else if (source[i + 1] === "-" && source[i + 2]?.match(/[a-z]/)) {
pattern += source[i];
inCharRange = true;
} else {
pattern += `${source[i]}${source[i].toUpperCase()}`;
}
continue;
}
} else if (source[i].match(/[a-z]/)) {
pattern += `[${source[i]}${source[i].toUpperCase()}]`;
continue;
}
}
if (flags.m) {
if (source[i] === "^") {
pattern += `(^|(?<=[\r
]))`;
continue;
} else if (source[i] === "$") {
pattern += `($|(?=[\r
]))`;
continue;
}
}
if (flags.s && source[i] === ".") {
pattern += inCharGroup ? `${source[i]}\r
` : `[${source[i]}\r
]`;
continue;
}
pattern += source[i];
if (source[i] === "\\") {
isEscaped = true;
} else if (inCharGroup && source[i] === "]") {
inCharGroup = false;
} else if (!inCharGroup && source[i] === "[") {
inCharGroup = true;
}
}
try {
const regexTest = new RegExp(pattern);
} catch {
console.warn(`Could not convert regex pattern at ${refs.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`);
return regex.source;
}
return pattern;
};
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/record.js
var require_record = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/record.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseRecordDef = void 0;
var zod_1 = require_cjs();
var parseDef_js_1 = require_parseDef();
var string_js_1 = require_string();
function parseRecordDef(def, refs) {
if (refs.target === "openApi3" && def.keyType?._def.typeName === zod_1.ZodFirstPartyTypeKind.ZodEnum) {
return {
type: "object",
required: def.keyType._def.values,
properties: def.keyType._def.values.reduce((acc, key) => ({
...acc,
[key]: (0, parseDef_js_1.parseDef)(def.valueType._def, {
...refs,
currentPath: [...refs.currentPath, "properties", key]
}) ?? {}
}), {}),
additionalProperties: false
};
}
const schema = {
type: "object",
additionalProperties: (0, parseDef_js_1.parseDef)(def.valueType._def, {
...refs,
currentPath: [...refs.currentPath, "additionalProperties"]
}) ?? {}
};
if (refs.target === "openApi3") {
return schema;
}
if (def.keyType?._def.typeName === zod_1.ZodFirstPartyTypeKind.ZodString && def.keyType._def.checks?.length) {
const keyType = Object.entries((0, string_js_1.parseStringDef)(def.keyType._def, refs)).reduce((acc, [key, value]) => key === "type" ? acc : { ...acc, [key]: value }, {});
return {
...schema,
propertyNames: keyType
};
} else if (def.keyType?._def.typeName === zod_1.ZodFirstPartyTypeKind.ZodEnum) {
return {
...schema,
propertyNames: {
enum: def.keyType._def.values
}
};
}
return schema;
}
exports2.parseRecordDef = parseRecordDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/map.js
var require_map = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/map.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseMapDef = void 0;
var parseDef_js_1 = require_parseDef();
var record_js_1 = require_record();
function parseMapDef(def, refs) {
if (refs.mapStrategy === "record") {
return (0, record_js_1.parseRecordDef)(def, refs);
}
const keys = (0, parseDef_js_1.parseDef)(def.keyType._def, {
...refs,
currentPath: [...refs.currentPath, "items", "items", "0"]
}) || {};
const values = (0, parseDef_js_1.parseDef)(def.valueType._def, {
...refs,
currentPath: [...refs.currentPath, "items", "items", "1"]
}) || {};
return {
type: "array",
maxItems: 125,
items: {
type: "array",
items: [keys, values],
minItems: 2,
maxItems: 2
}
};
}
exports2.parseMapDef = parseMapDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/nativeEnum.js
var require_nativeEnum = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/nativeEnum.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseNativeEnumDef = void 0;
function parseNativeEnumDef(def) {
const object = def.values;
const actualKeys = Object.keys(def.values).filter((key) => {
return typeof object[object[key]] !== "number";
});
const actualValues = actualKeys.map((key) => object[key]);
const parsedTypes = Array.from(new Set(actualValues.map((values) => typeof values)));
return {
type: parsedTypes.length === 1 ? parsedTypes[0] === "string" ? "string" : "number" : ["string", "number"],
enum: actualValues
};
}
exports2.parseNativeEnumDef = parseNativeEnumDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/never.js
var require_never = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/never.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseNeverDef = void 0;
function parseNeverDef() {
return {
not: {}
};
}
exports2.parseNeverDef = parseNeverDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/null.js
var require_null = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/null.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseNullDef = void 0;
function parseNullDef(refs) {
return refs.target === "openApi3" ? {
enum: ["null"],
nullable: true
} : {
type: "null"
};
}
exports2.parseNullDef = parseNullDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/union.js
var require_union = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/union.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseUnionDef = exports2.primitiveMappings = void 0;
var parseDef_js_1 = require_parseDef();
exports2.primitiveMappings = {
ZodString: "string",
ZodNumber: "number",
ZodBigInt: "integer",
ZodBoolean: "boolean",
ZodNull: "null"
};
function parseUnionDef(def, refs) {
if (refs.target === "openApi3")
return asAnyOf(def, refs);
const options = def.options instanceof Map ? Array.from(def.options.values()) : def.options;
if (options.every((x) => x._def.typeName in exports2.primitiveMappings && (!x._def.checks || !x._def.checks.length))) {
const types = options.reduce((types2, x) => {
const type = exports2.primitiveMappings[x._def.typeName];
return type && !types2.includes(type) ? [...types2, type] : types2;
}, []);
return {
type: types.length > 1 ? types : types[0]
};
} else if (options.every((x) => x._def.typeName === "ZodLiteral" && !x.description)) {
const types = options.reduce((acc, x) => {
const type = typeof x._def.value;
switch (type) {
case "string":
case "number":
case "boolean":
return [...acc, type];
case "bigint":
return [...acc, "integer"];
case "object":
if (x._def.value === null)
return [...acc, "null"];
case "symbol":
case "undefined":
case "function":
default:
return acc;
}
}, []);
if (types.length === options.length) {
const uniqueTypes = types.filter((x, i, a) => a.indexOf(x) === i);
return {
type: uniqueTypes.length > 1 ? uniqueTypes : uniqueTypes[0],
enum: options.reduce((acc, x) => {
return acc.includes(x._def.value) ? acc : [...acc, x._def.value];
}, [])
};
}
} else if (options.every((x) => x._def.typeName === "ZodEnum")) {
return {
type: "string",
enum: options.reduce((acc, x) => [
...acc,
...x._def.values.filter((x2) => !acc.includes(x2))
], [])
};
}
return asAnyOf(def, refs);
}
exports2.parseUnionDef = parseUnionDef;
var asAnyOf = (def, refs) => {
const anyOf = (def.options instanceof Map ? Array.from(def.options.values()) : def.options).map((x, i) => (0, parseDef_js_1.parseDef)(x._def, {
...refs,
currentPath: [...refs.currentPath, "anyOf", `${i}`]
})).filter((x) => !!x && (!refs.strictUnions || typeof x === "object" && Object.keys(x).length > 0));
return anyOf.length ? { anyOf } : void 0;
};
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/nullable.js
var require_nullable = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/nullable.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseNullableDef = void 0;
var parseDef_js_1 = require_parseDef();
var union_js_1 = require_union();
function parseNullableDef(def, refs) {
if (["ZodString", "ZodNumber", "ZodBigInt", "ZodBoolean", "ZodNull"].includes(def.innerType._def.typeName) && (!def.innerType._def.checks || !def.innerType._def.checks.length)) {
if (refs.target === "openApi3") {
return {
type: union_js_1.primitiveMappings[def.innerType._def.typeName],
nullable: true
};
}
return {
type: [
union_js_1.primitiveMappings[def.innerType._def.typeName],
"null"
]
};
}
if (refs.target === "openApi3") {
const base2 = (0, parseDef_js_1.parseDef)(def.innerType._def, {
...refs,
currentPath: [...refs.currentPath]
});
if (base2 && "$ref" in base2)
return { allOf: [base2], nullable: true };
return base2 && { ...base2, nullable: true };
}
const base = (0, parseDef_js_1.parseDef)(def.innerType._def, {
...refs,
currentPath: [...refs.currentPath, "anyOf", "0"]
});
return base && { anyOf: [base, { type: "null" }] };
}
exports2.parseNullableDef = parseNullableDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/number.js
var require_number = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/number.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseNumberDef = void 0;
var errorMessages_js_1 = require_errorMessages();
function parseNumberDef(def, refs) {
const res = {
type: "number"
};
if (!def.checks)
return res;
for (const check of def.checks) {
switch (check.kind) {
case "int":
res.type = "integer";
(0, errorMessages_js_1.addErrorMessage)(res, "type", check.message, refs);
break;
case "min":
if (refs.target === "jsonSchema7") {
if (check.inclusive) {
(0, errorMessages_js_1.setResponseValueAndErrors)(res, "minimum", check.value, check.message, refs);
} else {
(0, errorMessages_js_1.setResponseValueAndErrors)(res, "exclusiveMinimum", check.value, check.message, refs);
}
} else {
if (!check.inclusive) {
res.exclusiveMinimum = true;
}
(0, errorMessages_js_1.setResponseValueAndErrors)(res, "minimum", check.value, check.message, refs);
}
break;
case "max":
if (refs.target === "jsonSchema7") {
if (check.inclusive) {
(0, errorMessages_js_1.setResponseValueAndErrors)(res, "maximum", check.value, check.message, refs);
} else {
(0, errorMessages_js_1.setResponseValueAndErrors)(res, "exclusiveMaximum", check.value, check.message, refs);
}
} else {
if (!check.inclusive) {
res.exclusiveMaximum = true;
}
(0, errorMessages_js_1.setResponseValueAndErrors)(res, "maximum", check.value, check.message, refs);
}
break;
case "multipleOf":
(0, errorMessages_js_1.setResponseValueAndErrors)(res, "multipleOf", check.value, check.message, refs);
break;
}
}
return res;
}
exports2.parseNumberDef = parseNumberDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/object.js
var require_object = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/object.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseObjectDef = void 0;
var parseDef_js_1 = require_parseDef();
function decideAdditionalProperties(def, refs) {
if (refs.removeAdditionalStrategy === "strict") {
return def.catchall._def.typeName === "ZodNever" ? def.unknownKeys !== "strict" : (0, parseDef_js_1.parseDef)(def.catchall._def, {
...refs,
currentPath: [...refs.currentPath, "additionalProperties"]
}) ?? true;
} else {
return def.catchall._def.typeName === "ZodNever" ? def.unknownKeys === "passthrough" : (0, parseDef_js_1.parseDef)(def.catchall._def, {
...refs,
currentPath: [...refs.currentPath, "additionalProperties"]
}) ?? true;
}
}
function parseObjectDef(def, refs) {
const result = {
type: "object",
...Object.entries(def.shape()).reduce((acc, [propName, propDef]) => {
if (propDef === void 0 || propDef._def === void 0)
return acc;
const parsedDef = (0, parseDef_js_1.parseDef)(propDef._def, {
...refs,
currentPath: [...refs.currentPath, "properties", propName],
propertyPath: [...refs.currentPath, "properties", propName]
});
if (parsedDef === void 0)
return acc;
return {
properties: { ...acc.properties, [propName]: parsedDef },
required: propDef.isOptional() ? acc.required : [...acc.required, propName]
};
}, { properties: {}, required: [] }),
additionalProperties: decideAdditionalProperties(def, refs)
};
if (!result.required.length)
delete result.required;
return result;
}
exports2.parseObjectDef = parseObjectDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/optional.js
var require_optional = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/optional.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseOptionalDef = void 0;
var parseDef_js_1 = require_parseDef();
var parseOptionalDef = (def, refs) => {
if (refs.currentPath.toString() === refs.propertyPath?.toString()) {
return (0, parseDef_js_1.parseDef)(def.innerType._def, refs);
}
const innerSchema = (0, parseDef_js_1.parseDef)(def.innerType._def, {
...refs,
currentPath: [...refs.currentPath, "anyOf", "1"]
});
return innerSchema ? {
anyOf: [
{
not: {}
},
innerSchema
]
} : {};
};
exports2.parseOptionalDef = parseOptionalDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/pipeline.js
var require_pipeline = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/pipeline.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parsePipelineDef = void 0;
var parseDef_js_1 = require_parseDef();
var parsePipelineDef = (def, refs) => {
if (refs.pipeStrategy === "input") {
return (0, parseDef_js_1.parseDef)(def.in._def, refs);
} else if (refs.pipeStrategy === "output") {
return (0, parseDef_js_1.parseDef)(def.out._def, refs);
}
const a = (0, parseDef_js_1.parseDef)(def.in._def, {
...refs,
currentPath: [...refs.currentPath, "allOf", "0"]
});
const b = (0, parseDef_js_1.parseDef)(def.out._def, {
...refs,
currentPath: [...refs.currentPath, "allOf", a ? "1" : "0"]
});
return {
allOf: [a, b].filter((x) => x !== void 0)
};
};
exports2.parsePipelineDef = parsePipelineDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/promise.js
var require_promise = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/promise.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parsePromiseDef = void 0;
var parseDef_js_1 = require_parseDef();
function parsePromiseDef(def, refs) {
return (0, parseDef_js_1.parseDef)(def.type._def, refs);
}
exports2.parsePromiseDef = parsePromiseDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/set.js
var require_set = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/set.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseSetDef = void 0;
var errorMessages_js_1 = require_errorMessages();
var parseDef_js_1 = require_parseDef();
function parseSetDef(def, refs) {
const items = (0, parseDef_js_1.parseDef)(def.valueType._def, {
...refs,
currentPath: [...refs.currentPath, "items"]
});
const schema = {
type: "array",
uniqueItems: true,
items
};
if (def.minSize) {
(0, errorMessages_js_1.setResponseValueAndErrors)(schema, "minItems", def.minSize.value, def.minSize.message, refs);
}
if (def.maxSize) {
(0, errorMessages_js_1.setResponseValueAndErrors)(schema, "maxItems", def.maxSize.value, def.maxSize.message, refs);
}
return schema;
}
exports2.parseSetDef = parseSetDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/tuple.js
var require_tuple = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/tuple.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseTupleDef = void 0;
var parseDef_js_1 = require_parseDef();
function parseTupleDef(def, refs) {
if (def.rest) {
return {
type: "array",
minItems: def.items.length,
items: def.items.map((x, i) => (0, parseDef_js_1.parseDef)(x._def, {
...refs,
currentPath: [...refs.currentPath, "items", `${i}`]
})).reduce((acc, x) => x === void 0 ? acc : [...acc, x], []),
additionalItems: (0, parseDef_js_1.parseDef)(def.rest._def, {
...refs,
currentPath: [...refs.currentPath, "additionalItems"]
})
};
} else {
return {
type: "array",
minItems: def.items.length,
maxItems: def.items.length,
items: def.items.map((x, i) => (0, parseDef_js_1.parseDef)(x._def, {
...refs,
currentPath: [...refs.currentPath, "items", `${i}`]
})).reduce((acc, x) => x === void 0 ? acc : [...acc, x], [])
};
}
}
exports2.parseTupleDef = parseTupleDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/undefined.js
var require_undefined = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/undefined.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseUndefinedDef = void 0;
function parseUndefinedDef() {
return {
not: {}
};
}
exports2.parseUndefinedDef = parseUndefinedDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/unknown.js
var require_unknown = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/unknown.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseUnknownDef = void 0;
function parseUnknownDef() {
return {};
}
exports2.parseUnknownDef = parseUnknownDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/readonly.js
var require_readonly = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parsers/readonly.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseReadonlyDef = void 0;
var parseDef_js_1 = require_parseDef();
var parseReadonlyDef = (def, refs) => {
return (0, parseDef_js_1.parseDef)(def.innerType._def, refs);
};
exports2.parseReadonlyDef = parseReadonlyDef;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parseDef.js
var require_parseDef = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/parseDef.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.parseDef = void 0;
var zod_1 = require_cjs();
var any_js_1 = require_any();
var array_js_1 = require_array();
var bigint_js_1 = require_bigint();
var boolean_js_1 = require_boolean();
var branded_js_1 = require_branded();
var catch_js_1 = require_catch();
var date_js_1 = require_date();
var default_js_1 = require_default();
var effects_js_1 = require_effects();
var enum_js_1 = require_enum();
var intersection_js_1 = require_intersection();
var literal_js_1 = require_literal();
var map_js_1 = require_map();
var nativeEnum_js_1 = require_nativeEnum();
var never_js_1 = require_never();
var null_js_1 = require_null();
var nullable_js_1 = require_nullable();
var number_js_1 = require_number();
var object_js_1 = require_object();
var optional_js_1 = require_optional();
var pipeline_js_1 = require_pipeline();
var promise_js_1 = require_promise();
var record_js_1 = require_record();
var set_js_1 = require_set();
var string_js_1 = require_string();
var tuple_js_1 = require_tuple();
var undefined_js_1 = require_undefined();
var union_js_1 = require_union();
var unknown_js_1 = require_unknown();
var readonly_js_1 = require_readonly();
var Options_js_1 = require_Options();
function parseDef(def, refs, forceResolution = false) {
const seenItem = refs.seen.get(def);
if (refs.override) {
const overrideResult = refs.override?.(def, refs, seenItem, forceResolution);
if (overrideResult !== Options_js_1.ignoreOverride) {
return overrideResult;
}
}
if (seenItem && !forceResolution) {
const seenSchema = get$ref(seenItem, refs);
if (seenSchema !== void 0) {
return seenSchema;
}
}
const newItem = { def, path: refs.currentPath, jsonSchema: void 0 };
refs.seen.set(def, newItem);
const jsonSchema = selectParser(def, def.typeName, refs);
if (jsonSchema) {
addMeta(def, refs, jsonSchema);
}
newItem.jsonSchema = jsonSchema;
return jsonSchema;
}
exports2.parseDef = parseDef;
var get$ref = (item, refs) => {
switch (refs.$refStrategy) {
case "root":
return { $ref: item.path.join("/") };
case "relative":
return { $ref: getRelativePath(refs.currentPath, item.path) };
case "none":
case "seen": {
if (item.path.length < refs.currentPath.length && item.path.every((value, index) => refs.currentPath[index] === value)) {
console.warn(`Recursive reference detected at ${refs.currentPath.join("/")}! Defaulting to any`);
return {};
}
return refs.$refStrategy === "seen" ? {} : void 0;
}
}
};
var getRelativePath = (pathA, pathB) => {
let i = 0;
for (; i < pathA.length && i < pathB.length; i++) {
if (pathA[i] !== pathB[i])
break;
}
return [(pathA.length - i).toString(), ...pathB.slice(i)].join("/");
};
var selectParser = (def, typeName, refs) => {
switch (typeName) {
case zod_1.ZodFirstPartyTypeKind.ZodString:
return (0, string_js_1.parseStringDef)(def, refs);
case zod_1.ZodFirstPartyTypeKind.ZodNumber:
return (0, number_js_1.parseNumberDef)(def, refs);
case zod_1.ZodFirstPartyTypeKind.ZodObject:
return (0, object_js_1.parseObjectDef)(def, refs);
case zod_1.ZodFirstPartyTypeKind.ZodBigInt:
return (0, bigint_js_1.parseBigintDef)(def, refs);
case zod_1.ZodFirstPartyTypeKind.ZodBoolean:
return (0, boolean_js_1.parseBooleanDef)();
case zod_1.ZodFirstPartyTypeKind.ZodDate:
return (0, date_js_1.parseDateDef)(def, refs);
case zod_1.ZodFirstPartyTypeKind.ZodUndefined:
return (0, undefined_js_1.parseUndefinedDef)();
case zod_1.ZodFirstPartyTypeKind.ZodNull:
return (0, null_js_1.parseNullDef)(refs);
case zod_1.ZodFirstPartyTypeKind.ZodArray:
return (0, array_js_1.parseArrayDef)(def, refs);
case zod_1.ZodFirstPartyTypeKind.ZodUnion:
case zod_1.ZodFirstPartyTypeKind.ZodDiscriminatedUnion:
return (0, union_js_1.parseUnionDef)(def, refs);
case zod_1.ZodFirstPartyTypeKind.ZodIntersection:
return (0, intersection_js_1.parseIntersectionDef)(def, refs);
case zod_1.ZodFirstPartyTypeKind.ZodTuple:
return (0, tuple_js_1.parseTupleDef)(def, refs);
case zod_1.ZodFirstPartyTypeKind.ZodRecord:
return (0, record_js_1.parseRecordDef)(def, refs);
case zod_1.ZodFirstPartyTypeKind.ZodLiteral:
return (0, literal_js_1.parseLiteralDef)(def, refs);
case zod_1.ZodFirstPartyTypeKind.ZodEnum:
return (0, enum_js_1.parseEnumDef)(def);
case zod_1.ZodFirstPartyTypeKind.ZodNativeEnum:
return (0, nativeEnum_js_1.parseNativeEnumDef)(def);
case zod_1.ZodFirstPartyTypeKind.ZodNullable:
return (0, nullable_js_1.parseNullableDef)(def, refs);
case zod_1.ZodFirstPartyTypeKind.ZodOptional:
return (0, optional_js_1.parseOptionalDef)(def, refs);
case zod_1.ZodFirstPartyTypeKind.ZodMap:
return (0, map_js_1.parseMapDef)(def, refs);
case zod_1.ZodFirstPartyTypeKind.ZodSet:
return (0, set_js_1.parseSetDef)(def, refs);
case zod_1.ZodFirstPartyTypeKind.ZodLazy:
return parseDef(def.getter()._def, refs);
case zod_1.ZodFirstPartyTypeKind.ZodPromise:
return (0, promise_js_1.parsePromiseDef)(def, refs);
case zod_1.ZodFirstPartyTypeKind.ZodNaN:
case zod_1.ZodFirstPartyTypeKind.ZodNever:
return (0, never_js_1.parseNeverDef)();
case zod_1.ZodFirstPartyTypeKind.ZodEffects:
return (0, effects_js_1.parseEffectsDef)(def, refs);
case zod_1.ZodFirstPartyTypeKind.ZodAny:
return (0, any_js_1.parseAnyDef)();
case zod_1.ZodFirstPartyTypeKind.ZodUnknown:
return (0, unknown_js_1.parseUnknownDef)();
case zod_1.ZodFirstPartyTypeKind.ZodDefault:
return (0, default_js_1.parseDefaultDef)(def, refs);
case zod_1.ZodFirstPartyTypeKind.ZodBranded:
return (0, branded_js_1.parseBrandedDef)(def, refs);
case zod_1.ZodFirstPartyTypeKind.ZodReadonly:
return (0, readonly_js_1.parseReadonlyDef)(def, refs);
case zod_1.ZodFirstPartyTypeKind.ZodCatch:
return (0, catch_js_1.parseCatchDef)(def, refs);
case zod_1.ZodFirstPartyTypeKind.ZodPipeline:
return (0, pipeline_js_1.parsePipelineDef)(def, refs);
case zod_1.ZodFirstPartyTypeKind.ZodFunction:
case zod_1.ZodFirstPartyTypeKind.ZodVoid:
case zod_1.ZodFirstPartyTypeKind.ZodSymbol:
return void 0;
default:
return /* @__PURE__ */ ((_) => void 0)(typeName);
}
};
var addMeta = (def, refs, jsonSchema) => {
if (def.description) {
jsonSchema.description = def.description;
if (refs.markdownDescription) {
jsonSchema.markdownDescription = def.description;
}
}
return jsonSchema;
};
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/zodToJsonSchema.js
var require_zodToJsonSchema = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/zodToJsonSchema.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.zodToJsonSchema = void 0;
var parseDef_js_1 = require_parseDef();
var Refs_js_1 = require_Refs();
var zodToJsonSchema = (schema, options) => {
const refs = (0, Refs_js_1.getRefs)(options);
const definitions = typeof options === "object" && options.definitions ? Object.entries(options.definitions).reduce((acc, [name2, schema2]) => ({
...acc,
[name2]: (0, parseDef_js_1.parseDef)(schema2._def, {
...refs,
currentPath: [...refs.basePath, refs.definitionPath, name2]
}, true) ?? {}
}), {}) : void 0;
const name = typeof options === "string" ? options : options?.nameStrategy === "title" ? void 0 : options?.name;
const main = (0, parseDef_js_1.parseDef)(schema._def, name === void 0 ? refs : {
...refs,
currentPath: [...refs.basePath, refs.definitionPath, name]
}, false) ?? {};
const title = typeof options === "object" && options.name !== void 0 && options.nameStrategy === "title" ? options.name : void 0;
if (title !== void 0) {
main.title = title;
}
const combined = name === void 0 ? definitions ? {
...main,
[refs.definitionPath]: definitions
} : main : {
$ref: [
...refs.$refStrategy === "relative" ? [] : refs.basePath,
refs.definitionPath,
name
].join("/"),
[refs.definitionPath]: {
...definitions,
[name]: main
}
};
if (refs.target === "jsonSchema7") {
combined.$schema = "http://json-schema.org/draft-07/schema#";
} else if (refs.target === "jsonSchema2019-09") {
combined.$schema = "https://json-schema.org/draft/2019-09/schema#";
}
return combined;
};
exports2.zodToJsonSchema = zodToJsonSchema;
}
});
// ../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/index.js
var require_cjs2 = __commonJS({
"../../node_modules/.pnpm/zod-to-json-schema@3.23.3_zod@3.25.67/node_modules/zod-to-json-schema/dist/cjs/index.js"(exports2) {
"use strict";
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m[k];
} };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
o[k2] = m[k];
}));
var __exportStar = exports2 && exports2.__exportStar || function(m, exports3) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding(exports3, m, p);
};
Object.defineProperty(exports2, "__esModule", { value: true });
__exportStar(require_Options(), exports2);
__exportStar(require_Refs(), exports2);
__exportStar(require_errorMessages(), exports2);
__exportStar(require_parseDef(), exports2);
__exportStar(require_any(), exports2);
__exportStar(require_array(), exports2);
__exportStar(require_bigint(), exports2);
__exportStar(require_boolean(), exports2);
__exportStar(require_branded(), exports2);
__exportStar(require_catch(), exports2);
__exportStar(require_date(), exports2);
__exportStar(require_default(), exports2);
__exportStar(require_effects(), exports2);
__exportStar(require_enum(), exports2);
__exportStar(require_intersection(), exports2);
__exportStar(require_literal(), exports2);
__exportStar(require_map(), exports2);
__exportStar(require_nativeEnum(), exports2);
__exportStar(require_never(), exports2);
__exportStar(require_null(), exports2);
__exportStar(require_nullable(), exports2);
__exportStar(require_number(), exports2);
__exportStar(require_object(), exports2);
__exportStar(require_optional(), exports2);
__exportStar(require_pipeline(), exports2);
__exportStar(require_promise(), exports2);
__exportStar(require_readonly(), exports2);
__exportStar(require_record(), exports2);
__exportStar(require_set(), exports2);
__exportStar(require_string(), exports2);
__exportStar(require_tuple(), exports2);
__exportStar(require_undefined(), exports2);
__exportStar(require_union(), exports2);
__exportStar(require_unknown(), exports2);
__exportStar(require_zodToJsonSchema(), exports2);
var zodToJsonSchema_js_1 = require_zodToJsonSchema();
exports2.default = zodToJsonSchema_js_1.zodToJsonSchema;
}
});
// ../@n8n/agents/dist/utils/zod.js
var require_zod = __commonJS({
"../@n8n/agents/dist/utils/zod.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.isZodSchema = isZodSchema;
exports2.zodToJsonSchema = zodToJsonSchema;
var zod_to_json_schema_1 = require_cjs2();
function isZodSchema(schema) {
return typeof schema === "object" && schema !== null && typeof schema.safeParse === "function";
}
function zodToJsonSchema(schema) {
if (!schema)
return null;
try {
if (isZodSchema(schema)) {
if ("toJSONSchema" in schema && typeof schema.toJSONSchema === "function") {
return schema.toJSONSchema();
}
return (0, zod_to_json_schema_1.zodToJsonSchema)(schema);
}
if (typeof schema === "object" && schema !== null) {
return schema;
}
return null;
} catch {
return null;
}
}
}
});
// ../@n8n/agents/dist/sdk/tool.js
var require_tool = __commonJS({
"../@n8n/agents/dist/sdk/tool.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.Tool = void 0;
exports2.wrapToolForApproval = wrapToolForApproval;
var zod_1 = require_cjs();
var zod_2 = require_zod();
var APPROVAL_SUSPEND_SCHEMA = zod_1.z.object({
type: zod_1.z.literal("approval"),
toolName: zod_1.z.string(),
args: zod_1.z.unknown()
});
var APPROVAL_RESUME_SCHEMA = zod_1.z.object({
approved: zod_1.z.boolean()
});
function wrapToolForApproval(tool, config) {
const originalHandler = tool.handler;
return {
...tool,
withDefaultApproval: true,
suspendSchema: APPROVAL_SUSPEND_SCHEMA,
resumeSchema: APPROVAL_RESUME_SCHEMA,
handler: async (input, ctx) => {
const interruptCtx = ctx;
if (interruptCtx.resumeData === void 0) {
let needs = config.requireApproval ?? false;
if (!needs && config.needsApprovalFn) {
needs = await config.needsApprovalFn(input);
}
if (needs) {
return await interruptCtx.suspend({ type: "approval", toolName: tool.name, args: input });
}
return await originalHandler(input, {
parentTelemetry: interruptCtx.parentTelemetry
});
}
const { approved } = interruptCtx.resumeData;
if (!approved) {
return { declined: true, message: `Tool "${tool.name}" was not approved` };
}
return await originalHandler(input, {
parentTelemetry: interruptCtx.parentTelemetry
});
}
};
}
var Tool2 = class {
constructor(name) {
this.name = name;
}
description(desc) {
this.desc = desc;
return this;
}
systemInstruction(text) {
this.systemInstructionText = text;
return this;
}
input(schema) {
const self = this;
self.inputSchema = schema;
return self;
}
output(schema) {
const self = this;
self.outputSchema = schema;
return self;
}
suspend(schema) {
const self = this;
self.suspendSchemaValue = schema;
return self;
}
resume(schema) {
const self = this;
self.resumeSchemaValue = schema;
return self;
}
handler(fn) {
this.handlerFn = fn;
return this;
}
toMessage(toMessage) {
this.toMessageFn = toMessage;
return this;
}
toModelOutput(fn) {
this.toModelOutputFn = fn;
return this;
}
requireApproval() {
this.requireApprovalValue = true;
return this;
}
needsApprovalFn(fn) {
this.needsApprovalFnValue = fn;
return this;
}
providerOptions(options) {
this.providerOptionsValue = { ...this.providerOptionsValue, ...options };
return this;
}
build() {
if (!this.name) {
throw new Error("Tool name is required");
}
if (!this.desc) {
throw new Error(`Tool "${this.name}" requires a description`);
}
if (!this.inputSchema) {
throw new Error(`Tool "${this.name}" requires an input schema`);
}
if (!this.handlerFn) {
throw new Error(`Tool "${this.name}" requires a handler`);
}
const hasSuspend = this.suspendSchemaValue !== void 0;
const hasResume = this.resumeSchemaValue !== void 0;
if (hasSuspend && !hasResume) {
throw new Error(`Tool "${this.name}" has .suspend() but missing .resume()`);
}
if (hasResume && !hasSuspend) {
throw new Error(`Tool "${this.name}" has .resume() but missing .suspend()`);
}
const hasApproval = (this.requireApprovalValue ?? false) || this.needsApprovalFnValue !== void 0;
if (hasApproval && (hasSuspend || hasResume)) {
throw new Error(`Tool "${this.name}" cannot use both approval (.requireApproval/.needsApprovalFn) and suspend/resume (.suspend/.resume)`);
}
const built = {
name: this.name,
description: this.desc,
systemInstruction: this.systemInstructionText,
suspendSchema: this.suspendSchemaValue,
resumeSchema: this.resumeSchemaValue,
toMessage: this.toMessageFn,
toModelOutput: this.toModelOutputFn,
handler: this.handlerFn,
inputSchema: this.inputSchema,
outputSchema: this.outputSchema,
providerOptions: this.providerOptionsValue
};
if (this.requireApprovalValue || this.needsApprovalFnValue) {
return wrapToolForApproval(built, {
requireApproval: this.requireApprovalValue,
needsApprovalFn: this.needsApprovalFnValue
});
}
return built;
}
describe() {
if (!this.name)
throw new Error("Tool name is required");
if (!this.desc)
throw new Error(`Tool "${this.name}" requires a description`);
if (!this.inputSchema)
throw new Error(`Tool "${this.name}" requires an input schema`);
const inputSchema = (0, zod_2.isZodSchema)(this.inputSchema) ? (0, zod_2.zodToJsonSchema)(this.inputSchema) : this.inputSchema;
const outputSchema = this.outputSchema ? (0, zod_2.isZodSchema)(this.outputSchema) ? (0, zod_2.zodToJsonSchema)(this.outputSchema) : this.outputSchema : null;
return {
name: this.name,
description: this.desc,
systemInstruction: this.systemInstructionText ?? null,
inputSchema,
outputSchema,
hasSuspend: this.suspendSchemaValue !== void 0,
hasResume: this.resumeSchemaValue !== void 0,
hasToMessage: this.toMessageFn !== void 0,
requireApproval: this.requireApprovalValue ?? false,
providerOptions: this.providerOptionsValue ?? null
};
}
};
exports2.Tool = Tool2;
}
});
// <stdin>
var { Tool } = require_tool();
var zod = require_cjs();
globalThis.__modules = {
"@n8n/agents": { Tool },
"zod": zod
};