trigger_system 1.3.0 → 1.3.1
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/browser/index.browser.js +14 -14
- package/dist/browser/index.browser.js.map +5 -5
- package/dist/core/trigger-engine.d.ts.map +1 -1
- package/dist/core/vars-context.d.ts +9 -3
- package/dist/core/vars-context.d.ts.map +1 -1
- package/dist/node/index.js +55 -55
- package/dist/node/index.js.map +5 -5
- package/dist/node/node.js +103 -103
- package/dist/node/node.js.map +5 -5
- package/dist/types.d.ts +0 -5
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -42,22 +42,22 @@ Right: ${X}`;var EZ=R(()=>{b();a1();G0();a();i0();s();R1();V0();Z2();a2();dW=v({
|
|
|
42
42
|
${W},
|
|
43
43
|
`;if(!Q.hasKind("union"))return Y;let G=new x4({kind:"Allows",optimistic:!0}).indent();Q.compile(G);let L=G.write(`${Q.id}Optimistic`);return`${Y}${L},
|
|
44
44
|
`},`{
|
|
45
|
-
`)+"}"),V9,rZ,AQ=(Z)=>{let X=Z.references.filter((Q)=>Q.hasKind("alias"));for(let Q of X){Object.assign(Q.referencesById,Q.resolution.referencesById);for(let U of Z.references)if(Q.id in U.referencesById)Object.assign(U.referencesById,Q.referencesById)}return Z},NQ=(Z)=>k(Z,(X,Q)=>[X,E(Q,"root")||E(Q,"generic")?Q.json:E(Q,"module")?NQ(Q):i(`Unexpected resolution ${g(Q)}`)]),sZ=(Z,X)=>{let Q=X.indexOf(".");if(Q===-1)return;let U=X.slice(0,Q),J=Z[U];if(J===void 0)return;if(!E(J,"module"))return M(AY(U));let $=X.slice(Q+1),W=J[$];if(W===void 0)return sZ(J,$);if(E(W,"root")||E(W,"generic"))return W;if(E(W,"module"))return W.root??M(EQ(X));i(`Unexpected resolution for alias '${X}': ${g(W)}`)},_9=(Z,X)=>new rZ(Z,X),Z6,bQ=(Z,X)=>{let Q={};for(let U in X){let J=X[U];if(E(J,"module")){let $=bQ(Z,J),W=k($,(Y,G)=>[`${U}.${Y}`,G]);Object.assign(Q,W)}else if(E(J,"root")||E(J,"generic"))Q[U]=J;else i(`Unexpected scope resolution ${g(J)}`)}return Q},aZ=(Z)=>`'${Z}' is unresolvable`,AY=(Z)=>`'${Z}' must reference a module to be accessed using dot syntax`,EQ=(Z)=>`Reference to submodule '${Z}' must specify an alias`,o,t2,NM,a0;var oZ=R(()=>{b();u2();a8();W9();cZ();$9();DZ();a1();s();R1();V0();iZ={};T.ambient??={};V9=class V9{config;resolvedConfig;name;get[S0](){return"scope"}referencesById={};references=[];resolutions={};exportedNames=[];aliases={};resolved=!1;nodesByHash={};intrinsic;constructor(Z,X){if(this.config=h4(T.config,X),this.resolvedConfig=h4(T.resolvedConfig,X),this.name=this.resolvedConfig.name??`anonymousScope${Object.keys(iZ).length}`,this.name in iZ)M(`A Scope already named ${this.name} already exists`);iZ[this.name]=this;let Q=Object.entries(Z).map((U)=>this.preparseOwnAliasEntry(...U));for(let[U,J]of Q){let $=U;if(U[0]==="#"){if($=U.slice(1),$ in this.aliases)M(wQ($));this.aliases[$]=J}else{if($ in this.aliases)M(wQ(U));this.aliases[$]=J,this.exportedNames.push($)}if(!E(J,"module")&&!E(J,"generic")&&!i1(J)){let W=this.preparseOwnDefinitionFormat(J,{alias:$});this.resolutions[$]=E(W,"root")?this.bindReference(W):this.createParseContext(W).id}}PQ??=this.node("union",{branches:["string","number","object","bigint","symbol",{unit:!0},{unit:!1},{unit:void 0},{unit:null}]},{prereduced:!0}),this.nodesByHash[PQ.hash]=this.node("intersection",{},{prereduced:!0}),this.intrinsic=T.intrinsic?k(T.intrinsic,(U,J)=>U.startsWith("json")?[]:[U,this.bindReference(J)]):{}}cacheGetter(Z,X){return Object.defineProperty(this,Z,{value:X}),X}get internal(){return this}_json;get json(){if(!this._json)this.export();return this._json}defineSchema(Z){return Z}generic=(...Z)=>{let X=this;return(Q,U)=>new e1(Z,U?new e6(Q):Q,X,X,U??null)};units=(Z,X)=>{let Q=[];for(let J of Z)if(!Q.includes(J))Q.push(J);let U=Q.map((J)=>this.node("unit",{unit:J},X));return this.node("union",U,{...X,prereduced:!0})};lazyResolutions=[];lazilyResolve(Z,X){let Q=this.node("alias",{reference:X??"synthetic",resolve:Z},{prereduced:!0});if(!this.resolved)this.lazyResolutions.push(Q);return Q}schema=(Z,X)=>this.finalize(this.parseSchema(Z,X));parseSchema=(Z,X)=>this.node(d4(Z),Z,X);preparseNode(Z,X,Q){let U=typeof Z==="string"?Z:d4(X,Z);if(Q0(X)&&X.kind===U)return X;if(U==="alias"&&!Q?.prereduced){let{reference:W}=n4.implementation.normalize(X,this);if(W.startsWith("$")){let Y=this.resolveRoot(W.slice(1));X=Y,U=Y.kind}}else if(U==="union"&&E0(X,"object")){let W=DY(X);if(W?.length===1)X=W[0],U=d4(X)}if(Q0(X)&&X.kind===U)return X;let $=i2[U].normalize?.(X,this)??X;if(Q0($))return $.kind===U?$:wY(U,$.kind);return{...Q,$:this,kind:U,def:$,prefix:Q.alias??U}}bindReference(Z){let X;if(Q0(Z))X=Z.$===this?Z:new Z.constructor(Z.attachments,this);else X=Z.$===this?Z:new e1(Z.params,Z.bodyDef,Z.$,this,Z.hkt);if(!this.resolved)Object.assign(this.referencesById,X.referencesById);return X}resolveRoot(Z){return this.maybeResolveRoot(Z)??M(aZ(Z))}maybeResolveRoot(Z){let X=this.maybeResolve(Z);if(E(X,"generic"))return;return X}maybeResolveSubalias(Z){return sZ(this.aliases,Z)??sZ(this.ambient,Z)}get ambient(){return T.ambient}maybeResolve(Z){let X=this.resolutions[Z];if(X){if(typeof X!=="string")return this.bindReference(X);let U=j0[X];if(E(U,"root"))return this.resolutions[Z]=U;if(E(U,"context")){if(U.phase==="resolving")return this.node("alias",{reference:`$${Z}`},{prereduced:!0});if(U.phase==="resolved")return i(`Unexpected resolved context for was uncached by its scope: ${g(U)}`);U.phase="resolving";let J=this.bindReference(this.parseOwnDefinitionFormat(U.def,U));return U.phase="resolved",j0[J.id]=J,j0[U.id]=J,this.resolutions[Z]=J}return i(`Unexpected nodesById entry for ${X}: ${g(U)}`)}let Q=this.aliases[Z]??this.ambient?.[Z];if(!Q)return this.maybeResolveSubalias(Z);if(Q=this.normalizeRootScopeValue(Q),E(Q,"generic"))return this.resolutions[Z]=this.bindReference(Q);if(E(Q,"module")){if(!Q.root)M(EQ(Z));return this.resolutions[Z]=this.bindReference(Q.root)}return this.resolutions[Z]=this.parse(Q,{alias:Z})}createParseContext(Z){let X=Z.id??MZ(Z.prefix);return j0[X]=Object.assign(Z,{[S0]:"context",$:this,id:X,phase:"unresolved"})}traversal(Z){return new $1(Z,this.resolvedConfig)}import(...Z){return new n2(k(this.export(...Z),(X,Q)=>[`#${X}`,Q]))}precompilation;_exportedResolutions;_exports;export(...Z){if(!this._exports){this._exports={};for(let Q of this.exportedNames){let U=this.aliases[Q];this._exports[Q]=E(U,"module")?dZ(U,this):AQ(this.maybeResolve(Q))}for(let Q of this.lazyResolutions)Q.resolution;if(this._exportedResolutions=bQ(this,this._exports),this._json=NQ(this._exportedResolutions),Object.assign(this.resolutions,this._exportedResolutions),this.references=Object.values(this.referencesById),!this.resolvedConfig.jitless){let Q=CQ(this.references);this.precompilation=Q.write(SQ,4),jQ(this.references,Q)}this.resolved=!0}let X=Z.length?Z:this.exportedNames;return new n2(k(X,(Q,U)=>[U,this._exports[U]]))}resolve(Z){return this.export()[Z]}node=(Z,X,Q={})=>{let U=this.preparseNode(Z,X,Q);if(Q0(U))return this.bindReference(U);let J=this.createParseContext(U),$=RZ(J),W=this.bindReference($);return j0[J.id]=W};parse=(Z,X={})=>this.finalize(this.parseDefinition(Z,X));parseDefinition(Z,X={}){if(E(Z,"root"))return this.bindReference(Z);let Q=this.preparseOwnDefinitionFormat(Z,X);if(E(Q,"root"))return this.bindReference(Q);let U=this.createParseContext(Q);j0[U.id]=U;let J=this.bindReference(this.parseOwnDefinitionFormat(Z,U));if(J.isCyclic)J=s3(J,U.id);return j0[U.id]=J,J}finalize(Z){if(AQ(Z),!Z.precompilation&&!this.resolvedConfig.jitless)PY(Z.references);return Z}};rZ=class rZ extends V9{parseOwnDefinitionFormat(Z,X){return RZ(X)}preparseOwnDefinitionFormat(Z,X){return this.preparseNode(d4(Z),Z,X)}preparseOwnAliasEntry(Z,X){return[Z,X]}normalizeRootScopeValue(Z){return Z}};Z6=new rZ({});Z6.export();o=Z6.schema,t2=Z6.node,NM=Z6.defineSchema,a0=Z6.generic});var nZ="^(?:0|[1-9]\\d*)$",SY,fM;var fQ=R(()=>{s();SY=new RegExp(nZ),fM=W0(SY)});var IQ,yQ,jY,I;var Y9=R(()=>{oZ();s();fQ();IQ=_9({bigint:"bigint",boolean:[{unit:!1},{unit:!0}],false:{unit:!1},never:[],null:{unit:null},number:"number",object:"object",string:"string",symbol:"symbol",true:{unit:!0},unknown:{},undefined:{unit:void 0},Array,Date},{prereducedAliases:!0}).export();T.intrinsic={...IQ};yQ=_9({integer:{domain:"number",divisor:1},lengthBoundable:["string",Array],key:["string","symbol"],nonNegativeIntegerString:{domain:"string",pattern:nZ}},{prereducedAliases:!0}).export();Object.assign(T.intrinsic,yQ);jY=_9({jsonPrimitive:["string","number",{unit:!0},{unit:!1},{unit:null}],jsonObject:{domain:"object",index:{signature:"string",value:"$jsonData"}},jsonData:["$jsonPrimitive","$jsonObject"]},{prereducedAliases:!0}).export(),I={...IQ,...yQ,...jY,emptyStructure:t2("structure",{},{prereduced:!0})};T.intrinsic={...I}});var kQ=()=>{};var gQ=()=>{};var vQ=()=>{};var _0=R(()=>{b();u2();m0();a8();Y9();W9();cZ();D2();$9();n8();XZ();UZ();e8();$Z();HZ();YZ();LZ();VZ();zZ();BZ();g1();wZ();AZ();jZ();CZ();Z2();EZ();IZ();oZ();a1();kQ();G0();m4();a();i0();gQ();s();vQ();n1();R1();V0();kZ();s2();s4();vZ();mZ();lZ()});var z9=(Z,X)=>new RegExp(Z,X);var xQ=R(()=>{Object.assign(z9,{as:z9})});var hQ=R(()=>{xQ()});var mQ=R(()=>{u2()});var pQ=(Z)=>typeof Z==="string"&&Z[0]==="d"&&(Z[1]==="'"||Z[1]==='"')&&Z[Z.length-1]===Z[1],uQ=(Z)=>Z.toString()!=="Invalid Date",lQ=(Z)=>Z.slice(2,-1),tZ=(Z)=>`'${Z}' could not be parsed by the Date constructor`,dQ=(Z,X)=>CY(Z,X),CY=(Z,X)=>{let Q=new Date(Z);if(uQ(Q))return Q;let U=J3(Z);if(U!==void 0){let J=new Date(U);if(uQ(J))return J}return X?M(X===!0?tZ(Z):X):void 0};var eZ=R(()=>{b()});var NY,H9=(Z,X)=>{let Q=Z.scanner.shiftUntilEscapable(EY[sQ[X]]);if(Z.scanner.lookahead==="")return Z.error(IY(Q,X));if(Z.scanner.shift(),X in iQ){let U;try{U=new RegExp(Q)}catch(J){M(String(J))}if(Z.root=Z.ctx.$.node("intersection",{domain:"string",pattern:Q},{prereduced:!0}),X==="x/")Z.root=Z.ctx.$.node("morph",{in:Z.root,morphs:(J)=>U.exec(J),declaredOut:NY})}else if(F0(X,ZX))Z.root=Z.ctx.$.node("unit",{unit:Q});else{let U=dQ(Q,tZ(Q));Z.root=Z.ctx.$.node("unit",{meta:Q,unit:U})}},ZX,cQ,bY,iQ,sQ,EY,fY,IY=(Z,X)=>`${X}${Z} requires a closing ${fY[sQ[X]]}`;var rQ=R(()=>{_0();b();eZ();NY=o({proto:"Array",sequence:"string",required:{key:"groups",value:["object",{unit:void 0}]}}),ZX={"'":1,'"':1},cQ={"/":1,"'":1,'"':1},bY={"d'":"'",'d"':'"',"'":"'",'"':'"'},iQ={"/":"/","x/":"/"},sQ={...bY,...iQ},EY={"'":(Z)=>Z.lookahead==="'",'"':(Z)=>Z.lookahead==='"',"/":(Z)=>Z.lookahead==="/"},fY={'"':"double-quote","'":"single-quote","/":"forward slash"}});var aQ=(Z)=>`Private type references should not include '#'. Use '${Z}' instead.`,F9="Optional definitions like 'string?' are only valid as properties in an object or tuple",B9="Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple";var T1,oQ=(Z,X)=>Z===">"?X[0]==="="?X[1]==="=":X.trimStart()===""||F0(X.trimStart()[0],T1):Z==="="?X[0]!=="=":Z===","||Z==="?";var e2=R(()=>{b();T1={"<":1,">":1,"=":1,"|":1,"&":1,")":1,"[":1,"%":1,",":1,":":1,"?":1,"#":1,...s1}});var nQ=(Z,X,Q)=>tQ(Z,X,Q,[]),tQ=(Z,X,Q,U)=>{let J=Q.parseUntilFinalizer();if(U.push(J.root),J.finalizer===">"){if(U.length!==X.params.length)return Q.error(XX(Z,X.names,U.map(($)=>$.expression)));return U}if(J.finalizer===",")return tQ(Z,X,Q,U);return J.error(s6(">"))},XX=(Z,X,Q)=>`${Z}<${X.join(", ")}> requires exactly ${X.length} args (got ${Q.length}${Q.length===0?"":`: ${Q.join(", ")}`})`;var eQ=R(()=>{b()});var M9=(Z)=>{let X=Z.scanner.shiftUntilLookahead(T1);if(X==="keyof")Z.addPrefix("keyof");else Z.root=kY(Z,X)},yY=(Z,X,Q)=>{if(Q.scanner.shiftUntilNonWhitespace(),Q.scanner.shift()!=="<")return Q.error(XX(Z,X.names,[]));let J=nQ(Z,X,Q);return X(...J)},kY=(Z,X)=>gY(Z,X)??vY(Z,X)??Z.error(X===""?Z.scanner.lookahead==="#"?aQ(Z.shiftedBy(1).scanner.shiftUntilLookahead(T1)):QX(Z):aZ(X)),gY=(Z,X)=>{if(Z.ctx.args?.[X]){let U=Z.ctx.args[X];if(typeof U!=="string")return U;return Z.ctx.$.node("alias",{reference:U},{prereduced:!0})}let Q=Z.ctx.$.maybeResolve(X);if(E(Q,"root"))return Q;if(Q===void 0)return;if(E(Q,"generic"))return yY(X,Q,Z);return M(`Unexpected resolution ${g(Q)}`)},vY=(Z,X)=>{let Q=$3(X);if(Q!==void 0)return Z.ctx.$.node("unit",{unit:Q});let U=Y3(X);if(U!==void 0)return Z.ctx.$.node("unit",{unit:U})},QX=(Z)=>{let X=Z.previousOperator();return X?UX(X,Z.scanner.unscanned):xY(Z.scanner.unscanned)},UX=(Z,X="")=>`Token '${Z}' requires a right operand${X?` before '${X}'`:""}`,xY=(Z)=>`Expected an expression${Z?` before '${Z}'`:""}`;var JX=R(()=>{_0();b();e2();eQ()});var $X=(Z)=>Z.scanner.lookahead===""?Z.error(QX(Z)):Z.scanner.lookahead==="("?Z.shiftedBy(1).reduceGroupOpen():Z.scanner.lookaheadIsIn(cQ)?H9(Z,Z.scanner.shift()):Z.scanner.lookaheadIsIn(s1)?$X(Z.shiftedBy(1)):Z.scanner.lookahead==="d"?Z.scanner.nextLookahead in ZX?H9(Z,`${Z.scanner.shift()}${Z.scanner.shift()}`):M9(Z):Z.scanner.lookahead==="x"?Z.scanner.nextLookahead==="/"?Z.shiftedBy(2)&&H9(Z,"x/"):M9(Z):M9(Z);var ZU=R(()=>{b();rQ();JX()});var XU,QU,Z4,UU=(Z,X)=>`Left bounds are only valid when paired with right bounds (try ...${X}${Z})`,R9=(Z)=>`Left-bounded expressions must specify their limits using < or <= (was ${Z})`,JU=(Z,X,Q,U)=>`An expression may have at most one left bound (parsed ${Z}${Z4[X]}, ${Q}${Z4[U]})`;var WX=R(()=>{XU={">":!0,">=":!0},QU={"<":!0,"<=":!0},Z4={"<":">",">":"<","<=":">=",">=":"<=","==":"=="}});var WU=(Z,X)=>{let Q=hY(Z,X);if(Z.root.hasKind("unit")){if(typeof Z.root.unit==="number"){Z.reduceLeftBound(Z.root.unit,Q),Z.unsetRoot();return}if(Z.root.unit instanceof Date){let U=`d'${Z.root.description??Z.root.unit.toISOString()}'`;Z.unsetRoot(),Z.reduceLeftBound(U,Q);return}}return uY(Z,Q)},YU,hY=(Z,X)=>Z.scanner.lookaheadIs("=")?`${X}${Z.scanner.shift()}`:X,$U=(Z,X,Q,U)=>{if(Q.extends(T.intrinsic.number)){if(typeof X!=="number")return M(YX(Z,X,U));return Z==="=="?["min","max"]:Z[0]===">"?["min"]:["max"]}if(Q.extends(T.intrinsic.lengthBoundable)){if(typeof X!=="number")return M(YX(Z,X,U));return Z==="=="?["exactLength"]:Z[0]===">"?["minLength"]:["maxLength"]}if(Q.extends(T.intrinsic.Date))return Z==="=="?["after","before"]:Z[0]===">"?["after"]:["before"];return M(y3(Q.expression))},mY=(Z)=>({rule:pQ(Z.limit)?lQ(Z.limit):Z.limit,exclusive:Z.comparator.length===1}),uY=(Z,X)=>{let Q=Z.unsetRoot(),U=Z.scanner.location;Z.parseOperand();let J=Z.unsetRoot(),$=Z.scanner.sliceChars(U,Z.scanner.location);if(Z.root=Q,!J.hasKind("unit")||typeof J.unit!=="number"&&!(J.unit instanceof Date))return Z.error(YX(X,$,"right"));let W=J.unit,Y=X.length===1,G=$U(X,typeof W==="number"?W:$,Q,"right");for(let q of G)Z.constrainRoot(q,X==="=="?{rule:W}:{rule:W,exclusive:Y});if(!Z.branches.leftBound)return;if(!F0(X,QU))return Z.error(R9(X));let L=$U(Z.branches.leftBound.comparator,Z.branches.leftBound.limit,Q,"left");Z.constrainRoot(L[0],mY(Z.branches.leftBound)),Z.branches.leftBound=null},YX=(Z,X,Q)=>`Comparator ${Q==="left"?Z4[Z]:Z} must be ${Q==="left"?"preceded":"followed"} by a corresponding literal (was ${X})`;var GU=R(()=>{_0();b();WX();eZ();YU={"<":1,">":1,"=":1}});var LU=(Z)=>{Z.scanner.shiftUntilNonWhitespace();let X=Z.scanner.shiftUntilLookahead(T1);Z.root=Z.root.brand(X)};var qU=R(()=>{e2()});var _U=(Z)=>{Z.scanner.shiftUntilNonWhitespace();let X=Z.scanner.shiftUntilLookahead(T1),Q=W3(X,{errorOnFail:VU(X)});if(Q===0)Z.error(VU(0));Z.root=Z.root.constrain("divisor",Q)},VU=(Z)=>`% operator must be followed by a non-zero integer literal (was ${Z})`;var zU=R(()=>{b();e2()});var GX=(Z)=>{let X=Z.scanner.shift();return X===""?Z.finalize(""):X==="["?Z.scanner.shift()==="]"?Z.setRoot(Z.root.array()):Z.error(pY):X==="|"?Z.scanner.lookahead===">"?Z.shiftedBy(1).pushRootToBranch("|>"):Z.pushRootToBranch(X):X==="&"?Z.pushRootToBranch(X):X===")"?Z.finalizeGroup():oQ(X,Z.scanner.unscanned)?Z.finalize(X):F0(X,YU)?WU(Z,X):X==="%"?_U(Z):X==="#"?LU(Z):(X in s1)?GX(Z):Z.error(O9(X))},O9=(Z,X="")=>`'${Z}' is not allowed here${X&&` (should be ${X})`}`,pY="Missing expected ']'";var LX=R(()=>{b();e2();GU();qU();zU()});var HU=(Z)=>{let X=Z.unsetRoot();Z.parseOperand();let Q=Z.unsetRoot();if(!Q.hasKind("unit"))return Z.error(lY(Q.expression));let U=Q.unit instanceof Date?()=>new Date(Q.unit):Q.unit;return[X,"=",U]},lY=(Z)=>`Default value '${Z}' must be a literal value`;var qX=(Z,X)=>{let Q=X.$.maybeResolveRoot(Z);if(Q)return Q;if(Z.endsWith("[]")){let $=X.$.maybeResolveRoot(Z.slice(0,-2));if($)return $.array()}let U=new X4(new v4(Z),X),J=dY(U);if(U.finalizer===">")M(O9(">"));return J},dY=(Z)=>{Z.parseOperand();let X=X6(Z).root;if(!X)return i(`Root was unexpectedly unset after parsing string '${Z.scanner.scanned}'`);if(Z.finalizer==="=")X=HU(Z);else if(Z.finalizer==="?")X=[X,"?"];if(Z.scanner.shiftUntilNonWhitespace(),Z.scanner.lookahead)M(O9(Z.scanner.lookahead));return X},X6=(Z)=>{while(Z.finalizer===void 0)cY(Z);return Z},cY=(Z)=>Z.hasRoot()?Z.parseOperator():Z.parseOperand();var T9=R(()=>{b();VX();LX()});class X4{root;branches={prefixes:[],leftBound:null,intersection:null,union:null,pipe:null};finalizer;groups=[];scanner;ctx;constructor(Z,X){this.scanner=Z,this.ctx=X}error(Z){return M(Z)}hasRoot(){return this.root!==void 0}setRoot(Z){this.root=Z}unsetRoot(){let Z=this.root;return this.root=void 0,Z}constrainRoot(...Z){this.root=this.root.constrain(Z[0],Z[1])}finalize(Z){if(this.groups.length)return this.error(s6(")"));this.finalizeBranches(),this.finalizer=Z}reduceLeftBound(Z,X){let Q=Z4[X];if(!F0(Q,XU))return this.error(R9(X));if(this.branches.leftBound)return this.error(JU(this.branches.leftBound.limit,this.branches.leftBound.comparator,Z,Q));this.branches.leftBound={comparator:Q,limit:Z}}finalizeBranches(){if(this.assertRangeUnset(),this.branches.pipe){this.pushRootToBranch("|>"),this.root=this.branches.pipe;return}if(this.branches.union){this.pushRootToBranch("|"),this.root=this.branches.union;return}if(this.branches.intersection){this.pushRootToBranch("&"),this.root=this.branches.intersection;return}this.applyPrefixes()}finalizeGroup(){this.finalizeBranches();let Z=this.groups.pop();if(!Z)return this.error(z3(")",this.scanner.unscanned));this.branches=Z}addPrefix(Z){this.branches.prefixes.push(Z)}applyPrefixes(){while(this.branches.prefixes.length){let Z=this.branches.prefixes.pop();this.root=Z==="keyof"?this.root.keyof():i(`Unexpected prefix '${Z}'`)}}pushRootToBranch(Z){this.assertRangeUnset(),this.applyPrefixes();let X=this.root;if(this.root=void 0,this.branches.intersection=this.branches.intersection?.rawAnd(X)??X,Z==="&")return;if(this.branches.union=this.branches.union?.rawOr(this.branches.intersection)??this.branches.intersection,this.branches.intersection=null,Z==="|")return;this.branches.pipe=this.branches.pipe?.rawPipeOnce(this.branches.union)??this.branches.union,this.branches.union=null}parseUntilFinalizer(){return X6(new X4(this.scanner,this.ctx))}parseOperator(){return GX(this)}parseOperand(){return $X(this)}assertRangeUnset(){if(this.branches.leftBound)return this.error(UU(this.branches.leftBound.limit,this.branches.leftBound.comparator))}reduceGroupOpen(){this.groups.push(this.branches),this.branches={prefixes:[],leftBound:null,union:null,intersection:null,pipe:null}}previousOperator(){return this.branches.leftBound?.comparator??this.branches.prefixes[this.branches.prefixes.length-1]??(this.branches.intersection?"&":this.branches.union?"|":this.branches.pipe?"|>":void 0)}shiftedBy(Z){return this.scanner.jumpForward(Z),this}}var VX=R(()=>{b();ZU();LX();T9();WX()});var iY="An empty string is not a valid generic parameter name",K9=(Z,X,Q)=>{Z.shiftUntilNonWhitespace();let U=Z.shiftUntilLookahead(T1);if(U===""){if(Z.lookahead===""&&X.length)return X;return M(iY)}return Z.shiftUntilNonWhitespace(),sY(Z,U,X,Q)},FU="extends ",sY=(Z,X,Q,U)=>{if(Z.shiftUntilNonWhitespace(),Z.unscanned.startsWith(FU))Z.jumpForward(FU.length);else{if(Z.lookahead===",")Z.shift();return Q.push(X),K9(Z,Q,U)}let J=X6(new X4(Z,U));return Q.push([X,J.root]),K9(Z,Q,U)};var _X=R(()=>{_0();b();VX();e2();T9()});var zX,BU,rY=`":" must be followed by exactly one return type e.g:
|
|
46
|
-
fn("string", ":", "number")(s => s.length)`;var MU=R(()=>{b();zX=class zX extends y0{constructor(Z){let X={$:Z,raw:Z.fn};super((...Q)=>{let U=Q.indexOf(":"),J=U===-1?Q.length-1:U-1,$=Q.slice(0,J+1),W=Z.parse($).assertHasKind("intersection"),Y=Z.intrinsic.unknown;if(U!==-1){if(U!==Q.length-2)return M(rY);Y=Z.parse(Q[U+1])}return(G)=>new BU(G,W,Y)},{attach:X})}};BU=class BU extends y0{raw;params;returns;expression;constructor(Z,X,Q){let U=`typed ${Z.name}`,J={[U]:(...W)=>{let Y=X.assert(W),G=Z(...Y);return Q.assert(G)}}[U];super(J);this.raw=Z,this.params=X,this.returns=Q;let $=X.expression;if($[0]==="["&&$[$.length-1]==="]")$=$.slice(1,-1);else if($.endsWith("[]"))$=`...${$}`;this.expression=`(${$}) => ${Q?.expression??"unknown"}`}}});var HX,Q6,RU=(Z)=>Z.throw(),aY="A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')",oY="At most one key matcher may be specified per expression";var OU=R(()=>{_0();b();HX=class HX extends y0{$;constructor(Z){super((...X)=>new Q6(Z)(...X),{bind:Z});this.$=Z}in(Z){return new Q6(this.$,Z===void 0?void 0:this.$.parse(Z))}at(Z,X){return new Q6(this.$).at(Z,X)}case(Z,X){return new Q6(this.$).case(Z,X)}};Q6=class Q6 extends y0{$;in;key;branches=[];constructor(Z,X){super((Q)=>this.caseEntries(Object.entries(Q).map(([U,J])=>U==="default"?[U,J]:[this.$.parse(U),J])));this.$=Z,this.in=X}at(Z,X){if(this.key)M(oY);if(this.branches.length)M(aY);return this.key=Z,X?this.match(X):this}case(Z,X){return this.caseEntry(this.$.parse(Z),X)}caseEntry(Z,X){let U=(this.key?this.$.parse({[this.key]:Z}):Z).pipe(X);return this.branches.push(U),this}match(Z){return this(Z)}strings(Z){return this.caseEntries(Object.entries(Z).map(([X,Q])=>X==="default"?[X,Q]:[this.$.node("unit",{unit:X}),Q]))}caseEntries(Z){for(let X=0;X<Z.length;X++){let[Q,U]=Z[X];if(Q==="default"){if(X!==Z.length-1)M("default may only be specified as the last key of a switch definition");return this.default(U)}if(typeof U!=="function")return M(`Value for case "${Q}" must be a function (was ${H0(U)})`);this.caseEntry(Q,U)}return this}default(Z){if(typeof Z==="function")this.case(I.unknown,Z);let X={branches:this.branches,ordered:!0};if(Z==="never"||Z==="assert")X.meta={onFail:RU};let Q=this.$.node("union",X);if(!this.in)return this.$.finalize(Q);let U=this.in.pipe(Q);if(Z==="never"||Z==="assert")U=U.configureReferences({onFail:RU},"self");return this.$.finalize(U)}}});var D9=(Z,X)=>{if(Z0(Z)){if(Z[1]==="=")return[X.$.parseOwnDefinitionFormat(Z[0],X),"=",Z[2]];if(Z[1]==="?")return[X.$.parseOwnDefinitionFormat(Z[0],X),"?"]}return w9(Z,X)},TU="Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }",KU="Only required keys may specify default values, e.g. { value: 'number = 0' }";var FX=R(()=>{b();BX()});var DU=(Z,X)=>{let Q,U={},J=B2(Z);for(let[W,Y]of J){let G=eY(W);if(G.kind==="spread"){if(!M1(U))return M(tY);let H=X.$.parseOwnDefinitionFormat(Y,X);if(H.equals(I.object))continue;if(!H.hasKind("intersection")||!H.basis?.equals(I.object))return M(ZG(H.expression));Q=H.structure;continue}if(G.kind==="undeclared"){if(Y!=="reject"&&Y!=="delete"&&Y!=="ignore")M(nY(Y));U.undeclared=Y;continue}let L=D9(Y,X),q=G;if(G.kind==="required"){if(!Z0(L))MX(U,"required",{key:G.normalized,value:L},X);else MX(U,"optional",L[1]==="="?{key:G.normalized,value:L[0],default:L[2]}:{key:G.normalized,value:L[0]},X);continue}if(Z0(L)){if(L[1]==="?")M(TU);if(L[1]==="=")M(KU)}if(G.kind==="optional"){MX(U,"optional",{key:G.normalized,value:L},X);continue}let V=X.$.parseOwnDefinitionFormat(q.normalized,X),_=q9(V,L,X.$);if(_.index)U.index=u(U.index,_.index);if(_.required)U.required=u(U.required,_.required)}let $=X.$.node("structure",U);return X.$.parseSchema({domain:"object",structure:Q?.merge($)??$})},MX=(Z,X,Q,U)=>{Z[X]=u(Z[X],U.$.node(X,Q))},nY=(Z)=>`Value of '+' key must be 'reject', 'delete', or 'ignore' (was ${g(Z)})`,tY="Spread operator may only be used as the first key in an object",eY=(Z)=>typeof Z==="symbol"?{kind:"required",normalized:Z}:Z[Z.length-1]==="?"?Z[Z.length-2]===O2?{kind:"required",normalized:`${Z.slice(0,-2)}?`}:{kind:"optional",normalized:Z.slice(0,-1)}:Z[0]==="["&&Z[Z.length-1]==="]"?{kind:"index",normalized:Z.slice(1,-1)}:Z[0]===O2&&Z[1]==="["&&Z[Z.length-1]==="]"?{kind:"required",normalized:Z.slice(1)}:Z==="..."?{kind:"spread"}:Z==="+"?{kind:"undeclared"}:{kind:"required",normalized:Z==="\\..."?"...":Z==="\\+"?"+":Z},ZG=(Z)=>`Spread operand must resolve to an object literal type (was ${Z})`;var wU=R(()=>{_0();b();FX()});var AU=(Z,X)=>qG(Z)?NU[Z[0]](Z,X):GG(Z)?CU[Z[1]](Z,X):null,XG=(Z,X)=>X.$.parseOwnDefinitionFormat(Z[1],X).keyof(),RX=(Z,X)=>{if(Z[2]===void 0)return M(UX(Z[1],""));let Q=X.$.parseOwnDefinitionFormat(Z[0],X),U=X.$.parseOwnDefinitionFormat(Z[2],X);if(Z[1]==="|")return X.$.node("union",{branches:[Q,U]});let J=Z[1]==="&"?v0(Q,U,X.$):l4(Q,U,X.$);if(J instanceof j)return J.throw();return J},QG=(Z,X)=>X.$.parseOwnDefinitionFormat(Z[0],X).array(),UG=(Z,X)=>{if(typeof Z[2]!=="function")return M(SU("=>",Z[2]));return X.$.parseOwnDefinitionFormat(Z[0],X).pipe(Z[2])},SU=(Z,X)=>`${Z===":"?"Narrow":"Morph"} expression requires a function following '${Z}' (was ${typeof X})`,JG=(Z,X)=>{if(typeof Z[2]!=="function")return M(SU(":",Z[2]));return X.$.parseOwnDefinitionFormat(Z[0],X).constrain("predicate",Z[2])},$G=(Z,X)=>X.$.parseOwnDefinitionFormat(Z[0],X).configure(Z[2],Z[3]),jU=(Z)=>Z,WG,YG,CU,GG=(Z)=>CU[Z[1]]!==void 0,LG=(Z)=>Z,NU,qG=(Z)=>NU[Z[0]]!==void 0,PU=(Z)=>`Expected a constructor following 'instanceof' operator (was ${Z})`;var bU=R(()=>{_0();b();JX();WG=jU({"[]":QG,"?":()=>M(F9)}),YG=jU({"|":RX,"&":RX,":":JG,"=>":UG,"|>":RX,"@":$G,"=":()=>M(B9)}),CU={...WG,...YG},NU=LG({keyof:XG,instanceof:(Z,X)=>{if(typeof Z[1]!=="function")return M(PU(N4(Z[1])));let Q=Z.slice(1).map((U)=>typeof U==="function"?X.$.node("proto",{proto:U}):M(PU(N4(U))));return Q.length===1?Q[0]:X.$.node("union",{branches:Q})},"===":(Z,X)=>X.$.units(Z.slice(1))})});var IU=(Z,X)=>{let Q=[{}],U=0;while(U<Z.length){let J=!1;if(Z[U]==="..."&&U<Z.length-1)J=!0,U++;let $=D9(Z[U],X),[W,Y,G]=!Z0($)?[$]:$;if(U++,J){if(!W.extends(T.intrinsic.Array))return M(zG(W.expression));Q=Q.flatMap((L)=>W.distribute((q)=>_G(a6(L),q)))}else Q=Q.map((L)=>{if(Y==="?")return yU(L,W);if(Y==="=")return VG(L,W,G);return OX(L,W)})}return X.$.parseSchema(Q.map((J)=>M1(J)?{proto:Array,exactLength:0}:{proto:Array,sequence:J}))},OX=(Z,X)=>{if(Z.defaultables||Z.optionals)return M(Z.variadic?hZ:HG);if(Z.variadic)Z.postfix=u(Z.postfix,X);else Z.prefix=u(Z.prefix,X);return Z},yU=(Z,X)=>{if(Z.variadic)return M(kU);return Z.optionals=u(Z.optionals,X),Z},VG=(Z,X,Q)=>{if(Z.variadic)return M(kU);if(Z.optionals)return M(FG);return Z.defaultables=u(Z.defaultables,[[X,Q]]),Z},EU=(Z,X)=>{if(Z.postfix)M(fU);if(Z.variadic){if(!Z.variadic.equals(X))M(fU)}else Z.variadic=X.internal;return Z},_G=(Z,X)=>{let Q=X.select({method:"find",kind:"sequence"});if(!Q)return EU(Z,T.intrinsic.unknown);if(Q.prefix)for(let U of Q.prefix)OX(Z,U);if(Q.optionals)for(let U of Q.optionals)yU(Z,U);if(Q.variadic)EU(Z,Q.variadic);if(Q.postfix)for(let U of Q.postfix)OX(Z,U);return Z},zG=(Z)=>`Spread element must be an array (was ${Z})`,fU="A tuple may have at most one variadic element",HG="A required element may not follow an optional element",kU="An optional element may not follow a variadic element",FG="A defaultable element may not follow an optional element without a default";var gU=R(()=>{_0();b();FX()});var BG,w9=(Z,X)=>{if(typeof Z==="string"){if(X.args&&Object.keys(X.args).some((U)=>Z.includes(U)))return qX(Z,X);let Q=BG[X.$.name]??={};return Q[Z]??=qX(Z,X)}return E0(Z,"object")?MG(Z,X):M(TX(H0(Z)))},MG=(Z,X)=>{let Q=C4(Z);switch(Q){case void 0:if(E(Z,"root"))return Z;if("~standard"in Z)return RG(Z,X);return DU(Z,X);case"Array":return OG(Z,X);case"RegExp":return X.$.node("intersection",{domain:"string",pattern:Z},{prereduced:!0});case"Function":{let U=i1(Z)?Z():Z;if(E(U,"root"))return U;return M(TX("Function"))}default:return M(TX(Q??g(Z)))}},RG=(Z,X)=>X.$.intrinsic.unknown.pipe((Q,U)=>{let J=Z["~standard"].validate(Q);if(!J.issues)return J.value;for(let{message:$,path:W}of J.issues)if(W)if(W.length)U.error({problem:t7($),relativePath:W.map((Y)=>typeof Y==="object"?Y.key:Y)});else U.error({message:$});else U.error({message:$})}),OG=(Z,X)=>AU(Z,X)??IU(Z,X),TX=(Z)=>`Type definitions must be strings or objects (was ${Z})`;var BX=R(()=>{_0();b();wU();T9();bU();gU();BG={}});var KX;var DX=R(()=>{_0();b();KX=class KX extends y0{constructor(Z){let X=Object.assign({errors:k0,hkt:D0,$:Z,raw:Z.parse,module:Z.constructor.module,scope:Z.constructor.scope,declare:Z.declare,define:Z.define,match:Z.match,generic:Z.generic,schema:Z.schema,keywords:Z.ambient,unit:Z.unit,enumerated:Z.enumerated,instanceOf:Z.instanceOf,valueOf:Z.valueOf,or:Z.or,and:Z.and,merge:Z.merge,pipe:Z.pipe,fn:Z.fn},Z.ambientAttachments);super((...Q)=>{if(Q.length===1)return Z.parse(Q[0]);if(Q.length===2&&typeof Q[0]==="string"&&Q[0][0]==="<"&&Q[0][Q[0].length-1]===">"){let U=Q[0].slice(1,-1),J=Z.parseGenericParams(U,{});return new e1(J,Q[1],Z,Z,null)}return Z.parse(Q)},{attach:X})}}});var Q4,P9,U6,m;var Y1=R(()=>{_0();b();MU();_X();OU();BX();DX();Q4=T;P9=class P9 extends V9{get ambientAttachments(){if(!Q4.typeAttachments)return;return this.cacheGetter("ambientAttachments",k(Q4.typeAttachments,(Z,X)=>[Z,this.bindReference(X)]))}preparseOwnAliasEntry(Z,X){let Q=Z.indexOf("<");if(Q===-1){if(E(X,"module")||E(X,"generic"))return[Z,X];let $=this.name==="ark"?Z:Z==="root"?this.name:`${this.name}.${Z}`,W=this.resolvedConfig.keywords?.[$];if(W)X=[X,"@",W];return[Z,X]}if(Z[Z.length-1]!==">")M("'>' must be the last character of a generic declaration in a scope");let U=Z.slice(0,Q),J=Z.slice(Q+1,-1);return[U,()=>{let $=this.parseGenericParams(J,{alias:U});return E3($,X,this)}]}parseGenericParams(Z,X){return K9(new v4(Z),[],this.createParseContext({...X,def:Z,prefix:"generic"}))}normalizeRootScopeValue(Z){if(i1(Z)&&!E(Z,"generic"))return Z();return Z}preparseOwnDefinitionFormat(Z,X){return{...X,def:Z,prefix:X.alias??"type"}}parseOwnDefinitionFormat(Z,X){if(!(X.alias&&(X.alias in this.aliases))&&!X.args)X.args={this:X.id};let U=w9(Z,X);if(Z0(U)){if(U[1]==="=")return M(B9);if(U[1]==="?")return M(F9)}return U}unit=(Z)=>this.units([Z]);valueOf=(Z)=>this.units(g7(Z));enumerated=(...Z)=>this.units(Z);instanceOf=(Z)=>this.node("proto",{proto:Z},{prereduced:!0});or=(...Z)=>this.schema(Z.map((X)=>this.parse(X)));and=(...Z)=>Z.reduce((X,Q)=>X.and(this.parse(Q)),this.intrinsic.unknown);merge=(...Z)=>Z.reduce((X,Q)=>X.merge(this.parse(Q)),this.intrinsic.object);pipe=(...Z)=>this.intrinsic.unknown.pipe(...Z);fn=new zX(this);match=new HX(this);declare=()=>({type:this.type});define(Z){return Z}type=new KX(this);static scope=(Z,X={})=>new P9(Z,X);static module=(Z,X={})=>this.scope(Z,X).export()};U6=Object.assign(P9.scope,{define:(Z)=>Z}),m=P9});var vU,TG,xU;var hU=R(()=>{_0();b();Y1();vU=class vU extends D0{description='merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'};TG=a0(["base",I.object],["props",I.object])((Z)=>Z.base.merge(Z.props),vU),xU=m.module({Key:I.key,Merge:TG})});var mU,KG,uU;var pU=R(()=>{_0();b();Y1();mU=class mU extends D0{};KG=a0("element")((Z)=>{let X=Z.element.exclude(I.Array),Q=X.array();return X.rawOr(Q).pipe(c1).distribute((U)=>U.assertHasKind("morph").declareOut(Q),o)},mU),uU=m.module({root:I.Array,readonly:"root",index:I.nonNegativeIntegerString,liftFrom:KG},{name:"Array"})});var wX,DG,lU,dU;var cU=R(()=>{_0();b();Y1();wX=o(["string",T2.FileConstructor]),DG=wX.rawOr(wX.array()),lU=o({meta:"an object representing parsed form data",domain:"object",index:{signature:"string",value:DG}}),dU=m.module({root:["instanceof",FormData],value:wX,parsed:lU,parse:o({in:FormData,morphs:(Z)=>{let X={};for(let[Q,U]of Z)if(Q in X){let J=X[Q];if(typeof J==="string"||J instanceof T2.FileConstructor)X[Q]=[J,U];else J.push(U)}else X[Q]=U;return X},declaredOut:lU})},{name:"FormData"})});var iU;var sU=R(()=>{Y1();iU=m.module({Int8:["instanceof",Int8Array],Uint8:["instanceof",Uint8Array],Uint8Clamped:["instanceof",Uint8ClampedArray],Int16:["instanceof",Int16Array],Uint16:["instanceof",Uint16Array],Int32:["instanceof",Int32Array],Uint32:["instanceof",Uint32Array],Float32:["instanceof",Float32Array],Float64:["instanceof",Float64Array],BigInt64:["instanceof",BigInt64Array],BigUint64:["instanceof",BigUint64Array]},{name:"TypedArray"})});var wG,rU;var aU=R(()=>{b();Y1();pU();cU();sU();wG={Boolean:1,Number:1,String:1},rU=m.module({...k({...N8,...E8},(Z,X)=>(Z in wG)?[]:[Z,["instanceof",X]]),Array:uU,TypedArray:iU,FormData:dU})});var PG,AG,A9;var PX=R(()=>{_0();Y1();PG=o({domain:{domain:"number",meta:"a number representing a Unix timestamp"},divisor:{rule:1,meta:"an integer representing a Unix timestamp"},min:{rule:-8640000000000000,meta:"a Unix timestamp after -8640000000000000"},max:{rule:8640000000000000,meta:"a Unix timestamp before 8640000000000000"},meta:"an integer representing a safe Unix timestamp"}),AG=o({domain:"number",divisor:1}),A9=m.module({root:I.number,integer:AG,epoch:PG,safe:o({domain:{domain:"number",numberAllowsNaN:!1},min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER}),NaN:["===",Number.NaN],Infinity:["===",Number.POSITIVE_INFINITY],NegativeInfinity:["===",Number.NEGATIVE_INFINITY]},{name:"number"})});var $0=(Z,X,Q)=>{let U={domain:"string",pattern:{rule:Z.source,flags:Z.flags,meta:X}};if(Q)U.meta={format:Q};return t2("intersection",U)},oU,G5,SG,jG,nU,CG,NG=(Z)=>{let X=Z.replace(/[ -]+/g,""),Q=0,U,J,$=!1;for(let W=X.length-1;W>=0;W--){if(U=X.substring(W,W+1),J=Number.parseInt(U,10),$)J*=2,Q+=J>=10?J%10+1:J;else Q+=J;$=!$}return!!(Q%10===0?X:!1)},bG,EG,fG,IG=(Z)=>!Number.isNaN(new Date(Z).valueOf()),tU,eU,yG,Z5,kG,gG,vG,X5="(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",X2,xG,z0="(?:[0-9a-fA-F]{1,4})",hG,mG,U4="a JSON string",L5=(Z)=>{if(!(Z instanceof SyntaxError))throw Z;return`must be ${U4} (${Z})`},uG,pG=(Z,X)=>{if(Z.length===0)return X.error({code:"predicate",expected:U4,actual:"empty"});try{return JSON.parse(Z)}catch(Q){return X.error({code:"predicate",expected:U4,problem:L5(Q)})}},lG,Q5,dG,q5,J6,S9,cG,iG,sG,rG,aG,U5,oG,J5="a regex pattern",nG,tG,eG,$5,ZL,W5,XL,QL=(Z)=>URL.canParse(Z),Y5,UL,JL,V5;var _5=R(()=>{_0();b();Y1();PX();oU=$0(f4,"a well-formed integer string"),G5=m.module({root:oU,parse:o({in:oU,morphs:(Z,X)=>{let Q=Number.parseInt(Z);return Number.isSafeInteger(Q)?Q:X.error("an integer in the range Number.MIN_SAFE_INTEGER to Number.MAX_SAFE_INTEGER")},declaredOut:I.integer})},{name:"string.integer"}),SG=$0(/^[\dA-Fa-f]+$/,"hex characters only"),jG=m.module({root:$0(/^(?:[\d+/A-Za-z]{4})*(?:[\d+/A-Za-z]{2}==|[\d+/A-Za-z]{3}=)?$/,"base64-encoded"),url:$0(/^(?:[\w-]{4})*(?:[\w-]{2}(?:==|%3D%3D)?|[\w-]{3}(?:=|%3D)?)?$/,"base64url-encoded")},{name:"string.base64"}),nU=$0(/^[A-Z].*$/,"capitalized"),CG=m.module({root:o({in:"string",morphs:(Z)=>Z.charAt(0).toUpperCase()+Z.slice(1),declaredOut:nU}),preformatted:nU},{name:"string.capitalize"}),bG=/^(?:4\d{12}(?:\d{3,6})?|5[1-5]\d{14}|(222[1-9]|22[3-9]\d|2[3-6]\d{2}|27[01]\d|2720)\d{12}|6(?:011|5\d\d)\d{12,15}|3[47]\d{13}|3(?:0[0-5]|[68]\d)\d{11}|(?:2131|1800|35\d{3})\d{11}|6[27]\d{14}|^(81\d{14,17}))$/,EG=o({domain:"string",pattern:{meta:"a credit card number",rule:bG.source},predicate:{meta:"a credit card number",predicate:NG}}),fG=/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/,tU=o({domain:"string",predicate:{meta:"a parsable date",predicate:IG}}).assertHasKind("intersection"),eU=G5.root.internal.narrow((Z,X)=>{let Q=Number.parseInt(Z),U=A9.epoch(Q);if(U instanceof k0)return X.errors.merge(U),!1;return!0}).configure({description:"an integer string representing a safe Unix timestamp"},"self").assertHasKind("intersection"),yG=m.module({root:eU,parse:o({in:eU,morphs:(Z)=>new Date(Z),declaredOut:I.Date})},{name:"string.date.epoch"}),Z5=$0(fG,"an ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) date").internal.assertHasKind("intersection"),kG=m.module({root:Z5,parse:o({in:Z5,morphs:(Z)=>new Date(Z),declaredOut:I.Date})},{name:"string.date.iso"}),gG=m.module({root:tU,parse:o({declaredIn:tU,in:"string",morphs:(Z,X)=>{let Q=new Date(Z);if(Number.isNaN(Q.valueOf()))return X.error("a parsable date");return Q},declaredOut:I.Date}),iso:kG,epoch:yG},{name:"string.date"}),vG=$0(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/,"an email address","email"),X2=`(${X5}[.]){3}${X5}`,xG=new RegExp(`^${X2}$`),hG=new RegExp(`^((?:${z0}:){7}(?:${z0}|:)|(?:${z0}:){6}(?:${X2}|:${z0}|:)|(?:${z0}:){5}(?::${X2}|(:${z0}){1,2}|:)|(?:${z0}:){4}(?:(:${z0}){0,1}:${X2}|(:${z0}){1,3}|:)|(?:${z0}:){3}(?:(:${z0}){0,2}:${X2}|(:${z0}){1,4}|:)|(?:${z0}:){2}(?:(:${z0}){0,3}:${X2}|(:${z0}){1,5}|:)|(?:${z0}:){1}(?:(:${z0}){0,4}:${X2}|(:${z0}){1,6}|:)|(?::((?::${z0}){0,5}:${X2}|(?::${z0}){1,7}|:)))(%[0-9a-zA-Z.]{1,})?$`),mG=m.module({root:["v4 | v6","@","an IP address"],v4:$0(xG,"an IPv4 address","ipv4"),v6:$0(hG,"an IPv6 address","ipv6")},{name:"string.ip"}),uG=o({meta:U4,domain:"string",predicate:{meta:U4,predicate:(Z,X)=>{try{return JSON.parse(Z),!0}catch(Q){return X.reject({code:"predicate",expected:U4,problem:L5(Q)})}}}}),lG=m.module({root:uG,parse:o({meta:"safe JSON string parser",in:"string",morphs:pG,declaredOut:I.jsonObject})},{name:"string.json"}),Q5=$0(/^[a-z]*$/,"only lowercase letters"),dG=m.module({root:o({in:"string",morphs:(Z)=>Z.toLowerCase(),declaredOut:Q5}),preformatted:Q5},{name:"string.lower"}),q5=["NFC","NFD","NFKC","NFKD"],J6=k(q5,(Z,X)=>[X,o({domain:"string",predicate:(Q)=>Q.normalize(X)===Q,meta:`${X}-normalized unicode`})]),S9=k(q5,(Z,X)=>[X,o({in:"string",morphs:(Q)=>Q.normalize(X),declaredOut:J6[X]})]),cG=m.module({root:S9.NFC,preformatted:J6.NFC},{name:"string.normalize.NFC"}),iG=m.module({root:S9.NFD,preformatted:J6.NFD},{name:"string.normalize.NFD"}),sG=m.module({root:S9.NFKC,preformatted:J6.NFKC},{name:"string.normalize.NFKC"}),rG=m.module({root:S9.NFKD,preformatted:J6.NFKD},{name:"string.normalize.NFKD"}),aG=m.module({root:"NFC",NFC:cG,NFD:iG,NFKC:sG,NFKD:rG},{name:"string.normalize"}),U5=$0(d6,"a well-formed numeric string"),oG=m.module({root:U5,parse:o({in:U5,morphs:(Z)=>Number.parseFloat(Z),declaredOut:I.number})},{name:"string.numeric"}),nG=o({domain:"string",predicate:{meta:J5,predicate:(Z,X)=>{try{return new RegExp(Z),!0}catch(Q){return X.reject({code:"predicate",expected:J5,problem:String(Q)})}}},meta:{format:"regex"}}),tG=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[A-Za-z-][\dA-Za-z-]*)(?:\.(?:0|[1-9]\d*|\d*[A-Za-z-][\dA-Za-z-]*))*))?(?:\+([\dA-Za-z-]+(?:\.[\dA-Za-z-]+)*))?$/,eG=$0(tG,"a semantic version (see https://semver.org/)"),$5=$0(/^\S.*\S$|^\S?$/,"trimmed"),ZL=m.module({root:o({in:"string",morphs:(Z)=>Z.trim(),declaredOut:$5}),preformatted:$5},{name:"string.trim"}),W5=$0(/^[A-Z]*$/,"only uppercase letters"),XL=m.module({root:o({in:"string",morphs:(Z)=>Z.toUpperCase(),declaredOut:W5}),preformatted:W5},{name:"string.upper"}),Y5=o({domain:"string",predicate:{meta:"a URL string",predicate:QL},meta:{format:"uri"}}),UL=m.module({root:Y5,parse:o({declaredIn:Y5,in:"string",morphs:(Z,X)=>{try{return new URL(Z)}catch{return X.error("a URL string")}},declaredOut:o(URL)})},{name:"string.url"}),JL=m.module({root:["versioned | nil | max","@",{description:"a UUID",format:"uuid"}],"#nil":"'00000000-0000-0000-0000-000000000000'","#max":"'ffffffff-ffff-ffff-ffff-ffffffffffff'","#versioned":/[\da-f]{8}-[\da-f]{4}-[1-8][\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}/i,v1:$0(/^[\da-f]{8}-[\da-f]{4}-1[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv1"),v2:$0(/^[\da-f]{8}-[\da-f]{4}-2[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv2"),v3:$0(/^[\da-f]{8}-[\da-f]{4}-3[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv3"),v4:$0(/^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv4"),v5:$0(/^[\da-f]{8}-[\da-f]{4}-5[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv5"),v6:$0(/^[\da-f]{8}-[\da-f]{4}-6[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv6"),v7:$0(/^[\da-f]{8}-[\da-f]{4}-7[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv7"),v8:$0(/^[\da-f]{8}-[\da-f]{4}-8[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv8")},{name:"string.uuid"}),V5=m.module({root:I.string,alpha:$0(/^[A-Za-z]*$/,"only letters"),alphanumeric:$0(/^[\dA-Za-z]*$/,"only letters and digits 0-9"),hex:SG,base64:jG,capitalize:CG,creditCard:EG,date:gG,digits:$0(/^\d*$/,"only digits 0-9"),email:vG,integer:G5,ip:mG,json:lG,lower:dG,normalize:aG,numeric:oG,regex:nG,semver:eG,trim:ZL,upper:XL,url:UL,uuid:JL},{name:"string"})});var z5,H5,$L,F5,B5,WL,M5,YL,R5,GL,O5,LL,T5,qL,K5,VL,D5,_L,w5;var P5=R(()=>{_0();b();Y1();z5=m.module({bigint:I.bigint,boolean:I.boolean,false:I.false,never:I.never,null:I.null,number:I.number,object:I.object,string:I.string,symbol:I.symbol,true:I.true,unknown:I.unknown,undefined:I.undefined}),H5=m.module({root:I.unknown,any:I.unknown},{name:"unknown"}),$L=m.module({root:I.jsonObject,stringify:t2("morph",{in:I.jsonObject,morphs:(Z)=>JSON.stringify(Z),declaredOut:I.string})},{name:"object.json"}),F5=m.module({root:I.object,json:$L},{name:"object"});B5=class B5 extends D0{description='instantiate an object from an index signature and corresponding value type like `Record("string", "number")`'};WL=a0(["K",I.key],"V")((Z)=>({domain:"object",index:{signature:Z.K,value:Z.V}}),B5);M5=class M5 extends D0{description='pick a set of properties from an object like `Pick(User, "name | age")`'};YL=a0(["T",I.object],["K",I.key])((Z)=>Z.T.pick(Z.K),M5);R5=class R5 extends D0{description='omit a set of properties from an object like `Omit(User, "age")`'};GL=a0(["T",I.object],["K",I.key])((Z)=>Z.T.omit(Z.K),R5);O5=class O5 extends D0{description="make all named properties of an object optional like `Partial(User)`"};LL=a0(["T",I.object])((Z)=>Z.T.partial(),O5);T5=class T5 extends D0{description="make all named properties of an object required like `Required(User)`"};qL=a0(["T",I.object])((Z)=>Z.T.required(),T5);K5=class K5 extends D0{description='exclude branches of a union like `Exclude("boolean", "true")`'};VL=a0("T","U")((Z)=>Z.T.exclude(Z.U),K5);D5=class D5 extends D0{description='extract branches of a union like `Extract("0 | false | 1", "number")`'};_L=a0("T","U")((Z)=>Z.T.extract(Z.U),D5),w5=m.module({Exclude:VL,Extract:_L,Omit:GL,Partial:LL,Pick:YL,Record:WL,Required:qL})});var v1,B0,G1,zL,HL,FL,qK,BL,ML;var A5=R(()=>{Y1();hU();aU();PX();_5();P5();v1=U6({...z5,...w5,...rU,...xU,string:V5,number:A9,object:F5,unknown:H5},{prereducedAliases:!0,name:"ark"}),B0=v1.export();Object.assign(Q4.ambient,B0);Q4.typeAttachments={string:B0.string.root,number:B0.number.root,bigint:B0.bigint,boolean:B0.boolean,symbol:B0.symbol,undefined:B0.undefined,null:B0.null,object:B0.object.root,unknown:B0.unknown.root,false:B0.false,true:B0.true,never:B0.never,arrayIndex:B0.Array.index,Key:B0.Key,Record:B0.Record,Array:B0.Array.root,Date:B0.Date};G1=Object.assign(v1.type,Q4.typeAttachments),zL=v1.match,HL=v1.fn,FL=v1.generic,qK=v1.schema,BL=v1.define,ML=v1.declare});var S5=R(()=>{_0()});var AX=R(()=>{_0();b();hQ();_X();A5();S5();Y1();DX();mQ()});class C0{static evaluate(Z,X){if(Z===null||Z===void 0)return console.error(`Error evaluating expression: ${Z}`),null;try{if(Z.includes("${")){let Q=this.interpolate(Z,X);if(!isNaN(Number(Q))&&Q.trim()!=="")return Number(Q);return Q}return this.evaluateExpression(Z,X)}catch(Q){return console.error(`Error evaluating expression: ${Z}`,Q),null}}static interpolate(Z,X){return Z.replace(j9.TEMPLATE_INTERPOLATION,(Q,U)=>{try{let J=this.evaluateExpression(U,X);if(J===void 0||J===null)return"undefined";return String(J)}catch(J){return console.error(`Error in interpolation: ${Q}`,J),Q}})}static evaluateMathExpression(Z){try{return Function("Math",`return ${Z}`)(Math)}catch(X){throw Error(`Error evaluating mathematical expression: ${Z}`)}}static evaluateExpression(Z,X){if(j9.NESTED_PROPERTY_ACCESS.test(Z))return this.getNestedValue(Z,X);if(j9.SINGLE_LEVEL_ACCESS.test(Z))return this.getNestedValue(Z,X);try{return Function("context","with(context) { return "+Z+" }")(X)}catch(Q){return console.error(`ERROR evaluating expression '${Z}':`,Q),Z}}static getNestedValue(Z,X){let Q=Z.split("."),U=X;for(let J of Q){if(U===null||U===void 0||typeof U!=="object"||!(J in U))return;U=U[J]}return U}static findVariableInContext(Z,X){let Q=this.getNestedValue(Z,X);if(Q!==void 0)return Q;for(let U of j5){let J=`${U}.${Z}`,$=this.getNestedValue(J,X);if($!==void 0)return $}return}static evaluateMath(Z,X){let Q=Z;Q=Q.replace(/\b(data|vars|env|state|request|computed)(\.[a-zA-Z_][a-zA-Z0-9_]*)+/g,(U)=>{let J=this.getNestedValue(U,X);if(J!==void 0)return typeof J==="string"?`"${J}"`:String(J);return U}),Q=Q.replace(j9.WORD_BOUNDARY,(U)=>{if(OL.includes(U))return U;if(j5.has(U))return U;let J=this.findVariableInContext(U,X);if(J!==void 0)return typeof J==="string"?`"${J}"`:String(J);return U});try{return this.evaluateMathExpression(Q)}catch(U){return console.error(`Error in mathematical evaluation: ${Z}`,U),NaN}}}var RL,j5,o0,OL,j9;var $6=R(()=>{RL={DATA:"data",VARS:"vars",REQUEST:"request",COMPUTED:"computed",ENV:"env",EVENT:"event",TIMESTAMP:"timestamp"},j5=new Set(Object.values(RL)),o0={RANDOM:"random",FLOOR:"floor",CEIL:"ceil",ROUND:"round",SQRT:"sqrt",ABS:"abs",POW:"pow",MIN:"min",MAX:"max",SIN:"sin",COS:"cos",TAN:"tan"},OL=[o0.RANDOM,o0.FLOOR,o0.CEIL,o0.ROUND,o0.SQRT,o0.ABS,o0.POW,o0.MIN,o0.MAX,o0.SIN,o0.COS,o0.TAN],j9={TEMPLATE_INTERPOLATION:/\$\{([^}]+)\}/g,NESTED_PROPERTY_ACCESS:/^(data|vars|request|computed|env|state)(\.[a-zA-Z0-9_]+)+$/,SINGLE_LEVEL_ACCESS:/^(vars|env|state)(\.[a-zA-Z0-9_]+)$/,WORD_BOUNDARY:/\b[a-zA-Z_][a-zA-Z0-9_]*\b/g}});var SX={};h6(SX,{BuiltInAction:()=>P2,ActionRegistry:()=>W6});class W6{static instance;actions=new Map;constructor(Z=!0){if(Z)this.registerDefaults()}static getInstance(Z=!0){if(!this.instance)this.instance=new W6(Z);return this.instance}register(Z,X){let Q=Z.toUpperCase();if(typeof X==="function")this.actions.set(Q,{handler:X});else this.actions.set(Q,X)}get(Z){return this.actions.get(Z.toUpperCase())?.handler}getDefinition(Z){return this.actions.get(Z.toUpperCase())}getDefinitions(){let Z={};return this.actions.forEach((X,Q)=>{Z[Q]=X}),Z}get Handlers(){let Z=new Map;return this.actions.forEach((X,Q)=>{Z.set(Q,X.handler)}),Z}registerDefaults(){this.register(P2.LOG,{description:"Logs a message to the console with string interpolation support",params:G1({"message?":"string","content?":"string"}),returns:G1({message:"string"}),handler:(Z,X)=>{let Q=Z.params?.message||Z.params?.content||"Log Trigger",U=typeof Q==="string"?C0.interpolate(Q,X):String(Q);return console.log(`[TriggerLog] ${U}`),{message:U}}}),this.register(P2.MATH,{description:"Evaluates a mathematical expression or performs string concatenation",params:G1({expression:"string"}),returns:G1("number | string"),handler:(Z,X)=>{let Q=String(Z.params?.expression||"0");return C0.evaluate(Q,X)}}),this.register(P2.FORWARD,C5),this.register(P2.FETCH,C5)}}var P2,TL=async(Z,X)=>{let Q=Z.params?.url||"",U=typeof Q==="string"?C0.interpolate(Q,X):String(Q),J=String(Z.params?.method||"POST").toUpperCase();if(Z.params?.query&&typeof Z.params.query==="object"){let L=new URLSearchParams;for(let[V,_]of Object.entries(Z.params.query))if(_!==void 0&&_!==null){let H=typeof _==="string"?C0.interpolate(_,X):typeof _==="object"?JSON.stringify(_):String(_);L.append(V,H)}let q=L.toString();if(q)U+=(U.includes("?")?"&":"?")+q}let W=["POST","PUT","PATCH"].includes(J),{bodyContent:Y,defaultContentType:G}=(()=>{if(!W||Z.params?.body==null)return{bodyContent:W?JSON.stringify(X.data):void 0,defaultContentType:"application/json"};let L=Z.params.body;if(typeof L==="string"){let q=C0.interpolate(L,X),V=q.trimStart().startsWith("{")||q.trimStart().startsWith("[");return{bodyContent:q,defaultContentType:V?"application/json":"text/plain"}}return{bodyContent:JSON.stringify(L),defaultContentType:"application/json"}})();try{let L=await fetch(U,{method:J,headers:{"Content-Type":G,...typeof Z.params?.headers==="object"&&Z.params.headers!==null&&!Array.isArray(Z.params.headers)?Z.params.headers:{}},...W&&Y!==void 0?{body:Y}:{}});return{url:U,method:J,status:L.status,headers:(()=>{let q={};return L.headers.forEach((V,_)=>q[_]=V),q})(),body:await L.text()}}catch(L){return{url:U,method:J,error:String(L)}}},C5;var J4=R(()=>{AX();$6();P2={LOG:"LOG",MATH:"MATH",FORWARD:"FORWARD",FETCH:"FETCH",EMIT_EVENT:"EMIT_EVENT"},C5={description:"Forwards the current event data to a remote URL via HTTP",params:G1({url:"string","method?":"'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'","query?":"Record<string, unknown>","headers?":"Record<string, string>","body?":"string | Record<string, unknown>"}),returns:G1({url:"string",method:"string",status:"number",headers:"Record<string, string>",body:"string"}).or(G1({url:"string",method:"string",error:"string"})),handler:TL}});var eJ={};h6(eJ,{sep:()=>oJ,resolve:()=>T8,relative:()=>lJ,posix:()=>tJ,parse:()=>aJ,normalize:()=>M7,join:()=>pJ,isAbsolute:()=>uJ,format:()=>rJ,extname:()=>sJ,dirname:()=>cJ,delimiter:()=>nJ,default:()=>Hq,basename:()=>iJ,_makeLong:()=>dJ});function N1(Z){if(typeof Z!=="string")throw TypeError("Path must be a string. Received "+JSON.stringify(Z))}function mJ(Z,X){var Q="",U=0,J=-1,$=0,W;for(var Y=0;Y<=Z.length;++Y){if(Y<Z.length)W=Z.charCodeAt(Y);else if(W===47)break;else W=47;if(W===47){if(J===Y-1||$===1);else if(J!==Y-1&&$===2){if(Q.length<2||U!==2||Q.charCodeAt(Q.length-1)!==46||Q.charCodeAt(Q.length-2)!==46){if(Q.length>2){var G=Q.lastIndexOf("/");if(G!==Q.length-1){if(G===-1)Q="",U=0;else Q=Q.slice(0,G),U=Q.length-1-Q.lastIndexOf("/");J=Y,$=0;continue}}else if(Q.length===2||Q.length===1){Q="",U=0,J=Y,$=0;continue}}if(X){if(Q.length>0)Q+="/..";else Q="..";U=2}}else{if(Q.length>0)Q+="/"+Z.slice(J+1,Y);else Q=Z.slice(J+1,Y);U=Y-J-1}J=Y,$=0}else if(W===46&&$!==-1)++$;else $=-1}return Q}function zq(Z,X){var Q=X.dir||X.root,U=X.base||(X.name||"")+(X.ext||"");if(!Q)return U;if(Q===X.root)return Q+U;return Q+Z+U}function T8(){var Z="",X=!1,Q;for(var U=arguments.length-1;U>=-1&&!X;U--){var J;if(U>=0)J=arguments[U];else{if(Q===void 0)Q=process.cwd();J=Q}if(N1(J),J.length===0)continue;Z=J+"/"+Z,X=J.charCodeAt(0)===47}if(Z=mJ(Z,!X),X)if(Z.length>0)return"/"+Z;else return"/";else if(Z.length>0)return Z;else return"."}function M7(Z){if(N1(Z),Z.length===0)return".";var X=Z.charCodeAt(0)===47,Q=Z.charCodeAt(Z.length-1)===47;if(Z=mJ(Z,!X),Z.length===0&&!X)Z=".";if(Z.length>0&&Q)Z+="/";if(X)return"/"+Z;return Z}function uJ(Z){return N1(Z),Z.length>0&&Z.charCodeAt(0)===47}function pJ(){if(arguments.length===0)return".";var Z;for(var X=0;X<arguments.length;++X){var Q=arguments[X];if(N1(Q),Q.length>0)if(Z===void 0)Z=Q;else Z+="/"+Q}if(Z===void 0)return".";return M7(Z)}function lJ(Z,X){if(N1(Z),N1(X),Z===X)return"";if(Z=T8(Z),X=T8(X),Z===X)return"";var Q=1;for(;Q<Z.length;++Q)if(Z.charCodeAt(Q)!==47)break;var U=Z.length,J=U-Q,$=1;for(;$<X.length;++$)if(X.charCodeAt($)!==47)break;var W=X.length,Y=W-$,G=J<Y?J:Y,L=-1,q=0;for(;q<=G;++q){if(q===G){if(Y>G){if(X.charCodeAt($+q)===47)return X.slice($+q+1);else if(q===0)return X.slice($+q)}else if(J>G){if(Z.charCodeAt(Q+q)===47)L=q;else if(q===0)L=0}break}var V=Z.charCodeAt(Q+q),_=X.charCodeAt($+q);if(V!==_)break;else if(V===47)L=q}var H="";for(q=Q+L+1;q<=U;++q)if(q===U||Z.charCodeAt(q)===47)if(H.length===0)H+="..";else H+="/..";if(H.length>0)return H+X.slice($+L);else{if($+=L,X.charCodeAt($)===47)++$;return X.slice($)}}function dJ(Z){return Z}function cJ(Z){if(N1(Z),Z.length===0)return".";var X=Z.charCodeAt(0),Q=X===47,U=-1,J=!0;for(var $=Z.length-1;$>=1;--$)if(X=Z.charCodeAt($),X===47){if(!J){U=$;break}}else J=!1;if(U===-1)return Q?"/":".";if(Q&&U===1)return"//";return Z.slice(0,U)}function iJ(Z,X){if(X!==void 0&&typeof X!=="string")throw TypeError('"ext" argument must be a string');N1(Z);var Q=0,U=-1,J=!0,$;if(X!==void 0&&X.length>0&&X.length<=Z.length){if(X.length===Z.length&&X===Z)return"";var W=X.length-1,Y=-1;for($=Z.length-1;$>=0;--$){var G=Z.charCodeAt($);if(G===47){if(!J){Q=$+1;break}}else{if(Y===-1)J=!1,Y=$+1;if(W>=0)if(G===X.charCodeAt(W)){if(--W===-1)U=$}else W=-1,U=Y}}if(Q===U)U=Y;else if(U===-1)U=Z.length;return Z.slice(Q,U)}else{for($=Z.length-1;$>=0;--$)if(Z.charCodeAt($)===47){if(!J){Q=$+1;break}}else if(U===-1)J=!1,U=$+1;if(U===-1)return"";return Z.slice(Q,U)}}function sJ(Z){N1(Z);var X=-1,Q=0,U=-1,J=!0,$=0;for(var W=Z.length-1;W>=0;--W){var Y=Z.charCodeAt(W);if(Y===47){if(!J){Q=W+1;break}continue}if(U===-1)J=!1,U=W+1;if(Y===46){if(X===-1)X=W;else if($!==1)$=1}else if(X!==-1)$=-1}if(X===-1||U===-1||$===0||$===1&&X===U-1&&X===Q+1)return"";return Z.slice(X,U)}function rJ(Z){if(Z===null||typeof Z!=="object")throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof Z);return zq("/",Z)}function aJ(Z){N1(Z);var X={root:"",dir:"",base:"",ext:"",name:""};if(Z.length===0)return X;var Q=Z.charCodeAt(0),U=Q===47,J;if(U)X.root="/",J=1;else J=0;var $=-1,W=0,Y=-1,G=!0,L=Z.length-1,q=0;for(;L>=J;--L){if(Q=Z.charCodeAt(L),Q===47){if(!G){W=L+1;break}continue}if(Y===-1)G=!1,Y=L+1;if(Q===46){if($===-1)$=L;else if(q!==1)q=1}else if($!==-1)q=-1}if($===-1||Y===-1||q===0||q===1&&$===Y-1&&$===W+1){if(Y!==-1)if(W===0&&U)X.base=X.name=Z.slice(1,Y);else X.base=X.name=Z.slice(W,Y)}else{if(W===0&&U)X.name=Z.slice(1,$),X.base=Z.slice(1,Y);else X.name=Z.slice(W,$),X.base=Z.slice(W,Y);X.ext=Z.slice($,Y)}if(W>0)X.dir=Z.slice(0,W-1);else if(U)X.dir="/";return X}var oJ="/",nJ=":",tJ,Hq;var Z$=R(()=>{tJ=((Z)=>(Z.posix=Z,Z))({resolve:T8,normalize:M7,isAbsolute:uJ,join:pJ,relative:lJ,_makeLong:dJ,dirname:cJ,basename:iJ,extname:sJ,format:rJ,parse:aJ,sep:oJ,delimiter:nJ,win32:null,posix:null}),Hq=tJ});J4();var Y6;(($)=>{$.ENGINE_START="engine:start";$.ENGINE_DONE="engine:done";$.RULE_MATCH="rule:match";$.ACTION_SUCCESS="action:success";$.ACTION_ERROR="action:error"})(Y6||={});var C9;((U)=>{U.RULE_ADDED="rule:added";U.RULE_REMOVED="rule:removed";U.RULE_UPDATED="rule:updated"})(C9||={});var N9=C9;class jX{static instance;handlers=new Map;constructor(){}static getInstance(){if(!this.instance)this.instance=new jX;return this.instance}on(Z,X){let Q=Z;if(!this.handlers.has(Q))this.handlers.set(Q,new Set);return this.handlers.get(Q).add(X),()=>this.off(Q,X)}off(Z,X){let Q=Z,U=this.handlers.get(Q);if(U)U.delete(X)}emit(Z,X){let Q=Z,U=this.handlers.get(Q);if(U)U.forEach((J)=>{try{J(X)}catch($){console.error(`Error in event handler for ${Q}:`,$)}})}}var n0=jX.getInstance();var KL=P2,DL=Y6,wL=C9,CX={IF:"if",THEN:"then",ELSE:"else",BREAK:"break",CONTINUE:"continue",MODE:"mode",ACTIONS:"actions",DELAY:"delay",PROBABILITY:"probability",PARAMS:"params",TYPE:"type",ON:"on"},NX={UNKNOWN_ACTION:"Unknown or generic action type",MISSING_ACTION_TYPE:"Action has no type and no control flow properties",PROBABILITY_FAILED:"probability check failed",BUN_REQUIRED:"Bun is required for 'execute' action",MISSING_KEY:"Missing key for state operation"},b9={RULE_ENGINE_EVALUATING:(Z,X)=>`[RuleEngine] Evaluating context with ${Z} rules for event: ${X}`,TRIGGER_ENGINE_EVALUATING:(Z,X)=>`[TriggerEngine] Evaluating context with ${Z} rules for event: ${X}`},IK={Actions:KL,Events:DL,RuleEvents:wL,ControlFlow:CX,ErrorMessages:NX,DebugMessages:b9};$6();class PL{queue=[];engine;config;timer=null;isProcessing=!1;constructor(Z,X={maxBatchSize:10,flushIntervalMs:100}){this.engine=Z,this.config=X}push(Z){if(this.queue.push(Z),this.queue.length>=this.config.maxBatchSize)this.processQueue();else if(!this.timer)this.timer=setTimeout(()=>this.processQueue(),this.config.flushIntervalMs)}async processQueue(){if(this.isProcessing)return;if(this.isProcessing=!0,this.timer)clearTimeout(this.timer),this.timer=null;let Z=this.queue.splice(0,this.config.maxBatchSize);if(Z.length===0){this.isProcessing=!1;return}console.debug(`[EventQueue] Processing batch of ${Z.length} events.`);for(let X of Z)try{await this.engine.evaluateContext(X)}catch(Q){console.error(`[EventQueue] Error processing event ${X.event}:`,Q)}if(this.queue.length>0)setTimeout(()=>this.processQueue(),0);this.isProcessing=!1}getQueueLength(){return this.queue.length}}class AL{store=new Map;async loadState(){return new Map(this.store)}async saveState(Z,X){this.store.set(Z,X)}async deleteState(Z){this.store.delete(Z)}async clearState(){this.store.clear()}}class N5{keyPrefix;cache=new Map;isLoaded=!1;pendingWrite=null;writeDelay;dirty=!1;constructor(Z="trigger_system:",X){this.keyPrefix=Z,this.writeDelay=X?.writeDelay??0}flush(){this.dirty=!0,this.persist()}getCache(){return this.ensureLoaded(),new Map(this.cache)}isDirty(){return this.dirty}isAvailable(){return typeof window<"u"&&typeof window.localStorage<"u"}ensureLoaded(){if(this.isLoaded)return;if(this.isAvailable())try{let Z=window.localStorage.getItem(this.keyPrefix+"state");if(Z){let X=JSON.parse(Z);this.cache=new Map(Object.entries(X))}}catch(Z){console.error("[BrowserPersistence] Failed to load from localStorage:",Z)}this.isLoaded=!0}schedulePersist(){if(this.writeDelay<=0){this.persist();return}if(this.pendingWrite)clearTimeout(this.pendingWrite);this.dirty=!0,this.pendingWrite=setTimeout(()=>{this.persist(),this.pendingWrite=null},this.writeDelay)}persist(){if(this.pendingWrite)clearTimeout(this.pendingWrite),this.pendingWrite=null;if(this.isAvailable())try{let Z=Object.fromEntries(this.cache);window.localStorage.setItem(this.keyPrefix+"state",JSON.stringify(Z)),this.dirty=!1}catch(Z){console.error("[BrowserPersistence] Failed to save to localStorage:",Z)}}async loadState(){return this.ensureLoaded(),new Map(this.cache)}async saveState(Z,X){this.ensureLoaded(),this.cache.set(Z,X),this.schedulePersist()}async deleteState(Z){this.ensureLoaded(),this.cache.delete(Z),this.schedulePersist()}async clearState(){this.cache.clear(),this.schedulePersist()}}class bX{static getNestedValue(Z,X){let Q=Z.split("."),U=X;for(let J of Q){if(U===null||U===void 0)return;if(typeof U==="object"&&U!==null&&J in U)U=U[J];else return}return U}static interpolate(Z,X){if(typeof Z!=="string")return Z;return Z.replace(/\$\{([^}]+)\}/g,(Q,U)=>{let J=this.getNestedValue(U,X);if(J!==void 0)return String(J);return Q})}static compare(Z,X,Q){let U=($)=>{if($ instanceof Date)return $.getTime();if(typeof $==="number")return $;if(typeof $==="string"){let W=new Date($);return isNaN(W.getTime())?0:W.getTime()}return 0},J=($)=>{if(typeof $==="number")return $;if($===null||$===void 0||$==="")return null;let W=Number($);return isNaN(W)?null:W};switch(X){case"EQ":case"==":return Z==Q;case"NEQ":case"!=":return Z!=Q;case"GT":case">":{let $=J(Z),W=J(Q);return $!==null&&W!==null&&$>W}case"GTE":case">=":{let $=J(Z),W=J(Q);return $!==null&&W!==null&&$>=W}case"LT":case"<":{let $=J(Z),W=J(Q);return $!==null&&W!==null&&$<W}case"LTE":case"<=":{let $=J(Z),W=J(Q);return $!==null&&W!==null&&$<=W}case"IN":return Array.isArray(Q)&&Q.some(($)=>$===Z);case"NOT_IN":return Array.isArray(Q)&&!Q.some(($)=>$===Z);case"CONTAINS":if(Array.isArray(Q))return Q.some(($)=>String(Z).includes(String($)));if(Array.isArray(Z)||typeof Z==="string")return Z.includes(Q);return!1;case"NOT_CONTAINS":if(Array.isArray(Q))return!Q.some(($)=>String(Z).includes(String($)));if(Array.isArray(Z)||typeof Z==="string")return!Z.includes(Q);return!1;case"STARTS_WITH":if(Array.isArray(Q))return Q.some(($)=>String(Z).startsWith(String($)));if(typeof Z==="string"&&typeof Q==="string")return Z.startsWith(Q);return!1;case"ENDS_WITH":if(Array.isArray(Q))return Q.some(($)=>String(Z).endsWith(String($)));if(typeof Z==="string"&&typeof Q==="string")return Z.endsWith(Q);return!1;case"IS_EMPTY":{let $=!1;if(typeof Z==="string")$=Z==="";else if(Array.isArray(Z))$=Z.length===0;else if(Z===null||Z===void 0)$=!0;else if(typeof Z==="object")$=Object.keys(Z).length===0;return Q===!1?!$:$}case"IS_NULL":case"IS_NONE":{let $=Z===null||Z===void 0;return Q===!1?!$:$}case"HAS_KEY":if(typeof Z==="object"&&Z!==null&&typeof Q==="string")return Q in Z;return!1;case"MATCHES":if(typeof Q==="string")return new RegExp(Q).test(String(Z));return!1;case"RANGE":if(Array.isArray(Q)&&Q.length===2){let $=J(Z),W=J(Q[0]),Y=J(Q[1]);return $!==null&&W!==null&&Y!==null&&$>=W&&$<=Y}return!1;case"SINCE":case"AFTER":return U(Z)>=U(Q);case"BEFORE":case"UNTIL":return U(Z)<U(Q);default:return console.warn(`Unknown operator: ${X}`),!1}}}$6();class Q2{static evaluateConditions(Z,X){if(!Z)return!0;if(Array.isArray(Z))return Z.every((Q)=>this.evaluateRecursiveCondition(Q,X));return this.evaluateRecursiveCondition(Z,X)}static evaluateRecursiveCondition(Z,X){if("conditions"in Z&&"operator"in Z){let U=Z;if(U.operator==="OR")return U.conditions.some((J)=>this.evaluateRecursiveCondition(J,X));else return U.conditions.every((J)=>this.evaluateRecursiveCondition(J,X))}let Q=Z;try{let U=C0.evaluate(Q.field,X),J=Q.value;if(typeof J==="string"&&J.includes("${"))J=C0.interpolate(J,X);return bX.compare(U,Q.operator,J)}catch(U){return console.error("Error evaluating condition:",Q,U),!1}}static async processSingleActionBase(Z,X,Q){let U={...Z};if(!U.type&&!U.run&&!U.break&&!U.continue){let W=Object.values(CX),Y=Object.keys(U).filter((G)=>!W.includes(G));for(let G of Y)if(Q?!!Q.get(G):!0){U.type=G;let q=U[G];if(typeof q==="string")U.params={...U.params,message:q,content:q};else if(typeof q==="object"&&q!==null)U.params={...U.params,...q};break}}if(U.break)return{shouldExecute:!1,executedAction:{type:"BREAK",result:"Break execution",timestamp:Date.now()},normalizedAction:U};if(U.continue)return{shouldExecute:!1,executedAction:{type:"CONTINUE",result:"Continue execution",timestamp:Date.now()},normalizedAction:U};let J=U.probability;if(typeof J==="string"){let W=C0.evaluate(J,X);J=typeof W==="number"?W:Number(W)}if(J!==void 0&&Math.random()>J)return{shouldExecute:!1,executedAction:{type:U.type||"skipped",result:{skipped:"probability check failed"},timestamp:Date.now()},normalizedAction:U};let $=U.delay;if(typeof $==="string"){let W=C0.evaluate($,X);$=typeof W==="number"?W:Number(W)}if($&&$>0)await new Promise((W)=>setTimeout(W,$));return U.params=this.interpolateParams(U.params||{},X),{shouldExecute:!0,normalizedAction:U}}static selectActions(Z){let X=[],Q="ALL";if(Array.isArray(Z))X=Z;else if(Z&&typeof Z==="object"&&"mode"in Z&&"actions"in Z){let U=Z;Q=U.mode,X=U.actions}else X=[Z];if(Q==="EITHER"&&X.length>0){let U=(Y)=>("probability"in Y)?Y.probability:1,J=X.reduce((Y,G)=>Y+U(G),0),$=Math.random()*J;for(let Y of X){let G=U(Y);if($-=G,$<=0)return{actionsToExecute:[Y],mode:Q}}let W=X[X.length-1];return{actionsToExecute:W?[W]:[],mode:Q}}return{actionsToExecute:X,mode:Q}}static interpolateParams(Z,X){let Q={};for(let[U,J]of Object.entries(Z))Q[U]=this.interpolateDeep(J,X);return Q}static interpolateDeep(Z,X){if(typeof Z==="string"&&Z.includes("${"))return C0.interpolate(Z,X);if(Array.isArray(Z))return Z.map((Q)=>this.interpolateDeep(Q,X));if(typeof Z==="object"&&Z!==null){let Q={};for(let[U,J]of Object.entries(Z))Q[U]=this.interpolateDeep(J,X);return Q}return Z}}$6();var A2=new Set(["merge","mergeCallbacks","set","setCallback","delete","has","get","getCallback","call","interpolate","increment","decrement","snapshot","snapshotCallbacks","reset","keys","callbackKeys","toContext"]);function E9(){let Z=Object.create(null),X=Object.create(null);function Q(W,Y){if(A2.has(W))return console.warn(`[VarsContext] ${Y}: "${W}" is a reserved API key and cannot be used.`),!1;return!0}function U(W,Y,G){return(typeof Y==="boolean"?Y:Y?.overwrite??!1)||!(W in G)}function J(W){return{event:W?.event??"",timestamp:W?.timestamp??Date.now(),data:W?.data??{},vars:{...Z},env:W?.env,id:W?.id}}let $={merge(W,Y){for(let G of Object.keys(W)){if(!Q(G,"merge"))continue;let L=W[G];if(typeof L==="function"){console.warn(`[VarsContext] merge(): "${G}" is a function — use mergeCallbacks() instead. Skipped.`);continue}if(U(G,Y,Z))Z[G]=L}},mergeCallbacks(W,Y){for(let G of Object.keys(W)){if(!Q(G,"mergeCallbacks"))continue;let L=W[G];if(typeof L!=="function"){console.warn(`[VarsContext] mergeCallbacks(): "${G}" is not a function. Skipped.`);continue}if(U(G,Y,X))X[G]=L}},set(W,Y){if(!Q(W,"set"))return;if(typeof Y==="function"){console.warn(`[VarsContext] set(): "${W}" is a function — use setCallback() instead.`);return}Z[W]=Y},setCallback(W,Y){if(!Q(W,"setCallback"))return;if(typeof Y!=="function"){console.warn(`[VarsContext] setCallback(): "${W}" value is not a function.`);return}X[W]=Y},delete(W){if(!Q(W,"delete"))return!1;let Y=W in Z,G=W in X;if(Y)delete Z[W];if(G)delete X[W];return Y||G},has(W){return W in Z||W in X},get(W){return Z[W]},getCallback(W){return X[W]},call(W,...Y){let G=X[W];if(typeof G!=="function")throw TypeError(`[VarsContext] call(): "${W}" is not a registered callback (got ${typeof(Z[W]??G)}).`);return G(...Y)},interpolate(W){return C0.interpolate(W,J())},increment(W,Y=1){let L=(typeof Z[W]==="number"?Z[W]:0)+Y;return Z[W]=L,L},decrement(W,Y=1){let L=(typeof Z[W]==="number"?Z[W]:0)-Y;return Z[W]=L,L},snapshot(){return{...Z}},snapshotCallbacks(){return{...X}},reset(W={},Y=!1){for(let G of Object.keys(Z))delete Z[G];if(Y)for(let G of Object.keys(X))delete X[G];for(let[G,L]of Object.entries(W))if(!A2.has(G)&&typeof L!=="function")Z[G]=L},keys(){return Object.keys(Z)},callbackKeys(){return Object.keys(X)},toContext(W){return J(W)}};return new Proxy($,{get(W,Y){if(typeof Y==="symbol")return;let G=Y;if(A2.has(G))return $[G];if(G in X)return X[G];return Z[G]},set(W,Y,G){if(typeof Y==="symbol")return!1;let L=Y;if(A2.has(L))return console.warn(`[VarsContext] "${L}" is a reserved API method and cannot be overwritten.`),!1;if(typeof G==="function")X[L]=G;else Z[L]=G;return!0},has(W,Y){let G=String(Y);return A2.has(G)||G in Z||G in X},deleteProperty(W,Y){return console.warn(`[VarsContext] Use vars.delete("${String(Y)}") instead of \`delete vars.${String(Y)}\`.`),!1},ownKeys(){return[...new Set([...A2,...Object.keys(Z),...Object.keys(X)])]},getOwnPropertyDescriptor(W,Y){let G=String(Y);if(A2.has(G))return{configurable:!0,enumerable:!1,writable:!1,value:$[G]};if(G in Z)return{configurable:!0,enumerable:!0,writable:!0,value:Z[G]};if(G in X)return{configurable:!0,enumerable:!0,writable:!0,value:X[G]};return}})}var SL=E9();class G6{_rules=[];actionHandlers=new Map;lastExecution=new Map;_config;_vars;constructor(Z=[]){if(Array.isArray(Z))this._rules=Z;else this._config=Z,this._rules=[...Z.rules];if(this._vars=E9(),!Array.isArray(Z)&&Z.stateConfig?.state){let X={};for(let[Q,U]of Object.entries(Z.stateConfig.state))if(typeof U!=="function")X[Q]=U;this._vars.merge(X)}try{let{ActionRegistry:X}=(J4(),A7(SX));X.getInstance(!0)}catch{}this._registerVarActions(),this.sortRules()}sortRules(){this._rules.sort((Z,X)=>(X.priority||0)-(Z.priority||0))}_registerVarActions(){this.registerAction("vars",async(Z,X)=>{let Q=String(Z.op??"set"),U=Z.key!=null?String(Z.key):"",J=X.vars??{};switch(Q){case"set":{let $=Z.value;return this._vars.set(U,$),J[U]=$,{op:Q,key:U,value:$}}case"increment":{let $=typeof Z.delta==="number"?Z.delta:1,W=this._vars.increment(U,$);return J[U]=W,{op:Q,key:U,value:W}}case"decrement":{let $=typeof Z.delta==="number"?Z.delta:1,W=this._vars.decrement(U,$);return J[U]=W,{op:Q,key:U,value:W}}case"delete":return this._vars.delete(U),delete J[U],{op:Q,key:U,deleted:!0};case"merge":{let $=Z.overwrite===!0,W={},Y=Z.data??Z;for(let[G,L]of Object.entries(Y)){if(G==="op"||G==="overwrite"||G==="data"||typeof L==="function")continue;W[G]=L}this._vars.merge(W,{overwrite:$});for(let[G,L]of Object.entries(W))if($||!(G in J))J[G]=L;return{op:Q,merged:Object.keys(W),overwrite:$}}case"reset":{let $=Z.data??{};this._vars.reset($);for(let W of Object.keys(J))delete J[W];return Object.assign(J,this._vars.snapshot()),{op:Q,keys:this._vars.keys()}}default:return console.warn(`[vars action] Unknown op: "${Q}"`),{op:Q,error:`unknown op "${Q}"`}}})}registerAction(Z,X){this.actionHandlers.set(Z,X)}registerVars(Z,X){this._mergeWithCallbackRouting(Z,X)}_mergeWithCallbackRouting(Z,X){let Q={},U={};for(let[J,$]of Object.entries(Z))if(typeof $==="function")U[J]=$;else Q[J]=$;if(Object.keys(Q).length)this._vars.merge(Q,X);if(Object.keys(U).length)this._vars.mergeCallbacks(U,X)}async processEvent(Z){if(Z.vars&&Object.keys(Z.vars).length)this._mergeWithCallbackRouting(Z.vars,{overwrite:!1});let X={};for(let[J,$]of Object.entries(Z.vars??{}))if(typeof $!=="function")X[J]=$;Z.vars={...this._vars.snapshot(),...X};let Q=[],U=this._rules.filter((J)=>J.enabled!==!1&&J.on===Z.event);for(let J of U){if(J.cooldown&&this.checkCooldown(J.id,J.cooldown))continue;let $=Q2.evaluateConditions(J.if,Z),W;if($)n0.emit("rule:match",{rule:J,context:Z}),W=J.do;else if(J.else)W=J.else;if(W){let Y=await this.executeRuleActions(W,Z);this.lastExecution.set(J.id,Date.now()),Q.push({ruleId:J.id,success:!0,executedActions:Y})}if(!$&&!J.else&&!this.shouldEvaluateAll())break;if($&&!this.shouldEvaluateAll())break}return Q}async processEventSimple(Z,X={},Q={}){this._mergeWithCallbackRouting(Q,{overwrite:!1});let U={event:Z,data:X,vars:Q,timestamp:Date.now()};return this.processEvent(U)}updateRules(Z){let X=this.getRules(),Q=new Set(X.map((W)=>W.id)),U=new Set(Z.map((W)=>W.id)),J=Z.filter((W)=>!Q.has(W.id)),$=X.filter((W)=>!U.has(W.id));this._rules=[...Z],this.sortRules(),J.forEach((W)=>{this.emitRuleEvent(N9.RULE_ADDED,{ruleId:W.id,timestamp:Date.now()})}),$.forEach((W)=>{this.emitRuleEvent(N9.RULE_REMOVED,{ruleId:W.id,timestamp:Date.now()})}),this.emitRuleEvent(N9.RULE_UPDATED,{count:Z.length,added:J.length,removed:$.length,unchanged:Z.length-J.length,timestamp:Date.now()})}emitRuleEvent(Z,X){try{if(n0)n0.emit(Z,{...X,timestamp:Date.now()})}catch(Q){console.warn(`Could not emit event ${Z}:`,Q)}}getRules(){return[...this._rules]}checkCooldown(Z,X){let Q=this.lastExecution.get(Z);if(!Q)return!1;return Date.now()-Q<X}shouldEvaluateAll(){return this._config?.globalSettings?.evaluateAll??!0}evaluateConditions(Z,X){return Q2.evaluateConditions(Z,X)}evaluateSingleCondition(Z,X){return Q2.evaluateConditions(Z,X)}async executeRuleActions(Z,X){let{actionsToExecute:Q}=Q2.selectActions(Z),U=[];for(let J of Q){if("actions"in J&&"mode"in J){U.push(...await this.executeRuleActions(J,X));continue}let $=J;if("if"in $&&$.if&&($.then||$.else||$.do)){let Y=this.evaluateConditions($.if,X),G=$.then||$.do;if(Y&&G)U.push(...await this.executeRuleActions(G,X));else if(!Y&&$.else)U.push(...await this.executeRuleActions($.else,X));continue}if("if"in $&&$.if){if(!this.evaluateConditions($.if,X))continue}let W=await this.executeSingleAction($,X);if(U.push(W),W.type==="BREAK")break}return U}async executeSingleAction(Z,X){let{shouldExecute:Q,executedAction:U,normalizedAction:J}=await Q2.processSingleActionBase(Z,X);if(!Q)return U;try{let $=this.actionHandlers.get(J.type);if($){let Y=await $(J.params||{},X);return n0.emit("action:success",{action:J,context:X,result:Y}),{type:J.type,result:Y,timestamp:Date.now()}}try{let{ActionRegistry:Y}=(J4(),A7(SX)),G=Y.getInstance().get(J.type);if(G){let L=await G(J,X);return n0.emit("action:success",{action:J,context:X,result:L}),{type:J.type,result:L,timestamp:Date.now()}}}catch{}let W=`${NX.UNKNOWN_ACTION}: ${J.type}`;if(this._config?.globalSettings?.strictActions)throw Error(W);return console.warn(W),{type:J.type,result:{warning:W},timestamp:Date.now()}}catch($){return console.error(`Error executing action ${J.type}:`,$),n0.emit("action:error",{action:J,context:X,error:String($)}),{type:J.type,error:String($),timestamp:Date.now()}}}interpolateParams(Z,X){return Q2.interpolateParams(Z,X)}get rules(){return[...this._rules]}get config(){return this._config}get vars(){return this._vars}set rules(Z){this._rules=[...Z],this.sortRules()}}J4();class b5 extends G6{actionRegistry;constructor(Z){super(Z);this.actionRegistry=W6.getInstance(!0)}async evaluateContext(Z){if(!Z.env)Z.env={};if(this._config?.globalSettings?.debugMode)console.log(b9.RULE_ENGINE_EVALUATING(this._rules.length,Z.event));n0.emit("engine:start",{context:Z,rulesCount:this._rules.length});let X=await this.processEvent(Z);return n0.emit("engine:done",{results:X,context:Z}),X}async processEvent(Z,X={},Q={}){if(typeof Z==="string"){let $={event:Z,data:X,vars:Q,timestamp:Date.now()};return this.processEvent($)}let U=Z;if(n0.emit("engine:start",{context:U,rulesCount:this._rules.length}),this._config?.globalSettings?.debugMode)console.log(b9.RULE_ENGINE_EVALUATING(this._rules.length,U.event));let J=await super.processEvent(U);return n0.emit("engine:done",{results:J,context:U}),J}get ActionRegistry(){return this.actionRegistry}}J4();AX();var jL=["EQ","==","NEQ","!="],E5=["GT",">","GTE",">=","LT","<","LTE","<="],f5=["IN","NOT_IN","RANGE"],I5=["CONTAINS","NOT_CONTAINS","STARTS_WITH","ENDS_WITH"],CL=["IS_NULL","IS_NONE"],NL=["IS_EMPTY","HAS_KEY","MATCHES","SINCE","AFTER","BEFORE","UNTIL"],zD=[...jL,...E5,...f5,...I5,...CL,...NL];function y5(Z){return f5.includes(Z)}function k5(Z){return I5.includes(Z)}function g5(Z){return E5.includes(Z)}var U2=U6({Operator:"'EQ' | '==' | 'NEQ' | '!=' | 'GT' | '>' | 'GTE' | '>=' | 'LT' | '<' | 'LTE' | '<=' | 'IN' | 'NOT_IN' | 'CONTAINS' | 'NOT_CONTAINS' | 'STARTS_WITH' | 'ENDS_WITH' | 'MATCHES' | 'RANGE' | 'SINCE' | 'AFTER' | 'BEFORE' | 'UNTIL'",Condition:"RangeCondition | ListCondition | ContainsCondition | NumericCondition | RegexCondition | StringOperatorCondition | HasKeyCondition | NullCondition | EmptyCondition | BasicCondition",RangeCondition:{field:"string > 0",operator:"'RANGE'",value:"unknown[] == 2"},ListCondition:{field:"string > 0",operator:"'IN' | 'NOT_IN'",value:"unknown[]"},ContainsCondition:{field:"string > 0",operator:"'CONTAINS' | 'NOT_CONTAINS'",value:"string | unknown[]"},StringOperatorCondition:{field:"string > 0",operator:"'STARTS_WITH' | 'ENDS_WITH'",value:"string"},HasKeyCondition:{field:"string > 0",operator:"'HAS_KEY'",value:"string"},NullCondition:{field:"string > 0",operator:"'IS_NULL' | 'IS_NONE'","value?":"boolean | null"},EmptyCondition:{field:"string > 0",operator:"'IS_EMPTY'","value?":"boolean | null"},NumericCondition:{field:"string > 0",operator:"'>' | '>=' | '<' | '<=' | 'GT' | 'GTE' | 'LT' | 'LTE'",value:"number | string"},RegexCondition:{field:"string > 0",operator:"'MATCHES'",value:"string"},BasicCondition:{field:"string > 0",operator:"Operator",value:"unknown"},ConditionGroup:{operator:"'AND' | 'OR'",conditions:"(Condition | ConditionGroup)[] >= 1"},RuleCondition:"Condition | ConditionGroup",Action:{"type?":"string > 0","params?":"object","delay?":"number.integer >= 0 | string","probability?":"0 <= number <= 1 | string","if?":"RuleCondition | RuleCondition[]","then?":"Action | ActionGroup","else?":"Action | ActionGroup","break?":"boolean","continue?":"boolean"},ActionGroup:{"mode?":"'ALL' | 'EITHER' | 'SEQUENCE'",actions:"(Action | ActionGroup)[] >= 1"},RuleAction:"Action | ActionGroup",InlineConditionalAction:{if:"RuleCondition | RuleCondition[]","then?":"Action | ActionGroup","do?":"Action | ActionGroup","else?":"Action | ActionGroup","break?":"boolean","continue?":"boolean"},TriggerRule:{id:"string > 0","name?":"string","description?":"string","priority?":"number.integer","enabled?":"boolean","cooldown?":"number.integer >= 0","tags?":"string[]",on:"string > 0","if?":"RuleCondition | RuleCondition[]",do:"RuleAction | RuleAction[] | InlineConditionalAction","else?":"RuleAction | RuleAction[]","comment?":"string"}}).export(),TD=U2.Operator,KD=U2.Condition,DD=U2.ConditionGroup,wD=U2.RuleCondition,PD=U2.Action,AD=U2.ActionGroup,SD=U2.InlineConditionalAction,bL=U2.TriggerRule;class EX{static validate(Z){let X=bL(Z);if(X instanceof G1.errors){let J=[];for(let $ of X){let W=$.path.join("."),Y=$.message,G=void 0;if(W.endsWith("on")&&(Y.includes("string")||Y.includes("must be")))if(typeof Z==="object"&&Z!==null&&"on"in Z&&Z.on===!0)Y="The 'on' field is incorrect (boolean true found).",G=`In YAML, 'on' is a boolean keyword (true). Quote it: "on": "EventName"`;else G="Ensure 'on' is a string event name.";J.push({path:W,message:Y,suggestion:G,severity:"error"})}return{valid:!1,issues:J}}let Q=X,U=[];if(this.validateConditionsRecursive(Q.if,U,"if"),this.validateInlineConditionalRecursive(Q.do,U,"do"),Q.else)this.validateInlineConditionalRecursive(Q.else,U,"else");if(U.length>0)return{valid:!1,issues:U};return{valid:!0,rule:Q}}static validateInlineConditionalRecursive(Z,X,Q){if(!Z)return;if(Array.isArray(Z)){Z.forEach((U,J)=>{this.validateInlineConditionalRecursive(U,X,`${Q}.${J}`)});return}if(typeof Z==="object"&&Z!==null&&"mode"in Z&&"actions"in Z){let U=Z;if(Array.isArray(U.actions))U.actions.forEach((J,$)=>{this.validateInlineConditionalRecursive(J,X,`${Q}.actions.${$}`)});return}if(typeof Z==="object"&&Z!==null&&"if"in Z){let U=Z;if(this.validateConditionsRecursive(U.if,X,`${Q}.if`),U.then)this.validateInlineConditionalRecursive(U.then,X,`${Q}.then`);if(U.do)this.validateInlineConditionalRecursive(U.do,X,`${Q}.do`);if(U.else)this.validateInlineConditionalRecursive(U.else,X,`${Q}.else`);return}}static validateConditionsRecursive(Z,X,Q){if(!Z)return;if(Array.isArray(Z)){Z.forEach((U,J)=>{this.validateConditionsRecursive(U,X,`${Q}.${J}`)});return}if(typeof Z==="object"&&Z!==null&&"conditions"in Z&&Array.isArray(Z.conditions)){Z.conditions.forEach((U,J)=>{this.validateConditionsRecursive(U,X,`${Q}.conditions.${J}`)});return}if(typeof Z==="object"&&Z!==null&&"operator"in Z&&"value"in Z)this.validateConditionValue(Z,X,Q)}static validateConditionValue(Z,X,Q){let{operator:U,value:J}=Z,$=U;if(y5($)){if(!Array.isArray(J)){X.push({path:`${Q}.value`,message:`Incorrect value type: Operator '${$}' expects a List (Array), but received ${typeof J}.`,suggestion:$==="RANGE"?"Use format [min, max]":"Use format [item1, item2]",severity:"error"});return}if($==="RANGE"){if(J.length!==2)X.push({path:`${Q}.value`,message:"Invalid Range: Operator 'RANGE' requires exactly 2 values (min and max).",suggestion:"Use format [min, max], e.g. [1, 10]",severity:"error"});else if(typeof J[0]!=="number"&&typeof J[0]!=="string")X.push({path:`${Q}.value`,message:"Incorrect range type: Range values must be numbers or expression strings.",severity:"error"})}}else if($==="CONTAINS"||$==="NOT_CONTAINS"){if(typeof J!=="string"&&!Array.isArray(J))X.push({path:`${Q}.value`,message:`Incorrect value type: Operator 'CONTAINS' expects a String or List (Array), but received ${typeof J}.`,suggestion:"Use a substring or a list of items.",severity:"error"})}else if(k5($)){if(typeof J!=="string"&&!Array.isArray(J))X.push({path:`${Q}.value`,message:`Incorrect value type: Operator '${$}' expects a String or List (Array), but received ${typeof J}.`,suggestion:"Use a string prefix/suffix or a list of prefixes/suffixes.",severity:"error"})}else if($==="MATCHES")if(typeof J!=="string")X.push({path:`${Q}.value`,message:`Incorrect value type: Operator 'MATCHES' expects a string (regex pattern), but received ${typeof J}.`,severity:"error"});else try{new RegExp(J)}catch(W){X.push({path:`${Q}.value`,message:`Invalid Regex pattern: ${W.message}`,severity:"error"})}else if(g5($)){if(typeof J!=="number"&&typeof J!=="string")X.push({path:`${Q}.value`,message:`Incorrect value type: Operator '${$}' expects a number or expression string, but received ${typeof J}.`,severity:"error"})}else if($==="HAS_KEY"){if(typeof J!=="string")X.push({path:`${Q}.value`,message:`Incorrect value type: Operator 'HAS_KEY' expects a string (key name), but received ${typeof J}.`,severity:"error"})}}}function f9(Z,X){let Q=new Map,U=[];for(let $ of Z){let Y=$[X];if(Y!==void 0&&Y!==null){let G=String(Y);if(!Q.has(G))Q.set(G,$)}else U.push($)}let J=Array.from(new Set(U.map(($)=>JSON.stringify($)))).map(($)=>JSON.parse($));return[...Array.from(Q.values()),...J]}function L6(Z,X={}){let{deduplicate:Q=!0,uniqueIdField:U}=X;if(!Z)return;if(Array.isArray(Z)){let J=Z.map((W)=>L6(W,X)).filter((W)=>W!==void 0);if(!Q)return J.length===0?void 0:J.length===1?J[0]:J;let $=U?f9(J,U):Array.from(new Set(J.map((W)=>JSON.stringify(W)))).map((W)=>JSON.parse(W));return $.length===0?void 0:$.length===1?$[0]:$}if("operator"in Z&&"conditions"in Z){let J=Z,$=L6(J.conditions,X);if(!$)return;if(!Array.isArray($))$=[$];let W=[];for(let G of $)if("operator"in G&&"conditions"in G&&G.operator===J.operator)W.push(...G.conditions);else W.push(G);let Y;if(!Q)Y=W;else if(U)Y=f9(W,U);else Y=Array.from(new Set(W.map((G)=>JSON.stringify(G)))).map((G)=>JSON.parse(G));if(Y.length===0)return;if(Y.length===1)return Y[0];return{operator:J.operator,conditions:Y}}return Z}function q6(Z,X={}){let{deduplicate:Q=!1,uniqueIdField:U}=X;if(!Z)return;if(Array.isArray(Z)){let J=Z.map((G)=>q6(G,X)).filter((G)=>G!==void 0);if(!Q){let G=J.flatMap((q)=>Array.isArray(q)?q:[q]),L=[];for(let q of G)if("mode"in q&&"actions"in q&&q.mode==="ALL")L.push(...q.actions);else L.push(q);if(L.length===0)return;if(L.length===1)return L[0];return L}let $=J.flatMap((G)=>Array.isArray(G)?G:[G]),W=[];for(let G of $)if("mode"in G&&"actions"in G&&G.mode==="ALL")W.push(...G.actions);else W.push(G);if(W.length===0)return;if(W.length===1)return W[0];let Y;if(U)Y=f9(W,U);else Y=Array.from(new Set(W.map((G)=>JSON.stringify(G)))).map((G)=>JSON.parse(G));return Y}if("mode"in Z&&"actions"in Z){let J=Z,$=q6(J.actions,X);if(!$)return;if(!Array.isArray($))$=[$];let W=[];for(let G of $)if("mode"in G&&"actions"in G&&G.mode===J.mode)W.push(...G.actions);else W.push(G);if(W.length===0)return;if(W.length===1)return W[0];let Y;if(!Q)Y=W;else if(U)Y=f9(W,U);else Y=Array.from(new Set(W.map((G)=>JSON.stringify(G)))).map((G)=>JSON.parse(G));return{mode:J.mode,actions:Y}}return Z}class J2{conditions=[];op="AND";constructor(Z="AND"){this.op=Z}where(Z,X,Q){return this.conditions.push({field:Z,operator:X,value:Q}),this}and(Z){let X=new J2("AND");return this.conditions.push(Z(X).build()),this}or(Z){let X=new J2("OR");return this.conditions.push(Z(X).build()),this}build(){if(this.conditions.length===0)throw Error("Condition group must have at least one condition");if(this.conditions.length===1&&this.op==="AND")return this.conditions[0];return{operator:this.op,conditions:this.conditions}}}class V6{actions=[];mode="ALL";setMode(Z){return this.mode=Z,this}add(Z,X,Q){return this.actions.push({type:Z,params:X,...Q}),this}build(){if(this.actions.length===0)throw Error("Action group must have at least one action");if(this.actions.length===1&&this.mode==="ALL")return this.actions[0];if(this.mode==="ALL")return this.actions;return{mode:this.mode,actions:this.actions}}}class fX{params={};set(Z,X){return this.params[Z]=X,this}setAll(Z){return Object.assign(this.params,Z),this}setNested(Z,X){let Q=Z.split("."),U=this.params;for(let $=0;$<Q.length-1;$++){let W=Q[$];if(!W)continue;if(!(W in U))U[W]={};U=U[W]}let J=Q[Q.length-1];if(J)U[J]=X;return this}addItem(Z,X){if(!(Z in this.params)||!Array.isArray(this.params[Z]))this.params[Z]=[];return this.params[Z].push(X),this}remove(Z){return delete this.params[Z],this}has(Z){return Z in this.params}get(Z){return this.params[Z]}build(){return{...this.params}}getRaw(){return this.params}}var N={EVENT:"event",CONDITION:"condition",CONDITION_GROUP:"condition_group",ACTION:"action",ACTION_GROUP:"action_group",DO:"do"},D={EVENT_OUTPUT:"event-output",CONDITION_INPUT:"condition-input",CONDITION_OUTPUT:"output",CONDITION_OUTPUT_LEGACY:"condition-output",THEN_OUTPUT:"then-output",ELSE_OUTPUT:"else-output",CONDITION_GROUP_INPUT:"input",CONDITION_GROUP_OUTPUT:"cond-output",ACTION_INPUT:"action-input",ACTION_OUTPUT:"action-output",ACTION_OUTPUT_LEGACY:"action-group-output",ACTION_GROUP_INPUT:"input",ACTION_GROUP_OUTPUT:"action-output",ACTION_GROUP_CONDITION_OUTPUT:"condition-output",DO_INPUT:"do-input",DO_OUTPUT:"do-output",DO_CONDITION_OUTPUT:"do-condition-output"},x0={DO:"do",ELSE:"else"},IX={AND:"AND",OR:"OR"};var y9=(Z)=>Z.type===N.EVENT,x1=(Z)=>Z.type===N.CONDITION||Z.type===N.CONDITION_GROUP,K1=(Z)=>Z.type===N.ACTION||Z.type===N.ACTION_GROUP||Z.type===N.DO,_6=(Z)=>Z.type===N.DO;var $2=(Z)=>{return Z.data?.branchType===x0.ELSE?x0.ELSE:x0.DO};function yX(Z){let X=Z.data||{};return{id:X.id,on:X.event,name:X.name,description:X.description,priority:X.priority!==void 0?Number(X.priority):void 0,enabled:X.enabled!==void 0?!!X.enabled:void 0,cooldown:X.cooldown!==void 0?Number(X.cooldown):void 0,tags:X.tags}}function L0(Z,X,Q){let U=[...Q];return Z.edges.filter((J)=>J.source===X&&U.includes(J.sourceHandle||""))}var D1={CONDITION_OUTPUT:[D.CONDITION_OUTPUT,D.CONDITION_OUTPUT_LEGACY],ACTION_OUTPUT:[D.ACTION_OUTPUT,D.ACTION_OUTPUT_LEGACY],DO_OUTPUT:[D.DO_OUTPUT,""],THEN_ELSE:[D.THEN_OUTPUT,D.ELSE_OUTPUT],DO_CONDITION:[D.DO_CONDITION_OUTPUT],CONDITION_CHAIN:[D.CONDITION_OUTPUT,D.CONDITION_OUTPUT_LEGACY,D.THEN_OUTPUT,D.ELSE_OUTPUT],ANY:[D.CONDITION_OUTPUT,D.CONDITION_OUTPUT_LEGACY,""]};class v5{convert(Z,X){return{field:Z.field||"data",operator:Z.operator||"EQ",value:Z.value!==void 0?Z.value:""}}validate(Z){let X=[];if(!Z.field&&!Z.value)X.push("Condition must have at least a field or value");return{valid:X.length===0,errors:X.length>0?X:void 0}}}class x5{convert(Z,X){let Q={};try{if(Z.params)Q=typeof Z.params==="string"?JSON.parse(Z.params):Z.params}catch{Q={}}let U={type:Z.type||"log",params:Q};if(Z.delay!==void 0)U.delay=Number(Z.delay);if(Z.probability!==void 0)U.probability=Number(Z.probability);return U}validate(Z){let X=[];if(!Z.type)X.push('Action type defaults to "log"');return{valid:!0,warnings:X.length>0?X:void 0}}}class h5{convert(Z,X){return{id:Z.id,on:Z.event,name:Z.name,description:Z.description,priority:Z.priority!==void 0?Number(Z.priority):void 0,enabled:Z.enabled!==void 0?!!Z.enabled:void 0,cooldown:Z.cooldown!==void 0?Number(Z.cooldown):void 0,tags:Z.tags}}validate(Z){let X=[],Q=[];if(!Z.id)X.push("Event must have an ID");if(!Z.event)X.push("Event must have an event name");if(!Z.name)Q.push("Event should have a name");return{valid:X.length===0,errors:X.length>0?X:void 0,warnings:Q.length>0?Q:void 0}}}class m5{conditionConverter=new v5;actionConverter=new x5;eventConverter=new h5;getConditionConverter(){return this.conditionConverter}getActionConverter(){return this.actionConverter}getEventConverter(){return this.eventConverter}createContext(Z,X,Q,U){return{nodes:Z,edges:X,currentNode:Q,options:U}}}var u5=new m5;function kX(Z){let X=Z.data||{};return u5.getConditionConverter().convert(X,{nodes:[],edges:[]})}function gX(Z){let X=Z.data||{};return u5.getActionConverter().convert(X,{nodes:[],edges:[]})}function k9(Z,X){let Q=X.options.isCondNode||x1,U=X.nodes.find((L)=>L.id===Z);if(!U||U.type!==N.CONDITION_GROUP)return{conditions:[],operator:IX.AND};let J=U.data.operator||IX.AND,$=[],W=new Set;function Y(L){if(W.has(L))return;W.add(L);let q=X.nodes.find((H)=>H.id===L);if(!q||!Q(q)||q.type===N.CONDITION_GROUP)return;let V=kX(q);$.push(V);let _=L0(X,L,[...D1.CONDITION_OUTPUT,D.THEN_OUTPUT]).filter((H)=>{let F=X.nodes.find((z)=>z.id===H.target);return F&&Q(F)});for(let H of _)Y(H.target)}let G=L0(X,Z,[D.CONDITION_GROUP_OUTPUT]).filter((L)=>{let q=X.nodes.find((V)=>V.id===L.target);return q&&Q(q)});for(let L of G)Y(L.target);return{conditions:$,operator:J}}function S2(Z,X){if(X.options.resolveCondition&&X.options.resolveCondition!==S2)return X.options.resolveCondition(Z,X);if(X.visitedConds.has(Z))return null;X.visitedConds.add(Z);let Q=X.nodes.find((W)=>W.id===Z),U=X.options.isCondNode||x1;if(!Q||!U(Q))return null;if(Q.type===N.CONDITION_GROUP){let{conditions:W,operator:Y}=k9(Z,X);if(W.length===0)return null;if(W.length===1)return W[0];return{operator:Y,conditions:W}}let J=kX(Q);if(X.transformers?.condition){let W=X.transformers.condition(J,Q);if(W===null)return null;return W}let $=L0(X,Z,D1.CONDITION_OUTPUT).filter((W)=>{let Y=X.nodes.find((G)=>G.id===W.target);return Y&&U(Y)});if($.length>0){let W=$.map((Y)=>S2(Y.target,X)).filter((Y)=>Y!==null);if(W.length>0)return{operator:"AND",conditions:[J,...W]}}return J}function vX(Z,X){let Q=X.options.isCondNode||x1,U,J;function $(W){let Y=X.nodes.find((q)=>q.id===W);if(!Y||!Q(Y))return;let G=X.edges.filter((q)=>q.source===W);for(let q of G){let V=X.nodes.find((_)=>_.id===q.target);if(!V)continue;if(V.type===N.ACTION||V.type===N.ACTION_GROUP||V.type===N.DO)if(V.type===N.DO?V.data?.branchType==="else":q.sourceHandle===D.ELSE_OUTPUT)J=q.target;else U=q.target}let L=L0(X,W,D1.CONDITION_OUTPUT).filter((q)=>{let V=X.nodes.find((_)=>_.id===q.target);return V&&Q(V)});for(let q of L)$(q.target)}return $(Z),{thenActionId:U,elseActionId:J}}function $4(Z,X){let Q=X.options.isActNode||K1,U=X.nodes.find((q)=>q.id===Z);if(!U||U.type!==N.ACTION_GROUP)return{actions:[],mode:"ALL"};let J=U.data.mode||"ALL",$=[],W=new Set;function Y(q){if(W.has(q))return;W.add(q);let V=X.nodes.find((F)=>F.id===q);if(!V||!Q(V)||V.type===N.ACTION_GROUP)return;let _=gX(V);$.push(_);let H=L0(X,q,D1.ACTION_OUTPUT).filter((F)=>{let z=X.nodes.find((B)=>B.id===F.target);return z&&Q(z)});for(let F of H)Y(F.target)}let G=L0(X,Z,[D.ACTION_GROUP_OUTPUT,D.DO_OUTPUT,"do-output","action-output","action-group-output"]).filter((q)=>{let V=X.nodes.find((_)=>_.id===q.target);return V&&Q(V)});for(let q of G)Y(q.target);let L=L0(X,Z,[D.ACTION_GROUP_CONDITION_OUTPUT,"condition-output",D.ACTION_GROUP_OUTPUT,"action-output",""]).filter((q)=>{let V=X.nodes.find((_)=>_.id===q.target);return V&&(V.type===N.CONDITION||V.type===N.CONDITION_GROUP)});for(let q of L){let V=M0(q.target,X);if(V)$.push(V)}return{actions:$,mode:J}}function M0(Z,X){if(X.options.resolveAction&&X.options.resolveAction!==M0)return X.options.resolveAction(Z,X);let Q=X.nodes.find((W)=>W.id===Z);if(!Q)return null;if(Q.type===N.ACTION_GROUP){if(X.visitedActs?.has(Z))return null;X.visitedActs?.add(Z);let{actions:W,mode:Y}=$4(Z,X);if(W.length===0)return null;return{mode:Y,actions:W}}if(Q.type===N.DO){if(X.visitedActs?.has(Z))return null;X.visitedActs?.add(Z);let W=xX(Z,X);if(W.length===0)return null;if(W.length===1)return W[0];return{mode:"ALL",actions:W}}if(Q.type===N.CONDITION||Q.type===N.CONDITION_GROUP){if(X.options.resolveCondition){let W=X.options.resolveCondition(Z,X);if(W){let{doBranches:Y,elseBranches:G}=z6(Z,X),L=null,q=null;if(Y.length>0){let V=Y[0],_=xX(V,X);if(_.length>0)L=_.length===1?_[0]:{mode:"ALL",actions:_}}if(G.length>0){let V=G[0],_=xX(V,X);if(_.length>0)q=_.length===1?_[0]:{mode:"ALL",actions:_}}if(!L&&!q){let V=vX(Z,X);if(V.thenActionId)L=M0(V.thenActionId,X);if(V.elseActionId)q=M0(V.elseActionId,X)}if(L||q)return{if:W,do:L??void 0,else:q??void 0}}}}let U=X.options.isActNode||K1;if(!U(Q))return null;if(X.visitedActs?.has(Z))return null;X.visitedActs?.add(Z);let J=gX(Q);if(X.transformers?.action){let W=X.transformers.action(J,Q);if(W===null)return null;let Y=L0(X,Z,D1.ACTION_OUTPUT).filter((G)=>{let L=X.nodes.find((q)=>q.id===G.target);return L&&U(L)});if(Y.length>0){let G=[W];for(let L of Y){let q=M0(L.target,X);if(q)G.push(q)}return{mode:"ALL",actions:G}}return W}let $=L0(X,Z,D1.ACTION_OUTPUT).filter((W)=>{let Y=X.nodes.find((G)=>G.id===W.target);return Y&&U(Y)});if($.length>0){let W=[J];for(let Y of $){let G=M0(Y.target,X);if(G)W.push(G)}return{mode:"SEQUENCE",actions:W}}return J}function xX(Z,X){let Q=X.options.isActNode||K1,U=[],J=L0(X,Z,[D.DO_OUTPUT,D.ELSE_OUTPUT,"do-output","else-output","action-output",""]).filter(($)=>{let W=X.nodes.find((Y)=>Y.id===$.target);return W&&Q(W)});for(let $ of J){let W=M0($.target,X);if(W)U.push(W)}return U}function z6(Z,X){let Q=(G)=>G.type===N.CONDITION||G.type===N.CONDITION_GROUP,U=(G)=>G.type===N.DO,J=[],$=[],W=new Set;function Y(G){if(W.has(G))return;W.add(G);let L=X.nodes.find((V)=>V.id===G);if(!L)return;if(L.type===N.CONDITION_GROUP){let V=L0(X,G,[D.CONDITION_GROUP_OUTPUT,"cond-output","output",""]);for(let _ of V){let H=X.nodes.find((F)=>F.id===_.target);if(H){if(U(H)){if($2(H)===x0.ELSE){if(!$.includes(H.id))$.push(H.id)}else if(!J.includes(H.id))J.push(H.id)}else if(Q(H))Y(H.id)}}return}let q=X.edges.filter((V)=>V.source===G);for(let V of q){let _=X.nodes.find((H)=>H.id===V.target);if(!_)continue;if(U(_)){if($2(_)===x0.ELSE){if(!$.includes(_.id))$.push(_.id)}else if(!J.includes(_.id))J.push(_.id)}else if(Q(_))Y(_.id)}}return Y(Z),{doBranches:J,elseBranches:$}}var p5;((Y)=>{Y.MISSING_EVENT_NODE="MISSING_EVENT_NODE";Y.MISSING_RULE_ID_OR_EVENT_NAME="MISSING_RULE_ID_OR_EVENT_NAME";Y.NO_EVENTS_FOUND="NO_EVENTS_FOUND";Y.RULE_ID_REQUIRED="RULE_ID_REQUIRED";Y.RULE_ON_EVENT_REQUIRED="RULE_ON_EVENT_REQUIRED";Y.RULE_DO_ACTION_REQUIRED="RULE_DO_ACTION_REQUIRED";Y.PARSE_FAILED="PARSE_FAILED"})(p5||={});class w1 extends Error{code;eventId;constructor(Z,X,Q){super(Z);this.name="GraphParserError",this.code=X,this.eventId=Q}}function EL(Z,X,Q={},U){let J={...Q,resolveCondition:Q.resolveCondition||S2,resolveAction:Q.resolveAction||M0};return{nodes:Z,edges:X,visitedConds:new Set,visitedActs:new Set,options:J,transformers:U}}var Dw=$2,fL=yX;function IL(Z,X,Q){let U=X.options.isCondNode||x1,J=_6,$=X.edges.filter((F)=>F.source===Z).find((F)=>{let z=X.nodes.find((B)=>B.id===F.target);return z&&U(z)}),W;if($)W=$.target;if(!W)return null;let Y=new Set(X.visitedConds);X.visitedConds.clear();let G=S2(W,X);if(X.visitedConds=Y,!G)return null;let{thenActionId:L,elseActionId:q}=hX(W,X),V=X.edges.filter((F)=>F.source===Z).find((F)=>{let z=X.nodes.find((B)=>B.id===F.target);return z&&(X.options.isActNode?.(z)??K1(z))&&z.type!==N.DO});if(V&&!q)q=V.target;let _=L?M0(L,X):void 0,H=q?M0(q,X):void 0;return{if:G,do:_??void 0,else:H??void 0}}function H6(Z,X,Q){let U=X.options.isActNode||K1,J=[],$=X.edges.filter((Y)=>Y.source===Z).filter((Y)=>{let G=X.nodes.find((L)=>L.id===Y.target);return G&&(U(G)&&G.type!==N.DO&&G.type!==N.CONDITION&&G.type!==N.CONDITION_GROUP)});for(let Y of $){let G=M0(Y.target,X);if(G)J.push(G)}let W=IL(Z,X,Q);if(W)J.push(W);return J}function hX(Z,X){let Q=X.options.isCondNode||x1,U=X.options.isActNode||K1,J=_6,$,W;function Y(G){let L=X.nodes.find((_)=>_.id===G);if(!L||!Q(L))return;let q=L0(X,G,[D.THEN_OUTPUT,D.ELSE_OUTPUT,D.CONDITION_OUTPUT,D.CONDITION_OUTPUT_LEGACY,D.DO_OUTPUT,""]);for(let _ of q){let H=X.nodes.find((F)=>F.id===_.target);if(!H)continue;if(J(H)){let F=L0(X,H.id,[D.DO_OUTPUT,""]).filter((P)=>{let O=X.nodes.find((S)=>S.id===P.target);return O&&U(O)}),z=$2(H);for(let P of F)if(z===x0.ELSE)W=P.target;else $=P.target;let B=L0(X,H.id,[D.DO_CONDITION_OUTPUT]),K=B.find((P)=>{let O=X.nodes.find((S)=>S.id===P.target);return O&&Q(O)}),w=B.find((P)=>{let O=X.nodes.find((S)=>S.id===P.target);return O&&U(O)});if(w&&!W)W=w.target;continue}if(H.type===N.ACTION_GROUP){$=_.target;continue}if(!U(H))continue;if(_.sourceHandle===D.ELSE_OUTPUT)W=_.target;else $=_.target}let V=L0(X,G,D1.CONDITION_OUTPUT).filter((_)=>{let H=X.nodes.find((F)=>F.id===_.target);return H&&Q(H)});for(let _ of V)Y(_.target)}return Y(Z),{thenActionId:$,elseActionId:W}}function mX(Z,X,Q={},U){let J=new uX;if(Q.optimizeOptions)J.withOptimizeOptions(Q.optimizeOptions);let $=Q.isEventNode||y9,W=Q.isCondNode||x1,Y=Q.isActNode||K1,G=_6,L=Q.extractEventData||fL,q=Z.find((O)=>$(O));if(!q)throw new w1("Missing Event Trigger node","MISSING_EVENT_NODE");let V=L(q);if(!V.id||!V.on)throw new w1("Rule ID and Event Name are required","MISSING_RULE_ID_OR_EVENT_NAME",V.id);if(J.id(V.id).on(V.on),V.name)J.name(V.name);if(V.description)J.description(V.description);if(V.priority!==void 0)J.priority(Number(V.priority));if(V.enabled!==void 0)J.enabled(!!V.enabled);if(V.cooldown!==void 0)J.cooldown(Number(V.cooldown));if(V.tags)J.tags(V.tags);let _=EL(Z,X,Q,U),H=X.filter((O)=>O.source===q.id),F=[],z=[],B=[],K=[];for(let O of H){let S=_.nodes.find((C)=>C.id===O.target);if(!S)continue;if(S.type===N.CONDITION_GROUP)F.push(O.target);else if(W(S))z.push(O.target);else if(S.type===N.ACTION_GROUP)B.push(O.target);else if(Y(S))K.push(O.target)}for(let O of F){let{conditions:S,operator:C}=k9(O,_);if(S.length>0){let y={operator:C,conditions:S};J.withIf(y);let A=X.filter((t)=>t.source===O),d=A.filter((t)=>{let c=_.nodes.find((r)=>r.id===t.target);return c&&W(c)&&(t.sourceHandle?.startsWith("cond")||t.sourceHandle===D.CONDITION_GROUP_OUTPUT)}).map((t)=>t.target),e=A.filter((t)=>{let c=_.nodes.find((r)=>r.id===t.target);return c&&Y(c)}).map((t)=>t.target),X0=null,h=null;for(let t of e){let c=_.nodes.find((r)=>r.id===t);if(!c)continue;if(G(c)){let r=H6(c.id,_,O),T0=$2(c);if(r.length>0){let d1=r.length===1?r[0]:{mode:"ALL",actions:r};if(T0===x0.ELSE)h=d1;else X0=d1}}else{let r=M0(t,_);if(r)X0=r}}if(!X0||!h)for(let t of d){let c=hX(t,_),r=c.thenActionId?M0(c.thenActionId,_):null,T0=c.elseActionId?M0(c.elseActionId,_):null,{doBranches:d1,elseBranches:P4}=z6(t,_),H2=[];for(let w8 of d1){let P8=H6(w8,_,t);H2.push(...P8)}if(H2.length>0&&!r)r=H2.length===1?H2[0]:{mode:"ALL",actions:H2};let A4=[];for(let w8 of P4){let P8=H6(w8,_,t);A4.push(...P8)}if(A4.length>0&&!T0)T0=A4.length===1?A4[0]:{mode:"ALL",actions:A4};if(r&&!X0)X0=r;if(T0&&!h)h=T0}if(X0)J.withDo(X0);if(h)J.elseRule(h)}}if(z.length>0&&F.length===0){let O=[],S,C;for(let c of z){let r=S2(c,_);if(r)O.push(r);let T0=hX(c,_);if(T0.thenActionId)S=T0.thenActionId;if(T0.elseActionId)C=T0.elseActionId}if(O.length===1)J.withIf(O[0]);else if(O.length>1)J.withIf({operator:"AND",conditions:O});let y=z[0];if(!y)return J;let{doBranches:A,elseBranches:d}=z6(y,_),e=[];for(let c of A){let r=H6(c,_,y);e.push(...r)}let X0=e.length===1?e[0]:e.length>1?{mode:"ALL",actions:e}:S?M0(S,_):null,h=[];for(let c of d){let r=H6(c,_,y);h.push(...r)}let t=h.length===1?h[0]:h.length>1?{mode:"ALL",actions:h}:C?M0(C,_):null;if(X0)J.withDo(X0);if(t)J.elseRule(t);if(!S&&!e.length)for(let c of z){let r=L0(_,c,[D.THEN_OUTPUT,D.CONDITION_OUTPUT,"condition-output","then-output","output",""]).filter((T0)=>{return _.nodes.find((P4)=>P4.id===T0.target)?.type===N.ACTION_GROUP});for(let T0 of r){let{actions:d1,mode:P4}=$4(T0.target,_);if(d1.length>0){let H2={mode:P4,actions:d1};J.withDo(H2);break}}}}let w=new Set;if(z.length>0&&F.length===0)for(let O of z){let S=L0(_,O,[D.THEN_OUTPUT,D.CONDITION_OUTPUT,"condition-output","then-output","output",""]).filter((C)=>{return _.nodes.find((A)=>A.id===C.target)?.type===N.ACTION_GROUP});for(let C of S)w.add(C.target)}let P=B.filter((O)=>!w.has(O));if(P.length>0)for(let O of P)if(L0(_,O,[D.ACTION_GROUP_CONDITION_OUTPUT,"condition-output"]).filter((C)=>{let y=_.nodes.find((A)=>A.id===C.target);return y&&W(y)}).length>0){let{actions:C,mode:y}=$4(O,_);if(C.length>0){let A={mode:y,actions:C};J.withDo(A)}}else{let{actions:C,mode:y}=$4(O,_);if(C.length>0)J.withDo({mode:y,actions:C})}if(K.length>0&&z.length===0&&F.length===0)for(let O of K){let S=M0(O,_);if(S)J.withDo(S)}return J}function l5(Z,X,Q={},U){let J=Q.isEventNode||y9,$=Z.filter((G)=>J(G));if($.length===0)return{rules:[],errors:[new w1("No Event nodes found in the graph","NO_EVENTS_FOUND")]};let W=[],Y=[];for(let G of $)try{let L=G.id,q=new Set([L]),V=[L];while(V.length>0){let B=V.shift(),K=X.filter((w)=>w.source===B);for(let w of K)if(!q.has(w.target))q.add(w.target),V.push(w.target)}let _=Z.filter((B)=>q.has(B.id)),H=X.filter((B)=>q.has(B.source)&&q.has(B.target)),z=mX(_,H,Q,U).build();W.push(z)}catch(L){if(L instanceof w1){if(!L.eventId)L.eventId=G.id;Y.push(L)}else{let q=L instanceof Error?L.message:String(L);Y.push(new w1(`Failed to parse rule for event ${G.id}: ${q}`,"PARSE_FAILED",G.id))}}return{rules:W,errors:Y}}class uX{rule={enabled:!0,priority:0};optimizeOptions={};static fromGraph(Z,X,Q,U){return mX(Z,X,Q,U)}static fromGraphMultiple(Z,X,Q,U){return l5(Z,X,Q,U)}withId(Z){return this.rule.id=Z,this}withName(Z){return this.rule.name=Z,this}withDescription(Z){return this.rule.description=Z,this}withPriority(Z){return this.rule.priority=Z,this}withCooldown(Z){return this.rule.cooldown=Z,this}withTags(Z){return this.rule.tags=Z,this}withEnabled(Z){return this.rule.enabled=Z,this}withOptimizeOptions(Z){return this.optimizeOptions=Z,this}id(Z){return this.withId(Z)}name(Z){return this.withName(Z)}description(Z){return this.withDescription(Z)}priority(Z){return this.withPriority(Z)}enabled(Z){return this.withEnabled(Z)}cooldown(Z){return this.withCooldown(Z)}tags(Z){return this.withTags(Z)}optimize(Z){return this.withOptimizeOptions(Z)}on(Z){return this.rule.on=Z,this}if(Z,X,Q){if(!this.rule.if)this.rule.if={field:Z,operator:X,value:Q};else if(Array.isArray(this.rule.if))this.rule.if.push({field:Z,operator:X,value:Q});else this.rule.if=[this.rule.if,{field:Z,operator:X,value:Q}];return this}ifComplex(Z){let X=new J2,Q=Z(X).build();return this.rule.if=Q,this}withIf(Z){return this.rule.if=Z,this}do(Z,X,Q){let U={type:Z,params:X,...Q};if(!this.rule.do)this.rule.do=U;else if(Array.isArray(this.rule.do))this.rule.do.push(U);else if(this.rule.do&&typeof this.rule.do==="object"&&"actions"in this.rule.do)this.rule.do.actions.push(U);else this.rule.do=[this.rule.do,U];return this}doComplex(Z){let X=new V6,Q=Z(X).build();return this.rule.do=Q,this}withDo(Z){return this.rule.do=Z,this}elseRule(Z){return this.rule.else=Z,this}when(Z,X,Q){return new I9(this,Z,X,Q)}whenComplex(Z){let X=new J2,Q=Z(X).build();return new I9(this,Q)}then(Z,X,Q){return this.do(Z,X,Q)}ifAction(Z,X,Q){let U=this.rule.do;if(!U)throw Error("Cannot add condition: no action defined. Use do() or then() first.");let J=($)=>({...$,if:{field:Z,operator:X,value:Q}});if(Array.isArray(U)){let $=U.length-1,W=U[$];if(W&&"actions"in W){let Y=W.actions,G=Y.length-1;if(G>=0)Y[G]=J(Y[G])}else if(W)U[$]=J(W)}else if(U&&"actions"in U){let $=U.actions,W=$.length-1;if(W>=0)$[W]=J($[W])}else if(U)this.rule.do=J(U);return this}thenAction(Z){let X=this.rule.do;if(!X)throw Error("Cannot add then: no action defined. Use do() or then() first.");let Q=(U)=>({...U,then:Z});if(Array.isArray(X)){let U=X.length-1,J=X[U];if(J&&"actions"in J){let $=J.actions,W=$.length-1;if(W>=0)$[W]=Q($[W])}else if(J)X[U]=Q(J)}else if(X&&"actions"in X){let U=X.actions,J=U.length-1;if(J>=0)U[J]=Q(U[J])}else if(X)this.rule.do=Q(X);return this}else(Z){let X=this.rule.do;if(!X)throw Error("Cannot add else: no action defined. Use do() or then() first.");let Q=(U)=>({...U,else:Z});if(Array.isArray(X)){let U=X.length-1,J=X[U];if(J&&"actions"in J){let $=J.actions,W=$.length-1;if(W>=0)$[W]=Q($[W])}else if(J)X[U]=Q(J)}else if(X&&"actions"in X){let U=X.actions,J=U.length-1;if(J>=0)U[J]=Q(U[J])}else if(X)this.rule.do=[Q(X)];return this}elseAction(Z){return this.else(Z)}build(){if(!this.rule.id)throw new w1("Rule ID is required","RULE_ID_REQUIRED");if(!this.rule.on)throw new w1("Rule 'on' event is required","RULE_ON_EVENT_REQUIRED",this.rule.id);if(!this.rule.do)throw new w1("Rule 'do' action is required","RULE_DO_ACTION_REQUIRED",this.rule.id);if(this.rule.if)this.rule.if=L6(this.rule.if,this.optimizeOptions);if(this.rule.do){let Z=q6(this.rule.do,this.optimizeOptions);this.rule.do=Z?Z:this.rule.do}return this.rule}}class I9{parent;condition;thenActions;elseActions;constructor(Z,X,Q,U){if(this.parent=Z,typeof X==="string")this.condition={field:X,operator:Q,value:U};else this.condition=X}then(Z,X,Q){if(typeof Z==="string")this.thenActions={type:Z,params:X,...Q};else this.thenActions=Z;return this}do(Z,X,Q){return this.then(Z,X,Q)}done(){return this.build()}else(Z,X,Q){if(typeof Z==="string")this.elseActions={type:Z,params:X,...Q};else this.elseActions=Z;return this.build()}build(){let Z={if:this.condition};if(this.thenActions)Z.then=this.thenActions;if(this.elseActions)Z.else=this.elseActions;let X=this.parent.rule.do;if(!X)this.parent.rule.do=Z;else if(Array.isArray(X))X.push(Z);else this.parent.rule.do=[X,Z];return this.parent}}var F7={};h6(F7,{visitAsync:()=>F6,visit:()=>q1,stringify:()=>hJ,parseDocument:()=>H7,parseAllDocuments:()=>R8,parse:()=>O8,isSeq:()=>Z1,isScalar:()=>x,isPair:()=>p,isNode:()=>l,isMap:()=>e0,isDocument:()=>t0,isCollection:()=>n,isAlias:()=>l0,YAMLWarning:()=>j6,YAMLSeq:()=>P0,YAMLParseError:()=>Q1,YAMLMap:()=>q0,YAMLError:()=>S6,Schema:()=>H4,Scalar:()=>f,Parser:()=>O4,Pair:()=>Y0,LineCounter:()=>k6,Lexer:()=>y6,Document:()=>S1,Composer:()=>B4,CST:()=>_7,Alias:()=>m1});var g9=Symbol.for("yaml.alias"),v9=Symbol.for("yaml.document"),L1=Symbol.for("yaml.map"),pX=Symbol.for("yaml.pair"),p0=Symbol.for("yaml.scalar"),h1=Symbol.for("yaml.seq"),N0=Symbol.for("yaml.node.type"),l0=(Z)=>!!Z&&typeof Z==="object"&&Z[N0]===g9,t0=(Z)=>!!Z&&typeof Z==="object"&&Z[N0]===v9,e0=(Z)=>!!Z&&typeof Z==="object"&&Z[N0]===L1,p=(Z)=>!!Z&&typeof Z==="object"&&Z[N0]===pX,x=(Z)=>!!Z&&typeof Z==="object"&&Z[N0]===p0,Z1=(Z)=>!!Z&&typeof Z==="object"&&Z[N0]===h1;function n(Z){if(Z&&typeof Z==="object")switch(Z[N0]){case L1:case h1:return!0}return!1}function l(Z){if(Z&&typeof Z==="object")switch(Z[N0]){case g9:case L1:case p0:case h1:return!0}return!1}var x9=(Z)=>(x(Z)||n(Z))&&!!Z.anchor;var h0=Symbol("break visit"),d5=Symbol("skip children"),P1=Symbol("remove node");function q1(Z,X){let Q=c5(X);if(t0(Z)){if(W4(null,Z.contents,Q,Object.freeze([Z]))===P1)Z.contents=null}else W4(null,Z,Q,Object.freeze([]))}q1.BREAK=h0;q1.SKIP=d5;q1.REMOVE=P1;function W4(Z,X,Q,U){let J=i5(Z,X,Q,U);if(l(J)||p(J))return s5(Z,U,J),W4(Z,J,Q,U);if(typeof J!=="symbol"){if(n(X)){U=Object.freeze(U.concat(X));for(let $=0;$<X.items.length;++$){let W=W4($,X.items[$],Q,U);if(typeof W==="number")$=W-1;else if(W===h0)return h0;else if(W===P1)X.items.splice($,1),$-=1}}else if(p(X)){U=Object.freeze(U.concat(X));let $=W4("key",X.key,Q,U);if($===h0)return h0;else if($===P1)X.key=null;let W=W4("value",X.value,Q,U);if(W===h0)return h0;else if(W===P1)X.value=null}}return J}async function F6(Z,X){let Q=c5(X);if(t0(Z)){if(await Y4(null,Z.contents,Q,Object.freeze([Z]))===P1)Z.contents=null}else await Y4(null,Z,Q,Object.freeze([]))}F6.BREAK=h0;F6.SKIP=d5;F6.REMOVE=P1;async function Y4(Z,X,Q,U){let J=await i5(Z,X,Q,U);if(l(J)||p(J))return s5(Z,U,J),Y4(Z,J,Q,U);if(typeof J!=="symbol"){if(n(X)){U=Object.freeze(U.concat(X));for(let $=0;$<X.items.length;++$){let W=await Y4($,X.items[$],Q,U);if(typeof W==="number")$=W-1;else if(W===h0)return h0;else if(W===P1)X.items.splice($,1),$-=1}}else if(p(X)){U=Object.freeze(U.concat(X));let $=await Y4("key",X.key,Q,U);if($===h0)return h0;else if($===P1)X.key=null;let W=await Y4("value",X.value,Q,U);if(W===h0)return h0;else if(W===P1)X.value=null}}return J}function c5(Z){if(typeof Z==="object"&&(Z.Collection||Z.Node||Z.Value))return Object.assign({Alias:Z.Node,Map:Z.Node,Scalar:Z.Node,Seq:Z.Node},Z.Value&&{Map:Z.Value,Scalar:Z.Value,Seq:Z.Value},Z.Collection&&{Map:Z.Collection,Seq:Z.Collection},Z);return Z}function i5(Z,X,Q,U){if(typeof Q==="function")return Q(Z,X,U);if(e0(X))return Q.Map?.(Z,X,U);if(Z1(X))return Q.Seq?.(Z,X,U);if(p(X))return Q.Pair?.(Z,X,U);if(x(X))return Q.Scalar?.(Z,X,U);if(l0(X))return Q.Alias?.(Z,X,U);return}function s5(Z,X,Q){let U=X[X.length-1];if(n(U))U.items[Z]=Q;else if(p(U))if(Z==="key")U.key=Q;else U.value=Q;else if(t0(U))U.contents=Q;else{let J=l0(U)?"alias":"scalar";throw Error(`Cannot replace node with ${J} parent`)}}var yL={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},kL=(Z)=>Z.replace(/[!,[\]{}]/g,(X)=>yL[X]);class K0{constructor(Z,X){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},K0.defaultYaml,Z),this.tags=Object.assign({},K0.defaultTags,X)}clone(){let Z=new K0(this.yaml,this.tags);return Z.docStart=this.docStart,Z}atDocument(){let Z=new K0(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:K0.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},K0.defaultTags);break}return Z}add(Z,X){if(this.atNextDocument)this.yaml={explicit:K0.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},K0.defaultTags),this.atNextDocument=!1;let Q=Z.trim().split(/[ \t]+/),U=Q.shift();switch(U){case"%TAG":{if(Q.length!==2){if(X(0,"%TAG directive should contain exactly two parts"),Q.length<2)return!1}let[J,$]=Q;return this.tags[J]=$,!0}case"%YAML":{if(this.yaml.explicit=!0,Q.length!==1)return X(0,"%YAML directive should contain exactly one part"),!1;let[J]=Q;if(J==="1.1"||J==="1.2")return this.yaml.version=J,!0;else{let $=/^\d+\.\d+$/.test(J);return X(6,`Unsupported YAML version ${J}`,$),!1}}default:return X(0,`Unknown directive ${U}`,!0),!1}}tagName(Z,X){if(Z==="!")return"!";if(Z[0]!=="!")return X(`Not a valid tag: ${Z}`),null;if(Z[1]==="<"){let $=Z.slice(2,-1);if($==="!"||$==="!!")return X(`Verbatim tags aren't resolved, so ${Z} is invalid.`),null;if(Z[Z.length-1]!==">")X("Verbatim tags must end with a >");return $}let[,Q,U]=Z.match(/^(.*!)([^!]*)$/s);if(!U)X(`The ${Z} tag has no suffix`);let J=this.tags[Q];if(J)try{return J+decodeURIComponent(U)}catch($){return X(String($)),null}if(Q==="!")return Z;return X(`Could not resolve tag: ${Z}`),null}tagString(Z){for(let[X,Q]of Object.entries(this.tags))if(Z.startsWith(Q))return X+kL(Z.substring(Q.length));return Z[0]==="!"?Z:`!<${Z}>`}toString(Z){let X=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],Q=Object.entries(this.tags),U;if(Z&&Q.length>0&&l(Z.contents)){let J={};q1(Z.contents,($,W)=>{if(l(W)&&W.tag)J[W.tag]=!0}),U=Object.keys(J)}else U=[];for(let[J,$]of Q){if(J==="!!"&&$==="tag:yaml.org,2002:")continue;if(!Z||U.some((W)=>W.startsWith($)))X.push(`%TAG ${J} ${$}`)}return X.join(`
|
|
47
|
-
`)}}K0.defaultYaml={explicit:!1,version:"1.2"};K0.defaultTags={"!!":"tag:yaml.org,2002:"};function h9(Z){if(/[\x00-\x19\s,[\]{}]/.test(Z)){let Q=`Anchor must not contain whitespace or control characters: ${JSON.stringify(Z)}`;throw Error(Q)}return!0}function lX(Z){let X=new Set;return q1(Z,{Value(Q,U){if(U.anchor)X.add(U.anchor)}}),X}function dX(Z,X){for(let Q=1;;++Q){let U=`${Z}${Q}`;if(!X.has(U))return U}}function
|
|
45
|
+
`)+"}"),V9,rZ,AQ=(Z)=>{let X=Z.references.filter((Q)=>Q.hasKind("alias"));for(let Q of X){Object.assign(Q.referencesById,Q.resolution.referencesById);for(let U of Z.references)if(Q.id in U.referencesById)Object.assign(U.referencesById,Q.referencesById)}return Z},NQ=(Z)=>k(Z,(X,Q)=>[X,E(Q,"root")||E(Q,"generic")?Q.json:E(Q,"module")?NQ(Q):i(`Unexpected resolution ${g(Q)}`)]),sZ=(Z,X)=>{let Q=X.indexOf(".");if(Q===-1)return;let U=X.slice(0,Q),J=Z[U];if(J===void 0)return;if(!E(J,"module"))return M(AY(U));let $=X.slice(Q+1),W=J[$];if(W===void 0)return sZ(J,$);if(E(W,"root")||E(W,"generic"))return W;if(E(W,"module"))return W.root??M(EQ(X));i(`Unexpected resolution for alias '${X}': ${g(W)}`)},_9=(Z,X)=>new rZ(Z,X),Z6,bQ=(Z,X)=>{let Q={};for(let U in X){let J=X[U];if(E(J,"module")){let $=bQ(Z,J),W=k($,(Y,G)=>[`${U}.${Y}`,G]);Object.assign(Q,W)}else if(E(J,"root")||E(J,"generic"))Q[U]=J;else i(`Unexpected scope resolution ${g(J)}`)}return Q},aZ=(Z)=>`'${Z}' is unresolvable`,AY=(Z)=>`'${Z}' must reference a module to be accessed using dot syntax`,EQ=(Z)=>`Reference to submodule '${Z}' must specify an alias`,o,t2,NM,a0;var oZ=R(()=>{b();u2();a8();W9();cZ();$9();DZ();a1();s();R1();V0();iZ={};T.ambient??={};V9=class V9{config;resolvedConfig;name;get[S0](){return"scope"}referencesById={};references=[];resolutions={};exportedNames=[];aliases={};resolved=!1;nodesByHash={};intrinsic;constructor(Z,X){if(this.config=h4(T.config,X),this.resolvedConfig=h4(T.resolvedConfig,X),this.name=this.resolvedConfig.name??`anonymousScope${Object.keys(iZ).length}`,this.name in iZ)M(`A Scope already named ${this.name} already exists`);iZ[this.name]=this;let Q=Object.entries(Z).map((U)=>this.preparseOwnAliasEntry(...U));for(let[U,J]of Q){let $=U;if(U[0]==="#"){if($=U.slice(1),$ in this.aliases)M(wQ($));this.aliases[$]=J}else{if($ in this.aliases)M(wQ(U));this.aliases[$]=J,this.exportedNames.push($)}if(!E(J,"module")&&!E(J,"generic")&&!i1(J)){let W=this.preparseOwnDefinitionFormat(J,{alias:$});this.resolutions[$]=E(W,"root")?this.bindReference(W):this.createParseContext(W).id}}PQ??=this.node("union",{branches:["string","number","object","bigint","symbol",{unit:!0},{unit:!1},{unit:void 0},{unit:null}]},{prereduced:!0}),this.nodesByHash[PQ.hash]=this.node("intersection",{},{prereduced:!0}),this.intrinsic=T.intrinsic?k(T.intrinsic,(U,J)=>U.startsWith("json")?[]:[U,this.bindReference(J)]):{}}cacheGetter(Z,X){return Object.defineProperty(this,Z,{value:X}),X}get internal(){return this}_json;get json(){if(!this._json)this.export();return this._json}defineSchema(Z){return Z}generic=(...Z)=>{let X=this;return(Q,U)=>new e1(Z,U?new e6(Q):Q,X,X,U??null)};units=(Z,X)=>{let Q=[];for(let J of Z)if(!Q.includes(J))Q.push(J);let U=Q.map((J)=>this.node("unit",{unit:J},X));return this.node("union",U,{...X,prereduced:!0})};lazyResolutions=[];lazilyResolve(Z,X){let Q=this.node("alias",{reference:X??"synthetic",resolve:Z},{prereduced:!0});if(!this.resolved)this.lazyResolutions.push(Q);return Q}schema=(Z,X)=>this.finalize(this.parseSchema(Z,X));parseSchema=(Z,X)=>this.node(d4(Z),Z,X);preparseNode(Z,X,Q){let U=typeof Z==="string"?Z:d4(X,Z);if(Q0(X)&&X.kind===U)return X;if(U==="alias"&&!Q?.prereduced){let{reference:W}=n4.implementation.normalize(X,this);if(W.startsWith("$")){let Y=this.resolveRoot(W.slice(1));X=Y,U=Y.kind}}else if(U==="union"&&E0(X,"object")){let W=DY(X);if(W?.length===1)X=W[0],U=d4(X)}if(Q0(X)&&X.kind===U)return X;let $=i2[U].normalize?.(X,this)??X;if(Q0($))return $.kind===U?$:wY(U,$.kind);return{...Q,$:this,kind:U,def:$,prefix:Q.alias??U}}bindReference(Z){let X;if(Q0(Z))X=Z.$===this?Z:new Z.constructor(Z.attachments,this);else X=Z.$===this?Z:new e1(Z.params,Z.bodyDef,Z.$,this,Z.hkt);if(!this.resolved)Object.assign(this.referencesById,X.referencesById);return X}resolveRoot(Z){return this.maybeResolveRoot(Z)??M(aZ(Z))}maybeResolveRoot(Z){let X=this.maybeResolve(Z);if(E(X,"generic"))return;return X}maybeResolveSubalias(Z){return sZ(this.aliases,Z)??sZ(this.ambient,Z)}get ambient(){return T.ambient}maybeResolve(Z){let X=this.resolutions[Z];if(X){if(typeof X!=="string")return this.bindReference(X);let U=j0[X];if(E(U,"root"))return this.resolutions[Z]=U;if(E(U,"context")){if(U.phase==="resolving")return this.node("alias",{reference:`$${Z}`},{prereduced:!0});if(U.phase==="resolved")return i(`Unexpected resolved context for was uncached by its scope: ${g(U)}`);U.phase="resolving";let J=this.bindReference(this.parseOwnDefinitionFormat(U.def,U));return U.phase="resolved",j0[J.id]=J,j0[U.id]=J,this.resolutions[Z]=J}return i(`Unexpected nodesById entry for ${X}: ${g(U)}`)}let Q=this.aliases[Z]??this.ambient?.[Z];if(!Q)return this.maybeResolveSubalias(Z);if(Q=this.normalizeRootScopeValue(Q),E(Q,"generic"))return this.resolutions[Z]=this.bindReference(Q);if(E(Q,"module")){if(!Q.root)M(EQ(Z));return this.resolutions[Z]=this.bindReference(Q.root)}return this.resolutions[Z]=this.parse(Q,{alias:Z})}createParseContext(Z){let X=Z.id??MZ(Z.prefix);return j0[X]=Object.assign(Z,{[S0]:"context",$:this,id:X,phase:"unresolved"})}traversal(Z){return new $1(Z,this.resolvedConfig)}import(...Z){return new n2(k(this.export(...Z),(X,Q)=>[`#${X}`,Q]))}precompilation;_exportedResolutions;_exports;export(...Z){if(!this._exports){this._exports={};for(let Q of this.exportedNames){let U=this.aliases[Q];this._exports[Q]=E(U,"module")?dZ(U,this):AQ(this.maybeResolve(Q))}for(let Q of this.lazyResolutions)Q.resolution;if(this._exportedResolutions=bQ(this,this._exports),this._json=NQ(this._exportedResolutions),Object.assign(this.resolutions,this._exportedResolutions),this.references=Object.values(this.referencesById),!this.resolvedConfig.jitless){let Q=CQ(this.references);this.precompilation=Q.write(SQ,4),jQ(this.references,Q)}this.resolved=!0}let X=Z.length?Z:this.exportedNames;return new n2(k(X,(Q,U)=>[U,this._exports[U]]))}resolve(Z){return this.export()[Z]}node=(Z,X,Q={})=>{let U=this.preparseNode(Z,X,Q);if(Q0(U))return this.bindReference(U);let J=this.createParseContext(U),$=RZ(J),W=this.bindReference($);return j0[J.id]=W};parse=(Z,X={})=>this.finalize(this.parseDefinition(Z,X));parseDefinition(Z,X={}){if(E(Z,"root"))return this.bindReference(Z);let Q=this.preparseOwnDefinitionFormat(Z,X);if(E(Q,"root"))return this.bindReference(Q);let U=this.createParseContext(Q);j0[U.id]=U;let J=this.bindReference(this.parseOwnDefinitionFormat(Z,U));if(J.isCyclic)J=s3(J,U.id);return j0[U.id]=J,J}finalize(Z){if(AQ(Z),!Z.precompilation&&!this.resolvedConfig.jitless)PY(Z.references);return Z}};rZ=class rZ extends V9{parseOwnDefinitionFormat(Z,X){return RZ(X)}preparseOwnDefinitionFormat(Z,X){return this.preparseNode(d4(Z),Z,X)}preparseOwnAliasEntry(Z,X){return[Z,X]}normalizeRootScopeValue(Z){return Z}};Z6=new rZ({});Z6.export();o=Z6.schema,t2=Z6.node,NM=Z6.defineSchema,a0=Z6.generic});var nZ="^(?:0|[1-9]\\d*)$",SY,fM;var fQ=R(()=>{s();SY=new RegExp(nZ),fM=W0(SY)});var IQ,yQ,jY,I;var Y9=R(()=>{oZ();s();fQ();IQ=_9({bigint:"bigint",boolean:[{unit:!1},{unit:!0}],false:{unit:!1},never:[],null:{unit:null},number:"number",object:"object",string:"string",symbol:"symbol",true:{unit:!0},unknown:{},undefined:{unit:void 0},Array,Date},{prereducedAliases:!0}).export();T.intrinsic={...IQ};yQ=_9({integer:{domain:"number",divisor:1},lengthBoundable:["string",Array],key:["string","symbol"],nonNegativeIntegerString:{domain:"string",pattern:nZ}},{prereducedAliases:!0}).export();Object.assign(T.intrinsic,yQ);jY=_9({jsonPrimitive:["string","number",{unit:!0},{unit:!1},{unit:null}],jsonObject:{domain:"object",index:{signature:"string",value:"$jsonData"}},jsonData:["$jsonPrimitive","$jsonObject"]},{prereducedAliases:!0}).export(),I={...IQ,...yQ,...jY,emptyStructure:t2("structure",{},{prereduced:!0})};T.intrinsic={...I}});var kQ=()=>{};var gQ=()=>{};var vQ=()=>{};var _0=R(()=>{b();u2();m0();a8();Y9();W9();cZ();D2();$9();n8();XZ();UZ();e8();$Z();HZ();YZ();LZ();VZ();zZ();BZ();g1();wZ();AZ();jZ();CZ();Z2();EZ();IZ();oZ();a1();kQ();G0();m4();a();i0();gQ();s();vQ();n1();R1();V0();kZ();s2();s4();vZ();mZ();lZ()});var z9=(Z,X)=>new RegExp(Z,X);var xQ=R(()=>{Object.assign(z9,{as:z9})});var hQ=R(()=>{xQ()});var mQ=R(()=>{u2()});var pQ=(Z)=>typeof Z==="string"&&Z[0]==="d"&&(Z[1]==="'"||Z[1]==='"')&&Z[Z.length-1]===Z[1],uQ=(Z)=>Z.toString()!=="Invalid Date",lQ=(Z)=>Z.slice(2,-1),tZ=(Z)=>`'${Z}' could not be parsed by the Date constructor`,dQ=(Z,X)=>CY(Z,X),CY=(Z,X)=>{let Q=new Date(Z);if(uQ(Q))return Q;let U=J3(Z);if(U!==void 0){let J=new Date(U);if(uQ(J))return J}return X?M(X===!0?tZ(Z):X):void 0};var eZ=R(()=>{b()});var NY,H9=(Z,X)=>{let Q=Z.scanner.shiftUntilEscapable(EY[sQ[X]]);if(Z.scanner.lookahead==="")return Z.error(IY(Q,X));if(Z.scanner.shift(),X in iQ){let U;try{U=new RegExp(Q)}catch(J){M(String(J))}if(Z.root=Z.ctx.$.node("intersection",{domain:"string",pattern:Q},{prereduced:!0}),X==="x/")Z.root=Z.ctx.$.node("morph",{in:Z.root,morphs:(J)=>U.exec(J),declaredOut:NY})}else if(F0(X,ZX))Z.root=Z.ctx.$.node("unit",{unit:Q});else{let U=dQ(Q,tZ(Q));Z.root=Z.ctx.$.node("unit",{meta:Q,unit:U})}},ZX,cQ,bY,iQ,sQ,EY,fY,IY=(Z,X)=>`${X}${Z} requires a closing ${fY[sQ[X]]}`;var rQ=R(()=>{_0();b();eZ();NY=o({proto:"Array",sequence:"string",required:{key:"groups",value:["object",{unit:void 0}]}}),ZX={"'":1,'"':1},cQ={"/":1,"'":1,'"':1},bY={"d'":"'",'d"':'"',"'":"'",'"':'"'},iQ={"/":"/","x/":"/"},sQ={...bY,...iQ},EY={"'":(Z)=>Z.lookahead==="'",'"':(Z)=>Z.lookahead==='"',"/":(Z)=>Z.lookahead==="/"},fY={'"':"double-quote","'":"single-quote","/":"forward slash"}});var aQ=(Z)=>`Private type references should not include '#'. Use '${Z}' instead.`,F9="Optional definitions like 'string?' are only valid as properties in an object or tuple",B9="Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple";var T1,oQ=(Z,X)=>Z===">"?X[0]==="="?X[1]==="=":X.trimStart()===""||F0(X.trimStart()[0],T1):Z==="="?X[0]!=="=":Z===","||Z==="?";var e2=R(()=>{b();T1={"<":1,">":1,"=":1,"|":1,"&":1,")":1,"[":1,"%":1,",":1,":":1,"?":1,"#":1,...s1}});var nQ=(Z,X,Q)=>tQ(Z,X,Q,[]),tQ=(Z,X,Q,U)=>{let J=Q.parseUntilFinalizer();if(U.push(J.root),J.finalizer===">"){if(U.length!==X.params.length)return Q.error(XX(Z,X.names,U.map(($)=>$.expression)));return U}if(J.finalizer===",")return tQ(Z,X,Q,U);return J.error(s6(">"))},XX=(Z,X,Q)=>`${Z}<${X.join(", ")}> requires exactly ${X.length} args (got ${Q.length}${Q.length===0?"":`: ${Q.join(", ")}`})`;var eQ=R(()=>{b()});var M9=(Z)=>{let X=Z.scanner.shiftUntilLookahead(T1);if(X==="keyof")Z.addPrefix("keyof");else Z.root=kY(Z,X)},yY=(Z,X,Q)=>{if(Q.scanner.shiftUntilNonWhitespace(),Q.scanner.shift()!=="<")return Q.error(XX(Z,X.names,[]));let J=nQ(Z,X,Q);return X(...J)},kY=(Z,X)=>gY(Z,X)??vY(Z,X)??Z.error(X===""?Z.scanner.lookahead==="#"?aQ(Z.shiftedBy(1).scanner.shiftUntilLookahead(T1)):QX(Z):aZ(X)),gY=(Z,X)=>{if(Z.ctx.args?.[X]){let U=Z.ctx.args[X];if(typeof U!=="string")return U;return Z.ctx.$.node("alias",{reference:U},{prereduced:!0})}let Q=Z.ctx.$.maybeResolve(X);if(E(Q,"root"))return Q;if(Q===void 0)return;if(E(Q,"generic"))return yY(X,Q,Z);return M(`Unexpected resolution ${g(Q)}`)},vY=(Z,X)=>{let Q=$3(X);if(Q!==void 0)return Z.ctx.$.node("unit",{unit:Q});let U=Y3(X);if(U!==void 0)return Z.ctx.$.node("unit",{unit:U})},QX=(Z)=>{let X=Z.previousOperator();return X?UX(X,Z.scanner.unscanned):xY(Z.scanner.unscanned)},UX=(Z,X="")=>`Token '${Z}' requires a right operand${X?` before '${X}'`:""}`,xY=(Z)=>`Expected an expression${Z?` before '${Z}'`:""}`;var JX=R(()=>{_0();b();e2();eQ()});var $X=(Z)=>Z.scanner.lookahead===""?Z.error(QX(Z)):Z.scanner.lookahead==="("?Z.shiftedBy(1).reduceGroupOpen():Z.scanner.lookaheadIsIn(cQ)?H9(Z,Z.scanner.shift()):Z.scanner.lookaheadIsIn(s1)?$X(Z.shiftedBy(1)):Z.scanner.lookahead==="d"?Z.scanner.nextLookahead in ZX?H9(Z,`${Z.scanner.shift()}${Z.scanner.shift()}`):M9(Z):Z.scanner.lookahead==="x"?Z.scanner.nextLookahead==="/"?Z.shiftedBy(2)&&H9(Z,"x/"):M9(Z):M9(Z);var Z5=R(()=>{b();rQ();JX()});var X5,Q5,Z4,U5=(Z,X)=>`Left bounds are only valid when paired with right bounds (try ...${X}${Z})`,R9=(Z)=>`Left-bounded expressions must specify their limits using < or <= (was ${Z})`,J5=(Z,X,Q,U)=>`An expression may have at most one left bound (parsed ${Z}${Z4[X]}, ${Q}${Z4[U]})`;var WX=R(()=>{X5={">":!0,">=":!0},Q5={"<":!0,"<=":!0},Z4={"<":">",">":"<","<=":">=",">=":"<=","==":"=="}});var W5=(Z,X)=>{let Q=hY(Z,X);if(Z.root.hasKind("unit")){if(typeof Z.root.unit==="number"){Z.reduceLeftBound(Z.root.unit,Q),Z.unsetRoot();return}if(Z.root.unit instanceof Date){let U=`d'${Z.root.description??Z.root.unit.toISOString()}'`;Z.unsetRoot(),Z.reduceLeftBound(U,Q);return}}return uY(Z,Q)},Y5,hY=(Z,X)=>Z.scanner.lookaheadIs("=")?`${X}${Z.scanner.shift()}`:X,$5=(Z,X,Q,U)=>{if(Q.extends(T.intrinsic.number)){if(typeof X!=="number")return M(YX(Z,X,U));return Z==="=="?["min","max"]:Z[0]===">"?["min"]:["max"]}if(Q.extends(T.intrinsic.lengthBoundable)){if(typeof X!=="number")return M(YX(Z,X,U));return Z==="=="?["exactLength"]:Z[0]===">"?["minLength"]:["maxLength"]}if(Q.extends(T.intrinsic.Date))return Z==="=="?["after","before"]:Z[0]===">"?["after"]:["before"];return M(y3(Q.expression))},mY=(Z)=>({rule:pQ(Z.limit)?lQ(Z.limit):Z.limit,exclusive:Z.comparator.length===1}),uY=(Z,X)=>{let Q=Z.unsetRoot(),U=Z.scanner.location;Z.parseOperand();let J=Z.unsetRoot(),$=Z.scanner.sliceChars(U,Z.scanner.location);if(Z.root=Q,!J.hasKind("unit")||typeof J.unit!=="number"&&!(J.unit instanceof Date))return Z.error(YX(X,$,"right"));let W=J.unit,Y=X.length===1,G=$5(X,typeof W==="number"?W:$,Q,"right");for(let q of G)Z.constrainRoot(q,X==="=="?{rule:W}:{rule:W,exclusive:Y});if(!Z.branches.leftBound)return;if(!F0(X,Q5))return Z.error(R9(X));let L=$5(Z.branches.leftBound.comparator,Z.branches.leftBound.limit,Q,"left");Z.constrainRoot(L[0],mY(Z.branches.leftBound)),Z.branches.leftBound=null},YX=(Z,X,Q)=>`Comparator ${Q==="left"?Z4[Z]:Z} must be ${Q==="left"?"preceded":"followed"} by a corresponding literal (was ${X})`;var G5=R(()=>{_0();b();WX();eZ();Y5={"<":1,">":1,"=":1}});var L5=(Z)=>{Z.scanner.shiftUntilNonWhitespace();let X=Z.scanner.shiftUntilLookahead(T1);Z.root=Z.root.brand(X)};var q5=R(()=>{e2()});var _5=(Z)=>{Z.scanner.shiftUntilNonWhitespace();let X=Z.scanner.shiftUntilLookahead(T1),Q=W3(X,{errorOnFail:V5(X)});if(Q===0)Z.error(V5(0));Z.root=Z.root.constrain("divisor",Q)},V5=(Z)=>`% operator must be followed by a non-zero integer literal (was ${Z})`;var z5=R(()=>{b();e2()});var GX=(Z)=>{let X=Z.scanner.shift();return X===""?Z.finalize(""):X==="["?Z.scanner.shift()==="]"?Z.setRoot(Z.root.array()):Z.error(pY):X==="|"?Z.scanner.lookahead===">"?Z.shiftedBy(1).pushRootToBranch("|>"):Z.pushRootToBranch(X):X==="&"?Z.pushRootToBranch(X):X===")"?Z.finalizeGroup():oQ(X,Z.scanner.unscanned)?Z.finalize(X):F0(X,Y5)?W5(Z,X):X==="%"?_5(Z):X==="#"?L5(Z):(X in s1)?GX(Z):Z.error(O9(X))},O9=(Z,X="")=>`'${Z}' is not allowed here${X&&` (should be ${X})`}`,pY="Missing expected ']'";var LX=R(()=>{b();e2();G5();q5();z5()});var H5=(Z)=>{let X=Z.unsetRoot();Z.parseOperand();let Q=Z.unsetRoot();if(!Q.hasKind("unit"))return Z.error(lY(Q.expression));let U=Q.unit instanceof Date?()=>new Date(Q.unit):Q.unit;return[X,"=",U]},lY=(Z)=>`Default value '${Z}' must be a literal value`;var qX=(Z,X)=>{let Q=X.$.maybeResolveRoot(Z);if(Q)return Q;if(Z.endsWith("[]")){let $=X.$.maybeResolveRoot(Z.slice(0,-2));if($)return $.array()}let U=new X4(new v4(Z),X),J=dY(U);if(U.finalizer===">")M(O9(">"));return J},dY=(Z)=>{Z.parseOperand();let X=X6(Z).root;if(!X)return i(`Root was unexpectedly unset after parsing string '${Z.scanner.scanned}'`);if(Z.finalizer==="=")X=H5(Z);else if(Z.finalizer==="?")X=[X,"?"];if(Z.scanner.shiftUntilNonWhitespace(),Z.scanner.lookahead)M(O9(Z.scanner.lookahead));return X},X6=(Z)=>{while(Z.finalizer===void 0)cY(Z);return Z},cY=(Z)=>Z.hasRoot()?Z.parseOperator():Z.parseOperand();var T9=R(()=>{b();VX();LX()});class X4{root;branches={prefixes:[],leftBound:null,intersection:null,union:null,pipe:null};finalizer;groups=[];scanner;ctx;constructor(Z,X){this.scanner=Z,this.ctx=X}error(Z){return M(Z)}hasRoot(){return this.root!==void 0}setRoot(Z){this.root=Z}unsetRoot(){let Z=this.root;return this.root=void 0,Z}constrainRoot(...Z){this.root=this.root.constrain(Z[0],Z[1])}finalize(Z){if(this.groups.length)return this.error(s6(")"));this.finalizeBranches(),this.finalizer=Z}reduceLeftBound(Z,X){let Q=Z4[X];if(!F0(Q,X5))return this.error(R9(X));if(this.branches.leftBound)return this.error(J5(this.branches.leftBound.limit,this.branches.leftBound.comparator,Z,Q));this.branches.leftBound={comparator:Q,limit:Z}}finalizeBranches(){if(this.assertRangeUnset(),this.branches.pipe){this.pushRootToBranch("|>"),this.root=this.branches.pipe;return}if(this.branches.union){this.pushRootToBranch("|"),this.root=this.branches.union;return}if(this.branches.intersection){this.pushRootToBranch("&"),this.root=this.branches.intersection;return}this.applyPrefixes()}finalizeGroup(){this.finalizeBranches();let Z=this.groups.pop();if(!Z)return this.error(z3(")",this.scanner.unscanned));this.branches=Z}addPrefix(Z){this.branches.prefixes.push(Z)}applyPrefixes(){while(this.branches.prefixes.length){let Z=this.branches.prefixes.pop();this.root=Z==="keyof"?this.root.keyof():i(`Unexpected prefix '${Z}'`)}}pushRootToBranch(Z){this.assertRangeUnset(),this.applyPrefixes();let X=this.root;if(this.root=void 0,this.branches.intersection=this.branches.intersection?.rawAnd(X)??X,Z==="&")return;if(this.branches.union=this.branches.union?.rawOr(this.branches.intersection)??this.branches.intersection,this.branches.intersection=null,Z==="|")return;this.branches.pipe=this.branches.pipe?.rawPipeOnce(this.branches.union)??this.branches.union,this.branches.union=null}parseUntilFinalizer(){return X6(new X4(this.scanner,this.ctx))}parseOperator(){return GX(this)}parseOperand(){return $X(this)}assertRangeUnset(){if(this.branches.leftBound)return this.error(U5(this.branches.leftBound.limit,this.branches.leftBound.comparator))}reduceGroupOpen(){this.groups.push(this.branches),this.branches={prefixes:[],leftBound:null,union:null,intersection:null,pipe:null}}previousOperator(){return this.branches.leftBound?.comparator??this.branches.prefixes[this.branches.prefixes.length-1]??(this.branches.intersection?"&":this.branches.union?"|":this.branches.pipe?"|>":void 0)}shiftedBy(Z){return this.scanner.jumpForward(Z),this}}var VX=R(()=>{b();Z5();LX();T9();WX()});var iY="An empty string is not a valid generic parameter name",K9=(Z,X,Q)=>{Z.shiftUntilNonWhitespace();let U=Z.shiftUntilLookahead(T1);if(U===""){if(Z.lookahead===""&&X.length)return X;return M(iY)}return Z.shiftUntilNonWhitespace(),sY(Z,U,X,Q)},F5="extends ",sY=(Z,X,Q,U)=>{if(Z.shiftUntilNonWhitespace(),Z.unscanned.startsWith(F5))Z.jumpForward(F5.length);else{if(Z.lookahead===",")Z.shift();return Q.push(X),K9(Z,Q,U)}let J=X6(new X4(Z,U));return Q.push([X,J.root]),K9(Z,Q,U)};var _X=R(()=>{_0();b();VX();e2();T9()});var zX,B5,rY=`":" must be followed by exactly one return type e.g:
|
|
46
|
+
fn("string", ":", "number")(s => s.length)`;var M5=R(()=>{b();zX=class zX extends y0{constructor(Z){let X={$:Z,raw:Z.fn};super((...Q)=>{let U=Q.indexOf(":"),J=U===-1?Q.length-1:U-1,$=Q.slice(0,J+1),W=Z.parse($).assertHasKind("intersection"),Y=Z.intrinsic.unknown;if(U!==-1){if(U!==Q.length-2)return M(rY);Y=Z.parse(Q[U+1])}return(G)=>new B5(G,W,Y)},{attach:X})}};B5=class B5 extends y0{raw;params;returns;expression;constructor(Z,X,Q){let U=`typed ${Z.name}`,J={[U]:(...W)=>{let Y=X.assert(W),G=Z(...Y);return Q.assert(G)}}[U];super(J);this.raw=Z,this.params=X,this.returns=Q;let $=X.expression;if($[0]==="["&&$[$.length-1]==="]")$=$.slice(1,-1);else if($.endsWith("[]"))$=`...${$}`;this.expression=`(${$}) => ${Q?.expression??"unknown"}`}}});var HX,Q6,R5=(Z)=>Z.throw(),aY="A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')",oY="At most one key matcher may be specified per expression";var O5=R(()=>{_0();b();HX=class HX extends y0{$;constructor(Z){super((...X)=>new Q6(Z)(...X),{bind:Z});this.$=Z}in(Z){return new Q6(this.$,Z===void 0?void 0:this.$.parse(Z))}at(Z,X){return new Q6(this.$).at(Z,X)}case(Z,X){return new Q6(this.$).case(Z,X)}};Q6=class Q6 extends y0{$;in;key;branches=[];constructor(Z,X){super((Q)=>this.caseEntries(Object.entries(Q).map(([U,J])=>U==="default"?[U,J]:[this.$.parse(U),J])));this.$=Z,this.in=X}at(Z,X){if(this.key)M(oY);if(this.branches.length)M(aY);return this.key=Z,X?this.match(X):this}case(Z,X){return this.caseEntry(this.$.parse(Z),X)}caseEntry(Z,X){let U=(this.key?this.$.parse({[this.key]:Z}):Z).pipe(X);return this.branches.push(U),this}match(Z){return this(Z)}strings(Z){return this.caseEntries(Object.entries(Z).map(([X,Q])=>X==="default"?[X,Q]:[this.$.node("unit",{unit:X}),Q]))}caseEntries(Z){for(let X=0;X<Z.length;X++){let[Q,U]=Z[X];if(Q==="default"){if(X!==Z.length-1)M("default may only be specified as the last key of a switch definition");return this.default(U)}if(typeof U!=="function")return M(`Value for case "${Q}" must be a function (was ${H0(U)})`);this.caseEntry(Q,U)}return this}default(Z){if(typeof Z==="function")this.case(I.unknown,Z);let X={branches:this.branches,ordered:!0};if(Z==="never"||Z==="assert")X.meta={onFail:R5};let Q=this.$.node("union",X);if(!this.in)return this.$.finalize(Q);let U=this.in.pipe(Q);if(Z==="never"||Z==="assert")U=U.configureReferences({onFail:R5},"self");return this.$.finalize(U)}}});var D9=(Z,X)=>{if(Z0(Z)){if(Z[1]==="=")return[X.$.parseOwnDefinitionFormat(Z[0],X),"=",Z[2]];if(Z[1]==="?")return[X.$.parseOwnDefinitionFormat(Z[0],X),"?"]}return w9(Z,X)},T5="Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }",K5="Only required keys may specify default values, e.g. { value: 'number = 0' }";var FX=R(()=>{b();BX()});var D5=(Z,X)=>{let Q,U={},J=B2(Z);for(let[W,Y]of J){let G=eY(W);if(G.kind==="spread"){if(!M1(U))return M(tY);let H=X.$.parseOwnDefinitionFormat(Y,X);if(H.equals(I.object))continue;if(!H.hasKind("intersection")||!H.basis?.equals(I.object))return M(ZG(H.expression));Q=H.structure;continue}if(G.kind==="undeclared"){if(Y!=="reject"&&Y!=="delete"&&Y!=="ignore")M(nY(Y));U.undeclared=Y;continue}let L=D9(Y,X),q=G;if(G.kind==="required"){if(!Z0(L))MX(U,"required",{key:G.normalized,value:L},X);else MX(U,"optional",L[1]==="="?{key:G.normalized,value:L[0],default:L[2]}:{key:G.normalized,value:L[0]},X);continue}if(Z0(L)){if(L[1]==="?")M(T5);if(L[1]==="=")M(K5)}if(G.kind==="optional"){MX(U,"optional",{key:G.normalized,value:L},X);continue}let V=X.$.parseOwnDefinitionFormat(q.normalized,X),_=q9(V,L,X.$);if(_.index)U.index=u(U.index,_.index);if(_.required)U.required=u(U.required,_.required)}let $=X.$.node("structure",U);return X.$.parseSchema({domain:"object",structure:Q?.merge($)??$})},MX=(Z,X,Q,U)=>{Z[X]=u(Z[X],U.$.node(X,Q))},nY=(Z)=>`Value of '+' key must be 'reject', 'delete', or 'ignore' (was ${g(Z)})`,tY="Spread operator may only be used as the first key in an object",eY=(Z)=>typeof Z==="symbol"?{kind:"required",normalized:Z}:Z[Z.length-1]==="?"?Z[Z.length-2]===O2?{kind:"required",normalized:`${Z.slice(0,-2)}?`}:{kind:"optional",normalized:Z.slice(0,-1)}:Z[0]==="["&&Z[Z.length-1]==="]"?{kind:"index",normalized:Z.slice(1,-1)}:Z[0]===O2&&Z[1]==="["&&Z[Z.length-1]==="]"?{kind:"required",normalized:Z.slice(1)}:Z==="..."?{kind:"spread"}:Z==="+"?{kind:"undeclared"}:{kind:"required",normalized:Z==="\\..."?"...":Z==="\\+"?"+":Z},ZG=(Z)=>`Spread operand must resolve to an object literal type (was ${Z})`;var w5=R(()=>{_0();b();FX()});var A5=(Z,X)=>qG(Z)?N5[Z[0]](Z,X):GG(Z)?C5[Z[1]](Z,X):null,XG=(Z,X)=>X.$.parseOwnDefinitionFormat(Z[1],X).keyof(),RX=(Z,X)=>{if(Z[2]===void 0)return M(UX(Z[1],""));let Q=X.$.parseOwnDefinitionFormat(Z[0],X),U=X.$.parseOwnDefinitionFormat(Z[2],X);if(Z[1]==="|")return X.$.node("union",{branches:[Q,U]});let J=Z[1]==="&"?v0(Q,U,X.$):l4(Q,U,X.$);if(J instanceof j)return J.throw();return J},QG=(Z,X)=>X.$.parseOwnDefinitionFormat(Z[0],X).array(),UG=(Z,X)=>{if(typeof Z[2]!=="function")return M(S5("=>",Z[2]));return X.$.parseOwnDefinitionFormat(Z[0],X).pipe(Z[2])},S5=(Z,X)=>`${Z===":"?"Narrow":"Morph"} expression requires a function following '${Z}' (was ${typeof X})`,JG=(Z,X)=>{if(typeof Z[2]!=="function")return M(S5(":",Z[2]));return X.$.parseOwnDefinitionFormat(Z[0],X).constrain("predicate",Z[2])},$G=(Z,X)=>X.$.parseOwnDefinitionFormat(Z[0],X).configure(Z[2],Z[3]),j5=(Z)=>Z,WG,YG,C5,GG=(Z)=>C5[Z[1]]!==void 0,LG=(Z)=>Z,N5,qG=(Z)=>N5[Z[0]]!==void 0,P5=(Z)=>`Expected a constructor following 'instanceof' operator (was ${Z})`;var b5=R(()=>{_0();b();JX();WG=j5({"[]":QG,"?":()=>M(F9)}),YG=j5({"|":RX,"&":RX,":":JG,"=>":UG,"|>":RX,"@":$G,"=":()=>M(B9)}),C5={...WG,...YG},N5=LG({keyof:XG,instanceof:(Z,X)=>{if(typeof Z[1]!=="function")return M(P5(N4(Z[1])));let Q=Z.slice(1).map((U)=>typeof U==="function"?X.$.node("proto",{proto:U}):M(P5(N4(U))));return Q.length===1?Q[0]:X.$.node("union",{branches:Q})},"===":(Z,X)=>X.$.units(Z.slice(1))})});var I5=(Z,X)=>{let Q=[{}],U=0;while(U<Z.length){let J=!1;if(Z[U]==="..."&&U<Z.length-1)J=!0,U++;let $=D9(Z[U],X),[W,Y,G]=!Z0($)?[$]:$;if(U++,J){if(!W.extends(T.intrinsic.Array))return M(zG(W.expression));Q=Q.flatMap((L)=>W.distribute((q)=>_G(a6(L),q)))}else Q=Q.map((L)=>{if(Y==="?")return y5(L,W);if(Y==="=")return VG(L,W,G);return OX(L,W)})}return X.$.parseSchema(Q.map((J)=>M1(J)?{proto:Array,exactLength:0}:{proto:Array,sequence:J}))},OX=(Z,X)=>{if(Z.defaultables||Z.optionals)return M(Z.variadic?hZ:HG);if(Z.variadic)Z.postfix=u(Z.postfix,X);else Z.prefix=u(Z.prefix,X);return Z},y5=(Z,X)=>{if(Z.variadic)return M(k5);return Z.optionals=u(Z.optionals,X),Z},VG=(Z,X,Q)=>{if(Z.variadic)return M(k5);if(Z.optionals)return M(FG);return Z.defaultables=u(Z.defaultables,[[X,Q]]),Z},E5=(Z,X)=>{if(Z.postfix)M(f5);if(Z.variadic){if(!Z.variadic.equals(X))M(f5)}else Z.variadic=X.internal;return Z},_G=(Z,X)=>{let Q=X.select({method:"find",kind:"sequence"});if(!Q)return E5(Z,T.intrinsic.unknown);if(Q.prefix)for(let U of Q.prefix)OX(Z,U);if(Q.optionals)for(let U of Q.optionals)y5(Z,U);if(Q.variadic)E5(Z,Q.variadic);if(Q.postfix)for(let U of Q.postfix)OX(Z,U);return Z},zG=(Z)=>`Spread element must be an array (was ${Z})`,f5="A tuple may have at most one variadic element",HG="A required element may not follow an optional element",k5="An optional element may not follow a variadic element",FG="A defaultable element may not follow an optional element without a default";var g5=R(()=>{_0();b();FX()});var BG,w9=(Z,X)=>{if(typeof Z==="string"){if(X.args&&Object.keys(X.args).some((U)=>Z.includes(U)))return qX(Z,X);let Q=BG[X.$.name]??={};return Q[Z]??=qX(Z,X)}return E0(Z,"object")?MG(Z,X):M(TX(H0(Z)))},MG=(Z,X)=>{let Q=C4(Z);switch(Q){case void 0:if(E(Z,"root"))return Z;if("~standard"in Z)return RG(Z,X);return D5(Z,X);case"Array":return OG(Z,X);case"RegExp":return X.$.node("intersection",{domain:"string",pattern:Z},{prereduced:!0});case"Function":{let U=i1(Z)?Z():Z;if(E(U,"root"))return U;return M(TX("Function"))}default:return M(TX(Q??g(Z)))}},RG=(Z,X)=>X.$.intrinsic.unknown.pipe((Q,U)=>{let J=Z["~standard"].validate(Q);if(!J.issues)return J.value;for(let{message:$,path:W}of J.issues)if(W)if(W.length)U.error({problem:t7($),relativePath:W.map((Y)=>typeof Y==="object"?Y.key:Y)});else U.error({message:$});else U.error({message:$})}),OG=(Z,X)=>A5(Z,X)??I5(Z,X),TX=(Z)=>`Type definitions must be strings or objects (was ${Z})`;var BX=R(()=>{_0();b();w5();T9();b5();g5();BG={}});var KX;var DX=R(()=>{_0();b();KX=class KX extends y0{constructor(Z){let X=Object.assign({errors:k0,hkt:D0,$:Z,raw:Z.parse,module:Z.constructor.module,scope:Z.constructor.scope,declare:Z.declare,define:Z.define,match:Z.match,generic:Z.generic,schema:Z.schema,keywords:Z.ambient,unit:Z.unit,enumerated:Z.enumerated,instanceOf:Z.instanceOf,valueOf:Z.valueOf,or:Z.or,and:Z.and,merge:Z.merge,pipe:Z.pipe,fn:Z.fn},Z.ambientAttachments);super((...Q)=>{if(Q.length===1)return Z.parse(Q[0]);if(Q.length===2&&typeof Q[0]==="string"&&Q[0][0]==="<"&&Q[0][Q[0].length-1]===">"){let U=Q[0].slice(1,-1),J=Z.parseGenericParams(U,{});return new e1(J,Q[1],Z,Z,null)}return Z.parse(Q)},{attach:X})}}});var Q4,P9,U6,m;var Y1=R(()=>{_0();b();M5();_X();O5();BX();DX();Q4=T;P9=class P9 extends V9{get ambientAttachments(){if(!Q4.typeAttachments)return;return this.cacheGetter("ambientAttachments",k(Q4.typeAttachments,(Z,X)=>[Z,this.bindReference(X)]))}preparseOwnAliasEntry(Z,X){let Q=Z.indexOf("<");if(Q===-1){if(E(X,"module")||E(X,"generic"))return[Z,X];let $=this.name==="ark"?Z:Z==="root"?this.name:`${this.name}.${Z}`,W=this.resolvedConfig.keywords?.[$];if(W)X=[X,"@",W];return[Z,X]}if(Z[Z.length-1]!==">")M("'>' must be the last character of a generic declaration in a scope");let U=Z.slice(0,Q),J=Z.slice(Q+1,-1);return[U,()=>{let $=this.parseGenericParams(J,{alias:U});return E3($,X,this)}]}parseGenericParams(Z,X){return K9(new v4(Z),[],this.createParseContext({...X,def:Z,prefix:"generic"}))}normalizeRootScopeValue(Z){if(i1(Z)&&!E(Z,"generic"))return Z();return Z}preparseOwnDefinitionFormat(Z,X){return{...X,def:Z,prefix:X.alias??"type"}}parseOwnDefinitionFormat(Z,X){if(!(X.alias&&(X.alias in this.aliases))&&!X.args)X.args={this:X.id};let U=w9(Z,X);if(Z0(U)){if(U[1]==="=")return M(B9);if(U[1]==="?")return M(F9)}return U}unit=(Z)=>this.units([Z]);valueOf=(Z)=>this.units(g7(Z));enumerated=(...Z)=>this.units(Z);instanceOf=(Z)=>this.node("proto",{proto:Z},{prereduced:!0});or=(...Z)=>this.schema(Z.map((X)=>this.parse(X)));and=(...Z)=>Z.reduce((X,Q)=>X.and(this.parse(Q)),this.intrinsic.unknown);merge=(...Z)=>Z.reduce((X,Q)=>X.merge(this.parse(Q)),this.intrinsic.object);pipe=(...Z)=>this.intrinsic.unknown.pipe(...Z);fn=new zX(this);match=new HX(this);declare=()=>({type:this.type});define(Z){return Z}type=new KX(this);static scope=(Z,X={})=>new P9(Z,X);static module=(Z,X={})=>this.scope(Z,X).export()};U6=Object.assign(P9.scope,{define:(Z)=>Z}),m=P9});var v5,TG,x5;var h5=R(()=>{_0();b();Y1();v5=class v5 extends D0{description='merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'};TG=a0(["base",I.object],["props",I.object])((Z)=>Z.base.merge(Z.props),v5),x5=m.module({Key:I.key,Merge:TG})});var m5,KG,u5;var p5=R(()=>{_0();b();Y1();m5=class m5 extends D0{};KG=a0("element")((Z)=>{let X=Z.element.exclude(I.Array),Q=X.array();return X.rawOr(Q).pipe(c1).distribute((U)=>U.assertHasKind("morph").declareOut(Q),o)},m5),u5=m.module({root:I.Array,readonly:"root",index:I.nonNegativeIntegerString,liftFrom:KG},{name:"Array"})});var wX,DG,l5,d5;var c5=R(()=>{_0();b();Y1();wX=o(["string",T2.FileConstructor]),DG=wX.rawOr(wX.array()),l5=o({meta:"an object representing parsed form data",domain:"object",index:{signature:"string",value:DG}}),d5=m.module({root:["instanceof",FormData],value:wX,parsed:l5,parse:o({in:FormData,morphs:(Z)=>{let X={};for(let[Q,U]of Z)if(Q in X){let J=X[Q];if(typeof J==="string"||J instanceof T2.FileConstructor)X[Q]=[J,U];else J.push(U)}else X[Q]=U;return X},declaredOut:l5})},{name:"FormData"})});var i5;var s5=R(()=>{Y1();i5=m.module({Int8:["instanceof",Int8Array],Uint8:["instanceof",Uint8Array],Uint8Clamped:["instanceof",Uint8ClampedArray],Int16:["instanceof",Int16Array],Uint16:["instanceof",Uint16Array],Int32:["instanceof",Int32Array],Uint32:["instanceof",Uint32Array],Float32:["instanceof",Float32Array],Float64:["instanceof",Float64Array],BigInt64:["instanceof",BigInt64Array],BigUint64:["instanceof",BigUint64Array]},{name:"TypedArray"})});var wG,r5;var a5=R(()=>{b();Y1();p5();c5();s5();wG={Boolean:1,Number:1,String:1},r5=m.module({...k({...N8,...E8},(Z,X)=>(Z in wG)?[]:[Z,["instanceof",X]]),Array:u5,TypedArray:i5,FormData:d5})});var PG,AG,A9;var PX=R(()=>{_0();Y1();PG=o({domain:{domain:"number",meta:"a number representing a Unix timestamp"},divisor:{rule:1,meta:"an integer representing a Unix timestamp"},min:{rule:-8640000000000000,meta:"a Unix timestamp after -8640000000000000"},max:{rule:8640000000000000,meta:"a Unix timestamp before 8640000000000000"},meta:"an integer representing a safe Unix timestamp"}),AG=o({domain:"number",divisor:1}),A9=m.module({root:I.number,integer:AG,epoch:PG,safe:o({domain:{domain:"number",numberAllowsNaN:!1},min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER}),NaN:["===",Number.NaN],Infinity:["===",Number.POSITIVE_INFINITY],NegativeInfinity:["===",Number.NEGATIVE_INFINITY]},{name:"number"})});var $0=(Z,X,Q)=>{let U={domain:"string",pattern:{rule:Z.source,flags:Z.flags,meta:X}};if(Q)U.meta={format:Q};return t2("intersection",U)},o5,GU,SG,jG,n5,CG,NG=(Z)=>{let X=Z.replace(/[ -]+/g,""),Q=0,U,J,$=!1;for(let W=X.length-1;W>=0;W--){if(U=X.substring(W,W+1),J=Number.parseInt(U,10),$)J*=2,Q+=J>=10?J%10+1:J;else Q+=J;$=!$}return!!(Q%10===0?X:!1)},bG,EG,fG,IG=(Z)=>!Number.isNaN(new Date(Z).valueOf()),t5,e5,yG,ZU,kG,gG,vG,XU="(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",X2,xG,z0="(?:[0-9a-fA-F]{1,4})",hG,mG,U4="a JSON string",LU=(Z)=>{if(!(Z instanceof SyntaxError))throw Z;return`must be ${U4} (${Z})`},uG,pG=(Z,X)=>{if(Z.length===0)return X.error({code:"predicate",expected:U4,actual:"empty"});try{return JSON.parse(Z)}catch(Q){return X.error({code:"predicate",expected:U4,problem:LU(Q)})}},lG,QU,dG,qU,J6,S9,cG,iG,sG,rG,aG,UU,oG,JU="a regex pattern",nG,tG,eG,$U,ZL,WU,XL,QL=(Z)=>URL.canParse(Z),YU,UL,JL,VU;var _U=R(()=>{_0();b();Y1();PX();o5=$0(f4,"a well-formed integer string"),GU=m.module({root:o5,parse:o({in:o5,morphs:(Z,X)=>{let Q=Number.parseInt(Z);return Number.isSafeInteger(Q)?Q:X.error("an integer in the range Number.MIN_SAFE_INTEGER to Number.MAX_SAFE_INTEGER")},declaredOut:I.integer})},{name:"string.integer"}),SG=$0(/^[\dA-Fa-f]+$/,"hex characters only"),jG=m.module({root:$0(/^(?:[\d+/A-Za-z]{4})*(?:[\d+/A-Za-z]{2}==|[\d+/A-Za-z]{3}=)?$/,"base64-encoded"),url:$0(/^(?:[\w-]{4})*(?:[\w-]{2}(?:==|%3D%3D)?|[\w-]{3}(?:=|%3D)?)?$/,"base64url-encoded")},{name:"string.base64"}),n5=$0(/^[A-Z].*$/,"capitalized"),CG=m.module({root:o({in:"string",morphs:(Z)=>Z.charAt(0).toUpperCase()+Z.slice(1),declaredOut:n5}),preformatted:n5},{name:"string.capitalize"}),bG=/^(?:4\d{12}(?:\d{3,6})?|5[1-5]\d{14}|(222[1-9]|22[3-9]\d|2[3-6]\d{2}|27[01]\d|2720)\d{12}|6(?:011|5\d\d)\d{12,15}|3[47]\d{13}|3(?:0[0-5]|[68]\d)\d{11}|(?:2131|1800|35\d{3})\d{11}|6[27]\d{14}|^(81\d{14,17}))$/,EG=o({domain:"string",pattern:{meta:"a credit card number",rule:bG.source},predicate:{meta:"a credit card number",predicate:NG}}),fG=/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/,t5=o({domain:"string",predicate:{meta:"a parsable date",predicate:IG}}).assertHasKind("intersection"),e5=GU.root.internal.narrow((Z,X)=>{let Q=Number.parseInt(Z),U=A9.epoch(Q);if(U instanceof k0)return X.errors.merge(U),!1;return!0}).configure({description:"an integer string representing a safe Unix timestamp"},"self").assertHasKind("intersection"),yG=m.module({root:e5,parse:o({in:e5,morphs:(Z)=>new Date(Z),declaredOut:I.Date})},{name:"string.date.epoch"}),ZU=$0(fG,"an ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) date").internal.assertHasKind("intersection"),kG=m.module({root:ZU,parse:o({in:ZU,morphs:(Z)=>new Date(Z),declaredOut:I.Date})},{name:"string.date.iso"}),gG=m.module({root:t5,parse:o({declaredIn:t5,in:"string",morphs:(Z,X)=>{let Q=new Date(Z);if(Number.isNaN(Q.valueOf()))return X.error("a parsable date");return Q},declaredOut:I.Date}),iso:kG,epoch:yG},{name:"string.date"}),vG=$0(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/,"an email address","email"),X2=`(${XU}[.]){3}${XU}`,xG=new RegExp(`^${X2}$`),hG=new RegExp(`^((?:${z0}:){7}(?:${z0}|:)|(?:${z0}:){6}(?:${X2}|:${z0}|:)|(?:${z0}:){5}(?::${X2}|(:${z0}){1,2}|:)|(?:${z0}:){4}(?:(:${z0}){0,1}:${X2}|(:${z0}){1,3}|:)|(?:${z0}:){3}(?:(:${z0}){0,2}:${X2}|(:${z0}){1,4}|:)|(?:${z0}:){2}(?:(:${z0}){0,3}:${X2}|(:${z0}){1,5}|:)|(?:${z0}:){1}(?:(:${z0}){0,4}:${X2}|(:${z0}){1,6}|:)|(?::((?::${z0}){0,5}:${X2}|(?::${z0}){1,7}|:)))(%[0-9a-zA-Z.]{1,})?$`),mG=m.module({root:["v4 | v6","@","an IP address"],v4:$0(xG,"an IPv4 address","ipv4"),v6:$0(hG,"an IPv6 address","ipv6")},{name:"string.ip"}),uG=o({meta:U4,domain:"string",predicate:{meta:U4,predicate:(Z,X)=>{try{return JSON.parse(Z),!0}catch(Q){return X.reject({code:"predicate",expected:U4,problem:LU(Q)})}}}}),lG=m.module({root:uG,parse:o({meta:"safe JSON string parser",in:"string",morphs:pG,declaredOut:I.jsonObject})},{name:"string.json"}),QU=$0(/^[a-z]*$/,"only lowercase letters"),dG=m.module({root:o({in:"string",morphs:(Z)=>Z.toLowerCase(),declaredOut:QU}),preformatted:QU},{name:"string.lower"}),qU=["NFC","NFD","NFKC","NFKD"],J6=k(qU,(Z,X)=>[X,o({domain:"string",predicate:(Q)=>Q.normalize(X)===Q,meta:`${X}-normalized unicode`})]),S9=k(qU,(Z,X)=>[X,o({in:"string",morphs:(Q)=>Q.normalize(X),declaredOut:J6[X]})]),cG=m.module({root:S9.NFC,preformatted:J6.NFC},{name:"string.normalize.NFC"}),iG=m.module({root:S9.NFD,preformatted:J6.NFD},{name:"string.normalize.NFD"}),sG=m.module({root:S9.NFKC,preformatted:J6.NFKC},{name:"string.normalize.NFKC"}),rG=m.module({root:S9.NFKD,preformatted:J6.NFKD},{name:"string.normalize.NFKD"}),aG=m.module({root:"NFC",NFC:cG,NFD:iG,NFKC:sG,NFKD:rG},{name:"string.normalize"}),UU=$0(d6,"a well-formed numeric string"),oG=m.module({root:UU,parse:o({in:UU,morphs:(Z)=>Number.parseFloat(Z),declaredOut:I.number})},{name:"string.numeric"}),nG=o({domain:"string",predicate:{meta:JU,predicate:(Z,X)=>{try{return new RegExp(Z),!0}catch(Q){return X.reject({code:"predicate",expected:JU,problem:String(Q)})}}},meta:{format:"regex"}}),tG=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[A-Za-z-][\dA-Za-z-]*)(?:\.(?:0|[1-9]\d*|\d*[A-Za-z-][\dA-Za-z-]*))*))?(?:\+([\dA-Za-z-]+(?:\.[\dA-Za-z-]+)*))?$/,eG=$0(tG,"a semantic version (see https://semver.org/)"),$U=$0(/^\S.*\S$|^\S?$/,"trimmed"),ZL=m.module({root:o({in:"string",morphs:(Z)=>Z.trim(),declaredOut:$U}),preformatted:$U},{name:"string.trim"}),WU=$0(/^[A-Z]*$/,"only uppercase letters"),XL=m.module({root:o({in:"string",morphs:(Z)=>Z.toUpperCase(),declaredOut:WU}),preformatted:WU},{name:"string.upper"}),YU=o({domain:"string",predicate:{meta:"a URL string",predicate:QL},meta:{format:"uri"}}),UL=m.module({root:YU,parse:o({declaredIn:YU,in:"string",morphs:(Z,X)=>{try{return new URL(Z)}catch{return X.error("a URL string")}},declaredOut:o(URL)})},{name:"string.url"}),JL=m.module({root:["versioned | nil | max","@",{description:"a UUID",format:"uuid"}],"#nil":"'00000000-0000-0000-0000-000000000000'","#max":"'ffffffff-ffff-ffff-ffff-ffffffffffff'","#versioned":/[\da-f]{8}-[\da-f]{4}-[1-8][\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}/i,v1:$0(/^[\da-f]{8}-[\da-f]{4}-1[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv1"),v2:$0(/^[\da-f]{8}-[\da-f]{4}-2[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv2"),v3:$0(/^[\da-f]{8}-[\da-f]{4}-3[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv3"),v4:$0(/^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv4"),v5:$0(/^[\da-f]{8}-[\da-f]{4}-5[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv5"),v6:$0(/^[\da-f]{8}-[\da-f]{4}-6[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv6"),v7:$0(/^[\da-f]{8}-[\da-f]{4}-7[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv7"),v8:$0(/^[\da-f]{8}-[\da-f]{4}-8[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv8")},{name:"string.uuid"}),VU=m.module({root:I.string,alpha:$0(/^[A-Za-z]*$/,"only letters"),alphanumeric:$0(/^[\dA-Za-z]*$/,"only letters and digits 0-9"),hex:SG,base64:jG,capitalize:CG,creditCard:EG,date:gG,digits:$0(/^\d*$/,"only digits 0-9"),email:vG,integer:GU,ip:mG,json:lG,lower:dG,normalize:aG,numeric:oG,regex:nG,semver:eG,trim:ZL,upper:XL,url:UL,uuid:JL},{name:"string"})});var zU,HU,$L,FU,BU,WL,MU,YL,RU,GL,OU,LL,TU,qL,KU,VL,DU,_L,wU;var PU=R(()=>{_0();b();Y1();zU=m.module({bigint:I.bigint,boolean:I.boolean,false:I.false,never:I.never,null:I.null,number:I.number,object:I.object,string:I.string,symbol:I.symbol,true:I.true,unknown:I.unknown,undefined:I.undefined}),HU=m.module({root:I.unknown,any:I.unknown},{name:"unknown"}),$L=m.module({root:I.jsonObject,stringify:t2("morph",{in:I.jsonObject,morphs:(Z)=>JSON.stringify(Z),declaredOut:I.string})},{name:"object.json"}),FU=m.module({root:I.object,json:$L},{name:"object"});BU=class BU extends D0{description='instantiate an object from an index signature and corresponding value type like `Record("string", "number")`'};WL=a0(["K",I.key],"V")((Z)=>({domain:"object",index:{signature:Z.K,value:Z.V}}),BU);MU=class MU extends D0{description='pick a set of properties from an object like `Pick(User, "name | age")`'};YL=a0(["T",I.object],["K",I.key])((Z)=>Z.T.pick(Z.K),MU);RU=class RU extends D0{description='omit a set of properties from an object like `Omit(User, "age")`'};GL=a0(["T",I.object],["K",I.key])((Z)=>Z.T.omit(Z.K),RU);OU=class OU extends D0{description="make all named properties of an object optional like `Partial(User)`"};LL=a0(["T",I.object])((Z)=>Z.T.partial(),OU);TU=class TU extends D0{description="make all named properties of an object required like `Required(User)`"};qL=a0(["T",I.object])((Z)=>Z.T.required(),TU);KU=class KU extends D0{description='exclude branches of a union like `Exclude("boolean", "true")`'};VL=a0("T","U")((Z)=>Z.T.exclude(Z.U),KU);DU=class DU extends D0{description='extract branches of a union like `Extract("0 | false | 1", "number")`'};_L=a0("T","U")((Z)=>Z.T.extract(Z.U),DU),wU=m.module({Exclude:VL,Extract:_L,Omit:GL,Partial:LL,Pick:YL,Record:WL,Required:qL})});var v1,B0,G1,zL,HL,FL,qK,BL,ML;var AU=R(()=>{Y1();h5();a5();PX();_U();PU();v1=U6({...zU,...wU,...r5,...x5,string:VU,number:A9,object:FU,unknown:HU},{prereducedAliases:!0,name:"ark"}),B0=v1.export();Object.assign(Q4.ambient,B0);Q4.typeAttachments={string:B0.string.root,number:B0.number.root,bigint:B0.bigint,boolean:B0.boolean,symbol:B0.symbol,undefined:B0.undefined,null:B0.null,object:B0.object.root,unknown:B0.unknown.root,false:B0.false,true:B0.true,never:B0.never,arrayIndex:B0.Array.index,Key:B0.Key,Record:B0.Record,Array:B0.Array.root,Date:B0.Date};G1=Object.assign(v1.type,Q4.typeAttachments),zL=v1.match,HL=v1.fn,FL=v1.generic,qK=v1.schema,BL=v1.define,ML=v1.declare});var SU=R(()=>{_0()});var AX=R(()=>{_0();b();hQ();_X();AU();SU();Y1();DX();mQ()});class C0{static evaluate(Z,X){if(Z===null||Z===void 0)return console.error(`Error evaluating expression: ${Z}`),null;try{if(Z.includes("${")){let Q=this.interpolate(Z,X);if(!isNaN(Number(Q))&&Q.trim()!=="")return Number(Q);return Q}return this.evaluateExpression(Z,X)}catch(Q){return console.error(`Error evaluating expression: ${Z}`,Q),null}}static interpolate(Z,X){return Z.replace(j9.TEMPLATE_INTERPOLATION,(Q,U)=>{try{let J=this.evaluateExpression(U,X);if(J===void 0||J===null)return"undefined";return String(J)}catch(J){return console.error(`Error in interpolation: ${Q}`,J),Q}})}static evaluateMathExpression(Z){try{return Function("Math",`return ${Z}`)(Math)}catch(X){throw Error(`Error evaluating mathematical expression: ${Z}`)}}static evaluateExpression(Z,X){if(j9.NESTED_PROPERTY_ACCESS.test(Z))return this.getNestedValue(Z,X);if(j9.SINGLE_LEVEL_ACCESS.test(Z))return this.getNestedValue(Z,X);try{return Function("context","with(context) { return "+Z+" }")(X)}catch(Q){return console.error(`ERROR evaluating expression '${Z}':`,Q),Z}}static getNestedValue(Z,X){let Q=Z.split("."),U=X;for(let J of Q){if(U===null||U===void 0||typeof U!=="object"||!(J in U))return;U=U[J]}return U}static findVariableInContext(Z,X){let Q=this.getNestedValue(Z,X);if(Q!==void 0)return Q;for(let U of jU){let J=`${U}.${Z}`,$=this.getNestedValue(J,X);if($!==void 0)return $}return}static evaluateMath(Z,X){let Q=Z;Q=Q.replace(/\b(data|vars|env|state|request|computed)(\.[a-zA-Z_][a-zA-Z0-9_]*)+/g,(U)=>{let J=this.getNestedValue(U,X);if(J!==void 0)return typeof J==="string"?`"${J}"`:String(J);return U}),Q=Q.replace(j9.WORD_BOUNDARY,(U)=>{if(OL.includes(U))return U;if(jU.has(U))return U;let J=this.findVariableInContext(U,X);if(J!==void 0)return typeof J==="string"?`"${J}"`:String(J);return U});try{return this.evaluateMathExpression(Q)}catch(U){return console.error(`Error in mathematical evaluation: ${Z}`,U),NaN}}}var RL,jU,o0,OL,j9;var $6=R(()=>{RL={DATA:"data",VARS:"vars",REQUEST:"request",COMPUTED:"computed",ENV:"env",EVENT:"event",TIMESTAMP:"timestamp"},jU=new Set(Object.values(RL)),o0={RANDOM:"random",FLOOR:"floor",CEIL:"ceil",ROUND:"round",SQRT:"sqrt",ABS:"abs",POW:"pow",MIN:"min",MAX:"max",SIN:"sin",COS:"cos",TAN:"tan"},OL=[o0.RANDOM,o0.FLOOR,o0.CEIL,o0.ROUND,o0.SQRT,o0.ABS,o0.POW,o0.MIN,o0.MAX,o0.SIN,o0.COS,o0.TAN],j9={TEMPLATE_INTERPOLATION:/\$\{([^}]+)\}/g,NESTED_PROPERTY_ACCESS:/^(data|vars|request|computed|env|state)(\.[a-zA-Z0-9_]+)+$/,SINGLE_LEVEL_ACCESS:/^(vars|env|state)(\.[a-zA-Z0-9_]+)$/,WORD_BOUNDARY:/\b[a-zA-Z_][a-zA-Z0-9_]*\b/g}});var SX={};h6(SX,{BuiltInAction:()=>P2,ActionRegistry:()=>W6});class W6{static instance;actions=new Map;constructor(Z=!0){if(Z)this.registerDefaults()}static getInstance(Z=!0){if(!this.instance)this.instance=new W6(Z);return this.instance}register(Z,X){let Q=Z.toUpperCase();if(typeof X==="function")this.actions.set(Q,{handler:X});else this.actions.set(Q,X)}get(Z){return this.actions.get(Z.toUpperCase())?.handler}getDefinition(Z){return this.actions.get(Z.toUpperCase())}getDefinitions(){let Z={};return this.actions.forEach((X,Q)=>{Z[Q]=X}),Z}get Handlers(){let Z=new Map;return this.actions.forEach((X,Q)=>{Z.set(Q,X.handler)}),Z}registerDefaults(){this.register(P2.LOG,{description:"Logs a message to the console with string interpolation support",params:G1({"message?":"string","content?":"string"}),returns:G1({message:"string"}),handler:(Z,X)=>{let Q=Z.params?.message||Z.params?.content||"Log Trigger",U=typeof Q==="string"?C0.interpolate(Q,X):String(Q);return console.log(`[TriggerLog] ${U}`),{message:U}}}),this.register(P2.MATH,{description:"Evaluates a mathematical expression or performs string concatenation",params:G1({expression:"string"}),returns:G1("number | string"),handler:(Z,X)=>{let Q=String(Z.params?.expression||"0");return C0.evaluate(Q,X)}}),this.register(P2.FORWARD,CU),this.register(P2.FETCH,CU)}}var P2,TL=async(Z,X)=>{let Q=Z.params?.url||"",U=typeof Q==="string"?C0.interpolate(Q,X):String(Q),J=String(Z.params?.method||"POST").toUpperCase();if(Z.params?.query&&typeof Z.params.query==="object"){let L=new URLSearchParams;for(let[V,_]of Object.entries(Z.params.query))if(_!==void 0&&_!==null){let H=typeof _==="string"?C0.interpolate(_,X):typeof _==="object"?JSON.stringify(_):String(_);L.append(V,H)}let q=L.toString();if(q)U+=(U.includes("?")?"&":"?")+q}let W=["POST","PUT","PATCH"].includes(J),{bodyContent:Y,defaultContentType:G}=(()=>{if(!W||Z.params?.body==null)return{bodyContent:W?JSON.stringify(X.data):void 0,defaultContentType:"application/json"};let L=Z.params.body;if(typeof L==="string"){let q=C0.interpolate(L,X),V=q.trimStart().startsWith("{")||q.trimStart().startsWith("[");return{bodyContent:q,defaultContentType:V?"application/json":"text/plain"}}return{bodyContent:JSON.stringify(L),defaultContentType:"application/json"}})();try{let L=await fetch(U,{method:J,headers:{"Content-Type":G,...typeof Z.params?.headers==="object"&&Z.params.headers!==null&&!Array.isArray(Z.params.headers)?Z.params.headers:{}},...W&&Y!==void 0?{body:Y}:{}});return{url:U,method:J,status:L.status,headers:(()=>{let q={};return L.headers.forEach((V,_)=>q[_]=V),q})(),body:await L.text()}}catch(L){return{url:U,method:J,error:String(L)}}},CU;var J4=R(()=>{AX();$6();P2={LOG:"LOG",MATH:"MATH",FORWARD:"FORWARD",FETCH:"FETCH",EMIT_EVENT:"EMIT_EVENT"},CU={description:"Forwards the current event data to a remote URL via HTTP",params:G1({url:"string","method?":"'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'","query?":"Record<string, unknown>","headers?":"Record<string, string>","body?":"string | Record<string, unknown>"}),returns:G1({url:"string",method:"string",status:"number",headers:"Record<string, string>",body:"string"}).or(G1({url:"string",method:"string",error:"string"})),handler:TL}});var eJ={};h6(eJ,{sep:()=>oJ,resolve:()=>T8,relative:()=>lJ,posix:()=>tJ,parse:()=>aJ,normalize:()=>M7,join:()=>pJ,isAbsolute:()=>uJ,format:()=>rJ,extname:()=>sJ,dirname:()=>cJ,delimiter:()=>nJ,default:()=>Hq,basename:()=>iJ,_makeLong:()=>dJ});function N1(Z){if(typeof Z!=="string")throw TypeError("Path must be a string. Received "+JSON.stringify(Z))}function mJ(Z,X){var Q="",U=0,J=-1,$=0,W;for(var Y=0;Y<=Z.length;++Y){if(Y<Z.length)W=Z.charCodeAt(Y);else if(W===47)break;else W=47;if(W===47){if(J===Y-1||$===1);else if(J!==Y-1&&$===2){if(Q.length<2||U!==2||Q.charCodeAt(Q.length-1)!==46||Q.charCodeAt(Q.length-2)!==46){if(Q.length>2){var G=Q.lastIndexOf("/");if(G!==Q.length-1){if(G===-1)Q="",U=0;else Q=Q.slice(0,G),U=Q.length-1-Q.lastIndexOf("/");J=Y,$=0;continue}}else if(Q.length===2||Q.length===1){Q="",U=0,J=Y,$=0;continue}}if(X){if(Q.length>0)Q+="/..";else Q="..";U=2}}else{if(Q.length>0)Q+="/"+Z.slice(J+1,Y);else Q=Z.slice(J+1,Y);U=Y-J-1}J=Y,$=0}else if(W===46&&$!==-1)++$;else $=-1}return Q}function zq(Z,X){var Q=X.dir||X.root,U=X.base||(X.name||"")+(X.ext||"");if(!Q)return U;if(Q===X.root)return Q+U;return Q+Z+U}function T8(){var Z="",X=!1,Q;for(var U=arguments.length-1;U>=-1&&!X;U--){var J;if(U>=0)J=arguments[U];else{if(Q===void 0)Q=process.cwd();J=Q}if(N1(J),J.length===0)continue;Z=J+"/"+Z,X=J.charCodeAt(0)===47}if(Z=mJ(Z,!X),X)if(Z.length>0)return"/"+Z;else return"/";else if(Z.length>0)return Z;else return"."}function M7(Z){if(N1(Z),Z.length===0)return".";var X=Z.charCodeAt(0)===47,Q=Z.charCodeAt(Z.length-1)===47;if(Z=mJ(Z,!X),Z.length===0&&!X)Z=".";if(Z.length>0&&Q)Z+="/";if(X)return"/"+Z;return Z}function uJ(Z){return N1(Z),Z.length>0&&Z.charCodeAt(0)===47}function pJ(){if(arguments.length===0)return".";var Z;for(var X=0;X<arguments.length;++X){var Q=arguments[X];if(N1(Q),Q.length>0)if(Z===void 0)Z=Q;else Z+="/"+Q}if(Z===void 0)return".";return M7(Z)}function lJ(Z,X){if(N1(Z),N1(X),Z===X)return"";if(Z=T8(Z),X=T8(X),Z===X)return"";var Q=1;for(;Q<Z.length;++Q)if(Z.charCodeAt(Q)!==47)break;var U=Z.length,J=U-Q,$=1;for(;$<X.length;++$)if(X.charCodeAt($)!==47)break;var W=X.length,Y=W-$,G=J<Y?J:Y,L=-1,q=0;for(;q<=G;++q){if(q===G){if(Y>G){if(X.charCodeAt($+q)===47)return X.slice($+q+1);else if(q===0)return X.slice($+q)}else if(J>G){if(Z.charCodeAt(Q+q)===47)L=q;else if(q===0)L=0}break}var V=Z.charCodeAt(Q+q),_=X.charCodeAt($+q);if(V!==_)break;else if(V===47)L=q}var H="";for(q=Q+L+1;q<=U;++q)if(q===U||Z.charCodeAt(q)===47)if(H.length===0)H+="..";else H+="/..";if(H.length>0)return H+X.slice($+L);else{if($+=L,X.charCodeAt($)===47)++$;return X.slice($)}}function dJ(Z){return Z}function cJ(Z){if(N1(Z),Z.length===0)return".";var X=Z.charCodeAt(0),Q=X===47,U=-1,J=!0;for(var $=Z.length-1;$>=1;--$)if(X=Z.charCodeAt($),X===47){if(!J){U=$;break}}else J=!1;if(U===-1)return Q?"/":".";if(Q&&U===1)return"//";return Z.slice(0,U)}function iJ(Z,X){if(X!==void 0&&typeof X!=="string")throw TypeError('"ext" argument must be a string');N1(Z);var Q=0,U=-1,J=!0,$;if(X!==void 0&&X.length>0&&X.length<=Z.length){if(X.length===Z.length&&X===Z)return"";var W=X.length-1,Y=-1;for($=Z.length-1;$>=0;--$){var G=Z.charCodeAt($);if(G===47){if(!J){Q=$+1;break}}else{if(Y===-1)J=!1,Y=$+1;if(W>=0)if(G===X.charCodeAt(W)){if(--W===-1)U=$}else W=-1,U=Y}}if(Q===U)U=Y;else if(U===-1)U=Z.length;return Z.slice(Q,U)}else{for($=Z.length-1;$>=0;--$)if(Z.charCodeAt($)===47){if(!J){Q=$+1;break}}else if(U===-1)J=!1,U=$+1;if(U===-1)return"";return Z.slice(Q,U)}}function sJ(Z){N1(Z);var X=-1,Q=0,U=-1,J=!0,$=0;for(var W=Z.length-1;W>=0;--W){var Y=Z.charCodeAt(W);if(Y===47){if(!J){Q=W+1;break}continue}if(U===-1)J=!1,U=W+1;if(Y===46){if(X===-1)X=W;else if($!==1)$=1}else if(X!==-1)$=-1}if(X===-1||U===-1||$===0||$===1&&X===U-1&&X===Q+1)return"";return Z.slice(X,U)}function rJ(Z){if(Z===null||typeof Z!=="object")throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof Z);return zq("/",Z)}function aJ(Z){N1(Z);var X={root:"",dir:"",base:"",ext:"",name:""};if(Z.length===0)return X;var Q=Z.charCodeAt(0),U=Q===47,J;if(U)X.root="/",J=1;else J=0;var $=-1,W=0,Y=-1,G=!0,L=Z.length-1,q=0;for(;L>=J;--L){if(Q=Z.charCodeAt(L),Q===47){if(!G){W=L+1;break}continue}if(Y===-1)G=!1,Y=L+1;if(Q===46){if($===-1)$=L;else if(q!==1)q=1}else if($!==-1)q=-1}if($===-1||Y===-1||q===0||q===1&&$===Y-1&&$===W+1){if(Y!==-1)if(W===0&&U)X.base=X.name=Z.slice(1,Y);else X.base=X.name=Z.slice(W,Y)}else{if(W===0&&U)X.name=Z.slice(1,$),X.base=Z.slice(1,Y);else X.name=Z.slice(W,$),X.base=Z.slice(W,Y);X.ext=Z.slice($,Y)}if(W>0)X.dir=Z.slice(0,W-1);else if(U)X.dir="/";return X}var oJ="/",nJ=":",tJ,Hq;var Z$=R(()=>{tJ=((Z)=>(Z.posix=Z,Z))({resolve:T8,normalize:M7,isAbsolute:uJ,join:pJ,relative:lJ,_makeLong:dJ,dirname:cJ,basename:iJ,extname:sJ,format:rJ,parse:aJ,sep:oJ,delimiter:nJ,win32:null,posix:null}),Hq=tJ});J4();var Y6;(($)=>{$.ENGINE_START="engine:start";$.ENGINE_DONE="engine:done";$.RULE_MATCH="rule:match";$.ACTION_SUCCESS="action:success";$.ACTION_ERROR="action:error"})(Y6||={});var C9;((U)=>{U.RULE_ADDED="rule:added";U.RULE_REMOVED="rule:removed";U.RULE_UPDATED="rule:updated"})(C9||={});var N9=C9;class jX{static instance;handlers=new Map;constructor(){}static getInstance(){if(!this.instance)this.instance=new jX;return this.instance}on(Z,X){let Q=Z;if(!this.handlers.has(Q))this.handlers.set(Q,new Set);return this.handlers.get(Q).add(X),()=>this.off(Q,X)}off(Z,X){let Q=Z,U=this.handlers.get(Q);if(U)U.delete(X)}emit(Z,X){let Q=Z,U=this.handlers.get(Q);if(U)U.forEach((J)=>{try{J(X)}catch($){console.error(`Error in event handler for ${Q}:`,$)}})}}var n0=jX.getInstance();var KL=P2,DL=Y6,wL=C9,CX={IF:"if",THEN:"then",ELSE:"else",BREAK:"break",CONTINUE:"continue",MODE:"mode",ACTIONS:"actions",DELAY:"delay",PROBABILITY:"probability",PARAMS:"params",TYPE:"type",ON:"on"},NX={UNKNOWN_ACTION:"Unknown or generic action type",MISSING_ACTION_TYPE:"Action has no type and no control flow properties",PROBABILITY_FAILED:"probability check failed",BUN_REQUIRED:"Bun is required for 'execute' action",MISSING_KEY:"Missing key for state operation"},b9={RULE_ENGINE_EVALUATING:(Z,X)=>`[RuleEngine] Evaluating context with ${Z} rules for event: ${X}`,TRIGGER_ENGINE_EVALUATING:(Z,X)=>`[TriggerEngine] Evaluating context with ${Z} rules for event: ${X}`},IK={Actions:KL,Events:DL,RuleEvents:wL,ControlFlow:CX,ErrorMessages:NX,DebugMessages:b9};$6();class PL{queue=[];engine;config;timer=null;isProcessing=!1;constructor(Z,X={maxBatchSize:10,flushIntervalMs:100}){this.engine=Z,this.config=X}push(Z){if(this.queue.push(Z),this.queue.length>=this.config.maxBatchSize)this.processQueue();else if(!this.timer)this.timer=setTimeout(()=>this.processQueue(),this.config.flushIntervalMs)}async processQueue(){if(this.isProcessing)return;if(this.isProcessing=!0,this.timer)clearTimeout(this.timer),this.timer=null;let Z=this.queue.splice(0,this.config.maxBatchSize);if(Z.length===0){this.isProcessing=!1;return}console.debug(`[EventQueue] Processing batch of ${Z.length} events.`);for(let X of Z)try{await this.engine.evaluateContext(X)}catch(Q){console.error(`[EventQueue] Error processing event ${X.event}:`,Q)}if(this.queue.length>0)setTimeout(()=>this.processQueue(),0);this.isProcessing=!1}getQueueLength(){return this.queue.length}}class AL{store=new Map;async loadState(){return new Map(this.store)}async saveState(Z,X){this.store.set(Z,X)}async deleteState(Z){this.store.delete(Z)}async clearState(){this.store.clear()}}class NU{keyPrefix;cache=new Map;isLoaded=!1;pendingWrite=null;writeDelay;dirty=!1;constructor(Z="trigger_system:",X){this.keyPrefix=Z,this.writeDelay=X?.writeDelay??0}flush(){this.dirty=!0,this.persist()}getCache(){return this.ensureLoaded(),new Map(this.cache)}isDirty(){return this.dirty}isAvailable(){return typeof window<"u"&&typeof window.localStorage<"u"}ensureLoaded(){if(this.isLoaded)return;if(this.isAvailable())try{let Z=window.localStorage.getItem(this.keyPrefix+"state");if(Z){let X=JSON.parse(Z);this.cache=new Map(Object.entries(X))}}catch(Z){console.error("[BrowserPersistence] Failed to load from localStorage:",Z)}this.isLoaded=!0}schedulePersist(){if(this.writeDelay<=0){this.persist();return}if(this.pendingWrite)clearTimeout(this.pendingWrite);this.dirty=!0,this.pendingWrite=setTimeout(()=>{this.persist(),this.pendingWrite=null},this.writeDelay)}persist(){if(this.pendingWrite)clearTimeout(this.pendingWrite),this.pendingWrite=null;if(this.isAvailable())try{let Z=Object.fromEntries(this.cache);window.localStorage.setItem(this.keyPrefix+"state",JSON.stringify(Z)),this.dirty=!1}catch(Z){console.error("[BrowserPersistence] Failed to save to localStorage:",Z)}}async loadState(){return this.ensureLoaded(),new Map(this.cache)}async saveState(Z,X){this.ensureLoaded(),this.cache.set(Z,X),this.schedulePersist()}async deleteState(Z){this.ensureLoaded(),this.cache.delete(Z),this.schedulePersist()}async clearState(){this.cache.clear(),this.schedulePersist()}}class bX{static getNestedValue(Z,X){let Q=Z.split("."),U=X;for(let J of Q){if(U===null||U===void 0)return;if(typeof U==="object"&&U!==null&&J in U)U=U[J];else return}return U}static interpolate(Z,X){if(typeof Z!=="string")return Z;return Z.replace(/\$\{([^}]+)\}/g,(Q,U)=>{let J=this.getNestedValue(U,X);if(J!==void 0)return String(J);return Q})}static compare(Z,X,Q){let U=($)=>{if($ instanceof Date)return $.getTime();if(typeof $==="number")return $;if(typeof $==="string"){let W=new Date($);return isNaN(W.getTime())?0:W.getTime()}return 0},J=($)=>{if(typeof $==="number")return $;if($===null||$===void 0||$==="")return null;let W=Number($);return isNaN(W)?null:W};switch(X){case"EQ":case"==":return Z==Q;case"NEQ":case"!=":return Z!=Q;case"GT":case">":{let $=J(Z),W=J(Q);return $!==null&&W!==null&&$>W}case"GTE":case">=":{let $=J(Z),W=J(Q);return $!==null&&W!==null&&$>=W}case"LT":case"<":{let $=J(Z),W=J(Q);return $!==null&&W!==null&&$<W}case"LTE":case"<=":{let $=J(Z),W=J(Q);return $!==null&&W!==null&&$<=W}case"IN":return Array.isArray(Q)&&Q.some(($)=>$===Z);case"NOT_IN":return Array.isArray(Q)&&!Q.some(($)=>$===Z);case"CONTAINS":if(Array.isArray(Q))return Q.some(($)=>String(Z).includes(String($)));if(Array.isArray(Z)||typeof Z==="string")return Z.includes(Q);return!1;case"NOT_CONTAINS":if(Array.isArray(Q))return!Q.some(($)=>String(Z).includes(String($)));if(Array.isArray(Z)||typeof Z==="string")return!Z.includes(Q);return!1;case"STARTS_WITH":if(Array.isArray(Q))return Q.some(($)=>String(Z).startsWith(String($)));if(typeof Z==="string"&&typeof Q==="string")return Z.startsWith(Q);return!1;case"ENDS_WITH":if(Array.isArray(Q))return Q.some(($)=>String(Z).endsWith(String($)));if(typeof Z==="string"&&typeof Q==="string")return Z.endsWith(Q);return!1;case"IS_EMPTY":{let $=!1;if(typeof Z==="string")$=Z==="";else if(Array.isArray(Z))$=Z.length===0;else if(Z===null||Z===void 0)$=!0;else if(typeof Z==="object")$=Object.keys(Z).length===0;return Q===!1?!$:$}case"IS_NULL":case"IS_NONE":{let $=Z===null||Z===void 0;return Q===!1?!$:$}case"HAS_KEY":if(typeof Z==="object"&&Z!==null&&typeof Q==="string")return Q in Z;return!1;case"MATCHES":if(typeof Q==="string")return new RegExp(Q).test(String(Z));return!1;case"RANGE":if(Array.isArray(Q)&&Q.length===2){let $=J(Z),W=J(Q[0]),Y=J(Q[1]);return $!==null&&W!==null&&Y!==null&&$>=W&&$<=Y}return!1;case"SINCE":case"AFTER":return U(Z)>=U(Q);case"BEFORE":case"UNTIL":return U(Z)<U(Q);default:return console.warn(`Unknown operator: ${X}`),!1}}}$6();class Q2{static evaluateConditions(Z,X){if(!Z)return!0;if(Array.isArray(Z))return Z.every((Q)=>this.evaluateRecursiveCondition(Q,X));return this.evaluateRecursiveCondition(Z,X)}static evaluateRecursiveCondition(Z,X){if("conditions"in Z&&"operator"in Z){let U=Z;if(U.operator==="OR")return U.conditions.some((J)=>this.evaluateRecursiveCondition(J,X));else return U.conditions.every((J)=>this.evaluateRecursiveCondition(J,X))}let Q=Z;try{let U=C0.evaluate(Q.field,X),J=Q.value;if(typeof J==="string"&&J.includes("${"))J=C0.interpolate(J,X);return bX.compare(U,Q.operator,J)}catch(U){return console.error("Error evaluating condition:",Q,U),!1}}static async processSingleActionBase(Z,X,Q){let U={...Z};if(!U.type&&!U.run&&!U.break&&!U.continue){let W=Object.values(CX),Y=Object.keys(U).filter((G)=>!W.includes(G));for(let G of Y)if(Q?!!Q.get(G):!0){U.type=G;let q=U[G];if(typeof q==="string")U.params={...U.params,message:q,content:q};else if(typeof q==="object"&&q!==null)U.params={...U.params,...q};break}}if(U.break)return{shouldExecute:!1,executedAction:{type:"BREAK",result:"Break execution",timestamp:Date.now()},normalizedAction:U};if(U.continue)return{shouldExecute:!1,executedAction:{type:"CONTINUE",result:"Continue execution",timestamp:Date.now()},normalizedAction:U};let J=U.probability;if(typeof J==="string"){let W=C0.evaluate(J,X);J=typeof W==="number"?W:Number(W)}if(J!==void 0&&Math.random()>J)return{shouldExecute:!1,executedAction:{type:U.type||"skipped",result:{skipped:"probability check failed"},timestamp:Date.now()},normalizedAction:U};let $=U.delay;if(typeof $==="string"){let W=C0.evaluate($,X);$=typeof W==="number"?W:Number(W)}if($&&$>0)await new Promise((W)=>setTimeout(W,$));return U.params=this.interpolateParams(U.params||{},X),{shouldExecute:!0,normalizedAction:U}}static selectActions(Z){let X=[],Q="ALL";if(Array.isArray(Z))X=Z;else if(Z&&typeof Z==="object"&&"mode"in Z&&"actions"in Z){let U=Z;Q=U.mode,X=U.actions}else X=[Z];if(Q==="EITHER"&&X.length>0){let U=(Y)=>("probability"in Y)?Y.probability:1,J=X.reduce((Y,G)=>Y+U(G),0),$=Math.random()*J;for(let Y of X){let G=U(Y);if($-=G,$<=0)return{actionsToExecute:[Y],mode:Q}}let W=X[X.length-1];return{actionsToExecute:W?[W]:[],mode:Q}}return{actionsToExecute:X,mode:Q}}static interpolateParams(Z,X){let Q={};for(let[U,J]of Object.entries(Z))Q[U]=this.interpolateDeep(J,X);return Q}static interpolateDeep(Z,X){if(typeof Z==="string"&&Z.includes("${"))return C0.interpolate(Z,X);if(Array.isArray(Z))return Z.map((Q)=>this.interpolateDeep(Q,X));if(typeof Z==="object"&&Z!==null){let Q={};for(let[U,J]of Object.entries(Z))Q[U]=this.interpolateDeep(J,X);return Q}return Z}}$6();var A2=new Set(["merge","mergeCallbacks","set","setCallback","delete","has","get","getCallback","call","interpolate","increment","decrement","snapshot","snapshotCallbacks","snapshotWithCallbacks","reset","keys","callbackKeys","toContext"]),E9=()=>{let Z=Object.create(null),X=Object.create(null);function Q(W,Y){if(A2.has(W))return console.warn(`[VarsContext] ${Y}: "${W}" is a reserved API key and cannot be used.`),!1;return!0}function U(W,Y,G){return(typeof Y==="boolean"?Y:Y?.overwrite??!1)||!(W in G)}function J(W){let Y={...Z};for(let[G,L]of Object.entries(X))Y[G]=L;return{event:W?.event??"",timestamp:W?.timestamp??Date.now(),data:W?.data??{},vars:Y,env:W?.env,id:W?.id}}let $={merge(W,Y){for(let G of Object.keys(W)){if(!Q(G,"merge"))continue;let L=W[G];if(typeof L==="function"){console.warn(`[VarsContext] merge(): "${G}" is a function — use mergeCallbacks() instead. Skipped.`);continue}if(U(G,Y,Z))Z[G]=L}},mergeCallbacks(W,Y){for(let G of Object.keys(W)){if(!Q(G,"mergeCallbacks"))continue;let L=W[G];if(typeof L!=="function"){console.warn(`[VarsContext] mergeCallbacks(): "${G}" is not a function. Skipped.`);continue}if(U(G,Y,X))X[G]=L}},set(W,Y){if(!Q(W,"set"))return;if(typeof Y==="function"){console.warn(`[VarsContext] set(): "${W}" is a function — use setCallback() instead.`);return}Z[W]=Y},setCallback(W,Y){if(!Q(W,"setCallback"))return;if(typeof Y!=="function"){console.warn(`[VarsContext] setCallback(): "${W}" value is not a function.`);return}X[W]=Y},delete(W){if(!Q(W,"delete"))return!1;let Y=W in Z,G=W in X;if(Y)delete Z[W];if(G)delete X[W];return Y||G},has(W){return W in Z||W in X},get(W){return Z[W]},getCallback(W){return X[W]},call(W,...Y){let G=X[W];if(typeof G!=="function")throw TypeError(`[VarsContext] call(): "${W}" is not a registered callback (got ${typeof(Z[W]??G)}).`);return G(...Y)},interpolate(W){return C0.interpolate(W,J())},increment(W,Y=1){let L=(typeof Z[W]==="number"?Z[W]:0)+Y;return Z[W]=L,L},decrement(W,Y=1){let L=(typeof Z[W]==="number"?Z[W]:0)-Y;return Z[W]=L,L},snapshot(){return{...Z}},snapshotCallbacks(){return{...X}},snapshotWithCallbacks(){let W={...Z};for(let[Y,G]of Object.entries(X))W[Y]=G;return W},reset(W={},Y=!1){for(let G of Object.keys(Z))delete Z[G];if(Y)for(let G of Object.keys(X))delete X[G];for(let[G,L]of Object.entries(W))if(!A2.has(G)&&typeof L!=="function")Z[G]=L},keys(){return Object.keys(Z)},callbackKeys(){return Object.keys(X)},toContext(W){return J(W)}};return new Proxy($,{get(W,Y){if(typeof Y==="symbol")return;let G=Y;if(A2.has(G))return $[G];if(G in X)return X[G];return Z[G]},set(W,Y,G){if(typeof Y==="symbol")return!1;let L=Y;if(A2.has(L))return console.warn(`[VarsContext] "${L}" is a reserved API method and cannot be overwritten.`),!1;if(typeof G==="function")X[L]=G;else Z[L]=G;return!0},has(W,Y){let G=String(Y);return A2.has(G)||G in Z||G in X},deleteProperty(W,Y){return console.warn(`[VarsContext] Use vars.delete("${String(Y)}") instead of \`delete vars.${String(Y)}\`.`),!1},ownKeys(){return[...new Set([...A2,...Object.keys(Z),...Object.keys(X)])]},getOwnPropertyDescriptor(W,Y){let G=String(Y);if(A2.has(G))return{configurable:!0,enumerable:!1,writable:!1,value:$[G]};if(G in Z)return{configurable:!0,enumerable:!0,writable:!0,value:Z[G]};if(G in X)return{configurable:!0,enumerable:!0,writable:!0,value:X[G]};return}})},SL=E9();class G6{_rules=[];actionHandlers=new Map;lastExecution=new Map;_config;_vars;constructor(Z=[]){if(Array.isArray(Z))this._rules=Z;else this._config=Z,this._rules=[...Z.rules];this._vars=E9();try{let{ActionRegistry:X}=(J4(),A7(SX));X.getInstance(!0)}catch(X){console.log(X)}this._registerVarActions(),this.sortRules()}sortRules(){this._rules.sort((Z,X)=>(X.priority||0)-(Z.priority||0))}_registerVarActions(){this.registerAction("vars",async(Z,X)=>{let Q=String(Z.op??"set"),U=Z.key!=null?String(Z.key):"",J=X.vars??{};switch(Q){case"set":{let $=Z.value;return this._vars.set(U,$),J[U]=$,{op:Q,key:U,value:$}}case"increment":{let $=typeof Z.delta==="number"?Z.delta:1,W=this._vars.increment(U,$);return J[U]=W,{op:Q,key:U,value:W}}case"decrement":{let $=typeof Z.delta==="number"?Z.delta:1,W=this._vars.decrement(U,$);return J[U]=W,{op:Q,key:U,value:W}}case"delete":return this._vars.delete(U),delete J[U],{op:Q,key:U,deleted:!0};case"merge":{let $=Z.overwrite===!0,W={},Y=Z.data??Z;for(let[G,L]of Object.entries(Y)){if(G==="op"||G==="overwrite"||G==="data"||typeof L==="function")continue;W[G]=L}this._vars.merge(W,{overwrite:$});for(let[G,L]of Object.entries(W))if($||!(G in J))J[G]=L;return{op:Q,merged:Object.keys(W),overwrite:$}}case"reset":{let $=Z.data??{};this._vars.reset($);for(let W of Object.keys(J))delete J[W];return Object.assign(J,this._vars.snapshot()),{op:Q,keys:this._vars.keys()}}default:return console.warn(`[vars action] Unknown op: "${Q}"`),{op:Q,error:`unknown op "${Q}"`}}})}registerAction(Z,X){this.actionHandlers.set(Z,X)}registerVars(Z,X){this._mergeWithCallbackRouting(Z,X)}_mergeWithCallbackRouting(Z,X){let Q={},U={};for(let[J,$]of Object.entries(Z))if(typeof $==="function")U[J]=$;else Q[J]=$;if(Object.keys(Q).length)this._vars.merge(Q,X);if(Object.keys(U).length)this._vars.mergeCallbacks(U,X)}async processEvent(Z){if(Z.vars&&Object.keys(Z.vars).length)this._mergeWithCallbackRouting(Z.vars,{overwrite:!1});let X={};for(let[J,$]of Object.entries(Z.vars??{}))if(typeof $!=="function")X[J]=$;Z.vars={...this._vars.snapshotWithCallbacks(),...X};let Q=[],U=this._rules.filter((J)=>J.enabled!==!1&&J.on===Z.event);for(let J of U){if(J.cooldown&&this.checkCooldown(J.id,J.cooldown))continue;let $=Q2.evaluateConditions(J.if,Z),W;if($)n0.emit("rule:match",{rule:J,context:Z}),W=J.do;else if(J.else)W=J.else;if(W){let Y=await this.executeRuleActions(W,Z);this.lastExecution.set(J.id,Date.now());let G=this._vars.snapshotWithCallbacks();for(let[L,q]of Object.entries(G))Z.vars[L]=q;Q.push({ruleId:J.id,success:!0,executedActions:Y})}if(!$&&!J.else&&!this.shouldEvaluateAll())break;if($&&!this.shouldEvaluateAll())break}return Q}async processEventSimple(Z,X={},Q={}){this._mergeWithCallbackRouting(Q,{overwrite:!1});let U={event:Z,data:X,vars:Q,timestamp:Date.now()};return this.processEvent(U)}updateRules(Z){let X=this.getRules(),Q=new Set(X.map((W)=>W.id)),U=new Set(Z.map((W)=>W.id)),J=Z.filter((W)=>!Q.has(W.id)),$=X.filter((W)=>!U.has(W.id));this._rules=[...Z],this.sortRules(),J.forEach((W)=>{this.emitRuleEvent(N9.RULE_ADDED,{ruleId:W.id,timestamp:Date.now()})}),$.forEach((W)=>{this.emitRuleEvent(N9.RULE_REMOVED,{ruleId:W.id,timestamp:Date.now()})}),this.emitRuleEvent(N9.RULE_UPDATED,{count:Z.length,added:J.length,removed:$.length,unchanged:Z.length-J.length,timestamp:Date.now()})}emitRuleEvent(Z,X){try{if(n0)n0.emit(Z,{...X,timestamp:Date.now()})}catch(Q){console.warn(`Could not emit event ${Z}:`,Q)}}getRules(){return[...this._rules]}checkCooldown(Z,X){let Q=this.lastExecution.get(Z);if(!Q)return!1;return Date.now()-Q<X}shouldEvaluateAll(){return this._config?.globalSettings?.evaluateAll??!0}evaluateConditions(Z,X){return Q2.evaluateConditions(Z,X)}evaluateSingleCondition(Z,X){return Q2.evaluateConditions(Z,X)}async executeRuleActions(Z,X){let{actionsToExecute:Q}=Q2.selectActions(Z),U=[];for(let J of Q){if("actions"in J&&"mode"in J){U.push(...await this.executeRuleActions(J,X));continue}let $=J;if("if"in $&&$.if&&($.then||$.else||$.do)){let Y=this.evaluateConditions($.if,X),G=$.then||$.do;if(Y&&G)U.push(...await this.executeRuleActions(G,X));else if(!Y&&$.else)U.push(...await this.executeRuleActions($.else,X));continue}if("if"in $&&$.if){if(!this.evaluateConditions($.if,X))continue}let W=await this.executeSingleAction($,X);if(U.push(W),W.type==="BREAK")break}return U}async executeSingleAction(Z,X){let{shouldExecute:Q,executedAction:U,normalizedAction:J}=await Q2.processSingleActionBase(Z,X);if(!Q)return U;try{let $=this.actionHandlers.get(J.type);if($){let Y=await $(J.params||{},X);return n0.emit("action:success",{action:J,context:X,result:Y}),{type:J.type,result:Y,timestamp:Date.now()}}try{let{ActionRegistry:Y}=(J4(),A7(SX)),G=Y.getInstance().get(J.type);if(G){let L=await G(J,X);return n0.emit("action:success",{action:J,context:X,result:L}),{type:J.type,result:L,timestamp:Date.now()}}}catch{}let W=`${NX.UNKNOWN_ACTION}: ${J.type}`;if(this._config?.globalSettings?.strictActions)throw Error(W);return console.warn(W),{type:J.type,result:{warning:W},timestamp:Date.now()}}catch($){return console.error(`Error executing action ${J.type}:`,$),n0.emit("action:error",{action:J,context:X,error:String($)}),{type:J.type,error:String($),timestamp:Date.now()}}}interpolateParams(Z,X){return Q2.interpolateParams(Z,X)}get rules(){return[...this._rules]}get config(){return this._config}get vars(){return this._vars}set rules(Z){this._rules=[...Z],this.sortRules()}}J4();class bU extends G6{actionRegistry;constructor(Z){super(Z);this.actionRegistry=W6.getInstance(!0)}async evaluateContext(Z){if(!Z.env)Z.env={};if(this._config?.globalSettings?.debugMode)console.log(b9.RULE_ENGINE_EVALUATING(this._rules.length,Z.event));n0.emit("engine:start",{context:Z,rulesCount:this._rules.length});let X=await this.processEvent(Z);return n0.emit("engine:done",{results:X,context:Z}),X}async processEvent(Z,X={},Q={}){if(typeof Z==="string"){let $={event:Z,data:X,vars:Q,timestamp:Date.now()};return this.processEvent($)}let U=Z;if(n0.emit("engine:start",{context:U,rulesCount:this._rules.length}),this._config?.globalSettings?.debugMode)console.log(b9.RULE_ENGINE_EVALUATING(this._rules.length,U.event));let J=await super.processEvent(U);return n0.emit("engine:done",{results:J,context:U}),J}get ActionRegistry(){return this.actionRegistry}}J4();AX();var jL=["EQ","==","NEQ","!="],EU=["GT",">","GTE",">=","LT","<","LTE","<="],fU=["IN","NOT_IN","RANGE"],IU=["CONTAINS","NOT_CONTAINS","STARTS_WITH","ENDS_WITH"],CL=["IS_NULL","IS_NONE"],NL=["IS_EMPTY","HAS_KEY","MATCHES","SINCE","AFTER","BEFORE","UNTIL"],zD=[...jL,...EU,...fU,...IU,...CL,...NL];function yU(Z){return fU.includes(Z)}function kU(Z){return IU.includes(Z)}function gU(Z){return EU.includes(Z)}var U2=U6({Operator:"'EQ' | '==' | 'NEQ' | '!=' | 'GT' | '>' | 'GTE' | '>=' | 'LT' | '<' | 'LTE' | '<=' | 'IN' | 'NOT_IN' | 'CONTAINS' | 'NOT_CONTAINS' | 'STARTS_WITH' | 'ENDS_WITH' | 'MATCHES' | 'RANGE' | 'SINCE' | 'AFTER' | 'BEFORE' | 'UNTIL'",Condition:"RangeCondition | ListCondition | ContainsCondition | NumericCondition | RegexCondition | StringOperatorCondition | HasKeyCondition | NullCondition | EmptyCondition | BasicCondition",RangeCondition:{field:"string > 0",operator:"'RANGE'",value:"unknown[] == 2"},ListCondition:{field:"string > 0",operator:"'IN' | 'NOT_IN'",value:"unknown[]"},ContainsCondition:{field:"string > 0",operator:"'CONTAINS' | 'NOT_CONTAINS'",value:"string | unknown[]"},StringOperatorCondition:{field:"string > 0",operator:"'STARTS_WITH' | 'ENDS_WITH'",value:"string"},HasKeyCondition:{field:"string > 0",operator:"'HAS_KEY'",value:"string"},NullCondition:{field:"string > 0",operator:"'IS_NULL' | 'IS_NONE'","value?":"boolean | null"},EmptyCondition:{field:"string > 0",operator:"'IS_EMPTY'","value?":"boolean | null"},NumericCondition:{field:"string > 0",operator:"'>' | '>=' | '<' | '<=' | 'GT' | 'GTE' | 'LT' | 'LTE'",value:"number | string"},RegexCondition:{field:"string > 0",operator:"'MATCHES'",value:"string"},BasicCondition:{field:"string > 0",operator:"Operator",value:"unknown"},ConditionGroup:{operator:"'AND' | 'OR'",conditions:"(Condition | ConditionGroup)[] >= 1"},RuleCondition:"Condition | ConditionGroup",Action:{"type?":"string > 0","params?":"object","delay?":"number.integer >= 0 | string","probability?":"0 <= number <= 1 | string","if?":"RuleCondition | RuleCondition[]","then?":"Action | ActionGroup","else?":"Action | ActionGroup","break?":"boolean","continue?":"boolean"},ActionGroup:{"mode?":"'ALL' | 'EITHER' | 'SEQUENCE'",actions:"(Action | ActionGroup)[] >= 1"},RuleAction:"Action | ActionGroup",InlineConditionalAction:{if:"RuleCondition | RuleCondition[]","then?":"Action | ActionGroup","do?":"Action | ActionGroup","else?":"Action | ActionGroup","break?":"boolean","continue?":"boolean"},TriggerRule:{id:"string > 0","name?":"string","description?":"string","priority?":"number.integer","enabled?":"boolean","cooldown?":"number.integer >= 0","tags?":"string[]",on:"string > 0","if?":"RuleCondition | RuleCondition[]",do:"RuleAction | RuleAction[] | InlineConditionalAction","else?":"RuleAction | RuleAction[]","comment?":"string"}}).export(),TD=U2.Operator,KD=U2.Condition,DD=U2.ConditionGroup,wD=U2.RuleCondition,PD=U2.Action,AD=U2.ActionGroup,SD=U2.InlineConditionalAction,bL=U2.TriggerRule;class EX{static validate(Z){let X=bL(Z);if(X instanceof G1.errors){let J=[];for(let $ of X){let W=$.path.join("."),Y=$.message,G=void 0;if(W.endsWith("on")&&(Y.includes("string")||Y.includes("must be")))if(typeof Z==="object"&&Z!==null&&"on"in Z&&Z.on===!0)Y="The 'on' field is incorrect (boolean true found).",G=`In YAML, 'on' is a boolean keyword (true). Quote it: "on": "EventName"`;else G="Ensure 'on' is a string event name.";J.push({path:W,message:Y,suggestion:G,severity:"error"})}return{valid:!1,issues:J}}let Q=X,U=[];if(this.validateConditionsRecursive(Q.if,U,"if"),this.validateInlineConditionalRecursive(Q.do,U,"do"),Q.else)this.validateInlineConditionalRecursive(Q.else,U,"else");if(U.length>0)return{valid:!1,issues:U};return{valid:!0,rule:Q}}static validateInlineConditionalRecursive(Z,X,Q){if(!Z)return;if(Array.isArray(Z)){Z.forEach((U,J)=>{this.validateInlineConditionalRecursive(U,X,`${Q}.${J}`)});return}if(typeof Z==="object"&&Z!==null&&"mode"in Z&&"actions"in Z){let U=Z;if(Array.isArray(U.actions))U.actions.forEach((J,$)=>{this.validateInlineConditionalRecursive(J,X,`${Q}.actions.${$}`)});return}if(typeof Z==="object"&&Z!==null&&"if"in Z){let U=Z;if(this.validateConditionsRecursive(U.if,X,`${Q}.if`),U.then)this.validateInlineConditionalRecursive(U.then,X,`${Q}.then`);if(U.do)this.validateInlineConditionalRecursive(U.do,X,`${Q}.do`);if(U.else)this.validateInlineConditionalRecursive(U.else,X,`${Q}.else`);return}}static validateConditionsRecursive(Z,X,Q){if(!Z)return;if(Array.isArray(Z)){Z.forEach((U,J)=>{this.validateConditionsRecursive(U,X,`${Q}.${J}`)});return}if(typeof Z==="object"&&Z!==null&&"conditions"in Z&&Array.isArray(Z.conditions)){Z.conditions.forEach((U,J)=>{this.validateConditionsRecursive(U,X,`${Q}.conditions.${J}`)});return}if(typeof Z==="object"&&Z!==null&&"operator"in Z&&"value"in Z)this.validateConditionValue(Z,X,Q)}static validateConditionValue(Z,X,Q){let{operator:U,value:J}=Z,$=U;if(yU($)){if(!Array.isArray(J)){X.push({path:`${Q}.value`,message:`Incorrect value type: Operator '${$}' expects a List (Array), but received ${typeof J}.`,suggestion:$==="RANGE"?"Use format [min, max]":"Use format [item1, item2]",severity:"error"});return}if($==="RANGE"){if(J.length!==2)X.push({path:`${Q}.value`,message:"Invalid Range: Operator 'RANGE' requires exactly 2 values (min and max).",suggestion:"Use format [min, max], e.g. [1, 10]",severity:"error"});else if(typeof J[0]!=="number"&&typeof J[0]!=="string")X.push({path:`${Q}.value`,message:"Incorrect range type: Range values must be numbers or expression strings.",severity:"error"})}}else if($==="CONTAINS"||$==="NOT_CONTAINS"){if(typeof J!=="string"&&!Array.isArray(J))X.push({path:`${Q}.value`,message:`Incorrect value type: Operator 'CONTAINS' expects a String or List (Array), but received ${typeof J}.`,suggestion:"Use a substring or a list of items.",severity:"error"})}else if(kU($)){if(typeof J!=="string"&&!Array.isArray(J))X.push({path:`${Q}.value`,message:`Incorrect value type: Operator '${$}' expects a String or List (Array), but received ${typeof J}.`,suggestion:"Use a string prefix/suffix or a list of prefixes/suffixes.",severity:"error"})}else if($==="MATCHES")if(typeof J!=="string")X.push({path:`${Q}.value`,message:`Incorrect value type: Operator 'MATCHES' expects a string (regex pattern), but received ${typeof J}.`,severity:"error"});else try{new RegExp(J)}catch(W){X.push({path:`${Q}.value`,message:`Invalid Regex pattern: ${W.message}`,severity:"error"})}else if(gU($)){if(typeof J!=="number"&&typeof J!=="string")X.push({path:`${Q}.value`,message:`Incorrect value type: Operator '${$}' expects a number or expression string, but received ${typeof J}.`,severity:"error"})}else if($==="HAS_KEY"){if(typeof J!=="string")X.push({path:`${Q}.value`,message:`Incorrect value type: Operator 'HAS_KEY' expects a string (key name), but received ${typeof J}.`,severity:"error"})}}}function f9(Z,X){let Q=new Map,U=[];for(let $ of Z){let Y=$[X];if(Y!==void 0&&Y!==null){let G=String(Y);if(!Q.has(G))Q.set(G,$)}else U.push($)}let J=Array.from(new Set(U.map(($)=>JSON.stringify($)))).map(($)=>JSON.parse($));return[...Array.from(Q.values()),...J]}function L6(Z,X={}){let{deduplicate:Q=!0,uniqueIdField:U}=X;if(!Z)return;if(Array.isArray(Z)){let J=Z.map((W)=>L6(W,X)).filter((W)=>W!==void 0);if(!Q)return J.length===0?void 0:J.length===1?J[0]:J;let $=U?f9(J,U):Array.from(new Set(J.map((W)=>JSON.stringify(W)))).map((W)=>JSON.parse(W));return $.length===0?void 0:$.length===1?$[0]:$}if("operator"in Z&&"conditions"in Z){let J=Z,$=L6(J.conditions,X);if(!$)return;if(!Array.isArray($))$=[$];let W=[];for(let G of $)if("operator"in G&&"conditions"in G&&G.operator===J.operator)W.push(...G.conditions);else W.push(G);let Y;if(!Q)Y=W;else if(U)Y=f9(W,U);else Y=Array.from(new Set(W.map((G)=>JSON.stringify(G)))).map((G)=>JSON.parse(G));if(Y.length===0)return;if(Y.length===1)return Y[0];return{operator:J.operator,conditions:Y}}return Z}function q6(Z,X={}){let{deduplicate:Q=!1,uniqueIdField:U}=X;if(!Z)return;if(Array.isArray(Z)){let J=Z.map((G)=>q6(G,X)).filter((G)=>G!==void 0);if(!Q){let G=J.flatMap((q)=>Array.isArray(q)?q:[q]),L=[];for(let q of G)if("mode"in q&&"actions"in q&&q.mode==="ALL")L.push(...q.actions);else L.push(q);if(L.length===0)return;if(L.length===1)return L[0];return L}let $=J.flatMap((G)=>Array.isArray(G)?G:[G]),W=[];for(let G of $)if("mode"in G&&"actions"in G&&G.mode==="ALL")W.push(...G.actions);else W.push(G);if(W.length===0)return;if(W.length===1)return W[0];let Y;if(U)Y=f9(W,U);else Y=Array.from(new Set(W.map((G)=>JSON.stringify(G)))).map((G)=>JSON.parse(G));return Y}if("mode"in Z&&"actions"in Z){let J=Z,$=q6(J.actions,X);if(!$)return;if(!Array.isArray($))$=[$];let W=[];for(let G of $)if("mode"in G&&"actions"in G&&G.mode===J.mode)W.push(...G.actions);else W.push(G);if(W.length===0)return;if(W.length===1)return W[0];let Y;if(!Q)Y=W;else if(U)Y=f9(W,U);else Y=Array.from(new Set(W.map((G)=>JSON.stringify(G)))).map((G)=>JSON.parse(G));return{mode:J.mode,actions:Y}}return Z}class J2{conditions=[];op="AND";constructor(Z="AND"){this.op=Z}where(Z,X,Q){return this.conditions.push({field:Z,operator:X,value:Q}),this}and(Z){let X=new J2("AND");return this.conditions.push(Z(X).build()),this}or(Z){let X=new J2("OR");return this.conditions.push(Z(X).build()),this}build(){if(this.conditions.length===0)throw Error("Condition group must have at least one condition");if(this.conditions.length===1&&this.op==="AND")return this.conditions[0];return{operator:this.op,conditions:this.conditions}}}class V6{actions=[];mode="ALL";setMode(Z){return this.mode=Z,this}add(Z,X,Q){return this.actions.push({type:Z,params:X,...Q}),this}build(){if(this.actions.length===0)throw Error("Action group must have at least one action");if(this.actions.length===1&&this.mode==="ALL")return this.actions[0];if(this.mode==="ALL")return this.actions;return{mode:this.mode,actions:this.actions}}}class fX{params={};set(Z,X){return this.params[Z]=X,this}setAll(Z){return Object.assign(this.params,Z),this}setNested(Z,X){let Q=Z.split("."),U=this.params;for(let $=0;$<Q.length-1;$++){let W=Q[$];if(!W)continue;if(!(W in U))U[W]={};U=U[W]}let J=Q[Q.length-1];if(J)U[J]=X;return this}addItem(Z,X){if(!(Z in this.params)||!Array.isArray(this.params[Z]))this.params[Z]=[];return this.params[Z].push(X),this}remove(Z){return delete this.params[Z],this}has(Z){return Z in this.params}get(Z){return this.params[Z]}build(){return{...this.params}}getRaw(){return this.params}}var N={EVENT:"event",CONDITION:"condition",CONDITION_GROUP:"condition_group",ACTION:"action",ACTION_GROUP:"action_group",DO:"do"},D={EVENT_OUTPUT:"event-output",CONDITION_INPUT:"condition-input",CONDITION_OUTPUT:"output",CONDITION_OUTPUT_LEGACY:"condition-output",THEN_OUTPUT:"then-output",ELSE_OUTPUT:"else-output",CONDITION_GROUP_INPUT:"input",CONDITION_GROUP_OUTPUT:"cond-output",ACTION_INPUT:"action-input",ACTION_OUTPUT:"action-output",ACTION_OUTPUT_LEGACY:"action-group-output",ACTION_GROUP_INPUT:"input",ACTION_GROUP_OUTPUT:"action-output",ACTION_GROUP_CONDITION_OUTPUT:"condition-output",DO_INPUT:"do-input",DO_OUTPUT:"do-output",DO_CONDITION_OUTPUT:"do-condition-output"},x0={DO:"do",ELSE:"else"},IX={AND:"AND",OR:"OR"};var y9=(Z)=>Z.type===N.EVENT,x1=(Z)=>Z.type===N.CONDITION||Z.type===N.CONDITION_GROUP,K1=(Z)=>Z.type===N.ACTION||Z.type===N.ACTION_GROUP||Z.type===N.DO,_6=(Z)=>Z.type===N.DO;var $2=(Z)=>{return Z.data?.branchType===x0.ELSE?x0.ELSE:x0.DO};function yX(Z){let X=Z.data||{};return{id:X.id,on:X.event,name:X.name,description:X.description,priority:X.priority!==void 0?Number(X.priority):void 0,enabled:X.enabled!==void 0?!!X.enabled:void 0,cooldown:X.cooldown!==void 0?Number(X.cooldown):void 0,tags:X.tags}}function L0(Z,X,Q){let U=[...Q];return Z.edges.filter((J)=>J.source===X&&U.includes(J.sourceHandle||""))}var D1={CONDITION_OUTPUT:[D.CONDITION_OUTPUT,D.CONDITION_OUTPUT_LEGACY],ACTION_OUTPUT:[D.ACTION_OUTPUT,D.ACTION_OUTPUT_LEGACY],DO_OUTPUT:[D.DO_OUTPUT,""],THEN_ELSE:[D.THEN_OUTPUT,D.ELSE_OUTPUT],DO_CONDITION:[D.DO_CONDITION_OUTPUT],CONDITION_CHAIN:[D.CONDITION_OUTPUT,D.CONDITION_OUTPUT_LEGACY,D.THEN_OUTPUT,D.ELSE_OUTPUT],ANY:[D.CONDITION_OUTPUT,D.CONDITION_OUTPUT_LEGACY,""]};class vU{convert(Z,X){return{field:Z.field||"data",operator:Z.operator||"EQ",value:Z.value!==void 0?Z.value:""}}validate(Z){let X=[];if(!Z.field&&!Z.value)X.push("Condition must have at least a field or value");return{valid:X.length===0,errors:X.length>0?X:void 0}}}class xU{convert(Z,X){let Q={};try{if(Z.params)Q=typeof Z.params==="string"?JSON.parse(Z.params):Z.params}catch{Q={}}let U={type:Z.type||"log",params:Q};if(Z.delay!==void 0)U.delay=Number(Z.delay);if(Z.probability!==void 0)U.probability=Number(Z.probability);return U}validate(Z){let X=[];if(!Z.type)X.push('Action type defaults to "log"');return{valid:!0,warnings:X.length>0?X:void 0}}}class hU{convert(Z,X){return{id:Z.id,on:Z.event,name:Z.name,description:Z.description,priority:Z.priority!==void 0?Number(Z.priority):void 0,enabled:Z.enabled!==void 0?!!Z.enabled:void 0,cooldown:Z.cooldown!==void 0?Number(Z.cooldown):void 0,tags:Z.tags}}validate(Z){let X=[],Q=[];if(!Z.id)X.push("Event must have an ID");if(!Z.event)X.push("Event must have an event name");if(!Z.name)Q.push("Event should have a name");return{valid:X.length===0,errors:X.length>0?X:void 0,warnings:Q.length>0?Q:void 0}}}class mU{conditionConverter=new vU;actionConverter=new xU;eventConverter=new hU;getConditionConverter(){return this.conditionConverter}getActionConverter(){return this.actionConverter}getEventConverter(){return this.eventConverter}createContext(Z,X,Q,U){return{nodes:Z,edges:X,currentNode:Q,options:U}}}var uU=new mU;function kX(Z){let X=Z.data||{};return uU.getConditionConverter().convert(X,{nodes:[],edges:[]})}function gX(Z){let X=Z.data||{};return uU.getActionConverter().convert(X,{nodes:[],edges:[]})}function k9(Z,X){let Q=X.options.isCondNode||x1,U=X.nodes.find((L)=>L.id===Z);if(!U||U.type!==N.CONDITION_GROUP)return{conditions:[],operator:IX.AND};let J=U.data.operator||IX.AND,$=[],W=new Set;function Y(L){if(W.has(L))return;W.add(L);let q=X.nodes.find((H)=>H.id===L);if(!q||!Q(q)||q.type===N.CONDITION_GROUP)return;let V=kX(q);$.push(V);let _=L0(X,L,[...D1.CONDITION_OUTPUT,D.THEN_OUTPUT]).filter((H)=>{let F=X.nodes.find((z)=>z.id===H.target);return F&&Q(F)});for(let H of _)Y(H.target)}let G=L0(X,Z,[D.CONDITION_GROUP_OUTPUT]).filter((L)=>{let q=X.nodes.find((V)=>V.id===L.target);return q&&Q(q)});for(let L of G)Y(L.target);return{conditions:$,operator:J}}function S2(Z,X){if(X.options.resolveCondition&&X.options.resolveCondition!==S2)return X.options.resolveCondition(Z,X);if(X.visitedConds.has(Z))return null;X.visitedConds.add(Z);let Q=X.nodes.find((W)=>W.id===Z),U=X.options.isCondNode||x1;if(!Q||!U(Q))return null;if(Q.type===N.CONDITION_GROUP){let{conditions:W,operator:Y}=k9(Z,X);if(W.length===0)return null;if(W.length===1)return W[0];return{operator:Y,conditions:W}}let J=kX(Q);if(X.transformers?.condition){let W=X.transformers.condition(J,Q);if(W===null)return null;return W}let $=L0(X,Z,D1.CONDITION_OUTPUT).filter((W)=>{let Y=X.nodes.find((G)=>G.id===W.target);return Y&&U(Y)});if($.length>0){let W=$.map((Y)=>S2(Y.target,X)).filter((Y)=>Y!==null);if(W.length>0)return{operator:"AND",conditions:[J,...W]}}return J}function vX(Z,X){let Q=X.options.isCondNode||x1,U,J;function $(W){let Y=X.nodes.find((q)=>q.id===W);if(!Y||!Q(Y))return;let G=X.edges.filter((q)=>q.source===W);for(let q of G){let V=X.nodes.find((_)=>_.id===q.target);if(!V)continue;if(V.type===N.ACTION||V.type===N.ACTION_GROUP||V.type===N.DO)if(V.type===N.DO?V.data?.branchType==="else":q.sourceHandle===D.ELSE_OUTPUT)J=q.target;else U=q.target}let L=L0(X,W,D1.CONDITION_OUTPUT).filter((q)=>{let V=X.nodes.find((_)=>_.id===q.target);return V&&Q(V)});for(let q of L)$(q.target)}return $(Z),{thenActionId:U,elseActionId:J}}function $4(Z,X){let Q=X.options.isActNode||K1,U=X.nodes.find((q)=>q.id===Z);if(!U||U.type!==N.ACTION_GROUP)return{actions:[],mode:"ALL"};let J=U.data.mode||"ALL",$=[],W=new Set;function Y(q){if(W.has(q))return;W.add(q);let V=X.nodes.find((F)=>F.id===q);if(!V||!Q(V)||V.type===N.ACTION_GROUP)return;let _=gX(V);$.push(_);let H=L0(X,q,D1.ACTION_OUTPUT).filter((F)=>{let z=X.nodes.find((B)=>B.id===F.target);return z&&Q(z)});for(let F of H)Y(F.target)}let G=L0(X,Z,[D.ACTION_GROUP_OUTPUT,D.DO_OUTPUT,"do-output","action-output","action-group-output"]).filter((q)=>{let V=X.nodes.find((_)=>_.id===q.target);return V&&Q(V)});for(let q of G)Y(q.target);let L=L0(X,Z,[D.ACTION_GROUP_CONDITION_OUTPUT,"condition-output",D.ACTION_GROUP_OUTPUT,"action-output",""]).filter((q)=>{let V=X.nodes.find((_)=>_.id===q.target);return V&&(V.type===N.CONDITION||V.type===N.CONDITION_GROUP)});for(let q of L){let V=M0(q.target,X);if(V)$.push(V)}return{actions:$,mode:J}}function M0(Z,X){if(X.options.resolveAction&&X.options.resolveAction!==M0)return X.options.resolveAction(Z,X);let Q=X.nodes.find((W)=>W.id===Z);if(!Q)return null;if(Q.type===N.ACTION_GROUP){if(X.visitedActs?.has(Z))return null;X.visitedActs?.add(Z);let{actions:W,mode:Y}=$4(Z,X);if(W.length===0)return null;return{mode:Y,actions:W}}if(Q.type===N.DO){if(X.visitedActs?.has(Z))return null;X.visitedActs?.add(Z);let W=xX(Z,X);if(W.length===0)return null;if(W.length===1)return W[0];return{mode:"ALL",actions:W}}if(Q.type===N.CONDITION||Q.type===N.CONDITION_GROUP){if(X.options.resolveCondition){let W=X.options.resolveCondition(Z,X);if(W){let{doBranches:Y,elseBranches:G}=z6(Z,X),L=null,q=null;if(Y.length>0){let V=Y[0],_=xX(V,X);if(_.length>0)L=_.length===1?_[0]:{mode:"ALL",actions:_}}if(G.length>0){let V=G[0],_=xX(V,X);if(_.length>0)q=_.length===1?_[0]:{mode:"ALL",actions:_}}if(!L&&!q){let V=vX(Z,X);if(V.thenActionId)L=M0(V.thenActionId,X);if(V.elseActionId)q=M0(V.elseActionId,X)}if(L||q)return{if:W,do:L??void 0,else:q??void 0}}}}let U=X.options.isActNode||K1;if(!U(Q))return null;if(X.visitedActs?.has(Z))return null;X.visitedActs?.add(Z);let J=gX(Q);if(X.transformers?.action){let W=X.transformers.action(J,Q);if(W===null)return null;let Y=L0(X,Z,D1.ACTION_OUTPUT).filter((G)=>{let L=X.nodes.find((q)=>q.id===G.target);return L&&U(L)});if(Y.length>0){let G=[W];for(let L of Y){let q=M0(L.target,X);if(q)G.push(q)}return{mode:"ALL",actions:G}}return W}let $=L0(X,Z,D1.ACTION_OUTPUT).filter((W)=>{let Y=X.nodes.find((G)=>G.id===W.target);return Y&&U(Y)});if($.length>0){let W=[J];for(let Y of $){let G=M0(Y.target,X);if(G)W.push(G)}return{mode:"SEQUENCE",actions:W}}return J}function xX(Z,X){let Q=X.options.isActNode||K1,U=[],J=L0(X,Z,[D.DO_OUTPUT,D.ELSE_OUTPUT,"do-output","else-output","action-output",""]).filter(($)=>{let W=X.nodes.find((Y)=>Y.id===$.target);return W&&Q(W)});for(let $ of J){let W=M0($.target,X);if(W)U.push(W)}return U}function z6(Z,X){let Q=(G)=>G.type===N.CONDITION||G.type===N.CONDITION_GROUP,U=(G)=>G.type===N.DO,J=[],$=[],W=new Set;function Y(G){if(W.has(G))return;W.add(G);let L=X.nodes.find((V)=>V.id===G);if(!L)return;if(L.type===N.CONDITION_GROUP){let V=L0(X,G,[D.CONDITION_GROUP_OUTPUT,"cond-output","output",""]);for(let _ of V){let H=X.nodes.find((F)=>F.id===_.target);if(H){if(U(H)){if($2(H)===x0.ELSE){if(!$.includes(H.id))$.push(H.id)}else if(!J.includes(H.id))J.push(H.id)}else if(Q(H))Y(H.id)}}return}let q=X.edges.filter((V)=>V.source===G);for(let V of q){let _=X.nodes.find((H)=>H.id===V.target);if(!_)continue;if(U(_)){if($2(_)===x0.ELSE){if(!$.includes(_.id))$.push(_.id)}else if(!J.includes(_.id))J.push(_.id)}else if(Q(_))Y(_.id)}}return Y(Z),{doBranches:J,elseBranches:$}}var pU;((Y)=>{Y.MISSING_EVENT_NODE="MISSING_EVENT_NODE";Y.MISSING_RULE_ID_OR_EVENT_NAME="MISSING_RULE_ID_OR_EVENT_NAME";Y.NO_EVENTS_FOUND="NO_EVENTS_FOUND";Y.RULE_ID_REQUIRED="RULE_ID_REQUIRED";Y.RULE_ON_EVENT_REQUIRED="RULE_ON_EVENT_REQUIRED";Y.RULE_DO_ACTION_REQUIRED="RULE_DO_ACTION_REQUIRED";Y.PARSE_FAILED="PARSE_FAILED"})(pU||={});class w1 extends Error{code;eventId;constructor(Z,X,Q){super(Z);this.name="GraphParserError",this.code=X,this.eventId=Q}}function EL(Z,X,Q={},U){let J={...Q,resolveCondition:Q.resolveCondition||S2,resolveAction:Q.resolveAction||M0};return{nodes:Z,edges:X,visitedConds:new Set,visitedActs:new Set,options:J,transformers:U}}var Dw=$2,fL=yX;function IL(Z,X,Q){let U=X.options.isCondNode||x1,J=_6,$=X.edges.filter((F)=>F.source===Z).find((F)=>{let z=X.nodes.find((B)=>B.id===F.target);return z&&U(z)}),W;if($)W=$.target;if(!W)return null;let Y=new Set(X.visitedConds);X.visitedConds.clear();let G=S2(W,X);if(X.visitedConds=Y,!G)return null;let{thenActionId:L,elseActionId:q}=hX(W,X),V=X.edges.filter((F)=>F.source===Z).find((F)=>{let z=X.nodes.find((B)=>B.id===F.target);return z&&(X.options.isActNode?.(z)??K1(z))&&z.type!==N.DO});if(V&&!q)q=V.target;let _=L?M0(L,X):void 0,H=q?M0(q,X):void 0;return{if:G,do:_??void 0,else:H??void 0}}function H6(Z,X,Q){let U=X.options.isActNode||K1,J=[],$=X.edges.filter((Y)=>Y.source===Z).filter((Y)=>{let G=X.nodes.find((L)=>L.id===Y.target);return G&&(U(G)&&G.type!==N.DO&&G.type!==N.CONDITION&&G.type!==N.CONDITION_GROUP)});for(let Y of $){let G=M0(Y.target,X);if(G)J.push(G)}let W=IL(Z,X,Q);if(W)J.push(W);return J}function hX(Z,X){let Q=X.options.isCondNode||x1,U=X.options.isActNode||K1,J=_6,$,W;function Y(G){let L=X.nodes.find((_)=>_.id===G);if(!L||!Q(L))return;let q=L0(X,G,[D.THEN_OUTPUT,D.ELSE_OUTPUT,D.CONDITION_OUTPUT,D.CONDITION_OUTPUT_LEGACY,D.DO_OUTPUT,""]);for(let _ of q){let H=X.nodes.find((F)=>F.id===_.target);if(!H)continue;if(J(H)){let F=L0(X,H.id,[D.DO_OUTPUT,""]).filter((P)=>{let O=X.nodes.find((S)=>S.id===P.target);return O&&U(O)}),z=$2(H);for(let P of F)if(z===x0.ELSE)W=P.target;else $=P.target;let B=L0(X,H.id,[D.DO_CONDITION_OUTPUT]),K=B.find((P)=>{let O=X.nodes.find((S)=>S.id===P.target);return O&&Q(O)}),w=B.find((P)=>{let O=X.nodes.find((S)=>S.id===P.target);return O&&U(O)});if(w&&!W)W=w.target;continue}if(H.type===N.ACTION_GROUP){$=_.target;continue}if(!U(H))continue;if(_.sourceHandle===D.ELSE_OUTPUT)W=_.target;else $=_.target}let V=L0(X,G,D1.CONDITION_OUTPUT).filter((_)=>{let H=X.nodes.find((F)=>F.id===_.target);return H&&Q(H)});for(let _ of V)Y(_.target)}return Y(Z),{thenActionId:$,elseActionId:W}}function mX(Z,X,Q={},U){let J=new uX;if(Q.optimizeOptions)J.withOptimizeOptions(Q.optimizeOptions);let $=Q.isEventNode||y9,W=Q.isCondNode||x1,Y=Q.isActNode||K1,G=_6,L=Q.extractEventData||fL,q=Z.find((O)=>$(O));if(!q)throw new w1("Missing Event Trigger node","MISSING_EVENT_NODE");let V=L(q);if(!V.id||!V.on)throw new w1("Rule ID and Event Name are required","MISSING_RULE_ID_OR_EVENT_NAME",V.id);if(J.id(V.id).on(V.on),V.name)J.name(V.name);if(V.description)J.description(V.description);if(V.priority!==void 0)J.priority(Number(V.priority));if(V.enabled!==void 0)J.enabled(!!V.enabled);if(V.cooldown!==void 0)J.cooldown(Number(V.cooldown));if(V.tags)J.tags(V.tags);let _=EL(Z,X,Q,U),H=X.filter((O)=>O.source===q.id),F=[],z=[],B=[],K=[];for(let O of H){let S=_.nodes.find((C)=>C.id===O.target);if(!S)continue;if(S.type===N.CONDITION_GROUP)F.push(O.target);else if(W(S))z.push(O.target);else if(S.type===N.ACTION_GROUP)B.push(O.target);else if(Y(S))K.push(O.target)}for(let O of F){let{conditions:S,operator:C}=k9(O,_);if(S.length>0){let y={operator:C,conditions:S};J.withIf(y);let A=X.filter((t)=>t.source===O),d=A.filter((t)=>{let c=_.nodes.find((r)=>r.id===t.target);return c&&W(c)&&(t.sourceHandle?.startsWith("cond")||t.sourceHandle===D.CONDITION_GROUP_OUTPUT)}).map((t)=>t.target),e=A.filter((t)=>{let c=_.nodes.find((r)=>r.id===t.target);return c&&Y(c)}).map((t)=>t.target),X0=null,h=null;for(let t of e){let c=_.nodes.find((r)=>r.id===t);if(!c)continue;if(G(c)){let r=H6(c.id,_,O),T0=$2(c);if(r.length>0){let d1=r.length===1?r[0]:{mode:"ALL",actions:r};if(T0===x0.ELSE)h=d1;else X0=d1}}else{let r=M0(t,_);if(r)X0=r}}if(!X0||!h)for(let t of d){let c=hX(t,_),r=c.thenActionId?M0(c.thenActionId,_):null,T0=c.elseActionId?M0(c.elseActionId,_):null,{doBranches:d1,elseBranches:P4}=z6(t,_),H2=[];for(let w8 of d1){let P8=H6(w8,_,t);H2.push(...P8)}if(H2.length>0&&!r)r=H2.length===1?H2[0]:{mode:"ALL",actions:H2};let A4=[];for(let w8 of P4){let P8=H6(w8,_,t);A4.push(...P8)}if(A4.length>0&&!T0)T0=A4.length===1?A4[0]:{mode:"ALL",actions:A4};if(r&&!X0)X0=r;if(T0&&!h)h=T0}if(X0)J.withDo(X0);if(h)J.elseRule(h)}}if(z.length>0&&F.length===0){let O=[],S,C;for(let c of z){let r=S2(c,_);if(r)O.push(r);let T0=hX(c,_);if(T0.thenActionId)S=T0.thenActionId;if(T0.elseActionId)C=T0.elseActionId}if(O.length===1)J.withIf(O[0]);else if(O.length>1)J.withIf({operator:"AND",conditions:O});let y=z[0];if(!y)return J;let{doBranches:A,elseBranches:d}=z6(y,_),e=[];for(let c of A){let r=H6(c,_,y);e.push(...r)}let X0=e.length===1?e[0]:e.length>1?{mode:"ALL",actions:e}:S?M0(S,_):null,h=[];for(let c of d){let r=H6(c,_,y);h.push(...r)}let t=h.length===1?h[0]:h.length>1?{mode:"ALL",actions:h}:C?M0(C,_):null;if(X0)J.withDo(X0);if(t)J.elseRule(t);if(!S&&!e.length)for(let c of z){let r=L0(_,c,[D.THEN_OUTPUT,D.CONDITION_OUTPUT,"condition-output","then-output","output",""]).filter((T0)=>{return _.nodes.find((P4)=>P4.id===T0.target)?.type===N.ACTION_GROUP});for(let T0 of r){let{actions:d1,mode:P4}=$4(T0.target,_);if(d1.length>0){let H2={mode:P4,actions:d1};J.withDo(H2);break}}}}let w=new Set;if(z.length>0&&F.length===0)for(let O of z){let S=L0(_,O,[D.THEN_OUTPUT,D.CONDITION_OUTPUT,"condition-output","then-output","output",""]).filter((C)=>{return _.nodes.find((A)=>A.id===C.target)?.type===N.ACTION_GROUP});for(let C of S)w.add(C.target)}let P=B.filter((O)=>!w.has(O));if(P.length>0)for(let O of P)if(L0(_,O,[D.ACTION_GROUP_CONDITION_OUTPUT,"condition-output"]).filter((C)=>{let y=_.nodes.find((A)=>A.id===C.target);return y&&W(y)}).length>0){let{actions:C,mode:y}=$4(O,_);if(C.length>0){let A={mode:y,actions:C};J.withDo(A)}}else{let{actions:C,mode:y}=$4(O,_);if(C.length>0)J.withDo({mode:y,actions:C})}if(K.length>0&&z.length===0&&F.length===0)for(let O of K){let S=M0(O,_);if(S)J.withDo(S)}return J}function lU(Z,X,Q={},U){let J=Q.isEventNode||y9,$=Z.filter((G)=>J(G));if($.length===0)return{rules:[],errors:[new w1("No Event nodes found in the graph","NO_EVENTS_FOUND")]};let W=[],Y=[];for(let G of $)try{let L=G.id,q=new Set([L]),V=[L];while(V.length>0){let B=V.shift(),K=X.filter((w)=>w.source===B);for(let w of K)if(!q.has(w.target))q.add(w.target),V.push(w.target)}let _=Z.filter((B)=>q.has(B.id)),H=X.filter((B)=>q.has(B.source)&&q.has(B.target)),z=mX(_,H,Q,U).build();W.push(z)}catch(L){if(L instanceof w1){if(!L.eventId)L.eventId=G.id;Y.push(L)}else{let q=L instanceof Error?L.message:String(L);Y.push(new w1(`Failed to parse rule for event ${G.id}: ${q}`,"PARSE_FAILED",G.id))}}return{rules:W,errors:Y}}class uX{rule={enabled:!0,priority:0};optimizeOptions={};static fromGraph(Z,X,Q,U){return mX(Z,X,Q,U)}static fromGraphMultiple(Z,X,Q,U){return lU(Z,X,Q,U)}withId(Z){return this.rule.id=Z,this}withName(Z){return this.rule.name=Z,this}withDescription(Z){return this.rule.description=Z,this}withPriority(Z){return this.rule.priority=Z,this}withCooldown(Z){return this.rule.cooldown=Z,this}withTags(Z){return this.rule.tags=Z,this}withEnabled(Z){return this.rule.enabled=Z,this}withOptimizeOptions(Z){return this.optimizeOptions=Z,this}id(Z){return this.withId(Z)}name(Z){return this.withName(Z)}description(Z){return this.withDescription(Z)}priority(Z){return this.withPriority(Z)}enabled(Z){return this.withEnabled(Z)}cooldown(Z){return this.withCooldown(Z)}tags(Z){return this.withTags(Z)}optimize(Z){return this.withOptimizeOptions(Z)}on(Z){return this.rule.on=Z,this}if(Z,X,Q){if(!this.rule.if)this.rule.if={field:Z,operator:X,value:Q};else if(Array.isArray(this.rule.if))this.rule.if.push({field:Z,operator:X,value:Q});else this.rule.if=[this.rule.if,{field:Z,operator:X,value:Q}];return this}ifComplex(Z){let X=new J2,Q=Z(X).build();return this.rule.if=Q,this}withIf(Z){return this.rule.if=Z,this}do(Z,X,Q){let U={type:Z,params:X,...Q};if(!this.rule.do)this.rule.do=U;else if(Array.isArray(this.rule.do))this.rule.do.push(U);else if(this.rule.do&&typeof this.rule.do==="object"&&"actions"in this.rule.do)this.rule.do.actions.push(U);else this.rule.do=[this.rule.do,U];return this}doComplex(Z){let X=new V6,Q=Z(X).build();return this.rule.do=Q,this}withDo(Z){return this.rule.do=Z,this}elseRule(Z){return this.rule.else=Z,this}when(Z,X,Q){return new I9(this,Z,X,Q)}whenComplex(Z){let X=new J2,Q=Z(X).build();return new I9(this,Q)}then(Z,X,Q){return this.do(Z,X,Q)}ifAction(Z,X,Q){let U=this.rule.do;if(!U)throw Error("Cannot add condition: no action defined. Use do() or then() first.");let J=($)=>({...$,if:{field:Z,operator:X,value:Q}});if(Array.isArray(U)){let $=U.length-1,W=U[$];if(W&&"actions"in W){let Y=W.actions,G=Y.length-1;if(G>=0)Y[G]=J(Y[G])}else if(W)U[$]=J(W)}else if(U&&"actions"in U){let $=U.actions,W=$.length-1;if(W>=0)$[W]=J($[W])}else if(U)this.rule.do=J(U);return this}thenAction(Z){let X=this.rule.do;if(!X)throw Error("Cannot add then: no action defined. Use do() or then() first.");let Q=(U)=>({...U,then:Z});if(Array.isArray(X)){let U=X.length-1,J=X[U];if(J&&"actions"in J){let $=J.actions,W=$.length-1;if(W>=0)$[W]=Q($[W])}else if(J)X[U]=Q(J)}else if(X&&"actions"in X){let U=X.actions,J=U.length-1;if(J>=0)U[J]=Q(U[J])}else if(X)this.rule.do=Q(X);return this}else(Z){let X=this.rule.do;if(!X)throw Error("Cannot add else: no action defined. Use do() or then() first.");let Q=(U)=>({...U,else:Z});if(Array.isArray(X)){let U=X.length-1,J=X[U];if(J&&"actions"in J){let $=J.actions,W=$.length-1;if(W>=0)$[W]=Q($[W])}else if(J)X[U]=Q(J)}else if(X&&"actions"in X){let U=X.actions,J=U.length-1;if(J>=0)U[J]=Q(U[J])}else if(X)this.rule.do=[Q(X)];return this}elseAction(Z){return this.else(Z)}build(){if(!this.rule.id)throw new w1("Rule ID is required","RULE_ID_REQUIRED");if(!this.rule.on)throw new w1("Rule 'on' event is required","RULE_ON_EVENT_REQUIRED",this.rule.id);if(!this.rule.do)throw new w1("Rule 'do' action is required","RULE_DO_ACTION_REQUIRED",this.rule.id);if(this.rule.if)this.rule.if=L6(this.rule.if,this.optimizeOptions);if(this.rule.do){let Z=q6(this.rule.do,this.optimizeOptions);this.rule.do=Z?Z:this.rule.do}return this.rule}}class I9{parent;condition;thenActions;elseActions;constructor(Z,X,Q,U){if(this.parent=Z,typeof X==="string")this.condition={field:X,operator:Q,value:U};else this.condition=X}then(Z,X,Q){if(typeof Z==="string")this.thenActions={type:Z,params:X,...Q};else this.thenActions=Z;return this}do(Z,X,Q){return this.then(Z,X,Q)}done(){return this.build()}else(Z,X,Q){if(typeof Z==="string")this.elseActions={type:Z,params:X,...Q};else this.elseActions=Z;return this.build()}build(){let Z={if:this.condition};if(this.thenActions)Z.then=this.thenActions;if(this.elseActions)Z.else=this.elseActions;let X=this.parent.rule.do;if(!X)this.parent.rule.do=Z;else if(Array.isArray(X))X.push(Z);else this.parent.rule.do=[X,Z];return this.parent}}var F7={};h6(F7,{visitAsync:()=>F6,visit:()=>q1,stringify:()=>hJ,parseDocument:()=>H7,parseAllDocuments:()=>R8,parse:()=>O8,isSeq:()=>Z1,isScalar:()=>x,isPair:()=>p,isNode:()=>l,isMap:()=>e0,isDocument:()=>t0,isCollection:()=>n,isAlias:()=>l0,YAMLWarning:()=>j6,YAMLSeq:()=>P0,YAMLParseError:()=>Q1,YAMLMap:()=>q0,YAMLError:()=>S6,Schema:()=>H4,Scalar:()=>f,Parser:()=>O4,Pair:()=>Y0,LineCounter:()=>k6,Lexer:()=>y6,Document:()=>S1,Composer:()=>B4,CST:()=>_7,Alias:()=>m1});var g9=Symbol.for("yaml.alias"),v9=Symbol.for("yaml.document"),L1=Symbol.for("yaml.map"),pX=Symbol.for("yaml.pair"),p0=Symbol.for("yaml.scalar"),h1=Symbol.for("yaml.seq"),N0=Symbol.for("yaml.node.type"),l0=(Z)=>!!Z&&typeof Z==="object"&&Z[N0]===g9,t0=(Z)=>!!Z&&typeof Z==="object"&&Z[N0]===v9,e0=(Z)=>!!Z&&typeof Z==="object"&&Z[N0]===L1,p=(Z)=>!!Z&&typeof Z==="object"&&Z[N0]===pX,x=(Z)=>!!Z&&typeof Z==="object"&&Z[N0]===p0,Z1=(Z)=>!!Z&&typeof Z==="object"&&Z[N0]===h1;function n(Z){if(Z&&typeof Z==="object")switch(Z[N0]){case L1:case h1:return!0}return!1}function l(Z){if(Z&&typeof Z==="object")switch(Z[N0]){case g9:case L1:case p0:case h1:return!0}return!1}var x9=(Z)=>(x(Z)||n(Z))&&!!Z.anchor;var h0=Symbol("break visit"),dU=Symbol("skip children"),P1=Symbol("remove node");function q1(Z,X){let Q=cU(X);if(t0(Z)){if(W4(null,Z.contents,Q,Object.freeze([Z]))===P1)Z.contents=null}else W4(null,Z,Q,Object.freeze([]))}q1.BREAK=h0;q1.SKIP=dU;q1.REMOVE=P1;function W4(Z,X,Q,U){let J=iU(Z,X,Q,U);if(l(J)||p(J))return sU(Z,U,J),W4(Z,J,Q,U);if(typeof J!=="symbol"){if(n(X)){U=Object.freeze(U.concat(X));for(let $=0;$<X.items.length;++$){let W=W4($,X.items[$],Q,U);if(typeof W==="number")$=W-1;else if(W===h0)return h0;else if(W===P1)X.items.splice($,1),$-=1}}else if(p(X)){U=Object.freeze(U.concat(X));let $=W4("key",X.key,Q,U);if($===h0)return h0;else if($===P1)X.key=null;let W=W4("value",X.value,Q,U);if(W===h0)return h0;else if(W===P1)X.value=null}}return J}async function F6(Z,X){let Q=cU(X);if(t0(Z)){if(await Y4(null,Z.contents,Q,Object.freeze([Z]))===P1)Z.contents=null}else await Y4(null,Z,Q,Object.freeze([]))}F6.BREAK=h0;F6.SKIP=dU;F6.REMOVE=P1;async function Y4(Z,X,Q,U){let J=await iU(Z,X,Q,U);if(l(J)||p(J))return sU(Z,U,J),Y4(Z,J,Q,U);if(typeof J!=="symbol"){if(n(X)){U=Object.freeze(U.concat(X));for(let $=0;$<X.items.length;++$){let W=await Y4($,X.items[$],Q,U);if(typeof W==="number")$=W-1;else if(W===h0)return h0;else if(W===P1)X.items.splice($,1),$-=1}}else if(p(X)){U=Object.freeze(U.concat(X));let $=await Y4("key",X.key,Q,U);if($===h0)return h0;else if($===P1)X.key=null;let W=await Y4("value",X.value,Q,U);if(W===h0)return h0;else if(W===P1)X.value=null}}return J}function cU(Z){if(typeof Z==="object"&&(Z.Collection||Z.Node||Z.Value))return Object.assign({Alias:Z.Node,Map:Z.Node,Scalar:Z.Node,Seq:Z.Node},Z.Value&&{Map:Z.Value,Scalar:Z.Value,Seq:Z.Value},Z.Collection&&{Map:Z.Collection,Seq:Z.Collection},Z);return Z}function iU(Z,X,Q,U){if(typeof Q==="function")return Q(Z,X,U);if(e0(X))return Q.Map?.(Z,X,U);if(Z1(X))return Q.Seq?.(Z,X,U);if(p(X))return Q.Pair?.(Z,X,U);if(x(X))return Q.Scalar?.(Z,X,U);if(l0(X))return Q.Alias?.(Z,X,U);return}function sU(Z,X,Q){let U=X[X.length-1];if(n(U))U.items[Z]=Q;else if(p(U))if(Z==="key")U.key=Q;else U.value=Q;else if(t0(U))U.contents=Q;else{let J=l0(U)?"alias":"scalar";throw Error(`Cannot replace node with ${J} parent`)}}var yL={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},kL=(Z)=>Z.replace(/[!,[\]{}]/g,(X)=>yL[X]);class K0{constructor(Z,X){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},K0.defaultYaml,Z),this.tags=Object.assign({},K0.defaultTags,X)}clone(){let Z=new K0(this.yaml,this.tags);return Z.docStart=this.docStart,Z}atDocument(){let Z=new K0(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:K0.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},K0.defaultTags);break}return Z}add(Z,X){if(this.atNextDocument)this.yaml={explicit:K0.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},K0.defaultTags),this.atNextDocument=!1;let Q=Z.trim().split(/[ \t]+/),U=Q.shift();switch(U){case"%TAG":{if(Q.length!==2){if(X(0,"%TAG directive should contain exactly two parts"),Q.length<2)return!1}let[J,$]=Q;return this.tags[J]=$,!0}case"%YAML":{if(this.yaml.explicit=!0,Q.length!==1)return X(0,"%YAML directive should contain exactly one part"),!1;let[J]=Q;if(J==="1.1"||J==="1.2")return this.yaml.version=J,!0;else{let $=/^\d+\.\d+$/.test(J);return X(6,`Unsupported YAML version ${J}`,$),!1}}default:return X(0,`Unknown directive ${U}`,!0),!1}}tagName(Z,X){if(Z==="!")return"!";if(Z[0]!=="!")return X(`Not a valid tag: ${Z}`),null;if(Z[1]==="<"){let $=Z.slice(2,-1);if($==="!"||$==="!!")return X(`Verbatim tags aren't resolved, so ${Z} is invalid.`),null;if(Z[Z.length-1]!==">")X("Verbatim tags must end with a >");return $}let[,Q,U]=Z.match(/^(.*!)([^!]*)$/s);if(!U)X(`The ${Z} tag has no suffix`);let J=this.tags[Q];if(J)try{return J+decodeURIComponent(U)}catch($){return X(String($)),null}if(Q==="!")return Z;return X(`Could not resolve tag: ${Z}`),null}tagString(Z){for(let[X,Q]of Object.entries(this.tags))if(Z.startsWith(Q))return X+kL(Z.substring(Q.length));return Z[0]==="!"?Z:`!<${Z}>`}toString(Z){let X=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],Q=Object.entries(this.tags),U;if(Z&&Q.length>0&&l(Z.contents)){let J={};q1(Z.contents,($,W)=>{if(l(W)&&W.tag)J[W.tag]=!0}),U=Object.keys(J)}else U=[];for(let[J,$]of Q){if(J==="!!"&&$==="tag:yaml.org,2002:")continue;if(!Z||U.some((W)=>W.startsWith($)))X.push(`%TAG ${J} ${$}`)}return X.join(`
|
|
47
|
+
`)}}K0.defaultYaml={explicit:!1,version:"1.2"};K0.defaultTags={"!!":"tag:yaml.org,2002:"};function h9(Z){if(/[\x00-\x19\s,[\]{}]/.test(Z)){let Q=`Anchor must not contain whitespace or control characters: ${JSON.stringify(Z)}`;throw Error(Q)}return!0}function lX(Z){let X=new Set;return q1(Z,{Value(Q,U){if(U.anchor)X.add(U.anchor)}}),X}function dX(Z,X){for(let Q=1;;++Q){let U=`${Z}${Q}`;if(!X.has(U))return U}}function rU(Z,X){let Q=[],U=new Map,J=null;return{onAnchor:($)=>{Q.push($),J??(J=lX(Z));let W=dX(X,J);return J.add(W),W},setAnchors:()=>{for(let $ of Q){let W=U.get($);if(typeof W==="object"&&W.anchor&&(x(W.node)||n(W.node)))W.node.anchor=W.anchor;else{let Y=Error("Failed to resolve repeated object (this should not happen)");throw Y.source=$,Y}}},sourceObjects:U}}function W2(Z,X,Q,U){if(U&&typeof U==="object")if(Array.isArray(U))for(let J=0,$=U.length;J<$;++J){let W=U[J],Y=W2(Z,U,String(J),W);if(Y===void 0)delete U[J];else if(Y!==W)U[J]=Y}else if(U instanceof Map)for(let J of Array.from(U.keys())){let $=U.get(J),W=W2(Z,U,J,$);if(W===void 0)U.delete(J);else if(W!==$)U.set(J,W)}else if(U instanceof Set)for(let J of Array.from(U)){let $=W2(Z,U,J,J);if($===void 0)U.delete(J);else if($!==J)U.delete(J),U.add($)}else for(let[J,$]of Object.entries(U)){let W=W2(Z,U,J,$);if(W===void 0)delete U[J];else if(W!==$)U[J]=W}return Z.call(X,Q,U)}function R0(Z,X,Q){if(Array.isArray(Z))return Z.map((U,J)=>R0(U,String(J),Q));if(Z&&typeof Z.toJSON==="function"){if(!Q||!x9(Z))return Z.toJSON(X,Q);let U={aliasCount:0,count:1,res:void 0};Q.anchors.set(Z,U),Q.onCreate=($)=>{U.res=$,delete Q.onCreate};let J=Z.toJSON(X,Q);if(Q.onCreate)Q.onCreate(J);return J}if(typeof Z==="bigint"&&!Q?.keep)return Number(Z);return Z}class j2{constructor(Z){Object.defineProperty(this,N0,{value:Z})}clone(){let Z=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(this.range)Z.range=this.range.slice();return Z}toJS(Z,{mapAsMap:X,maxAliasCount:Q,onAnchor:U,reviver:J}={}){if(!t0(Z))throw TypeError("A document argument is required");let $={anchors:new Map,doc:Z,keep:!0,mapAsMap:X===!0,mapKeyWarned:!1,maxAliasCount:typeof Q==="number"?Q:100},W=R0(this,"",$);if(typeof U==="function")for(let{count:Y,res:G}of $.anchors.values())U(G,Y);return typeof J==="function"?W2(J,{"":W},"",W):W}}class m1 extends j2{constructor(Z){super(g9);this.source=Z,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(Z,X){let Q;if(X?.aliasResolveCache)Q=X.aliasResolveCache;else if(Q=[],q1(Z,{Node:(J,$)=>{if(l0($)||x9($))Q.push($)}}),X)X.aliasResolveCache=Q;let U=void 0;for(let J of Q){if(J===this)break;if(J.anchor===this.source)U=J}return U}toJSON(Z,X){if(!X)return{source:this.source};let{anchors:Q,doc:U,maxAliasCount:J}=X,$=this.resolve(U,X);if(!$){let Y=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(Y)}let W=Q.get($);if(!W)R0($,null,X),W=Q.get($);if(W?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(J>=0){if(W.count+=1,W.aliasCount===0)W.aliasCount=m9(U,$,Q);if(W.count*W.aliasCount>J)throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return W.res}toString(Z,X,Q){let U=`*${this.source}`;if(Z){if(h9(this.source),Z.options.verifyAliasOrder&&!Z.anchors.has(this.source)){let J=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(J)}if(Z.implicitKey)return`${U} `}return U}}function m9(Z,X,Q){if(l0(X)){let U=X.resolve(Z),J=Q&&U&&Q.get(U);return J?J.count*J.aliasCount:0}else if(n(X)){let U=0;for(let J of X.items){let $=m9(Z,J,Q);if($>U)U=$}return U}else if(p(X)){let U=m9(Z,X.key,Q),J=m9(Z,X.value,Q);return Math.max(U,J)}return 1}var u9=(Z)=>!Z||typeof Z!=="function"&&typeof Z!=="object";class f extends j2{constructor(Z){super(p0);this.value=Z}toJSON(Z,X){return X?.keep?this.value:R0(this.value,Z,X)}toString(){return String(this.value)}}f.BLOCK_FOLDED="BLOCK_FOLDED";f.BLOCK_LITERAL="BLOCK_LITERAL";f.PLAIN="PLAIN";f.QUOTE_DOUBLE="QUOTE_DOUBLE";f.QUOTE_SINGLE="QUOTE_SINGLE";var gL="tag:yaml.org,2002:";function vL(Z,X,Q){if(X){let U=Q.filter(($)=>$.tag===X),J=U.find(($)=>!$.format)??U[0];if(!J)throw Error(`Tag ${X} not found`);return J}return Q.find((U)=>U.identify?.(Z)&&!U.format)}function u1(Z,X,Q){if(t0(Z))Z=Z.contents;if(l(Z))return Z;if(p(Z)){let V=Q.schema[L1].createNode?.(Q.schema,null,Q);return V.items.push(Z),V}if(Z instanceof String||Z instanceof Number||Z instanceof Boolean||typeof BigInt<"u"&&Z instanceof BigInt)Z=Z.valueOf();let{aliasDuplicateObjects:U,onAnchor:J,onTagObj:$,schema:W,sourceObjects:Y}=Q,G=void 0;if(U&&Z&&typeof Z==="object")if(G=Y.get(Z),G)return G.anchor??(G.anchor=J(Z)),new m1(G.anchor);else G={anchor:null,node:null},Y.set(Z,G);if(X?.startsWith("!!"))X=gL+X.slice(2);let L=vL(Z,X,W.tags);if(!L){if(Z&&typeof Z.toJSON==="function")Z=Z.toJSON();if(!Z||typeof Z!=="object"){let V=new f(Z);if(G)G.node=V;return V}L=Z instanceof Map?W[L1]:(Symbol.iterator in Object(Z))?W[h1]:W[L1]}if($)$(L),delete Q.onTagObj;let q=L?.createNode?L.createNode(Q.schema,Z,Q):typeof L?.nodeClass?.from==="function"?L.nodeClass.from(Q.schema,Z,Q):new f(Z);if(X)q.tag=X;else if(!L.default)q.tag=L.tag;if(G)G.node=q;return q}function B6(Z,X,Q){let U=Q;for(let J=X.length-1;J>=0;--J){let $=X[J];if(typeof $==="number"&&Number.isInteger($)&&$>=0){let W=[];W[$]=U,U=W}else U=new Map([[$,U]])}return u1(U,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:Z,sourceObjects:new Map})}var G4=(Z)=>Z==null||typeof Z==="object"&&!!Z[Symbol.iterator]().next().done;class M6 extends j2{constructor(Z,X){super(Z);Object.defineProperty(this,"schema",{value:X,configurable:!0,enumerable:!1,writable:!0})}clone(Z){let X=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(Z)X.schema=Z;if(X.items=X.items.map((Q)=>l(Q)||p(Q)?Q.clone(Z):Q),this.range)X.range=this.range.slice();return X}addIn(Z,X){if(G4(Z))this.add(X);else{let[Q,...U]=Z,J=this.get(Q,!0);if(n(J))J.addIn(U,X);else if(J===void 0&&this.schema)this.set(Q,B6(this.schema,U,X));else throw Error(`Expected YAML collection at ${Q}. Remaining path: ${U}`)}}deleteIn(Z){let[X,...Q]=Z;if(Q.length===0)return this.delete(X);let U=this.get(X,!0);if(n(U))return U.deleteIn(Q);else throw Error(`Expected YAML collection at ${X}. Remaining path: ${Q}`)}getIn(Z,X){let[Q,...U]=Z,J=this.get(Q,!0);if(U.length===0)return!X&&x(J)?J.value:J;else return n(J)?J.getIn(U,X):void 0}hasAllNullValues(Z){return this.items.every((X)=>{if(!p(X))return!1;let Q=X.value;return Q==null||Z&&x(Q)&&Q.value==null&&!Q.commentBefore&&!Q.comment&&!Q.tag})}hasIn(Z){let[X,...Q]=Z;if(Q.length===0)return this.has(X);let U=this.get(X,!0);return n(U)?U.hasIn(Q):!1}setIn(Z,X){let[Q,...U]=Z;if(U.length===0)this.set(Q,X);else{let J=this.get(Q,!0);if(n(J))J.setIn(U,X);else if(J===void 0&&this.schema)this.set(Q,B6(this.schema,U,X));else throw Error(`Expected YAML collection at ${Q}. Remaining path: ${U}`)}}}var aU=(Z)=>Z.replace(/^(?!$)(?: $)?/gm,"#");function X1(Z,X){if(/^\n+$/.test(Z))return Z.substring(1);return X?Z.replace(/^(?! *$)/gm,X):Z}var A1=(Z,X,Q)=>Z.endsWith(`
|
|
48
48
|
`)?X1(Q,X):Q.includes(`
|
|
49
49
|
`)?`
|
|
50
|
-
`+X1(Q,X):(Z.endsWith(" ")?"":" ")+Q;var cX="flow",
|
|
51
|
-
`){if(Q==="block")z=
|
|
50
|
+
`+X1(Q,X):(Z.endsWith(" ")?"":" ")+Q;var cX="flow",nU="block",tU="quoted";function R6(Z,X,Q="flow",{indentAtStart:U,lineWidth:J=80,minContentWidth:$=20,onFold:W,onOverflow:Y}={}){if(!J||J<0)return Z;if(J<$)$=0;let G=Math.max(1+$,1+J-X.length);if(Z.length<=G)return Z;let L=[],q={},V=J-X.length;if(typeof U==="number")if(U>J-Math.max(2,$))L.push(0);else V=J-U;let _=void 0,H=void 0,F=!1,z=-1,B=-1,K=-1;if(Q==="block"){if(z=oU(Z,z,X.length),z!==-1)V=z+G}for(let P;P=Z[z+=1];){if(Q==="quoted"&&P==="\\"){switch(B=z,Z[z+1]){case"x":z+=3;break;case"u":z+=5;break;case"U":z+=9;break;default:z+=1}K=z}if(P===`
|
|
51
|
+
`){if(Q==="block")z=oU(Z,z,X.length);V=z+X.length+G,_=void 0}else{if(P===" "&&H&&H!==" "&&H!==`
|
|
52
52
|
`&&H!=="\t"){let O=Z[z+1];if(O&&O!==" "&&O!==`
|
|
53
53
|
`&&O!=="\t")_=z}if(z>=V)if(_)L.push(_),V=_+G,_=void 0;else if(Q==="quoted"){while(H===" "||H==="\t")H=P,P=Z[z+=1],F=!0;let O=z>K+1?z-2:B-1;if(q[O])return Z;L.push(O),q[O]=!0,V=O+G,_=void 0}else F=!0}H=P}if(F&&Y)Y();if(L.length===0)return Z;if(W)W();let w=Z.slice(0,L[0]);for(let P=0;P<L.length;++P){let O=L[P],S=L[P+1]||Z.length;if(O===0)w=`
|
|
54
54
|
${X}${Z.slice(0,S)}`;else{if(Q==="quoted"&&q[O])w+=`${Z[O]}\\`;w+=`
|
|
55
|
-
${X}${Z.slice(O+1,S)}`}}return w}function
|
|
55
|
+
${X}${Z.slice(O+1,S)}`}}return w}function oU(Z,X,Q){let U=X,J=X+1,$=Z[J];while($===" "||$==="\t")if(X<J+Q)$=Z[++X];else{do $=Z[++X];while($&&$!==`
|
|
56
56
|
`);U=X,J=X+1,$=Z[J]}return U}var l9=(Z,X)=>({indentAtStart:X?Z.indent.length:Z.indentAtStart,lineWidth:Z.options.lineWidth,minContentWidth:Z.options.minContentWidth}),d9=(Z)=>/^(%|---|\.\.\.)/m.test(Z);function xL(Z,X,Q){if(!X||X<0)return!1;let U=X-Q,J=Z.length;if(J<=U)return!1;for(let $=0,W=0;$<J;++$)if(Z[$]===`
|
|
57
57
|
`){if($-W>U)return!0;if(W=$+1,J-W<=U)return!1}return!0}function O6(Z,X){let Q=JSON.stringify(Z);if(X.options.doubleQuotedAsJSON)return Q;let{implicitKey:U}=X,J=X.options.doubleQuotedMinMultiLineLength,$=X.indent||(d9(Z)?" ":""),W="",Y=0;for(let G=0,L=Q[G];L;L=Q[++G]){if(L===" "&&Q[G+1]==="\\"&&Q[G+2]==="n")W+=Q.slice(Y,G)+"\\ ",G+=1,Y=G,L="\\";if(L==="\\")switch(Q[G+1]){case"u":{W+=Q.slice(Y,G);let q=Q.substr(G+2,4);switch(q){case"0000":W+="\\0";break;case"0007":W+="\\a";break;case"000b":W+="\\v";break;case"001b":W+="\\e";break;case"0085":W+="\\N";break;case"00a0":W+="\\_";break;case"2028":W+="\\L";break;case"2029":W+="\\P";break;default:if(q.substr(0,2)==="00")W+="\\x"+q.substr(2);else W+=Q.substr(G,6)}G+=5,Y=G+1}break;case"n":if(U||Q[G+2]==='"'||Q.length<J)G+=1;else{W+=Q.slice(Y,G)+`
|
|
58
58
|
|
|
59
59
|
`;while(Q[G+2]==="\\"&&Q[G+3]==="n"&&Q[G+4]!=='"')W+=`
|
|
60
|
-
`,G+=2;if(W+=$,Q[G+2]===" ")W+="\\";G+=1,Y=G+1}break;default:G+=1}}return W=Y?W+Q.slice(Y):Q,U?W:R6(W,$,
|
|
60
|
+
`,G+=2;if(W+=$,Q[G+2]===" ")W+="\\";G+=1,Y=G+1}break;default:G+=1}}return W=Y?W+Q.slice(Y):Q,U?W:R6(W,$,tU,l9(X,!1))}function iX(Z,X){if(X.options.singleQuote===!1||X.implicitKey&&Z.includes(`
|
|
61
61
|
`)||/[ \t]\n|\n[ \t]/.test(Z))return O6(Z,X);let Q=X.indent||(d9(Z)?" ":""),U="'"+Z.replace(/'/g,"''").replace(/\n+/g,`$&
|
|
62
62
|
${Q}`)+"'";return X.implicitKey?U:R6(U,Q,cX,l9(X,!1))}function L4(Z,X){let{singleQuote:Q}=X.options,U;if(Q===!1)U=O6;else{let J=Z.includes('"'),$=Z.includes("'");if(J&&!$)U=iX;else if($&&!J)U=O6;else U=Q?iX:O6}return U(Z,X)}var sX;try{sX=new RegExp(`(^|(?<!
|
|
63
63
|
))
|
|
@@ -69,14 +69,14 @@ ${Q}`)+"'";return X.implicitKey?U:R6(U,Q,cX,l9(X,!1))}function L4(Z,X){let{singl
|
|
|
69
69
|
`);if(F===-1)V="-";else if(Q===H||F!==H.length-1){if(V="+",$)$()}else V="";if(H){if(Q=Q.slice(0,-H.length),H[H.length-1]===`
|
|
70
70
|
`)H=H.slice(0,-1);H=H.replace(sX,`$&${L}`)}let z=!1,B,K=-1;for(B=0;B<Q.length;++B){let S=Q[B];if(S===" ")z=!0;else if(S===`
|
|
71
71
|
`)K=B;else break}let w=Q.substring(0,K<B?K+1:B);if(w)Q=Q.substring(w.length),w=w.replace(/\n+/g,`$&${L}`);let O=(z?L?"2":"1":"")+V;if(Z){if(O+=" "+Y(Z.replace(/ ?[\r\n]+/g," ")),J)J()}if(!q){let S=Q.replace(/\n+/g,`
|
|
72
|
-
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${L}`),C=!1,y=l9(U,!0);if(W!=="folded"&&X!==f.BLOCK_FOLDED)y.onOverflow=()=>{C=!0};let A=R6(`${w}${S}${H}`,L,
|
|
72
|
+
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${L}`),C=!1,y=l9(U,!0);if(W!=="folded"&&X!==f.BLOCK_FOLDED)y.onOverflow=()=>{C=!0};let A=R6(`${w}${S}${H}`,L,nU,y);if(!C)return`>${O}
|
|
73
73
|
${L}${A}`}return Q=Q.replace(/\n+/g,`$&${L}`),`|${O}
|
|
74
74
|
${L}${w}${Q}${H}`}function hL(Z,X,Q,U){let{type:J,value:$}=Z,{actualString:W,implicitKey:Y,indent:G,indentStep:L,inFlow:q}=X;if(Y&&$.includes(`
|
|
75
75
|
`)||q&&/[[\]{},]/.test($))return L4($,X);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test($))return Y||q||!$.includes(`
|
|
76
76
|
`)?L4($,X):p9(Z,X,Q,U);if(!Y&&!q&&J!==f.PLAIN&&$.includes(`
|
|
77
77
|
`))return p9(Z,X,Q,U);if(d9($)){if(G==="")return X.forceBlockIndent=!0,p9(Z,X,Q,U);else if(Y&&G===L)return L4($,X)}let V=$.replace(/\n+/g,`$&
|
|
78
|
-
${G}`);if(W){let _=(z)=>z.default&&z.tag!=="tag:yaml.org,2002:str"&&z.test?.test(V),{compat:H,tags:F}=X.doc.schema;if(F.some(_)||H?.some(_))return L4($,X)}return Y?V:R6(V,G,cX,l9(X,!1))}function p1(Z,X,Q,U){let{implicitKey:J,inFlow:$}=X,W=typeof Z.value==="string"?Z:Object.assign({},Z,{value:String(Z.value)}),{type:Y}=Z;if(Y!==f.QUOTE_DOUBLE){if(/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(W.value))Y=f.QUOTE_DOUBLE}let G=(q)=>{switch(q){case f.BLOCK_FOLDED:case f.BLOCK_LITERAL:return J||$?L4(W.value,X):p9(W,X,Q,U);case f.QUOTE_DOUBLE:return O6(W.value,X);case f.QUOTE_SINGLE:return iX(W.value,X);case f.PLAIN:return hL(W,X,Q,U);default:return null}},L=G(Y);if(L===null){let{defaultKeyType:q,defaultStringType:V}=X.options,_=J&&q||V;if(L=G(_),L===null)throw Error(`Unsupported default string type ${_}`)}return L}function c9(Z,X){let Q=Object.assign({blockQuote:!0,commentString:
|
|
79
|
-
${X.indent}${Y}`}function
|
|
78
|
+
${G}`);if(W){let _=(z)=>z.default&&z.tag!=="tag:yaml.org,2002:str"&&z.test?.test(V),{compat:H,tags:F}=X.doc.schema;if(F.some(_)||H?.some(_))return L4($,X)}return Y?V:R6(V,G,cX,l9(X,!1))}function p1(Z,X,Q,U){let{implicitKey:J,inFlow:$}=X,W=typeof Z.value==="string"?Z:Object.assign({},Z,{value:String(Z.value)}),{type:Y}=Z;if(Y!==f.QUOTE_DOUBLE){if(/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(W.value))Y=f.QUOTE_DOUBLE}let G=(q)=>{switch(q){case f.BLOCK_FOLDED:case f.BLOCK_LITERAL:return J||$?L4(W.value,X):p9(W,X,Q,U);case f.QUOTE_DOUBLE:return O6(W.value,X);case f.QUOTE_SINGLE:return iX(W.value,X);case f.PLAIN:return hL(W,X,Q,U);default:return null}},L=G(Y);if(L===null){let{defaultKeyType:q,defaultStringType:V}=X.options,_=J&&q||V;if(L=G(_),L===null)throw Error(`Unsupported default string type ${_}`)}return L}function c9(Z,X){let Q=Object.assign({blockQuote:!0,commentString:aU,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trueStr:"true",verifyAliasOrder:!0},Z.schema.toStringOptions,X),U;switch(Q.collectionStyle){case"block":U=!1;break;case"flow":U=!0;break;default:U=null}return{anchors:new Set,doc:Z,flowCollectionPadding:Q.flowCollectionPadding?" ":"",indent:"",indentStep:typeof Q.indent==="number"?" ".repeat(Q.indent):" ",inFlow:U,options:Q}}function mL(Z,X){if(X.tag){let J=Z.filter(($)=>$.tag===X.tag);if(J.length>0)return J.find(($)=>$.format===X.format)??J[0]}let Q=void 0,U;if(x(X)){U=X.value;let J=Z.filter(($)=>$.identify?.(U));if(J.length>1){let $=J.filter((W)=>W.test);if($.length>0)J=$}Q=J.find(($)=>$.format===X.format)??J.find(($)=>!$.format)}else U=X,Q=Z.find((J)=>J.nodeClass&&U instanceof J.nodeClass);if(!Q){let J=U?.constructor?.name??(U===null?"null":typeof U);throw Error(`Tag not resolved for ${J} value`)}return Q}function uL(Z,X,{anchors:Q,doc:U}){if(!U.directives)return"";let J=[],$=(x(Z)||n(Z))&&Z.anchor;if($&&h9($))Q.add($),J.push(`&${$}`);let W=Z.tag??(X.default?null:X.tag);if(W)J.push(U.directives.tagString(W));return J.join(" ")}function l1(Z,X,Q,U){if(p(Z))return Z.toString(X,Q,U);if(l0(Z)){if(X.doc.directives)return Z.toString(X);if(X.resolvedAliases?.has(Z))throw TypeError("Cannot stringify circular structure without alias nodes");else{if(X.resolvedAliases)X.resolvedAliases.add(Z);else X.resolvedAliases=new Set([Z]);Z=Z.resolve(X.doc)}}let J=void 0,$=l(Z)?Z:X.doc.createNode(Z,{onTagObj:(G)=>J=G});J??(J=mL(X.doc.schema.tags,$));let W=uL($,J,X);if(W.length>0)X.indentAtStart=(X.indentAtStart??0)+W.length+1;let Y=typeof J.stringify==="function"?J.stringify($,X,Q,U):x($)?p1($,X,Q,U):$.toString(X,Q,U);if(!W)return Y;return x($)||Y[0]==="{"||Y[0]==="["?`${W} ${Y}`:`${W}
|
|
79
|
+
${X.indent}${Y}`}function eU({key:Z,value:X},Q,U,J){let{allNullValues:$,doc:W,indent:Y,indentStep:G,options:{commentString:L,indentSeq:q,simpleKeys:V}}=Q,_=l(Z)&&Z.comment||null;if(V){if(_)throw Error("With simple keys, key nodes cannot have comments");if(n(Z)||!l(Z)&&typeof Z==="object")throw Error("With simple keys, collection cannot be used as a key value")}let H=!V&&(!Z||_&&X==null&&!Q.inFlow||n(Z)||(x(Z)?Z.type===f.BLOCK_FOLDED||Z.type===f.BLOCK_LITERAL:typeof Z==="object"));Q=Object.assign({},Q,{allNullValues:!1,implicitKey:!H&&(V||!$),indent:Y+G});let F=!1,z=!1,B=l1(Z,Q,()=>F=!0,()=>z=!0);if(!H&&!Q.inFlow&&B.length>1024){if(V)throw Error("With simple keys, single line scalar must not span more than 1024 characters");H=!0}if(Q.inFlow){if($||X==null){if(F&&U)U();return B===""?"?":H?`? ${B}`:B}}else if($&&!V||X==null&&H){if(B=`? ${B}`,_&&!F)B+=A1(B,Q.indent,L(_));else if(z&&J)J();return B}if(F)_=null;if(H){if(_)B+=A1(B,Q.indent,L(_));B=`? ${B}
|
|
80
80
|
${Y}:`}else if(B=`${B}:`,_)B+=A1(B,Q.indent,L(_));let K,w,P;if(l(X))K=!!X.spaceBefore,w=X.commentBefore,P=X.comment;else if(K=!1,w=null,P=null,X&&typeof X==="object")X=W.createNode(X);if(Q.implicitKey=!1,!H&&!_&&x(X))Q.indentAtStart=B.length+1;if(z=!1,!q&&G.length>=2&&!Q.inFlow&&!H&&Z1(X)&&!X.flow&&!X.tag&&!X.anchor)Q.indent=Q.indent.substring(2);let O=!1,S=l1(X,Q,()=>O=!0,()=>z=!0),C=" ";if(_||K||w){if(C=K?`
|
|
81
81
|
`:"",w){let y=L(w);C+=`
|
|
82
82
|
${X1(y,Q.indent)}`}if(S===""&&!Q.inFlow){if(C===`
|
|
@@ -86,7 +86,7 @@ ${X1(y,Q.indent)}`}if(S===""&&!Q.inFlow){if(C===`
|
|
|
86
86
|
${Q.indent}`}else if(!H&&n(X)){let y=S[0],A=S.indexOf(`
|
|
87
87
|
`),d=A!==-1,e=Q.inFlow??X.flow??X.items.length===0;if(d||!e){let X0=!1;if(d&&(y==="&"||y==="!")){let h=S.indexOf(" ");if(y==="&"&&h!==-1&&h<A&&S[h+1]==="!")h=S.indexOf(" ",h+1);if(h===-1||A<h)X0=!0}if(!X0)C=`
|
|
88
88
|
${Q.indent}`}}else if(S===""||S[0]===`
|
|
89
|
-
`)C="";if(B+=C+S,Q.inFlow){if(O&&U)U()}else if(P&&!O)B+=A1(B,Q.indent,L(P));else if(z&&J)J();return B}function i9(Z,X){if(Z==="debug"||Z==="warn")console.warn(X)}var s9="<<",V1={identify:(Z)=>Z===s9||typeof Z==="symbol"&&Z.description===s9,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new f(Symbol(s9)),{addToJSMap:aX}),stringify:()=>s9},ZJ=(Z,X)=>(V1.identify(X)||x(X)&&(!X.type||X.type===f.PLAIN)&&V1.identify(X.value))&&Z?.doc.schema.tags.some((Q)=>Q.tag===V1.tag&&Q.default);function aX(Z,X,Q){if(Q=Z&&l0(Q)?Q.resolve(Z.doc):Q,Z1(Q))for(let U of Q.items)rX(Z,X,U);else if(Array.isArray(Q))for(let U of Q)rX(Z,X,U);else rX(Z,X,Q)}function rX(Z,X,Q){let U=Z&&l0(Q)?Q.resolve(Z.doc):Q;if(!e0(U))throw Error("Merge sources must be maps or map aliases");let J=U.toJSON(null,Z,Map);for(let[$,W]of J)if(X instanceof Map){if(!X.has($))X.set($,W)}else if(X instanceof Set)X.add($);else if(!Object.prototype.hasOwnProperty.call(X,$))Object.defineProperty(X,$,{value:W,writable:!0,enumerable:!0,configurable:!0});return X}function r9(Z,X,{key:Q,value:U}){if(l(Q)&&Q.addToJSMap)Q.addToJSMap(Z,X,U);else if(ZJ(Z,Q))aX(Z,X,U);else{let J=R0(Q,"",Z);if(X instanceof Map)X.set(J,R0(U,J,Z));else if(X instanceof Set)X.add(J);else{let $=pL(Q,J,Z),W=R0(U,$,Z);if($ in X)Object.defineProperty(X,$,{value:W,writable:!0,enumerable:!0,configurable:!0});else X[$]=W}}return X}function pL(Z,X,Q){if(X===null)return"";if(typeof X!=="object")return String(X);if(l(Z)&&Q?.doc){let U=c9(Q.doc,{});U.anchors=new Set;for(let $ of Q.anchors.keys())U.anchors.add($.anchor);U.inFlow=!0,U.inStringifyKey=!0;let J=Z.toString(U);if(!Q.mapKeyWarned){let $=JSON.stringify(J);if($.length>40)$=$.substring(0,36)+'..."';i9(Q.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${$}. Set mapAsMap: true to use object keys.`),Q.mapKeyWarned=!0}return J}return JSON.stringify(X)}function q4(Z,X,Q){let U=u1(Z,void 0,Q),J=u1(X,void 0,Q);return new Y0(U,J)}class Y0{constructor(Z,X=null){Object.defineProperty(this,N0,{value:pX}),this.key=Z,this.value=X}clone(Z){let{key:X,value:Q}=this;if(l(X))X=X.clone(Z);if(l(Q))Q=Q.clone(Z);return new Y0(X,Q)}toJSON(Z,X){let Q=X?.mapAsMap?new Map:{};return r9(X,Q,this)}toString(Z,X,Q){return Z?.doc?
|
|
89
|
+
`)C="";if(B+=C+S,Q.inFlow){if(O&&U)U()}else if(P&&!O)B+=A1(B,Q.indent,L(P));else if(z&&J)J();return B}function i9(Z,X){if(Z==="debug"||Z==="warn")console.warn(X)}var s9="<<",V1={identify:(Z)=>Z===s9||typeof Z==="symbol"&&Z.description===s9,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new f(Symbol(s9)),{addToJSMap:aX}),stringify:()=>s9},ZJ=(Z,X)=>(V1.identify(X)||x(X)&&(!X.type||X.type===f.PLAIN)&&V1.identify(X.value))&&Z?.doc.schema.tags.some((Q)=>Q.tag===V1.tag&&Q.default);function aX(Z,X,Q){if(Q=Z&&l0(Q)?Q.resolve(Z.doc):Q,Z1(Q))for(let U of Q.items)rX(Z,X,U);else if(Array.isArray(Q))for(let U of Q)rX(Z,X,U);else rX(Z,X,Q)}function rX(Z,X,Q){let U=Z&&l0(Q)?Q.resolve(Z.doc):Q;if(!e0(U))throw Error("Merge sources must be maps or map aliases");let J=U.toJSON(null,Z,Map);for(let[$,W]of J)if(X instanceof Map){if(!X.has($))X.set($,W)}else if(X instanceof Set)X.add($);else if(!Object.prototype.hasOwnProperty.call(X,$))Object.defineProperty(X,$,{value:W,writable:!0,enumerable:!0,configurable:!0});return X}function r9(Z,X,{key:Q,value:U}){if(l(Q)&&Q.addToJSMap)Q.addToJSMap(Z,X,U);else if(ZJ(Z,Q))aX(Z,X,U);else{let J=R0(Q,"",Z);if(X instanceof Map)X.set(J,R0(U,J,Z));else if(X instanceof Set)X.add(J);else{let $=pL(Q,J,Z),W=R0(U,$,Z);if($ in X)Object.defineProperty(X,$,{value:W,writable:!0,enumerable:!0,configurable:!0});else X[$]=W}}return X}function pL(Z,X,Q){if(X===null)return"";if(typeof X!=="object")return String(X);if(l(Z)&&Q?.doc){let U=c9(Q.doc,{});U.anchors=new Set;for(let $ of Q.anchors.keys())U.anchors.add($.anchor);U.inFlow=!0,U.inStringifyKey=!0;let J=Z.toString(U);if(!Q.mapKeyWarned){let $=JSON.stringify(J);if($.length>40)$=$.substring(0,36)+'..."';i9(Q.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${$}. Set mapAsMap: true to use object keys.`),Q.mapKeyWarned=!0}return J}return JSON.stringify(X)}function q4(Z,X,Q){let U=u1(Z,void 0,Q),J=u1(X,void 0,Q);return new Y0(U,J)}class Y0{constructor(Z,X=null){Object.defineProperty(this,N0,{value:pX}),this.key=Z,this.value=X}clone(Z){let{key:X,value:Q}=this;if(l(X))X=X.clone(Z);if(l(Q))Q=Q.clone(Z);return new Y0(X,Q)}toJSON(Z,X){let Q=X?.mapAsMap?new Map:{};return r9(X,Q,this)}toString(Z,X,Q){return Z?.doc?eU(this,Z,X,Q):JSON.stringify(this)}}function o9(Z,X,Q){return(X.inFlow??Z.flow?dL:lL)(Z,X,Q)}function lL({comment:Z,items:X},Q,{blockItemPrefix:U,flowChars:J,itemIndent:$,onChompKeep:W,onComment:Y}){let{indent:G,options:{commentString:L}}=Q,q=Object.assign({},Q,{indent:$,type:null}),V=!1,_=[];for(let F=0;F<X.length;++F){let z=X[F],B=null;if(l(z)){if(!V&&z.spaceBefore)_.push("");if(a9(Q,_,z.commentBefore,V),z.comment)B=z.comment}else if(p(z)){let w=l(z.key)?z.key:null;if(w){if(!V&&w.spaceBefore)_.push("");a9(Q,_,w.commentBefore,V)}}V=!1;let K=l1(z,q,()=>B=null,()=>V=!0);if(B)K+=A1(K,$,L(B));if(V&&B)V=!1;_.push(U+K)}let H;if(_.length===0)H=J.start+J.end;else{H=_[0];for(let F=1;F<_.length;++F){let z=_[F];H+=z?`
|
|
90
90
|
${G}${z}`:`
|
|
91
91
|
`}}if(Z){if(H+=`
|
|
92
92
|
`+X1(L(Z),G),Y)Y()}else if(V&&W)W();return H}function dL({items:Z},X,{flowChars:Q,itemIndent:U}){let{indent:J,indentStep:$,flowCollectionPadding:W,options:{commentString:Y}}=X;U+=$;let G=Object.assign({},X,{indent:U,inFlow:!0,type:null}),L=!1,q=0,V=[];for(let F=0;F<Z.length;++F){let z=Z[F],B=null;if(l(z)){if(z.spaceBefore)V.push("");if(a9(X,V,z.commentBefore,!1),z.comment)B=z.comment}else if(p(z)){let w=l(z.key)?z.key:null;if(w){if(w.spaceBefore)V.push("");if(a9(X,V,w.commentBefore,!1),w.comment)L=!0}let P=l(z.value)?z.value:null;if(P){if(P.comment)B=P.comment;if(P.commentBefore)L=!0}else if(z.value==null&&w?.comment)B=w.comment}if(B)L=!0;let K=l1(z,G,()=>B=null);if(F<Z.length-1)K+=",";if(B)K+=A1(K,U,Y(B));if(!L&&(V.length>q||K.includes(`
|
|
@@ -99,7 +99,7 @@ ${J.key.commentBefore}`:U.commentBefore;if(U.comment){let $=J.value??J.key;$.com
|
|
|
99
99
|
${$.comment}`:U.comment}U=J}Z.items[Q]=p(U)?U:new Y0(U)}else X("Expected a sequence for this tag");return Z}function tX(Z,X,Q){let{replacer:U}=Q,J=new P0(Z);J.tag="tag:yaml.org,2002:pairs";let $=0;if(X&&Symbol.iterator in Object(X))for(let W of X){if(typeof U==="function")W=U.call(X,String($++),W);let Y,G;if(Array.isArray(W))if(W.length===2)Y=W[0],G=W[1];else throw TypeError(`Expected [key, value] tuple: ${W}`);else if(W&&W instanceof Object){let L=Object.keys(W);if(L.length===1)Y=L[0],G=W[Y];else throw TypeError(`Expected tuple with one key, not ${L.length} keys`)}else Y=W;J.items.push(q4(Y,G,Q))}return J}var D6={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:nX,createNode:tX};class V4 extends P0{constructor(){super();this.add=q0.prototype.add.bind(this),this.delete=q0.prototype.delete.bind(this),this.get=q0.prototype.get.bind(this),this.has=q0.prototype.has.bind(this),this.set=q0.prototype.set.bind(this),this.tag=V4.tag}toJSON(Z,X){if(!X)return super.toJSON(Z);let Q=new Map;if(X?.onCreate)X.onCreate(Q);for(let U of this.items){let J,$;if(p(U))J=R0(U.key,"",X),$=R0(U.value,J,X);else J=R0(U,"",X);if(Q.has(J))throw Error("Ordered maps must not include duplicate keys");Q.set(J,$)}return Q}static from(Z,X,Q){let U=tX(Z,X,Q),J=new this;return J.items=U.items,J}}V4.tag="tag:yaml.org,2002:omap";var w6={collection:"seq",identify:(Z)=>Z instanceof Map,nodeClass:V4,default:!1,tag:"tag:yaml.org,2002:omap",resolve(Z,X){let Q=nX(Z,X),U=[];for(let{key:J}of Q.items)if(x(J))if(U.includes(J.value))X(`Ordered maps must not include duplicate keys: ${J.value}`);else U.push(J.value);return Object.assign(new V4,Q)},createNode:(Z,X,Q)=>V4.from(Z,X,Q)};function $J({value:Z,source:X},Q){if(X&&(Z?eX:Z7).test.test(X))return X;return Z?Q.options.trueStr:Q.options.falseStr}var eX={identify:(Z)=>Z===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new f(!0),stringify:$J},Z7={identify:(Z)=>Z===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new f(!1),stringify:$J};var WJ={identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(Z)=>Z.slice(-3).toLowerCase()==="nan"?NaN:Z[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:A0},YJ={identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:(Z)=>parseFloat(Z.replace(/_/g,"")),stringify(Z){let X=Number(Z.value);return isFinite(X)?X.toExponential():A0(Z)}},GJ={identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(Z){let X=new f(parseFloat(Z.replace(/_/g,""))),Q=Z.indexOf(".");if(Q!==-1){let U=Z.substring(Q+1).replace(/_/g,"");if(U[U.length-1]==="0")X.minFractionDigits=U.length}return X},stringify:A0};var P6=(Z)=>typeof Z==="bigint"||Number.isInteger(Z);function W8(Z,X,Q,{intAsBigInt:U}){let J=Z[0];if(J==="-"||J==="+")X+=1;if(Z=Z.substring(X).replace(/_/g,""),U){switch(Q){case 2:Z=`0b${Z}`;break;case 8:Z=`0o${Z}`;break;case 16:Z=`0x${Z}`;break}let W=BigInt(Z);return J==="-"?BigInt(-1)*W:W}let $=parseInt(Z,Q);return J==="-"?-1*$:$}function X7(Z,X,Q){let{value:U}=Z;if(P6(U)){let J=U.toString(X);return U<0?"-"+Q+J.substr(1):Q+J}return A0(Z)}var LJ={identify:P6,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(Z,X,Q)=>W8(Z,2,2,Q),stringify:(Z)=>X7(Z,2,"0b")},qJ={identify:P6,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(Z,X,Q)=>W8(Z,1,8,Q),stringify:(Z)=>X7(Z,8,"0")},VJ={identify:P6,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(Z,X,Q)=>W8(Z,0,10,Q),stringify:A0},_J={identify:P6,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(Z,X,Q)=>W8(Z,2,16,Q),stringify:(Z)=>X7(Z,16,"0x")};class _4 extends q0{constructor(Z){super(Z);this.tag=_4.tag}add(Z){let X;if(p(Z))X=Z;else if(Z&&typeof Z==="object"&&"key"in Z&&"value"in Z&&Z.value===null)X=new Y0(Z.key,null);else X=new Y0(Z,null);if(!Y2(this.items,X.key))this.items.push(X)}get(Z,X){let Q=Y2(this.items,Z);return!X&&p(Q)?x(Q.key)?Q.key.value:Q.key:Q}set(Z,X){if(typeof X!=="boolean")throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof X}`);let Q=Y2(this.items,Z);if(Q&&!X)this.items.splice(this.items.indexOf(Q),1);else if(!Q&&X)this.items.push(new Y0(Z))}toJSON(Z,X){return super.toJSON(Z,X,Set)}toString(Z,X,Q){if(!Z)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},Z,{allNullValues:!0}),X,Q);else throw Error("Set items must all have null values")}static from(Z,X,Q){let{replacer:U}=Q,J=new this(Z);if(X&&Symbol.iterator in Object(X))for(let $ of X){if(typeof U==="function")$=U.call(X,$,$);J.items.push(q4($,null,Q))}return J}}_4.tag="tag:yaml.org,2002:set";var A6={collection:"map",identify:(Z)=>Z instanceof Set,nodeClass:_4,default:!1,tag:"tag:yaml.org,2002:set",createNode:(Z,X,Q)=>_4.from(Z,X,Q),resolve(Z,X){if(e0(Z))if(Z.hasAllNullValues(!0))return Object.assign(new _4,Z);else X("Set items must all have null values");else X("Expected a mapping for this tag");return Z}};function Q7(Z,X){let Q=Z[0],U=Q==="-"||Q==="+"?Z.substring(1):Z,J=(W)=>X?BigInt(W):Number(W),$=U.replace(/_/g,"").split(":").reduce((W,Y)=>W*J(60)+J(Y),J(0));return Q==="-"?J(-1)*$:$}function zJ(Z){let{value:X}=Z,Q=(W)=>W;if(typeof X==="bigint")Q=(W)=>BigInt(W);else if(isNaN(X)||!isFinite(X))return A0(Z);let U="";if(X<0)U="-",X*=Q(-1);let J=Q(60),$=[X%J];if(X<60)$.unshift(0);else if(X=(X-$[0])/J,$.unshift(X%J),X>=60)X=(X-$[0])/J,$.unshift(X);return U+$.map((W)=>String(W).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var Y8={identify:(Z)=>typeof Z==="bigint"||Number.isInteger(Z),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(Z,X,{intAsBigInt:Q})=>Q7(Z,Q),stringify:zJ},G8={identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:(Z)=>Q7(Z,!1),stringify:zJ},z4={identify:(Z)=>Z instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(Z){let X=Z.match(z4.test);if(!X)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,Q,U,J,$,W,Y]=X.map(Number),G=X[7]?Number((X[7]+"00").substr(1,3)):0,L=Date.UTC(Q,U-1,J,$||0,W||0,Y||0,G),q=X[8];if(q&&q!=="Z"){let V=Q7(q,!1);if(Math.abs(V)<30)V*=60;L-=60000*V}return new Date(L)},stringify:({value:Z})=>Z?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};var U7=[_1,z1,G2,C2,eX,Z7,LJ,qJ,VJ,_J,WJ,YJ,GJ,K6,V1,w6,D6,A6,Y8,G8,z4];var HJ=new Map([["core",QJ],["failsafe",[_1,z1,G2]],["json",JJ],["yaml11",U7],["yaml-1.1",U7]]),FJ={binary:K6,bool:T6,float:Z8,floatExp:e9,floatNaN:t9,floatTime:G8,int:U8,intHex:J8,intOct:Q8,intTime:Y8,map:_1,merge:V1,null:C2,omap:w6,pairs:D6,seq:z1,set:A6,timestamp:z4},BJ={"tag:yaml.org,2002:binary":K6,"tag:yaml.org,2002:merge":V1,"tag:yaml.org,2002:omap":w6,"tag:yaml.org,2002:pairs":D6,"tag:yaml.org,2002:set":A6,"tag:yaml.org,2002:timestamp":z4};function L8(Z,X,Q){let U=HJ.get(X);if(U&&!Z)return Q&&!U.includes(V1)?U.concat(V1):U.slice();let J=U;if(!J)if(Array.isArray(Z))J=[];else{let $=Array.from(HJ.keys()).filter((W)=>W!=="yaml11").map((W)=>JSON.stringify(W)).join(", ");throw Error(`Unknown schema "${X}"; use one of ${$} or define customTags array`)}if(Array.isArray(Z))for(let $ of Z)J=J.concat($);else if(typeof Z==="function")J=Z(J.slice());if(Q)J=J.concat(V1);return J.reduce(($,W)=>{let Y=typeof W==="string"?FJ[W]:W;if(!Y){let G=JSON.stringify(W),L=Object.keys(FJ).map((q)=>JSON.stringify(q)).join(", ");throw Error(`Unknown custom tag ${G}; use one of ${L}`)}if(!$.includes(Y))$.push(Y);return $},[])}var sL=(Z,X)=>Z.key<X.key?-1:Z.key>X.key?1:0;class H4{constructor({compat:Z,customTags:X,merge:Q,resolveKnownTags:U,schema:J,sortMapEntries:$,toStringDefaults:W}){this.compat=Array.isArray(Z)?L8(Z,"compat"):Z?L8(null,Z):null,this.name=typeof J==="string"&&J||"core",this.knownTags=U?BJ:{},this.tags=L8(X,this.name,Q),this.toStringOptions=W??null,Object.defineProperty(this,L1,{value:_1}),Object.defineProperty(this,p0,{value:G2}),Object.defineProperty(this,h1,{value:z1}),this.sortMapEntries=typeof $==="function"?$:$===!0?sL:null}clone(){let Z=Object.create(H4.prototype,Object.getOwnPropertyDescriptors(this));return Z.tags=this.tags.slice(),Z}}function MJ(Z,X){let Q=[],U=X.directives===!0;if(X.directives!==!1&&Z.directives){let G=Z.directives.toString(Z);if(G)Q.push(G),U=!0;else if(Z.directives.docStart)U=!0}if(U)Q.push("---");let J=c9(Z,X),{commentString:$}=J.options;if(Z.commentBefore){if(Q.length!==1)Q.unshift("");let G=$(Z.commentBefore);Q.unshift(X1(G,""))}let W=!1,Y=null;if(Z.contents){if(l(Z.contents)){if(Z.contents.spaceBefore&&U)Q.push("");if(Z.contents.commentBefore){let q=$(Z.contents.commentBefore);Q.push(X1(q,""))}J.forceBlockIndent=!!Z.comment,Y=Z.contents.comment}let G=Y?void 0:()=>W=!0,L=l1(Z.contents,J,()=>Y=null,G);if(Y)L+=A1(L,"",$(Y));if((L[0]==="|"||L[0]===">")&&Q[Q.length-1]==="---")Q[Q.length-1]=`--- ${L}`;else Q.push(L)}else Q.push(l1(Z.contents,J));if(Z.directives?.docEnd)if(Z.comment){let G=$(Z.comment);if(G.includes(`
|
|
100
100
|
`))Q.push("..."),Q.push(X1(G,""));else Q.push(`... ${G}`)}else Q.push("...");else{let G=Z.comment;if(G&&W)G=G.replace(/^\n+/,"");if(G){if((!W||Y)&&Q[Q.length-1]!=="")Q.push("");Q.push(X1($(G),""))}}return Q.join(`
|
|
101
101
|
`)+`
|
|
102
|
-
`}class S1{constructor(Z,X,Q){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,N0,{value:v9});let U=null;if(typeof X==="function"||Array.isArray(X))U=X;else if(Q===void 0&&X)Q=X,X=void 0;let J=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},Q);this.options=J;let{version:$}=J;if(Q?._directives){if(this.directives=Q._directives.atDocument(),this.directives.yaml.explicit)$=this.directives.yaml.version}else this.directives=new K0({version:$});this.setSchema($,Q),this.contents=Z===void 0?null:this.createNode(Z,U,Q)}clone(){let Z=Object.create(S1.prototype,{[N0]:{value:v9}});if(Z.commentBefore=this.commentBefore,Z.comment=this.comment,Z.errors=this.errors.slice(),Z.warnings=this.warnings.slice(),Z.options=Object.assign({},this.options),this.directives)Z.directives=this.directives.clone();if(Z.schema=this.schema.clone(),Z.contents=l(this.contents)?this.contents.clone(Z.schema):this.contents,this.range)Z.range=this.range.slice();return Z}add(Z){if(F4(this.contents))this.contents.add(Z)}addIn(Z,X){if(F4(this.contents))this.contents.addIn(Z,X)}createAlias(Z,X){if(!Z.anchor){let Q=lX(this);Z.anchor=!X||Q.has(X)?dX(X||"a",Q):X}return new m1(Z.anchor)}createNode(Z,X,Q){let U=void 0;if(typeof X==="function")Z=X.call({"":Z},"",Z),U=X;else if(Array.isArray(X)){let z=(K)=>typeof K==="number"||K instanceof String||K instanceof Number,B=X.filter(z).map(String);if(B.length>0)X=X.concat(B);U=X}else if(Q===void 0&&X)Q=X,X=void 0;let{aliasDuplicateObjects:J,anchorPrefix:$,flow:W,keepUndefined:Y,onTagObj:G,tag:L}=Q??{},{onAnchor:q,setAnchors:V,sourceObjects:_}=
|
|
102
|
+
`}class S1{constructor(Z,X,Q){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,N0,{value:v9});let U=null;if(typeof X==="function"||Array.isArray(X))U=X;else if(Q===void 0&&X)Q=X,X=void 0;let J=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},Q);this.options=J;let{version:$}=J;if(Q?._directives){if(this.directives=Q._directives.atDocument(),this.directives.yaml.explicit)$=this.directives.yaml.version}else this.directives=new K0({version:$});this.setSchema($,Q),this.contents=Z===void 0?null:this.createNode(Z,U,Q)}clone(){let Z=Object.create(S1.prototype,{[N0]:{value:v9}});if(Z.commentBefore=this.commentBefore,Z.comment=this.comment,Z.errors=this.errors.slice(),Z.warnings=this.warnings.slice(),Z.options=Object.assign({},this.options),this.directives)Z.directives=this.directives.clone();if(Z.schema=this.schema.clone(),Z.contents=l(this.contents)?this.contents.clone(Z.schema):this.contents,this.range)Z.range=this.range.slice();return Z}add(Z){if(F4(this.contents))this.contents.add(Z)}addIn(Z,X){if(F4(this.contents))this.contents.addIn(Z,X)}createAlias(Z,X){if(!Z.anchor){let Q=lX(this);Z.anchor=!X||Q.has(X)?dX(X||"a",Q):X}return new m1(Z.anchor)}createNode(Z,X,Q){let U=void 0;if(typeof X==="function")Z=X.call({"":Z},"",Z),U=X;else if(Array.isArray(X)){let z=(K)=>typeof K==="number"||K instanceof String||K instanceof Number,B=X.filter(z).map(String);if(B.length>0)X=X.concat(B);U=X}else if(Q===void 0&&X)Q=X,X=void 0;let{aliasDuplicateObjects:J,anchorPrefix:$,flow:W,keepUndefined:Y,onTagObj:G,tag:L}=Q??{},{onAnchor:q,setAnchors:V,sourceObjects:_}=rU(this,$||"a"),H={aliasDuplicateObjects:J??!0,keepUndefined:Y??!1,onAnchor:q,onTagObj:G,replacer:U,schema:this.schema,sourceObjects:_},F=u1(Z,L,H);if(W&&n(F))F.flow=!0;return V(),F}createPair(Z,X,Q={}){let U=this.createNode(Z,null,Q),J=this.createNode(X,null,Q);return new Y0(U,J)}delete(Z){return F4(this.contents)?this.contents.delete(Z):!1}deleteIn(Z){if(G4(Z)){if(this.contents==null)return!1;return this.contents=null,!0}return F4(this.contents)?this.contents.deleteIn(Z):!1}get(Z,X){return n(this.contents)?this.contents.get(Z,X):void 0}getIn(Z,X){if(G4(Z))return!X&&x(this.contents)?this.contents.value:this.contents;return n(this.contents)?this.contents.getIn(Z,X):void 0}has(Z){return n(this.contents)?this.contents.has(Z):!1}hasIn(Z){if(G4(Z))return this.contents!==void 0;return n(this.contents)?this.contents.hasIn(Z):!1}set(Z,X){if(this.contents==null)this.contents=B6(this.schema,[Z],X);else if(F4(this.contents))this.contents.set(Z,X)}setIn(Z,X){if(G4(Z))this.contents=X;else if(this.contents==null)this.contents=B6(this.schema,Array.from(Z),X);else if(F4(this.contents))this.contents.setIn(Z,X)}setSchema(Z,X={}){if(typeof Z==="number")Z=String(Z);let Q;switch(Z){case"1.1":if(this.directives)this.directives.yaml.version="1.1";else this.directives=new K0({version:"1.1"});Q={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":if(this.directives)this.directives.yaml.version=Z;else this.directives=new K0({version:Z});Q={resolveKnownTags:!0,schema:"core"};break;case null:if(this.directives)delete this.directives;Q=null;break;default:{let U=JSON.stringify(Z);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${U}`)}}if(X.schema instanceof Object)this.schema=X.schema;else if(Q)this.schema=new H4(Object.assign(Q,X));else throw Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:Z,jsonArg:X,mapAsMap:Q,maxAliasCount:U,onAnchor:J,reviver:$}={}){let W={anchors:new Map,doc:this,keep:!Z,mapAsMap:Q===!0,mapKeyWarned:!1,maxAliasCount:typeof U==="number"?U:100},Y=R0(this.contents,X??"",W);if(typeof J==="function")for(let{count:G,res:L}of W.anchors.values())J(L,G);return typeof $==="function"?W2($,{"":Y},"",Y):Y}toJSON(Z,X){return this.toJS({json:!0,jsonArg:Z,mapAsMap:!1,onAnchor:X})}toString(Z={}){if(this.errors.length>0)throw Error("Document with errors cannot be stringified");if("indent"in Z&&(!Number.isInteger(Z.indent)||Number(Z.indent)<=0)){let X=JSON.stringify(Z.indent);throw Error(`"indent" option must be a positive integer, not ${X}`)}return MJ(this,Z)}}function F4(Z){if(n(Z))return!0;throw Error("Expected a YAML collection as document contents")}class S6 extends Error{constructor(Z,X,Q,U){super();this.name=Z,this.code=Q,this.message=U,this.pos=X}}class Q1 extends S6{constructor(Z,X,Q){super("YAMLParseError",Z,X,Q)}}class j6 extends S6{constructor(Z,X,Q){super("YAMLWarning",Z,X,Q)}}var C6=(Z,X)=>(Q)=>{if(Q.pos[0]===-1)return;Q.linePos=Q.pos.map((Y)=>X.linePos(Y));let{line:U,col:J}=Q.linePos[0];Q.message+=` at line ${U}, column ${J}`;let $=J-1,W=Z.substring(X.lineStarts[U-1],X.lineStarts[U]).replace(/[\n\r]+$/,"");if($>=60&&W.length>80){let Y=Math.min($-39,W.length-79);W="…"+W.substring(Y),$-=Y-1}if(W.length>80)W=W.substring(0,79)+"…";if(U>1&&/^ *$/.test(W.substring(0,$))){let Y=Z.substring(X.lineStarts[U-2],X.lineStarts[U-1]);if(Y.length>80)Y=Y.substring(0,79)+`…
|
|
103
103
|
`;W=Y+W}if(/[^ ]/.test(W)){let Y=1,G=Q.linePos[1];if(G?.line===U&&G.col>J)Y=Math.max(1,Math.min(G.col-J,80-$));let L=" ".repeat($)+"^".repeat(Y);Q.message+=`:
|
|
104
104
|
|
|
105
105
|
${W}
|
|
@@ -186,6 +186,6 @@ ${X.comment}`:X.comment}this.doc.range[2]=X.offset;break}default:this.errors.pus
|
|
|
186
186
|
`+q.issues.map((_)=>` - [${_.path}] ${_.message}`).join(`
|
|
187
187
|
`);return V}).join(`
|
|
188
188
|
`);throw Error(`YAML parsing failed:
|
|
189
|
-
${L}`)}return G}function bN(Z,X={}){return V$(Z,{...X,multiDocument:!1})}function EN(Z,X={}){let Q=V$(Z,{...X,throwOnError:!0});if(Q.rules.length===0)throw Error("No valid rules found in YAML");return Q.rules[0]}export{SL as vars,kq as validateRule,Iq as validateFieldValue,fq as validateFieldType,gq as triggerRuleToNodes,bq as requireField,V$ as parseYamlRules,EN as parseYamlRuleStrict,bN as parseYamlRule,
|
|
189
|
+
${L}`)}return G}function bN(Z,X={}){return V$(Z,{...X,multiDocument:!1})}function EN(Z,X={}){let Q=V$(Z,{...X,throwOnError:!0});if(Q.rules.length===0)throw Error("No valid rules found in YAML");return Q.rules[0]}export{SL as vars,kq as validateRule,Iq as validateFieldValue,fq as validateFieldType,gq as triggerRuleToNodes,bq as requireField,V$ as parseYamlRules,EN as parseYamlRuleStrict,bN as parseYamlRule,lU as parseGraphToRules,mX as parseGraph,L6 as optimizeCondition,q6 as optimizeAction,yq as normalizeRuleAdvanced,x6 as normalizeRule,Nq as normalizeOperator,Y$ as normalizeElseField,W$ as normalizeDoField,jq as normalizeConditionsUtils,D8 as normalizeConditions,Sq as normalizeActions,z2 as normalizeAction,Kq as isValidNumber,O7 as isValidExecutionMode,Pq as isValidConditionOperator,Aq as isValidComparisonOperator,_2 as isSimpleCondition,wq as isSimpleAction,b0 as isObject,Tq as isNonEmptyString,b1 as isConditionGroup,Dq as isBoolean,R7 as isActionGroup,K8 as hasConditionalExecution,E2 as getConditionValue,b2 as getConditionOperator,N2 as getConditionField,g6 as getActionType,v6 as getActionParams,Cq as generateRuleIdFromFilename,hX as findTerminalActions,T4 as ensureArray,Dw as defaultGetDoBranchType,fL as defaultExtractEventData,E9 as createVarsContext,D7 as createPositionCalculator,EL as createParserContext,T7 as createNodeIdGenerator,K7 as createEdgeIdGenerator,H6 as collectDoActions,G$ as buildEventNode,O0 as buildEdge,D4 as buildDoNode,K4 as buildConditionNode,w7 as buildConditionGroupNode,L$ as buildActionNode,q$ as buildActionGroupNode,EX as TriggerValidator,bX as TriggerUtils,IK as TriggerSystem,bL as TriggerRuleSchema,G6 as TriggerEngine,Fq as RuleExporter,wL as RuleEvents,bU as RuleEngine,wD as RuleConditionSchema,uX as RuleBuilder,fX as ParamsBuilder,N as NodeType,o0 as MathFunctions,SD as InlineConditionalActionSchema,AL as InMemoryPersistence,D as HandleId,pU as GraphParserErrorCode,w1 as GraphParserError,C0 as ExpressionEngine,DL as Events,PL as EventQueue,NX as ErrorMessages,G6 as Engine,b9 as DebugMessages,CX as ControlFlow,RL as ContextKeys,I9 as ConditionalActionBuilder,KD as ConditionSchema,IX as ConditionOperator,DD as ConditionGroupSchema,J2 as ConditionBuilder,TD as ComparisonOperatorSchema,P2 as BuiltInAction,NU as BrowserPersistence,x0 as BranchType,KL as Actions,PD as ActionSchema,W6 as ActionRegistry,AD as ActionGroupSchema,V6 as ActionBuilder};
|
|
190
190
|
|
|
191
|
-
//# debugId=
|
|
191
|
+
//# debugId=FAB203DC8ECCFD3064756E2164756E21
|