@novu/framework 0.24.3-alpha.9 → 2.0.0-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/nuxt.js CHANGED
@@ -1,25 +1,28 @@
1
1
  'use strict';
2
2
 
3
+ var h3 = require('h3');
3
4
  var crypto = require('crypto');
4
5
  var jsonSchemaFaker = require('json-schema-faker');
5
- var _r = require('ora');
6
- var Ce = require('chalk');
7
- var Gn = require('ajv');
8
- var Jn = require('ajv-formats');
9
6
  var liquidjs = require('liquidjs');
7
+ var ie = require('ora');
8
+ require('cross-fetch');
9
+ var N = require('chalk');
10
+ var Ne = require('ajv');
11
+ var Ae = require('ajv-formats');
12
+ var zodToJsonSchema = require('zod-to-json-schema');
10
13
 
11
14
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
12
15
 
13
- var _r__default = /*#__PURE__*/_interopDefault(_r);
14
- var Ce__default = /*#__PURE__*/_interopDefault(Ce);
15
- var Gn__default = /*#__PURE__*/_interopDefault(Gn);
16
- var Jn__default = /*#__PURE__*/_interopDefault(Jn);
16
+ var ie__default = /*#__PURE__*/_interopDefault(ie);
17
+ var N__default = /*#__PURE__*/_interopDefault(N);
18
+ var Ne__default = /*#__PURE__*/_interopDefault(Ne);
19
+ var Ae__default = /*#__PURE__*/_interopDefault(Ae);
17
20
 
18
- var y=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var Ot=y(W=>{Object.defineProperty(W,"__esModule",{value:!0});W.getDefaultOptions=W.defaultOptions=W.ignoreOverride=void 0;W.ignoreOverride=Symbol("Let zodToJsonSchema decide on which parser to use");W.defaultOptions={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",emailStrategy:"format:email",base64Strategy:"contentEncoding:base64"};var Yn=r=>typeof r=="string"?{...W.defaultOptions,name:r}:{...W.defaultOptions,...r};W.getDefaultOptions=Yn;});var Ar=y(Et=>{Object.defineProperty(Et,"__esModule",{value:!0});Et.getRefs=void 0;var Xn=Ot(),Qn=r=>{let e=(0, Xn.getDefaultOptions)(r),t=e.name!==void 0?[...e.basePath,e.definitionPath,e.name]:e.basePath;return {...e,currentPath:t,propertyPath:void 0,seen:new Map(Object.entries(e.definitions).map(([s,n])=>[n._def,{def:n._def,path:[...e.basePath,e.definitionPath,s],jsonSchema:void 0}]))}};Et.getRefs=Qn;});var te=y(Ne=>{Object.defineProperty(Ne,"__esModule",{value:!0});Ne.setResponseValueAndErrors=Ne.addErrorMessage=void 0;function Ss(r,e,t,s){s?.errorMessages&&t&&(r.errorMessage={...r.errorMessage,[e]:t});}Ne.addErrorMessage=Ss;function eo(r,e,t,s,n){r[e]=t,Ss(r,e,s,n);}Ne.setResponseValueAndErrors=eo;});var ze=y(O=>{Object.defineProperty(O,"__esModule",{value:!0});O.getParsedType=O.ZodParsedType=O.objectUtil=O.util=void 0;var Ns;(function(r){r.assertEqual=n=>n;function e(n){}r.assertIs=e;function t(n){throw new Error}r.assertNever=t,r.arrayToEnum=n=>{let o={};for(let a of n)o[a]=a;return o},r.getValidEnumValues=n=>{let o=r.objectKeys(n).filter(d=>typeof n[n[d]]!="number"),a={};for(let d of o)a[d]=n[d];return r.objectValues(a)},r.objectValues=n=>r.objectKeys(n).map(function(o){return n[o]}),r.objectKeys=typeof Object.keys=="function"?n=>Object.keys(n):n=>{let o=[];for(let a in n)Object.prototype.hasOwnProperty.call(n,a)&&o.push(a);return o},r.find=(n,o)=>{for(let a of n)if(o(a))return a},r.isInteger=typeof Number.isInteger=="function"?n=>Number.isInteger(n):n=>typeof n=="number"&&isFinite(n)&&Math.floor(n)===n;function s(n,o=" | "){return n.map(a=>typeof a=="string"?`'${a}'`:a).join(o)}r.joinValues=s,r.jsonStringifyReplacer=(n,o)=>typeof o=="bigint"?o.toString():o;})(Ns=O.util||(O.util={}));(function(r){r.mergeShapes=(e,t)=>({...e,...t});})(O.objectUtil||(O.objectUtil={}));O.ZodParsedType=Ns.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);var ro=r=>{switch(typeof r){case"undefined":return O.ZodParsedType.undefined;case"string":return O.ZodParsedType.string;case"number":return isNaN(r)?O.ZodParsedType.nan:O.ZodParsedType.number;case"boolean":return O.ZodParsedType.boolean;case"function":return O.ZodParsedType.function;case"bigint":return O.ZodParsedType.bigint;case"symbol":return O.ZodParsedType.symbol;case"object":return Array.isArray(r)?O.ZodParsedType.array:r===null?O.ZodParsedType.null:r.then&&typeof r.then=="function"&&r.catch&&typeof r.catch=="function"?O.ZodParsedType.promise:typeof Map<"u"&&r instanceof Map?O.ZodParsedType.map:typeof Set<"u"&&r instanceof Set?O.ZodParsedType.set:typeof Date<"u"&&r instanceof Date?O.ZodParsedType.date:O.ZodParsedType.object;default:return O.ZodParsedType.unknown}};O.getParsedType=ro;});var bt=y(re=>{Object.defineProperty(re,"__esModule",{value:!0});re.ZodError=re.quotelessJson=re.ZodIssueCode=void 0;var ks=ze();re.ZodIssueCode=ks.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 so=r=>JSON.stringify(r,null,2).replace(/"([^"]+)":/g,"$1:");re.quotelessJson=so;var He=class r extends Error{constructor(e){super(),this.issues=[],this.addIssue=s=>{this.issues=[...this.issues,s];},this.addIssues=(s=[])=>{this.issues=[...this.issues,...s];};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e;}get errors(){return this.issues}format(e){let t=e||function(o){return o.message},s={_errors:[]},n=o=>{for(let a of o.issues)if(a.code==="invalid_union")a.unionErrors.map(n);else if(a.code==="invalid_return_type")n(a.returnTypeError);else if(a.code==="invalid_arguments")n(a.argumentsError);else if(a.path.length===0)s._errors.push(t(a));else {let d=s,u=0;for(;u<a.path.length;){let l=a.path[u];u===a.path.length-1?(d[l]=d[l]||{_errors:[]},d[l]._errors.push(t(a))):d[l]=d[l]||{_errors:[]},d=d[l],u++;}}};return n(this),s}static assert(e){if(!(e instanceof r))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,ks.util.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){let t={},s=[];for(let n of this.issues)n.path.length>0?(t[n.path[0]]=t[n.path[0]]||[],t[n.path[0]].push(e(n))):s.push(e(n));return {formErrors:s,fieldErrors:t}}get formErrors(){return this.flatten()}};re.ZodError=He;He.create=r=>new He(r);});var Sr=y(Cr=>{Object.defineProperty(Cr,"__esModule",{value:!0});var ue=ze(),C=bt(),no=(r,e)=>{let t;switch(r.code){case C.ZodIssueCode.invalid_type:r.received===ue.ZodParsedType.undefined?t="Required":t=`Expected ${r.expected}, received ${r.received}`;break;case C.ZodIssueCode.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(r.expected,ue.util.jsonStringifyReplacer)}`;break;case C.ZodIssueCode.unrecognized_keys:t=`Unrecognized key(s) in object: ${ue.util.joinValues(r.keys,", ")}`;break;case C.ZodIssueCode.invalid_union:t="Invalid input";break;case C.ZodIssueCode.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${ue.util.joinValues(r.options)}`;break;case C.ZodIssueCode.invalid_enum_value:t=`Invalid enum value. Expected ${ue.util.joinValues(r.options)}, received '${r.received}'`;break;case C.ZodIssueCode.invalid_arguments:t="Invalid function arguments";break;case C.ZodIssueCode.invalid_return_type:t="Invalid function return type";break;case C.ZodIssueCode.invalid_date:t="Invalid date";break;case C.ZodIssueCode.invalid_string:typeof r.validation=="object"?"includes"in r.validation?(t=`Invalid input: must include "${r.validation.includes}"`,typeof r.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${r.validation.position}`)):"startsWith"in r.validation?t=`Invalid input: must start with "${r.validation.startsWith}"`:"endsWith"in r.validation?t=`Invalid input: must end with "${r.validation.endsWith}"`:ue.util.assertNever(r.validation):r.validation!=="regex"?t=`Invalid ${r.validation}`:t="Invalid";break;case C.ZodIssueCode.too_small:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at least":"more than"} ${r.minimum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at least":"over"} ${r.minimum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${r.minimum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(r.minimum))}`:t="Invalid input";break;case C.ZodIssueCode.too_big:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at most":"less than"} ${r.maximum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at most":"under"} ${r.maximum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="bigint"?t=`BigInt must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly":r.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(r.maximum))}`:t="Invalid input";break;case C.ZodIssueCode.custom:t="Invalid input";break;case C.ZodIssueCode.invalid_intersection_types:t="Intersection results could not be merged";break;case C.ZodIssueCode.not_multiple_of:t=`Number must be a multiple of ${r.multipleOf}`;break;case C.ZodIssueCode.not_finite:t="Number must be finite";break;default:t=e.defaultError,ue.util.assertNever(r);}return {message:t}};Cr.default=no;});var Pt=y(B=>{var oo=B&&B.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(B,"__esModule",{value:!0});B.getErrorMap=B.setErrorMap=B.defaultErrorMap=void 0;var Ds=oo(Sr());B.defaultErrorMap=Ds.default;var Zs=Ds.default;function ao(r){Zs=r;}B.setErrorMap=ao;function io(){return Zs}B.getErrorMap=io;});var kr=y(R=>{var co=R&&R.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(R,"__esModule",{value:!0});R.isAsync=R.isValid=R.isDirty=R.isAborted=R.OK=R.DIRTY=R.INVALID=R.ParseStatus=R.addIssueToContext=R.EMPTY_PATH=R.makeIssue=void 0;var uo=Pt(),js=co(Sr()),lo=r=>{let{data:e,path:t,errorMaps:s,issueData:n}=r,o=[...t,...n.path||[]],a={...n,path:o};if(n.message!==void 0)return {...n,path:o,message:n.message};let d="",u=s.filter(l=>!!l).slice().reverse();for(let l of u)d=l(a,{data:e,defaultError:d}).message;return {...n,path:o,message:d}};R.makeIssue=lo;R.EMPTY_PATH=[];function fo(r,e){let t=(0, uo.getErrorMap)(),s=(0, R.makeIssue)({issueData:e,data:r.data,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,t,t===js.default?void 0:js.default].filter(n=>!!n)});r.common.issues.push(s);}R.addIssueToContext=fo;var Nr=class r{constructor(){this.value="valid";}dirty(){this.value==="valid"&&(this.value="dirty");}abort(){this.value!=="aborted"&&(this.value="aborted");}static mergeArray(e,t){let s=[];for(let n of t){if(n.status==="aborted")return R.INVALID;n.status==="dirty"&&e.dirty(),s.push(n.value);}return {status:e.value,value:s}}static async mergeObjectAsync(e,t){let s=[];for(let n of t){let o=await n.key,a=await n.value;s.push({key:o,value:a});}return r.mergeObjectSync(e,s)}static mergeObjectSync(e,t){let s={};for(let n of t){let{key:o,value:a}=n;if(o.status==="aborted"||a.status==="aborted")return R.INVALID;o.status==="dirty"&&e.dirty(),a.status==="dirty"&&e.dirty(),o.value!=="__proto__"&&(typeof a.value<"u"||n.alwaysSet)&&(s[o.value]=a.value);}return {status:e.value,value:s}}};R.ParseStatus=Nr;R.INVALID=Object.freeze({status:"aborted"});var po=r=>({status:"dirty",value:r});R.DIRTY=po;var ho=r=>({status:"valid",value:r});R.OK=ho;var mo=r=>r.status==="aborted";R.isAborted=mo;var _o=r=>r.status==="dirty";R.isDirty=_o;var yo=r=>r.status==="valid";R.isValid=yo;var go=r=>typeof Promise<"u"&&r instanceof Promise;R.isAsync=go;});var Ls=y(Ms=>{Object.defineProperty(Ms,"__esModule",{value:!0});});var Us=y(Ge=>{Object.defineProperty(Ge,"__esModule",{value:!0});Ge.errorUtil=void 0;(function(r){r.errToObj=e=>typeof e=="string"?{message:e}:e||{},r.toString=e=>typeof e=="string"?e:e?.message;})(Ge.errorUtil||(Ge.errorUtil={}));});var Ys=y(i=>{var Ct=i&&i.__classPrivateFieldGet||function(r,e,t,s){if(t==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!s:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?s:t==="a"?s.call(r):s?s.value:e.get(r)},Vs=i&&i.__classPrivateFieldSet||function(r,e,t,s,n){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!n)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?n.call(r,t):n?n.value=t:e.set(r,t),t},Je,Ye;Object.defineProperty(i,"__esModule",{value:!0});i.boolean=i.bigint=i.array=i.any=i.coerce=i.ZodFirstPartyTypeKind=i.late=i.ZodSchema=i.Schema=i.custom=i.ZodReadonly=i.ZodPipeline=i.ZodBranded=i.BRAND=i.ZodNaN=i.ZodCatch=i.ZodDefault=i.ZodNullable=i.ZodOptional=i.ZodTransformer=i.ZodEffects=i.ZodPromise=i.ZodNativeEnum=i.ZodEnum=i.ZodLiteral=i.ZodLazy=i.ZodFunction=i.ZodSet=i.ZodMap=i.ZodRecord=i.ZodTuple=i.ZodIntersection=i.ZodDiscriminatedUnion=i.ZodUnion=i.ZodObject=i.ZodArray=i.ZodVoid=i.ZodNever=i.ZodUnknown=i.ZodAny=i.ZodNull=i.ZodUndefined=i.ZodSymbol=i.ZodDate=i.ZodBoolean=i.ZodBigInt=i.ZodNumber=i.ZodString=i.datetimeRegex=i.ZodType=void 0;i.NEVER=i.void=i.unknown=i.union=i.undefined=i.tuple=i.transformer=i.symbol=i.string=i.strictObject=i.set=i.record=i.promise=i.preprocess=i.pipeline=i.ostring=i.optional=i.onumber=i.oboolean=i.object=i.number=i.nullable=i.null=i.never=i.nativeEnum=i.nan=i.map=i.literal=i.lazy=i.intersection=i.instanceof=i.function=i.enum=i.effect=i.discriminatedUnion=i.date=void 0;var At=Pt(),m=Us(),c=kr(),p=ze(),f=bt(),M=class{constructor(e,t,s,n){this._cachedPath=[],this.parent=e,this.data=t,this._path=s,this._key=n;}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},qs=(r,e)=>{if((0, c.isValid)(e))return {success:!0,data:e.value};if(!r.common.issues.length)throw new Error("Validation failed but no issues detected.");return {success:!1,get error(){if(this._error)return this._error;let t=new f.ZodError(r.common.issues);return this._error=t,this._error}}};function g(r){if(!r)return {};let{errorMap:e,invalid_type_error:t,required_error:s,description:n}=r;if(e&&(t||s))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:n}:{errorMap:(a,d)=>{var u,l;let{message:h}=r;return a.code==="invalid_enum_value"?{message:h??d.defaultError}:typeof d.data>"u"?{message:(u=h??s)!==null&&u!==void 0?u:d.defaultError}:a.code!=="invalid_type"?{message:d.defaultError}:{message:(l=h??t)!==null&&l!==void 0?l:d.defaultError}},description:n}}var v=class{constructor(e){this.spa=this.safeParseAsync,this._def=e,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);}get description(){return this._def.description}_getType(e){return (0, p.getParsedType)(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:(0, p.getParsedType)(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return {status:new c.ParseStatus,ctx:{common:e.parent.common,data:e.data,parsedType:(0, p.getParsedType)(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if((0, c.isAsync)(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let s=this.safeParse(e,t);if(s.success)return s.data;throw s.error}safeParse(e,t){var s;let n={common:{issues:[],async:(s=t?.async)!==null&&s!==void 0?s:!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:(0, p.getParsedType)(e)},o=this._parseSync({data:e,path:n.path,parent:n});return qs(n,o)}async parseAsync(e,t){let s=await this.safeParseAsync(e,t);if(s.success)return s.data;throw s.error}async safeParseAsync(e,t){let s={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:(0, p.getParsedType)(e)},n=this._parse({data:e,path:s.path,parent:s}),o=await((0, c.isAsync)(n)?n:Promise.resolve(n));return qs(s,o)}refine(e,t){let s=n=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(n):t;return this._refinement((n,o)=>{let a=e(n),d=()=>o.addIssue({code:f.ZodIssueCode.custom,...s(n)});return typeof Promise<"u"&&a instanceof Promise?a.then(u=>u?!0:(d(),!1)):a?!0:(d(),!1)})}refinement(e,t){return this._refinement((s,n)=>e(s)?!0:(n.addIssue(typeof t=="function"?t(s,n):t),!1))}_refinement(e){return new k({schema:this,typeName:_.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return j.create(this,this._def)}nullable(){return z.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Y.create(this,this._def)}promise(){return oe.create(this,this._def)}or(e){return ye.create([this,e],this._def)}and(e){return ge.create(this,e,this._def)}transform(e){return new k({...g(this._def),schema:this,typeName:_.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let t=typeof e=="function"?e:()=>e;return new Re({...g(this._def),innerType:this,defaultValue:t,typeName:_.ZodDefault})}brand(){return new Xe({typeName:_.ZodBranded,type:this,...g(this._def)})}catch(e){let t=typeof e=="function"?e:()=>e;return new xe({...g(this._def),innerType:this,catchValue:t,typeName:_.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return Qe.create(this,e)}readonly(){return Oe.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}};i.ZodType=v;i.Schema=v;i.ZodSchema=v;var wo=/^c[^\s-]{8,}$/i,To=/^[0-9a-z]+$/,Io=/^[0-9A-HJKMNP-TV-Z]{26}$/,Ro=/^[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,xo=/^[a-z0-9_-]{21}$/i,Oo=/^[-+]?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)?)??$/,Eo=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,bo="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Dr,Po=/^(?:(?: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])$/,Ao=/^(([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})))$/,Co=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,$s="((\\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])))",So=new RegExp(`^${$s}$`);function Fs(r){let e="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return r.precision?e=`${e}\\.\\d{${r.precision}}`:r.precision==null&&(e=`${e}(\\.\\d+)?`),e}function No(r){return new RegExp(`^${Fs(r)}$`)}function Ws(r){let e=`${$s}T${Fs(r)}`,t=[];return t.push(r.local?"Z?":"Z"),r.offset&&t.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${t.join("|")})`,new RegExp(`^${e}$`)}i.datetimeRegex=Ws;function ko(r,e){return !!((e==="v4"||!e)&&Po.test(r)||(e==="v6"||!e)&&Ao.test(r))}var se=class r extends v{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==p.ZodParsedType.string){let o=this._getOrReturnCtx(e);return (0, c.addIssueToContext)(o,{code:f.ZodIssueCode.invalid_type,expected:p.ZodParsedType.string,received:o.parsedType}),c.INVALID}let s=new c.ParseStatus,n;for(let o of this._def.checks)if(o.kind==="min")e.data.length<o.value&&(n=this._getOrReturnCtx(e,n),(0, c.addIssueToContext)(n,{code:f.ZodIssueCode.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),s.dirty());else if(o.kind==="max")e.data.length>o.value&&(n=this._getOrReturnCtx(e,n),(0, c.addIssueToContext)(n,{code:f.ZodIssueCode.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),s.dirty());else if(o.kind==="length"){let a=e.data.length>o.value,d=e.data.length<o.value;(a||d)&&(n=this._getOrReturnCtx(e,n),a?(0, c.addIssueToContext)(n,{code:f.ZodIssueCode.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):d&&(0, c.addIssueToContext)(n,{code:f.ZodIssueCode.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),s.dirty());}else if(o.kind==="email")Eo.test(e.data)||(n=this._getOrReturnCtx(e,n),(0, c.addIssueToContext)(n,{validation:"email",code:f.ZodIssueCode.invalid_string,message:o.message}),s.dirty());else if(o.kind==="emoji")Dr||(Dr=new RegExp(bo,"u")),Dr.test(e.data)||(n=this._getOrReturnCtx(e,n),(0, c.addIssueToContext)(n,{validation:"emoji",code:f.ZodIssueCode.invalid_string,message:o.message}),s.dirty());else if(o.kind==="uuid")Ro.test(e.data)||(n=this._getOrReturnCtx(e,n),(0, c.addIssueToContext)(n,{validation:"uuid",code:f.ZodIssueCode.invalid_string,message:o.message}),s.dirty());else if(o.kind==="nanoid")xo.test(e.data)||(n=this._getOrReturnCtx(e,n),(0, c.addIssueToContext)(n,{validation:"nanoid",code:f.ZodIssueCode.invalid_string,message:o.message}),s.dirty());else if(o.kind==="cuid")wo.test(e.data)||(n=this._getOrReturnCtx(e,n),(0, c.addIssueToContext)(n,{validation:"cuid",code:f.ZodIssueCode.invalid_string,message:o.message}),s.dirty());else if(o.kind==="cuid2")To.test(e.data)||(n=this._getOrReturnCtx(e,n),(0, c.addIssueToContext)(n,{validation:"cuid2",code:f.ZodIssueCode.invalid_string,message:o.message}),s.dirty());else if(o.kind==="ulid")Io.test(e.data)||(n=this._getOrReturnCtx(e,n),(0, c.addIssueToContext)(n,{validation:"ulid",code:f.ZodIssueCode.invalid_string,message:o.message}),s.dirty());else if(o.kind==="url")try{new URL(e.data);}catch{n=this._getOrReturnCtx(e,n),(0, c.addIssueToContext)(n,{validation:"url",code:f.ZodIssueCode.invalid_string,message:o.message}),s.dirty();}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(e.data)||(n=this._getOrReturnCtx(e,n),(0, c.addIssueToContext)(n,{validation:"regex",code:f.ZodIssueCode.invalid_string,message:o.message}),s.dirty())):o.kind==="trim"?e.data=e.data.trim():o.kind==="includes"?e.data.includes(o.value,o.position)||(n=this._getOrReturnCtx(e,n),(0, c.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),s.dirty()):o.kind==="toLowerCase"?e.data=e.data.toLowerCase():o.kind==="toUpperCase"?e.data=e.data.toUpperCase():o.kind==="startsWith"?e.data.startsWith(o.value)||(n=this._getOrReturnCtx(e,n),(0, c.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_string,validation:{startsWith:o.value},message:o.message}),s.dirty()):o.kind==="endsWith"?e.data.endsWith(o.value)||(n=this._getOrReturnCtx(e,n),(0, c.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_string,validation:{endsWith:o.value},message:o.message}),s.dirty()):o.kind==="datetime"?Ws(o).test(e.data)||(n=this._getOrReturnCtx(e,n),(0, c.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_string,validation:"datetime",message:o.message}),s.dirty()):o.kind==="date"?So.test(e.data)||(n=this._getOrReturnCtx(e,n),(0, c.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_string,validation:"date",message:o.message}),s.dirty()):o.kind==="time"?No(o).test(e.data)||(n=this._getOrReturnCtx(e,n),(0, c.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_string,validation:"time",message:o.message}),s.dirty()):o.kind==="duration"?Oo.test(e.data)||(n=this._getOrReturnCtx(e,n),(0, c.addIssueToContext)(n,{validation:"duration",code:f.ZodIssueCode.invalid_string,message:o.message}),s.dirty()):o.kind==="ip"?ko(e.data,o.version)||(n=this._getOrReturnCtx(e,n),(0, c.addIssueToContext)(n,{validation:"ip",code:f.ZodIssueCode.invalid_string,message:o.message}),s.dirty()):o.kind==="base64"?Co.test(e.data)||(n=this._getOrReturnCtx(e,n),(0, c.addIssueToContext)(n,{validation:"base64",code:f.ZodIssueCode.invalid_string,message:o.message}),s.dirty()):p.util.assertNever(o);return {status:s.value,value:e.data}}_regex(e,t,s){return this.refinement(n=>e.test(n),{validation:t,code:f.ZodIssueCode.invalid_string,...m.errorUtil.errToObj(s)})}_addCheck(e){return new r({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...m.errorUtil.errToObj(e)})}url(e){return this._addCheck({kind:"url",...m.errorUtil.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...m.errorUtil.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...m.errorUtil.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...m.errorUtil.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...m.errorUtil.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...m.errorUtil.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...m.errorUtil.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...m.errorUtil.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...m.errorUtil.errToObj(e)})}datetime(e){var t,s;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:(t=e?.offset)!==null&&t!==void 0?t:!1,local:(s=e?.local)!==null&&s!==void 0?s:!1,...m.errorUtil.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...m.errorUtil.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...m.errorUtil.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...m.errorUtil.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t?.position,...m.errorUtil.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...m.errorUtil.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...m.errorUtil.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...m.errorUtil.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...m.errorUtil.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...m.errorUtil.errToObj(t)})}nonempty(e){return this.min(1,m.errorUtil.errToObj(e))}trim(){return new r({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new r({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new r({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return !!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return !!this._def.checks.find(e=>e.kind==="date")}get isTime(){return !!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return !!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return !!this._def.checks.find(e=>e.kind==="email")}get isURL(){return !!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return !!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return !!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return !!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return !!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return !!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return !!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return !!this._def.checks.find(e=>e.kind==="ip")}get isBase64(){return !!this._def.checks.find(e=>e.kind==="base64")}get minLength(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}};i.ZodString=se;se.create=r=>{var e;return new se({checks:[],typeName:_.ZodString,coerce:(e=r?.coerce)!==null&&e!==void 0?e:!1,...g(r)})};function Do(r,e){let t=(r.toString().split(".")[1]||"").length,s=(e.toString().split(".")[1]||"").length,n=t>s?t:s,o=parseInt(r.toFixed(n).replace(".","")),a=parseInt(e.toFixed(n).replace(".",""));return o%a/Math.pow(10,n)}var le=class r extends v{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf;}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==p.ZodParsedType.number){let o=this._getOrReturnCtx(e);return (0, c.addIssueToContext)(o,{code:f.ZodIssueCode.invalid_type,expected:p.ZodParsedType.number,received:o.parsedType}),c.INVALID}let s,n=new c.ParseStatus;for(let o of this._def.checks)o.kind==="int"?p.util.isInteger(e.data)||(s=this._getOrReturnCtx(e,s),(0, c.addIssueToContext)(s,{code:f.ZodIssueCode.invalid_type,expected:"integer",received:"float",message:o.message}),n.dirty()):o.kind==="min"?(o.inclusive?e.data<o.value:e.data<=o.value)&&(s=this._getOrReturnCtx(e,s),(0, c.addIssueToContext)(s,{code:f.ZodIssueCode.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),n.dirty()):o.kind==="max"?(o.inclusive?e.data>o.value:e.data>=o.value)&&(s=this._getOrReturnCtx(e,s),(0, c.addIssueToContext)(s,{code:f.ZodIssueCode.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),n.dirty()):o.kind==="multipleOf"?Do(e.data,o.value)!==0&&(s=this._getOrReturnCtx(e,s),(0, c.addIssueToContext)(s,{code:f.ZodIssueCode.not_multiple_of,multipleOf:o.value,message:o.message}),n.dirty()):o.kind==="finite"?Number.isFinite(e.data)||(s=this._getOrReturnCtx(e,s),(0, c.addIssueToContext)(s,{code:f.ZodIssueCode.not_finite,message:o.message}),n.dirty()):p.util.assertNever(o);return {status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,m.errorUtil.toString(t))}gt(e,t){return this.setLimit("min",e,!1,m.errorUtil.toString(t))}lte(e,t){return this.setLimit("max",e,!0,m.errorUtil.toString(t))}lt(e,t){return this.setLimit("max",e,!1,m.errorUtil.toString(t))}setLimit(e,t,s,n){return new r({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:s,message:m.errorUtil.toString(n)}]})}_addCheck(e){return new r({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:m.errorUtil.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:m.errorUtil.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:m.errorUtil.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:m.errorUtil.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:m.errorUtil.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:m.errorUtil.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:m.errorUtil.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:m.errorUtil.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:m.errorUtil.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return !!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&p.util.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let s of this._def.checks){if(s.kind==="finite"||s.kind==="int"||s.kind==="multipleOf")return !0;s.kind==="min"?(t===null||s.value>t)&&(t=s.value):s.kind==="max"&&(e===null||s.value<e)&&(e=s.value);}return Number.isFinite(t)&&Number.isFinite(e)}};i.ZodNumber=le;le.create=r=>new le({checks:[],typeName:_.ZodNumber,coerce:r?.coerce||!1,...g(r)});var fe=class r extends v{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte;}_parse(e){if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==p.ZodParsedType.bigint){let o=this._getOrReturnCtx(e);return (0, c.addIssueToContext)(o,{code:f.ZodIssueCode.invalid_type,expected:p.ZodParsedType.bigint,received:o.parsedType}),c.INVALID}let s,n=new c.ParseStatus;for(let o of this._def.checks)o.kind==="min"?(o.inclusive?e.data<o.value:e.data<=o.value)&&(s=this._getOrReturnCtx(e,s),(0, c.addIssueToContext)(s,{code:f.ZodIssueCode.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),n.dirty()):o.kind==="max"?(o.inclusive?e.data>o.value:e.data>=o.value)&&(s=this._getOrReturnCtx(e,s),(0, c.addIssueToContext)(s,{code:f.ZodIssueCode.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),n.dirty()):o.kind==="multipleOf"?e.data%o.value!==BigInt(0)&&(s=this._getOrReturnCtx(e,s),(0, c.addIssueToContext)(s,{code:f.ZodIssueCode.not_multiple_of,multipleOf:o.value,message:o.message}),n.dirty()):p.util.assertNever(o);return {status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,m.errorUtil.toString(t))}gt(e,t){return this.setLimit("min",e,!1,m.errorUtil.toString(t))}lte(e,t){return this.setLimit("max",e,!0,m.errorUtil.toString(t))}lt(e,t){return this.setLimit("max",e,!1,m.errorUtil.toString(t))}setLimit(e,t,s,n){return new r({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:s,message:m.errorUtil.toString(n)}]})}_addCheck(e){return new r({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:m.errorUtil.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:m.errorUtil.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:m.errorUtil.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:m.errorUtil.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:m.errorUtil.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}};i.ZodBigInt=fe;fe.create=r=>{var e;return new fe({checks:[],typeName:_.ZodBigInt,coerce:(e=r?.coerce)!==null&&e!==void 0?e:!1,...g(r)})};var pe=class extends v{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==p.ZodParsedType.boolean){let s=this._getOrReturnCtx(e);return (0, c.addIssueToContext)(s,{code:f.ZodIssueCode.invalid_type,expected:p.ZodParsedType.boolean,received:s.parsedType}),c.INVALID}return (0, c.OK)(e.data)}};i.ZodBoolean=pe;pe.create=r=>new pe({typeName:_.ZodBoolean,coerce:r?.coerce||!1,...g(r)});var he=class r extends v{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==p.ZodParsedType.date){let o=this._getOrReturnCtx(e);return (0, c.addIssueToContext)(o,{code:f.ZodIssueCode.invalid_type,expected:p.ZodParsedType.date,received:o.parsedType}),c.INVALID}if(isNaN(e.data.getTime())){let o=this._getOrReturnCtx(e);return (0, c.addIssueToContext)(o,{code:f.ZodIssueCode.invalid_date}),c.INVALID}let s=new c.ParseStatus,n;for(let o of this._def.checks)o.kind==="min"?e.data.getTime()<o.value&&(n=this._getOrReturnCtx(e,n),(0, c.addIssueToContext)(n,{code:f.ZodIssueCode.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),s.dirty()):o.kind==="max"?e.data.getTime()>o.value&&(n=this._getOrReturnCtx(e,n),(0, c.addIssueToContext)(n,{code:f.ZodIssueCode.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),s.dirty()):p.util.assertNever(o);return {status:s.value,value:new Date(e.data.getTime())}}_addCheck(e){return new r({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:m.errorUtil.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:m.errorUtil.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e!=null?new Date(e):null}};i.ZodDate=he;he.create=r=>new he({checks:[],coerce:r?.coerce||!1,typeName:_.ZodDate,...g(r)});var De=class extends v{_parse(e){if(this._getType(e)!==p.ZodParsedType.symbol){let s=this._getOrReturnCtx(e);return (0, c.addIssueToContext)(s,{code:f.ZodIssueCode.invalid_type,expected:p.ZodParsedType.symbol,received:s.parsedType}),c.INVALID}return (0, c.OK)(e.data)}};i.ZodSymbol=De;De.create=r=>new De({typeName:_.ZodSymbol,...g(r)});var me=class extends v{_parse(e){if(this._getType(e)!==p.ZodParsedType.undefined){let s=this._getOrReturnCtx(e);return (0, c.addIssueToContext)(s,{code:f.ZodIssueCode.invalid_type,expected:p.ZodParsedType.undefined,received:s.parsedType}),c.INVALID}return (0, c.OK)(e.data)}};i.ZodUndefined=me;me.create=r=>new me({typeName:_.ZodUndefined,...g(r)});var _e=class extends v{_parse(e){if(this._getType(e)!==p.ZodParsedType.null){let s=this._getOrReturnCtx(e);return (0, c.addIssueToContext)(s,{code:f.ZodIssueCode.invalid_type,expected:p.ZodParsedType.null,received:s.parsedType}),c.INVALID}return (0, c.OK)(e.data)}};i.ZodNull=_e;_e.create=r=>new _e({typeName:_.ZodNull,...g(r)});var ne=class extends v{constructor(){super(...arguments),this._any=!0;}_parse(e){return (0, c.OK)(e.data)}};i.ZodAny=ne;ne.create=r=>new ne({typeName:_.ZodAny,...g(r)});var J=class extends v{constructor(){super(...arguments),this._unknown=!0;}_parse(e){return (0, c.OK)(e.data)}};i.ZodUnknown=J;J.create=r=>new J({typeName:_.ZodUnknown,...g(r)});var V=class extends v{_parse(e){let t=this._getOrReturnCtx(e);return (0, c.addIssueToContext)(t,{code:f.ZodIssueCode.invalid_type,expected:p.ZodParsedType.never,received:t.parsedType}),c.INVALID}};i.ZodNever=V;V.create=r=>new V({typeName:_.ZodNever,...g(r)});var Ze=class extends v{_parse(e){if(this._getType(e)!==p.ZodParsedType.undefined){let s=this._getOrReturnCtx(e);return (0, c.addIssueToContext)(s,{code:f.ZodIssueCode.invalid_type,expected:p.ZodParsedType.void,received:s.parsedType}),c.INVALID}return (0, c.OK)(e.data)}};i.ZodVoid=Ze;Ze.create=r=>new Ze({typeName:_.ZodVoid,...g(r)});var Y=class r extends v{_parse(e){let{ctx:t,status:s}=this._processInputParams(e),n=this._def;if(t.parsedType!==p.ZodParsedType.array)return (0, c.addIssueToContext)(t,{code:f.ZodIssueCode.invalid_type,expected:p.ZodParsedType.array,received:t.parsedType}),c.INVALID;if(n.exactLength!==null){let a=t.data.length>n.exactLength.value,d=t.data.length<n.exactLength.value;(a||d)&&((0, c.addIssueToContext)(t,{code:a?f.ZodIssueCode.too_big:f.ZodIssueCode.too_small,minimum:d?n.exactLength.value:void 0,maximum:a?n.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:n.exactLength.message}),s.dirty());}if(n.minLength!==null&&t.data.length<n.minLength.value&&((0, c.addIssueToContext)(t,{code:f.ZodIssueCode.too_small,minimum:n.minLength.value,type:"array",inclusive:!0,exact:!1,message:n.minLength.message}),s.dirty()),n.maxLength!==null&&t.data.length>n.maxLength.value&&((0, c.addIssueToContext)(t,{code:f.ZodIssueCode.too_big,maximum:n.maxLength.value,type:"array",inclusive:!0,exact:!1,message:n.maxLength.message}),s.dirty()),t.common.async)return Promise.all([...t.data].map((a,d)=>n.type._parseAsync(new M(t,a,t.path,d)))).then(a=>c.ParseStatus.mergeArray(s,a));let o=[...t.data].map((a,d)=>n.type._parseSync(new M(t,a,t.path,d)));return c.ParseStatus.mergeArray(s,o)}get element(){return this._def.type}min(e,t){return new r({...this._def,minLength:{value:e,message:m.errorUtil.toString(t)}})}max(e,t){return new r({...this._def,maxLength:{value:e,message:m.errorUtil.toString(t)}})}length(e,t){return new r({...this._def,exactLength:{value:e,message:m.errorUtil.toString(t)}})}nonempty(e){return this.min(1,e)}};i.ZodArray=Y;Y.create=(r,e)=>new Y({type:r,minLength:null,maxLength:null,exactLength:null,typeName:_.ZodArray,...g(e)});function ke(r){if(r instanceof S){let e={};for(let t in r.shape){let s=r.shape[t];e[t]=j.create(ke(s));}return new S({...r._def,shape:()=>e})}else return r instanceof Y?new Y({...r._def,type:ke(r.element)}):r instanceof j?j.create(ke(r.unwrap())):r instanceof z?z.create(ke(r.unwrap())):r instanceof K?K.create(r.items.map(e=>ke(e))):r}var S=class r extends v{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend;}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),t=p.util.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==p.ZodParsedType.object){let l=this._getOrReturnCtx(e);return (0, c.addIssueToContext)(l,{code:f.ZodIssueCode.invalid_type,expected:p.ZodParsedType.object,received:l.parsedType}),c.INVALID}let{status:s,ctx:n}=this._processInputParams(e),{shape:o,keys:a}=this._getCached(),d=[];if(!(this._def.catchall instanceof V&&this._def.unknownKeys==="strip"))for(let l in n.data)a.includes(l)||d.push(l);let u=[];for(let l of a){let h=o[l],x=n.data[l];u.push({key:{status:"valid",value:l},value:h._parse(new M(n,x,n.path,l)),alwaysSet:l in n.data});}if(this._def.catchall instanceof V){let l=this._def.unknownKeys;if(l==="passthrough")for(let h of d)u.push({key:{status:"valid",value:h},value:{status:"valid",value:n.data[h]}});else if(l==="strict")d.length>0&&((0, c.addIssueToContext)(n,{code:f.ZodIssueCode.unrecognized_keys,keys:d}),s.dirty());else if(l!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else {let l=this._def.catchall;for(let h of d){let x=n.data[h];u.push({key:{status:"valid",value:h},value:l._parse(new M(n,x,n.path,h)),alwaysSet:h in n.data});}}return n.common.async?Promise.resolve().then(async()=>{let l=[];for(let h of u){let x=await h.key,U=await h.value;l.push({key:x,value:U,alwaysSet:h.alwaysSet});}return l}).then(l=>c.ParseStatus.mergeObjectSync(s,l)):c.ParseStatus.mergeObjectSync(s,u)}get shape(){return this._def.shape()}strict(e){return m.errorUtil.errToObj,new r({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,s)=>{var n,o,a,d;let u=(a=(o=(n=this._def).errorMap)===null||o===void 0?void 0:o.call(n,t,s).message)!==null&&a!==void 0?a:s.defaultError;return t.code==="unrecognized_keys"?{message:(d=m.errorUtil.errToObj(e).message)!==null&&d!==void 0?d:u}:{message:u}}}:{}})}strip(){return new r({...this._def,unknownKeys:"strip"})}passthrough(){return new r({...this._def,unknownKeys:"passthrough"})}extend(e){return new r({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new r({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:_.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new r({...this._def,catchall:e})}pick(e){let t={};return p.util.objectKeys(e).forEach(s=>{e[s]&&this.shape[s]&&(t[s]=this.shape[s]);}),new r({...this._def,shape:()=>t})}omit(e){let t={};return p.util.objectKeys(this.shape).forEach(s=>{e[s]||(t[s]=this.shape[s]);}),new r({...this._def,shape:()=>t})}deepPartial(){return ke(this)}partial(e){let t={};return p.util.objectKeys(this.shape).forEach(s=>{let n=this.shape[s];e&&!e[s]?t[s]=n:t[s]=n.optional();}),new r({...this._def,shape:()=>t})}required(e){let t={};return p.util.objectKeys(this.shape).forEach(s=>{if(e&&!e[s])t[s]=this.shape[s];else {let o=this.shape[s];for(;o instanceof j;)o=o._def.innerType;t[s]=o;}}),new r({...this._def,shape:()=>t})}keyof(){return Bs(p.util.objectKeys(this.shape))}};i.ZodObject=S;S.create=(r,e)=>new S({shape:()=>r,unknownKeys:"strip",catchall:V.create(),typeName:_.ZodObject,...g(e)});S.strictCreate=(r,e)=>new S({shape:()=>r,unknownKeys:"strict",catchall:V.create(),typeName:_.ZodObject,...g(e)});S.lazycreate=(r,e)=>new S({shape:r,unknownKeys:"strip",catchall:V.create(),typeName:_.ZodObject,...g(e)});var ye=class extends v{_parse(e){let{ctx:t}=this._processInputParams(e),s=this._def.options;function n(o){for(let d of o)if(d.result.status==="valid")return d.result;for(let d of o)if(d.result.status==="dirty")return t.common.issues.push(...d.ctx.common.issues),d.result;let a=o.map(d=>new f.ZodError(d.ctx.common.issues));return (0, c.addIssueToContext)(t,{code:f.ZodIssueCode.invalid_union,unionErrors:a}),c.INVALID}if(t.common.async)return Promise.all(s.map(async o=>{let a={...t,common:{...t.common,issues:[]},parent:null};return {result:await o._parseAsync({data:t.data,path:t.path,parent:a}),ctx:a}})).then(n);{let o,a=[];for(let u of s){let l={...t,common:{...t.common,issues:[]},parent:null},h=u._parseSync({data:t.data,path:t.path,parent:l});if(h.status==="valid")return h;h.status==="dirty"&&!o&&(o={result:h,ctx:l}),l.common.issues.length&&a.push(l.common.issues);}if(o)return t.common.issues.push(...o.ctx.common.issues),o.result;let d=a.map(u=>new f.ZodError(u));return (0, c.addIssueToContext)(t,{code:f.ZodIssueCode.invalid_union,unionErrors:d}),c.INVALID}}get options(){return this._def.options}};i.ZodUnion=ye;ye.create=(r,e)=>new ye({options:r,typeName:_.ZodUnion,...g(e)});var G=r=>r instanceof ve?G(r.schema):r instanceof k?G(r.innerType()):r instanceof we?[r.value]:r instanceof Te?r.options:r instanceof Ie?p.util.objectValues(r.enum):r instanceof Re?G(r._def.innerType):r instanceof me?[void 0]:r instanceof _e?[null]:r instanceof j?[void 0,...G(r.unwrap())]:r instanceof z?[null,...G(r.unwrap())]:r instanceof Xe||r instanceof Oe?G(r.unwrap()):r instanceof xe?G(r._def.innerType):[],St=class r extends v{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==p.ZodParsedType.object)return (0, c.addIssueToContext)(t,{code:f.ZodIssueCode.invalid_type,expected:p.ZodParsedType.object,received:t.parsedType}),c.INVALID;let s=this.discriminator,n=t.data[s],o=this.optionsMap.get(n);return o?t.common.async?o._parseAsync({data:t.data,path:t.path,parent:t}):o._parseSync({data:t.data,path:t.path,parent:t}):((0, c.addIssueToContext)(t,{code:f.ZodIssueCode.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[s]}),c.INVALID)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,s){let n=new Map;for(let o of t){let a=G(o.shape[e]);if(!a.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let d of a){if(n.has(d))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(d)}`);n.set(d,o);}}return new r({typeName:_.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:n,...g(s)})}};i.ZodDiscriminatedUnion=St;function Zr(r,e){let t=(0, p.getParsedType)(r),s=(0, p.getParsedType)(e);if(r===e)return {valid:!0,data:r};if(t===p.ZodParsedType.object&&s===p.ZodParsedType.object){let n=p.util.objectKeys(e),o=p.util.objectKeys(r).filter(d=>n.indexOf(d)!==-1),a={...r,...e};for(let d of o){let u=Zr(r[d],e[d]);if(!u.valid)return {valid:!1};a[d]=u.data;}return {valid:!0,data:a}}else if(t===p.ZodParsedType.array&&s===p.ZodParsedType.array){if(r.length!==e.length)return {valid:!1};let n=[];for(let o=0;o<r.length;o++){let a=r[o],d=e[o],u=Zr(a,d);if(!u.valid)return {valid:!1};n.push(u.data);}return {valid:!0,data:n}}else return t===p.ZodParsedType.date&&s===p.ZodParsedType.date&&+r==+e?{valid:!0,data:r}:{valid:!1}}var ge=class extends v{_parse(e){let{status:t,ctx:s}=this._processInputParams(e),n=(o,a)=>{if((0, c.isAborted)(o)||(0, c.isAborted)(a))return c.INVALID;let d=Zr(o.value,a.value);return d.valid?(((0, c.isDirty)(o)||(0, c.isDirty)(a))&&t.dirty(),{status:t.value,value:d.data}):((0, c.addIssueToContext)(s,{code:f.ZodIssueCode.invalid_intersection_types}),c.INVALID)};return s.common.async?Promise.all([this._def.left._parseAsync({data:s.data,path:s.path,parent:s}),this._def.right._parseAsync({data:s.data,path:s.path,parent:s})]).then(([o,a])=>n(o,a)):n(this._def.left._parseSync({data:s.data,path:s.path,parent:s}),this._def.right._parseSync({data:s.data,path:s.path,parent:s}))}};i.ZodIntersection=ge;ge.create=(r,e,t)=>new ge({left:r,right:e,typeName:_.ZodIntersection,...g(t)});var K=class r extends v{_parse(e){let{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==p.ZodParsedType.array)return (0, c.addIssueToContext)(s,{code:f.ZodIssueCode.invalid_type,expected:p.ZodParsedType.array,received:s.parsedType}),c.INVALID;if(s.data.length<this._def.items.length)return (0, c.addIssueToContext)(s,{code:f.ZodIssueCode.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),c.INVALID;!this._def.rest&&s.data.length>this._def.items.length&&((0, c.addIssueToContext)(s,{code:f.ZodIssueCode.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());let o=[...s.data].map((a,d)=>{let u=this._def.items[d]||this._def.rest;return u?u._parse(new M(s,a,s.path,d)):null}).filter(a=>!!a);return s.common.async?Promise.all(o).then(a=>c.ParseStatus.mergeArray(t,a)):c.ParseStatus.mergeArray(t,o)}get items(){return this._def.items}rest(e){return new r({...this._def,rest:e})}};i.ZodTuple=K;K.create=(r,e)=>{if(!Array.isArray(r))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new K({items:r,typeName:_.ZodTuple,rest:null,...g(e)})};var Nt=class r extends v{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==p.ZodParsedType.object)return (0, c.addIssueToContext)(s,{code:f.ZodIssueCode.invalid_type,expected:p.ZodParsedType.object,received:s.parsedType}),c.INVALID;let n=[],o=this._def.keyType,a=this._def.valueType;for(let d in s.data)n.push({key:o._parse(new M(s,d,s.path,d)),value:a._parse(new M(s,s.data[d],s.path,d)),alwaysSet:d in s.data});return s.common.async?c.ParseStatus.mergeObjectAsync(t,n):c.ParseStatus.mergeObjectSync(t,n)}get element(){return this._def.valueType}static create(e,t,s){return t instanceof v?new r({keyType:e,valueType:t,typeName:_.ZodRecord,...g(s)}):new r({keyType:se.create(),valueType:e,typeName:_.ZodRecord,...g(t)})}};i.ZodRecord=Nt;var je=class extends v{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==p.ZodParsedType.map)return (0, c.addIssueToContext)(s,{code:f.ZodIssueCode.invalid_type,expected:p.ZodParsedType.map,received:s.parsedType}),c.INVALID;let n=this._def.keyType,o=this._def.valueType,a=[...s.data.entries()].map(([d,u],l)=>({key:n._parse(new M(s,d,s.path,[l,"key"])),value:o._parse(new M(s,u,s.path,[l,"value"]))}));if(s.common.async){let d=new Map;return Promise.resolve().then(async()=>{for(let u of a){let l=await u.key,h=await u.value;if(l.status==="aborted"||h.status==="aborted")return c.INVALID;(l.status==="dirty"||h.status==="dirty")&&t.dirty(),d.set(l.value,h.value);}return {status:t.value,value:d}})}else {let d=new Map;for(let u of a){let l=u.key,h=u.value;if(l.status==="aborted"||h.status==="aborted")return c.INVALID;(l.status==="dirty"||h.status==="dirty")&&t.dirty(),d.set(l.value,h.value);}return {status:t.value,value:d}}}};i.ZodMap=je;je.create=(r,e,t)=>new je({valueType:e,keyType:r,typeName:_.ZodMap,...g(t)});var Me=class r extends v{_parse(e){let{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==p.ZodParsedType.set)return (0, c.addIssueToContext)(s,{code:f.ZodIssueCode.invalid_type,expected:p.ZodParsedType.set,received:s.parsedType}),c.INVALID;let n=this._def;n.minSize!==null&&s.data.size<n.minSize.value&&((0, c.addIssueToContext)(s,{code:f.ZodIssueCode.too_small,minimum:n.minSize.value,type:"set",inclusive:!0,exact:!1,message:n.minSize.message}),t.dirty()),n.maxSize!==null&&s.data.size>n.maxSize.value&&((0, c.addIssueToContext)(s,{code:f.ZodIssueCode.too_big,maximum:n.maxSize.value,type:"set",inclusive:!0,exact:!1,message:n.maxSize.message}),t.dirty());let o=this._def.valueType;function a(u){let l=new Set;for(let h of u){if(h.status==="aborted")return c.INVALID;h.status==="dirty"&&t.dirty(),l.add(h.value);}return {status:t.value,value:l}}let d=[...s.data.values()].map((u,l)=>o._parse(new M(s,u,s.path,l)));return s.common.async?Promise.all(d).then(u=>a(u)):a(d)}min(e,t){return new r({...this._def,minSize:{value:e,message:m.errorUtil.toString(t)}})}max(e,t){return new r({...this._def,maxSize:{value:e,message:m.errorUtil.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};i.ZodSet=Me;Me.create=(r,e)=>new Me({valueType:r,minSize:null,maxSize:null,typeName:_.ZodSet,...g(e)});var kt=class r extends v{constructor(){super(...arguments),this.validate=this.implement;}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==p.ZodParsedType.function)return (0, c.addIssueToContext)(t,{code:f.ZodIssueCode.invalid_type,expected:p.ZodParsedType.function,received:t.parsedType}),c.INVALID;function s(d,u){return (0, c.makeIssue)({data:d,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,(0, At.getErrorMap)(),At.defaultErrorMap].filter(l=>!!l),issueData:{code:f.ZodIssueCode.invalid_arguments,argumentsError:u}})}function n(d,u){return (0, c.makeIssue)({data:d,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,(0, At.getErrorMap)(),At.defaultErrorMap].filter(l=>!!l),issueData:{code:f.ZodIssueCode.invalid_return_type,returnTypeError:u}})}let o={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof oe){let d=this;return (0, c.OK)(async function(...u){let l=new f.ZodError([]),h=await d._def.args.parseAsync(u,o).catch(X=>{throw l.addIssue(s(u,X)),l}),x=await Reflect.apply(a,this,h);return await d._def.returns._def.type.parseAsync(x,o).catch(X=>{throw l.addIssue(n(x,X)),l})})}else {let d=this;return (0, c.OK)(function(...u){let l=d._def.args.safeParse(u,o);if(!l.success)throw new f.ZodError([s(u,l.error)]);let h=Reflect.apply(a,this,l.data),x=d._def.returns.safeParse(h,o);if(!x.success)throw new f.ZodError([n(h,x.error)]);return x.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new r({...this._def,args:K.create(e).rest(J.create())})}returns(e){return new r({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,s){return new r({args:e||K.create([]).rest(J.create()),returns:t||J.create(),typeName:_.ZodFunction,...g(s)})}};i.ZodFunction=kt;var ve=class extends v{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};i.ZodLazy=ve;ve.create=(r,e)=>new ve({getter:r,typeName:_.ZodLazy,...g(e)});var we=class extends v{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return (0, c.addIssueToContext)(t,{received:t.data,code:f.ZodIssueCode.invalid_literal,expected:this._def.value}),c.INVALID}return {status:"valid",value:e.data}}get value(){return this._def.value}};i.ZodLiteral=we;we.create=(r,e)=>new we({value:r,typeName:_.ZodLiteral,...g(e)});function Bs(r,e){return new Te({values:r,typeName:_.ZodEnum,...g(e)})}var Te=class r extends v{constructor(){super(...arguments),Je.set(this,void 0);}_parse(e){if(typeof e.data!="string"){let t=this._getOrReturnCtx(e),s=this._def.values;return (0, c.addIssueToContext)(t,{expected:p.util.joinValues(s),received:t.parsedType,code:f.ZodIssueCode.invalid_type}),c.INVALID}if(Ct(this,Je,"f")||Vs(this,Je,new Set(this._def.values),"f"),!Ct(this,Je,"f").has(e.data)){let t=this._getOrReturnCtx(e),s=this._def.values;return (0, c.addIssueToContext)(t,{received:t.data,code:f.ZodIssueCode.invalid_enum_value,options:s}),c.INVALID}return (0, c.OK)(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return r.create(e,{...this._def,...t})}exclude(e,t=this._def){return r.create(this.options.filter(s=>!e.includes(s)),{...this._def,...t})}};i.ZodEnum=Te;Je=new WeakMap;Te.create=Bs;var Ie=class extends v{constructor(){super(...arguments),Ye.set(this,void 0);}_parse(e){let t=p.util.getValidEnumValues(this._def.values),s=this._getOrReturnCtx(e);if(s.parsedType!==p.ZodParsedType.string&&s.parsedType!==p.ZodParsedType.number){let n=p.util.objectValues(t);return (0, c.addIssueToContext)(s,{expected:p.util.joinValues(n),received:s.parsedType,code:f.ZodIssueCode.invalid_type}),c.INVALID}if(Ct(this,Ye,"f")||Vs(this,Ye,new Set(p.util.getValidEnumValues(this._def.values)),"f"),!Ct(this,Ye,"f").has(e.data)){let n=p.util.objectValues(t);return (0, c.addIssueToContext)(s,{received:s.data,code:f.ZodIssueCode.invalid_enum_value,options:n}),c.INVALID}return (0, c.OK)(e.data)}get enum(){return this._def.values}};i.ZodNativeEnum=Ie;Ye=new WeakMap;Ie.create=(r,e)=>new Ie({values:r,typeName:_.ZodNativeEnum,...g(e)});var oe=class extends v{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==p.ZodParsedType.promise&&t.common.async===!1)return (0, c.addIssueToContext)(t,{code:f.ZodIssueCode.invalid_type,expected:p.ZodParsedType.promise,received:t.parsedType}),c.INVALID;let s=t.parsedType===p.ZodParsedType.promise?t.data:Promise.resolve(t.data);return (0, c.OK)(s.then(n=>this._def.type.parseAsync(n,{path:t.path,errorMap:t.common.contextualErrorMap})))}};i.ZodPromise=oe;oe.create=(r,e)=>new oe({type:r,typeName:_.ZodPromise,...g(e)});var k=class extends v{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===_.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:s}=this._processInputParams(e),n=this._def.effect||null,o={addIssue:a=>{(0, c.addIssueToContext)(s,a),a.fatal?t.abort():t.dirty();},get path(){return s.path}};if(o.addIssue=o.addIssue.bind(o),n.type==="preprocess"){let a=n.transform(s.data,o);if(s.common.async)return Promise.resolve(a).then(async d=>{if(t.value==="aborted")return c.INVALID;let u=await this._def.schema._parseAsync({data:d,path:s.path,parent:s});return u.status==="aborted"?c.INVALID:u.status==="dirty"||t.value==="dirty"?(0, c.DIRTY)(u.value):u});{if(t.value==="aborted")return c.INVALID;let d=this._def.schema._parseSync({data:a,path:s.path,parent:s});return d.status==="aborted"?c.INVALID:d.status==="dirty"||t.value==="dirty"?(0, c.DIRTY)(d.value):d}}if(n.type==="refinement"){let a=d=>{let u=n.refinement(d,o);if(s.common.async)return Promise.resolve(u);if(u instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return d};if(s.common.async===!1){let d=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});return d.status==="aborted"?c.INVALID:(d.status==="dirty"&&t.dirty(),a(d.value),{status:t.value,value:d.value})}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(d=>d.status==="aborted"?c.INVALID:(d.status==="dirty"&&t.dirty(),a(d.value).then(()=>({status:t.value,value:d.value}))))}if(n.type==="transform")if(s.common.async===!1){let a=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});if(!(0, c.isValid)(a))return a;let d=n.transform(a.value,o);if(d instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return {status:t.value,value:d}}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(a=>(0, c.isValid)(a)?Promise.resolve(n.transform(a.value,o)).then(d=>({status:t.value,value:d})):a);p.util.assertNever(n);}};i.ZodEffects=k;i.ZodTransformer=k;k.create=(r,e,t)=>new k({schema:r,typeName:_.ZodEffects,effect:e,...g(t)});k.createWithPreprocess=(r,e,t)=>new k({schema:e,effect:{type:"preprocess",transform:r},typeName:_.ZodEffects,...g(t)});var j=class extends v{_parse(e){return this._getType(e)===p.ZodParsedType.undefined?(0, c.OK)(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};i.ZodOptional=j;j.create=(r,e)=>new j({innerType:r,typeName:_.ZodOptional,...g(e)});var z=class extends v{_parse(e){return this._getType(e)===p.ZodParsedType.null?(0, c.OK)(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};i.ZodNullable=z;z.create=(r,e)=>new z({innerType:r,typeName:_.ZodNullable,...g(e)});var Re=class extends v{_parse(e){let{ctx:t}=this._processInputParams(e),s=t.data;return t.parsedType===p.ZodParsedType.undefined&&(s=this._def.defaultValue()),this._def.innerType._parse({data:s,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};i.ZodDefault=Re;Re.create=(r,e)=>new Re({innerType:r,typeName:_.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...g(e)});var xe=class extends v{_parse(e){let{ctx:t}=this._processInputParams(e),s={...t,common:{...t.common,issues:[]}},n=this._def.innerType._parse({data:s.data,path:s.path,parent:{...s}});return (0, c.isAsync)(n)?n.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new f.ZodError(s.common.issues)},input:s.data})})):{status:"valid",value:n.status==="valid"?n.value:this._def.catchValue({get error(){return new f.ZodError(s.common.issues)},input:s.data})}}removeCatch(){return this._def.innerType}};i.ZodCatch=xe;xe.create=(r,e)=>new xe({innerType:r,typeName:_.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...g(e)});var Le=class extends v{_parse(e){if(this._getType(e)!==p.ZodParsedType.nan){let s=this._getOrReturnCtx(e);return (0, c.addIssueToContext)(s,{code:f.ZodIssueCode.invalid_type,expected:p.ZodParsedType.nan,received:s.parsedType}),c.INVALID}return {status:"valid",value:e.data}}};i.ZodNaN=Le;Le.create=r=>new Le({typeName:_.ZodNaN,...g(r)});i.BRAND=Symbol("zod_brand");var Xe=class extends v{_parse(e){let{ctx:t}=this._processInputParams(e),s=t.data;return this._def.type._parse({data:s,path:t.path,parent:t})}unwrap(){return this._def.type}};i.ZodBranded=Xe;var Qe=class r extends v{_parse(e){let{status:t,ctx:s}=this._processInputParams(e);if(s.common.async)return (async()=>{let o=await this._def.in._parseAsync({data:s.data,path:s.path,parent:s});return o.status==="aborted"?c.INVALID:o.status==="dirty"?(t.dirty(),(0, c.DIRTY)(o.value)):this._def.out._parseAsync({data:o.value,path:s.path,parent:s})})();{let n=this._def.in._parseSync({data:s.data,path:s.path,parent:s});return n.status==="aborted"?c.INVALID:n.status==="dirty"?(t.dirty(),{status:"dirty",value:n.value}):this._def.out._parseSync({data:n.value,path:s.path,parent:s})}}static create(e,t){return new r({in:e,out:t,typeName:_.ZodPipeline})}};i.ZodPipeline=Qe;var Oe=class extends v{_parse(e){let t=this._def.innerType._parse(e),s=n=>((0, c.isValid)(n)&&(n.value=Object.freeze(n.value)),n);return (0, c.isAsync)(t)?t.then(n=>s(n)):s(t)}unwrap(){return this._def.innerType}};i.ZodReadonly=Oe;Oe.create=(r,e)=>new Oe({innerType:r,typeName:_.ZodReadonly,...g(e)});function Ks(r,e={},t){return r?ne.create().superRefine((s,n)=>{var o,a;if(!r(s)){let d=typeof e=="function"?e(s):typeof e=="string"?{message:e}:e,u=(a=(o=d.fatal)!==null&&o!==void 0?o:t)!==null&&a!==void 0?a:!0,l=typeof d=="string"?{message:d}:d;n.addIssue({code:"custom",...l,fatal:u});}}):ne.create()}i.custom=Ks;i.late={object:S.lazycreate};var _;(function(r){r.ZodString="ZodString",r.ZodNumber="ZodNumber",r.ZodNaN="ZodNaN",r.ZodBigInt="ZodBigInt",r.ZodBoolean="ZodBoolean",r.ZodDate="ZodDate",r.ZodSymbol="ZodSymbol",r.ZodUndefined="ZodUndefined",r.ZodNull="ZodNull",r.ZodAny="ZodAny",r.ZodUnknown="ZodUnknown",r.ZodNever="ZodNever",r.ZodVoid="ZodVoid",r.ZodArray="ZodArray",r.ZodObject="ZodObject",r.ZodUnion="ZodUnion",r.ZodDiscriminatedUnion="ZodDiscriminatedUnion",r.ZodIntersection="ZodIntersection",r.ZodTuple="ZodTuple",r.ZodRecord="ZodRecord",r.ZodMap="ZodMap",r.ZodSet="ZodSet",r.ZodFunction="ZodFunction",r.ZodLazy="ZodLazy",r.ZodLiteral="ZodLiteral",r.ZodEnum="ZodEnum",r.ZodEffects="ZodEffects",r.ZodNativeEnum="ZodNativeEnum",r.ZodOptional="ZodOptional",r.ZodNullable="ZodNullable",r.ZodDefault="ZodDefault",r.ZodCatch="ZodCatch",r.ZodPromise="ZodPromise",r.ZodBranded="ZodBranded",r.ZodPipeline="ZodPipeline",r.ZodReadonly="ZodReadonly";})(_=i.ZodFirstPartyTypeKind||(i.ZodFirstPartyTypeKind={}));var Zo=(r,e={message:`Input not instance of ${r.name}`})=>Ks(t=>t instanceof r,e);i.instanceof=Zo;var zs=se.create;i.string=zs;var Hs=le.create;i.number=Hs;var jo=Le.create;i.nan=jo;var Mo=fe.create;i.bigint=Mo;var Gs=pe.create;i.boolean=Gs;var Lo=he.create;i.date=Lo;var Uo=De.create;i.symbol=Uo;var qo=me.create;i.undefined=qo;var Vo=_e.create;i.null=Vo;var $o=ne.create;i.any=$o;var Fo=J.create;i.unknown=Fo;var Wo=V.create;i.never=Wo;var Bo=Ze.create;i.void=Bo;var Ko=Y.create;i.array=Ko;var zo=S.create;i.object=zo;var Ho=S.strictCreate;i.strictObject=Ho;var Go=ye.create;i.union=Go;var Jo=St.create;i.discriminatedUnion=Jo;var Yo=ge.create;i.intersection=Yo;var Xo=K.create;i.tuple=Xo;var Qo=Nt.create;i.record=Qo;var ea=je.create;i.map=ea;var ta=Me.create;i.set=ta;var ra=kt.create;i.function=ra;var sa=ve.create;i.lazy=sa;var na=we.create;i.literal=na;var oa=Te.create;i.enum=oa;var aa=Ie.create;i.nativeEnum=aa;var ia=oe.create;i.promise=ia;var Js=k.create;i.effect=Js;i.transformer=Js;var da=j.create;i.optional=da;var ca=z.create;i.nullable=ca;var ua=k.createWithPreprocess;i.preprocess=ua;var la=Qe.create;i.pipeline=la;var fa=()=>zs().optional();i.ostring=fa;var pa=()=>Hs().optional();i.onumber=pa;var ha=()=>Gs().optional();i.oboolean=ha;i.coerce={string:r=>se.create({...r,coerce:!0}),number:r=>le.create({...r,coerce:!0}),boolean:r=>pe.create({...r,coerce:!0}),bigint:r=>fe.create({...r,coerce:!0}),date:r=>he.create({...r,coerce:!0})};i.NEVER=c.INVALID;});var jr=y(L=>{var ma=L&&L.__createBinding||(Object.create?function(r,e,t,s){s===void 0&&(s=t),Object.defineProperty(r,s,{enumerable:!0,get:function(){return e[t]}});}:function(r,e,t,s){s===void 0&&(s=t),r[s]=e[t];}),Ue=L&&L.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&ma(e,r,t);};Object.defineProperty(L,"__esModule",{value:!0});Ue(Pt(),L);Ue(kr(),L);Ue(Ls(),L);Ue(ze(),L);Ue(Ys(),L);Ue(bt(),L);});var Dt=y(N=>{var Xs=N&&N.__createBinding||(Object.create?function(r,e,t,s){s===void 0&&(s=t),Object.defineProperty(r,s,{enumerable:!0,get:function(){return e[t]}});}:function(r,e,t,s){s===void 0&&(s=t),r[s]=e[t];}),_a=N&&N.__setModuleDefault||(Object.create?function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e});}:function(r,e){r.default=e;}),ya=N&&N.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&Xs(e,r,t);return _a(e,r),e},ga=N&&N.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&Xs(e,r,t);};Object.defineProperty(N,"__esModule",{value:!0});N.z=void 0;var Qs=ya(jr());N.z=Qs;ga(jr(),N);N.default=Qs;});var Mr=y(Zt=>{Object.defineProperty(Zt,"__esModule",{value:!0});Zt.parseAnyDef=void 0;function va(){return {}}Zt.parseAnyDef=va;});var Lr=y(Mt=>{Object.defineProperty(Mt,"__esModule",{value:!0});Mt.parseArrayDef=void 0;var wa=Dt(),jt=te(),Ta=P();function Ia(r,e){let t={type:"array"};return r.type?._def?.typeName!==wa.ZodFirstPartyTypeKind.ZodAny&&(t.items=(0, Ta.parseDef)(r.type._def,{...e,currentPath:[...e.currentPath,"items"]})),r.minLength&&(0, jt.setResponseValueAndErrors)(t,"minItems",r.minLength.value,r.minLength.message,e),r.maxLength&&(0, jt.setResponseValueAndErrors)(t,"maxItems",r.maxLength.value,r.maxLength.message,e),r.exactLength&&((0, jt.setResponseValueAndErrors)(t,"minItems",r.exactLength.value,r.exactLength.message,e),(0, jt.setResponseValueAndErrors)(t,"maxItems",r.exactLength.value,r.exactLength.message,e)),t}Mt.parseArrayDef=Ia;});var Ur=y(Lt=>{Object.defineProperty(Lt,"__esModule",{value:!0});Lt.parseBigintDef=void 0;var Ee=te();function Ra(r,e){let t={type:"integer",format:"int64"};if(!r.checks)return t;for(let s of r.checks)switch(s.kind){case"min":e.target==="jsonSchema7"?s.inclusive?(0, Ee.setResponseValueAndErrors)(t,"minimum",s.value,s.message,e):(0, Ee.setResponseValueAndErrors)(t,"exclusiveMinimum",s.value,s.message,e):(s.inclusive||(t.exclusiveMinimum=!0),(0, Ee.setResponseValueAndErrors)(t,"minimum",s.value,s.message,e));break;case"max":e.target==="jsonSchema7"?s.inclusive?(0, Ee.setResponseValueAndErrors)(t,"maximum",s.value,s.message,e):(0, Ee.setResponseValueAndErrors)(t,"exclusiveMaximum",s.value,s.message,e):(s.inclusive||(t.exclusiveMaximum=!0),(0, Ee.setResponseValueAndErrors)(t,"maximum",s.value,s.message,e));break;case"multipleOf":(0, Ee.setResponseValueAndErrors)(t,"multipleOf",s.value,s.message,e);break}return t}Lt.parseBigintDef=Ra;});var qr=y(Ut=>{Object.defineProperty(Ut,"__esModule",{value:!0});Ut.parseBooleanDef=void 0;function xa(){return {type:"boolean"}}Ut.parseBooleanDef=xa;});var Vr=y(qt=>{Object.defineProperty(qt,"__esModule",{value:!0});qt.parseBrandedDef=void 0;var Oa=P();function Ea(r,e){return (0, Oa.parseDef)(r.type._def,e)}qt.parseBrandedDef=Ea;});var $r=y(Vt=>{Object.defineProperty(Vt,"__esModule",{value:!0});Vt.parseCatchDef=void 0;var ba=P(),Pa=(r,e)=>(0, ba.parseDef)(r.innerType._def,e);Vt.parseCatchDef=Pa;});var Fr=y($t=>{Object.defineProperty($t,"__esModule",{value:!0});$t.parseDateDef=void 0;var en=te();function tn(r,e,t){let s=t??e.dateStrategy;if(Array.isArray(s))return {anyOf:s.map((n,o)=>tn(r,e,n))};switch(s){case"string":case"format:date-time":return {type:"string",format:"date-time"};case"format:date":return {type:"string",format:"date"};case"integer":return Aa(r,e)}}$t.parseDateDef=tn;var Aa=(r,e)=>{let t={type:"integer",format:"unix-time"};if(e.target==="openApi3")return t;for(let s of r.checks)switch(s.kind){case"min":(0, en.setResponseValueAndErrors)(t,"minimum",s.value,s.message,e);break;case"max":(0, en.setResponseValueAndErrors)(t,"maximum",s.value,s.message,e);break}return t};});var Wr=y(Ft=>{Object.defineProperty(Ft,"__esModule",{value:!0});Ft.parseDefaultDef=void 0;var Ca=P();function Sa(r,e){return {...(0, Ca.parseDef)(r.innerType._def,e),default:r.defaultValue()}}Ft.parseDefaultDef=Sa;});var Br=y(Wt=>{Object.defineProperty(Wt,"__esModule",{value:!0});Wt.parseEffectsDef=void 0;var Na=P();function ka(r,e){return e.effectStrategy==="input"?(0, Na.parseDef)(r.schema._def,e):{}}Wt.parseEffectsDef=ka;});var Kr=y(Bt=>{Object.defineProperty(Bt,"__esModule",{value:!0});Bt.parseEnumDef=void 0;function Da(r){return {type:"string",enum:r.values}}Bt.parseEnumDef=Da;});var zr=y(Kt=>{Object.defineProperty(Kt,"__esModule",{value:!0});Kt.parseIntersectionDef=void 0;var rn=P(),Za=r=>"type"in r&&r.type==="string"?!1:"allOf"in r;function ja(r,e){let t=[(0, rn.parseDef)(r.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),(0, rn.parseDef)(r.right._def,{...e,currentPath:[...e.currentPath,"allOf","1"]})].filter(o=>!!o),s=e.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,n=[];return t.forEach(o=>{if(Za(o))n.push(...o.allOf),o.unevaluatedProperties===void 0&&(s=void 0);else {let a=o;if("additionalProperties"in o&&o.additionalProperties===!1){let{additionalProperties:d,...u}=o;a=u;}else s=void 0;n.push(a);}}),n.length?{allOf:n,...s}:void 0}Kt.parseIntersectionDef=ja;});var Hr=y(zt=>{Object.defineProperty(zt,"__esModule",{value:!0});zt.parseLiteralDef=void 0;function Ma(r,e){let t=typeof r.value;return t!=="bigint"&&t!=="number"&&t!=="boolean"&&t!=="string"?{type:Array.isArray(r.value)?"array":"object"}:e.target==="openApi3"?{type:t==="bigint"?"integer":t,enum:[r.value]}:{type:t==="bigint"?"integer":t,const:r.value}}zt.parseLiteralDef=Ma;});var Ht=y(D=>{Object.defineProperty(D,"__esModule",{value:!0});D.parseStringDef=D.zodPatterns=void 0;var be=te();D.zodPatterns={cuid:"^[cC][^\\s-]{8,}$",cuid2:"^[a-z][a-z0-9]*$",ulid:"^[0-9A-HJKMNP-TV-Z]{26}$",email:"^(?!\\.)(?!.*\\.\\.)([a-zA-Z0-9_+-\\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\\-]*\\.)+[a-zA-Z]{2,}$",emoji:"^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",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}$",ipv4:"^(((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}))$",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 La(r,e){let t={type:"string"};function s(n){return e.patternStrategy==="escape"?Ua(n):n}if(r.checks)for(let n of r.checks)switch(n.kind){case"min":(0, be.setResponseValueAndErrors)(t,"minLength",typeof t.minLength=="number"?Math.max(t.minLength,n.value):n.value,n.message,e);break;case"max":(0, be.setResponseValueAndErrors)(t,"maxLength",typeof t.maxLength=="number"?Math.min(t.maxLength,n.value):n.value,n.message,e);break;case"email":switch(e.emailStrategy){case"format:email":$(t,"email",n.message,e);break;case"format:idn-email":$(t,"idn-email",n.message,e);break;case"pattern:zod":F(t,D.zodPatterns.email,n.message,e);break}break;case"url":$(t,"uri",n.message,e);break;case"uuid":$(t,"uuid",n.message,e);break;case"regex":F(t,n.regex.source,n.message,e);break;case"cuid":F(t,D.zodPatterns.cuid,n.message,e);break;case"cuid2":F(t,D.zodPatterns.cuid2,n.message,e);break;case"startsWith":F(t,"^"+s(n.value),n.message,e);break;case"endsWith":F(t,s(n.value)+"$",n.message,e);break;case"datetime":$(t,"date-time",n.message,e);break;case"date":$(t,"date",n.message,e);break;case"time":$(t,"time",n.message,e);break;case"duration":$(t,"duration",n.message,e);break;case"length":(0, be.setResponseValueAndErrors)(t,"minLength",typeof t.minLength=="number"?Math.max(t.minLength,n.value):n.value,n.message,e),(0, be.setResponseValueAndErrors)(t,"maxLength",typeof t.maxLength=="number"?Math.min(t.maxLength,n.value):n.value,n.message,e);break;case"includes":{F(t,s(n.value),n.message,e);break}case"ip":{n.version!=="v6"&&$(t,"ipv4",n.message,e),n.version!=="v4"&&$(t,"ipv6",n.message,e);break}case"emoji":F(t,D.zodPatterns.emoji,n.message,e);break;case"ulid":{F(t,D.zodPatterns.ulid,n.message,e);break}case"base64":{switch(e.base64Strategy){case"format:binary":{$(t,"binary",n.message,e);break}case"contentEncoding:base64":{(0, be.setResponseValueAndErrors)(t,"contentEncoding","base64",n.message,e);break}case"pattern:zod":{F(t,D.zodPatterns.base64,n.message,e);break}}break}case"nanoid":F(t,D.zodPatterns.nanoid,n.message,e);}return t}D.parseStringDef=La;var Ua=r=>Array.from(r).map(e=>/[a-zA-Z0-9]/.test(e)?e:`\\${e}`).join(""),$=(r,e,t,s)=>{r.format||r.anyOf?.some(n=>n.format)?(r.anyOf||(r.anyOf=[]),r.format&&(r.anyOf.push({format:r.format,...r.errorMessage&&s.errorMessages&&{errorMessage:{format:r.errorMessage.format}}}),delete r.format,r.errorMessage&&(delete r.errorMessage.format,Object.keys(r.errorMessage).length===0&&delete r.errorMessage)),r.anyOf.push({format:e,...t&&s.errorMessages&&{errorMessage:{format:t}}})):(0, be.setResponseValueAndErrors)(r,"format",e,t,s);},F=(r,e,t,s)=>{r.pattern||r.allOf?.some(n=>n.pattern)?(r.allOf||(r.allOf=[]),r.pattern&&(r.allOf.push({pattern:r.pattern,...r.errorMessage&&s.errorMessages&&{errorMessage:{pattern:r.errorMessage.pattern}}}),delete r.pattern,r.errorMessage&&(delete r.errorMessage.pattern,Object.keys(r.errorMessage).length===0&&delete r.errorMessage)),r.allOf.push({pattern:e,...t&&s.errorMessages&&{errorMessage:{pattern:t}}})):(0, be.setResponseValueAndErrors)(r,"pattern",e,t,s);};});var Jt=y(Gt=>{Object.defineProperty(Gt,"__esModule",{value:!0});Gt.parseRecordDef=void 0;var Gr=Dt(),sn=P(),qa=Ht();function Va(r,e){if(e.target==="openApi3"&&r.keyType?._def.typeName===Gr.ZodFirstPartyTypeKind.ZodEnum)return {type:"object",required:r.keyType._def.values,properties:r.keyType._def.values.reduce((s,n)=>({...s,[n]:(0, sn.parseDef)(r.valueType._def,{...e,currentPath:[...e.currentPath,"properties",n]})??{}}),{}),additionalProperties:!1};let t={type:"object",additionalProperties:(0, sn.parseDef)(r.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??{}};if(e.target==="openApi3")return t;if(r.keyType?._def.typeName===Gr.ZodFirstPartyTypeKind.ZodString&&r.keyType._def.checks?.length){let s=Object.entries((0, qa.parseStringDef)(r.keyType._def,e)).reduce((n,[o,a])=>o==="type"?n:{...n,[o]:a},{});return {...t,propertyNames:s}}else if(r.keyType?._def.typeName===Gr.ZodFirstPartyTypeKind.ZodEnum)return {...t,propertyNames:{enum:r.keyType._def.values}};return t}Gt.parseRecordDef=Va;});var Jr=y(Yt=>{Object.defineProperty(Yt,"__esModule",{value:!0});Yt.parseMapDef=void 0;var nn=P(),$a=Jt();function Fa(r,e){if(e.mapStrategy==="record")return (0, $a.parseRecordDef)(r,e);let t=(0, nn.parseDef)(r.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||{},s=(0, nn.parseDef)(r.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||{};return {type:"array",maxItems:125,items:{type:"array",items:[t,s],minItems:2,maxItems:2}}}Yt.parseMapDef=Fa;});var Yr=y(Xt=>{Object.defineProperty(Xt,"__esModule",{value:!0});Xt.parseNativeEnumDef=void 0;function Wa(r){let e=r.values,s=Object.keys(r.values).filter(o=>typeof e[e[o]]!="number").map(o=>e[o]),n=Array.from(new Set(s.map(o=>typeof o)));return {type:n.length===1?n[0]==="string"?"string":"number":["string","number"],enum:s}}Xt.parseNativeEnumDef=Wa;});var Xr=y(Qt=>{Object.defineProperty(Qt,"__esModule",{value:!0});Qt.parseNeverDef=void 0;function Ba(){return {not:{}}}Qt.parseNeverDef=Ba;});var Qr=y(er=>{Object.defineProperty(er,"__esModule",{value:!0});er.parseNullDef=void 0;function Ka(r){return r.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}er.parseNullDef=Ka;});var tr=y(ae=>{Object.defineProperty(ae,"__esModule",{value:!0});ae.parseUnionDef=ae.primitiveMappings=void 0;var za=P();ae.primitiveMappings={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Ha(r,e){if(e.target==="openApi3")return on(r,e);let t=r.options instanceof Map?Array.from(r.options.values()):r.options;if(t.every(s=>s._def.typeName in ae.primitiveMappings&&(!s._def.checks||!s._def.checks.length))){let s=t.reduce((n,o)=>{let a=ae.primitiveMappings[o._def.typeName];return a&&!n.includes(a)?[...n,a]:n},[]);return {type:s.length>1?s:s[0]}}else if(t.every(s=>s._def.typeName==="ZodLiteral"&&!s.description)){let s=t.reduce((n,o)=>{let a=typeof o._def.value;switch(a){case"string":case"number":case"boolean":return [...n,a];case"bigint":return [...n,"integer"];case"object":if(o._def.value===null)return [...n,"null"];case"symbol":case"undefined":case"function":default:return n}},[]);if(s.length===t.length){let n=s.filter((o,a,d)=>d.indexOf(o)===a);return {type:n.length>1?n:n[0],enum:t.reduce((o,a)=>o.includes(a._def.value)?o:[...o,a._def.value],[])}}}else if(t.every(s=>s._def.typeName==="ZodEnum"))return {type:"string",enum:t.reduce((s,n)=>[...s,...n._def.values.filter(o=>!s.includes(o))],[])};return on(r,e)}ae.parseUnionDef=Ha;var on=(r,e)=>{let t=(r.options instanceof Map?Array.from(r.options.values()):r.options).map((s,n)=>(0, za.parseDef)(s._def,{...e,currentPath:[...e.currentPath,"anyOf",`${n}`]})).filter(s=>!!s&&(!e.strictUnions||typeof s=="object"&&Object.keys(s).length>0));return t.length?{anyOf:t}:void 0};});var es=y(rr=>{Object.defineProperty(rr,"__esModule",{value:!0});rr.parseNullableDef=void 0;var an=P(),dn=tr();function Ga(r,e){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(r.innerType._def.typeName)&&(!r.innerType._def.checks||!r.innerType._def.checks.length))return e.target==="openApi3"?{type:dn.primitiveMappings[r.innerType._def.typeName],nullable:!0}:{type:[dn.primitiveMappings[r.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let s=(0, an.parseDef)(r.innerType._def,{...e,currentPath:[...e.currentPath]});return s&&"$ref"in s?{allOf:[s],nullable:!0}:s&&{...s,nullable:!0}}let t=(0, an.parseDef)(r.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return t&&{anyOf:[t,{type:"null"}]}}rr.parseNullableDef=Ga;});var ts=y(sr=>{Object.defineProperty(sr,"__esModule",{value:!0});sr.parseNumberDef=void 0;var ie=te();function Ja(r,e){let t={type:"number"};if(!r.checks)return t;for(let s of r.checks)switch(s.kind){case"int":t.type="integer",(0, ie.addErrorMessage)(t,"type",s.message,e);break;case"min":e.target==="jsonSchema7"?s.inclusive?(0, ie.setResponseValueAndErrors)(t,"minimum",s.value,s.message,e):(0, ie.setResponseValueAndErrors)(t,"exclusiveMinimum",s.value,s.message,e):(s.inclusive||(t.exclusiveMinimum=!0),(0, ie.setResponseValueAndErrors)(t,"minimum",s.value,s.message,e));break;case"max":e.target==="jsonSchema7"?s.inclusive?(0, ie.setResponseValueAndErrors)(t,"maximum",s.value,s.message,e):(0, ie.setResponseValueAndErrors)(t,"exclusiveMaximum",s.value,s.message,e):(s.inclusive||(t.exclusiveMaximum=!0),(0, ie.setResponseValueAndErrors)(t,"maximum",s.value,s.message,e));break;case"multipleOf":(0, ie.setResponseValueAndErrors)(t,"multipleOf",s.value,s.message,e);break}return t}sr.parseNumberDef=Ja;});var ss=y(qe=>{Object.defineProperty(qe,"__esModule",{value:!0});qe.parseObjectDef=qe.parseObjectDefX=void 0;var et=P();function rs(r,e){return e.removeAdditionalStrategy==="strict"?r.catchall._def.typeName==="ZodNever"?r.unknownKeys!=="strict":(0, et.parseDef)(r.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??!0:r.catchall._def.typeName==="ZodNever"?r.unknownKeys==="passthrough":(0, et.parseDef)(r.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??!0}function Ya(r,e){Object.keys(r.shape()).reduce((s,n)=>{let o=r.shape()[n],a=o.isOptional();a||(o={...o._def.innerSchema});let d=(0, et.parseDef)(o._def,{...e,currentPath:[...e.currentPath,"properties",n],propertyPath:[...e.currentPath,"properties",n]});return d!==void 0&&(s.properties[n]=d,a||(s.required||(s.required=[]),s.required.push(n))),s},{type:"object",properties:{},additionalProperties:rs(r,e)});let t={type:"object",...Object.entries(r.shape()).reduce((s,[n,o])=>{if(o===void 0||o._def===void 0)return s;let a=(0, et.parseDef)(o._def,{...e,currentPath:[...e.currentPath,"properties",n],propertyPath:[...e.currentPath,"properties",n]});return a===void 0?s:{properties:{...s.properties,[n]:a},required:o.isOptional()?s.required:[...s.required,n]}},{properties:{},required:[]}),additionalProperties:rs(r,e)};return t.required.length||delete t.required,t}qe.parseObjectDefX=Ya;function Xa(r,e){let t={type:"object",...Object.entries(r.shape()).reduce((s,[n,o])=>{if(o===void 0||o._def===void 0)return s;let a=(0, et.parseDef)(o._def,{...e,currentPath:[...e.currentPath,"properties",n],propertyPath:[...e.currentPath,"properties",n]});return a===void 0?s:{properties:{...s.properties,[n]:a},required:o.isOptional()?s.required:[...s.required,n]}},{properties:{},required:[]}),additionalProperties:rs(r,e)};return t.required.length||delete t.required,t}qe.parseObjectDef=Xa;});var ns=y(nr=>{Object.defineProperty(nr,"__esModule",{value:!0});nr.parseOptionalDef=void 0;var cn=P(),Qa=(r,e)=>{if(e.currentPath.toString()===e.propertyPath?.toString())return (0, cn.parseDef)(r.innerType._def,e);let t=(0, cn.parseDef)(r.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return t?{anyOf:[{not:{}},t]}:{}};nr.parseOptionalDef=Qa;});var os=y(ar=>{Object.defineProperty(ar,"__esModule",{value:!0});ar.parsePipelineDef=void 0;var or=P(),ei=(r,e)=>{if(e.pipeStrategy==="input")return (0, or.parseDef)(r.in._def,e);if(e.pipeStrategy==="output")return (0, or.parseDef)(r.out._def,e);let t=(0, or.parseDef)(r.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),s=(0, or.parseDef)(r.out._def,{...e,currentPath:[...e.currentPath,"allOf",t?"1":"0"]});return {allOf:[t,s].filter(n=>n!==void 0)}};ar.parsePipelineDef=ei;});var as=y(ir=>{Object.defineProperty(ir,"__esModule",{value:!0});ir.parsePromiseDef=void 0;var ti=P();function ri(r,e){return (0, ti.parseDef)(r.type._def,e)}ir.parsePromiseDef=ri;});var is=y(dr=>{Object.defineProperty(dr,"__esModule",{value:!0});dr.parseSetDef=void 0;var un=te(),si=P();function ni(r,e){let s={type:"array",uniqueItems:!0,items:(0, si.parseDef)(r.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return r.minSize&&(0, un.setResponseValueAndErrors)(s,"minItems",r.minSize.value,r.minSize.message,e),r.maxSize&&(0, un.setResponseValueAndErrors)(s,"maxItems",r.maxSize.value,r.maxSize.message,e),s}dr.parseSetDef=ni;});var cs=y(cr=>{Object.defineProperty(cr,"__esModule",{value:!0});cr.parseTupleDef=void 0;var ds=P();function oi(r,e){return r.rest?{type:"array",minItems:r.items.length,items:r.items.map((t,s)=>(0, ds.parseDef)(t._def,{...e,currentPath:[...e.currentPath,"items",`${s}`]})).reduce((t,s)=>s===void 0?t:[...t,s],[]),additionalItems:(0, ds.parseDef)(r.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:r.items.length,maxItems:r.items.length,items:r.items.map((t,s)=>(0, ds.parseDef)(t._def,{...e,currentPath:[...e.currentPath,"items",`${s}`]})).reduce((t,s)=>s===void 0?t:[...t,s],[])}}cr.parseTupleDef=oi;});var us=y(ur=>{Object.defineProperty(ur,"__esModule",{value:!0});ur.parseUndefinedDef=void 0;function ai(){return {not:{}}}ur.parseUndefinedDef=ai;});var ls=y(lr=>{Object.defineProperty(lr,"__esModule",{value:!0});lr.parseUnknownDef=void 0;function ii(){return {}}lr.parseUnknownDef=ii;});var fs=y(fr=>{Object.defineProperty(fr,"__esModule",{value:!0});fr.parseReadonlyDef=void 0;var di=P(),ci=(r,e)=>(0, di.parseDef)(r.innerType._def,e);fr.parseReadonlyDef=ci;});var P=y(pr=>{Object.defineProperty(pr,"__esModule",{value:!0});pr.parseDef=void 0;var T=Dt(),ui=Mr(),li=Lr(),fi=Ur(),pi=qr(),hi=Vr(),mi=$r(),_i=Fr(),yi=Wr(),gi=Br(),vi=Kr(),wi=zr(),Ti=Hr(),Ii=Jr(),Ri=Yr(),xi=Xr(),Oi=Qr(),Ei=es(),bi=ts(),Pi=ss(),Ai=ns(),Ci=os(),Si=as(),Ni=Jt(),ki=is(),Di=Ht(),Zi=cs(),ji=us(),Mi=tr(),Li=ls(),Ui=fs(),qi=Ot();function ln(r,e,t=!1){let s=e.seen.get(r);if(e.override){let a=e.override?.(r,e,s,t);if(a!==qi.ignoreOverride)return a}if(s&&!t){let a=Vi(s,e);if(a!==void 0)return a}let n={def:r,path:e.currentPath,jsonSchema:void 0};e.seen.set(r,n);let o=Fi(r,r.typeName,e);return o&&Wi(r,e,o),n.jsonSchema=o,o}pr.parseDef=ln;var Vi=(r,e)=>{switch(e.$refStrategy){case"root":return {$ref:r.path.join("/")};case"relative":return {$ref:$i(e.currentPath,r.path)};case"none":case"seen":return r.path.length<e.currentPath.length&&r.path.every((t,s)=>e.currentPath[s]===t)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),{}):e.$refStrategy==="seen"?{}:void 0}},$i=(r,e)=>{let t=0;for(;t<r.length&&t<e.length&&r[t]===e[t];t++);return [(r.length-t).toString(),...e.slice(t)].join("/")},Fi=(r,e,t)=>{switch(e){case T.ZodFirstPartyTypeKind.ZodString:return (0, Di.parseStringDef)(r,t);case T.ZodFirstPartyTypeKind.ZodNumber:return (0, bi.parseNumberDef)(r,t);case T.ZodFirstPartyTypeKind.ZodObject:return (0, Pi.parseObjectDef)(r,t);case T.ZodFirstPartyTypeKind.ZodBigInt:return (0, fi.parseBigintDef)(r,t);case T.ZodFirstPartyTypeKind.ZodBoolean:return (0, pi.parseBooleanDef)();case T.ZodFirstPartyTypeKind.ZodDate:return (0, _i.parseDateDef)(r,t);case T.ZodFirstPartyTypeKind.ZodUndefined:return (0, ji.parseUndefinedDef)();case T.ZodFirstPartyTypeKind.ZodNull:return (0, Oi.parseNullDef)(t);case T.ZodFirstPartyTypeKind.ZodArray:return (0, li.parseArrayDef)(r,t);case T.ZodFirstPartyTypeKind.ZodUnion:case T.ZodFirstPartyTypeKind.ZodDiscriminatedUnion:return (0, Mi.parseUnionDef)(r,t);case T.ZodFirstPartyTypeKind.ZodIntersection:return (0, wi.parseIntersectionDef)(r,t);case T.ZodFirstPartyTypeKind.ZodTuple:return (0, Zi.parseTupleDef)(r,t);case T.ZodFirstPartyTypeKind.ZodRecord:return (0, Ni.parseRecordDef)(r,t);case T.ZodFirstPartyTypeKind.ZodLiteral:return (0, Ti.parseLiteralDef)(r,t);case T.ZodFirstPartyTypeKind.ZodEnum:return (0, vi.parseEnumDef)(r);case T.ZodFirstPartyTypeKind.ZodNativeEnum:return (0, Ri.parseNativeEnumDef)(r);case T.ZodFirstPartyTypeKind.ZodNullable:return (0, Ei.parseNullableDef)(r,t);case T.ZodFirstPartyTypeKind.ZodOptional:return (0, Ai.parseOptionalDef)(r,t);case T.ZodFirstPartyTypeKind.ZodMap:return (0, Ii.parseMapDef)(r,t);case T.ZodFirstPartyTypeKind.ZodSet:return (0, ki.parseSetDef)(r,t);case T.ZodFirstPartyTypeKind.ZodLazy:return ln(r.getter()._def,t);case T.ZodFirstPartyTypeKind.ZodPromise:return (0, Si.parsePromiseDef)(r,t);case T.ZodFirstPartyTypeKind.ZodNaN:case T.ZodFirstPartyTypeKind.ZodNever:return (0, xi.parseNeverDef)();case T.ZodFirstPartyTypeKind.ZodEffects:return (0, gi.parseEffectsDef)(r,t);case T.ZodFirstPartyTypeKind.ZodAny:return (0, ui.parseAnyDef)();case T.ZodFirstPartyTypeKind.ZodUnknown:return (0, Li.parseUnknownDef)();case T.ZodFirstPartyTypeKind.ZodDefault:return (0, yi.parseDefaultDef)(r,t);case T.ZodFirstPartyTypeKind.ZodBranded:return (0, hi.parseBrandedDef)(r,t);case T.ZodFirstPartyTypeKind.ZodReadonly:return (0, Ui.parseReadonlyDef)(r,t);case T.ZodFirstPartyTypeKind.ZodCatch:return (0, mi.parseCatchDef)(r,t);case T.ZodFirstPartyTypeKind.ZodPipeline:return (0, Ci.parsePipelineDef)(r,t);case T.ZodFirstPartyTypeKind.ZodFunction:case T.ZodFirstPartyTypeKind.ZodVoid:case T.ZodFirstPartyTypeKind.ZodSymbol:return;default:return (s=>{})()}},Wi=(r,e,t)=>(r.description&&(t.description=r.description,e.markdownDescription&&(t.markdownDescription=r.description)),t);});var ps=y(hr=>{Object.defineProperty(hr,"__esModule",{value:!0});hr.zodToJsonSchema=void 0;var fn=P(),Bi=Ar(),Ki=(r,e)=>{let t=(0, Bi.getRefs)(e),s=typeof e=="object"&&e.definitions?Object.entries(e.definitions).reduce((d,[u,l])=>({...d,[u]:(0, fn.parseDef)(l._def,{...t,currentPath:[...t.basePath,t.definitionPath,u]},!0)??{}}),{}):void 0,n=typeof e=="string"?e:e?.name,o=(0, fn.parseDef)(r._def,n===void 0?t:{...t,currentPath:[...t.basePath,t.definitionPath,n]},!1)??{},a=n===void 0?s?{...o,[t.definitionPath]:s}:o:{$ref:[...t.$refStrategy==="relative"?[]:t.basePath,t.definitionPath,n].join("/"),[t.definitionPath]:{...s,[n]:o}};return t.target==="jsonSchema7"?a.$schema="http://json-schema.org/draft-07/schema#":t.target==="jsonSchema2019-09"&&(a.$schema="https://json-schema.org/draft/2019-09/schema#"),a};hr.zodToJsonSchema=Ki;});var pn=y(w=>{var zi=w&&w.__createBinding||(Object.create?function(r,e,t,s){s===void 0&&(s=t);var n=Object.getOwnPropertyDescriptor(e,t);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,s,n);}:function(r,e,t,s){s===void 0&&(s=t),r[s]=e[t];}),I=w&&w.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&zi(e,r,t);};Object.defineProperty(w,"__esModule",{value:!0});I(Ot(),w);I(Ar(),w);I(te(),w);I(P(),w);I(Mr(),w);I(Lr(),w);I(Ur(),w);I(qr(),w);I(Vr(),w);I($r(),w);I(Fr(),w);I(Wr(),w);I(Br(),w);I(Kr(),w);I(zr(),w);I(Hr(),w);I(Jr(),w);I(Yr(),w);I(Xr(),w);I(Qr(),w);I(es(),w);I(ts(),w);I(ss(),w);I(ns(),w);I(os(),w);I(as(),w);I(fs(),w);I(Jt(),w);I(is(),w);I(Ht(),w);I(cs(),w);I(us(),w);I(tr(),w);I(ls(),w);I(ps(),w);var Hi=ps();w.default=Hi.zodToJsonSchema;});var ys=/\+/g;function vr(r=""){try{return decodeURIComponent(""+r)}catch{return ""+r}}function wn(r){return vr(r.replace(ys," "))}function Tn(r){return vr(r.replace(ys," "))}function In(r=""){let e={};r[0]==="?"&&(r=r.slice(1));for(let t of r.split("&")){let s=t.match(/([^=]+)=?(.*)/)||[];if(s.length<2)continue;let n=wn(s[1]);if(n==="__proto__"||n==="constructor")continue;let o=Tn(s[2]||"");e[n]===void 0?e[n]=o:Array.isArray(e[n])?e[n].push(o):e[n]=[e[n],o];}return e}var Rn=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,xn=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,On=/^([/\\]\s*){2,}[^/\\]/;function En(r,e={}){return typeof e=="boolean"&&(e={acceptRelative:e}),e.strict?Rn.test(r):xn.test(r)||(e.acceptRelative?On.test(r):!1)}function gs(r){return In(wr(r).search)}var bn=Symbol.for("ufo:protocolRelative");function wr(r="",e){let t=r.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);if(t){let[,x,U=""]=t;return {protocol:x.toLowerCase(),pathname:U,href:x+U,auth:"",host:"",search:"",hash:""}}if(!En(r,{acceptRelative:!0}))return e?wr(e+r):_s(r);let[,s="",n,o=""]=r.replace(/\\/g,"/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[],[,a="",d=""]=o.match(/([^#/?]*)(.*)?/)||[],{pathname:u,search:l,hash:h}=_s(d.replace(/\/(?=[A-Za-z]:)/,""));return {protocol:s.toLowerCase(),auth:n?n.slice(0,Math.max(0,n.length-1)):"",host:a,pathname:u,search:l,hash:h,[bn]:!s}}function _s(r=""){let[e="",t="",s=""]=(r.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return {pathname:e,search:t,hash:s}}var Pn=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,An=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,Cn=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function Sn(r,e){if(r==="__proto__"||r==="constructor"&&e&&typeof e=="object"&&"prototype"in e){Nn(r);return}return e}function Nn(r){console.warn(`[destr] Dropping "${r}" key to prevent prototype pollution.`);}function vs(r,e={}){if(typeof r!="string")return r;let t=r.trim();if(r[0]==='"'&&r.endsWith('"')&&!r.includes("\\"))return t.slice(1,-1);if(t.length<=9){let s=t.toLowerCase();if(s==="true")return !0;if(s==="false")return !1;if(s==="undefined")return;if(s==="null")return null;if(s==="nan")return Number.NaN;if(s==="infinity")return Number.POSITIVE_INFINITY;if(s==="-infinity")return Number.NEGATIVE_INFINITY}if(!Cn.test(r)){if(e.strict)throw new SyntaxError("[destr] Invalid JSON");return r}try{if(Pn.test(r)||An.test(r)){if(e.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(r,Sn)}return JSON.parse(r)}catch(s){if(e.strict)throw s;return r}}function Er(r,e){try{return e in r}catch{return !1}}var Dn=Object.defineProperty,Zn=(r,e,t)=>e in r?Dn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ce=(r,e,t)=>(Zn(r,typeof e!="symbol"?e+"":e,t),t),$e=class extends Error{constructor(e,t={}){super(e,t),ce(this,"statusCode",500),ce(this,"fatal",!1),ce(this,"unhandled",!1),ce(this,"statusMessage"),ce(this,"data"),ce(this,"cause"),t.cause&&!this.cause&&(this.cause=t.cause);}toJSON(){let e={message:this.message,statusCode:Or(this.statusCode,500)};return this.statusMessage&&(e.statusMessage=Os(this.statusMessage)),this.data!==void 0&&(e.data=this.data),e}};ce($e,"__h3_error__",!0);function Is(r){if(typeof r=="string")return new $e(r);if(jn(r))return r;let e=new $e(r.message??r.statusMessage??"",{cause:r.cause||r});if(Er(r,"stack"))try{Object.defineProperty(e,"stack",{get(){return r.stack}});}catch{try{e.stack=r.stack;}catch{}}if(r.data&&(e.data=r.data),r.statusCode?e.statusCode=Or(r.statusCode,e.statusCode):r.status&&(e.statusCode=Or(r.status,e.statusCode)),r.statusMessage?e.statusMessage=r.statusMessage:r.statusText&&(e.statusMessage=r.statusText),e.statusMessage){let t=e.statusMessage;Os(e.statusMessage)!==t&&console.warn("[h3] Please prefer using `message` for longer error messages instead of `statusMessage`. In the future, `statusMessage` will be sanitized by default.");}return r.fatal!==void 0&&(e.fatal=r.fatal),r.unhandled!==void 0&&(e.unhandled=r.unhandled),e}function jn(r){return r?.constructor?.__h3_error__===!0}function Rs(r){return gs(r.path||"")}function Mn(r,e,t){if(t&&r.method==="HEAD")return !0;if(typeof e=="string"){if(r.method===e)return !0}else if(e.includes(r.method))return !0;return !1}function Ln(r,e,t){if(!Mn(r,e,t))throw Is({statusCode:405,statusMessage:"HTTP method is not allowed."})}function Un(r){let e={};for(let t in r.node.req.headers){let s=r.node.req.headers[t];e[t]=Array.isArray(s)?s.filter(Boolean).join(", "):s;}return e}function qn(r,e){return Un(r)[e.toLowerCase()]}var br=qn;var ws=Symbol.for("h3RawBody"),xr=Symbol.for("h3ParsedBody"),Vn=["PATCH","POST","PUT","DELETE"];function $n(r,e="utf8"){Ln(r,Vn);let t=r._requestBody||r.web?.request?.body||r.node.req[ws]||r.node.req.rawBody||r.node.req.body;if(t){let o=Promise.resolve(t).then(a=>Buffer.isBuffer(a)?a:typeof a.pipeTo=="function"?new Promise((d,u)=>{let l=[];a.pipeTo(new WritableStream({write(h){l.push(h);},close(){d(Buffer.concat(l));},abort(h){u(h);}})).catch(u);}):typeof a.pipe=="function"?new Promise((d,u)=>{let l=[];a.on("data",h=>{l.push(h);}).on("end",()=>{d(Buffer.concat(l));}).on("error",u);}):a.constructor===Object?Buffer.from(JSON.stringify(a)):Buffer.from(a));return e?o.then(a=>a.toString(e)):o}if(!Number.parseInt(r.node.req.headers["content-length"]||""))return Promise.resolve(void 0);let s=r.node.req[ws]=new Promise((o,a)=>{let d=[];r.node.req.on("error",u=>{a(u);}).on("data",u=>{d.push(u);}).on("end",()=>{o(Buffer.concat(d));});});return e?s.then(o=>o.toString(e)):s}async function xs(r,e={}){let t=r.node.req;if(Er(t,xr))return t[xr];let s=t.headers["content-type"]||"",n=await $n(r),o;return s==="application/json"?o=Ts(n,e.strict??!0):s.startsWith("application/x-www-form-urlencoded")?o=Fn(n):s.startsWith("text/")?o=n:o=Ts(n,e.strict??!1),t[xr]=o,o}function Ts(r="",e){if(r)try{return vs(r,{strict:e})}catch{throw Is({statusCode:400,statusMessage:"Bad Request",message:"Invalid JSON body"})}}function Fn(r){let e=new URLSearchParams(r),t=Object.create(null);for(let[s,n]of e.entries())Er(t,s)?(Array.isArray(t[s])||(t[s]=[t[s]]),t[s].push(n)):t[s]=n;return t}var Wn=/[^\u0009\u0020-\u007E]/g;function Os(r=""){return r.replace(Wn,"")}function Or(r,e=200){return !r||(typeof r=="string"&&(r=Number.parseInt(r,10)),r<100||r>999)?e:r}var Bn=typeof setImmediate>"u"?r=>r():setImmediate;function Es(r,e,t){return t&&Kn(r,t),new Promise(s=>{Bn(()=>{r.handled||r.node.res.end(e),s();});})}function Kn(r,e){e&&r.node.res.statusCode!==304&&!r.node.res.getHeader("content-type")&&r.node.res.setHeader("content-type",e);}function zn(r,e){for(let[t,s]of Object.entries(e))r.node.res.setHeader(t,s);}var bs=zn;var tt=(t=>(t.EXECUTE="execute",t.PREVIEW="preview",t))(tt||{}),rt=(s=>(s.DISCOVER="discover",s.HEALTH_CHECK="health-check",s.CODE="code",s))(rt||{});var q=(E=>(E.WORKFLOW_NOT_FOUND_ERROR="WorkflowNotFoundError",E.WORKFLOW_ALREADY_EXISTS_ERROR="WorkflowAlreadyExistsError",E.WORKFLOW_EXECUTION_FAILED_ERROR="WorkflowExecutionFailedError",E.EXECUTION_STATE_OUTPUT_INVALID_ERROR="ExecutionStateOutputInvalidError",E.EXECUTION_STATE_RESULT_INVALID_ERROR="ExecutionStateResultInvalidError",E.EXECUTION_PROVIDER_OUTPUT_INVALID_ERROR="ExecutionProviderOutputInvalidError",E.PROVIDER_NOT_FOUND_ERROR="ProviderNotFoundError",E.PROVIDER_EXECUTION_FAILED_ERROR="ProviderExecutionFailedError",E.STEP_NOT_FOUND_ERROR="StepNotFoundError",E.STEP_ALREADY_EXISTS_ERROR="StepAlreadyExistsError",E.STEP_EXECUTION_FAILED_ERROR="StepExecutionFailedError",E.EXECUTION_STATE_CORRUPT_ERROR="ExecutionStateCorruptError",E.EXECUTION_EVENT_DATA_INVALID_ERROR="ExecutionEventDataInvalidError",E.EXECUTION_EVENT_INPUT_INVALID_ERROR="ExecutionEventInputInvalidError",E.EXECUTION_STATE_INPUT_INVALID_ERROR="ExecutionStateInputInvalidError",E.METHOD_NOT_ALLOWED_ERROR="MethodNotAllowedError",E.INVALID_ACTION_ERROR="InvalidActionError",E.MISSING_API_KEY_ERROR="MissingApiKeyError",E.SIGNATURE_MISMATCH_ERROR="SignatureMismatchError",E.SIGNATURE_NOT_FOUND_ERROR="SignatureNotFoundError",E.SIGNATURE_INVALID_ERROR="SignatureInvalidError",E.SIGNATURE_EXPIRED_ERROR="SignatureExpiredError",E.SIGNING_KEY_NOT_FOUND_ERROR="SigningKeyNotFoundError",E.PLATFORM_ERROR="PlatformError",E.SIGNATURE_VERSION_INVALID_ERROR="SignatureVersionInvalidError",E))(q||{});var st=(s=>(s.POST="POST",s.GET="GET",s.OPTIONS="OPTIONS",s))(st||{});var H=class extends Error{data},nt=class extends H{statusCode=404},Z=class extends H{statusCode=400},Q=class extends H{statusCode=401},Ae=class extends H{statusCode=500},ot=class extends H{statusCode=409};var at=class extends Z{code="ExecutionStateCorruptError";constructor(e,t){super(`Workflow with id: \`${e}\` has a corrupt state. Step with id: \`${t}\` does not exist. Please provide the missing state.`),this.data={workflowId:e,stepId:t};}},it=class extends Z{code="ExecutionEventDataInvalidError";constructor(e,t){super(`Workflow with id: \`${e}\` has invalid \`data\`. Please provide the correct event data.`),this.data=t;}},Fe=class extends Z{code="ExecutionEventInputInvalidError";constructor(e,t){super(`Workflow with id: \`${e}\` has invalid \`inputs\`. Please provide the correct event inputs.`),this.data=t;}},dt=class extends Z{code="ExecutionStateInputInvalidError";constructor(e,t,s){super(`Workflow with id: \`${e}\` has an invalid state. Step with id: \`${t}\` has invalid input. Please provide the correct step input.`),this.data=s;}},ct=class extends Z{code="ExecutionStateOutputInvalidError";constructor(e,t,s){super(`Workflow with id: \`${e}\` has an invalid state. Step with id: \`${t}\` has invalid output. Please provide the correct step output.`),this.data=s;}},ut=class extends Z{code="ExecutionStateResultInvalidError";constructor(e,t,s){super(`Workflow with id: \`${e}\` has an invalid state. Step with id: \`${t}\` has invalid result. Please provide the correct step result.`),this.data=s;}},lt=class extends Z{code="ExecutionProviderOutputInvalidError";constructor(e,t,s,n){super(`Workflow with id: \`${e}\` has an invalid state. Step with id: \`${t}\` and provider with id: \`${s}\` has invalid output. Please provide the correct provider output.`),this.data=n;}};var b={info:r=>Ce__default.default.blue(r),warning:r=>Ce__default.default.yellow(r),error:r=>Ce__default.default.red(r),success:r=>Ce__default.default.green(r),underline:r=>Ce__default.default.underline(r),bold:r=>Ce__default.default.bold(r)},A={SUCCESS:b.success("\u2714"),ERROR:b.error("\u2717"),WARNING:b.warning("\u26A0"),INFO:b.info("\u2139"),ARROW:b.bold("\u2192"),MOCK:b.info("\u25CB"),HYDRATED:b.bold(b.info("\u2192")),STEP:b.info("\u03C3"),ACTION:b.info("\u03B1"),DURATION:b.info("\u0394"),PROVIDER:b.info("\u2699"),OUTPUT:b.info("\u21E2"),INPUT:b.info("\u21E0"),WORKFLOW:b.info("\u03C9"),STATE:b.info("\u03C3"),EXECUTE:b.info("\u03B5"),PREVIEW:b.info("\u03C1")};var Pr=r=>Object.values(r).map(e=>`\`${e}\``).join(", "),ft=r=>r.replaceAll(/(\w)(\w*)/g,(e,t,s)=>t.toUpperCase()+s.toLowerCase()).replaceAll(/[\s-]+/g,"");var pt=class extends H{code="MethodNotAllowedError";statusCode=405;message=`Method not allowed. Please use one of ${Pr(st)}`},We=class extends Z{code="InvalidActionError";constructor(e,t){super(`Invalid query string: \`action\`=\`${e}\`. Please use one of ${Pr(t)}`);}};var ht=class extends Ae{code="PlatformError";message="Something went wrong. Please try again later."};var Be=class extends ot{constructor(e,t){super(`${ft(e)} with id: \`${t}\` already exists. Please use a different id.`);}},ee=class extends nt{constructor(e,t){super(`${ft(e)} with id: \`${t}\` does not exist. Please provide a valid id.`);}},Se=class extends Ae{constructor(e,t){super(`Failed to execute ${ft(e)} with id: \`${t}\`. Please try again later.`);}};var mt=class extends ee{code="ProviderNotFoundError";constructor(e){super("provider",e);}},_t=class extends Se{code="ProviderExecutionFailedError";constructor(e){super("workflow",e);}};var yt=class extends Q{code="SignatureMismatchError";constructor(){super("Signature does not match the expected signature. Please ensure the signature provided in the `x-novu-signature` header is correct and try again.");}},gt=class extends Q{code="SignatureNotFoundError";constructor(){super("Signature not found. Please provide a signature in the `x-novu-signature` header");}},vt=class extends Q{code="SignatureInvalidError";constructor(){super("Signature is invalid. Please provide a valid signature in the `x-novu-signature` header");}},wt=class extends Q{code="SignatureExpiredError";constructor(){super(`Signature expired. Please provide a signature with a timestamp no older than ${5} minutes in the \`x-novu-signature\` header`);}},Tt=class extends Q{code="SigningKeyNotFoundError";constructor(){super("Signature key not found. Please provide a valid key in the Client constructor `config.apiKey`");}};var It=class extends ee{code="StepNotFoundError";constructor(e){super("step",e);}};var Ke=class extends ee{code="WorkflowNotFoundError";constructor(e){super("workflow",e);}},Rt=class extends Be{code="WorkflowAlreadyExistsError";constructor(e){super("workflow",e);}};var xt=class{ajv;compiledSchemas;constructor(){this.ajv=new Gn__default.default({useDefaults:!0,removeAdditional:"all"}),Jn__default.default(this.ajv),this.compiledSchemas=new Map;}isSchema(e){return typeof e=="boolean"?!1:e.type==="object"||!!e.anyOf||!!e.oneOf}async validate(e,t){let s=this.compiledSchemas.get(t);return s||(s=this.ajv.compile(t),this.compiledSchemas.set(t,s)),s(e)?{success:!0,data:e}:{success:!1,errors:s.errors.map(o=>({path:o.instancePath,message:o.message}))}}transformToJsonSchema(e){return e}};var mr=class{isSchema(e){return e.safeParseAsync!==void 0}async validate(e,t){let s=t.safeParse(e);return s.success?{success:!0,data:s.data}:{success:!1,errors:s.error.errors.map(n=>({path:`/${n.path.join("/")}`,message:n.message}))}}transformToJsonSchema(e){try{return pn().zodToJsonSchema(e)}catch(t){throw t?.message?.includes("Cannot find module")&&console.error("Tried to use a zod schema in @novu/framework without `zod-to-json-schema` installed. Please install it by running `npm install zod-to-json-schema`."),t}}};var hn=[new mr,new xt],mn=async(r,e)=>{for(let t of hn)if(t.isSchema(r))return t.validate(e,r);throw new Error("Invalid schema")},_n=r=>{for(let e of hn)if(e.isSchema(r))return e.transformToJsonSchema(r);throw new Error("Invalid schema")};var yn={name:"@novu/framework",version:"0.24.3-alpha.9",description:"The Code-First Notifications Workflow SDK.",main:"./dist/index.js",types:"./dist/index.d.ts",publishConfig:{registry:"https://registry.npmjs.org",access:"public"},private:!1,repository:{type:"git",url:"git+https://github.com/novuhq/novu.git"},files:["dist","README.md"],scripts:{preinstall:"npx only-allow pnpm",test:"vitest","test:watch":"vitest --watch",lint:"eslint src --ext .ts","lint:fix":"eslint src --ext .ts --fix",format:"prettier --check --ignore-path .gitignore .","format:fix":"prettier --write --ignore-path .gitignore .",build:"tsup","build:watch":"tsup --watch","$comment:bump:prerelease":"This is a workaround to support `npm version prerelease` with lerna","bump:prerelease":"npm version prerelease --preid=alpha & PID=$!; (sleep 1 && kill -9 $PID) & wait $PID","release:alpha":"pnpm bump:prerelease || pnpm build && npm publish"},keywords:["novu","code-first","workflows","durable","sdk","notifications","email","sms","push","webhooks","next","nuxt","h3","express"],author:"Novu",license:"MIT",exports:{".":{require:"./dist/index.js",import:"./dist/index.js",types:"./dist/index.d.ts"},"./express":{require:"./dist/express.js",import:"./dist/express.js",types:"./dist/express.d.ts"},"./next":{require:"./dist/next.js",import:"./dist/next.js",types:"./dist/next.d.ts"},"./nuxt":{require:"./dist/nuxt.js",import:"./dist/nuxt.js",types:"./dist/nuxt.d.ts"},"./h3":{require:"./dist/h3.js",import:"./dist/h3.js",types:"./dist/h3.d.ts"},"./sveltekit":{require:"./dist/sveltekit.js",import:"./dist/sveltekit.js",types:"./dist/sveltekit.d.ts"},"./remix":{require:"./dist/remix.js",import:"./dist/remix.js",types:"./dist/remix.d.ts"}},devDependencies:{"@sveltejs/kit":"^2.5.10","@types/express":"^4.17.13","@types/json-schema":"^7.0.15","@types/node":"^20.11.20","@vercel/node":"^2.15.9",express:"^4.18.2",h3:"^1.11.1",next:"^13.5.4",prettier:"^3.2.5","ts-node":"^10.9.2",tsup:"^8.0.2",typescript:"^5.3.3",vitest:"^1.2.1",zod:"^3.23.0","zod-to-json-schema":"^3.23.0"},dependencies:{ajv:"^8.12.0","ajv-formats":"^2.1.1","better-ajv-errors":"^1.2.0",chalk:"^4.1.2","cross-fetch":"^4.0.0","json-schema-faker":"^0.5.6","json-schema-to-ts":"^3.0.0",liquidjs:"^10.13.1",ora:"^5.4.1"}};var hs=yn.version;jsonSchemaFaker.JSONSchemaFaker.random.shuffle=function(){return ["[placeholder]"]};jsonSchemaFaker.JSONSchemaFaker.option({useDefaultValue:!0,alwaysFakeOptionals:!0});var yr=class{discoveredWorkflows=[];templateEngine=new liquidjs.Liquid;apiKey;version=hs;strictAuthentication;static NOVU_SIGNATURE_HEADER="x-novu-signature";constructor(e){let t=this.buildOptions(e);this.apiKey=t.apiKey,this.strictAuthentication=t.strictAuthentication;}buildOptions(e){let t={apiKey:void 0,strictAuthentication:!0};return e?.apiKey!==void 0?t.apiKey=e.apiKey:process.env.NOVU_API_KEY!==void 0&&(t.apiKey=process.env.NOVU_API_KEY),e?.strictAuthentication!==void 0?t.strictAuthentication=e.strictAuthentication:process.env.NOVU_STRICT_AUTHENTICATION!==void 0&&(t.strictAuthentication=process.env.NOVU_STRICT_AUTHENTICATION==="true"),t}addWorkflows(e){for(let t of e){if(this.discoveredWorkflows.some(s=>s.workflowId===t.workflowId))throw new Rt(t.workflowId);this.discoveredWorkflows.push(t);}}healthCheck(){let e=this.discoveredWorkflows.length,t=this.discoveredWorkflows.reduce((s,n)=>s+n.steps.length,0);return {status:"ok",version:hs,discovered:{workflows:e,steps:t}}}getWorkflow(e){let t=this.discoveredWorkflows.find(s=>s.workflowId===e);if(t)return t;throw new Ke(e)}getStep(e,t){let n=this.getWorkflow(e).steps.find(o=>o.stepId===t);if(n)return n;throw new It(t)}getRegisteredWorkflows(){return this.discoveredWorkflows}discover(){return {workflows:this.getRegisteredWorkflows()}}mock(e){return jsonSchemaFaker.JSONSchemaFaker.generate(_n(e))}async validate(e,t,s,n,o,a,d){let u=await mn(t,e);if(u.success)return u.data;switch(s){case"event":this.throwInvalidEvent(n,o,u.errors);case"step":this.throwInvalidStep(a,n,o,u.errors);case"provider":this.throwInvalidProvider(a,d,n,o,u.errors);default:throw new Error(`Invalid component: '${s}'`)}}throwInvalidProvider(e,t,s,n,o){if(!e)throw new Error("stepId is required");if(!t)throw new Error("providerId is required");switch(s){case"output":throw new lt(n,e,t,o);default:throw new Error(`Invalid payload type: '${s}'`)}}throwInvalidStep(e,t,s,n){if(!e)throw new Error("stepId is required");switch(t){case"output":throw new ct(s,e,n);case"result":throw new ut(s,e,n);case"input":throw new dt(s,e,n);default:throw new Error(`Invalid payload type: '${t}'`)}}throwInvalidEvent(e,t,s){switch(e){case"input":throw new Fe(t,s);case"data":throw new it(t,s);default:throw new Error(`Invalid payload type: '${e}'`)}}executeStepFactory(e,t){return async(s,n,o)=>{let a=this.getStep(e.workflowId,s),d=Yi(e),u=await this.createStepInputs(a,d),l=e.action==="preview";if(!l&&await this.shouldSkip(o?.skip,u))return t({options:{skip:!0}}),{};let h=this.previewStep.bind(this),x=this.executeStep.bind(this),X=await(l?h:x)(e,{...a,providers:a.providers.map(Pe=>{let Ve=o?.providers?.[Pe.type];if(!Ve)throw new mt(Pe.type);return {...Pe,resolve:Ve}}),resolve:n});return s===e.stepId&&t(X),X.outputs}}async shouldSkip(e,t){return e?e(t):!1}async executeWorkflow(e){let n=`${{execute:"Executing",preview:"Previewing"}[e.action]} workflowId:`;console.log(`
19
- ${b.bold(b.underline(n))} '${e.workflowId}'`);let o=this.getWorkflow(e.workflowId),a=process.hrtime(),d={outputs:{},providers:{},options:{}},u,l=new Promise(de=>{u=de;}),h=de=>{u(),d=de;},x;try{if(e.action==="execute"&&!e.data)throw new Fe(e.workflowId,{message:"Event `data` is required"});let de=await this.createExecutionInputs(e,o);await Promise.race([l,o.execute({payload:de,environment:{},input:{},subscriber:e.subscriber,step:{email:this.executeStepFactory(e,h),sms:this.executeStepFactory(e,h),inApp:this.executeStepFactory(e,h),digest:this.executeStepFactory(e,h),delay:this.executeStepFactory(e,h),push:this.executeStepFactory(e,h),chat:this.executeStepFactory(e,h),custom:this.executeStepFactory(e,h)}})]);}catch(de){x=de;}let U=process.hrtime(a),X=U[0],Pe=U[1],Ve=X*1e3+Pe/1e6,gn=x?A.ERROR:A.SUCCESS,vn=e.action==="execute"?"Executed":e.action==="preview"?"Previewed":"Invalid action";if(console.log(`${gn} ${vn} workflowId: \`${e.workflowId}\``),this.prettyPrintExecute(e,Ve,x),x)throw x;return {outputs:d.outputs,providers:d.providers,options:d.options,metadata:{status:"success",error:!1,duration:Ve}}}async createExecutionInputs(e,t){let s=e.data;if(e.action==="preview"){let o=this.mock(t.data.schema);s=Object.assign(o,s);}return await this.validate(s,t.data.unknownSchema,"event","input",e.workflowId)}prettyPrintExecute(e,t,s){let n=s?A.ERROR:A.SUCCESS,o=e.action==="execute"?"Executed":e.action==="preview"?"Previewed":"Invalid action",a=s?"Failed to execute":o,d=s?b.error:b.success,u=`${n} ${a} workflowId: '${e.workflowId}`;console.log(`
20
- ${b.bold(d(u))}'`),console.log(` \u251C ${A.STEP} stepId: '${e.stepId}'`),console.log(` \u251C ${A.ACTION} action: '${e.action}'`),console.log(` \u2514 ${A.DURATION} duration: '${t.toFixed(2)}ms'
21
- `);}async executeProviders(e,t){return t.providers.reduce(async(s,n)=>{let o=await s,a=this.previewProvider.bind(this),d=this.executeProvider.bind(this),l=await(e.action==="preview"?a:d)(e,t,n);return {...o,[n.type]:l}},Promise.resolve({}))}previewProvider(e,t,s){return console.log(` ${A.MOCK} Mocked provider: \`${s.type}\``),this.mock(s.outputs.schema)}async executeProvider(e,t,s){let n=_r__default.default({indent:2}).start(`Executing provider: \`${s.type}\``);try{if(e.stepId===t.stepId){let o=await this.createStepInputs(t,e),a=await s.resolve({inputs:o}),d=await this.validate(a,s.outputs.unknownSchema,"step","output",e.workflowId,t.stepId,s.type);return n.succeed(`Executed provider: \`${s.type}\``),d}else n.stopAndPersist({symbol:A.HYDRATED,text:`Hydrated provider: \`${s.type}\``});}catch(o){throw n.stopAndPersist({symbol:A.ERROR,text:`Failed to execute provider: \`${s.type}\``}),new _t(`Failed to execute provider: '${s.type}'.
22
- ${o.message}`)}}async executeStep(e,t){if(e.stepId===t.stepId){let s=_r__default.default({indent:1}).start(`Executing stepId: \`${t.stepId}\``);try{let n=await this.createStepInputs(t,e),o=await this.compileInputs(n,e),a=await t.resolve(o),d=await this.validate(a,t.outputs.unknownSchema,"step","output",e.workflowId,t.stepId),u=await this.executeProviders(e,t);return s.succeed(`Executed stepId: \`${t.stepId}\``),{outputs:d,providers:u}}catch(n){throw s.stopAndPersist({prefixText:"",symbol:A.ERROR,text:`Failed to execute stepId: \`${t.stepId}\``}),n}}else {let s=_r__default.default({indent:1}).start(`Hydrating stepId: \`${t.stepId}\``);try{let n=e.state.find(o=>o.stepId===t.stepId);if(n){let o=await this.validate(n.outputs,t.results.unknownSchema,"step","result",e.workflowId,t.stepId);return s.stopAndPersist({symbol:A.HYDRATED,text:`Hydrated stepId: \`${t.stepId}\``}),{outputs:o,providers:await this.executeProviders(e,t)}}else throw new at(e.workflowId,t.stepId)}catch(n){throw s.stopAndPersist({symbol:A.ERROR,text:`Failed to hydrate stepId: \`${t.stepId}\``}),n}}}async compileInputs(e,t){let s=this.templateEngine.parse(JSON.stringify(e)),n=await this.templateEngine.render(s,{...t.data,subscriber:t.subscriber});return JSON.parse(n)}async createStepInputs(e,t){let s=t.inputs;return await this.validate(s,e.inputs.unknownSchema,"step","input",t.workflowId,e.stepId)}async previewStep(e,t){let s=_r__default.default({indent:1}).start(`Previewing stepId: \`${t.stepId}\``);try{if(e.stepId===t.stepId){let n=await this.createStepInputs(t,e),o=await this.compileInputs(n,e),a=await t.resolve(o),d=await this.validate(a,t.outputs.unknownSchema,"step","output",e.workflowId,t.stepId);return s.stopAndPersist({symbol:A.MOCK,text:`Mocked stepId: \`${t.stepId}\``}),{outputs:d,providers:await this.executeProviders(e,t)}}else {let n=this.mock(t.results.schema);return s.stopAndPersist({symbol:A.MOCK,text:`Mocked stepId: \`${t.stepId}\``}),{outputs:n,providers:await this.executeProviders(e,t)}}}catch(n){throw s.stopAndPersist({symbol:A.ERROR,text:`Failed to preview stepId: \`${t.stepId}\``}),n}}getStepCode(e,t){return {code:this.getStep(e,t).resolve.toString()}}getWorkflowCode(e){return {code:this.getWorkflow(e).execute.toString()}}getCode(e,t){let s;if(e)t?s=this.getStepCode(e,t):s=this.getWorkflowCode(e);else throw new Ke(e);return s}};function Yi(r){return JSON.parse(JSON.stringify(r))}var gr=class{frameworkName;handler;client;hmacEnabled;constructor(e){this.handler=e.handler,this.client=e.client?e.client:new yr,this.client.addWorkflows(e.workflows),this.frameworkName=e.frameworkName,this.hmacEnabled=this.client.strictAuthentication;}createHandler(){return async(...e)=>{let t=await this.handler(...e),s=await this.handleAction({actions:t});return t.transformResponse(s)}}getStaticHeaders(){let e=`novu-framework:v${this.client.version}`;return {"content-type":"application/json","access-control-allow-origin":"*","access-control-allow-methods":"GET, POST","access-control-allow-headers":"*","access-control-max-age":"604800","x-novu-framework":this.frameworkName,"user-agent":e,"x-novu-sdk":e}}createResponse(e,t,s={}){return {status:e,body:JSON.stringify(t),headers:{...this.getStaticHeaders(),...s}}}createError(e){return {status:e.statusCode,body:JSON.stringify({message:e.message,data:e.data,code:e.code}),headers:this.getStaticHeaders()}}async handleAction({actions:e}){let t=await e.url(),s=await e.method(),n=t.searchParams.get("action")||"",o=t.searchParams.get("workflowId")||"",a=t.searchParams.get("stepId")||"",d=await e.headers("x-novu-signature")||"",u=await e.headers("x-novu-anonymous")||"",l=t.searchParams.get("source")||"",h={};try{s==="POST"&&(h=await e.body());}catch{}try{n!=="health-check"&&this.validateHmac(h,d);let x=this.getPostActionMap(h,o,a,n,u,l),U=this.getGetActionMap(o,a);if(s==="POST")return await this.handlePostAction(n,x);if(s==="GET")return await this.handleGetAction(n,U);if(s==="OPTIONS")return this.createResponse(200,{},{...this.getStaticHeaders()})}catch(x){return this.handleError(x)}return this.createError(new pt(s))}getPostActionMap(e,t,s,n,o,a){return {execute:async()=>{let d=await this.client.executeWorkflow({...e,workflowId:t,stepId:s,action:n});return this.createResponse(200,d,{"x-novu-execution-duration":d.metadata.duration.toString()})},preview:async()=>{let d=await this.client.executeWorkflow({...e,workflowId:t,stepId:s,action:n});return this.createResponse(200,d,{"x-novu-execution-duration":d.metadata.duration.toString()})}}}getGetActionMap(e,t){return {discover:async()=>{let s=await this.client.discover();return this.createResponse(200,s)},"health-check":async()=>{let s=await this.client.healthCheck();return this.createResponse(200,s)},code:async()=>{let s=await this.client.getCode(e,t);return this.createResponse(200,s)}}}async handlePostAction(e,t){if(Object.values(tt).includes(e)){let s=t[e];return s()}else throw new We(e,tt)}async handleGetAction(e,t){if(Object.values(rt).includes(e)){let s=t[e];return s()}else throw new We(e,rt)}isClientError(e){return Object.values(q).includes(e.code)}handleError(e){return this.isClientError(e)?(e.statusCode===500&&console.error(e),this.createError(e)):(console.error(e),this.createError(new ht))}validateHmac(e,t){if(!this.hmacEnabled)return;if(!t)throw new gt;if(!this.client.apiKey)throw new Tt;let[s,n]=t.split(",");if(!s||!n)throw new vt;let[o,a]=s.split("="),[d,u]=n.split("=");if(Number(o)<Date.now()-1500)throw new wt;if(!(this.hashHmac(this.client.apiKey,`${a}.${JSON.stringify(e)}`)===u))throw new yt}hashHmac(e,t){return crypto.createHmac("sha256",e).update(t).digest("hex")}};var ed="nuxt",al=r=>new gr({frameworkName:ed,...r,handler:t=>({queryString:s=>String(Rs(t)[s]),body:()=>xs(t),headers:s=>br(t,s),url:()=>new URL(String(t.path),`${process.env.NODE_ENV==="development"?"http":"https"}://${String(br(t,"host"))}`),method:()=>t.method,transformResponse:s=>{let{res:n}=t.node;return n.statusCode=s.status,bs(t,s.headers),Es(t,s.body)}})}).createHandler();
21
+ var D=(r=>(r.TRIGGER="trigger",r.EXECUTE="execute",r.PREVIEW="preview",r))(D||{}),k=(r=>(r.DISCOVER="discover",r.HEALTH_CHECK="health-check",r.CODE="code",r))(k||{});var O=(a=>(a.WORKFLOW_NOT_FOUND_ERROR="WorkflowNotFoundError",a.WORKFLOW_ALREADY_EXISTS_ERROR="WorkflowAlreadyExistsError",a.WORKFLOW_EXECUTION_FAILED_ERROR="WorkflowExecutionFailedError",a.EXECUTION_STATE_OUTPUT_INVALID_ERROR="ExecutionStateOutputInvalidError",a.EXECUTION_STATE_RESULT_INVALID_ERROR="ExecutionStateResultInvalidError",a.EXECUTION_PROVIDER_OUTPUT_INVALID_ERROR="ExecutionProviderOutputInvalidError",a.PROVIDER_NOT_FOUND_ERROR="ProviderNotFoundError",a.PROVIDER_EXECUTION_FAILED_ERROR="ProviderExecutionFailedError",a.STEP_NOT_FOUND_ERROR="StepNotFoundError",a.STEP_ALREADY_EXISTS_ERROR="StepAlreadyExistsError",a.STEP_EXECUTION_FAILED_ERROR="StepExecutionFailedError",a.EXECUTION_STATE_CORRUPT_ERROR="ExecutionStateCorruptError",a.EXECUTION_EVENT_PAYLOAD_INVALID_ERROR="ExecutionEventPayloadInvalidError",a.EXECUTION_EVENT_CONTROL_INVALID_ERROR="ExecutionEventControlInvalidError",a.EXECUTION_STATE_CONTROL_INVALID_ERROR="ExecutionStateControlInvalidError",a.METHOD_NOT_ALLOWED_ERROR="MethodNotAllowedError",a.INVALID_ACTION_ERROR="InvalidActionError",a.MISSING_SECRET_KEY_ERROR="MissingSecretKeyError",a.SIGNATURE_MISMATCH_ERROR="SignatureMismatchError",a.SIGNATURE_NOT_FOUND_ERROR="SignatureNotFoundError",a.SIGNATURE_INVALID_ERROR="SignatureInvalidError",a.SIGNATURE_EXPIRED_ERROR="SignatureExpiredError",a.SIGNING_KEY_NOT_FOUND_ERROR="SigningKeyNotFoundError",a.PLATFORM_ERROR="PlatformError",a.SIGNATURE_VERSION_INVALID_ERROR="SignatureVersionInvalidError",a.WORKFLOW_PAYLOAD_INVALID_ERROR="WorkflowPayloadInvalidError",a))(O||{});var U=(r=>(r.POST="POST",r.GET="GET",r.OPTIONS="OPTIONS",r))(U||{});var h=class extends Error{data},L=class extends h{statusCode=404},R=class extends h{statusCode=400},T=class extends h{statusCode=401},m=class extends h{statusCode=500},b=class extends h{statusCode=409};var V=class extends R{code="ExecutionStateCorruptError";constructor(e,t){super(`Workflow with id: \`${e}\` has a corrupt state. Step with id: \`${t}\` does not exist. Please provide the missing state.`),this.data={workflowId:e,stepId:t};}},x=class extends R{code="ExecutionEventPayloadInvalidError";constructor(e,t){super(`Workflow with id: \`${e}\` has invalid \`payload\`. Please provide the correct event payload.`),this.data=t;}},F=class extends R{code="ExecutionEventControlInvalidError";constructor(e,t){super(`Workflow with id: \`${e}\` has invalid \`controls\`. Please provide the correct event controls.`),this.data=t;}},W=class extends R{code="ExecutionStateControlInvalidError";constructor(e,t,r){super(`Workflow with id: \`${e}\` has an invalid state. Step with id: \`${t}\` has invalid \`controls\`. Please provide the correct step controls.`),this.data=r;}},$=class extends R{code="ExecutionStateOutputInvalidError";constructor(e,t,r){super(`Workflow with id: \`${e}\` has an invalid state. Step with id: \`${t}\` has invalid output. Please provide the correct step output.`),this.data=r;}},M=class extends R{code="ExecutionStateResultInvalidError";constructor(e,t,r){super(`Workflow with id: \`${e}\` has an invalid state. Step with id: \`${t}\` has invalid result. Please provide the correct step result.`),this.data=r;}},G=class extends R{code="ExecutionProviderOutputInvalidError";constructor(e,t,r,o){super(`Workflow with id: \`${e}\` has an invalid state. Step with id: \`${t}\` and provider with id: \`${r}\` has invalid output. Please provide the correct provider output.`),this.data=o;}};var j=class extends Error{statusCode;message;code;constructor(e,t,r){super(r),this.statusCode=e,this.code=t;}};var d={info:s=>N__default.default.blue(s),warning:s=>N__default.default.yellow(s),error:s=>N__default.default.red(s),success:s=>N__default.default.green(s),underline:s=>N__default.default.underline(s),bold:s=>N__default.default.bold(s)},p={SUCCESS:d.success("\u2714"),ERROR:d.error("\u2717"),WARNING:d.warning("\u26A0"),INFO:d.info("\u2139"),ARROW:d.bold("\u2192"),MOCK:d.info("\u25CB"),HYDRATED:d.bold(d.info("\u2192")),STEP:d.info("\u03C3"),ACTION:d.info("\u03B1"),DURATION:d.info("\u0394"),PROVIDER:d.info("\u2699"),OUTPUT:d.info("\u21E2"),INPUT:d.info("\u21E0"),WORKFLOW:d.info("\u03C9"),STATE:d.info("\u03C3"),EXECUTE:d.info("\u03B5"),PREVIEW:d.info("\u03C1")};var de=s=>Object.values(s).map(e=>`\`${e}\``).join(", "),K=s=>s.replaceAll(/(\w)(\w*)/g,(e,t,r)=>t.toUpperCase()+r.toLowerCase()).replaceAll(/[\s-]+/g,"");var ue=(s,e="https://api.novu.co")=>{let t=process.env.NOVU_API_URL||e;return {post:async(r,o)=>{let i=await fetch(t+"/v1"+r,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`ApiKey ${s}`},body:JSON.stringify(o)}),n=await i.json();if(i.ok)return n;throw new j(n.statusCode,n.error,n.message)},delete:async r=>(await fetch(t+"/v1"+r,{method:"DELETE",headers:{"Content-Type":"application/json",Authorization:`ApiKey ${s}`}})).json()}};var Y=class extends h{code="MethodNotAllowedError";statusCode=405;message=`Method not allowed. Please use one of ${de(U)}`},g=class extends R{code="InvalidActionError";constructor(e,t){super(`Invalid query string: \`action\`=\`${e}\`. Please use one of ${de(t)}`);}};var X=class extends m{code="PlatformError";message="Something went wrong. Please try again later."};var y=class extends b{constructor(e,t){super(`${K(e)} with id: \`${t}\` already exists. Please use a different id.`);}},w=class extends L{constructor(e,t){super(`${K(e)} with id: \`${t}\` does not exist. Please provide a valid id.`);}},A=class extends m{constructor(e,t){super(`Failed to execute ${K(e)} with id: \`${t}\`. Please try again later.`);}};var J=class extends w{code="ProviderNotFoundError";constructor(e){super("provider",e);}},B=class extends A{code="ProviderExecutionFailedError";constructor(e){super("workflow",e);}};var q=class extends T{code="SignatureMismatchError";constructor(){super("Signature does not match the expected signature. Please ensure the signature provided in the `novu-signature` header is correct and try again.");}},z=class extends T{code="SignatureNotFoundError";constructor(){super("Signature not found. Please provide a signature in the `novu-signature` header");}},Z=class extends T{code="SignatureInvalidError";constructor(){super("Signature is invalid. Please provide a valid signature in the `novu-signature` header");}},Q=class extends T{code="SignatureExpiredError";constructor(){super(`Signature expired. Please provide a signature with a timestamp no older than ${5} minutes in the \`novu-signature\` header`);}},H=class extends T{code="SigningKeyNotFoundError";constructor(){super("Signature key not found. Please provide a valid key in the Client constructor `config.secretKey`");}};var ee=class extends w{code="StepNotFoundError";constructor(e){super("step",e);}};var S=class extends w{code="WorkflowNotFoundError";constructor(e){super("workflow",e);}},te=class extends y{code="WorkflowAlreadyExistsError";constructor(e){super("workflow",e);}};var re=class{ajv;compiledSchemas;constructor(){this.ajv=new Ne__default.default({useDefaults:!0,removeAdditional:"all"}),Ae__default.default(this.ajv),this.compiledSchemas=new Map;}isSchema(e){return typeof e=="boolean"?!1:e.type==="object"||!!e.anyOf||!!e.oneOf}async validate(e,t){let r=this.compiledSchemas.get(t);return r||(r=this.ajv.compile(t),this.compiledSchemas.set(t,r)),r(e)?{success:!0,data:e}:{success:!1,errors:r.errors.map(i=>({path:i.instancePath,message:i.message}))}}transformToJsonSchema(e){return e}};var oe=class{isSchema(e){return e.safeParseAsync!==void 0}async validate(e,t){let r=t.safeParse(e);return r.success?{success:!0,data:r.data}:{success:!1,errors:r.error.errors.map(o=>({path:`/${o.path.join("/")}`,message:o.message}))}}transformToJsonSchema(e){try{return zodToJsonSchema.zodToJsonSchema(e)}catch(t){throw t?.message?.includes("Cannot find module")&&console.error("Tried to use a zod schema in @novu/framework without `zod-to-json-schema` installed. Please install it by running `npm install zod-to-json-schema`."),t}}};var Ee=[new oe,new re],Oe=async(s,e)=>{for(let t of Ee)if(t.isSchema(s))return t.validate(e,s);throw new Error("Invalid schema")},he=s=>{for(let e of Ee)if(e.isSchema(s))return e.transformToJsonSchema(s);throw new Error("Invalid schema")};var Te={name:"@novu/framework",version:"2.0.0-canary.0",description:"The Code-First Notifications Workflow SDK.",main:"./dist/index.js",types:"./dist/index.d.ts",publishConfig:{registry:"https://registry.npmjs.org",access:"public"},private:!1,repository:{type:"git",url:"git+https://github.com/novuhq/novu.git"},files:["dist","README.md"],scripts:{preinstall:"npx only-allow pnpm",test:"vitest","test:watch":"vitest --watch",lint:"eslint src --ext .ts","lint:fix":"eslint src --ext .ts --fix",format:"prettier --check --ignore-path .gitignore .","format:fix":"prettier --write --ignore-path .gitignore .",build:"tsup","build:watch":"tsup --watch","$comment:bump:prerelease":"This is a workaround to support `npm version prerelease` with lerna","bump:prerelease":"npm version prerelease --preid=alpha & PID=$!; (sleep 1 && kill -9 $PID) & wait $PID","release:alpha":"pnpm bump:prerelease || pnpm build && npm publish"},keywords:["novu","code-first","workflows","durable","sdk","notifications","email","sms","push","webhooks","next","nuxt","h3","express"],author:"Novu Team <engineering@novu.co>",license:"ISC",exports:{".":{require:"./dist/index.js",import:"./dist/index.js",types:"./dist/index.d.ts"},"./express":{require:"./dist/express.js",import:"./dist/express.js",types:"./dist/express.d.ts"},"./next":{require:"./dist/next.js",import:"./dist/next.js",types:"./dist/next.d.ts"},"./nuxt":{require:"./dist/nuxt.js",import:"./dist/nuxt.js",types:"./dist/nuxt.d.ts"},"./h3":{require:"./dist/h3.js",import:"./dist/h3.js",types:"./dist/h3.d.ts"},"./sveltekit":{require:"./dist/sveltekit.js",import:"./dist/sveltekit.js",types:"./dist/sveltekit.d.ts"},"./remix":{require:"./dist/remix.js",import:"./dist/remix.js",types:"./dist/remix.d.ts"}},peerDependencies:{"@sveltejs/kit":">=1.27.3","@vercel/node":">=2.15.9",express:">=4.19.2",h3:">=1.8.1",next:">=12.0.0",zod:">=3.0.0","zod-to-json-schema":">=3.0.0"},peerDependenciesMeta:{"@sveltejs/kit":{optional:!0},"@vercel/node":{optional:!0},express:{optional:!0},fastify:{optional:!0},h3:{optional:!0},next:{optional:!0},zod:{optional:!0},"zod-to-json-schema":{optional:!0}},devDependencies:{"@sveltejs/kit":"^1.27.3","@types/express":"^4.17.13","@types/json-schema":"^7.0.15","@types/node":"^20.11.20","@vercel/node":"^2.15.9",express:"^4.19.2",h3:"^1.11.1",next:"^13.5.4",prettier:"^3.2.5","ts-node":"^10.9.2",tsup:"^8.0.2",typescript:"^5.3.3",vitest:"^1.2.1",zod:"^3.23.0","zod-to-json-schema":"^3.23.0"},dependencies:{"@novu/shared":"workspace:*",ajv:"^8.12.0","ajv-formats":"^2.1.1","better-ajv-errors":"^1.2.0",chalk:"^4.1.2","cross-fetch":"^4.0.0","json-schema-faker":"^0.5.6","json-schema-to-ts":"^3.0.0",liquidjs:"^10.13.1",ora:"^5.4.1"}};var P=Te.version,se="2024-06-26";jsonSchemaFaker.JSONSchemaFaker.random.shuffle=function(){return ["[placeholder]"]};jsonSchemaFaker.JSONSchemaFaker.option({useDefaultValue:!0,alwaysFakeOptionals:!0});function ye(){return process.env.NODE_ENV==="development"}var ne=class{discoveredWorkflows=[];templateEngine=new liquidjs.Liquid;secretKey;version=P;strictAuthentication;constructor(e){let t=this.buildOptions(e);this.secretKey=t.secretKey,this.strictAuthentication=t.strictAuthentication;}buildOptions(e){let t={secretKey:void 0,strictAuthentication:!ye()};return t.secretKey=e?.secretKey||process.env.NOVU_SECRET_KEY||process.env.NOVU_API_KEY,e?.strictAuthentication!==void 0?t.strictAuthentication=e.strictAuthentication:process.env.NOVU_STRICT_AUTHENTICATION_ENABLED!==void 0&&(t.strictAuthentication=process.env.NOVU_STRICT_AUTHENTICATION_ENABLED==="true"),t}addWorkflows(e){for(let t of e){if(this.discoveredWorkflows.some(r=>r.workflowId===t.definition.workflowId))throw new te(t.definition.workflowId);this.discoveredWorkflows.push(t.definition);}}healthCheck(){let e=this.discoveredWorkflows.length,t=this.discoveredWorkflows.reduce((r,o)=>r+o.steps.length,0);return {status:"ok",sdkVersion:P,frameworkVersion:se,discovered:{workflows:e,steps:t}}}getWorkflow(e){let t=this.discoveredWorkflows.find(r=>r.workflowId===e);if(t)return t;throw new S(e)}getStep(e,t){let o=this.getWorkflow(e).steps.find(i=>i.stepId===t);if(o)return o;throw new ee(t)}getRegisteredWorkflows(){return this.discoveredWorkflows}discover(){return {workflows:this.getRegisteredWorkflows()}}mock(e){return jsonSchemaFaker.JSONSchemaFaker.generate(he(e))}async validate(e,t,r,o,i,n,l){let c=await Oe(t,e);if(c.success)return c.data;switch(r){case"event":this.throwInvalidEvent(o,i,c.errors);case"step":this.throwInvalidStep(n,o,i,c.errors);case"provider":this.throwInvalidProvider(n,l,o,i,c.errors);default:throw new Error(`Invalid component: '${r}'`)}}throwInvalidProvider(e,t,r,o,i){if(!e)throw new Error("stepId is required");if(!t)throw new Error("providerId is required");switch(r){case"output":throw new G(o,e,t,i);default:throw new Error(`Invalid payload type: '${r}'`)}}throwInvalidStep(e,t,r,o){if(!e)throw new Error("stepId is required");switch(t){case"output":throw new $(r,e,o);case"result":throw new M(r,e,o);case"controls":throw new W(r,e,o);default:throw new Error(`Invalid payload type: '${t}'`)}}throwInvalidEvent(e,t,r){switch(e){case"controls":throw new F(t,r);case"payload":throw new x(t,r);default:throw new Error(`Invalid payload type: '${e}'`)}}executeStepFactory(e,t){return async(r,o,i)=>{let n=this.getStep(e.workflowId,r),l=Se(e),c=await this.createStepControls(n,l),E=e.action==="preview";if(!E&&await this.shouldSkip(i?.skip,c))return t({options:{skip:!0}}),{};let u=this.previewStep.bind(this),I=this.executeStep.bind(this),C=await(E?u:I)(e,{...n,providers:n.providers.map(f=>{let v=i?.providers?.[f.type];if(!v)throw new J(f.type);return {...f,resolve:v}}),resolve:o});return r===e.stepId&&t(C),C.outputs}}async shouldSkip(e,t){return e?e(t):!1}async executeWorkflow(e){let o=`${{execute:"Executing",preview:"Previewing"}[e.action]} workflowId:`;console.log(`
22
+ ${d.bold(d.underline(o))} '${e.workflowId}'`);let i=this.getWorkflow(e.workflowId),n=process.hrtime(),l={outputs:{},providers:{},options:{}},c,E=new Promise(_=>{c=_;}),u=_=>{c(),l=_;},I;try{if(e.action==="execute"&&!e.payload&&!e.data)throw new x(e.workflowId,{message:"Event `payload` is required"});let _=await this.createExecutionPayload(e,i);await Promise.race([E,i.execute({payload:_,environment:{},inputs:{},controls:{},subscriber:e.subscriber,step:{email:this.executeStepFactory(e,u),sms:this.executeStepFactory(e,u),inApp:this.executeStepFactory(e,u),digest:this.executeStepFactory(e,u),delay:this.executeStepFactory(e,u),push:this.executeStepFactory(e,u),chat:this.executeStepFactory(e,u),custom:this.executeStepFactory(e,u)}})]);}catch(_){I=_;}let ce=process.hrtime(n),C=ce[0],f=ce[1],v=C*1e3+f/1e6,Ie=I?p.ERROR:p.SUCCESS,_e=e.action==="execute"?"Executed":e.action==="preview"?"Previewed":"Invalid action";if(console.log(`${Ie} ${_e} workflowId: \`${e.workflowId}\``),this.prettyPrintExecute(e,v,I),I)throw I;return {outputs:l.outputs,providers:l.providers,options:l.options,metadata:{status:"success",error:!1,duration:v}}}async createExecutionPayload(e,t){let r=e.payload||e.data;if(e.action==="preview"){let i=this.mock(t.payload.schema);r=Object.assign(i,r);}return await this.validate(r,t.payload.unknownSchema,"event","payload",e.workflowId)}prettyPrintExecute(e,t,r){let o=r?p.ERROR:p.SUCCESS,i=e.action==="execute"?"Executed":e.action==="preview"?"Previewed":"Invalid action",n=r?"Failed to execute":i,l=r?d.error:d.success,c=`${o} ${n} workflowId: '${e.workflowId}`;console.log(`
23
+ ${d.bold(l(c))}'`),console.log(` \u251C ${p.STEP} stepId: '${e.stepId}'`),console.log(` \u251C ${p.ACTION} action: '${e.action}'`),console.log(` \u2514 ${p.DURATION} duration: '${t.toFixed(2)}ms'
24
+ `);}async executeProviders(e,t,r){return t.providers.reduce(async(o,i)=>{let n=await o,l=this.previewProvider.bind(this),c=this.executeProvider.bind(this),u=await(e.action==="preview"?l:c)(e,t,i,r);return {...n,[i.type]:u}},Promise.resolve({}))}previewProvider(e,t,r,o){return console.log(` ${p.MOCK} Mocked provider: \`${r.type}\``),this.mock(r.outputs.schema)}async executeProvider(e,t,r,o){let i=ie__default.default({indent:2}).start(`Executing provider: \`${r.type}\``);try{if(e.stepId===t.stepId){let n=await this.createStepControls(t,e),l=await r.resolve({controls:n,outputs:o}),c=await this.validate(l,r.outputs.unknownSchema,"step","output",e.workflowId,t.stepId,r.type);return i.succeed(`Executed provider: \`${r.type}\``),c}else i.stopAndPersist({symbol:p.HYDRATED,text:`Hydrated provider: \`${r.type}\``});}catch(n){throw i.stopAndPersist({symbol:p.ERROR,text:`Failed to execute provider: \`${r.type}\``}),new B(`Failed to execute provider: '${r.type}'.
25
+ ${n.message}`)}}async executeStep(e,t){if(e.stepId===t.stepId){let r=ie__default.default({indent:1}).start(`Executing stepId: \`${t.stepId}\``);try{let o=await this.createStepControls(t,e),i=await this.compileControls(o,e),n=await t.resolve(i),l=await this.validate(n,t.outputs.unknownSchema,"step","output",e.workflowId,t.stepId),c=await this.executeProviders(e,t,l);return r.succeed(`Executed stepId: \`${t.stepId}\``),{outputs:l,providers:c}}catch(o){throw r.stopAndPersist({prefixText:"",symbol:p.ERROR,text:`Failed to execute stepId: \`${t.stepId}\``}),o}}else {let r=ie__default.default({indent:1}).start(`Hydrating stepId: \`${t.stepId}\``);try{let o=e.state.find(i=>i.stepId===t.stepId);if(o){let i=await this.validate(o.outputs,t.results.unknownSchema,"step","result",e.workflowId,t.stepId);return r.stopAndPersist({symbol:p.HYDRATED,text:`Hydrated stepId: \`${t.stepId}\``}),{outputs:i,providers:await this.executeProviders(e,t,i)}}else throw new V(e.workflowId,t.stepId)}catch(o){throw r.stopAndPersist({symbol:p.ERROR,text:`Failed to hydrate stepId: \`${t.stepId}\``}),o}}}async compileControls(e,t){let r=this.templateEngine.parse(JSON.stringify(e)),o=await this.templateEngine.render(r,{...t.payload||t.data,subscriber:t.subscriber});return JSON.parse(o)}async createStepControls(e,t){let r=t.controls||t.inputs;return await this.validate(r,e.controls.unknownSchema,"step","controls",t.workflowId,e.stepId)}async previewStep(e,t){let r=ie__default.default({indent:1}).start(`Previewing stepId: \`${t.stepId}\``);try{if(e.stepId===t.stepId){let o=await this.createStepControls(t,e),i=await this.compileControls(o,e),n=await t.resolve(i),l=await this.validate(n,t.outputs.unknownSchema,"step","output",e.workflowId,t.stepId);return r.stopAndPersist({symbol:p.MOCK,text:`Mocked stepId: \`${t.stepId}\``}),{outputs:l,providers:await this.executeProviders(e,t,l)}}else {let o=this.mock(t.results.schema);return r.stopAndPersist({symbol:p.MOCK,text:`Mocked stepId: \`${t.stepId}\``}),{outputs:o,providers:await this.executeProviders(e,t,o)}}}catch(o){throw r.stopAndPersist({symbol:p.ERROR,text:`Failed to preview stepId: \`${t.stepId}\``}),o}}getStepCode(e,t){return {code:this.getStep(e,t).resolve.toString()}}getWorkflowCode(e){return {code:this.getWorkflow(e).execute.toString()}}getCode(e,t){let r;if(e)t?r=this.getStepCode(e,t):r=this.getWorkflowCode(e);else throw new S(e);return r}};function Se(s){return JSON.parse(JSON.stringify(s))}var ae=class{frameworkName;handler;client;hmacEnabled;http;constructor(e){this.handler=e.handler,this.client=e.client?e.client:new ne,this.client.addWorkflows(e.workflows),this.http=ue(this.client.secretKey),this.frameworkName=e.frameworkName,this.hmacEnabled=this.client.strictAuthentication;}createHandler(){return async(...e)=>{let t=await this.handler(...e),r=await this.handleAction({actions:t});return t.transformResponse(r)}}getStaticHeaders(){let e=`novu-framework:v${this.client.version}`;return {"content-type":"application/json","access-control-allow-origin":"*","access-control-allow-methods":"GET, POST","access-control-allow-headers":"*","access-control-max-age":"604800","novu-framework-version":se,"novu-framework-sdk":P,"novu-framework-api":this.frameworkName,"user-agent":e}}createResponse(e,t){return {status:e,body:JSON.stringify(t),headers:{...this.getStaticHeaders()}}}createError(e){return {status:e.statusCode,body:JSON.stringify({message:e.message,data:e.data,code:e.code}),headers:this.getStaticHeaders()}}async handleAction({actions:e}){let t=await e.url(),r=await e.method(),o=t.searchParams.get("action")||"",i=t.searchParams.get("workflowId")||"",n=t.searchParams.get("stepId")||"",l=await e.headers("novu-signature")||await e.headers("x-novu-signature")||"",c={};try{r==="POST"&&(c=await e.body());}catch{}try{o!=="health-check"&&this.validateHmac(c,l);let E=this.getPostActionMap(c,i,n,o),u=this.getGetActionMap(i,n);if(r==="POST")return await this.handlePostAction(o,E);if(r==="GET")return await this.handleGetAction(o,u);if(r==="OPTIONS")return this.createResponse(200,{})}catch(E){return this.handleError(E)}return this.createError(new Y(r))}getPostActionMap(e,t,r,o){return {trigger:this.triggerAction({workflowId:t,...e}),execute:async()=>{let i=await this.client.executeWorkflow({...e,workflowId:t,stepId:r,action:o});return this.createResponse(200,i)},preview:async()=>{let i=await this.client.executeWorkflow({...e,workflowId:t,stepId:r,action:o});return this.createResponse(200,i)}}}triggerAction(e){return async()=>{let t={name:e.workflowId,to:e.to,payload:e?.payload||{},transactionId:e.transactionId,overrides:e.overrides||{},...e.actor&&{actor:e.actor},...e.tenant&&{tenant:e.tenant},...e.bridgeUrl&&{bridgeUrl:e.bridgeUrl},...e.controls&&{controls:e.controls}},r=await this.http.post("/events/trigger",t);return this.createResponse(200,r)}}getGetActionMap(e,t){return {discover:async()=>{let r=await this.client.discover();return this.createResponse(200,r)},"health-check":async()=>{let r=await this.client.healthCheck();return this.createResponse(200,r)},code:async()=>{let r=await this.client.getCode(e,t);return this.createResponse(200,r)}}}async handlePostAction(e,t){if(Object.values(D).includes(e)){let r=t[e];return r()}else throw new g(e,D)}async handleGetAction(e,t){if(Object.values(k).includes(e)){let r=t[e];return r()}else throw new g(e,k)}isClientError(e){let t=Object.values(O).includes(e.code),r=De(e);return t||r}handleError(e){return this.isClientError(e)?(e.statusCode===500&&console.error(e),this.createError(e)):(console.error(e),this.createError(new X))}validateHmac(e,t){if(!this.hmacEnabled)return;if(!t)throw new z;if(!this.client.secretKey)throw new H;let[r,o]=t.split(",");if(!r||!o)throw new Z;let[i,n]=r.split("="),[l,c]=o.split("=");if(Number(i)<Date.now()-1500)throw new Q;if(!(this.hashHmac(this.client.secretKey,`${n}.${JSON.stringify(e)}`)===c))throw new q}hashHmac(e,t){return crypto.createHmac("sha256",e).update(t).digest("hex")}};function De(s){return s?.statusCode>=400&&s?.statusCode<500}var Ve="nuxt",br=s=>new ae({frameworkName:Ve,...s,handler:t=>({queryString:r=>String(h3.getQuery(t)[r]),body:()=>h3.readBody(t),headers:r=>h3.getHeader(t,r),url:()=>new URL(String(t.path),`${process.env.NODE_ENV==="development"?"http":"https"}://${String(h3.getHeader(t,"host"))}`),method:()=>t.method,transformResponse:r=>{let{res:o}=t.node;return o.statusCode=r.status,h3.setHeaders(t,r.headers),h3.send(t,r.body)}})}).createHandler();
23
26
 
24
- exports.frameworkName = ed;
25
- exports.serve = al;
27
+ exports.frameworkName = Ve;
28
+ exports.serve = br;
package/dist/remix.d.ts CHANGED
@@ -1,6 +1,7 @@
1
- import { j as SupportedFrameworkName, a as ServeHandlerOptions } from './handler-_6lXMYuL.js';
1
+ import { q as SupportedFrameworkName, b as ServeHandlerOptions } from './handler-Mor_4K8F.js';
2
2
  import 'json-schema-to-ts';
3
3
  import 'zod';
4
+ import '@novu/shared';
4
5
 
5
6
  declare const frameworkName: SupportedFrameworkName;
6
7
  declare const serve: (options: ServeHandlerOptions) => ((ctx: {