trigger_system 1.2.6 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -12
- package/dist/browser/index.browser.js +116 -116
- package/dist/browser/index.browser.js.map +19 -20
- package/dist/core/action-registry.d.ts +1 -8
- package/dist/core/action-registry.d.ts.map +1 -1
- package/dist/core/constants.d.ts +2 -18
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/engine-utils.d.ts.map +1 -1
- package/dist/core/event-queue.d.ts.map +1 -1
- package/dist/core/expression-engine.d.ts +0 -1
- package/dist/core/expression-engine.d.ts.map +1 -1
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/persistence.d.ts +0 -1
- package/dist/core/persistence.d.ts.map +1 -1
- package/dist/core/rule-engine.d.ts +0 -12
- package/dist/core/rule-engine.d.ts.map +1 -1
- package/dist/core/trigger-engine.d.ts +56 -6
- package/dist/core/trigger-engine.d.ts.map +1 -1
- package/dist/core/vars-context.d.ts +138 -0
- package/dist/core/vars-context.d.ts.map +1 -0
- package/dist/lsp/hover-constants.d.ts.map +1 -1
- package/dist/node/index.js +135 -135
- package/dist/node/index.js.map +20 -21
- package/dist/node/node.js +140 -140
- package/dist/node/node.js.map +20 -21
- package/dist/sdk/builder.d.ts +2 -2
- package/dist/sdk/builder.d.ts.map +1 -1
- package/dist/sdk/graph/action-resolver.d.ts.map +1 -1
- package/dist/sdk/graph/condition-resolver.d.ts.map +1 -1
- package/dist/sdk/graph-parser.d.ts +15 -1
- package/dist/sdk/graph-parser.d.ts.map +1 -1
- package/dist/sdk/yaml/converter.d.ts.map +1 -1
- package/dist/sdk/yaml/types.d.ts +0 -1
- package/dist/sdk/yaml/types.d.ts.map +1 -1
- package/dist/types.d.ts +1 -3
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -2
|
@@ -1,191 +1,191 @@
|
|
|
1
|
-
var{defineProperty:
|
|
1
|
+
var{defineProperty:A8,getOwnPropertyNames:_$,getOwnPropertyDescriptor:z$}=Object,H$=Object.prototype.hasOwnProperty;function F$(Z){return this[Z]}var A7=(Z)=>{var X=(P7??=new WeakMap).get(Z),Q;if(X)return X;if(X=A8({},"__esModule",{value:!0}),Z&&typeof Z==="object"||typeof Z==="function"){for(var U of _$(Z))if(!H$.call(X,U))A8(X,U,{get:F$.bind(Z,U),enumerable:!(Q=z$(Z,U))||Q.enumerable})}return P7.set(Z,X),X},P7;var B$=(Z)=>Z;function M$(Z,X){this[Z]=B$.bind(null,X)}var h6=(Z,X)=>{for(var Q in X)A8(Z,Q,{get:X[Q],enumerable:!0,configurable:!0,set:M$.bind(X,Q)})};var R=(Z,X)=>()=>(Z&&(X=Z(Z=0)),X);var R$=((Z)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(Z,{get:(X,Q)=>(typeof require<"u"?require:X)[Q]}):Z)(function(Z){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+Z+'" is not supported')});var c1=(Z)=>Array.isArray(Z)?Z:[Z],S7=(Z,X)=>{let Q=[[],[]];for(let U of Z)if(X(U))Q[0].push(U);else Q[1].push(U);return Q},m6,d0=(Z,X)=>Z.includes(X),j7=(Z,X=0)=>[...Array(Z)].map((Q,U)=>U+X),u=(Z,X,Q)=>{if(Z===void 0)return X===void 0?[]:Array.isArray(X)?X:[X];if(Q?.prepend)if(Array.isArray(X))Z.unshift(...X);else Z.unshift(X);else if(Array.isArray(X))Z.push(...X);else Z.push(X);return Z},E1=(Z,X)=>{if(X===void 0||X===null)return Z??[];if(Z===void 0||Z===null)return c1(X);return Z.concat(X)},C7=(...Z)=>Z.reduce(E1,[]),F1=(Z,X,Q)=>{if(Z===void 0)return Array.isArray(X)?X:[X];let U=Q?.isEqual??((J,$)=>J===$);for(let J of c1(X))if(!Z.some(($)=>U($,J)))Z.push(J);return Z},N7=(Z,X)=>Z.reduce((Q,U)=>{let J=U[X];return Q[J]=u(Q[J],U),Q},{}),f1=(Z,X,Q)=>Z.length===X.length&&Z.every(Q?.isEqual?(U,J)=>Q.isEqual(U,X[J]):(U,J)=>U===X[J]);var u6=R(()=>{m6=Array});var E0=(Z,X)=>H0(Z)===X,H0=(Z)=>{let X=typeof Z;return X==="object"?Z===null?"null":"object":X==="function"?"object":X},f0,b7;var I2=R(()=>{f0={boolean:"boolean",null:"null",undefined:"undefined",bigint:"a bigint",number:"a number",object:"an object",string:"a string",symbol:"a symbol"},b7={...f0,function:"a function"}});var E7,i=(Z)=>F2(Z,E7),F2=(Z,X=Error)=>{throw new X(Z)},S4,M=(Z)=>F2(Z,S4),U1=(Z)=>` ${Z}`,f7="";var B1=R(()=>{E7=class E7 extends Error{};S4=class S4 extends Error{name="ParseError"}});var k=(Z,X)=>{let Q={},U=Array.isArray(Z),J=!1;for(let[$,W]of Object.entries(Z).entries()){let Y=U?X($,W[1]):X(...W,$);J||=typeof Y[0]==="number";let G=Array.isArray(Y[0])||Y.length===0?Y:[Y];for(let[L,q]of G)if(typeof L==="object")Q[L.group]=u(Q[L.group],q);else Q[L]=q}return J?Object.values(Q):Q};var S8=R(()=>{u6()});class C8{constructor(Z){Object.assign(this,Z)}}var j8,F0=(Z,X)=>(Z in X),y2=(Z,X)=>(X in Z),I7=class{},j4,O$=(Z,X)=>{let Q={},U={},J;for(J in Z)if(J in X)Q[J]=Z[J];else U[J]=Z[J];return[Q,U]},p6=(Z,X)=>O$(Z,X)[1],M1=(Z)=>Object.keys(Z).length===0,B2=(Z)=>[...Object.entries(Z),...Object.getOwnPropertySymbols(Z).map((X)=>[X,Z[X]])],y7=(Z,X)=>Object.defineProperties(Z,Object.getOwnPropertyDescriptors(X)),k7=(Z)=>{let X=Object.keys(Z).sort(),Q={};for(let U=0;U<X.length;U++)Q[X[U]]=Z[X[U]];return Q},I0,g7=(Z)=>Object.values(Z).filter((X)=>{if(typeof X==="number")return!0;return typeof Z[X]!=="number"});var k2=R(()=>{B1();S8();j8=Object.entries;j4=class j4 extends I7{};I0=U1(`unset${f7}`)});var N8,b8,E8,T$,M2,C4=(Z)=>{let X=Object.getPrototypeOf(Z);while(X?.constructor&&(!F0(X.constructor.name,M2)||!(Z instanceof M2[X.constructor.name])))X=Object.getPrototypeOf(X);let Q=X?.constructor?.name;if(Q===void 0||Q==="Object")return;return Q},N4=(Z)=>typeof Z==="object"&&Z!==null?C4(Z)??"object":H0(Z),Z0,K$,D$,w$,v7,b4=(Z)=>{let X=Object(Z).name??null;return X&&F0(X,M2)&&M2[X]===Z?X:null},f8=(Z,X)=>{let Q=Z.prototype;while(Q!==null){if(Q===X.prototype)return!0;Q=Object.getPrototypeOf(Q)}return!1};var E4=R(()=>{I2();k2();N8={Array,Boolean,Date,Error,Function,Map,Number,Promise,RegExp,Set,String,WeakMap,WeakSet},b8=globalThis.File??Blob,E8={ArrayBuffer,Blob,File:b8,FormData,Headers,Request,Response,URL},T$={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array},M2={...N8,...E8,...T$,String,Number,Boolean},Z0=Array.isArray,K$={Array:"an array",Function:"a function",Date:"a Date",RegExp:"a RegExp",Error:"an Error",Map:"a Map",Set:"a Set",String:"a String object",Number:"a Number object",Boolean:"a Boolean object",Promise:"a Promise",WeakMap:"a WeakMap",WeakSet:"a WeakSet"},D$={ArrayBuffer:"an ArrayBuffer instance",Blob:"a Blob instance",File:"a File instance",FormData:"a FormData instance",Headers:"a Headers instance",Request:"a Request instance",Response:"a Response instance",URL:"a URL instance"},w$={Int8Array:"an Int8Array",Uint8Array:"a Uint8Array",Uint8ClampedArray:"a Uint8ClampedArray",Int16Array:"an Int16Array",Uint16Array:"a Uint16Array",Int32Array:"an Int32Array",Uint32Array:"a Uint32Array",Float32Array:"a Float32Array",Float64Array:"a Float64Array",BigInt64Array:"a BigInt64Array",BigUint64Array:"a BigUint64Array"},v7={...K$,...D$,...w$}});var x7=(Z)=>h7(Z,new Map),h7=(Z,X)=>{if(typeof Z!=="object"||Z===null)return Z;if(X?.has(Z))return X.get(Z);let Q=b4(Z.constructor);if(Q==="Date")return new Date(Z.getTime());if(Q&&Q!=="Array")return Z;let U=Array.isArray(Z)?Z.slice():Object.create(Object.getPrototypeOf(Z)),J=Object.getOwnPropertyDescriptors(Z);if(X){X.set(Z,U);for(let $ in J){let W=J[$];if("get"in W||"set"in W)continue;W.value=h7(W.value,X)}}return Object.defineProperties(U,J),U};var m7=R(()=>{E4()});var u7=()=>{};class y0{constructor(Z,...[X]){return Object.assign(Object.setPrototypeOf(Z.bind(X?.bind??this),this.constructor.prototype),X?.attach)}}var P$=(Z)=>{let X=I0;return()=>X===I0?X=Z():X},i1=(Z)=>typeof Z==="function"&&Z.length===0,p7,l7;var d7=R(()=>{B1();k2();p7=class extends Function{constructor(...Z){let X=Z.slice(0,-1),Q=Z[Z.length-1];try{super(...X,Q)}catch(U){return i(`Encountered an unexpected error while compiling your definition:
|
|
2
2
|
Message: ${U}
|
|
3
3
|
Source: (${Z.slice(0,-1)}) => {
|
|
4
4
|
${Z[Z.length-1]}
|
|
5
|
-
}`)}}};
|
|
6
|
-
`)[2]?.trim()||"").match(/\(?(.+?)(?::\d+:\d+)?\)?$/)?.[1]||"unknown").replace(/^file:\/\//,"")}catch{return"unknown"}},
|
|
5
|
+
}`)}}};l7=P$(()=>{try{return Function("return false")()}catch{return!0}})});var JV,c7;var i7=R(()=>{B1();JV=U1("brand"),c7=U1("arkInferred")});class D0{constructor(){}}var YV;var s7=R(()=>{B1();YV=U1("args")});var r7=()=>{};var A$=()=>{try{return((Error().stack?.split(`
|
|
6
|
+
`)[2]?.trim()||"").match(/\(?(.+?)(?::\d+:\d+)?\)?$/)?.[1]||"unknown").replace(/^file:\/\//,"")}catch{return"unknown"}},S$,a7;var I8=R(()=>{S$=globalThis.process?.env??{},a7={fileName:A$,env:S$}});var o7=()=>{};var n7=(Z)=>Z[0].toUpperCase()+Z.slice(1),t7=(Z)=>Z[0].toLowerCase()+Z.slice(1),y8=(Z)=>new RegExp(j$(Z),typeof Z==="string"?"":Z.flags),j$=(Z)=>{return`^(?:${typeof Z==="string"?Z:Z.source})$`},I1,O2="\\",s1;var l6=R(()=>{I1={negativeLookahead:(Z)=>`(?!${Z})`,nonCapturingGroup:(Z)=>`(?:${Z})`},s1={" ":1,"\n":1,"\t":1}});var C$,Z3,N$,b$,X3=(Z)=>y8(I1.negativeLookahead(C$)+I1.nonCapturingGroup("-?"+I1.nonCapturingGroup(I1.nonCapturingGroup("0|"+Z3)+I1.nonCapturingGroup(Z.decimalPattern)+"?")+(Z.allowDecimalOnly?"|"+Z.decimalPattern:"")+"?")),e7,E$,d6,HV,f$,I$=(Z)=>Z.length!==0&&f$.test(Z),f4,y$,k8,k$,Q3,U3=(Z,X)=>`'${Z}' was parsed as ${Q3[X]} but could not be narrowed to a literal value. Avoid unnecessary leading or trailing zeros and other abnormal notation`,g$=(Z,X)=>X==="number"?E$(Z):y$(Z),v$=(Z,X)=>X==="number"?Number(Z):Number.parseInt(Z),x$=(Z,X)=>X==="number"?I$(Z):k$(Z),J3=(Z,X)=>g8(Z,"number",X),$3=(Z,X)=>g8(Z,"number",{...X,strict:!0}),W3=(Z,X)=>g8(Z,"integer",X),g8=(Z,X,Q)=>{let U=v$(Z,X);if(!Number.isNaN(U)){if(x$(Z,X)){if(Q?.strict)return g$(Z,X)?U:M(U3(Z,X));return U}}return Q?.errorOnFail?M(Q?.errorOnFail===!0?`Failed to parse ${Q3[X]} from '${Z}'`:Q?.errorOnFail):void 0},Y3=(Z)=>{if(Z[Z.length-1]!=="n")return;let X=Z.slice(0,-1),Q;try{Q=BigInt(X)}catch{return}if(f4.test(X))return Q;if(k8.test(X))return M(U3(Z,"bigint"))};var G3=R(()=>{B1();l6();C$=/^-0\.?0*$/.source,Z3=/[1-9]\d*/.source,N$=/\.\d+/.source,b$=/\.\d*[1-9]/.source,e7=X3({decimalPattern:b$,allowDecimalOnly:!1}),E$=e7.test.bind(e7),d6=X3({decimalPattern:N$,allowDecimalOnly:!0}),HV=d6.test.bind(d6),f$=/^-?\d*\.?\d*$/,f4=y8(I1.negativeLookahead("^-0$")+"-?"+I1.nonCapturingGroup(I1.nonCapturingGroup("0|"+Z3))),y$=f4.test.bind(f4),k8=/^-?\d+$/,k$=k8.test.bind(k8),Q3={number:"a number",bigint:"a bigint",integer:"an integer"}});var h$="0.56.0",m$,T2,L3,v8,I4=(Z)=>{let X=L3.get(Z);if(X)return X;let Q=u$(Z);if(v8[Q])Q=`${Q}${v8[Q]++}`;else v8[Q]=1;return T2[Q]=Z,L3.set(Z,Q),Q},r1=(Z)=>/^[$A-Z_a-z][\w$]*$/.test(Z),u$=(Z)=>{switch(typeof Z){case"object":{if(Z===null)break;let X=C4(Z)??"object";return X[0].toLowerCase()+X.slice(1)}case"function":return r1(Z.name)?Z.name:"fn";case"symbol":return Z.description&&r1(Z.description)?Z.description:"symbol"}return i(`Unexpected attempt to register serializable value of type ${H0(Z)}`)};var c6=R(()=>{I2();B1();I8();E4();m$={version:h$,filename:a7.fileName(),FileConstructor:b8},T2=m$,L3=new Map,v8=Object.create(null)});var y4=(Z)=>typeof Z==="string"?JSON.stringify(Z):typeof Z==="bigint"?`${Z}n`:`${Z}`;var q3=(Z,X={})=>k4(Z,{onUndefined:"$ark.undefined",onBigInt:(Q)=>`$ark.bigint-${Q}`,...X},[]),g=(Z,X)=>{switch(H0(Z)){case"object":let Q=Z,U=Q.constructor?.name??"Object";return U==="Object"||U==="Array"?X?.quoteKeys===!1?i6(Q,X?.indent??0,""):JSON.stringify(k4(Q,g2,[]),null,X?.indent):i6(Q,X?.indent??0,"");case"symbol":return g2.onSymbol(Z);default:return y4(Z)}},i6=(Z,X,Q)=>{if(typeof Z==="function")return g2.onFunction(Z);if(typeof Z!=="object"||Z===null)return y4(Z);let U=Q+" ".repeat(X);if(Array.isArray(Z)){if(Z.length===0)return"[]";let $=Z.map((W)=>i6(W,X,U)).join(`,
|
|
7
7
|
`+U);return X?`[
|
|
8
8
|
${U}${$}
|
|
9
|
-
${Q}]`:`[${$}]`}let J=Z.constructor?.name??"Object";if(J==="Object"){let $=B2(Z).map(([W,Y])=>{let G=typeof W==="symbol"?
|
|
9
|
+
${Q}]`:`[${$}]`}let J=Z.constructor?.name??"Object";if(J==="Object"){let $=B2(Z).map(([W,Y])=>{let G=typeof W==="symbol"?g2.onSymbol(W):r1(W)?W:JSON.stringify(W),L=i6(Y,X,U);return`${U}${G}: ${L}`});if($.length===0)return"{}";return X?`{
|
|
10
10
|
${$.join(`,
|
|
11
11
|
`)}
|
|
12
|
-
${Q}}`:`{${$.join(", ")}}`}if(Z instanceof Date)return K2(Z);if("expression"in Z&&typeof Z.expression==="string")return Z.expression;return J},
|
|
12
|
+
${Q}}`:`{${$.join(", ")}}`}if(Z instanceof Date)return K2(Z);if("expression"in Z&&typeof Z.expression==="string")return Z.expression;return J},g2,k4=(Z,X,Q)=>{switch(H0(Z)){case"object":{let U=Z;if("toJSON"in U&&typeof U.toJSON==="function")return U.toJSON();if(typeof U==="function")return g2.onFunction(U);if(Q.includes(U))return"(cycle)";let J=[...Q,U];if(Array.isArray(U))return U.map((W)=>k4(W,X,J));if(U instanceof Date)return U.toDateString();let $={};for(let W in U)$[W]=k4(U[W],X,J);for(let W of Object.getOwnPropertySymbols(U))$[X.onSymbol?.(W)??W.toString()]=k4(U[W],X,J);return $}case"symbol":return g2.onSymbol(Z);case"bigint":return X.onBigInt?.(Z)??`${Z}n`;case"undefined":return X.onUndefined??"undefined";case"string":return Z.replace(/\\/g,"\\\\");default:return Z}},K2=(Z)=>{let X=Z.getFullYear(),Q=Z.getMonth(),U=Z.getDate(),J=Z.getHours(),$=Z.getMinutes(),W=Z.getSeconds(),Y=Z.getMilliseconds();if(Q===0&&U===1&&J===0&&$===0&&W===0&&Y===0)return`${X}`;let G=`${p$[Q]} ${U}, ${X}`;if(J===0&&$===0&&W===0&&Y===0)return G;let L=Z.toLocaleTimeString(),q=L.endsWith(" AM")||L.endsWith(" PM")?L.slice(-3):"";if(q)L=L.slice(0,-q.length);if(Y)L+=`.${d$(Y,3)}`;else if(l$.test(L))L=L.slice(0,-3);return`${L+q}, ${G}`},p$,l$,d$=(Z,X)=>String(Z).padStart(X,"0");var x8=R(()=>{I2();k2();c6();g2={onCycle:()=>"(cycle)",onSymbol:(Z)=>`Symbol(${I4(Z)})`,onFunction:(Z)=>`Function(${I4(Z)})`},p$=["January","February","March","April","May","June","July","August","September","October","November","December"],l$=/:\d\d:00$/});var V3=(Z,X,...[Q])=>{let U=Q?.stringifySymbol??g,J=Z;switch(typeof X){case"string":J=r1(X)?Z===""?X:`${Z}.${X}`:`${Z}[${JSON.stringify(X)}]`;break;case"number":J=`${Z}[${X}]`;break;case"symbol":J=`${Z}[${U(X)}]`;break;default:if(Q?.stringifyNonKey)J=`${Z}[${Q.stringifyNonKey(X)}]`;else M(`${g(X)} must be a PropertyKey or stringifyNonKey must be passed to options`)}return J},y1=(Z,...X)=>Z.reduce((Q,U)=>V3(Q,U,...X),""),g4;var _3=R(()=>{u6();B1();c6();x8();g4=class g4 extends m6{cache={};constructor(...Z){super();this.push(...Z)}toJSON(){if(this.cache.json)return this.cache.json;this.cache.json=[];for(let Z=0;Z<this.length;Z++)this.cache.json.push(typeof this[Z]==="symbol"?g(this[Z]):this[Z]);return this.cache.json}stringify(){if(this.cache.stringify)return this.cache.stringify;return this.cache.stringify=y1(this)}stringifyAncestors(){if(this.cache.stringifyAncestors)return this.cache.stringifyAncestors;let Z="",X=[Z];for(let Q of this)Z=V3(Z,Q),X.push(Z);return this.cache.stringifyAncestors=X}}});class v4{chars;i;def;constructor(Z){this.def=Z,this.chars=[...Z],this.i=0}shift(){return this.chars[this.i++]??""}get lookahead(){return this.chars[this.i]??""}get nextLookahead(){return this.chars[this.i+1]??""}get length(){return this.chars.length}shiftUntil(Z){let X="";while(this.lookahead)if(Z(this,X))break;else X+=this.shift();return X}shiftUntilEscapable(Z){let X="";while(this.lookahead)if(this.lookahead===O2)if(this.shift(),Z(this,X))X+=this.shift();else if(this.lookahead===O2)X+=this.shift();else X+=`${O2}${this.shift()}`;else if(Z(this,X))break;else X+=this.shift();return X}shiftUntilLookahead(Z){return typeof Z==="string"?this.shiftUntil((X)=>X.lookahead===Z):this.shiftUntil((X)=>(X.lookahead in Z))}shiftUntilNonWhitespace(){return this.shiftUntil(()=>!(this.lookahead in s1))}jumpToIndex(Z){this.i=Z<0?this.length+Z:Z}jumpForward(Z){this.i+=Z}get location(){return this.i}get unscanned(){return this.chars.slice(this.i,this.length).join("")}get scanned(){return this.chars.slice(0,this.i).join("")}sliceChars(Z,X){return this.chars.slice(Z,X).join("")}lookaheadIs(Z){return this.lookahead===Z}lookaheadIsIn(Z){return this.lookahead in Z}}var z3=(Z,X)=>`Unmatched ${Z}${X===""?"":` before ${X}`}`,s6=(Z)=>`Missing ${Z}`;var H3=R(()=>{l6()});var hV;var F3=R(()=>{I2();B1();E4();k2();hV=U1("implementedTraits")});var B3=()=>{};var b=R(()=>{u6();m7();u7();I2();B1();S8();d7();i7();s7();r7();I8();o7();G3();E4();_3();k2();c6();H3();x8();l6();F3();B3()});var h8="$ark",c$=2,M3,T,i$=(Z)=>`${M3}.${Z}`,W0=(Z)=>i$(I4(Z));var s=R(()=>{b();while(h8 in globalThis)h8=`$ark${c$++}`;M3=h8;globalThis[M3]=T2;T=T2});var r6,J1=(Z)=>E0(Z,"object")||typeof Z==="symbol"?W0(Z):y4(Z),m8=(Z,X=!1)=>{if(typeof Z==="string"&&r1(Z))return`${X?"?":""}.${Z}`;return R3(s$(Z),X)},s$=(Z)=>typeof Z==="symbol"?W0(Z):JSON.stringify(Z),R3=(Z,X=!1)=>`${X?"?.":""}[${Z}]`,x4;var a1=R(()=>{b();s();r6=class r6 extends j4{argNames;body="";constructor(...Z){super();this.argNames=Z;for(let X of Z){if(X in this)throw Error(`Arg name '${X}' would overwrite an existing property on FunctionBody`);this[X]=X}}indentation=0;indent(){return this.indentation+=4,this}dedent(){return this.indentation-=4,this}prop(Z,X=!1){return m8(Z,X)}index(Z,X=!1){return R3(`${Z}`,X)}line(Z){return this.body+=`${" ".repeat(this.indentation)}${Z}
|
|
13
13
|
`,this}const(Z,X){return this.line(`const ${Z} = ${X}`),this}let(Z,X){return this.line(`let ${Z} = ${X}`)}set(Z,X){return this.line(`${Z} = ${X}`)}if(Z,X){return this.block(`if (${Z})`,X)}elseIf(Z,X){return this.block(`else if (${Z})`,X)}else(Z){return this.block("else",Z)}for(Z,X,Q=0){return this.block(`for (let i = ${Q}; ${Z}; i++)`,X)}forIn(Z,X){return this.block(`for (const k in ${Z})`,X)}block(Z,X,Q=""){return this.line(`${Z} {`),this.indent(),X(this),this.dedent(),this.line(`}${Q}`)}return(Z=""){return this.line(`return ${Z}`)}write(Z="anonymous",X=0){return`${Z}(${this.argNames.join(", ")}) { ${X?this.body.split(`
|
|
14
14
|
`).map((Q)=>" ".repeat(X)+`${Q}`).join(`
|
|
15
|
-
`):this.body} }`}compile(){return new
|
|
15
|
+
`):this.body} }`}compile(){return new p7(...this.argNames,this.body)}};x4=class x4 extends r6{traversalKind;optimistic;constructor(Z){super("data","ctx");this.traversalKind=Z.kind,this.optimistic=Z.optimistic===!0}invoke(Z,X){let Q=X?.arg??this.data,U=typeof Z==="string"?!0:this.requiresContextFor(Z),J=typeof Z==="string"?Z:Z.id;if(U)return`${this.referenceToId(J,X)}(${Q}, ${this.ctx})`;return`${this.referenceToId(J,X)}(${Q})`}referenceToId(Z,X){let Q=X?.kind??this.traversalKind,U=`this.${Z}${Q}`;return X?.bind?`${U}.bind(${X?.bind})`:U}requiresContextFor(Z){return this.traversalKind==="Apply"||Z.allowsRequiresContext}initializeErrorCount(){return this.const("errorCount","ctx.currentErrorCount")}returnIfFail(){return this.if("ctx.currentErrorCount > errorCount",()=>this.return())}returnIfFailFast(){return this.if("ctx.failFast && ctx.currentErrorCount > errorCount",()=>this.return())}traverseKey(Z,X,Q){let U=this.requiresContextFor(Q);if(U)this.line(`${this.ctx}.path.push(${Z})`);if(this.check(Q,{arg:X}),U)this.line(`${this.ctx}.path.pop()`);return this}check(Z,X){return this.traversalKind==="Allows"?this.if(`!${this.invoke(Z,X)}`,()=>this.return(!1)):this.line(this.invoke(Z,X))}}});var a6=(Z)=>k(Z,(X,Q)=>[X,Z0(Q)?[...Q]:Q]),S0,E=(Z,X)=>Z?.[S0]===X,Q0=(Z)=>E(Z,"root")||E(Z,"constraint");var V0=R(()=>{b();S0=U1("arkKind")});var O3,v2,u8,p8,o6,x2,r$,n6,T3,K3,h2=(Z)=>typeof Z==="string"&&(Z in K3),m2=(Z)=>K3[Z],t6=(Z)=>x2.slice(m2(Z)+1),D_,w_,c0=(Z)=>{if(typeof Z==="string"||typeof Z==="boolean"||Z===null)return Z;if(typeof Z==="number"){if(Number.isNaN(Z))return"NaN";if(Z===Number.POSITIVE_INFINITY)return"Infinity";if(Z===Number.NEGATIVE_INFINITY)return"-Infinity";return Z}return J1(Z)},o1=(Z)=>{let X="{ ";for(let[Q,U]of Object.entries(Z))X+=`${Q}: ${J1(U)}, `;return X+" }"},v=(Z)=>{let X=Z;if(X.hasAssociatedError)X.defaults.expected??=(Q)=>("description"in Q)?Q.description:X.defaults.description(Q),X.defaults.actual??=(Q)=>g(Q),X.defaults.problem??=(Q)=>`must be ${Q.expected}${Q.actual?` (was ${Q.actual})`:""}`,X.defaults.message??=(Q)=>{if(Q.path.length===0)return Q.problem;let U=`${Q.propString} ${Q.problem}`;if(U[0]==="[")return`value at ${U}`;return U};return X};var a=R(()=>{b();a1();V0();O3=["unit","proto","domain"],v2=["required","optional","index","sequence"],u8=["pattern","divisor","exactLength","max","min","maxLength","minLength","before","after"],p8=[...u8,"structure","predicate"],o6=[...p8,...v2],x2=["alias","union","morph","unit","intersection","proto","domain"],r$=[...x2,...o6],n6=k(o6,(Z,X)=>[X,1]),T3=k([...v2,"undeclared"],(Z,X)=>[X,1]),K3=k(r$,(Z,X)=>[X,Z]),D_=[...t6("union"),"alias"],w_=[...t6("morph"),"alias"]});var D3,a$,J0;var n1=R(()=>{b();D3=class D3 extends Error{name="ToJsonSchemaError";code;context;constructor(Z,X){super(g(X,{quoteKeys:!1,indent:4}));this.code=Z,this.context=X}hasCode(Z){return this.code===Z}};a$={target:"draft-2020-12",dialect:"https://json-schema.org/draft/2020-12/schema",useRefs:!1,fallback:{arrayObject:(Z)=>J0.throw("arrayObject",Z),arrayPostfix:(Z)=>J0.throw("arrayPostfix",Z),defaultValue:(Z)=>J0.throw("defaultValue",Z),domain:(Z)=>J0.throw("domain",Z),morph:(Z)=>J0.throw("morph",Z),patternIntersection:(Z)=>J0.throw("patternIntersection",Z),predicate:(Z)=>J0.throw("predicate",Z),proto:(Z)=>J0.throw("proto",Z),symbolKey:(Z)=>J0.throw("symbolKey",Z),unit:(Z)=>J0.throw("unit",Z),date:(Z)=>J0.throw("date",Z)}},J0={Error:D3,throw:(...Z)=>{throw new J0.Error(...Z)},throwInternalOperandError:(Z,X)=>i(`Unexpected JSON Schema input for ${Z}: ${g(X)}`),defaultConfig:a$}});var h4=(Z,X)=>{if(!X)return Z;let Q={...Z},U;for(U in X){let J={...Z.keywords};if(U==="keywords"){for(let $ in X[U]){let W=X.keywords[$];if(W===void 0)continue;J[$]=typeof W==="string"?{description:W}:W}Q.keywords=J}else if(U==="toJsonSchema")Q[U]=l8(Z.toJsonSchema,X.toJsonSchema);else if(h2(U))Q[U]={...Z[U],...X[U]};else Q[U]=X[U]}return Q},o$,l8=(Z,X)=>{if(!Z)return w3(X??{},void 0);if(!X)return Z;let Q={...Z},U;for(U in X)if(U==="fallback")Q.fallback=n$(Z.fallback,X.fallback);else Q[U]=X[U];return w3(Q,X)},w3=(Z,X)=>{if(X?.dialect!==void 0)return Z;if(X?.target!==void 0)return{...Z,dialect:o$[X.target]};return Z},n$=(Z,X)=>{Z=P3(Z),X=P3(X);let Q={},U;for(U in J0.defaultConfig.fallback)Q[U]=X[U]??X.default??Z[U]??Z.default??J0.defaultConfig.fallback[U];return Q},P3=(Z)=>typeof Z==="function"?{default:Z}:Z??{};var u2=R(()=>{a();s();n1();T.config??={};o$={"draft-2020-12":"https://json-schema.org/draft/2020-12/schema","draft-07":"http://json-schema.org/draft-07/schema#"}});var t1,k0,d8,t$=(Z)=>Z.toString().split(`
|
|
16
16
|
`).join(`
|
|
17
|
-
`);var
|
|
18
|
-
`)}addAncestorPaths(Z){for(let X of Z.path.stringifyAncestors())this.byAncestorPath[X]=u(this.byAncestorPath[X],Z)}};
|
|
19
|
-
`+Z.map((X)=>` • ${
|
|
20
|
-
`));Object.defineProperty(this,"arkErrors",{value:Z,enumerable:!1})}}});class Y1{path=[];errors=new y0(this);root;config;queuedMorphs=[];branches=[];seen={};constructor(Z,X){this.root=Z,this.config=X}get data(){let Z=this.root;for(let X of this.path)Z=Z?.[X];return Z}get propString(){return g1(this.path)}reject(Z){return this.error(Z),!1}mustBe(Z){return this.error(Z),!1}error(Z){let X=typeof Z==="object"?Z.code?Z:{...Z,code:"predicate"}:{code:"predicate",expected:Z};return this.errorFromContext(X)}hasError(){return this.currentErrorCount!==0}get currentBranch(){return this.branches[this.branches.length-1]}queueMorphs(Z){let X={path:new b4(...this.path),morphs:Z};if(this.currentBranch)this.currentBranch.queuedMorphs.push(X);else this.queuedMorphs.push(X)}finalize(Z){if(this.queuedMorphs.length){if(typeof this.root==="object"&&this.root!==null&&this.config.clone)this.root=this.config.clone(this.root);this.applyQueuedMorphs()}if(this.hasError())return Z?Z(this.errors):this.errors;return this.root}get currentErrorCount(){return this.currentBranch?this.currentBranch.error?1:0:this.errors.count}get failFast(){return this.branches.length!==0}pushBranch(){this.branches.push({error:void 0,queuedMorphs:[]})}popBranch(){return this.branches.pop()}get external(){return this}errorFromNodeContext(Z){return this.errorFromContext(Z)}errorFromContext(Z){let X=new e1(Z,this);if(this.currentBranch)this.currentBranch.error=X;else this.errors.add(X);return X}applyQueuedMorphs(){while(this.queuedMorphs.length){let Z=this.queuedMorphs;this.queuedMorphs=[];for(let{path:X,morphs:Q}of Z){if(this.errors.affectsPath(X))continue;this.applyMorphsAtPath(X,Q)}}}applyMorphsAtPath(Z,X){let Q=Z[Z.length-1],U;if(Q!==void 0){U=this.root;for(let J=0;J<Z.length-1;J++)U=U[Z[J]]}for(let J of X){this.path=[...Z];let $=e(J),W=J(U===void 0?this.root:U[Q],this);if(W instanceof e1){if(!this.errors.includes(W))this.errors.add(W);break}if(W instanceof y0){if(!$)this.errors.merge(W);this.queuedMorphs=[];break}if(U===void 0)this.root=W;else U[Q]=W;this.applyQueuedMorphs()}}}var k0=(Z,X,Q)=>{if(!Q)return X();Q.path.push(Z);let U=X();return Q.path.pop(),U};var K1=R(()=>{j();k4();_0()});var v4,g4,K3=(Z,X)=>`${Z} had no references matching ${k(X)}.`,r$=(Z)=>g1(Z,{stringifyNonKey:(X)=>X.expression}),o$,a$=(Z)=>JSON.stringify(Z).replace(o$,"$1"),G1=(Z,X)=>({path:Z,node:X,propString:r$(Z)}),T3=(Z,X)=>Z.propString===X.propString&&Z.node.equals(X.node),m8=(Z,X)=>M1(Z,X,{isEqual:T3}),n$=(Z,X)=>M1(Z,X,{isEqual:(Q,U)=>Q.equals(U)});var T2=R(()=>{j();i();c();K1();_0();v4=class v4 extends f0{attachments;$;onFail;includesTransform;includesContextualPredicate;isCyclic;allowsRequiresContext;rootApplyStrategy;contextFreeMorph;rootApply;referencesById;shallowReferences;flatRefs;flatMorphs;allows;get shallowMorphs(){return[]}constructor(Z,X){super((U,J,$=this.onFail)=>{if(J)return this.traverseApply(U,J),J.hasError()?J.errors:J.data;return this.rootApply(U,$)},{attach:Z});this.attachments=Z,this.$=X,this.onFail=this.meta.onFail??this.$.resolvedConfig.onFail,this.includesTransform=this.hasKind("morph")||this.hasKind("structure")&&this.structuralMorph!==void 0||this.hasKind("sequence")&&this.inner.defaultables!==void 0,this.includesContextualPredicate=this.hasKind("predicate")&&this.inner.predicate.length!==1,this.isCyclic=this.kind==="alias",this.referencesById={[this.id]:this},this.shallowReferences=this.hasKind("structure")?[this,...this.children]:this.children.reduce((U,J)=>n$(U,J.shallowReferences),[this]);let Q=this.isStructural();this.flatRefs=[],this.flatMorphs=[];for(let U=0;U<this.children.length;U++){if(this.includesTransform||=this.children[U].includesTransform,this.includesContextualPredicate||=this.children[U].includesContextualPredicate,this.isCyclic||=this.children[U].isCyclic,!Q){let J=this.children[U].flatRefs;for(let $=0;$<J.length;$++){let W=J[$];if(!this.flatRefs.some((Y)=>T3(Y,W))){this.flatRefs.push(W);for(let Y of W.node.branches)if(Y.hasKind("morph")||Y.hasKind("intersection")&&Y.structure?.structuralMorph!==void 0)this.flatMorphs.push({path:W.path,propString:W.propString,node:Y})}}}Object.assign(this.referencesById,this.children[U].referencesById)}this.flatRefs.sort((U,J)=>U.path.length>J.path.length?1:U.path.length<J.path.length?-1:U.propString>J.propString?1:U.propString<J.propString?-1:U.node.expression<J.node.expression?-1:1),this.allowsRequiresContext=this.includesContextualPredicate||this.isCyclic,this.rootApplyStrategy=!this.allowsRequiresContext&&this.flatMorphs.length===0?this.shallowMorphs.length===0?"allows":this.shallowMorphs.every((U)=>U.length===1||U.name==="$arkStructuralMorph")?this.hasKind("union")?this.branches.some((U)=>U.shallowMorphs.length>1)?"contextual":"branchedOptimistic":this.shallowMorphs.length>1?"contextual":"optimistic":"contextual":"contextual",this.rootApply=this.createRootApply(),this.allows=this.allowsRequiresContext?(U)=>this.traverseAllows(U,new Y1(U,this.$.resolvedConfig)):(U)=>this.traverseAllows(U)}createRootApply(){switch(this.rootApplyStrategy){case"allows":return(X,Q)=>{if(this.allows(X))return X;let U=new Y1(X,this.$.resolvedConfig);return this.traverseApply(X,U),U.finalize(Q)};case"contextual":return(X,Q)=>{let U=new Y1(X,this.$.resolvedConfig);return this.traverseApply(X,U),U.finalize(Q)};case"optimistic":this.contextFreeMorph=this.shallowMorphs[0];let Z=this.$.resolvedConfig.clone;return(X,Q)=>{if(this.allows(X))return this.contextFreeMorph(Z&&(typeof X==="object"&&X!==null||typeof X==="function")?Z(X):X);let U=new Y1(X,this.$.resolvedConfig);return this.traverseApply(X,U),U.finalize(Q)};case"branchedOptimistic":return this.createBranchedOptimisticRootApply();default:return this.rootApplyStrategy,d(`Unexpected rootApplyStrategy ${this.rootApplyStrategy}`)}}compiledMeta=a$(this.metaJson);cacheGetter(Z,X){return Object.defineProperty(this,Z,{value:X}),X}get description(){return this.cacheGetter("description",this.meta?.description??this.$.resolvedConfig[this.kind].description(this))}get references(){return Object.values(this.referencesById)}precedence=y2(this.kind);precompilation;assert=(Z,X)=>this(Z,X,(Q)=>Q.throw());traverse(Z,X){return this(Z,X,null)}get in(){return this.cacheGetter("in",this.rawIn.isRoot()?this.$.finalize(this.rawIn):this.rawIn)}get rawIn(){return this.cacheGetter("rawIn",this.getIo("in"))}get out(){return this.cacheGetter("out",this.rawOut.isRoot()?this.$.finalize(this.rawOut):this.rawOut)}get rawOut(){return this.cacheGetter("rawOut",this.getIo("out"))}getIo(Z){if(!this.includesTransform)return this;let X={};for(let[Q,U]of this.innerEntries){let J=this.impl.keys[Q];if(J.reduceIo)J.reduceIo(Z,X,U);else if(J.child){let $=U;X[Q]=t($)?$.map((W)=>Z==="in"?W.rawIn:W.rawOut):Z==="in"?$.rawIn:$.rawOut}else X[Q]=U}return this.$.node(this.kind,X)}toJSON(){return this.json}toString(){return`Type<${this.expression}>`}equals(Z){let X=e(Z)?Z:this.$.parseDefinition(Z);return this.innerHash===X.innerHash}ifEquals(Z){return this.equals(Z)?this:void 0}hasKind(Z){return this.kind===Z}assertHasKind(Z){if(this.kind!==Z)F2(`${this.kind} node was not of asserted kind ${Z}`);return this}hasKindIn(...Z){return Z.includes(this.kind)}assertHasKindIn(...Z){if(!c0(Z,this.kind))F2(`${this.kind} node was not one of asserted kinds ${Z}`);return this}isBasis(){return c0(z3,this.kind)}isConstraint(){return c0(d6,this.kind)}isStructural(){return c0(b2,this.kind)}isRefinement(){return c0(v8,this.kind)}isRoot(){return c0(I2,this.kind)}isUnknown(){return this.hasKind("intersection")&&this.children.length===0}isNever(){return this.hasKind("union")&&this.children.length===0}hasUnit(Z){return this.hasKind("unit")&&this.allows(Z)}hasOpenIntersection(){return this.impl.intersectionIsOpen}get nestableExpression(){return this.expression}select(Z){let X=g4.normalize(Z);return this._select(X)}_select(Z){let X=g4.applyBoundary[Z.boundary??"references"](this);if(Z.kind)X=X.filter((Q)=>Q.kind===Z.kind);if(Z.where)X=X.filter(Z.where);return g4.applyMethod[Z.method??"filter"](X,this,Z)}transform(Z,X){return this._transform(Z,this._createTransformContext(X))}_createTransformContext(Z){return{root:this,selected:void 0,seen:{},path:[],parseOptions:{prereduced:Z?.prereduced??!1},undeclaredKeyHandling:void 0,...Z}}_transform(Z,X){let Q=X.bindScope??this.$;if(X.seen[this.id])return this.$.lazilyResolve(X.seen[this.id]);if(X.shouldTransform?.(this,X)===!1)return this;let U;if(X.seen[this.id]=()=>U,this.hasKind("structure")&&this.undeclared!==X.undeclaredKeyHandling)X={...X,undeclaredKeyHandling:this.undeclared};let J=y(this.inner,(_,L)=>{if(!this.impl.keys[_].child)return[_,L];let V=L;if(!t(V)){let H=V._transform(Z,X);return H?[_,H]:[]}if(V.length===0)return[_,L];let q=V.flatMap((H)=>{return H._transform(Z,X)??[]});return q.length?[_,q]:[]});delete X.seen[this.id];let $=Object.assign(J,{meta:this.meta}),W=X.selected&&!X.selected.includes(this)?$:Z(this.kind,$,X);if(W===null)return null;if(e(W))return U=W;let Y=Object.keys(W);if((Y.length===0||Y.length===1&&Y[0]==="meta")&&!O1(this.inner))return null;if((this.kind==="required"||this.kind==="optional"||this.kind==="index")&&!("value"in W))return X.undeclaredKeyHandling?{...W,value:O.intrinsic.unknown}:null;if(this.kind==="morph")W.in??=O.intrinsic.unknown;return U=Q.node(this.kind,W,X.parseOptions)}configureReferences(Z,X="references"){let Q=g4.normalize(X),U=typeof Z==="string"?(Y,G)=>({...G,meta:{...G.meta,description:Z}}):typeof Z==="function"?(Y,G)=>({...G,meta:Z(G.meta)}):(Y,G)=>({...G,meta:{...G.meta,...Z}});if(Q.boundary==="self")return this.$.node(this.kind,U(this.kind,{...this.inner,meta:this.meta}));let J=this._select(Q),$=J&&i1(J),W=Q.boundary==="child"?(Y,G)=>G.root.children.includes(Y):Q.boundary==="shallow"?(Y)=>Y.kind!=="structure":()=>!0;return this.$.finalize(this.transform(U,{shouldTransform:W,selected:$}))}};g4={applyBoundary:{self:(Z)=>[Z],child:(Z)=>[...Z.children],shallow:(Z)=>[...Z.shallowReferences],references:(Z)=>[...Z.references]},applyMethod:{filter:(Z)=>Z,assertFilter:(Z,X,Q)=>{if(Z.length===0)F2(K3(X,Q));return Z},find:(Z)=>Z[0],assertFind:(Z,X,Q)=>{if(Z.length===0)F2(K3(X,Q));return Z[0]}},normalize:(Z)=>typeof Z==="function"?{boundary:"references",method:"filter",where:Z}:typeof Z==="string"?H0(Z,g4.applyBoundary)?{method:"filter",boundary:Z}:{boundary:"references",method:"filter",kind:Z}:{boundary:"references",method:"filter",...Z}},o$=/"(\$ark\.[^"]+)"/g});var A,D3=(Z,X)=>`${u8(Z)} and ${u8(X)}`,u8=(Z)=>e(Z)?Z.expression:t(Z)?Z.map(u8).join(" | ")||"never":String(Z),p8=(Z)=>`${Z} results in an unsatisfiable type`;var Y0=R(()=>{j();c();_0();A=class A extends Array{static init(Z,X,Q,U){return new A({kind:Z,l:X,r:Q,path:U?.path??[],optional:U?.optional??!1})}add(Z,X,Q,U){return this.push({kind:Z,l:X,r:Q,path:U?.path??[],optional:U?.optional??!1}),this}get summary(){return this.describeReasons()}describeReasons(){if(this.length===1){let{path:Z,l:X,r:Q}=this[0],U=g1(Z);return p8(`Intersection${U&&` at ${U}`} of ${D3(X,Q)}`)}return`The following intersections result in unsatisfiable types:
|
|
21
|
-
• ${this.map(({path:Z,l:X,r:Q})=>`${Z}: ${
|
|
22
|
-
• `)}`}throw(){return M(this.describeReasons())}invert(){let Z=this.map((X)=>({...X,l:X.r,r:X.l}));if(!(Z instanceof A))return new A(...Z);return Z}withPrefixKey(Z,X){return this.map((Q)=>({...Q,path:[Z,...Q.path],optional:Q.optional||X==="optional"}))}toNeverIfDisjoint(){return O.intrinsic.never}}});var g2,g0=(Z,X,Q)=>Z0(Z,X,{$:Q,invert:!1,pipe:!1}),x4=(Z,X,Q)=>Z0(Z,X,{$:Q,invert:!1,pipe:!0}),Z0=(Z,X,Q)=>{let U=Q.pipe?"|>":"&",J=`${Z.hash}${U}${X.hash}`;if(g2[J]!==void 0)return g2[J];if(!Q.pipe){let Y=`${X.hash}${U}${Z.hash}`;if(g2[Y]!==void 0){let G=g2[Y],_=G instanceof A?G.invert():G;return g2[J]=_,_}}let $=!Q.pipe||!Z.includesTransform&&!X.includesTransform;if($&&Z.equals(X))return Z;let W=$?l8(Z,X,Q):Z.hasKindIn(...I2)?t$(Z,X,Q):l8(Z,X,Q);if(e(W)){if(Z.equals(W))W=Z;else if(X.equals(W))W=X}return g2[J]=W,W},l8=(Z,X,Q)=>{let U=Z.precedence<X.precedence?Z.kind:X.kind,J=Z.impl.intersections[X.kind]??X.impl.intersections[Z.kind];if(J===void 0)return null;else if(U===Z.kind)return J(Z,X,Q);else{let $=J(X,Z,{...Q,invert:!Q.invert});if($ instanceof A)$=$.invert();return $}},t$=(Z,X,Q)=>Z.includesTransform||X.includesTransform?Q.invert?P3(X,Z,Q):P3(Z,X,Q):l8(Z,X,Q),P3=(Z,X,Q)=>Z.distribute((U)=>e$(U,X,Q),(U)=>{let J=U.filter(e);if(J.length===0)return A.init("union",Z.branches,X.branches);if(J.length<Z.branches.length||!Z.branches.every((Y,G)=>Y.rawIn.equals(J[G].rawIn)))return Q.$.parseSchema(J);let $;if(J.length===1){let Y=J[0];if(!$)return Y;return Q.$.node("morph",{...Y.inner,in:Y.rawIn.configure($,"self")})}let W={branches:J};if($)W.meta=$;return Q.$.parseSchema(W)}),e$=(Z,X,Q)=>{if(Z.hasKind("morph")){let J=[...Z.morphs];if(Z.lastMorphIfNode){let $=Z0(Z.lastMorphIfNode,X,Q);if($ instanceof A)return $;J[J.length-1]=$}else J.push(X);return Q.$.node("morph",{morphs:J,in:Z.inner.in})}if(X.hasKind("morph")){let J=Z0(Z,X.rawIn,Q);if(J instanceof A)return J;return Q.$.node("morph",{morphs:[X],in:J})}return Q.$.node("morph",{morphs:[X],in:Z})};var s0=R(()=>{Y0();i();_0();g2={}});var r0,v1,O0=(Z)=>(X,Q)=>{if(t(X)){if(X.length===0)return;let J=X.map(($)=>Q.$.node(Z,$));if(Z==="predicate")return J;return J.sort(($,W)=>$.hash<W.hash?-1:1)}let U=Q.$.node(Z,X);return U.hasOpenIntersection()?[U]:U},v2=(Z)=>{let X=Z.r.shift();if(!X){let U=Z.l.length===0&&Z.kind==="structure"?O.intrinsic.unknown.internal:Z.ctx.$.node(Z.kind,Object.assign(Z.baseInner,ZW(Z.l)),{prereduced:!0});for(let J of Z.roots){if(U instanceof A)return U;U=Z0(J,U,Z.ctx)}return U}let Q=!1;for(let U=0;U<Z.l.length;U++){let J=Z0(Z.l[U],X,Z.ctx);if(J===null)continue;if(J instanceof A)return J;if(J.isRoot())return Z.roots.push(J),Z.l.splice(U),v2(Z);if(!Q)Z.l[U]=J,Q=!0;else if(!Z.l.includes(J))return d(`Unexpectedly encountered multiple distinct intersection results for refinement ${X}`)}if(!Q)Z.l.push(X);if(Z.kind==="intersection"){if(X.impliedSiblings)for(let U of X.impliedSiblings)M1(Z.r,U)}return v2(Z)},x2=(Z)=>{return Object.entries(Z).flatMap(([Q,U])=>(Q in c6)?U:[]).sort((Q,U)=>Q.precedence<U.precedence?-1:Q.precedence>U.precedence?1:Q.kind==="predicate"&&U.kind==="predicate"?0:Q.hash<U.hash?-1:1)},ZW=(Z)=>{let X={};for(let Q of Z)if(Q.hasOpenIntersection())X[Q.kind]=u(X[Q.kind],Q);else{if(X[Q.kind])return d(`Unexpected intersection of closed refinements of kind ${Q.kind}`);X[Q.kind]=Q}return X},w3=(...Z)=>M(A3(...Z)),A3=(Z,X,Q)=>{let U=Q.hasKind("morph")?"a morph":Q.isUnknown()?"unknown":Q.exclude(X).defaultShortDescription;return`${i7(Z)} operand must be ${X.description} (was ${U})`};var h0=R(()=>{j();T2();Y0();i();s0();c();_0();r0=class r0 extends v4{constructor(Z,X){super(Z,X);Object.defineProperty(this,w0,{value:"constraint",enumerable:!1})}impliedSiblings;intersect(Z){return g0(this,Z,this.$)}};v1=class v1 extends r0{traverseApply=(Z,X)=>{if(!this.traverseAllows(Z,X))X.errorFromNodeContext(this.errorContext)};compile(Z){if(Z.traversalKind==="Allows")Z.return(this.compiledCondition);else Z.if(this.compiledNegation,()=>Z.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return n1(this.errorContext)}}});var S3=(Z,X,Q)=>new Z2(Z,X,Q,Q,null),s6,Z2,XW=(Z,X,Q)=>`${Z} must be assignable to ${X} (was ${Q})`;var d8=R(()=>{j();c();_0();s6=class s6 extends f0{};Z2=class Z2 extends f0{[w0]="generic";paramDefs;bodyDef;$;arg$;baseInstantiation;hkt;description;constructor(Z,X,Q,U,J){super((...$)=>{let W=y(this.names,(Y,G)=>{let _=this.arg$.parse($[Y]);if(!_.extends(this.constraints[Y]))M(XW(G,this.constraints[Y].expression,_.expression));return[G,_]});if(this.defIsLazy()){let Y=this.bodyDef(W);return this.$.parse(Y)}return this.$.parse(X,{args:W})});this.paramDefs=Z,this.bodyDef=X,this.$=Q,this.arg$=U,this.hkt=J,this.description=J?new J().description??`a generic type for ${J.constructor.name}`:"a generic type",this.baseInstantiation=this(...this.constraints)}defIsLazy(){return this.bodyDef instanceof s6}cacheGetter(Z,X){return Object.defineProperty(this,Z,{value:X}),X}get json(){return this.cacheGetter("json",{params:this.params.map((Z)=>Z[1].isUnknown()?Z[0]:[Z[0],Z[1].json]),body:$3(this.bodyDef)})}get params(){return this.cacheGetter("params",this.paramDefs.map((Z)=>typeof Z==="string"?[Z,O.intrinsic.unknown]:[Z[0],this.$.parse(Z[1])]))}get names(){return this.cacheGetter("names",this.params.map((Z)=>Z[0]))}get constraints(){return this.cacheGetter("constraints",this.params.map((Z)=>Z[1]))}get internal(){return this}get referencesById(){return this.baseInstantiation.internal.referencesById}get references(){return this.baseInstantiation.internal.references}}});var QW,C3,c8;var i8=R(()=>{h0();i();c();QW=g({kind:"predicate",hasAssociatedError:!0,collapsibleKey:"predicate",keys:{predicate:{}},normalize:(Z)=>typeof Z==="function"?{predicate:Z}:Z,defaults:{description:(Z)=>`valid according to ${Z.predicate.name||"an anonymous predicate"}`},intersectionIsOpen:!0,intersections:{predicate:()=>null}});C3=class C3 extends r0{serializedPredicate=U0(this.predicate);compiledCondition=`${this.serializedPredicate}(data, ctx)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=null;expression=this.serializedPredicate;traverseAllows=this.predicate;errorContext={code:"predicate",description:this.description,meta:this.meta};compiledErrorContext=n1(this.errorContext);traverseApply=(Z,X)=>{let Q=X.currentErrorCount;if(!this.predicate(Z,X.external)&&X.currentErrorCount===Q)X.errorFromNodeContext(this.errorContext)};compile(Z){if(Z.traversalKind==="Allows"){Z.return(this.compiledCondition);return}Z.initializeErrorCount(),Z.if(`${this.compiledNegation} && ctx.currentErrorCount === errorCount`,()=>Z.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}reduceJsonSchema(Z,X){return X.fallback.predicate({code:"predicate",base:Z,predicate:this.predicate})}};c8={implementation:QW,Node:C3}});var UW,N3,s8,JW=(Z)=>`divisor must be an integer (was ${Z})`,$W=(Z,X)=>{let Q,U=Z,J=X;while(J!==0)Q=J,J=U%J,U=Q;return U};var r8=R(()=>{j();h0();i();c();UW=g({kind:"divisor",collapsibleKey:"rule",keys:{rule:{parse:(Z)=>Number.isInteger(Z)?Z:M(JW(Z))}},normalize:(Z)=>typeof Z==="number"?{rule:Z}:Z,hasAssociatedError:!0,defaults:{description:(Z)=>Z.rule===1?"an integer":Z.rule===2?"even":`a multiple of ${Z.rule}`},intersections:{divisor:(Z,X,Q)=>Q.$.node("divisor",{rule:Math.abs(Z.rule*X.rule/$W(Z.rule,X.rule))})},obviatesBasisDescription:!0});N3=class N3 extends v1{traverseAllows=(Z)=>Z%this.rule===0;compiledCondition=`data % ${this.rule} === 0`;compiledNegation=`data % ${this.rule} !== 0`;impliedBasis=O.intrinsic.number.internal;expression=`% ${this.rule}`;reduceJsonSchema(Z){if(Z.type="integer",this.rule===1)return Z;return Z.multipleOf=this.rule,Z}};s8={implementation:UW,Node:N3}});var m0,WW,YW,r6,o6=(Z)=>(X)=>{if(typeof X==="number")return{rule:X};let{exclusive:Q,...U}=X;return Q?{...U,rule:Z==="minLength"?U.rule+1:U.rule-1}:U},a6=(Z)=>(X)=>{if(typeof X==="number"||typeof X==="string"||X instanceof Date)return{rule:X};let{exclusive:Q,...U}=X;if(!Q)return U;let J=typeof U.rule==="number"?U.rule:typeof U.rule==="string"?new Date(U.rule).valueOf():U.rule.valueOf();return Q?{...U,rule:Z==="after"?J+1:J-1}:U},n6=(Z)=>typeof Z==="string"||typeof Z==="number"?new Date(Z):Z,GW=(Z,X)=>`${Z} bound must be a positive integer (was ${X})`,h2=(Z)=>(X)=>{if(!Number.isInteger(X)||X<0)M(GW(Z,X));return X},_W,LW=(Z,X)=>`${H0(Z,YW)?">":"<"}${X?"":"="}`,VW=(Z)=>typeof Z==="string"?Z:new Date(Z).toLocaleString(),j3=(Z)=>`Bounded expression ${Z} must be exactly one of number, string, Array, or Date`;var x1=R(()=>{j();h0();m0=class m0 extends v1{boundOperandKind=_W[this.kind];compiledActual=this.boundOperandKind==="value"?"data":this.boundOperandKind==="length"?"data.length":"data.valueOf()";comparator=LW(this.kind,this.exclusive);numericLimit=this.rule.valueOf();expression=`${this.comparator} ${this.rule}`;compiledCondition=`${this.compiledActual} ${this.comparator} ${this.numericLimit}`;compiledNegation=`${this.compiledActual} ${WW[this.comparator]} ${this.numericLimit}`;stringLimit=this.boundOperandKind==="date"?VW(this.numericLimit):`${this.numericLimit}`;limitKind=this.comparator["0"]==="<"?"upper":"lower";isStricterThan(Z){return(this.limitKind==="upper"?this.numericLimit<Z.numericLimit:this.numericLimit>Z.numericLimit)||this.numericLimit===Z.numericLimit&&this.exclusive===!0&&!Z.exclusive}overlapsRange(Z){if(this.isStricterThan(Z))return!1;if(this.numericLimit===Z.numericLimit&&(this.exclusive||Z.exclusive))return!1;return!0}overlapIsUnit(Z){return this.numericLimit===Z.numericLimit&&!this.exclusive&&!Z.exclusive}};WW={"<":">=","<=":">",">":"<=",">=":"<"},YW={min:"max",minLength:"maxLength",after:"before"},r6={parse:(Z)=>Z||void 0},_W={min:"value",max:"value",minLength:"length",maxLength:"length",after:"date",before:"date"}});var qW,E3,o8;var a8=R(()=>{j();i();c();x1();qW=g({kind:"after",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:n6,serialize:(Z)=>Z.toISOString()}},normalize:a6("after"),defaults:{description:(Z)=>`${Z.collapsibleLimitString} or later`,actual:K2},intersections:{after:(Z,X)=>Z.isStricterThan(X)?Z:X}});E3=class E3 extends m0{impliedBasis=O.intrinsic.Date.internal;collapsibleLimitString=K2(this.rule);traverseAllows=(Z)=>Z>=this.rule;reduceJsonSchema(Z,X){return X.fallback.date({code:"date",base:Z,after:this.rule})}};o8={implementation:qW,Node:E3}});var HW,b3,n8;var t8=R(()=>{j();Y0();i();c();x1();HW=g({kind:"before",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:n6,serialize:(Z)=>Z.toISOString()}},normalize:a6("before"),defaults:{description:(Z)=>`${Z.collapsibleLimitString} or earlier`,actual:K2},intersections:{before:(Z,X)=>Z.isStricterThan(X)?Z:X,after:(Z,X,Q)=>Z.overlapsRange(X)?Z.overlapIsUnit(X)?Q.$.node("unit",{unit:Z.rule}):null:A.init("range",Z,X)}});b3=class b3 extends m0{collapsibleLimitString=K2(this.rule);traverseAllows=(Z)=>Z<=this.rule;impliedBasis=O.intrinsic.Date.internal;reduceJsonSchema(Z,X){return X.fallback.date({code:"date",base:Z,before:this.rule})}};n8={implementation:HW,Node:b3}});var zW,I3,e8;var ZZ=R(()=>{h0();Y0();i();c();t1();x1();zW=g({kind:"exactLength",collapsibleKey:"rule",keys:{rule:{parse:h2("exactLength")}},normalize:(Z)=>typeof Z==="number"?{rule:Z}:Z,hasAssociatedError:!0,defaults:{description:(Z)=>`exactly length ${Z.rule}`,actual:(Z)=>`${Z.length}`},intersections:{exactLength:(Z,X,Q)=>A.init("unit",Q.$.node("unit",{unit:Z.rule}),Q.$.node("unit",{unit:X.rule}),{path:["length"]}),minLength:(Z,X)=>Z.rule>=X.rule?Z:A.init("range",Z,X),maxLength:(Z,X)=>Z.rule<=X.rule?Z:A.init("range",Z,X)}});I3=class I3 extends v1{traverseAllows=(Z)=>Z.length===this.rule;compiledCondition=`data.length === ${this.rule}`;compiledNegation=`data.length !== ${this.rule}`;impliedBasis=O.intrinsic.lengthBoundable.internal;expression=`== ${this.rule}`;reduceJsonSchema(Z){switch(Z.type){case"string":return Z.minLength=this.rule,Z.maxLength=this.rule,Z;case"array":return Z.minItems=this.rule,Z.maxItems=this.rule,Z;default:return X0.throwInternalOperandError("exactLength",Z)}}};e8={implementation:zW,Node:I3}});var FW,f3,XZ;var QZ=R(()=>{Y0();i();c();x1();FW=g({kind:"max",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:r6},normalize:(Z)=>typeof Z==="number"?{rule:Z}:Z,defaults:{description:(Z)=>{if(Z.rule===0)return Z.exclusive?"negative":"non-positive";return`${Z.exclusive?"less than":"at most"} ${Z.rule}`}},intersections:{max:(Z,X)=>Z.isStricterThan(X)?Z:X,min:(Z,X,Q)=>Z.overlapsRange(X)?Z.overlapIsUnit(X)?Q.$.node("unit",{unit:Z.rule}):null:A.init("range",Z,X)},obviatesBasisDescription:!0});f3=class f3 extends m0{impliedBasis=O.intrinsic.number.internal;traverseAllows=this.exclusive?(Z)=>Z<this.rule:(Z)=>Z<=this.rule;reduceJsonSchema(Z){if(this.exclusive)Z.exclusiveMaximum=this.rule;else Z.maximum=this.rule;return Z}};XZ={implementation:FW,Node:f3}});var BW,y3,UZ;var JZ=R(()=>{Y0();i();c();t1();x1();BW=g({kind:"maxLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:h2("maxLength")}},reduce:(Z,X)=>Z.rule===0?X.node("exactLength",Z):void 0,normalize:o6("maxLength"),defaults:{description:(Z)=>`at most length ${Z.rule}`,actual:(Z)=>`${Z.length}`},intersections:{maxLength:(Z,X)=>Z.isStricterThan(X)?Z:X,minLength:(Z,X,Q)=>Z.overlapsRange(X)?Z.overlapIsUnit(X)?Q.$.node("exactLength",{rule:Z.rule}):null:A.init("range",Z,X)}});y3=class y3 extends m0{impliedBasis=O.intrinsic.lengthBoundable.internal;traverseAllows=(Z)=>Z.length<=this.rule;reduceJsonSchema(Z){switch(Z.type){case"string":return Z.maxLength=this.rule,Z;case"array":return Z.maxItems=this.rule,Z;default:return X0.throwInternalOperandError("maxLength",Z)}}};UZ={implementation:BW,Node:y3}});var MW,k3,$Z;var WZ=R(()=>{i();c();x1();MW=g({kind:"min",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:r6},normalize:(Z)=>typeof Z==="number"?{rule:Z}:Z,defaults:{description:(Z)=>{if(Z.rule===0)return Z.exclusive?"positive":"non-negative";return`${Z.exclusive?"more than":"at least"} ${Z.rule}`}},intersections:{min:(Z,X)=>Z.isStricterThan(X)?Z:X},obviatesBasisDescription:!0});k3=class k3 extends m0{impliedBasis=O.intrinsic.number.internal;traverseAllows=this.exclusive?(Z)=>Z>this.rule:(Z)=>Z>=this.rule;reduceJsonSchema(Z){if(this.exclusive)Z.exclusiveMinimum=this.rule;else Z.minimum=this.rule;return Z}};$Z={implementation:MW,Node:k3}});var RW,g3,YZ;var GZ=R(()=>{i();c();t1();x1();RW=g({kind:"minLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:h2("minLength")}},reduce:(Z)=>Z.rule===0?O.intrinsic.unknown:void 0,normalize:o6("minLength"),defaults:{description:(Z)=>Z.rule===1?"non-empty":`at least length ${Z.rule}`,actual:(Z)=>Z.length===0?"":`${Z.length}`},intersections:{minLength:(Z,X)=>Z.isStricterThan(X)?Z:X}});g3=class g3 extends m0{impliedBasis=O.intrinsic.lengthBoundable.internal;traverseAllows=(Z)=>Z.length>=this.rule;reduceJsonSchema(Z){switch(Z.type){case"string":return Z.minLength=this.rule,Z;case"array":return Z.minItems=this.rule,Z;default:return X0.throwInternalOperandError("minLength",Z)}}};YZ={implementation:RW,Node:g3}});var v3,x3;var _Z=R(()=>{a8();t8();ZZ();QZ();JZ();WZ();GZ();v3={min:$Z.implementation,max:XZ.implementation,minLength:YZ.implementation,maxLength:UZ.implementation,exactLength:e8.implementation,after:o8.implementation,before:n8.implementation},x3={min:$Z.Node,max:XZ.Node,minLength:YZ.Node,maxLength:UZ.Node,exactLength:e8.Node,after:o8.Node,before:n8.Node}});var OW,h3,LZ;var VZ=R(()=>{h0();i();c();OW=g({kind:"pattern",collapsibleKey:"rule",keys:{rule:{},flags:{}},normalize:(Z)=>typeof Z==="string"?{rule:Z}:Z instanceof RegExp?Z.flags?{rule:Z.source,flags:Z.flags}:{rule:Z.source}:Z,obviatesBasisDescription:!0,obviatesBasisExpression:!0,hasAssociatedError:!0,intersectionIsOpen:!0,defaults:{description:(Z)=>`matched by ${Z.rule}`},intersections:{pattern:()=>null}});h3=class h3 extends v1{instance=new RegExp(this.rule,this.flags);expression=`${this.instance}`;traverseAllows=this.instance.test.bind(this.instance);compiledCondition=`${this.expression}.test(data)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=O.intrinsic.string.internal;reduceJsonSchema(Z,X){if(Z.pattern)return X.fallback.patternIntersection({code:"patternIntersection",base:Z,pattern:this.rule});return Z.pattern=this.rule,Z}};LZ={implementation:OW,Node:h3}});var h4=(Z,X)=>{let Q=KW(Z);if(X&&!X.includes(Q))return M(`Root of kind ${Q} should be one of ${X}`);return Q},KW=(Z)=>{if(E(Z,"root"))return Z.kind;if(typeof Z==="string")return Z[0]==="$"?"alias":(Z in b0)?"domain":"proto";if(typeof Z==="function")return"proto";if(typeof Z!=="object"||Z===null)return M(m3(Z));if("morphs"in Z)return"morph";if("branches"in Z||t(Z))return"union";if("unit"in Z)return"unit";if("reference"in Z)return"alias";let X=Object.keys(Z);if(X.length===0||X.some((Q)=>(Q in c6)))return"intersection";if("proto"in Z)return"proto";if("domain"in Z)return"domain";return M(m3(Z))},m3=(Z)=>`${k(Z)} is not a valid type schema`,u3,TW=(Z)=>t(Z)?Z.map((X)=>X.collapsibleJson):Z.collapsibleJson,A0,qZ=(Z)=>{return u3[Z]??=0,`${Z}${++u3[Z]}`},HZ=(Z)=>{let X=m2[Z.kind],Q=X.applyConfig?.(Z.def,Z.$.resolvedConfig)??Z.def,U={},{meta:J,...$}=Q,W=J===void 0?{}:typeof J==="string"?{description:J}:J,Y=D8($).sort(([_],[L])=>f2(_)?f2(L)?y2(_)-y2(L):1:f2(L)?-1:_<L?-1:1).filter(([_,L])=>{if(_.startsWith("meta.")){let V=_.slice(5);return W[V]=L,!1}return!0});for(let _ of Y){let L=_[0],V=X.keys[L];if(!V)return M(`Key ${L} is not valid on ${Z.kind} schema`);let q=V.parse?V.parse(_[1],Z):_[1];if(q!==I0&&(q!==void 0||V.preserveUndefined))U[L]=q}if(X.reduce&&!Z.prereduced){let _=X.reduce(U,Z.$);if(_){if(_ instanceof A)return _.throw();return DW(_,W)}}return zZ({id:Z.id,kind:Z.kind,inner:U,meta:W,$:Z.$})},zZ=({id:Z,kind:X,inner:Q,meta:U,$:J,ignoreCache:$})=>{let W=m2[X],Y=D8(Q),G=[],_={};for(let[T,D]of Y){let K=W.keys[T],P=K.serialize??(K.child?TW:i0);if(_[T]=P(D),K.child===!0){let S=D;if(t(S))G.push(...S);else G.push(S)}else if(typeof K.child==="function")G.push(...K.child(D))}if(W.finalizeInnerJson)_=W.finalizeInnerJson(_);let L={..._},V={};if(!O1(U))V=y(U,(T,D)=>[T,T==="examples"?D:i0(D)]),L.meta=t6(V,"description",!0);_=t6(_,W.collapsibleKey,!1);let q=JSON.stringify({kind:X,..._});L=t6(L,W.collapsibleKey,!1);let H=t6(L,W.collapsibleKey,!0),F=JSON.stringify({kind:X,...L});if(J.nodesByHash[F]&&!$)return J.nodesByHash[F];let z={id:Z,kind:X,impl:W,inner:Q,innerEntries:Y,innerJson:_,innerHash:q,meta:U,metaJson:V,json:L,hash:F,collapsibleJson:H,children:G};if(X!=="intersection"){for(let T in Q)if(T!=="in"&&T!=="out")z[T]=Q[T]}let B=new l3[X](z,J);return J.nodesByHash[F]=B},p3=(Z,X)=>{if(Z.id===X)return Z;if(e(A0[X]))d(`Unexpected attempt to overwrite node id ${X}`);return zZ({id:X,kind:Z.kind,inner:Z.inner,meta:Z.meta,$:Z.$,ignoreCache:!0})},DW=(Z,X,Q)=>{if(Q&&e(A0[Q]))d(`Unexpected attempt to overwrite node id ${Q}`);return zZ({id:Q??qZ(X.alias??Z.kind),kind:Z.kind,inner:Z.inner,meta:X,$:Z.$})},t6=(Z,X,Q)=>{let U=Object.keys(Z);if(U.length===1&&U[0]===X){let J=Z[X];if(Q)return J;if(E0(J,"object")&&(Object.keys(J).length===1||Array.isArray(J)))return J}return Z};var e6=R(()=>{j();Z9();Y0();i();c();_0();u3={},A0={};O.nodesByRegisteredId=A0});var m4=(Z,X,Q)=>{if(Z.key!==X.key)return null;let U=Z.key,J=Z0(Z.value,X.value,Q),$=Z.required||X.required?"required":"optional";if(J instanceof A)if($==="optional")J=O.intrinsic.never.internal;else return J.withPrefixKey(Z.key,Z.required&&X.required?"required":"optional");if($==="required")return Q.$.node("required",{key:U,value:J});let W=Z.hasDefault()?X.hasDefault()?Z.default===X.default?Z.default:M(FZ(Z.default,X.default)):Z.default:X.hasDefault()?X.default:I0;return Q.$.node("optional",{key:U,value:J,default:W})},u4,FZ=(Z,X)=>`Invalid intersection of default values ${k(Z)} & ${k(X)}`;var p4=R(()=>{j();h0();T2();a1();Y0();s0();c();K1();u4=class u4 extends r0{required=this.kind==="required";optional=this.kind==="optional";impliedBasis=O.intrinsic.object.internal;serializedKey=W1(this.key);compiledKey=typeof this.key==="string"?this.key:this.serializedKey;flatRefs=u(this.value.flatRefs.map((Z)=>G1([this.key,...Z.path],Z.node)),G1([this.key],this.value));_transform(Z,X){X.path.push(this.key);let Q=super._transform(Z,X);return X.path.pop(),Q}hasDefault(){return"default"in this.inner}traverseAllows=(Z,X)=>{if(this.key in Z)return k0(this.key,()=>this.value.traverseAllows(Z[this.key],X),X);return this.optional};traverseApply=(Z,X)=>{if(this.key in Z)k0(this.key,()=>this.value.traverseApply(Z[this.key],X),X);else if(this.hasKind("required"))X.errorFromNodeContext(this.errorContext)};compile(Z){if(Z.if(`${this.serializedKey} in data`,()=>Z.traverseKey(this.serializedKey,`data${Z.prop(this.key)}`,this.value)),this.hasKind("required"))Z.else(()=>Z.traversalKind==="Apply"?Z.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`):Z.return(!1));if(Z.traversalKind==="Allows")Z.return(!0)}}});var PW,d3,l4,wW,AW=(Z)=>{if(!Z.hasDefault())return;let X=`{${Z.compiledKey}: ${Z.value.id} = ${i0(Z.default)}}`;return wW[X]??=BZ(Z.key,Z.value,Z.default)},BZ=(Z,X,Q)=>{if(typeof Q==="function")return X.includesTransform?(J,$)=>{return k0(Z,()=>X(J[Z]=Q(),$),$),J}:(J)=>{return J[Z]=Q(),J};let U=X.includesTransform?X.assert(Q):Q;return E0(U,"object")?(J,$)=>{return k0(Z,()=>X(J[Z]=Q,$),$),J}:(J)=>{return J[Z]=U,J}},d4=(Z,X,Q)=>{let U=s1(X);if(E0(X,"object")&&!U)M(SW(Q));let J=Z.in(U?X():X);if(J instanceof y0){if(Q===null)M(`Default ${J.summary}`);let $=J.transform((W)=>W.transform((Y)=>({...Y,prefixPath:[Q]})));M(`Default for ${$.summary}`)}return X},SW=(Z)=>{return`Non-primitive default ${Z===null?"":typeof Z==="number"?`for value at [${Z}] `:`for ${W1(Z)} `}must be specified as a function like () => ({my: 'object'})`};var u2=R(()=>{j();X9();a1();k4();i();c();K1();p4();PW=g({kind:"optional",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(Z,X)=>X.$.parseSchema(Z)},default:{preserveUndefined:!0}},normalize:(Z)=>Z,reduce:(Z,X)=>{if(X.resolvedConfig.exactOptionalPropertyTypes===!1){if(!Z.value.allows(void 0))return X.node("optional",{...Z,value:Z.value.or(I.undefined)},{prereduced:!0})}},defaults:{description:(Z)=>`${Z.compiledKey}?: ${Z.value.description}`},intersections:{optional:m4}});d3=class d3 extends u4{constructor(...Z){super(...Z);if("default"in this.inner)d4(this.value,this.inner.default,this.key)}get rawIn(){let Z=super.rawIn;if(!this.hasDefault())return Z;return this.$.node("optional",g6(Z.inner,{default:!0}),{prereduced:!0})}get outProp(){if(!this.hasDefault())return this;let{default:Z,...X}=this.inner;return this.cacheGetter("outProp",this.$.node("required",X,{prereduced:!0}))}expression=this.hasDefault()?`${this.compiledKey}: ${this.value.expression} = ${k(this.inner.default)}`:`${this.compiledKey}?: ${this.value.expression}`;defaultValueMorph=AW(this);defaultValueMorphRef=this.defaultValueMorph&&U0(this.defaultValueMorph)};l4={implementation:PW,Node:d3},wW={}});var o0,CW="Expected a non-empty brand name after #",r3,NW=(Z)=>`JSONSchema target '${Z}' is not supported (must be ${r3.map((X)=>`"${X}"`).join(" or ")})`,c3=(Z)=>{if(!c0(r3,Z))M(NW(Z));return Z},p2=(Z)=>typeof Z==="object"&&!(Z instanceof Date)?{...Z,exclusive:!0}:{rule:Z,exclusive:!0},c4=(Z,X)=>E(X,"root")?E(Z,"root")?Z.extends(X):X.allows(Z):E(Z,"root")?Z.hasUnit(X):X===Z,i3=(Z)=>{if(Z.hasKind("morph"))return null;if(Z.hasKind("intersection"))return Z.inner.structure??(Z.basis?.domain==="object"?Z.$.bindReference(O.intrinsic.emptyStructure):null);if(Z.isBasis()&&Z.domain==="object")return Z.$.bindReference(O.intrinsic.emptyStructure);return null},jW=(Z)=>`Props cannot be extracted from a union. Use .distribute to extract props from each branch instead. Received:
|
|
23
|
-
${Z}`,
|
|
17
|
+
`);var m4=R(()=>{b();V0();t1=class t1 extends j4{[S0]="error";path;data;nodeConfig;input;ctx;constructor({prefixPath:Z,relativePath:X,...Q},U){super();this.input=Q,this.ctx=U,y7(this,Q);let J=U.data;if(Q.code==="union")Q.errors=Q.errors.flatMap((W)=>{let Y=W.hasCode("union")?W.errors:[W];if(!Z&&!X)return Y;return Y.map((G)=>G.transform((L)=>({...L,path:C7(Z,L.path,X)})))});this.nodeConfig=U.config[this.code];let $=[...Q.path??U.path];if(X)$.push(...X);if(Z)$.unshift(...Z);this.path=new g4(...$),this.data="data"in Q?Q.data:J}transform(Z){return new t1(Z({data:this.data,path:this.path,...this.input}),this.ctx)}hasCode(Z){return this.code===Z}get propString(){return y1(this.path)}get expected(){if(this.input.expected)return this.input.expected;let Z=this.meta?.expected??this.nodeConfig.expected;return typeof Z==="function"?Z(this.input):Z}get actual(){if(this.input.actual)return this.input.actual;let Z=this.meta?.actual??this.nodeConfig.actual;return typeof Z==="function"?Z(this.data):Z}get problem(){if(this.input.problem)return this.input.problem;let Z=this.meta?.problem??this.nodeConfig.problem;return typeof Z==="function"?Z(this):Z}get message(){if(this.input.message)return this.input.message;let Z=this.meta?.message??this.nodeConfig.message;return typeof Z==="function"?Z(this):Z}get flat(){return this.hasCode("intersection")?[...this.errors]:[this]}toJSON(){return{data:this.data,path:this.path,...this.input,expected:this.expected,actual:this.actual,problem:this.problem,message:this.message}}toString(){return this.message}throw(){throw this}};k0=class k0 extends m6{[S0]="errors";ctx;constructor(Z){super();this.ctx=Z}byPath=Object.create(null);get flatByPath(){return k(this.byPath,(Z,X)=>[Z,X.flat])}get flatProblemsByPath(){return k(this.byPath,(Z,X)=>[Z,X.flat.map((Q)=>Q.problem)])}byAncestorPath=Object.create(null);count=0;mutable=this;throw(){throw this.toTraversalError()}toTraversalError(){return new d8(this)}add(Z){let X=this.byPath[Z.propString];if(X){if(Z===X)return;if(X.hasCode("union")&&X.errors.length===0)return;let Q=Z.hasCode("union")&&Z.errors.length===0?Z:new t1({code:"intersection",errors:X.hasCode("intersection")?[...X.errors,Z]:[X,Z]},this.ctx),U=this.indexOf(X);this.mutable[U===-1?this.length:U]=Q,this.byPath[Z.propString]=Q,this.addAncestorPaths(Z)}else this.byPath[Z.propString]=Z,this.addAncestorPaths(Z),this.mutable.push(Z);this.count++}transform(Z){let X=new k0(this.ctx);for(let Q of this)X.add(Z(Q));return X}merge(Z){for(let X of Z)this.add(new t1({...X,path:[...this.ctx.path,...X.path]},this.ctx))}affectsPath(Z){if(this.length===0)return!1;return Z.stringifyAncestors().some((X)=>(X in this.byPath))||Z.stringify()in this.byAncestorPath}get summary(){return this.toString()}get issues(){return this}toJSON(){return[...this.map((Z)=>Z.toJSON())]}toString(){return this.join(`
|
|
18
|
+
`)}addAncestorPaths(Z){for(let X of Z.path.stringifyAncestors())this.byAncestorPath[X]=u(this.byAncestorPath[X],Z)}};d8=class d8 extends Error{name="TraversalError";constructor(Z){if(Z.length===1)super(Z.summary);else super(`
|
|
19
|
+
`+Z.map((X)=>` • ${t$(X)}`).join(`
|
|
20
|
+
`));Object.defineProperty(this,"arkErrors",{value:Z,enumerable:!1})}}});class $1{path=[];errors=new k0(this);root;config;queuedMorphs=[];branches=[];seen={};constructor(Z,X){this.root=Z,this.config=X}get data(){let Z=this.root;for(let X of this.path)Z=Z?.[X];return Z}get propString(){return y1(this.path)}reject(Z){return this.error(Z),!1}mustBe(Z){return this.error(Z),!1}error(Z){let X=typeof Z==="object"?Z.code?Z:{...Z,code:"predicate"}:{code:"predicate",expected:Z};return this.errorFromContext(X)}hasError(){return this.currentErrorCount!==0}get currentBranch(){return this.branches[this.branches.length-1]}queueMorphs(Z){let X={path:new g4(...this.path),morphs:Z};if(this.currentBranch)this.currentBranch.queuedMorphs.push(X);else this.queuedMorphs.push(X)}finalize(Z){if(this.queuedMorphs.length){if(typeof this.root==="object"&&this.root!==null&&this.config.clone)this.root=this.config.clone(this.root);this.applyQueuedMorphs()}if(this.hasError())return Z?Z(this.errors):this.errors;return this.root}get currentErrorCount(){return this.currentBranch?this.currentBranch.error?1:0:this.errors.count}get failFast(){return this.branches.length!==0}pushBranch(){this.branches.push({error:void 0,queuedMorphs:[]})}popBranch(){return this.branches.pop()}get external(){return this}errorFromNodeContext(Z){return this.errorFromContext(Z)}errorFromContext(Z){let X=new t1(Z,this);if(this.currentBranch)this.currentBranch.error=X;else this.errors.add(X);return X}applyQueuedMorphs(){while(this.queuedMorphs.length){let Z=this.queuedMorphs;this.queuedMorphs=[];for(let{path:X,morphs:Q}of Z){if(this.errors.affectsPath(X))continue;this.applyMorphsAtPath(X,Q)}}}applyMorphsAtPath(Z,X){let Q=Z[Z.length-1],U;if(Q!==void 0){U=this.root;for(let J=0;J<Z.length-1;J++)U=U[Z[J]]}for(let J of X){this.path=[...Z];let $=Q0(J),W=J(U===void 0?this.root:U[Q],this);if(W instanceof t1){if(!this.errors.includes(W))this.errors.add(W);break}if(W instanceof k0){if(!$)this.errors.merge(W);this.queuedMorphs=[];break}if(U===void 0)this.root=W;else U[Q]=W;this.applyQueuedMorphs()}}}var g0=(Z,X,Q)=>{if(!Q)return X();Q.path.push(Z);let U=X();return Q.path.pop(),U};var R1=R(()=>{b();m4();V0()});var p4,u4,A3=(Z,X)=>`${Z} had no references matching ${g(X)}.`,e$=(Z)=>y1(Z,{stringifyNonKey:(X)=>X.expression}),ZW,XW=(Z)=>JSON.stringify(Z).replace(ZW,"$1"),W1=(Z,X)=>({path:Z,node:X,propString:e$(Z)}),S3=(Z,X)=>Z.propString===X.propString&&Z.node.equals(X.node),c8=(Z,X)=>F1(Z,X,{isEqual:S3}),QW=(Z,X)=>F1(Z,X,{isEqual:(Q,U)=>Q.equals(U)});var D2=R(()=>{b();a();s();R1();V0();p4=class p4 extends y0{attachments;$;onFail;includesTransform;includesContextualPredicate;isCyclic;allowsRequiresContext;rootApplyStrategy;contextFreeMorph;rootApply;referencesById;shallowReferences;flatRefs;flatMorphs;allows;get shallowMorphs(){return[]}constructor(Z,X){super((U,J,$=this.onFail)=>{if(J)return this.traverseApply(U,J),J.hasError()?J.errors:J.data;return this.rootApply(U,$)},{attach:Z});this.attachments=Z,this.$=X,this.onFail=this.meta.onFail??this.$.resolvedConfig.onFail,this.includesTransform=this.hasKind("morph")||this.hasKind("structure")&&this.structuralMorph!==void 0||this.hasKind("sequence")&&this.inner.defaultables!==void 0,this.includesContextualPredicate=this.hasKind("predicate")&&this.inner.predicate.length!==1,this.isCyclic=this.kind==="alias",this.referencesById={[this.id]:this},this.shallowReferences=this.hasKind("structure")?[this,...this.children]:this.children.reduce((U,J)=>QW(U,J.shallowReferences),[this]);let Q=this.isStructural();this.flatRefs=[],this.flatMorphs=[];for(let U=0;U<this.children.length;U++){if(this.includesTransform||=this.children[U].includesTransform,this.includesContextualPredicate||=this.children[U].includesContextualPredicate,this.isCyclic||=this.children[U].isCyclic,!Q){let J=this.children[U].flatRefs;for(let $=0;$<J.length;$++){let W=J[$];if(!this.flatRefs.some((Y)=>S3(Y,W))){this.flatRefs.push(W);for(let Y of W.node.branches)if(Y.hasKind("morph")||Y.hasKind("intersection")&&Y.structure?.structuralMorph!==void 0)this.flatMorphs.push({path:W.path,propString:W.propString,node:Y})}}}Object.assign(this.referencesById,this.children[U].referencesById)}this.flatRefs.sort((U,J)=>U.path.length>J.path.length?1:U.path.length<J.path.length?-1:U.propString>J.propString?1:U.propString<J.propString?-1:U.node.expression<J.node.expression?-1:1),this.allowsRequiresContext=this.includesContextualPredicate||this.isCyclic,this.rootApplyStrategy=!this.allowsRequiresContext&&this.flatMorphs.length===0?this.shallowMorphs.length===0?"allows":this.shallowMorphs.every((U)=>U.length===1||U.name==="$arkStructuralMorph")?this.hasKind("union")?this.branches.some((U)=>U.shallowMorphs.length>1)?"contextual":"branchedOptimistic":this.shallowMorphs.length>1?"contextual":"optimistic":"contextual":"contextual",this.rootApply=this.createRootApply(),this.allows=this.allowsRequiresContext?(U)=>this.traverseAllows(U,new $1(U,this.$.resolvedConfig)):(U)=>this.traverseAllows(U)}createRootApply(){switch(this.rootApplyStrategy){case"allows":return(X,Q)=>{if(this.allows(X))return X;let U=new $1(X,this.$.resolvedConfig);return this.traverseApply(X,U),U.finalize(Q)};case"contextual":return(X,Q)=>{let U=new $1(X,this.$.resolvedConfig);return this.traverseApply(X,U),U.finalize(Q)};case"optimistic":this.contextFreeMorph=this.shallowMorphs[0];let Z=this.$.resolvedConfig.clone;return(X,Q)=>{if(this.allows(X))return this.contextFreeMorph(Z&&(typeof X==="object"&&X!==null||typeof X==="function")?Z(X):X);let U=new $1(X,this.$.resolvedConfig);return this.traverseApply(X,U),U.finalize(Q)};case"branchedOptimistic":return this.createBranchedOptimisticRootApply();default:return this.rootApplyStrategy,i(`Unexpected rootApplyStrategy ${this.rootApplyStrategy}`)}}compiledMeta=XW(this.metaJson);cacheGetter(Z,X){return Object.defineProperty(this,Z,{value:X}),X}get description(){return this.cacheGetter("description",this.meta?.description??this.$.resolvedConfig[this.kind].description(this))}get references(){return Object.values(this.referencesById)}precedence=m2(this.kind);precompilation;assert=(Z,X)=>this(Z,X,(Q)=>Q.throw());traverse(Z,X){return this(Z,X,null)}get in(){return this.cacheGetter("in",this.rawIn.isRoot()?this.$.finalize(this.rawIn):this.rawIn)}get rawIn(){return this.cacheGetter("rawIn",this.getIo("in"))}get out(){return this.cacheGetter("out",this.rawOut.isRoot()?this.$.finalize(this.rawOut):this.rawOut)}get rawOut(){return this.cacheGetter("rawOut",this.getIo("out"))}getIo(Z){if(!this.includesTransform)return this;let X={};for(let[Q,U]of this.innerEntries){let J=this.impl.keys[Q];if(J.reduceIo)J.reduceIo(Z,X,U);else if(J.child){let $=U;X[Q]=Z0($)?$.map((W)=>Z==="in"?W.rawIn:W.rawOut):Z==="in"?$.rawIn:$.rawOut}else X[Q]=U}return this.$.node(this.kind,X)}toJSON(){return this.json}toString(){return`Type<${this.expression}>`}equals(Z){let X=Q0(Z)?Z:this.$.parseDefinition(Z);return this.innerHash===X.innerHash}ifEquals(Z){return this.equals(Z)?this:void 0}hasKind(Z){return this.kind===Z}assertHasKind(Z){if(this.kind!==Z)F2(`${this.kind} node was not of asserted kind ${Z}`);return this}hasKindIn(...Z){return Z.includes(this.kind)}assertHasKindIn(...Z){if(!d0(Z,this.kind))F2(`${this.kind} node was not one of asserted kinds ${Z}`);return this}isBasis(){return d0(O3,this.kind)}isConstraint(){return d0(o6,this.kind)}isStructural(){return d0(v2,this.kind)}isRefinement(){return d0(p8,this.kind)}isRoot(){return d0(x2,this.kind)}isUnknown(){return this.hasKind("intersection")&&this.children.length===0}isNever(){return this.hasKind("union")&&this.children.length===0}hasUnit(Z){return this.hasKind("unit")&&this.allows(Z)}hasOpenIntersection(){return this.impl.intersectionIsOpen}get nestableExpression(){return this.expression}select(Z){let X=u4.normalize(Z);return this._select(X)}_select(Z){let X=u4.applyBoundary[Z.boundary??"references"](this);if(Z.kind)X=X.filter((Q)=>Q.kind===Z.kind);if(Z.where)X=X.filter(Z.where);return u4.applyMethod[Z.method??"filter"](X,this,Z)}transform(Z,X){return this._transform(Z,this._createTransformContext(X))}_createTransformContext(Z){return{root:this,selected:void 0,seen:{},path:[],parseOptions:{prereduced:Z?.prereduced??!1},undeclaredKeyHandling:void 0,...Z}}_transform(Z,X){let Q=X.bindScope??this.$;if(X.seen[this.id])return this.$.lazilyResolve(X.seen[this.id]);if(X.shouldTransform?.(this,X)===!1)return this;let U;if(X.seen[this.id]=()=>U,this.hasKind("structure")&&this.undeclared!==X.undeclaredKeyHandling)X={...X,undeclaredKeyHandling:this.undeclared};let J=k(this.inner,(L,q)=>{if(!this.impl.keys[L].child)return[L,q];let V=q;if(!Z0(V)){let H=V._transform(Z,X);return H?[L,H]:[]}if(V.length===0)return[L,q];let _=V.flatMap((H)=>{return H._transform(Z,X)??[]});return _.length?[L,_]:[]});delete X.seen[this.id];let $=Object.assign(J,{meta:this.meta}),W=X.selected&&!X.selected.includes(this)?$:Z(this.kind,$,X);if(W===null)return null;if(Q0(W))return U=W;let Y=Object.keys(W);if((Y.length===0||Y.length===1&&Y[0]==="meta")&&!M1(this.inner))return null;if((this.kind==="required"||this.kind==="optional"||this.kind==="index")&&!("value"in W))return X.undeclaredKeyHandling?{...W,value:T.intrinsic.unknown}:null;if(this.kind==="morph")W.in??=T.intrinsic.unknown;return U=Q.node(this.kind,W,X.parseOptions)}configureReferences(Z,X="references"){let Q=u4.normalize(X),U=typeof Z==="string"?(Y,G)=>({...G,meta:{...G.meta,description:Z}}):typeof Z==="function"?(Y,G)=>({...G,meta:Z(G.meta)}):(Y,G)=>({...G,meta:{...G.meta,...Z}});if(Q.boundary==="self")return this.$.node(this.kind,U(this.kind,{...this.inner,meta:this.meta}));let J=this._select(Q),$=J&&c1(J),W=Q.boundary==="child"?(Y,G)=>G.root.children.includes(Y):Q.boundary==="shallow"?(Y)=>Y.kind!=="structure":()=>!0;return this.$.finalize(this.transform(U,{shouldTransform:W,selected:$}))}};u4={applyBoundary:{self:(Z)=>[Z],child:(Z)=>[...Z.children],shallow:(Z)=>[...Z.shallowReferences],references:(Z)=>[...Z.references]},applyMethod:{filter:(Z)=>Z,assertFilter:(Z,X,Q)=>{if(Z.length===0)F2(A3(X,Q));return Z},find:(Z)=>Z[0],assertFind:(Z,X,Q)=>{if(Z.length===0)F2(A3(X,Q));return Z[0]}},normalize:(Z)=>typeof Z==="function"?{boundary:"references",method:"filter",where:Z}:typeof Z==="string"?F0(Z,u4.applyBoundary)?{method:"filter",boundary:Z}:{boundary:"references",method:"filter",kind:Z}:{boundary:"references",method:"filter",...Z}},ZW=/"(\$ark\.[^"]+)"/g});var j,j3=(Z,X)=>`${i8(Z)} and ${i8(X)}`,i8=(Z)=>Q0(Z)?Z.expression:Z0(Z)?Z.map(i8).join(" | ")||"never":String(Z),s8=(Z)=>`${Z} results in an unsatisfiable type`;var G0=R(()=>{b();s();V0();j=class j extends Array{static init(Z,X,Q,U){return new j({kind:Z,l:X,r:Q,path:U?.path??[],optional:U?.optional??!1})}add(Z,X,Q,U){return this.push({kind:Z,l:X,r:Q,path:U?.path??[],optional:U?.optional??!1}),this}get summary(){return this.describeReasons()}describeReasons(){if(this.length===1){let{path:Z,l:X,r:Q}=this[0],U=y1(Z);return s8(`Intersection${U&&` at ${U}`} of ${j3(X,Q)}`)}return`The following intersections result in unsatisfiable types:
|
|
21
|
+
• ${this.map(({path:Z,l:X,r:Q})=>`${Z}: ${j3(X,Q)}`).join(`
|
|
22
|
+
• `)}`}throw(){return M(this.describeReasons())}invert(){let Z=this.map((X)=>({...X,l:X.r,r:X.l}));if(!(Z instanceof j))return new j(...Z);return Z}withPrefixKey(Z,X){return this.map((Q)=>({...Q,path:[Z,...Q.path],optional:Q.optional||X==="optional"}))}toNeverIfDisjoint(){return T.intrinsic.never}}});var p2,v0=(Z,X,Q)=>U0(Z,X,{$:Q,invert:!1,pipe:!1}),l4=(Z,X,Q)=>U0(Z,X,{$:Q,invert:!1,pipe:!0}),U0=(Z,X,Q)=>{let U=Q.pipe?"|>":"&",J=`${Z.hash}${U}${X.hash}`;if(p2[J]!==void 0)return p2[J];if(!Q.pipe){let Y=`${X.hash}${U}${Z.hash}`;if(p2[Y]!==void 0){let G=p2[Y],L=G instanceof j?G.invert():G;return p2[J]=L,L}}let $=!Q.pipe||!Z.includesTransform&&!X.includesTransform;if($&&Z.equals(X))return Z;let W=$?r8(Z,X,Q):Z.hasKindIn(...x2)?UW(Z,X,Q):r8(Z,X,Q);if(Q0(W)){if(Z.equals(W))W=Z;else if(X.equals(W))W=X}return p2[J]=W,W},r8=(Z,X,Q)=>{let U=Z.precedence<X.precedence?Z.kind:X.kind,J=Z.impl.intersections[X.kind]??X.impl.intersections[Z.kind];if(J===void 0)return null;else if(U===Z.kind)return J(Z,X,Q);else{let $=J(X,Z,{...Q,invert:!Q.invert});if($ instanceof j)$=$.invert();return $}},UW=(Z,X,Q)=>Z.includesTransform||X.includesTransform?Q.invert?C3(X,Z,Q):C3(Z,X,Q):r8(Z,X,Q),C3=(Z,X,Q)=>Z.distribute((U)=>JW(U,X,Q),(U)=>{let J=U.filter(Q0);if(J.length===0)return j.init("union",Z.branches,X.branches);if(J.length<Z.branches.length||!Z.branches.every((Y,G)=>Y.rawIn.equals(J[G].rawIn)))return Q.$.parseSchema(J);let $;if(J.length===1){let Y=J[0];if(!$)return Y;return Q.$.node("morph",{...Y.inner,in:Y.rawIn.configure($,"self")})}let W={branches:J};if($)W.meta=$;return Q.$.parseSchema(W)}),JW=(Z,X,Q)=>{if(Z.hasKind("morph")){let J=[...Z.morphs];if(Z.lastMorphIfNode){let $=U0(Z.lastMorphIfNode,X,Q);if($ instanceof j)return $;J[J.length-1]=$}else J.push(X);return Q.$.node("morph",{morphs:J,in:Z.inner.in})}if(X.hasKind("morph")){let J=U0(Z,X.rawIn,Q);if(J instanceof j)return J;return Q.$.node("morph",{morphs:[X],in:J})}return Q.$.node("morph",{morphs:[X],in:Z})};var i0=R(()=>{G0();a();V0();p2={}});var s0,k1,w0=(Z)=>(X,Q)=>{if(Z0(X)){if(X.length===0)return;let J=X.map(($)=>Q.$.node(Z,$));if(Z==="predicate")return J;return J.sort(($,W)=>$.hash<W.hash?-1:1)}let U=Q.$.node(Z,X);return U.hasOpenIntersection()?[U]:U},l2=(Z)=>{let X=Z.r.shift();if(!X){let U=Z.l.length===0&&Z.kind==="structure"?T.intrinsic.unknown.internal:Z.ctx.$.node(Z.kind,Object.assign(Z.baseInner,$W(Z.l)),{prereduced:!0});for(let J of Z.roots){if(U instanceof j)return U;U=U0(J,U,Z.ctx)}return U}let Q=!1;for(let U=0;U<Z.l.length;U++){let J=U0(Z.l[U],X,Z.ctx);if(J===null)continue;if(J instanceof j)return J;if(J.isRoot())return Z.roots.push(J),Z.l.splice(U),l2(Z);if(!Q)Z.l[U]=J,Q=!0;else if(!Z.l.includes(J))return i(`Unexpectedly encountered multiple distinct intersection results for refinement ${X}`)}if(!Q)Z.l.push(X);if(Z.kind==="intersection"){if(X.impliedSiblings)for(let U of X.impliedSiblings)F1(Z.r,U)}return l2(Z)},d2=(Z)=>{return Object.entries(Z).flatMap(([Q,U])=>(Q in n6)?U:[]).sort((Q,U)=>Q.precedence<U.precedence?-1:Q.precedence>U.precedence?1:Q.kind==="predicate"&&U.kind==="predicate"?0:Q.hash<U.hash?-1:1)},$W=(Z)=>{let X={};for(let Q of Z)if(Q.hasOpenIntersection())X[Q.kind]=u(X[Q.kind],Q);else{if(X[Q.kind])return i(`Unexpected intersection of closed refinements of kind ${Q.kind}`);X[Q.kind]=Q}return X},N3=(...Z)=>M(b3(...Z)),b3=(Z,X,Q)=>{let U=Q.hasKind("morph")?"a morph":Q.isUnknown()?"unknown":Q.exclude(X).defaultShortDescription;return`${n7(Z)} operand must be ${X.description} (was ${U})`};var m0=R(()=>{b();D2();G0();a();i0();s();V0();s0=class s0 extends p4{constructor(Z,X){super(Z,X);Object.defineProperty(this,S0,{value:"constraint",enumerable:!1})}impliedSiblings;intersect(Z){return v0(this,Z,this.$)}};k1=class k1 extends s0{traverseApply=(Z,X)=>{if(!this.traverseAllows(Z,X))X.errorFromNodeContext(this.errorContext)};compile(Z){if(Z.traversalKind==="Allows")Z.return(this.compiledCondition);else Z.if(this.compiledNegation,()=>Z.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return o1(this.errorContext)}}});var E3=(Z,X,Q)=>new e1(Z,X,Q,Q,null),e6,e1,WW=(Z,X,Q)=>`${Z} must be assignable to ${X} (was ${Q})`;var a8=R(()=>{b();s();V0();e6=class e6 extends y0{};e1=class e1 extends y0{[S0]="generic";paramDefs;bodyDef;$;arg$;baseInstantiation;hkt;description;constructor(Z,X,Q,U,J){super((...$)=>{let W=k(this.names,(Y,G)=>{let L=this.arg$.parse($[Y]);if(!L.extends(this.constraints[Y]))M(WW(G,this.constraints[Y].expression,L.expression));return[G,L]});if(this.defIsLazy()){let Y=this.bodyDef(W);return this.$.parse(Y)}return this.$.parse(X,{args:W})});this.paramDefs=Z,this.bodyDef=X,this.$=Q,this.arg$=U,this.hkt=J,this.description=J?new J().description??`a generic type for ${J.constructor.name}`:"a generic type",this.baseInstantiation=this(...this.constraints)}defIsLazy(){return this.bodyDef instanceof e6}cacheGetter(Z,X){return Object.defineProperty(this,Z,{value:X}),X}get json(){return this.cacheGetter("json",{params:this.params.map((Z)=>Z[1].isUnknown()?Z[0]:[Z[0],Z[1].json]),body:q3(this.bodyDef)})}get params(){return this.cacheGetter("params",this.paramDefs.map((Z)=>typeof Z==="string"?[Z,T.intrinsic.unknown]:[Z[0],this.$.parse(Z[1])]))}get names(){return this.cacheGetter("names",this.params.map((Z)=>Z[0]))}get constraints(){return this.cacheGetter("constraints",this.params.map((Z)=>Z[1]))}get internal(){return this}get referencesById(){return this.baseInstantiation.internal.referencesById}get references(){return this.baseInstantiation.internal.references}}});var YW,f3,o8;var n8=R(()=>{m0();a();s();YW=v({kind:"predicate",hasAssociatedError:!0,collapsibleKey:"predicate",keys:{predicate:{}},normalize:(Z)=>typeof Z==="function"?{predicate:Z}:Z,defaults:{description:(Z)=>`valid according to ${Z.predicate.name||"an anonymous predicate"}`},intersectionIsOpen:!0,intersections:{predicate:()=>null}});f3=class f3 extends s0{serializedPredicate=W0(this.predicate);compiledCondition=`${this.serializedPredicate}(data, ctx)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=null;expression=this.serializedPredicate;traverseAllows=this.predicate;errorContext={code:"predicate",description:this.description,meta:this.meta};compiledErrorContext=o1(this.errorContext);traverseApply=(Z,X)=>{let Q=X.currentErrorCount;if(!this.predicate(Z,X.external)&&X.currentErrorCount===Q)X.errorFromNodeContext(this.errorContext)};compile(Z){if(Z.traversalKind==="Allows"){Z.return(this.compiledCondition);return}Z.initializeErrorCount(),Z.if(`${this.compiledNegation} && ctx.currentErrorCount === errorCount`,()=>Z.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}reduceJsonSchema(Z,X){return X.fallback.predicate({code:"predicate",base:Z,predicate:this.predicate})}};o8={implementation:YW,Node:f3}});var GW,I3,t8,LW=(Z)=>`divisor must be an integer (was ${Z})`,qW=(Z,X)=>{let Q,U=Z,J=X;while(J!==0)Q=J,J=U%J,U=Q;return U};var e8=R(()=>{b();m0();a();s();GW=v({kind:"divisor",collapsibleKey:"rule",keys:{rule:{parse:(Z)=>Number.isInteger(Z)?Z:M(LW(Z))}},normalize:(Z)=>typeof Z==="number"?{rule:Z}:Z,hasAssociatedError:!0,defaults:{description:(Z)=>Z.rule===1?"an integer":Z.rule===2?"even":`a multiple of ${Z.rule}`},intersections:{divisor:(Z,X,Q)=>Q.$.node("divisor",{rule:Math.abs(Z.rule*X.rule/qW(Z.rule,X.rule))})},obviatesBasisDescription:!0});I3=class I3 extends k1{traverseAllows=(Z)=>Z%this.rule===0;compiledCondition=`data % ${this.rule} === 0`;compiledNegation=`data % ${this.rule} !== 0`;impliedBasis=T.intrinsic.number.internal;expression=`% ${this.rule}`;reduceJsonSchema(Z){if(Z.type="integer",this.rule===1)return Z;return Z.multipleOf=this.rule,Z}};t8={implementation:GW,Node:I3}});var u0,VW,_W,Z9,X9=(Z)=>(X)=>{if(typeof X==="number")return{rule:X};let{exclusive:Q,...U}=X;return Q?{...U,rule:Z==="minLength"?U.rule+1:U.rule-1}:U},Q9=(Z)=>(X)=>{if(typeof X==="number"||typeof X==="string"||X instanceof Date)return{rule:X};let{exclusive:Q,...U}=X;if(!Q)return U;let J=typeof U.rule==="number"?U.rule:typeof U.rule==="string"?new Date(U.rule).valueOf():U.rule.valueOf();return Q?{...U,rule:Z==="after"?J+1:J-1}:U},U9=(Z)=>typeof Z==="string"||typeof Z==="number"?new Date(Z):Z,zW=(Z,X)=>`${Z} bound must be a positive integer (was ${X})`,c2=(Z)=>(X)=>{if(!Number.isInteger(X)||X<0)M(zW(Z,X));return X},HW,FW=(Z,X)=>`${F0(Z,_W)?">":"<"}${X?"":"="}`,BW=(Z)=>typeof Z==="string"?Z:new Date(Z).toLocaleString(),y3=(Z)=>`Bounded expression ${Z} must be exactly one of number, string, Array, or Date`;var g1=R(()=>{b();m0();u0=class u0 extends k1{boundOperandKind=HW[this.kind];compiledActual=this.boundOperandKind==="value"?"data":this.boundOperandKind==="length"?"data.length":"data.valueOf()";comparator=FW(this.kind,this.exclusive);numericLimit=this.rule.valueOf();expression=`${this.comparator} ${this.rule}`;compiledCondition=`${this.compiledActual} ${this.comparator} ${this.numericLimit}`;compiledNegation=`${this.compiledActual} ${VW[this.comparator]} ${this.numericLimit}`;stringLimit=this.boundOperandKind==="date"?BW(this.numericLimit):`${this.numericLimit}`;limitKind=this.comparator["0"]==="<"?"upper":"lower";isStricterThan(Z){return(this.limitKind==="upper"?this.numericLimit<Z.numericLimit:this.numericLimit>Z.numericLimit)||this.numericLimit===Z.numericLimit&&this.exclusive===!0&&!Z.exclusive}overlapsRange(Z){if(this.isStricterThan(Z))return!1;if(this.numericLimit===Z.numericLimit&&(this.exclusive||Z.exclusive))return!1;return!0}overlapIsUnit(Z){return this.numericLimit===Z.numericLimit&&!this.exclusive&&!Z.exclusive}};VW={"<":">=","<=":">",">":"<=",">=":"<"},_W={min:"max",minLength:"maxLength",after:"before"},Z9={parse:(Z)=>Z||void 0},HW={min:"value",max:"value",minLength:"length",maxLength:"length",after:"date",before:"date"}});var MW,k3,ZZ;var XZ=R(()=>{b();a();s();g1();MW=v({kind:"after",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:U9,serialize:(Z)=>Z.toISOString()}},normalize:Q9("after"),defaults:{description:(Z)=>`${Z.collapsibleLimitString} or later`,actual:K2},intersections:{after:(Z,X)=>Z.isStricterThan(X)?Z:X}});k3=class k3 extends u0{impliedBasis=T.intrinsic.Date.internal;collapsibleLimitString=K2(this.rule);traverseAllows=(Z)=>Z>=this.rule;reduceJsonSchema(Z,X){return X.fallback.date({code:"date",base:Z,after:this.rule})}};ZZ={implementation:MW,Node:k3}});var RW,g3,QZ;var UZ=R(()=>{b();G0();a();s();g1();RW=v({kind:"before",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:U9,serialize:(Z)=>Z.toISOString()}},normalize:Q9("before"),defaults:{description:(Z)=>`${Z.collapsibleLimitString} or earlier`,actual:K2},intersections:{before:(Z,X)=>Z.isStricterThan(X)?Z:X,after:(Z,X,Q)=>Z.overlapsRange(X)?Z.overlapIsUnit(X)?Q.$.node("unit",{unit:Z.rule}):null:j.init("range",Z,X)}});g3=class g3 extends u0{collapsibleLimitString=K2(this.rule);traverseAllows=(Z)=>Z<=this.rule;impliedBasis=T.intrinsic.Date.internal;reduceJsonSchema(Z,X){return X.fallback.date({code:"date",base:Z,before:this.rule})}};QZ={implementation:RW,Node:g3}});var OW,v3,JZ;var $Z=R(()=>{m0();G0();a();s();n1();g1();OW=v({kind:"exactLength",collapsibleKey:"rule",keys:{rule:{parse:c2("exactLength")}},normalize:(Z)=>typeof Z==="number"?{rule:Z}:Z,hasAssociatedError:!0,defaults:{description:(Z)=>`exactly length ${Z.rule}`,actual:(Z)=>`${Z.length}`},intersections:{exactLength:(Z,X,Q)=>j.init("unit",Q.$.node("unit",{unit:Z.rule}),Q.$.node("unit",{unit:X.rule}),{path:["length"]}),minLength:(Z,X)=>Z.rule>=X.rule?Z:j.init("range",Z,X),maxLength:(Z,X)=>Z.rule<=X.rule?Z:j.init("range",Z,X)}});v3=class v3 extends k1{traverseAllows=(Z)=>Z.length===this.rule;compiledCondition=`data.length === ${this.rule}`;compiledNegation=`data.length !== ${this.rule}`;impliedBasis=T.intrinsic.lengthBoundable.internal;expression=`== ${this.rule}`;reduceJsonSchema(Z){switch(Z.type){case"string":return Z.minLength=this.rule,Z.maxLength=this.rule,Z;case"array":return Z.minItems=this.rule,Z.maxItems=this.rule,Z;default:return J0.throwInternalOperandError("exactLength",Z)}}};JZ={implementation:OW,Node:v3}});var TW,x3,WZ;var YZ=R(()=>{G0();a();s();g1();TW=v({kind:"max",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:Z9},normalize:(Z)=>typeof Z==="number"?{rule:Z}:Z,defaults:{description:(Z)=>{if(Z.rule===0)return Z.exclusive?"negative":"non-positive";return`${Z.exclusive?"less than":"at most"} ${Z.rule}`}},intersections:{max:(Z,X)=>Z.isStricterThan(X)?Z:X,min:(Z,X,Q)=>Z.overlapsRange(X)?Z.overlapIsUnit(X)?Q.$.node("unit",{unit:Z.rule}):null:j.init("range",Z,X)},obviatesBasisDescription:!0});x3=class x3 extends u0{impliedBasis=T.intrinsic.number.internal;traverseAllows=this.exclusive?(Z)=>Z<this.rule:(Z)=>Z<=this.rule;reduceJsonSchema(Z){if(this.exclusive)Z.exclusiveMaximum=this.rule;else Z.maximum=this.rule;return Z}};WZ={implementation:TW,Node:x3}});var KW,h3,GZ;var LZ=R(()=>{G0();a();s();n1();g1();KW=v({kind:"maxLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:c2("maxLength")}},reduce:(Z,X)=>Z.rule===0?X.node("exactLength",Z):void 0,normalize:X9("maxLength"),defaults:{description:(Z)=>`at most length ${Z.rule}`,actual:(Z)=>`${Z.length}`},intersections:{maxLength:(Z,X)=>Z.isStricterThan(X)?Z:X,minLength:(Z,X,Q)=>Z.overlapsRange(X)?Z.overlapIsUnit(X)?Q.$.node("exactLength",{rule:Z.rule}):null:j.init("range",Z,X)}});h3=class h3 extends u0{impliedBasis=T.intrinsic.lengthBoundable.internal;traverseAllows=(Z)=>Z.length<=this.rule;reduceJsonSchema(Z){switch(Z.type){case"string":return Z.maxLength=this.rule,Z;case"array":return Z.maxItems=this.rule,Z;default:return J0.throwInternalOperandError("maxLength",Z)}}};GZ={implementation:KW,Node:h3}});var DW,m3,qZ;var VZ=R(()=>{a();s();g1();DW=v({kind:"min",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:Z9},normalize:(Z)=>typeof Z==="number"?{rule:Z}:Z,defaults:{description:(Z)=>{if(Z.rule===0)return Z.exclusive?"positive":"non-negative";return`${Z.exclusive?"more than":"at least"} ${Z.rule}`}},intersections:{min:(Z,X)=>Z.isStricterThan(X)?Z:X},obviatesBasisDescription:!0});m3=class m3 extends u0{impliedBasis=T.intrinsic.number.internal;traverseAllows=this.exclusive?(Z)=>Z>this.rule:(Z)=>Z>=this.rule;reduceJsonSchema(Z){if(this.exclusive)Z.exclusiveMinimum=this.rule;else Z.minimum=this.rule;return Z}};qZ={implementation:DW,Node:m3}});var wW,u3,_Z;var zZ=R(()=>{a();s();n1();g1();wW=v({kind:"minLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:c2("minLength")}},reduce:(Z)=>Z.rule===0?T.intrinsic.unknown:void 0,normalize:X9("minLength"),defaults:{description:(Z)=>Z.rule===1?"non-empty":`at least length ${Z.rule}`,actual:(Z)=>Z.length===0?"":`${Z.length}`},intersections:{minLength:(Z,X)=>Z.isStricterThan(X)?Z:X}});u3=class u3 extends u0{impliedBasis=T.intrinsic.lengthBoundable.internal;traverseAllows=(Z)=>Z.length>=this.rule;reduceJsonSchema(Z){switch(Z.type){case"string":return Z.minLength=this.rule,Z;case"array":return Z.minItems=this.rule,Z;default:return J0.throwInternalOperandError("minLength",Z)}}};_Z={implementation:wW,Node:u3}});var p3,l3;var HZ=R(()=>{XZ();UZ();$Z();YZ();LZ();VZ();zZ();p3={min:qZ.implementation,max:WZ.implementation,minLength:_Z.implementation,maxLength:GZ.implementation,exactLength:JZ.implementation,after:ZZ.implementation,before:QZ.implementation},l3={min:qZ.Node,max:WZ.Node,minLength:_Z.Node,maxLength:GZ.Node,exactLength:JZ.Node,after:ZZ.Node,before:QZ.Node}});var PW,d3,FZ;var BZ=R(()=>{m0();a();s();PW=v({kind:"pattern",collapsibleKey:"rule",keys:{rule:{},flags:{}},normalize:(Z)=>typeof Z==="string"?{rule:Z}:Z instanceof RegExp?Z.flags?{rule:Z.source,flags:Z.flags}:{rule:Z.source}:Z,obviatesBasisDescription:!0,obviatesBasisExpression:!0,hasAssociatedError:!0,intersectionIsOpen:!0,defaults:{description:(Z)=>`matched by ${Z.rule}`},intersections:{pattern:()=>null}});d3=class d3 extends k1{instance=new RegExp(this.rule,this.flags);expression=`${this.instance}`;traverseAllows=this.instance.test.bind(this.instance);compiledCondition=`${this.expression}.test(data)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=T.intrinsic.string.internal;reduceJsonSchema(Z,X){if(Z.pattern)return X.fallback.patternIntersection({code:"patternIntersection",base:Z,pattern:this.rule});return Z.pattern=this.rule,Z}};FZ={implementation:PW,Node:d3}});var d4=(Z,X)=>{let Q=AW(Z);if(X&&!X.includes(Q))return M(`Root of kind ${Q} should be one of ${X}`);return Q},AW=(Z)=>{if(E(Z,"root"))return Z.kind;if(typeof Z==="string")return Z[0]==="$"?"alias":(Z in f0)?"domain":"proto";if(typeof Z==="function")return"proto";if(typeof Z!=="object"||Z===null)return M(c3(Z));if("morphs"in Z)return"morph";if("branches"in Z||Z0(Z))return"union";if("unit"in Z)return"unit";if("reference"in Z)return"alias";let X=Object.keys(Z);if(X.length===0||X.some((Q)=>(Q in n6)))return"intersection";if("proto"in Z)return"proto";if("domain"in Z)return"domain";return M(c3(Z))},c3=(Z)=>`${g(Z)} is not a valid type schema`,i3,SW=(Z)=>Z0(Z)?Z.map((X)=>X.collapsibleJson):Z.collapsibleJson,j0,MZ=(Z)=>{return i3[Z]??=0,`${Z}${++i3[Z]}`},RZ=(Z)=>{let X=i2[Z.kind],Q=X.applyConfig?.(Z.def,Z.$.resolvedConfig)??Z.def,U={},{meta:J,...$}=Q,W=J===void 0?{}:typeof J==="string"?{description:J}:J,Y=j8($).sort(([L],[q])=>h2(L)?h2(q)?m2(L)-m2(q):1:h2(q)?-1:L<q?-1:1).filter(([L,q])=>{if(L.startsWith("meta.")){let V=L.slice(5);return W[V]=q,!1}return!0});for(let L of Y){let q=L[0],V=X.keys[q];if(!V)return M(`Key ${q} is not valid on ${Z.kind} schema`);let _=V.parse?V.parse(L[1],Z):L[1];if(_!==I0&&(_!==void 0||V.preserveUndefined))U[q]=_}if(X.reduce&&!Z.prereduced){let L=X.reduce(U,Z.$);if(L){if(L instanceof j)return L.throw();return jW(L,W)}}return OZ({id:Z.id,kind:Z.kind,inner:U,meta:W,$:Z.$})},OZ=({id:Z,kind:X,inner:Q,meta:U,$:J,ignoreCache:$})=>{let W=i2[X],Y=j8(Q),G=[],L={};for(let[K,w]of Y){let P=W.keys[K],O=P.serialize??(P.child?SW:c0);if(L[K]=O(w),P.child===!0){let S=w;if(Z0(S))G.push(...S);else G.push(S)}else if(typeof P.child==="function")G.push(...P.child(w))}if(W.finalizeInnerJson)L=W.finalizeInnerJson(L);let q={...L},V={};if(!M1(U))V=k(U,(K,w)=>[K,K==="examples"?w:c0(w)]),q.meta=J9(V,"description",!0);L=J9(L,W.collapsibleKey,!1);let _=JSON.stringify({kind:X,...L});q=J9(q,W.collapsibleKey,!1);let H=J9(q,W.collapsibleKey,!0),F=JSON.stringify({kind:X,...q});if(J.nodesByHash[F]&&!$)return J.nodesByHash[F];let z={id:Z,kind:X,impl:W,inner:Q,innerEntries:Y,innerJson:L,innerHash:_,meta:U,metaJson:V,json:q,hash:F,collapsibleJson:H,children:G};if(X!=="intersection"){for(let K in Q)if(K!=="in"&&K!=="out")z[K]=Q[K]}let B=new r3[X](z,J);return J.nodesByHash[F]=B},s3=(Z,X)=>{if(Z.id===X)return Z;if(Q0(j0[X]))i(`Unexpected attempt to overwrite node id ${X}`);return OZ({id:X,kind:Z.kind,inner:Z.inner,meta:Z.meta,$:Z.$,ignoreCache:!0})},jW=(Z,X,Q)=>{if(Q&&Q0(j0[Q]))i(`Unexpected attempt to overwrite node id ${Q}`);return OZ({id:Q??MZ(X.alias??Z.kind),kind:Z.kind,inner:Z.inner,meta:X,$:Z.$})},J9=(Z,X,Q)=>{let U=Object.keys(Z);if(U.length===1&&U[0]===X){let J=Z[X];if(Q)return J;if(E0(J,"object")&&(Object.keys(J).length===1||Array.isArray(J)))return J}return Z};var $9=R(()=>{b();W9();G0();a();s();V0();i3={},j0={};T.nodesByRegisteredId=j0});var c4=(Z,X,Q)=>{if(Z.key!==X.key)return null;let U=Z.key,J=U0(Z.value,X.value,Q),$=Z.required||X.required?"required":"optional";if(J instanceof j)if($==="optional")J=T.intrinsic.never.internal;else return J.withPrefixKey(Z.key,Z.required&&X.required?"required":"optional");if($==="required")return Q.$.node("required",{key:U,value:J});let W=Z.hasDefault()?X.hasDefault()?Z.default===X.default?Z.default:M(TZ(Z.default,X.default)):Z.default:X.hasDefault()?X.default:I0;return Q.$.node("optional",{key:U,value:J,default:W})},i4,TZ=(Z,X)=>`Invalid intersection of default values ${g(Z)} & ${g(X)}`;var s4=R(()=>{b();m0();D2();a1();G0();i0();s();R1();i4=class i4 extends s0{required=this.kind==="required";optional=this.kind==="optional";impliedBasis=T.intrinsic.object.internal;serializedKey=J1(this.key);compiledKey=typeof this.key==="string"?this.key:this.serializedKey;flatRefs=u(this.value.flatRefs.map((Z)=>W1([this.key,...Z.path],Z.node)),W1([this.key],this.value));_transform(Z,X){X.path.push(this.key);let Q=super._transform(Z,X);return X.path.pop(),Q}hasDefault(){return"default"in this.inner}traverseAllows=(Z,X)=>{if(this.key in Z)return g0(this.key,()=>this.value.traverseAllows(Z[this.key],X),X);return this.optional};traverseApply=(Z,X)=>{if(this.key in Z)g0(this.key,()=>this.value.traverseApply(Z[this.key],X),X);else if(this.hasKind("required"))X.errorFromNodeContext(this.errorContext)};compile(Z){if(Z.if(`${this.serializedKey} in data`,()=>Z.traverseKey(this.serializedKey,`data${Z.prop(this.key)}`,this.value)),this.hasKind("required"))Z.else(()=>Z.traversalKind==="Apply"?Z.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`):Z.return(!1));if(Z.traversalKind==="Allows")Z.return(!0)}}});var CW,a3,r4,NW,bW=(Z)=>{if(!Z.hasDefault())return;let X=`{${Z.compiledKey}: ${Z.value.id} = ${c0(Z.default)}}`;return NW[X]??=KZ(Z.key,Z.value,Z.default)},KZ=(Z,X,Q)=>{if(typeof Q==="function")return X.includesTransform?(J,$)=>{return g0(Z,()=>X(J[Z]=Q(),$),$),J}:(J)=>{return J[Z]=Q(),J};let U=X.includesTransform?X.assert(Q):Q;return E0(U,"object")?(J,$)=>{return g0(Z,()=>X(J[Z]=Q,$),$),J}:(J)=>{return J[Z]=U,J}},a4=(Z,X,Q)=>{let U=i1(X);if(E0(X,"object")&&!U)M(EW(Q));let J=Z.in(U?X():X);if(J instanceof k0){if(Q===null)M(`Default ${J.summary}`);let $=J.transform((W)=>W.transform((Y)=>({...Y,prefixPath:[Q]})));M(`Default for ${$.summary}`)}return X},EW=(Z)=>{return`Non-primitive default ${Z===null?"":typeof Z==="number"?`for value at [${Z}] `:`for ${J1(Z)} `}must be specified as a function like () => ({my: 'object'})`};var s2=R(()=>{b();Y9();a1();m4();a();s();R1();s4();CW=v({kind:"optional",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(Z,X)=>X.$.parseSchema(Z)},default:{preserveUndefined:!0}},normalize:(Z)=>Z,reduce:(Z,X)=>{if(X.resolvedConfig.exactOptionalPropertyTypes===!1){if(!Z.value.allows(void 0))return X.node("optional",{...Z,value:Z.value.or(I.undefined)},{prereduced:!0})}},defaults:{description:(Z)=>`${Z.compiledKey}?: ${Z.value.description}`},intersections:{optional:c4}});a3=class a3 extends i4{constructor(...Z){super(...Z);if("default"in this.inner)a4(this.value,this.inner.default,this.key)}get rawIn(){let Z=super.rawIn;if(!this.hasDefault())return Z;return this.$.node("optional",p6(Z.inner,{default:!0}),{prereduced:!0})}get outProp(){if(!this.hasDefault())return this;let{default:Z,...X}=this.inner;return this.cacheGetter("outProp",this.$.node("required",X,{prereduced:!0}))}expression=this.hasDefault()?`${this.compiledKey}: ${this.value.expression} = ${g(this.inner.default)}`:`${this.compiledKey}?: ${this.value.expression}`;defaultValueMorph=bW(this);defaultValueMorphRef=this.defaultValueMorph&&W0(this.defaultValueMorph)};r4={implementation:CW,Node:a3},NW={}});var r0,fW="Expected a non-empty brand name after #",e3,IW=(Z)=>`JSONSchema target '${Z}' is not supported (must be ${e3.map((X)=>`"${X}"`).join(" or ")})`,o3=(Z)=>{if(!d0(e3,Z))M(IW(Z));return Z},r2=(Z)=>typeof Z==="object"&&!(Z instanceof Date)?{...Z,exclusive:!0}:{rule:Z,exclusive:!0},o4=(Z,X)=>E(X,"root")?E(Z,"root")?Z.extends(X):X.allows(Z):E(Z,"root")?Z.hasUnit(X):X===Z,n3=(Z)=>{if(Z.hasKind("morph"))return null;if(Z.hasKind("intersection"))return Z.inner.structure??(Z.basis?.domain==="object"?Z.$.bindReference(T.intrinsic.emptyStructure):null);if(Z.isBasis()&&Z.domain==="object")return Z.$.bindReference(T.intrinsic.emptyStructure);return null},yW=(Z)=>`Props cannot be extracted from a union. Use .distribute to extract props from each branch instead. Received:
|
|
23
|
+
${Z}`,t3=(Z,X)=>`${Z} operand must be an object (was ${X})`;var Z2=R(()=>{b();u2();m0();D2();G0();m4();a();i0();s();V0();s2();r0=class r0 extends p4{constructor(Z,X){super(Z,X);Object.defineProperty(this,S0,{value:"root",enumerable:!1})}get rawIn(){return super.rawIn}get rawOut(){return super.rawOut}get internal(){return this}get "~standard"(){return{vendor:"arktype",version:1,validate:(Z)=>{let X=this(Z);if(X instanceof k0)return X;return{value:X}},jsonSchema:{input:(Z)=>this.rawIn.toJsonSchema({target:o3(Z.target),...Z.libraryOptions}),output:(Z)=>this.rawOut.toJsonSchema({target:o3(Z.target),...Z.libraryOptions})}}}as(){return this}brand(Z){if(Z==="")return M(fW);return this}readonly(){return this}branches=this.hasKind("union")?this.inner.branches:[this];distribute(Z,X){let Q=this.branches.map(Z);return X?.(Q)??Q}get shortDescription(){return this.meta.description??this.defaultShortDescription}toJsonSchema(Z={}){let X=l8(this.$.resolvedConfig.toJsonSchema,Z);X.useRefs||=this.isCyclic;let Q=typeof X.dialect==="string"?{$schema:X.dialect}:{};if(Object.assign(Q,this.toJsonSchemaRecurse(X)),X.useRefs){let U=k(this.references,(J,$)=>$.isRoot()&&!$.alwaysExpandJsonSchema?[$.id,$.toResolvedJsonSchema(X)]:[]);if(X.target==="draft-07")Object.assign(Q,{definitions:U});else Q.$defs=U}return Q}toJsonSchemaRecurse(Z){if(Z.useRefs&&!this.alwaysExpandJsonSchema)return{$ref:`#/${Z.target==="draft-07"?"definitions":"$defs"}/${this.id}`};return this.toResolvedJsonSchema(Z)}get alwaysExpandJsonSchema(){return this.isBasis()||this.kind==="alias"||this.hasKind("union")&&this.isBoolean}toResolvedJsonSchema(Z){let X=this.innerToJsonSchema(Z);return Object.assign(X,this.metaJson)}intersect(Z){let X=this.$.parseDefinition(Z),Q=this.rawIntersect(X);if(Q instanceof j)return Q;return this.$.finalize(Q)}rawIntersect(Z){return v0(this,Z,this.$)}toNeverIfDisjoint(){return this}and(Z){let X=this.intersect(Z);return X instanceof j?X.throw():X}rawAnd(Z){let X=this.rawIntersect(Z);return X instanceof j?X.throw():X}or(Z){let X=this.$.parseDefinition(Z);return this.$.finalize(this.rawOr(X))}rawOr(Z){let X=[...this.branches,...Z.branches];return this.$.node("union",X)}map(Z){return this.$.schema(this.applyStructuralOperation("map",[Z]))}pick(...Z){return this.$.schema(this.applyStructuralOperation("pick",Z))}omit(...Z){return this.$.schema(this.applyStructuralOperation("omit",Z))}required(){return this.$.schema(this.applyStructuralOperation("required",[]))}partial(){return this.$.schema(this.applyStructuralOperation("partial",[]))}_keyof;keyof(){if(this._keyof)return this._keyof;let Z=this.applyStructuralOperation("keyof",[]).reduce((X,Q)=>X.intersect(Q).toNeverIfDisjoint(),T.intrinsic.unknown.internal);if(Z.branches.length===0)M(s8(`keyof ${this.expression}`));return this._keyof=this.$.finalize(Z)}get props(){if(this.branches.length!==1)return M(yW(this.expression));return[...this.applyStructuralOperation("props",[])[0]]}merge(Z){let X=this.$.parseDefinition(Z);return this.$.schema(X.distribute((Q)=>this.applyStructuralOperation("merge",[n3(Q)??M(t3("merge",Q.expression))])))}applyStructuralOperation(Z,X){return this.distribute((Q)=>{if(Q.equals(T.intrinsic.object)&&Z!=="merge")return Q;let U=n3(Q);if(!U)M(t3(Z,Q.expression));if(Z==="keyof")return U.keyof();if(Z==="get")return U.get(...X);if(Z==="props")return U.props;let J=Z==="required"?"require":Z==="partial"?"optionalize":Z;return this.$.node("intersection",{domain:"object",structure:U[J](...X)})})}get(...Z){if(Z[0]===void 0)return this;return this.$.schema(this.applyStructuralOperation("get",Z))}extract(Z){let X=this.$.parseDefinition(Z);return this.$.schema(this.branches.filter((Q)=>Q.extends(X)))}exclude(Z){let X=this.$.parseDefinition(Z);return this.$.schema(this.branches.filter((Q)=>!Q.extends(X)))}array(){return this.$.schema(this.isUnknown()?{proto:Array}:{proto:Array,sequence:this},{prereduced:!0})}overlaps(Z){return!(this.intersect(Z)instanceof j)}extends(Z){if(this.isNever())return!0;let X=this.intersect(Z);return!(X instanceof j)&&this.equals(X)}ifExtends(Z){return this.extends(Z)?this:void 0}subsumes(Z){return this.$.parseDefinition(Z).extends(this)}configure(Z,X="shallow"){return this.configureReferences(Z,X)}describe(Z,X="shallow"){return this.configure({description:Z},X)}optional(){return[this,"?"]}default(Z){return a4(this,Z,null),[this,"=",Z]}from(Z){return this.assert(Z)}_pipe(...Z){let X=Z.reduce((Q,U)=>Q.rawPipeOnce(U),this);return this.$.finalize(X)}tryPipe(...Z){let X=Z.reduce((Q,U)=>Q.rawPipeOnce(E(U,"root")?U:(J,$)=>{try{return U(J,$)}catch(W){return $.error({code:"predicate",predicate:U,actual:`aborted due to error:
|
|
24
24
|
${W}
|
|
25
|
-
`})}}),this);return this.$.finalize(X)}pipe=Object.assign(this._pipe.bind(this),{try:this.tryPipe.bind(this)});to(Z){return this.$.finalize(this.toNode(this.$.parseDefinition(Z)))}toNode(Z){let X=
|
|
25
|
+
`})}}),this);return this.$.finalize(X)}pipe=Object.assign(this._pipe.bind(this),{try:this.tryPipe.bind(this)});to(Z){return this.$.finalize(this.toNode(this.$.parseDefinition(Z)))}toNode(Z){let X=l4(this,Z,this.$);if(X instanceof j)return X.throw();return X}rawPipeOnce(Z){if(E(Z,"root"))return this.toNode(Z);return this.distribute((X)=>X.hasKind("morph")?this.$.node("morph",{in:X.inner.in,morphs:[...X.morphs,Z]}):this.$.node("morph",{in:X,morphs:[Z]}),this.$.parseSchema)}narrow(Z){return this.constrainOut("predicate",Z)}constrain(Z,X){return this._constrain("root",Z,X)}constrainIn(Z,X){return this._constrain("in",Z,X)}constrainOut(Z,X){return this._constrain("out",Z,X)}_constrain(Z,X,Q){let U=this.$.node(X,Q);if(U.isRoot())return U.isUnknown()?this:i(`Unexpected constraint node ${U}`);let J=Z==="root"?this:Z==="in"?this.rawIn:this.rawOut;if(J.hasKind("morph")||U.impliedBasis&&!J.extends(U.impliedBasis))return N3(X,U.impliedBasis,this);let $=this.$.node("intersection",{[U.kind]:U}),W=Z==="out"?l4(this,$,this.$):v0(this,$,this.$);if(W instanceof j)W.throw();return this.$.finalize(W)}onUndeclaredKey(Z){let X=typeof Z==="string"?Z:Z.rule,Q=typeof Z==="string"?!1:Z.deep;return this.$.finalize(this.transform((U,J)=>U==="structure"?X==="ignore"?p6(J,{undeclared:1}):{...J,undeclared:X}:J,Q?void 0:{shouldTransform:(U)=>!d0(v2,U.kind)}))}hasEqualMorphs(Z){if(!this.includesTransform&&!Z.includesTransform)return!0;if(!f1(this.shallowMorphs,Z.shallowMorphs))return!1;if(!f1(this.flatMorphs,Z.flatMorphs,{isEqual:(X,Q)=>X.propString===Q.propString&&(X.node.hasKind("morph")&&Q.node.hasKind("morph")?X.node.hasEqualMorphs(Q.node):X.node.hasKind("intersection")&&Q.node.hasKind("intersection")?X.node.structure?.structuralMorphRef===Q.node.structure?.structuralMorphRef:!1)}))return!1;return!0}onDeepUndeclaredKey(Z){return this.onUndeclaredKey({rule:Z,deep:!0})}filter(Z){return this.constrainIn("predicate",Z)}divisibleBy(Z){return this.constrain("divisor",Z)}matching(Z){return this.constrain("pattern",Z)}atLeast(Z){return this.constrain("min",Z)}atMost(Z){return this.constrain("max",Z)}moreThan(Z){return this.constrain("min",r2(Z))}lessThan(Z){return this.constrain("max",r2(Z))}atLeastLength(Z){return this.constrain("minLength",Z)}atMostLength(Z){return this.constrain("maxLength",Z)}moreThanLength(Z){return this.constrain("minLength",r2(Z))}lessThanLength(Z){return this.constrain("maxLength",r2(Z))}exactlyLength(Z){return this.constrain("exactLength",Z)}atOrAfter(Z){return this.constrain("after",Z)}atOrBefore(Z){return this.constrain("before",Z)}laterThan(Z){return this.constrain("after",r2(Z))}earlierThan(Z){return this.constrain("before",r2(Z))}};e3=["draft-2020-12","draft-07"]});var O1=(Z,X)=>k(t6(Z),(Q,U)=>[U,X]);var a2=R(()=>{b();a()});var kW=(Z)=>typeof Z==="string"?{reference:Z}:Z,ZQ=(Z)=>Z instanceof j?T.intrinsic.never.internal:Z,gW,XQ,vW=(Z,X)=>`Alias '${Z}' has a shallow resolution cycle: ${[...X,Z].join("->")}`,n4;var DZ=R(()=>{b();$9();G0();a();i0();s();V0();Z2();a2();gW=v({kind:"alias",hasAssociatedError:!1,collapsibleKey:"reference",keys:{reference:{serialize:(Z)=>Z.startsWith("$")?Z:`$ark.${Z}`},resolve:{}},normalize:kW,defaults:{description:(Z)=>Z.reference},intersections:{alias:(Z,X,Q)=>Q.$.lazilyResolve(()=>ZQ(U0(Z.resolution,X.resolution,Q)),`${Z.reference}${Q.pipe?"=>":"&"}${X.reference}`),...O1("alias",(Z,X,Q)=>{if(X.isUnknown())return Z;if(X.isNever())return X;if(X.isBasis()&&!X.overlaps(T.intrinsic.object))return j.init("assignability",T.intrinsic.object,X);return Q.$.lazilyResolve(()=>ZQ(U0(Z.resolution,X,Q)),`${Z.reference}${Q.pipe?"=>":"&"}${X.id}`)})}});XQ=class XQ extends r0{expression=this.reference;structure=void 0;get resolution(){let Z=this._resolve();return j0[this.id]=Z}_resolve(){if(this.resolve)return this.resolve();if(this.reference[0]==="$")return this.$.resolveRoot(this.reference.slice(1));let Z=this.reference,X=j0[Z],Q=[];while(E(X,"context")){if(Q.includes(X.id))return M(vW(X.id,Q));Q.push(X.id),X=j0[X.id]}if(!E(X,"root"))return i(`Unexpected resolution for reference ${this.reference}
|
|
26
26
|
Seen: [${Q.join("->")}]
|
|
27
|
-
Resolution: ${
|
|
27
|
+
Resolution: ${g(X)}`);return X}get resolutionId(){if(this.reference.includes("&")||this.reference.includes("=>"))return this.resolution.id;if(this.reference[0]!=="$")return this.reference;let Z=this.reference.slice(1),X=this.$.resolutions[Z];if(typeof X==="string")return X;if(E(X,"root"))return X.id;return i(`Unexpected resolution for reference ${this.reference}: ${g(X)}`)}get defaultShortDescription(){return f0.object}innerToJsonSchema(Z){return this.resolution.toJsonSchemaRecurse(Z)}traverseAllows=(Z,X)=>{let Q=X.seen[this.reference];if(Q?.includes(Z))return!0;return X.seen[this.reference]=u(Q,Z),this.resolution.traverseAllows(Z,X)};traverseApply=(Z,X)=>{let Q=X.seen[this.reference];if(Q?.includes(Z))return;X.seen[this.reference]=u(Q,Z),this.resolution.traverseApply(Z,X)};compile(Z){let X=this.resolutionId;Z.if(`ctx.seen.${X} && ctx.seen.${X}.includes(data)`,()=>Z.return(!0)),Z.if(`!ctx.seen.${X}`,()=>Z.line(`ctx.seen.${X} = []`)),Z.line(`ctx.seen.${X}.push(data)`),Z.return(Z.invoke(X))}};n4={implementation:gW,Node:XQ}});var w2;var G9=R(()=>{a();Z2();w2=class w2 extends r0{traverseApply=(Z,X)=>{if(!this.traverseAllows(Z,X))X.errorFromNodeContext(this.errorContext)};get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return o1(this.errorContext)}compile(Z){if(Z.traversalKind==="Allows")Z.return(this.compiledCondition);else Z.if(this.compiledNegation,()=>Z.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}}});var xW,QQ,L9;var wZ=R(()=>{b();G0();a();G9();xW=v({kind:"domain",hasAssociatedError:!0,collapsibleKey:"domain",keys:{domain:{},numberAllowsNaN:{}},normalize:(Z)=>typeof Z==="string"?{domain:Z}:y2(Z,"numberAllowsNaN")&&Z.domain!=="number"?M(L9.writeBadAllowNanMessage(Z.domain)):Z,applyConfig:(Z,X)=>Z.numberAllowsNaN===void 0&&Z.domain==="number"&&X.numberAllowsNaN?{...Z,numberAllowsNaN:!0}:Z,defaults:{description:(Z)=>f0[Z.domain],actual:(Z)=>Number.isNaN(Z)?"NaN":f0[H0(Z)]},intersections:{domain:(Z,X)=>Z.domain==="number"&&X.domain==="number"?Z.numberAllowsNaN?X:Z:j.init("domain",Z,X)}});QQ=class QQ extends w2{requiresNaNCheck=this.domain==="number"&&!this.numberAllowsNaN;traverseAllows=this.requiresNaNCheck?(Z)=>typeof Z==="number"&&!Number.isNaN(Z):(Z)=>H0(Z)===this.domain;compiledCondition=this.domain==="object"?'((typeof data === "object" && data !== null) || typeof data === "function")':`typeof data === "${this.domain}"${this.requiresNaNCheck?" && !Number.isNaN(data)":""}`;compiledNegation=this.domain==="object"?'((typeof data !== "object" || data === null) && typeof data !== "function")':`typeof data !== "${this.domain}"${this.requiresNaNCheck?" || Number.isNaN(data)":""}`;expression=this.numberAllowsNaN?"number | NaN":this.domain;get nestableExpression(){return this.numberAllowsNaN?`(${this.expression})`:this.expression}get defaultShortDescription(){return f0[this.domain]}innerToJsonSchema(Z){if(this.domain==="bigint"||this.domain==="symbol")return Z.fallback.domain({code:"domain",base:{},domain:this.domain});return{type:this.domain}}};L9={implementation:xW,Node:QQ,writeBadAllowNanMessage:(Z)=>`numberAllowsNaN may only be specified with domain "number" (was ${Z})`}});var hW,JQ,PZ,mW=(Z)=>{if(Z.structure?.expression)return Z.structure.expression;let X=Z.basis&&!Z.prestructurals.some((J)=>J.impl.obviatesBasisExpression)?Z.basis.nestableExpression:"",Q=Z.prestructurals.map((J)=>J.expression).join(" & "),U=`${X}${X?" ":""}${Q}`;if(U==="Array == 0")return"[]";return U||"unknown"},UQ=(Z,X,Q)=>{let U={},J=Z.proto??Z.domain,$=X.proto??X.domain,W=J?$?U0(J,$,Q):J:$;if(W instanceof j)return W;if(W)U[W.kind]=W;return l2({kind:"intersection",baseInner:U,l:d2(Z),r:d2(X),roots:[],ctx:Q})};var AZ=R(()=>{b();m0();G0();a();i0();V0();Z2();a2();hW=v({kind:"intersection",hasAssociatedError:!0,normalize:(Z)=>{if(Q0(Z))return Z;let{structure:X,...Q}=Z,U=!!X,J=X??{},$=k(Q,(W,Y)=>{if(F0(W,T3)){if(U)M(`Flattened structure key ${W} cannot be specified alongside a root 'structure' key.`);return J[W]=Y,[]}return[W,Y]});if(E(J,"constraint")||!M1(J))$.structure=J;return $},finalizeInnerJson:({structure:Z,...X})=>E0(Z,"object")?{...Z,...X}:X,keys:{domain:{child:!0,parse:(Z,X)=>X.$.node("domain",Z)},proto:{child:!0,parse:(Z,X)=>X.$.node("proto",Z)},structure:{child:!0,parse:(Z,X)=>X.$.node("structure",Z),serialize:(Z)=>{if(!Z.sequence?.minLength)return Z.collapsibleJson;let{sequence:X,...Q}=Z.collapsibleJson,{minVariadicLength:U,...J}=X,$=J.variadic&&Object.keys(J).length===1?J.variadic:J;return{...Q,sequence:$}}},divisor:{child:!0,parse:w0("divisor")},max:{child:!0,parse:w0("max")},min:{child:!0,parse:w0("min")},maxLength:{child:!0,parse:w0("maxLength")},minLength:{child:!0,parse:w0("minLength")},exactLength:{child:!0,parse:w0("exactLength")},before:{child:!0,parse:w0("before")},after:{child:!0,parse:w0("after")},pattern:{child:!0,parse:w0("pattern")},predicate:{child:!0,parse:w0("predicate")}},reduce:(Z,X)=>UQ({},Z,{$:X,invert:!1,pipe:!1}),defaults:{description:(Z)=>{if(Z.children.length===0)return"unknown";if(Z.structure)return Z.structure.description;let X=[];if(Z.basis&&!Z.prestructurals.some((Q)=>Q.impl.obviatesBasisDescription))X.push(Z.basis.description);if(Z.prestructurals.length){let Q=Z.prestructurals.slice().sort((U,J)=>U.kind==="min"&&J.kind==="max"?-1:0).map((U)=>U.description);X.push(...Q)}if(Z.inner.predicate)X.push(...Z.inner.predicate.map((Q)=>Q.description));return X.join(" and ")},expected:(Z)=>` ◦ ${Z.errors.map((X)=>X.expected).join(`
|
|
28
28
|
◦ `)}`,problem:(Z)=>`(${Z.actual}) must be...
|
|
29
|
-
${Z.expected}`},intersections:{intersection:(Z,X,Q)=>
|
|
29
|
+
${Z.expected}`},intersections:{intersection:(Z,X,Q)=>UQ(Z.inner,X.inner,Q),...O1("intersection",(Z,X,Q)=>{if(Z.children.length===0)return X;let{domain:U,proto:J,...$}=Z.inner,W=J??U,Y=W?U0(W,X,Q):X;return Y instanceof j?Y:Z?.basis?.equals(Y)?Z:Z.$.node("intersection",{...$,[Y.kind]:Y},{prereduced:!0})})}});JQ=class JQ extends r0{basis=this.inner.domain??this.inner.proto??null;prestructurals=[];refinements=this.children.filter((Z)=>{if(!Z.isRefinement())return!1;if(d0(u8,Z.kind))this.prestructurals.push(Z);return!0});structure=this.inner.structure;expression=mW(this);get shallowMorphs(){return this.inner.structure?.structuralMorph?[this.inner.structure.structuralMorph]:[]}get defaultShortDescription(){return this.basis?.defaultShortDescription??"present"}innerToJsonSchema(Z){return this.children.reduce((X,Q)=>Q.isBasis()?Q.toJsonSchemaRecurse(Z):Q.reduceJsonSchema(X,Z),{})}traverseAllows=(Z,X)=>this.children.every((Q)=>Q.traverseAllows(Z,X));traverseApply=(Z,X)=>{let Q=X.currentErrorCount;if(this.basis){if(this.basis.traverseApply(Z,X),X.currentErrorCount>Q)return}if(this.prestructurals.length){for(let U=0;U<this.prestructurals.length-1;U++)if(this.prestructurals[U].traverseApply(Z,X),X.failFast&&X.currentErrorCount>Q)return;if(this.prestructurals[this.prestructurals.length-1].traverseApply(Z,X),X.currentErrorCount>Q)return}if(this.structure){if(this.structure.traverseApply(Z,X),X.currentErrorCount>Q)return}if(this.inner.predicate){for(let U=0;U<this.inner.predicate.length-1;U++)if(this.inner.predicate[U].traverseApply(Z,X),X.failFast&&X.currentErrorCount>Q)return;this.inner.predicate[this.inner.predicate.length-1].traverseApply(Z,X)}};compile(Z){if(Z.traversalKind==="Allows"){for(let X of this.children)Z.check(X);Z.return(!0);return}if(Z.initializeErrorCount(),this.basis){if(Z.check(this.basis),this.children.length>1)Z.returnIfFail()}if(this.prestructurals.length){for(let X=0;X<this.prestructurals.length-1;X++)Z.check(this.prestructurals[X]),Z.returnIfFailFast();if(Z.check(this.prestructurals[this.prestructurals.length-1]),this.structure||this.inner.predicate)Z.returnIfFail()}if(this.structure){if(Z.check(this.structure),this.inner.predicate)Z.returnIfFail()}if(this.inner.predicate){for(let X=0;X<this.inner.predicate.length-1;X++)Z.check(this.inner.predicate[X]),Z.returnIfFail();Z.check(this.inner.predicate[this.inner.predicate.length-1])}}};PZ={implementation:hW,Node:JQ}});var uW,$Q,SZ,pW=(Z,X)=>`The intersection of distinct morphs at a single path is indeterminate:
|
|
30
30
|
Left: ${Z}
|
|
31
|
-
Right: ${X}`;var
|
|
31
|
+
Right: ${X}`;var jZ=R(()=>{b();G0();a();i0();s();V0();Z2();a2();uW=v({kind:"morph",hasAssociatedError:!1,keys:{in:{child:!0,parse:(Z,X)=>X.$.parseSchema(Z)},morphs:{parse:c1,serialize:(Z)=>Z.map((X)=>E(X,"root")?X.json:W0(X))},declaredIn:{child:!1,serialize:(Z)=>Z.json},declaredOut:{child:!1,serialize:(Z)=>Z.json}},normalize:(Z)=>Z,defaults:{description:(Z)=>`a morph from ${Z.rawIn.description} to ${Z.rawOut?.description??"unknown"}`},intersections:{morph:(Z,X,Q)=>{if(!Z.hasEqualMorphs(X))return M(pW(Z.expression,X.expression));let U=U0(Z.rawIn,X.rawIn,Q);if(U instanceof j)return U;let J={morphs:Z.morphs};if(Z.declaredIn||X.declaredIn){let $=U0(Z.rawIn,X.rawIn,Q);if($ instanceof j)return $.throw();else J.declaredIn=$}if(Z.declaredOut||X.declaredOut){let $=U0(Z.rawOut,X.rawOut,Q);if($ instanceof j)return $.throw();else J.declaredOut=$}return U.distribute(($)=>Q.$.node("morph",{...J,in:$}),Q.$.parseSchema)},...O1("morph",(Z,X,Q)=>{let U=Z.inner.in?U0(Z.inner.in,X,Q):X;return U instanceof j?U:U.equals(Z.inner.in)?Z:Q.$.node("morph",{...Z.inner,in:U})})}});$Q=class $Q extends r0{serializedMorphs=this.morphs.map(W0);compiledMorphs=`[${this.serializedMorphs}]`;lastMorph=this.inner.morphs[this.inner.morphs.length-1];lastMorphIfNode=E(this.lastMorph,"root")?this.lastMorph:void 0;introspectableIn=this.inner.in;introspectableOut=this.lastMorphIfNode?Object.assign(this.referencesById,this.lastMorphIfNode.referencesById)&&this.lastMorphIfNode.rawOut:void 0;get shallowMorphs(){return Array.isArray(this.inner.in?.shallowMorphs)?[...this.inner.in.shallowMorphs,...this.morphs]:this.morphs}get rawIn(){return this.declaredIn??this.inner.in?.rawIn??T.intrinsic.unknown.internal}get rawOut(){return this.declaredOut??this.introspectableOut??T.intrinsic.unknown.internal}declareIn(Z){return this.$.node("morph",{...this.inner,declaredIn:Z})}declareOut(Z){return this.$.node("morph",{...this.inner,declaredOut:Z})}expression=`(In: ${this.rawIn.expression}) => ${this.lastMorphIfNode?"To":"Out"}<${this.rawOut.expression}>`;get defaultShortDescription(){return this.rawIn.meta.description??this.rawIn.defaultShortDescription}innerToJsonSchema(Z){return Z.fallback.morph({code:"morph",base:this.rawIn.toJsonSchemaRecurse(Z),out:this.introspectableOut?.toJsonSchemaRecurse(Z)??null})}compile(Z){if(Z.traversalKind==="Allows"){if(!this.introspectableIn)return;Z.return(Z.invoke(this.introspectableIn));return}if(this.introspectableIn)Z.line(Z.invoke(this.introspectableIn));Z.line(`ctx.queueMorphs(${this.compiledMorphs})`)}traverseAllows=(Z,X)=>!this.introspectableIn||this.introspectableIn.traverseAllows(Z,X);traverseApply=(Z,X)=>{if(this.introspectableIn)this.introspectableIn.traverseApply(Z,X);X.queueMorphs(this.morphs)};hasEqualMorphs(Z){return f1(this.morphs,Z.morphs,{isEqual:(X,Q)=>X===Q||E(X,"root")&&E(Q,"root")&&X.equals(Q)})}};SZ={implementation:uW,Node:$Q}});var lW,WQ,t4;var CZ=R(()=>{b();G0();a();s();V0();G9();lW=v({kind:"proto",hasAssociatedError:!0,collapsibleKey:"proto",keys:{proto:{serialize:(Z)=>b4(Z)??c0(Z)},dateAllowsInvalid:{}},normalize:(Z)=>{let X=typeof Z==="string"?{proto:M2[Z]}:typeof Z==="function"?Q0(Z)?Z:{proto:Z}:typeof Z.proto==="string"?{...Z,proto:M2[Z.proto]}:Z;if(typeof X.proto!=="function")M(t4.writeInvalidSchemaMessage(X.proto));if(y2(X,"dateAllowsInvalid")&&X.proto!==Date)M(t4.writeBadInvalidDateMessage(X.proto));return X},applyConfig:(Z,X)=>{if(Z.dateAllowsInvalid===void 0&&Z.proto===Date&&X.dateAllowsInvalid)return{...Z,dateAllowsInvalid:!0};return Z},defaults:{description:(Z)=>Z.builtinName?v7[Z.builtinName]:`an instance of ${Z.proto.name}`,actual:(Z)=>Z instanceof Date&&Z.toString()==="Invalid Date"?"an invalid Date":N4(Z)},intersections:{proto:(Z,X)=>Z.proto===Date&&X.proto===Date?Z.dateAllowsInvalid?X:Z:f8(Z.proto,X.proto)?Z:f8(X.proto,Z.proto)?X:j.init("proto",Z,X),domain:(Z,X)=>X.domain==="object"?Z:j.init("domain",T.intrinsic.object.internal,X)}});WQ=class WQ extends w2{builtinName=b4(this.proto);serializedConstructor=this.json.proto;requiresInvalidDateCheck=this.proto===Date&&!this.dateAllowsInvalid;traverseAllows=this.requiresInvalidDateCheck?(Z)=>Z instanceof Date&&Z.toString()!=="Invalid Date":(Z)=>Z instanceof this.proto;compiledCondition=`data instanceof ${this.serializedConstructor}${this.requiresInvalidDateCheck?' && data.toString() !== "Invalid Date"':""}`;compiledNegation=`!(${this.compiledCondition})`;innerToJsonSchema(Z){switch(this.builtinName){case"Array":return{type:"array"};case"Date":return Z.fallback.date?.({code:"date",base:{}})??Z.fallback.proto({code:"proto",base:{},proto:this.proto});default:return Z.fallback.proto({code:"proto",base:{},proto:this.proto})}}expression=this.dateAllowsInvalid?"Date | InvalidDate":this.proto.name;get nestableExpression(){return this.dateAllowsInvalid?`(${this.expression})`:this.expression}domain="object";get defaultShortDescription(){return this.description}};t4={implementation:lW,Node:WQ,writeBadInvalidDateMessage:(Z)=>`dateAllowsInvalid may only be specified with constructor Date (was ${Z.name})`,writeInvalidSchemaMessage:(Z)=>`instanceOf operand must be a function (was ${H0(Z)})`}});var dW,LQ,cW=(Z,X)=>{let U=Z.sort((W,Y)=>W.path.length===Y.path.length?Object.keys(Y.cases).length-Object.keys(W.cases).length:W.path.length-Y.path.length)[0],J={kind:U.kind,path:U.path,optionallyChainedPropString:qQ(U.path)},$=X.branches.map((W,Y)=>({originalIndex:Y,branch:W}));return{best:U,location:J,defaultEntries:$,node:X}},iW=(Z,X)=>{let Q=Z.best.cases[X],U=rW(Q.condition,Z.location.path,Z.node.$),J=[],$=[];for(let W=0;W<Z.defaultEntries.length;W++){let Y=Z.defaultEntries[W];if(Q.branchIndices.includes(Y.originalIndex)){let G=YQ(Z.node.branches[Y.originalIndex],Z.location);if(G===null)J=null;else J?.push({originalIndex:Y.originalIndex,branch:G})}else if(Y.branch.hasKind("alias")&&U.hasKind("domain")&&U.domain==="object")J?.push(Y);else{if(Y.branch.rawIn.overlaps(U)){let G=YQ(Y.branch,Z.location);J?.push({originalIndex:Y.originalIndex,branch:G})}$.push(Y)}}return Z.defaultEntries=$,J},sW=(Z,X)=>{return Z.filter((U)=>{let J=Object.values(U.cases).map(($)=>$.branchIndices);for(let $=0;$<J.length-1;$++){let W=J[$];for(let Y=$+1;Y<J.length;Y++){let G=J[Y];for(let L of W)for(let q of G)if(L>q){if(X[L].overlaps(X[q]))return!1}}}return!0})},rW=(Z,X,Q)=>{let U=Z==="undefined"?Q.node("unit",{unit:void 0}):Z==="null"?Q.node("unit",{unit:null}):Z==="boolean"?Q.units([!0,!1]):Z;for(let J=X.length-1;J>=0;J--){let $=X[J];U=Q.node("intersection",typeof $==="number"?{proto:"Array",sequence:[...j7($).map((W)=>({})),U]}:{domain:"object",required:[{key:$,value:U}]})}return U},qQ=(Z)=>Z.reduce((X,Q)=>X+m8(Q,!0),"data"),aW,oW,bZ,nW=(Z)=>({kind:Z.kind,path:Z.path.map((X)=>typeof X==="string"?X:J1(X)),cases:k(Z.cases,(X,Q)=>[X,Q===!0?Q:Q.hasKind("union")&&Q.discriminantJson?Q.discriminantJson:Q.json])}),tW,eW=(Z)=>o2(Z,tW),o2=(Z,X)=>{let Q=X?.delimiter??", ",U=X?.finalDelimiter??" or ";if(Z.length===0)return"never";if(Z.length===1)return Z[0];if(Z.length===2&&Z[0]==="false"&&Z[1]==="true"||Z[0]==="true"&&Z[1]==="false")return"boolean";let J={},$=Z.filter((Y)=>J[Y]?!1:J[Y]=!0),W=$.pop();return`${$.join(Q)}${$.length?U:""}${W}`},NZ=(Z,X,Q)=>{let U=X.map(()=>[]);for(let $=0;$<Z.length;$++){let W={};for(let Y=0;Y<X.length;Y++){if(U[Y]===null)continue;if(Z[$].equals(X[Y])){U[Y]=null,W={};break}let G=U0(Z[$],X[Y],Q);if(G instanceof j)continue;if(G.equals(Z[$])){U[Y].push(Z[$]),W={};break}if(G.equals(X[Y]))U[Y]=null;else W[Y]=G}for(let Y in W)U[Y][$]=W[Y]}let J=U.flatMap(($,W)=>$?.flatMap((Y)=>Y.branches)??X[W]);return J.length===0?j.init("union",Z,X):J},ZY=({branches:Z,ordered:X})=>{if(Z.length<2)return Z;let Q=Z.map(()=>!0);for(let U=0;U<Z.length;U++)for(let J=U+1;J<Z.length&&Q[U]&&Q[J];J++){if(Z[U].equals(Z[J])){Q[J]=!1;continue}let $=v0(Z[U].rawIn,Z[J].rawIn,Z[0].$);if($ instanceof j)continue;if(!X)XY(Z[U],Z[J]);if($.equals(Z[U].rawIn))Q[U]=!!X;else if($.equals(Z[J].rawIn))Q[J]=!1}return Z.filter((U,J)=>Q[J])},XY=(Z,X)=>{if(!Z.includesTransform&&!X.includesTransform)return;if(!f1(Z.shallowMorphs,X.shallowMorphs))M(GQ(Z.expression,X.expression));if(!f1(Z.flatMorphs,X.flatMorphs,{isEqual:(Q,U)=>Q.propString===U.propString&&(Q.node.hasKind("morph")&&U.node.hasKind("morph")?Q.node.hasEqualMorphs(U.node):Q.node.hasKind("intersection")&&U.node.hasKind("intersection")?Q.node.structure?.structuralMorphRef===U.node.structure?.structuralMorphRef:!1)}))M(GQ(Z.expression,X.expression))},YQ=(Z,X)=>Z.transform((Q,U)=>{if(Q==="domain"||Q==="unit")return null;return U},{shouldTransform:(Q,U)=>{let J=qQ(U.path);if(!X.optionallyChainedPropString.startsWith(J))return!1;if(Q.hasKind("domain")&&Q.domain==="object")return!0;if((Q.hasKind("domain")||X.kind==="unit")&&J===X.optionallyChainedPropString)return!0;return Q.children.length!==0&&Q.kind!=="index"}}),GQ=(Z,X)=>`An unordered union of a type including a morph and a type with overlapping input is indeterminate:
|
|
32
32
|
Left: ${Z}
|
|
33
|
-
Right: ${X}`,
|
|
33
|
+
Right: ${X}`,QY=(Z,X)=>`The intersection of two ordered unions is indeterminate:
|
|
34
34
|
Left: ${Z}
|
|
35
|
-
Right: ${X}`;var
|
|
35
|
+
Right: ${X}`;var EZ=R(()=>{b();a1();G0();a();i0();s();R1();V0();Z2();a2();dW=v({kind:"union",hasAssociatedError:!0,collapsibleKey:"branches",keys:{ordered:{},branches:{child:!0,parse:(Z,X)=>{let Q=[];for(let U of Z){let J=E(U,"root")?U.branches:X.$.parseSchema(U).branches;for(let $ of J)if($.hasKind("morph")){let W=Q.findIndex((Y)=>Y.hasKind("morph")&&Y.hasEqualMorphs($));if(W===-1)Q.push($);else{let Y=Q[W];Q[W]=X.$.node("morph",{...Y.inner,in:Y.rawIn.rawOr($.rawIn)})}}else Q.push($)}if(!X.def.ordered)Q.sort((U,J)=>U.hash<J.hash?-1:1);return Q}}},normalize:(Z)=>Z0(Z)?{branches:Z}:Z,reduce:(Z,X)=>{let Q=ZY(Z);if(Q.length===1)return Q[0];if(Q.length===Z.branches.length)return;return X.node("union",{...Z,branches:Q},{prereduced:!0})},defaults:{description:(Z)=>Z.distribute((X)=>X.description,o2),expected:(Z)=>{let X=N7(Z.errors,"propString"),Q=Object.entries(X).map(([U,J])=>{let $=[];for(let G of J)F1($,G.expected);let W=o2($),Y=J.every((G)=>G.actual===J[0].actual)?J[0].actual:g(J[0].data);return`${U&&`${U} `}must be ${W}${Y&&` (was ${Y})`}`});return o2(Q)},problem:(Z)=>Z.expected,message:(Z)=>{if(Z.problem[0]==="[")return`value at ${Z.problem}`;return Z.problem}},intersections:{union:(Z,X,Q)=>{if(Z.isNever!==X.isNever)return j.init("presence",Z,X);let U;if(Z.ordered){if(X.ordered)M(QY(Z.expression,X.expression));if(U=NZ(X.branches,Z.branches,Q),U instanceof j)U.invert()}else U=NZ(Z.branches,X.branches,Q);if(U instanceof j)return U;return Q.$.parseSchema(Z.ordered||X.ordered?{branches:U,ordered:!0}:{branches:U})},...O1("union",(Z,X,Q)=>{let U=NZ(Z.branches,[X],Q);if(U instanceof j)return U;if(U.length===1)return U[0];return Q.$.parseSchema(Z.ordered?{branches:U,ordered:!0}:{branches:U})})}});LQ=class LQ extends r0{isBoolean=this.branches.length===2&&this.branches[0].hasUnit(!1)&&this.branches[1].hasUnit(!0);get branchGroups(){let Z=[],X=-1;for(let Q of this.branches){if(Q.hasKind("unit")&&Q.domain==="boolean"){if(X===-1)X=Z.length,Z.push(Q);else Z[X]=T.intrinsic.boolean;continue}Z.push(Q)}return Z}unitBranches=this.branches.filter((Z)=>Z.rawIn.hasKind("unit"));discriminant=this.discriminate();discriminantJson=this.discriminant?nW(this.discriminant):null;expression=this.distribute((Z)=>Z.nestableExpression,eW);createBranchedOptimisticRootApply(){return(Z,X)=>{let Q=this.traverseOptimistic(Z);if(Q!==I0)return Q;let U=new $1(Z,this.$.resolvedConfig);return this.traverseApply(Z,U),U.finalize(X)}}get shallowMorphs(){return this.branches.reduce((Z,X)=>F1(Z,X.shallowMorphs),[])}get defaultShortDescription(){return this.distribute((Z)=>Z.defaultShortDescription,o2)}innerToJsonSchema(Z){if(this.branchGroups.length===1&&this.branchGroups[0].equals(T.intrinsic.boolean))return{type:"boolean"};let X=this.branchGroups.map((Q)=>Q.toJsonSchemaRecurse(Z));if(X.every((Q)=>Object.keys(Q).length===1&&y2(Q,"const")))return{enum:X.map((Q)=>Q.const)};return{anyOf:X}}traverseAllows=(Z,X)=>this.branches.some((Q)=>Q.traverseAllows(Z,X));traverseApply=(Z,X)=>{let Q=[];for(let U=0;U<this.branches.length;U++){if(X.pushBranch(),this.branches[U].traverseApply(Z,X),!X.hasError()){if(this.branches[U].includesTransform)return X.queuedMorphs.push(...X.popBranch().queuedMorphs);return X.popBranch()}Q.push(X.popBranch().error)}X.errorFromNodeContext({code:"union",errors:Q,meta:this.meta})};traverseOptimistic=(Z)=>{for(let X=0;X<this.branches.length;X++){let Q=this.branches[X];if(Q.traverseAllows(Z)){if(Q.contextFreeMorph)return Q.contextFreeMorph(Z);return Z}}return I0};compile(Z){if(!this.discriminant||this.unitBranches.length===this.branches.length&&this.branches.length===2)return this.compileIndiscriminable(Z);let X=this.discriminant.optionallyChainedPropString;if(this.discriminant.kind==="domain")X=`typeof ${X} === "object" ? ${X} === null ? "null" : "object" : typeof ${X} === "function" ? "object" : typeof ${X}`;let Q=this.discriminant.cases,U=Object.keys(Q),{optimistic:J}=Z;if(Z.optimistic=!1,Z.block(`switch(${X})`,()=>{for(let L in Q){let q=Q[L],V=L==="default"?L:`case ${L}`,_;if(q===!0)_=J?"data":"true";else if(J)if(q.rootApplyStrategy==="branchedOptimistic")_=Z.invoke(q,{kind:"Optimistic"});else if(q.contextFreeMorph)_=`${Z.invoke(q)} ? ${W0(q.contextFreeMorph)}(data) : "${I0}"`;else _=`${Z.invoke(q)} ? data : "${I0}"`;else _=Z.invoke(q);Z.line(`${V}: return ${_}`)}return Z}),Z.traversalKind==="Allows"){Z.return(J?`"${I0}"`:!1);return}let $=o2(this.discriminant.kind==="domain"?U.map((L)=>{let q=L.slice(1,-1);return q==="function"?f0.object:f0[q]}):U),W=this.discriminant.path.map((L)=>typeof L==="symbol"?W0(L):JSON.stringify(L)),Y=JSON.stringify($),G=this.discriminant.kind==="domain"?`${aW}[${X}]`:`${oW}(${X})`;Z.line(`ctx.errorFromNodeContext({
|
|
36
36
|
code: "predicate",
|
|
37
37
|
expected: ${Y},
|
|
38
38
|
actual: ${G},
|
|
39
39
|
relativePath: [${W}],
|
|
40
40
|
meta: ${this.compiledMeta}
|
|
41
|
-
})`)}compileIndiscriminable(Z){if(Z.traversalKind==="Apply"){Z.const("errors","[]");for(let X of this.branches)Z.line("ctx.pushBranch()").line(Z.invoke(X)).if("!ctx.hasError()",()=>Z.return(X.includesTransform?"ctx.queuedMorphs.push(...ctx.popBranch().queuedMorphs)":"ctx.popBranch()")).line("errors.push(ctx.popBranch().error)");Z.line(`ctx.errorFromNodeContext({ code: "union", errors, meta: ${this.compiledMeta} })`)}else{let{optimistic:X}=Z;Z.optimistic=!1;for(let Q of this.branches)Z.if(`${Z.invoke(Q)}`,()=>Z.return(X?Q.contextFreeMorph?`${U0(Q.contextFreeMorph)}(data)`:"data":!0));Z.return(X?`"${I0}"`:!1)}}get nestableExpression(){return this.isBoolean?"boolean":`(${this.expression})`}discriminate(){if(this.branches.length<2||this.isCyclic)return null;if(this.unitBranches.length===this.branches.length){let J=y(this.unitBranches,($,W)=>[`${W.rawIn.serializedValue}`,W.hasKind("morph")?W:!0]);return{kind:"unit",path:[],optionallyChainedPropString:"data",cases:J}}let Z=[];for(let J=0;J<this.branches.length-1;J++){let $=this.branches[J];for(let W=J+1;W<this.branches.length;W++){let Y=this.branches[W],G=g0($.rawIn,Y.rawIn,$.$);if(!(G instanceof A))continue;for(let _ of G){if(!_.kind||_.optional)continue;let L,V;if(_.kind==="domain"){let{l:H,r:F}=_;L=`"${typeof H==="string"?H:H.domain}"`,V=`"${typeof F==="string"?F:F.domain}"`}else if(_.kind==="unit")L=_.l.serializedValue,V=_.r.serializedValue;else continue;let q=Z.find((H)=>f1(H.path,_.path)&&H.kind===_.kind);if(!q)Z.push({kind:_.kind,cases:{[L]:{branchIndices:[J],condition:_.l},[V]:{branchIndices:[W],condition:_.r}},path:_.path});else{if(q.cases[L])q.cases[L].branchIndices=M1(q.cases[L].branchIndices,J);else q.cases[L]??={branchIndices:[J],condition:_.l};if(q.cases[V])q.cases[V].branchIndices=M1(q.cases[V].branchIndices,W);else q.cases[V]??={branchIndices:[W],condition:_.r}}}}}let X=this.ordered?pW(Z,this.branches):Z;if(!X.length)return null;let Q=mW(X,this),U={};for(let J in Q.best.cases){let $=uW(Q,J);if($===null){U[J]=!0;continue}if($.length===this.branches.length)return null;if(this.ordered)$.sort((G,_)=>G.originalIndex-_.originalIndex);let W=$.map((G)=>G.branch),Y=W.length===1?W[0]:this.$.node("union",this.ordered?{branches:W,ordered:!0}:W);Object.assign(this.referencesById,Y.referencesById),U[J]=Y}if(Q.defaultEntries.length){let J=Q.defaultEntries.map(($)=>$.branch);U.default=this.$.node("union",this.ordered?{branches:J,ordered:!0}:J,{prereduced:!0}),Object.assign(this.referencesById,U.default.referencesById)}return Object.assign(Q.location,{cases:U})}};dW=U0(A7),cW=U0(k),AZ={implementation:hW,Node:JQ},sW={delimiter:" | ",finalDelimiter:" | "}});var tW,YQ,CZ,WQ=(Z,X,Q)=>{if(Z instanceof Date){let U=`data instanceof Date && data.toISOString() === ${X}`;return Q?`!(${U})`:U}if(Number.isNaN(Z))return`${Q?"!":""}Number.isNaN(data)`;return`data ${Q?"!":"="}== ${X}`};var NZ=R(()=>{j();Y0();i();c();Q9();l2();tW=g({kind:"unit",hasAssociatedError:!0,keys:{unit:{preserveUndefined:!0,serialize:(Z)=>Z instanceof Date?Z.toISOString():i0(Z)}},normalize:(Z)=>Z,defaults:{description:(Z)=>k(Z.unit),problem:({expected:Z,actual:X})=>`${Z===X?`must be reference equal to ${Z} (serialized to the same value)`:`must be ${Z} (was ${X})`}`},intersections:{unit:(Z,X)=>A.init("unit",Z,X),...T1("unit",(Z,X)=>{if(X.allows(Z.unit))return Z;let Q=X.hasKind("intersection")?X.basis:X;if(Q){let U=Q.hasKind("domain")?Q:O.intrinsic.object;if(Z.domain!==U.domain){let J=Z.domain==="undefined"||Z.domain==="null"||Z.domain==="boolean"?Z.domain:O.intrinsic[Z.domain];return A.init("domain",J,U)}}return A.init("assignability",Z,X.hasKind("intersection")?X.children.find((U)=>!U.allows(Z.unit)):X)})}});YQ=class YQ extends D2{compiledValue=this.json.unit;serializedValue=typeof this.unit==="string"||this.unit instanceof Date?JSON.stringify(this.compiledValue):`${this.compiledValue}`;compiledCondition=WQ(this.unit,this.serializedValue);compiledNegation=WQ(this.unit,this.serializedValue,"negated");expression=k(this.unit);domain=q0(this.unit);get defaultShortDescription(){return this.domain==="object"?b0.object:this.description}innerToJsonSchema(Z){return this.unit===null?{type:"null"}:O.intrinsic.jsonPrimitive.allows(this.unit)?{const:this.unit}:Z.fallback.unit({code:"unit",base:{},unit:this.unit})}traverseAllows=this.unit instanceof Date?(Z)=>Z instanceof Date&&Z.toISOString()===this.compiledValue:Number.isNaN(this.unit)?(Z)=>Number.isNaN(Z):(Z)=>Z===this.unit};CZ={implementation:tW,Node:YQ}});var eW,GQ,jZ,ZY=(Z)=>`Index keys ${Z.join(", ")} should be specified as named props.`,XY=(Z)=>`Indexed key definition '${Z}' must be a string or symbol`;var EZ=R(()=>{j();h0();T2();Y0();i();s0();c();K1();eW=g({kind:"index",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{signature:{child:!0,parse:(Z,X)=>{let Q=X.$.parseSchema(Z);if(!Q.extends(O.intrinsic.key))return M(XY(Q.expression));let U=Q.branches.filter((J)=>J.hasKind("unit"));if(U.length)return M(ZY(U.map((J)=>k(J.unit))));return Q}},value:{child:!0,parse:(Z,X)=>X.$.parseSchema(Z)}},normalize:(Z)=>Z,defaults:{description:(Z)=>`[${Z.signature.expression}]: ${Z.value.description}`},intersections:{index:(Z,X,Q)=>{if(Z.signature.equals(X.signature)){let U=Z0(Z.value,X.value,Q),J=U instanceof A?O.intrinsic.never.internal:U;return Q.$.node("index",{signature:Z.signature,value:J})}if(Z.signature.extends(X.signature)&&Z.value.subsumes(X.value))return X;if(X.signature.extends(Z.signature)&&X.value.subsumes(Z.value))return Z;return null}}});GQ=class GQ extends r0{impliedBasis=O.intrinsic.object.internal;expression=`[${this.signature.expression}]: ${this.value.expression}`;flatRefs=u(this.value.flatRefs.map((Z)=>G1([this.signature,...Z.path],Z.node)),G1([this.signature],this.value));traverseAllows=(Z,X)=>B2(Z).every((Q)=>{if(this.signature.traverseAllows(Q[0],X))return k0(Q[0],()=>this.value.traverseAllows(Q[1],X),X);return!0});traverseApply=(Z,X)=>{for(let Q of B2(Z))if(this.signature.traverseAllows(Q[0],X))k0(Q[0],()=>this.value.traverseApply(Q[1],X),X)};_transform(Z,X){X.path.push(this.signature);let Q=super._transform(Z,X);return X.path.pop(),Q}compile(){}};jZ={implementation:eW,Node:GQ}});var QY,_Q,bZ;var IZ=R(()=>{i();p4();QY=g({kind:"required",hasAssociatedError:!0,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(Z,X)=>X.$.parseSchema(Z)}},normalize:(Z)=>Z,defaults:{description:(Z)=>`${Z.compiledKey}: ${Z.value.description}`,expected:(Z)=>Z.missingValueDescription,actual:()=>"missing"},intersections:{required:m4,optional:m4}});_Q=class _Q extends u4{expression=`${this.compiledKey}: ${this.value.expression}`;errorContext=Object.freeze({code:"required",missingValueDescription:this.value.defaultShortDescription,relativePath:[this.key],meta:this.meta});compiledErrorContext=n1(this.errorContext)};bZ={implementation:QY,Node:_Q}});var UY,qQ,JY,$Y=(Z)=>{if(!Z.defaultables)return[];let X=[],Q="[",U=Z.prefixLength+Z.defaultablesLength-1;for(let J=Z.prefixLength;J<=U;J++){let[$,W]=Z.defaultables[J-Z.prefixLength];X.push(BZ(J,$,W)),Q+=`${J}: ${$.id} = ${i0(W)}, `}return Q+="]",JY[Q]??=X},fZ,WY=(Z)=>{let X=[];if(Z.prefix)for(let Q of Z.prefix)X.push({kind:"prefix",node:Q});if(Z.defaultables)for(let[Q,U]of Z.defaultables)X.push({kind:"defaultables",node:Q,default:U});if(Z.optionals)for(let Q of Z.optionals)X.push({kind:"optionals",node:Q});if(Z.variadic)X.push({kind:"variadic",node:Z.variadic});if(Z.postfix)for(let Q of Z.postfix)X.push({kind:"postfix",node:Q});return X},LQ=(Z)=>Z.reduce((X,Q)=>{if(Q.kind==="variadic")X.variadic=Q.node;else if(Q.kind==="defaultables")X.defaultables=u(X.defaultables,[[Q.node,Q.default]]);else X[Q.kind]=u(X[Q.kind],Q.node);return X},{}),yZ="A postfix required element cannot follow an optional or defaultable element",YY="A postfix element requires a variadic element",r4=(Z)=>{let[X,...Q]=Z.l,[U,...J]=Z.r;if(!X||!U)return Z;let $=Q[Q.length-1]?.kind==="postfix",W=J[J.length-1]?.kind==="postfix",Y=X.kind==="prefix"||U.kind==="prefix"?"prefix":X.kind==="postfix"||U.kind==="postfix"?"postfix":X.kind==="variadic"&&U.kind==="variadic"?"variadic":$||W?"prefix":X.kind==="defaultables"||U.kind==="defaultables"?"defaultables":"optionals";if(X.kind==="prefix"&&U.kind==="variadic"&&W){let V=r4({...Z,fixedVariants:[],r:J.map((q)=>({...q,kind:"prefix"}))});if(V.disjoint.length===0)Z.fixedVariants.push(V)}else if(U.kind==="prefix"&&X.kind==="variadic"&&$){let V=r4({...Z,fixedVariants:[],l:Q.map((q)=>({...q,kind:"prefix"}))});if(V.disjoint.length===0)Z.fixedVariants.push(V)}let G=Z0(X.node,U.node,Z.ctx);if(G instanceof A)if(Y==="prefix"||Y==="postfix")Z.disjoint.push(...G.withPrefixKey(Y==="prefix"?Z.result.length:`-${Q.length+1}`,VQ(X)&&VQ(U)?"required":"optional")),Z.result=[...Z.result,{kind:Y,node:O.intrinsic.never.internal}];else if(Y==="optionals"||Y==="defaultables")return Z;else return r4({...Z,fixedVariants:[],l:Q.map((V)=>({...V,kind:"prefix"})),r:Q.map((V)=>({...V,kind:"prefix"}))});else if(Y==="defaultables"){if(X.kind==="defaultables"&&U.kind==="defaultables"&&X.default!==U.default)M(FZ(X.default,U.default));Z.result=[...Z.result,{kind:Y,node:G,default:X.kind==="defaultables"?X.default:U.kind==="defaultables"?U.default:d(`Unexpected defaultable intersection from ${X.kind} and ${U.kind} elements.`)}]}else Z.result=[...Z.result,{kind:Y,node:G}];let _=Z.l.length,L=Z.r.length;if(X.kind!=="variadic"||_>=L&&(U.kind==="variadic"||L===1))Z.l=Q;if(U.kind!=="variadic"||L>=_&&(X.kind==="variadic"||_===1))Z.r=J;return r4(Z)},VQ=(Z)=>Z.kind==="prefix"||Z.kind==="postfix";var kZ=R(()=>{j();h0();T2();Y0();i();s0();c();K1();u2();p4();UY=g({kind:"sequence",hasAssociatedError:!1,collapsibleKey:"variadic",keys:{prefix:{child:!0,parse:(Z,X)=>{if(Z.length===0)return;return Z.map((Q)=>X.$.parseSchema(Q))}},optionals:{child:!0,parse:(Z,X)=>{if(Z.length===0)return;return Z.map((Q)=>X.$.parseSchema(Q))}},defaultables:{child:(Z)=>Z.map((X)=>X[0]),parse:(Z,X)=>{if(Z.length===0)return;return Z.map((Q)=>{let U=X.$.parseSchema(Q[0]);return d4(U,Q[1],null),[U,Q[1]]})},serialize:(Z)=>Z.map((X)=>[X[0].collapsibleJson,i0(X[1])]),reduceIo:(Z,X,Q)=>{if(Z==="in"){X.optionals=Q.map((U)=>U[0].rawIn);return}X.prefix=Q.map((U)=>U[0].rawOut);return}},variadic:{child:!0,parse:(Z,X)=>X.$.parseSchema(Z,X)},minVariadicLength:{parse:(Z)=>Z===0?void 0:Z},postfix:{child:!0,parse:(Z,X)=>{if(Z.length===0)return;return Z.map((Q)=>X.$.parseSchema(Q))}}},normalize:(Z)=>{if(typeof Z==="string")return{variadic:Z};if("variadic"in Z||"prefix"in Z||"defaultables"in Z||"optionals"in Z||"postfix"in Z||"minVariadicLength"in Z){if(Z.postfix?.length){if(!Z.variadic)return M(YY);if(Z.optionals?.length||Z.defaultables?.length)return M(yZ)}if(Z.minVariadicLength&&!Z.variadic)return M("minVariadicLength may not be specified without a variadic element");return Z}return{variadic:Z}},reduce:(Z,X)=>{let Q=Z.minVariadicLength??0,U=Z.prefix?.slice()??[],J=Z.defaultables?.slice()??[],$=Z.optionals?.slice()??[],W=Z.postfix?.slice()??[];if(Z.variadic){while($[$.length-1]?.equals(Z.variadic))$.pop();if($.length===0&&J.length===0)while(U[U.length-1]?.equals(Z.variadic))U.pop(),Q++;while(W[0]?.equals(Z.variadic))W.shift(),Q++}else if($.length===0&&J.length===0)U.push(...W.splice(0));if(Q!==Z.minVariadicLength||Z.prefix&&Z.prefix.length!==U.length)return X.node("sequence",{...Z,prefix:U,defaultables:J,optionals:$,postfix:W,minVariadicLength:Q},{prereduced:!0})},defaults:{description:(Z)=>{if(Z.isVariadicOnly)return`${Z.variadic.nestableExpression}[]`;return`[${Z.tuple.map((Q)=>Q.kind==="defaultables"?`${Q.node.nestableExpression} = ${k(Q.default)}`:Q.kind==="optionals"?`${Q.node.nestableExpression}?`:Q.kind==="variadic"?`...${Q.node.nestableExpression}[]`:Q.node.expression).join(", ")}]`}},intersections:{sequence:(Z,X,Q)=>{let U=r4({l:Z.tuple,r:X.tuple,disjoint:new A,result:[],fixedVariants:[],ctx:Q}),J=U.disjoint.length===0?[U,...U.fixedVariants]:U.fixedVariants;return J.length===0?U.disjoint:J.length===1?Q.$.node("sequence",LQ(J[0].result)):Q.$.node("union",J.map(($)=>({proto:Array,sequence:LQ($.result)})))}}});qQ=class qQ extends r0{impliedBasis=O.intrinsic.Array.internal;tuple=WY(this.inner);prefixLength=this.prefix?.length??0;defaultablesLength=this.defaultables?.length??0;optionalsLength=this.optionals?.length??0;postfixLength=this.postfix?.length??0;defaultablesAndOptionals=[];prevariadic=this.tuple.filter((Z)=>{if(Z.kind==="defaultables"||Z.kind==="optionals")return this.defaultablesAndOptionals.push(Z.node),!0;return Z.kind==="prefix"});variadicOrPostfix=I1(this.variadic&&[this.variadic],this.postfix);flatRefs=this.addFlatRefs();addFlatRefs(){return m8(this.flatRefs,this.prevariadic.flatMap((Z,X)=>u(Z.node.flatRefs.map((Q)=>G1([`${X}`,...Q.path],Q.node)),G1([`${X}`],Z.node)))),m8(this.flatRefs,this.variadicOrPostfix.flatMap((Z)=>u(Z.flatRefs.map((X)=>G1([O.intrinsic.nonNegativeIntegerString.internal,...X.path],X.node)),G1([O.intrinsic.nonNegativeIntegerString.internal],Z)))),this.flatRefs}isVariadicOnly=this.prevariadic.length+this.postfixLength===0;minVariadicLength=this.inner.minVariadicLength??0;minLength=this.prefixLength+this.minVariadicLength+this.postfixLength;minLengthNode=this.minLength===0?null:this.$.node("minLength",this.minLength);maxLength=this.variadic?null:this.tuple.length;maxLengthNode=this.maxLength===null?null:this.$.node("maxLength",this.maxLength);impliedSiblings=this.minLengthNode?this.maxLengthNode?[this.minLengthNode,this.maxLengthNode]:[this.minLengthNode]:this.maxLengthNode?[this.maxLengthNode]:[];defaultValueMorphs=$Y(this);defaultValueMorphsReference=this.defaultValueMorphs.length?U0(this.defaultValueMorphs):void 0;elementAtIndex(Z,X){if(X<this.prevariadic.length)return this.tuple[X];let Q=Z.length-this.postfixLength;if(X>=Q)return{kind:"postfix",node:this.postfix[X-Q]};return{kind:"variadic",node:this.variadic??d(`Unexpected attempt to access index ${X} on ${this}`)}}traverseAllows=(Z,X)=>{for(let Q=0;Q<Z.length;Q++)if(!this.elementAtIndex(Z,Q).node.traverseAllows(Z[Q],X))return!1;return!0};traverseApply=(Z,X)=>{let Q=0;for(;Q<Z.length;Q++)k0(Q,()=>this.elementAtIndex(Z,Q).node.traverseApply(Z[Q],X),X)};get element(){return this.cacheGetter("element",this.$.node("union",this.children))}compile(Z){if(this.prefix)for(let[X,Q]of this.prefix.entries())Z.traverseKey(`${X}`,`data[${X}]`,Q);for(let[X,Q]of this.defaultablesAndOptionals.entries()){let U=`${X+this.prefixLength}`;Z.if(`${U} >= data.length`,()=>Z.traversalKind==="Allows"?Z.return(!0):Z.return()),Z.traverseKey(U,`data[${U}]`,Q)}if(this.variadic){if(this.postfix)Z.const("firstPostfixIndex",`data.length${this.postfix?`- ${this.postfix.length}`:""}`);if(Z.for(`i < ${this.postfix?"firstPostfixIndex":"data.length"}`,()=>Z.traverseKey("i","data[i]",this.variadic),this.prevariadic.length),this.postfix)for(let[X,Q]of this.postfix.entries()){let U=`firstPostfixIndex + ${X}`;Z.traverseKey(U,`data[${U}]`,Q)}}if(Z.traversalKind==="Allows")Z.return(!0)}_transform(Z,X){X.path.push(O.intrinsic.nonNegativeIntegerString.internal);let Q=super._transform(Z,X);return X.path.pop(),Q}expression=this.description;reduceJsonSchema(Z,X){let Q=X.target==="draft-07";if(this.prevariadic.length){let U=this.prevariadic.map((J)=>{let $=J.node.toJsonSchemaRecurse(X);if(J.kind==="defaultables"){let W=typeof J.default==="function"?J.default():J.default;$.default=O.intrinsic.jsonData.allows(W)?W:X.fallback.defaultValue({code:"defaultValue",base:$,value:W})}return $});if(Q)Z.items=U;else Z.prefixItems=U}if(this.minLength)Z.minItems=this.minLength;if(this.variadic){let U=this.variadic.toJsonSchemaRecurse(X);if(Q&&this.prevariadic.length)Z.additionalItems=U;else Z.items=U;if(this.maxLength)Z.maxItems=this.maxLength;if(this.postfix){let J=this.postfix.map(($)=>$.toJsonSchemaRecurse(X));Z=X.fallback.arrayPostfix({code:"arrayPostfix",base:Z,elements:J})}}else{if(Q)Z.additionalItems=!1;else Z.items=!1;delete Z.maxItems}return Z}};JY={},fZ={implementation:UY,Node:qQ}});var BQ=(Z)=>(X)=>{if(X.props.length||X.index){let Q=X.index?.map((J)=>J[Z])??[];for(let J of X.props)Q.push(J[Z]);if(X.undeclared)Q.push(`+ (undeclared): ${X.undeclared}`);let U=`{ ${Q.join(", ")} }`;return X.sequence?`${U} & ${X.sequence.description}`:U}return X.sequence?.description??"{}"},GY,_Y,HQ=(Z,X,Q)=>{let U=Z.required?"required":"optional";if(!X.signature.allows(Z.key))return null;let J=g0(Z.value,X.value,Q);if(J instanceof A)return U==="optional"?Q.node("optional",{key:Z.key,value:O.intrinsic.never.internal}):J.withPrefixKey(Z.key,Z.kind);return null},LY,MQ,gZ,VY=(Z)=>{let X="";for(let Q=0;Q<Z.defaultable.length;Q++)X+=Z.defaultable[Q].defaultValueMorphRef;if(Z.sequence?.defaultValueMorphsReference)X+=Z.sequence?.defaultValueMorphsReference;if(Z.undeclared==="delete"){if(X+="delete !(",Z.required)for(let Q of Z.required)X+=Q.compiledKey+" | ";if(Z.optional)for(let Q of Z.optional)X+=Q.compiledKey+" | ";if(Z.index)for(let Q of Z.index)X+=Q.signature.id+" | ";if(Z.sequence)if(Z.sequence.maxLength===null)X+=I.nonNegativeIntegerString.id;else for(let Q=0;Q<Z.sequence.tuple.length;Q++)X+=Q+" | ";X+=")"}return X},qY=(Z)=>{let X=VY(Z);if(!X)return;if(gZ[X])return gZ[X];let Q=(U,J)=>{for(let $=0;$<Z.defaultable.length;$++)if(!(Z.defaultable[$].key in U))Z.defaultable[$].defaultValueMorph(U,J);if(Z.sequence?.defaultables)for(let $=U.length-Z.sequence.prefixLength;$<Z.sequence.defaultables.length;$++)Z.sequence.defaultValueMorphs[$](U,J);if(Z.undeclared==="delete"){for(let $ in U)if(!Z.declaresKey($))delete U[$]}return U};return gZ[X]=Q},HY=(Z,X)=>{let U=`(data${X.defaultable.some((J)=>J.defaultValueMorph.length===2)||X.sequence?.defaultValueMorphs.some((J)=>J.length===2)?", ctx":""})`;return Z.block(`${U} => `,(J)=>{for(let $=0;$<X.defaultable.length;$++){let{serializedKey:W,defaultValueMorphRef:Y}=X.defaultable[$];J.if(`!(${W} in data)`,(G)=>G.line(`${Y}${U}`))}if(X.sequence?.defaultables)J.for(`i < ${X.sequence.defaultables.length}`,($)=>$.set("data[i]",5),`data.length - ${X.sequence.prefixLength}`);if(X.undeclared==="delete")J.forIn("data",($)=>$.if(`!(${X._compileDeclaresKey($)})`,(W)=>W.line("delete data[k]")));return J.return("data")})},vZ,zY=(Z)=>{if(E(Z,"root")&&Z.hasKind("unit"))Z=Z.unit;if(typeof Z==="number")Z=`${Z}`;return Z},FY=(Z,X)=>`${Z} is not allowed as an array index on ${X}. Use the 'nonNegativeIntegerString' keyword instead.`,J9=(Z,X,Q)=>{let[U,J]=T7(Z.branches,(W)=>W.hasKind("unit"));if(!U.length)return{index:Q.node("index",{signature:Z,value:X})};let $={};for(let W of U){let Y=Q.node("required",{key:W.unit,value:X});$[Y.kind]=u($[Y.kind],Y)}if(J.length)$.index=Q.node("index",{signature:J,value:X});return $},BY=(Z)=>E(Z,"root")?Z.expression:k(Z),zQ=(Z,X)=>`Key${X.length===1?"":"s"} ${X.map(BY).join(", ")} ${X.length===1?"does":"do"} not exist on ${Z}`,FQ=(Z)=>`Duplicate key ${W1(Z)}`;var xZ=R(()=>{j();h0();X9();X2();a1();Y0();i();s0();c();t1();K1();_0();u2();GY=BQ("description"),_Y=BQ("expression"),LY=g({kind:"structure",hasAssociatedError:!1,normalize:(Z)=>Z,applyConfig:(Z,X)=>{if(!Z.undeclared&&X.onUndeclaredKey!=="ignore")return{...Z,undeclared:X.onUndeclaredKey};return Z},keys:{required:{child:!0,parse:O0("required"),reduceIo:(Z,X,Q)=>{X.required=u(X.required,Q.map((U)=>Z==="in"?U.rawIn:U.rawOut));return}},optional:{child:!0,parse:O0("optional"),reduceIo:(Z,X,Q)=>{if(Z==="in"){X.optional=Q.map((U)=>U.rawIn);return}for(let U of Q)X[U.outProp.kind]=u(X[U.outProp.kind],U.outProp.rawOut)}},index:{child:!0,parse:O0("index")},sequence:{child:!0,parse:O0("sequence")},undeclared:{parse:(Z)=>Z==="ignore"?void 0:Z,reduceIo:(Z,X,Q)=>{if(Q==="reject"){X.undeclared="reject";return}if(Z==="in")delete X.undeclared;else X.undeclared="reject"}}},defaults:{description:GY},intersections:{structure:(Z,X,Q)=>{let U={...Z.inner},J={...X.inner},$=new A;if(Z.undeclared){let G=Z.keyof();for(let _ of X.requiredKeys)if(!G.allows(_))$.add("presence",O.intrinsic.never.internal,X.propsByKey[_].value,{path:[_]});if(J.optional)J.optional=J.optional.filter((_)=>G.allows(_.key));if(J.index)J.index=J.index.flatMap((_)=>{if(_.signature.extends(G))return _;let L=g0(G,_.signature,Q.$);if(L instanceof A)return[];let V=J9(L,_.value,Q.$);if(V.required)J.required=I1(J.required,V.required);if(V.optional)J.optional=I1(J.optional,V.optional);return V.index??[]})}if(X.undeclared){let G=X.keyof();for(let _ of Z.requiredKeys)if(!G.allows(_))$.add("presence",Z.propsByKey[_].value,O.intrinsic.never.internal,{path:[_]});if(U.optional)U.optional=U.optional.filter((_)=>G.allows(_.key));if(U.index)U.index=U.index.flatMap((_)=>{if(_.signature.extends(G))return _;let L=g0(G,_.signature,Q.$);if(L instanceof A)return[];let V=J9(L,_.value,Q.$);if(V.required)U.required=I1(U.required,V.required);if(V.optional)U.optional=I1(U.optional,V.optional);return V.index??[]})}let W={};if(Z.undeclared||X.undeclared)W.undeclared=Z.undeclared==="reject"||X.undeclared==="reject"?"reject":"delete";let Y=v2({kind:"structure",baseInner:W,l:x2(U),r:x2(J),roots:[],ctx:Q});if(Y instanceof A)$.push(...Y);if($.length)return $;return Y}},reduce:(Z,X)=>{if(!Z.required&&!Z.optional)return;let Q={},U=!1,J=Z.optional?[...Z.optional]:[];if(Z.required)for(let $=0;$<Z.required.length;$++){let W=Z.required[$];if(W.key in Q)M(FQ(W.key));if(Q[W.key]=!0,Z.index)for(let Y of Z.index){let G=HQ(W,Y,X);if(G instanceof A)return G}}if(Z.optional)for(let $=0;$<Z.optional.length;$++){let W=Z.optional[$];if(W.key in Q)M(FQ(W.key));if(Q[W.key]=!0,Z.index)for(let Y of Z.index){let G=HQ(W,Y,X);if(G instanceof A)return G;if(G!==null)J[$]=G,U=!0}}if(U)return X.node("structure",{...Z,optional:J},{prereduced:!0})}});MQ=class MQ extends r0{impliedBasis=O.intrinsic.object.internal;impliedSiblings=this.children.flatMap((Z)=>Z.impliedSiblings??[]);props=I1(this.required,this.optional);propsByKey=y(this.props,(Z,X)=>[X.key,X]);propsByKeyReference=U0(this.propsByKey);expression=_Y(this);requiredKeys=this.required?.map((Z)=>Z.key)??[];optionalKeys=this.optional?.map((Z)=>Z.key)??[];literalKeys=[...this.requiredKeys,...this.optionalKeys];_keyof;keyof(){if(this._keyof)return this._keyof;let Z=this.$.units(this.literalKeys).branches;if(this.index)for(let{signature:X}of this.index)Z=Z.concat(X.branches);return this._keyof=this.$.node("union",Z)}map(Z){return this.$.node("structure",this.props.flatMap(Z).reduce((X,Q)=>{let U=this.propsByKey[Q.key];if(e(Q)){if(Q.kind!=="required"&&Q.kind!=="optional")return M(`Map result must have kind "required" or "optional" (was ${Q.kind})`);return X[Q.kind]=u(X[Q.kind],Q),X}let J=Q.kind??U?.kind??"required",$=y(Q,(W,Y)=>(W in l4.implementation.keys)?[W,Y]:[]);return X[J]=u(X[J],this.$.node(J,$)),X},{}))}assertHasKeys(Z){let X=Z.filter((Q)=>!c4(Q,this.keyof()));if(X.length)return M(zQ(this.expression,X))}get(Z,...X){let Q,U=!1,J=zY(Z);if((typeof J==="string"||typeof J==="symbol")&&this.propsByKey[J])Q=this.propsByKey[J].value,U=this.propsByKey[J].required;if(this.index){for(let W of this.index)if(c4(J,W.signature))Q=Q?.and(W.value)??W.value}if(this.sequence&&c4(J,O.intrinsic.nonNegativeIntegerString))if(E(J,"root")){if(this.sequence.variadic)Q=Q?.and(this.sequence.element)??this.sequence.element}else{let W=Number.parseInt(J);if(W<this.sequence.prevariadic.length){let Y=this.sequence.prevariadic[W].node;Q=Q?.and(Y)??Y,U||=W<this.sequence.prefixLength}else if(this.sequence.variadic){let Y=this.$.node("union",this.sequence.variadicOrPostfix);Q=Q?.and(Y)??Y}}if(!Q){if(this.sequence?.variadic&&E(J,"root")&&J.extends(O.intrinsic.number))return M(FY(J.expression,this.sequence.expression));return M(zQ(this.expression,[J]))}let $=Q.get(...X);return U?$:$.or(O.intrinsic.undefined)}pick(...Z){return this.assertHasKeys(Z),this.$.node("structure",this.filterKeys("pick",Z))}omit(...Z){return this.assertHasKeys(Z),this.$.node("structure",this.filterKeys("omit",Z))}optionalize(){let{required:Z,...X}=this.inner;return this.$.node("structure",{...X,optional:this.props.map((Q)=>Q.hasKind("required")?this.$.node("optional",Q.inner):Q)})}require(){let{optional:Z,...X}=this.inner;return this.$.node("structure",{...X,required:this.props.map((Q)=>Q.hasKind("optional")?{key:Q.key,value:Q.value}:Q)})}merge(Z){let X=this.filterKeys("omit",[Z.keyof()]);if(Z.required)X.required=u(X.required,Z.required);if(Z.optional)X.optional=u(X.optional,Z.optional);if(Z.index)X.index=u(X.index,Z.index);if(Z.sequence)X.sequence=Z.sequence;if(Z.undeclared)X.undeclared=Z.undeclared;else delete X.undeclared;return this.$.node("structure",X)}filterKeys(Z,X){let Q=l6(this.inner),U=(J)=>{let $=X.some((W)=>c4(J,W));return Z==="pick"?$:!$};if(Q.required)Q.required=Q.required.filter((J)=>U(J.key));if(Q.optional)Q.optional=Q.optional.filter((J)=>U(J.key));if(Q.index)Q.index=Q.index.filter((J)=>U(J.signature));return Q}traverseAllows=(Z,X)=>this._traverse("Allows",Z,X);traverseApply=(Z,X)=>this._traverse("Apply",Z,X);_traverse=(Z,X,Q)=>{let U=Q?.currentErrorCount??0;for(let J=0;J<this.props.length;J++)if(Z==="Allows"){if(!this.props[J].traverseAllows(X,Q))return!1}else if(this.props[J].traverseApply(X,Q),Q.failFast&&Q.currentErrorCount>U)return!1;if(this.sequence){if(Z==="Allows"){if(!this.sequence.traverseAllows(X,Q))return!1}else if(this.sequence.traverseApply(X,Q),Q.failFast&&Q.currentErrorCount>U)return!1}if(this.index||this.undeclared==="reject"){let J=Object.keys(X);J.push(...Object.getOwnPropertySymbols(X));for(let $=0;$<J.length;$++){let W=J[$];if(this.index){for(let Y of this.index)if(Y.signature.traverseAllows(W,Q)){if(Z==="Allows"){if(!k0(W,()=>Y.value.traverseAllows(X[W],Q),Q))return!1}else if(k0(W,()=>Y.value.traverseApply(X[W],Q),Q),Q.failFast&&Q.currentErrorCount>U)return!1}}if(this.undeclared==="reject"&&!this.declaresKey(W)){if(Z==="Allows")return!1;if(Q.errorFromNodeContext({code:"predicate",expected:"removed",actual:"",relativePath:[W],meta:this.meta}),Q.failFast)return!1}}}if(this.structuralMorph&&Q&&!Q.hasError())Q.queueMorphs([this.structuralMorph]);return!0};get defaultable(){return this.cacheGetter("defaultable",this.optional?.filter((Z)=>Z.hasDefault())??[])}declaresKey=(Z)=>(Z in this.propsByKey)||this.index?.some((X)=>X.signature.allows(Z))||this.sequence!==void 0&&O.intrinsic.nonNegativeIntegerString.allows(Z);_compileDeclaresKey(Z){let X=[];if(this.props.length)X.push(`k in ${this.propsByKeyReference}`);if(this.index)for(let Q of this.index)X.push(Z.invoke(Q.signature,{kind:"Allows",arg:"k"}));if(this.sequence)X.push("$ark.intrinsic.nonNegativeIntegerString.allows(k)");return X.join(" || ")||"false"}get structuralMorph(){return this.cacheGetter("structuralMorph",qY(this))}structuralMorphRef=this.structuralMorph&&U0(this.structuralMorph);compile(Z){if(Z.traversalKind==="Apply")Z.initializeErrorCount();for(let X of this.props)if(Z.check(X),Z.traversalKind==="Apply")Z.returnIfFailFast();if(this.sequence){if(Z.check(this.sequence),Z.traversalKind==="Apply")Z.returnIfFailFast()}if(this.index||this.undeclared==="reject")Z.const("keys","Object.keys(data)"),Z.line("keys.push(...Object.getOwnPropertySymbols(data))"),Z.for("i < keys.length",()=>this.compileExhaustiveEntry(Z));if(Z.traversalKind==="Allows")return Z.return(!0);if(this.structuralMorphRef)Z.if("ctx && !ctx.hasError()",()=>{return Z.line("ctx.queueMorphs(["),HY(Z,this),Z.line("])")})}compileExhaustiveEntry(Z){if(Z.const("k","keys[i]"),this.index)for(let X of this.index)Z.if(`${Z.invoke(X.signature,{arg:"k",kind:"Allows"})}`,()=>Z.traverseKey("k","data[k]",X.value));if(this.undeclared==="reject")Z.if(`!(${this._compileDeclaresKey(Z)})`,()=>{if(Z.traversalKind==="Allows")return Z.return(!1);return Z.line(`ctx.errorFromNodeContext({ code: "predicate", expected: "removed", actual: "", relativePath: [k], meta: ${this.compiledMeta} })`).if("ctx.failFast",()=>Z.return())});return Z}reduceJsonSchema(Z,X){switch(Z.type){case"object":return this.reduceObjectJsonSchema(Z,X);case"array":let Q=this.sequence?.reduceJsonSchema(Z,X)??Z;if(this.props.length||this.index)return X.fallback.arrayObject({code:"arrayObject",base:Q,object:this.reduceObjectJsonSchema({type:"object"},X)});return Q;default:return X0.throwInternalOperandError("structure",Z)}}reduceObjectJsonSchema(Z,X){if(this.props.length){Z.properties={};for(let Q of this.props){let U=Q.value.toJsonSchemaRecurse(X);if(typeof Q.key==="symbol"){X.fallback.symbolKey({code:"symbolKey",base:Z,key:Q.key,value:U,optional:Q.optional});continue}if(Q.hasDefault()){let J=typeof Q.default==="function"?Q.default():Q.default;U.default=O.intrinsic.jsonData.allows(J)?J:X.fallback.defaultValue({code:"defaultValue",base:U,value:J})}Z.properties[Q.key]=U}if(this.requiredKeys.length&&Z.properties)Z.required=this.requiredKeys.filter((Q)=>typeof Q==="string"&&(Q in Z.properties))}if(this.index)for(let Q of this.index){let U=Q.value.toJsonSchemaRecurse(X);if(Q.signature.equals(O.intrinsic.string)){Z.additionalProperties=U;continue}for(let J of Q.signature.branches){if(!J.extends(O.intrinsic.string)){Z=X.fallback.symbolKey({code:"symbolKey",base:Z,key:null,value:U,optional:!1});continue}let $={type:"string"};if(J.hasKind("morph"))$=X.fallback.morph({code:"morph",base:J.rawIn.toJsonSchemaRecurse(X),out:J.rawOut.toJsonSchemaRecurse(X)});if(!J.hasKind("intersection"))return d(`Unexpected index branch kind ${J.kind}.`);let{pattern:W}=J.inner;if(W){let Y=Object.assign($,{pattern:W[0].rule});for(let G=1;G<W.length;G++)$=X.fallback.patternIntersection({code:"patternIntersection",base:Y,pattern:W[G].rule});Z.patternProperties??={},Z.patternProperties[Y.pattern]=U}}}if(this.undeclared&&!Z.additionalProperties)Z.additionalProperties=!1;return Z}};gZ={},vZ={implementation:LY,Node:MQ}});var m2,l3;var Z9=R(()=>{j();k2();i8();r8();_Z();VZ();MZ();RZ();KZ();DZ();PZ();SZ();NZ();c();t1();EZ();u2();IZ();kZ();xZ();m2={...v3,alias:i4.implementation,domain:U9.implementation,unit:CZ.implementation,proto:s4.implementation,union:AZ.implementation,morph:TZ.implementation,intersection:OZ.implementation,divisor:s8.implementation,pattern:LZ.implementation,predicate:c8.implementation,required:bZ.implementation,optional:l4.implementation,index:jZ.implementation,sequence:fZ.implementation,structure:vZ.implementation};O.defaultConfig=E7(Object.assign(y(m2,(Z,X)=>[Z,X.defaults]),{jitless:x7(),clone:f7,onUndeclaredKey:"ignore",exactOptionalPropertyTypes:!0,numberAllowsNaN:!1,dateAllowsInvalid:!1,onFail:null,keywords:{},toJsonSchema:X0.defaultConfig}));O.resolvedConfig=y4(O.defaultConfig,O.config);l3={...x3,alias:i4.Node,domain:U9.Node,unit:CZ.Node,proto:s4.Node,union:AZ.Node,morph:TZ.Node,intersection:OZ.Node,divisor:s8.Node,pattern:LZ.Node,predicate:c8.Node,required:bZ.Node,optional:l4.Node,index:jZ.Node,sequence:fZ.Node,structure:vZ.Node}});var c2,hZ=(Z,X)=>new c2(y(Z,(Q,U)=>[Q,E(U,"module")?hZ(U,X):X.bindReference(U)]));var mZ=R(()=>{j();_0();c2=class c2 extends P8{get[w0](){return"module"}}});var MY=(Z)=>t(Z)?Z:("branches"in Z)&&t(Z.branches)?Z.branches:void 0,RY=(Z,X)=>M(`Node of kind ${X} is not valid as a ${Z} definition`),RQ=(Z)=>`#${Z} duplicates public alias ${Z}`,uZ,OQ,TQ="function $",OY=(Z)=>DQ(Z,PQ(Z)),DQ=(Z,X)=>{let Q=X.write(TQ,4),U=X.compile()();for(let J of Z){if(J.precompilation)continue;if(J.traverseAllows=U[`${J.id}Allows`].bind(U),J.isRoot()&&!J.allowsRequiresContext)J.allows=J.traverseAllows;if(J.traverseApply=U[`${J.id}Apply`].bind(U),U[`${J.id}Optimistic`])J.traverseOptimistic=U[`${J.id}Optimistic`].bind(U);J.precompilation=Q}},PQ=(Z)=>new p6().return(Z.reduce((X,Q)=>{let U=new f4({kind:"Allows"}).indent();Q.compile(U);let J=U.write(`${Q.id}Allows`),$=new f4({kind:"Apply"}).indent();Q.compile($);let W=$.write(`${Q.id}Apply`),Y=`${X}${J},
|
|
41
|
+
})`)}compileIndiscriminable(Z){if(Z.traversalKind==="Apply"){Z.const("errors","[]");for(let X of this.branches)Z.line("ctx.pushBranch()").line(Z.invoke(X)).if("!ctx.hasError()",()=>Z.return(X.includesTransform?"ctx.queuedMorphs.push(...ctx.popBranch().queuedMorphs)":"ctx.popBranch()")).line("errors.push(ctx.popBranch().error)");Z.line(`ctx.errorFromNodeContext({ code: "union", errors, meta: ${this.compiledMeta} })`)}else{let{optimistic:X}=Z;Z.optimistic=!1;for(let Q of this.branches)Z.if(`${Z.invoke(Q)}`,()=>Z.return(X?Q.contextFreeMorph?`${W0(Q.contextFreeMorph)}(data)`:"data":!0));Z.return(X?`"${I0}"`:!1)}}get nestableExpression(){return this.isBoolean?"boolean":`(${this.expression})`}discriminate(){if(this.branches.length<2||this.isCyclic)return null;if(this.unitBranches.length===this.branches.length){let J=k(this.unitBranches,($,W)=>[`${W.rawIn.serializedValue}`,W.hasKind("morph")?W:!0]);return{kind:"unit",path:[],optionallyChainedPropString:"data",cases:J}}let Z=[];for(let J=0;J<this.branches.length-1;J++){let $=this.branches[J];for(let W=J+1;W<this.branches.length;W++){let Y=this.branches[W],G=v0($.rawIn,Y.rawIn,$.$);if(!(G instanceof j))continue;for(let L of G){if(!L.kind||L.optional)continue;let q,V;if(L.kind==="domain"){let{l:H,r:F}=L;q=`"${typeof H==="string"?H:H.domain}"`,V=`"${typeof F==="string"?F:F.domain}"`}else if(L.kind==="unit")q=L.l.serializedValue,V=L.r.serializedValue;else continue;let _=Z.find((H)=>f1(H.path,L.path)&&H.kind===L.kind);if(!_)Z.push({kind:L.kind,cases:{[q]:{branchIndices:[J],condition:L.l},[V]:{branchIndices:[W],condition:L.r}},path:L.path});else{if(_.cases[q])_.cases[q].branchIndices=F1(_.cases[q].branchIndices,J);else _.cases[q]??={branchIndices:[J],condition:L.l};if(_.cases[V])_.cases[V].branchIndices=F1(_.cases[V].branchIndices,W);else _.cases[V]??={branchIndices:[W],condition:L.r}}}}}let X=this.ordered?sW(Z,this.branches):Z;if(!X.length)return null;let Q=cW(X,this),U={};for(let J in Q.best.cases){let $=iW(Q,J);if($===null){U[J]=!0;continue}if($.length===this.branches.length)return null;if(this.ordered)$.sort((G,L)=>G.originalIndex-L.originalIndex);let W=$.map((G)=>G.branch),Y=W.length===1?W[0]:this.$.node("union",this.ordered?{branches:W,ordered:!0}:W);Object.assign(this.referencesById,Y.referencesById),U[J]=Y}if(Q.defaultEntries.length){let J=Q.defaultEntries.map(($)=>$.branch);U.default=this.$.node("union",this.ordered?{branches:J,ordered:!0}:J,{prereduced:!0}),Object.assign(this.referencesById,U.default.referencesById)}return Object.assign(Q.location,{cases:U})}};aW=W0(b7),oW=W0(g),bZ={implementation:dW,Node:LQ},tW={delimiter:" | ",finalDelimiter:" | "}});var UY,_Q,fZ,VQ=(Z,X,Q)=>{if(Z instanceof Date){let U=`data instanceof Date && data.toISOString() === ${X}`;return Q?`!(${U})`:U}if(Number.isNaN(Z))return`${Q?"!":""}Number.isNaN(data)`;return`data ${Q?"!":"="}== ${X}`};var IZ=R(()=>{b();G0();a();s();G9();a2();UY=v({kind:"unit",hasAssociatedError:!0,keys:{unit:{preserveUndefined:!0,serialize:(Z)=>Z instanceof Date?Z.toISOString():c0(Z)}},normalize:(Z)=>Z,defaults:{description:(Z)=>g(Z.unit),problem:({expected:Z,actual:X})=>`${Z===X?`must be reference equal to ${Z} (serialized to the same value)`:`must be ${Z} (was ${X})`}`},intersections:{unit:(Z,X)=>j.init("unit",Z,X),...O1("unit",(Z,X)=>{if(X.allows(Z.unit))return Z;let Q=X.hasKind("intersection")?X.basis:X;if(Q){let U=Q.hasKind("domain")?Q:T.intrinsic.object;if(Z.domain!==U.domain){let J=Z.domain==="undefined"||Z.domain==="null"||Z.domain==="boolean"?Z.domain:T.intrinsic[Z.domain];return j.init("domain",J,U)}}return j.init("assignability",Z,X.hasKind("intersection")?X.children.find((U)=>!U.allows(Z.unit)):X)})}});_Q=class _Q extends w2{compiledValue=this.json.unit;serializedValue=typeof this.unit==="string"||this.unit instanceof Date?JSON.stringify(this.compiledValue):`${this.compiledValue}`;compiledCondition=VQ(this.unit,this.serializedValue);compiledNegation=VQ(this.unit,this.serializedValue,"negated");expression=g(this.unit);domain=H0(this.unit);get defaultShortDescription(){return this.domain==="object"?f0.object:this.description}innerToJsonSchema(Z){return this.unit===null?{type:"null"}:T.intrinsic.jsonPrimitive.allows(this.unit)?{const:this.unit}:Z.fallback.unit({code:"unit",base:{},unit:this.unit})}traverseAllows=this.unit instanceof Date?(Z)=>Z instanceof Date&&Z.toISOString()===this.compiledValue:Number.isNaN(this.unit)?(Z)=>Number.isNaN(Z):(Z)=>Z===this.unit};fZ={implementation:UY,Node:_Q}});var JY,zQ,yZ,$Y=(Z)=>`Index keys ${Z.join(", ")} should be specified as named props.`,WY=(Z)=>`Indexed key definition '${Z}' must be a string or symbol`;var kZ=R(()=>{b();m0();D2();G0();a();i0();s();R1();JY=v({kind:"index",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{signature:{child:!0,parse:(Z,X)=>{let Q=X.$.parseSchema(Z);if(!Q.extends(T.intrinsic.key))return M(WY(Q.expression));let U=Q.branches.filter((J)=>J.hasKind("unit"));if(U.length)return M($Y(U.map((J)=>g(J.unit))));return Q}},value:{child:!0,parse:(Z,X)=>X.$.parseSchema(Z)}},normalize:(Z)=>Z,defaults:{description:(Z)=>`[${Z.signature.expression}]: ${Z.value.description}`},intersections:{index:(Z,X,Q)=>{if(Z.signature.equals(X.signature)){let U=U0(Z.value,X.value,Q),J=U instanceof j?T.intrinsic.never.internal:U;return Q.$.node("index",{signature:Z.signature,value:J})}if(Z.signature.extends(X.signature)&&Z.value.subsumes(X.value))return X;if(X.signature.extends(Z.signature)&&X.value.subsumes(Z.value))return Z;return null}}});zQ=class zQ extends s0{impliedBasis=T.intrinsic.object.internal;expression=`[${this.signature.expression}]: ${this.value.expression}`;flatRefs=u(this.value.flatRefs.map((Z)=>W1([this.signature,...Z.path],Z.node)),W1([this.signature],this.value));traverseAllows=(Z,X)=>B2(Z).every((Q)=>{if(this.signature.traverseAllows(Q[0],X))return g0(Q[0],()=>this.value.traverseAllows(Q[1],X),X);return!0});traverseApply=(Z,X)=>{for(let Q of B2(Z))if(this.signature.traverseAllows(Q[0],X))g0(Q[0],()=>this.value.traverseApply(Q[1],X),X)};_transform(Z,X){X.path.push(this.signature);let Q=super._transform(Z,X);return X.path.pop(),Q}compile(){}};yZ={implementation:JY,Node:zQ}});var YY,HQ,gZ;var vZ=R(()=>{a();s4();YY=v({kind:"required",hasAssociatedError:!0,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(Z,X)=>X.$.parseSchema(Z)}},normalize:(Z)=>Z,defaults:{description:(Z)=>`${Z.compiledKey}: ${Z.value.description}`,expected:(Z)=>Z.missingValueDescription,actual:()=>"missing"},intersections:{required:c4,optional:c4}});HQ=class HQ extends i4{expression=`${this.compiledKey}: ${this.value.expression}`;errorContext=Object.freeze({code:"required",missingValueDescription:this.value.defaultShortDescription,relativePath:[this.key],meta:this.meta});compiledErrorContext=o1(this.errorContext)};gZ={implementation:YY,Node:HQ}});var GY,MQ,LY,qY=(Z)=>{if(!Z.defaultables)return[];let X=[],Q="[",U=Z.prefixLength+Z.defaultablesLength-1;for(let J=Z.prefixLength;J<=U;J++){let[$,W]=Z.defaultables[J-Z.prefixLength];X.push(KZ(J,$,W)),Q+=`${J}: ${$.id} = ${c0(W)}, `}return Q+="]",LY[Q]??=X},xZ,VY=(Z)=>{let X=[];if(Z.prefix)for(let Q of Z.prefix)X.push({kind:"prefix",node:Q});if(Z.defaultables)for(let[Q,U]of Z.defaultables)X.push({kind:"defaultables",node:Q,default:U});if(Z.optionals)for(let Q of Z.optionals)X.push({kind:"optionals",node:Q});if(Z.variadic)X.push({kind:"variadic",node:Z.variadic});if(Z.postfix)for(let Q of Z.postfix)X.push({kind:"postfix",node:Q});return X},FQ=(Z)=>Z.reduce((X,Q)=>{if(Q.kind==="variadic")X.variadic=Q.node;else if(Q.kind==="defaultables")X.defaultables=u(X.defaultables,[[Q.node,Q.default]]);else X[Q.kind]=u(X[Q.kind],Q.node);return X},{}),hZ="A postfix required element cannot follow an optional or defaultable element",_Y="A postfix element requires a variadic element",e4=(Z)=>{let[X,...Q]=Z.l,[U,...J]=Z.r;if(!X||!U)return Z;let $=Q[Q.length-1]?.kind==="postfix",W=J[J.length-1]?.kind==="postfix",Y=X.kind==="prefix"||U.kind==="prefix"?"prefix":X.kind==="postfix"||U.kind==="postfix"?"postfix":X.kind==="variadic"&&U.kind==="variadic"?"variadic":$||W?"prefix":X.kind==="defaultables"||U.kind==="defaultables"?"defaultables":"optionals";if(X.kind==="prefix"&&U.kind==="variadic"&&W){let V=e4({...Z,fixedVariants:[],r:J.map((_)=>({..._,kind:"prefix"}))});if(V.disjoint.length===0)Z.fixedVariants.push(V)}else if(U.kind==="prefix"&&X.kind==="variadic"&&$){let V=e4({...Z,fixedVariants:[],l:Q.map((_)=>({..._,kind:"prefix"}))});if(V.disjoint.length===0)Z.fixedVariants.push(V)}let G=U0(X.node,U.node,Z.ctx);if(G instanceof j)if(Y==="prefix"||Y==="postfix")Z.disjoint.push(...G.withPrefixKey(Y==="prefix"?Z.result.length:`-${Q.length+1}`,BQ(X)&&BQ(U)?"required":"optional")),Z.result=[...Z.result,{kind:Y,node:T.intrinsic.never.internal}];else if(Y==="optionals"||Y==="defaultables")return Z;else return e4({...Z,fixedVariants:[],l:Q.map((V)=>({...V,kind:"prefix"})),r:Q.map((V)=>({...V,kind:"prefix"}))});else if(Y==="defaultables"){if(X.kind==="defaultables"&&U.kind==="defaultables"&&X.default!==U.default)M(TZ(X.default,U.default));Z.result=[...Z.result,{kind:Y,node:G,default:X.kind==="defaultables"?X.default:U.kind==="defaultables"?U.default:i(`Unexpected defaultable intersection from ${X.kind} and ${U.kind} elements.`)}]}else Z.result=[...Z.result,{kind:Y,node:G}];let L=Z.l.length,q=Z.r.length;if(X.kind!=="variadic"||L>=q&&(U.kind==="variadic"||q===1))Z.l=Q;if(U.kind!=="variadic"||q>=L&&(X.kind==="variadic"||L===1))Z.r=J;return e4(Z)},BQ=(Z)=>Z.kind==="prefix"||Z.kind==="postfix";var mZ=R(()=>{b();m0();D2();G0();a();i0();s();R1();s2();s4();GY=v({kind:"sequence",hasAssociatedError:!1,collapsibleKey:"variadic",keys:{prefix:{child:!0,parse:(Z,X)=>{if(Z.length===0)return;return Z.map((Q)=>X.$.parseSchema(Q))}},optionals:{child:!0,parse:(Z,X)=>{if(Z.length===0)return;return Z.map((Q)=>X.$.parseSchema(Q))}},defaultables:{child:(Z)=>Z.map((X)=>X[0]),parse:(Z,X)=>{if(Z.length===0)return;return Z.map((Q)=>{let U=X.$.parseSchema(Q[0]);return a4(U,Q[1],null),[U,Q[1]]})},serialize:(Z)=>Z.map((X)=>[X[0].collapsibleJson,c0(X[1])]),reduceIo:(Z,X,Q)=>{if(Z==="in"){X.optionals=Q.map((U)=>U[0].rawIn);return}X.prefix=Q.map((U)=>U[0].rawOut);return}},variadic:{child:!0,parse:(Z,X)=>X.$.parseSchema(Z,X)},minVariadicLength:{parse:(Z)=>Z===0?void 0:Z},postfix:{child:!0,parse:(Z,X)=>{if(Z.length===0)return;return Z.map((Q)=>X.$.parseSchema(Q))}}},normalize:(Z)=>{if(typeof Z==="string")return{variadic:Z};if("variadic"in Z||"prefix"in Z||"defaultables"in Z||"optionals"in Z||"postfix"in Z||"minVariadicLength"in Z){if(Z.postfix?.length){if(!Z.variadic)return M(_Y);if(Z.optionals?.length||Z.defaultables?.length)return M(hZ)}if(Z.minVariadicLength&&!Z.variadic)return M("minVariadicLength may not be specified without a variadic element");return Z}return{variadic:Z}},reduce:(Z,X)=>{let Q=Z.minVariadicLength??0,U=Z.prefix?.slice()??[],J=Z.defaultables?.slice()??[],$=Z.optionals?.slice()??[],W=Z.postfix?.slice()??[];if(Z.variadic){while($[$.length-1]?.equals(Z.variadic))$.pop();if($.length===0&&J.length===0)while(U[U.length-1]?.equals(Z.variadic))U.pop(),Q++;while(W[0]?.equals(Z.variadic))W.shift(),Q++}else if($.length===0&&J.length===0)U.push(...W.splice(0));if(Q!==Z.minVariadicLength||Z.prefix&&Z.prefix.length!==U.length)return X.node("sequence",{...Z,prefix:U,defaultables:J,optionals:$,postfix:W,minVariadicLength:Q},{prereduced:!0})},defaults:{description:(Z)=>{if(Z.isVariadicOnly)return`${Z.variadic.nestableExpression}[]`;return`[${Z.tuple.map((Q)=>Q.kind==="defaultables"?`${Q.node.nestableExpression} = ${g(Q.default)}`:Q.kind==="optionals"?`${Q.node.nestableExpression}?`:Q.kind==="variadic"?`...${Q.node.nestableExpression}[]`:Q.node.expression).join(", ")}]`}},intersections:{sequence:(Z,X,Q)=>{let U=e4({l:Z.tuple,r:X.tuple,disjoint:new j,result:[],fixedVariants:[],ctx:Q}),J=U.disjoint.length===0?[U,...U.fixedVariants]:U.fixedVariants;return J.length===0?U.disjoint:J.length===1?Q.$.node("sequence",FQ(J[0].result)):Q.$.node("union",J.map(($)=>({proto:Array,sequence:FQ($.result)})))}}});MQ=class MQ extends s0{impliedBasis=T.intrinsic.Array.internal;tuple=VY(this.inner);prefixLength=this.prefix?.length??0;defaultablesLength=this.defaultables?.length??0;optionalsLength=this.optionals?.length??0;postfixLength=this.postfix?.length??0;defaultablesAndOptionals=[];prevariadic=this.tuple.filter((Z)=>{if(Z.kind==="defaultables"||Z.kind==="optionals")return this.defaultablesAndOptionals.push(Z.node),!0;return Z.kind==="prefix"});variadicOrPostfix=E1(this.variadic&&[this.variadic],this.postfix);flatRefs=this.addFlatRefs();addFlatRefs(){return c8(this.flatRefs,this.prevariadic.flatMap((Z,X)=>u(Z.node.flatRefs.map((Q)=>W1([`${X}`,...Q.path],Q.node)),W1([`${X}`],Z.node)))),c8(this.flatRefs,this.variadicOrPostfix.flatMap((Z)=>u(Z.flatRefs.map((X)=>W1([T.intrinsic.nonNegativeIntegerString.internal,...X.path],X.node)),W1([T.intrinsic.nonNegativeIntegerString.internal],Z)))),this.flatRefs}isVariadicOnly=this.prevariadic.length+this.postfixLength===0;minVariadicLength=this.inner.minVariadicLength??0;minLength=this.prefixLength+this.minVariadicLength+this.postfixLength;minLengthNode=this.minLength===0?null:this.$.node("minLength",this.minLength);maxLength=this.variadic?null:this.tuple.length;maxLengthNode=this.maxLength===null?null:this.$.node("maxLength",this.maxLength);impliedSiblings=this.minLengthNode?this.maxLengthNode?[this.minLengthNode,this.maxLengthNode]:[this.minLengthNode]:this.maxLengthNode?[this.maxLengthNode]:[];defaultValueMorphs=qY(this);defaultValueMorphsReference=this.defaultValueMorphs.length?W0(this.defaultValueMorphs):void 0;elementAtIndex(Z,X){if(X<this.prevariadic.length)return this.tuple[X];let Q=Z.length-this.postfixLength;if(X>=Q)return{kind:"postfix",node:this.postfix[X-Q]};return{kind:"variadic",node:this.variadic??i(`Unexpected attempt to access index ${X} on ${this}`)}}traverseAllows=(Z,X)=>{for(let Q=0;Q<Z.length;Q++)if(!this.elementAtIndex(Z,Q).node.traverseAllows(Z[Q],X))return!1;return!0};traverseApply=(Z,X)=>{let Q=0;for(;Q<Z.length;Q++)g0(Q,()=>this.elementAtIndex(Z,Q).node.traverseApply(Z[Q],X),X)};get element(){return this.cacheGetter("element",this.$.node("union",this.children))}compile(Z){if(this.prefix)for(let[X,Q]of this.prefix.entries())Z.traverseKey(`${X}`,`data[${X}]`,Q);for(let[X,Q]of this.defaultablesAndOptionals.entries()){let U=`${X+this.prefixLength}`;Z.if(`${U} >= data.length`,()=>Z.traversalKind==="Allows"?Z.return(!0):Z.return()),Z.traverseKey(U,`data[${U}]`,Q)}if(this.variadic){if(this.postfix)Z.const("firstPostfixIndex",`data.length${this.postfix?`- ${this.postfix.length}`:""}`);if(Z.for(`i < ${this.postfix?"firstPostfixIndex":"data.length"}`,()=>Z.traverseKey("i","data[i]",this.variadic),this.prevariadic.length),this.postfix)for(let[X,Q]of this.postfix.entries()){let U=`firstPostfixIndex + ${X}`;Z.traverseKey(U,`data[${U}]`,Q)}}if(Z.traversalKind==="Allows")Z.return(!0)}_transform(Z,X){X.path.push(T.intrinsic.nonNegativeIntegerString.internal);let Q=super._transform(Z,X);return X.path.pop(),Q}expression=this.description;reduceJsonSchema(Z,X){let Q=X.target==="draft-07";if(this.prevariadic.length){let U=this.prevariadic.map((J)=>{let $=J.node.toJsonSchemaRecurse(X);if(J.kind==="defaultables"){let W=typeof J.default==="function"?J.default():J.default;$.default=T.intrinsic.jsonData.allows(W)?W:X.fallback.defaultValue({code:"defaultValue",base:$,value:W})}return $});if(Q)Z.items=U;else Z.prefixItems=U}if(this.minLength)Z.minItems=this.minLength;if(this.variadic){let U=this.variadic.toJsonSchemaRecurse(X);if(Q&&this.prevariadic.length)Z.additionalItems=U;else Z.items=U;if(this.maxLength)Z.maxItems=this.maxLength;if(this.postfix){let J=this.postfix.map(($)=>$.toJsonSchemaRecurse(X));Z=X.fallback.arrayPostfix({code:"arrayPostfix",base:Z,elements:J})}}else{if(Q)Z.additionalItems=!1;else Z.items=!1;delete Z.maxItems}return Z}};LY={},xZ={implementation:GY,Node:MQ}});var KQ=(Z)=>(X)=>{if(X.props.length||X.index){let Q=X.index?.map((J)=>J[Z])??[];for(let J of X.props)Q.push(J[Z]);if(X.undeclared)Q.push(`+ (undeclared): ${X.undeclared}`);let U=`{ ${Q.join(", ")} }`;return X.sequence?`${U} & ${X.sequence.description}`:U}return X.sequence?.description??"{}"},zY,HY,RQ=(Z,X,Q)=>{let U=Z.required?"required":"optional";if(!X.signature.allows(Z.key))return null;let J=v0(Z.value,X.value,Q);if(J instanceof j)return U==="optional"?Q.node("optional",{key:Z.key,value:T.intrinsic.never.internal}):J.withPrefixKey(Z.key,Z.kind);return null},FY,DQ,uZ,BY=(Z)=>{let X="";for(let Q=0;Q<Z.defaultable.length;Q++)X+=Z.defaultable[Q].defaultValueMorphRef;if(Z.sequence?.defaultValueMorphsReference)X+=Z.sequence?.defaultValueMorphsReference;if(Z.undeclared==="delete"){if(X+="delete !(",Z.required)for(let Q of Z.required)X+=Q.compiledKey+" | ";if(Z.optional)for(let Q of Z.optional)X+=Q.compiledKey+" | ";if(Z.index)for(let Q of Z.index)X+=Q.signature.id+" | ";if(Z.sequence)if(Z.sequence.maxLength===null)X+=I.nonNegativeIntegerString.id;else for(let Q=0;Q<Z.sequence.tuple.length;Q++)X+=Q+" | ";X+=")"}return X},MY=(Z)=>{let X=BY(Z);if(!X)return;if(uZ[X])return uZ[X];let Q=(U,J)=>{for(let $=0;$<Z.defaultable.length;$++)if(!(Z.defaultable[$].key in U))Z.defaultable[$].defaultValueMorph(U,J);if(Z.sequence?.defaultables)for(let $=U.length-Z.sequence.prefixLength;$<Z.sequence.defaultables.length;$++)Z.sequence.defaultValueMorphs[$](U,J);if(Z.undeclared==="delete"){for(let $ in U)if(!Z.declaresKey($))delete U[$]}return U};return uZ[X]=Q},RY=(Z,X)=>{let U=`(data${X.defaultable.some((J)=>J.defaultValueMorph.length===2)||X.sequence?.defaultValueMorphs.some((J)=>J.length===2)?", ctx":""})`;return Z.block(`${U} => `,(J)=>{for(let $=0;$<X.defaultable.length;$++){let{serializedKey:W,defaultValueMorphRef:Y}=X.defaultable[$];J.if(`!(${W} in data)`,(G)=>G.line(`${Y}${U}`))}if(X.sequence?.defaultables)J.for(`i < ${X.sequence.defaultables.length}`,($)=>$.set("data[i]",5),`data.length - ${X.sequence.prefixLength}`);if(X.undeclared==="delete")J.forIn("data",($)=>$.if(`!(${X._compileDeclaresKey($)})`,(W)=>W.line("delete data[k]")));return J.return("data")})},pZ,OY=(Z)=>{if(E(Z,"root")&&Z.hasKind("unit"))Z=Z.unit;if(typeof Z==="number")Z=`${Z}`;return Z},TY=(Z,X)=>`${Z} is not allowed as an array index on ${X}. Use the 'nonNegativeIntegerString' keyword instead.`,q9=(Z,X,Q)=>{let[U,J]=S7(Z.branches,(W)=>W.hasKind("unit"));if(!U.length)return{index:Q.node("index",{signature:Z,value:X})};let $={};for(let W of U){let Y=Q.node("required",{key:W.unit,value:X});$[Y.kind]=u($[Y.kind],Y)}if(J.length)$.index=Q.node("index",{signature:J,value:X});return $},KY=(Z)=>E(Z,"root")?Z.expression:g(Z),OQ=(Z,X)=>`Key${X.length===1?"":"s"} ${X.map(KY).join(", ")} ${X.length===1?"does":"do"} not exist on ${Z}`,TQ=(Z)=>`Duplicate key ${J1(Z)}`;var lZ=R(()=>{b();m0();Y9();Z2();a1();G0();a();i0();s();n1();R1();V0();s2();zY=KQ("description"),HY=KQ("expression"),FY=v({kind:"structure",hasAssociatedError:!1,normalize:(Z)=>Z,applyConfig:(Z,X)=>{if(!Z.undeclared&&X.onUndeclaredKey!=="ignore")return{...Z,undeclared:X.onUndeclaredKey};return Z},keys:{required:{child:!0,parse:w0("required"),reduceIo:(Z,X,Q)=>{X.required=u(X.required,Q.map((U)=>Z==="in"?U.rawIn:U.rawOut));return}},optional:{child:!0,parse:w0("optional"),reduceIo:(Z,X,Q)=>{if(Z==="in"){X.optional=Q.map((U)=>U.rawIn);return}for(let U of Q)X[U.outProp.kind]=u(X[U.outProp.kind],U.outProp.rawOut)}},index:{child:!0,parse:w0("index")},sequence:{child:!0,parse:w0("sequence")},undeclared:{parse:(Z)=>Z==="ignore"?void 0:Z,reduceIo:(Z,X,Q)=>{if(Q==="reject"){X.undeclared="reject";return}if(Z==="in")delete X.undeclared;else X.undeclared="reject"}}},defaults:{description:zY},intersections:{structure:(Z,X,Q)=>{let U={...Z.inner},J={...X.inner},$=new j;if(Z.undeclared){let G=Z.keyof();for(let L of X.requiredKeys)if(!G.allows(L))$.add("presence",T.intrinsic.never.internal,X.propsByKey[L].value,{path:[L]});if(J.optional)J.optional=J.optional.filter((L)=>G.allows(L.key));if(J.index)J.index=J.index.flatMap((L)=>{if(L.signature.extends(G))return L;let q=v0(G,L.signature,Q.$);if(q instanceof j)return[];let V=q9(q,L.value,Q.$);if(V.required)J.required=E1(J.required,V.required);if(V.optional)J.optional=E1(J.optional,V.optional);return V.index??[]})}if(X.undeclared){let G=X.keyof();for(let L of Z.requiredKeys)if(!G.allows(L))$.add("presence",Z.propsByKey[L].value,T.intrinsic.never.internal,{path:[L]});if(U.optional)U.optional=U.optional.filter((L)=>G.allows(L.key));if(U.index)U.index=U.index.flatMap((L)=>{if(L.signature.extends(G))return L;let q=v0(G,L.signature,Q.$);if(q instanceof j)return[];let V=q9(q,L.value,Q.$);if(V.required)U.required=E1(U.required,V.required);if(V.optional)U.optional=E1(U.optional,V.optional);return V.index??[]})}let W={};if(Z.undeclared||X.undeclared)W.undeclared=Z.undeclared==="reject"||X.undeclared==="reject"?"reject":"delete";let Y=l2({kind:"structure",baseInner:W,l:d2(U),r:d2(J),roots:[],ctx:Q});if(Y instanceof j)$.push(...Y);if($.length)return $;return Y}},reduce:(Z,X)=>{if(!Z.required&&!Z.optional)return;let Q={},U=!1,J=Z.optional?[...Z.optional]:[];if(Z.required)for(let $=0;$<Z.required.length;$++){let W=Z.required[$];if(W.key in Q)M(TQ(W.key));if(Q[W.key]=!0,Z.index)for(let Y of Z.index){let G=RQ(W,Y,X);if(G instanceof j)return G}}if(Z.optional)for(let $=0;$<Z.optional.length;$++){let W=Z.optional[$];if(W.key in Q)M(TQ(W.key));if(Q[W.key]=!0,Z.index)for(let Y of Z.index){let G=RQ(W,Y,X);if(G instanceof j)return G;if(G!==null)J[$]=G,U=!0}}if(U)return X.node("structure",{...Z,optional:J},{prereduced:!0})}});DQ=class DQ extends s0{impliedBasis=T.intrinsic.object.internal;impliedSiblings=this.children.flatMap((Z)=>Z.impliedSiblings??[]);props=E1(this.required,this.optional);propsByKey=k(this.props,(Z,X)=>[X.key,X]);propsByKeyReference=W0(this.propsByKey);expression=HY(this);requiredKeys=this.required?.map((Z)=>Z.key)??[];optionalKeys=this.optional?.map((Z)=>Z.key)??[];literalKeys=[...this.requiredKeys,...this.optionalKeys];_keyof;keyof(){if(this._keyof)return this._keyof;let Z=this.$.units(this.literalKeys).branches;if(this.index)for(let{signature:X}of this.index)Z=Z.concat(X.branches);return this._keyof=this.$.node("union",Z)}map(Z){return this.$.node("structure",this.props.flatMap(Z).reduce((X,Q)=>{let U=this.propsByKey[Q.key];if(Q0(Q)){if(Q.kind!=="required"&&Q.kind!=="optional")return M(`Map result must have kind "required" or "optional" (was ${Q.kind})`);return X[Q.kind]=u(X[Q.kind],Q),X}let J=Q.kind??U?.kind??"required",$=k(Q,(W,Y)=>(W in r4.implementation.keys)?[W,Y]:[]);return X[J]=u(X[J],this.$.node(J,$)),X},{}))}assertHasKeys(Z){let X=Z.filter((Q)=>!o4(Q,this.keyof()));if(X.length)return M(OQ(this.expression,X))}get(Z,...X){let Q,U=!1,J=OY(Z);if((typeof J==="string"||typeof J==="symbol")&&this.propsByKey[J])Q=this.propsByKey[J].value,U=this.propsByKey[J].required;if(this.index){for(let W of this.index)if(o4(J,W.signature))Q=Q?.and(W.value)??W.value}if(this.sequence&&o4(J,T.intrinsic.nonNegativeIntegerString))if(E(J,"root")){if(this.sequence.variadic)Q=Q?.and(this.sequence.element)??this.sequence.element}else{let W=Number.parseInt(J);if(W<this.sequence.prevariadic.length){let Y=this.sequence.prevariadic[W].node;Q=Q?.and(Y)??Y,U||=W<this.sequence.prefixLength}else if(this.sequence.variadic){let Y=this.$.node("union",this.sequence.variadicOrPostfix);Q=Q?.and(Y)??Y}}if(!Q){if(this.sequence?.variadic&&E(J,"root")&&J.extends(T.intrinsic.number))return M(TY(J.expression,this.sequence.expression));return M(OQ(this.expression,[J]))}let $=Q.get(...X);return U?$:$.or(T.intrinsic.undefined)}pick(...Z){return this.assertHasKeys(Z),this.$.node("structure",this.filterKeys("pick",Z))}omit(...Z){return this.assertHasKeys(Z),this.$.node("structure",this.filterKeys("omit",Z))}optionalize(){let{required:Z,...X}=this.inner;return this.$.node("structure",{...X,optional:this.props.map((Q)=>Q.hasKind("required")?this.$.node("optional",Q.inner):Q)})}require(){let{optional:Z,...X}=this.inner;return this.$.node("structure",{...X,required:this.props.map((Q)=>Q.hasKind("optional")?{key:Q.key,value:Q.value}:Q)})}merge(Z){let X=this.filterKeys("omit",[Z.keyof()]);if(Z.required)X.required=u(X.required,Z.required);if(Z.optional)X.optional=u(X.optional,Z.optional);if(Z.index)X.index=u(X.index,Z.index);if(Z.sequence)X.sequence=Z.sequence;if(Z.undeclared)X.undeclared=Z.undeclared;else delete X.undeclared;return this.$.node("structure",X)}filterKeys(Z,X){let Q=a6(this.inner),U=(J)=>{let $=X.some((W)=>o4(J,W));return Z==="pick"?$:!$};if(Q.required)Q.required=Q.required.filter((J)=>U(J.key));if(Q.optional)Q.optional=Q.optional.filter((J)=>U(J.key));if(Q.index)Q.index=Q.index.filter((J)=>U(J.signature));return Q}traverseAllows=(Z,X)=>this._traverse("Allows",Z,X);traverseApply=(Z,X)=>this._traverse("Apply",Z,X);_traverse=(Z,X,Q)=>{let U=Q?.currentErrorCount??0;for(let J=0;J<this.props.length;J++)if(Z==="Allows"){if(!this.props[J].traverseAllows(X,Q))return!1}else if(this.props[J].traverseApply(X,Q),Q.failFast&&Q.currentErrorCount>U)return!1;if(this.sequence){if(Z==="Allows"){if(!this.sequence.traverseAllows(X,Q))return!1}else if(this.sequence.traverseApply(X,Q),Q.failFast&&Q.currentErrorCount>U)return!1}if(this.index||this.undeclared==="reject"){let J=Object.keys(X);J.push(...Object.getOwnPropertySymbols(X));for(let $=0;$<J.length;$++){let W=J[$];if(this.index){for(let Y of this.index)if(Y.signature.traverseAllows(W,Q)){if(Z==="Allows"){if(!g0(W,()=>Y.value.traverseAllows(X[W],Q),Q))return!1}else if(g0(W,()=>Y.value.traverseApply(X[W],Q),Q),Q.failFast&&Q.currentErrorCount>U)return!1}}if(this.undeclared==="reject"&&!this.declaresKey(W)){if(Z==="Allows")return!1;if(Q.errorFromNodeContext({code:"predicate",expected:"removed",actual:"",relativePath:[W],meta:this.meta}),Q.failFast)return!1}}}if(this.structuralMorph&&Q&&!Q.hasError())Q.queueMorphs([this.structuralMorph]);return!0};get defaultable(){return this.cacheGetter("defaultable",this.optional?.filter((Z)=>Z.hasDefault())??[])}declaresKey=(Z)=>(Z in this.propsByKey)||this.index?.some((X)=>X.signature.allows(Z))||this.sequence!==void 0&&T.intrinsic.nonNegativeIntegerString.allows(Z);_compileDeclaresKey(Z){let X=[];if(this.props.length)X.push(`k in ${this.propsByKeyReference}`);if(this.index)for(let Q of this.index)X.push(Z.invoke(Q.signature,{kind:"Allows",arg:"k"}));if(this.sequence)X.push("$ark.intrinsic.nonNegativeIntegerString.allows(k)");return X.join(" || ")||"false"}get structuralMorph(){return this.cacheGetter("structuralMorph",MY(this))}structuralMorphRef=this.structuralMorph&&W0(this.structuralMorph);compile(Z){if(Z.traversalKind==="Apply")Z.initializeErrorCount();for(let X of this.props)if(Z.check(X),Z.traversalKind==="Apply")Z.returnIfFailFast();if(this.sequence){if(Z.check(this.sequence),Z.traversalKind==="Apply")Z.returnIfFailFast()}if(this.index||this.undeclared==="reject")Z.const("keys","Object.keys(data)"),Z.line("keys.push(...Object.getOwnPropertySymbols(data))"),Z.for("i < keys.length",()=>this.compileExhaustiveEntry(Z));if(Z.traversalKind==="Allows")return Z.return(!0);if(this.structuralMorphRef)Z.if("ctx && !ctx.hasError()",()=>{return Z.line("ctx.queueMorphs(["),RY(Z,this),Z.line("])")})}compileExhaustiveEntry(Z){if(Z.const("k","keys[i]"),this.index)for(let X of this.index)Z.if(`${Z.invoke(X.signature,{arg:"k",kind:"Allows"})}`,()=>Z.traverseKey("k","data[k]",X.value));if(this.undeclared==="reject")Z.if(`!(${this._compileDeclaresKey(Z)})`,()=>{if(Z.traversalKind==="Allows")return Z.return(!1);return Z.line(`ctx.errorFromNodeContext({ code: "predicate", expected: "removed", actual: "", relativePath: [k], meta: ${this.compiledMeta} })`).if("ctx.failFast",()=>Z.return())});return Z}reduceJsonSchema(Z,X){switch(Z.type){case"object":return this.reduceObjectJsonSchema(Z,X);case"array":let Q=this.sequence?.reduceJsonSchema(Z,X)??Z;if(this.props.length||this.index)return X.fallback.arrayObject({code:"arrayObject",base:Q,object:this.reduceObjectJsonSchema({type:"object"},X)});return Q;default:return J0.throwInternalOperandError("structure",Z)}}reduceObjectJsonSchema(Z,X){if(this.props.length){Z.properties={};for(let Q of this.props){let U=Q.value.toJsonSchemaRecurse(X);if(typeof Q.key==="symbol"){X.fallback.symbolKey({code:"symbolKey",base:Z,key:Q.key,value:U,optional:Q.optional});continue}if(Q.hasDefault()){let J=typeof Q.default==="function"?Q.default():Q.default;U.default=T.intrinsic.jsonData.allows(J)?J:X.fallback.defaultValue({code:"defaultValue",base:U,value:J})}Z.properties[Q.key]=U}if(this.requiredKeys.length&&Z.properties)Z.required=this.requiredKeys.filter((Q)=>typeof Q==="string"&&(Q in Z.properties))}if(this.index)for(let Q of this.index){let U=Q.value.toJsonSchemaRecurse(X);if(Q.signature.equals(T.intrinsic.string)){Z.additionalProperties=U;continue}for(let J of Q.signature.branches){if(!J.extends(T.intrinsic.string)){Z=X.fallback.symbolKey({code:"symbolKey",base:Z,key:null,value:U,optional:!1});continue}let $={type:"string"};if(J.hasKind("morph"))$=X.fallback.morph({code:"morph",base:J.rawIn.toJsonSchemaRecurse(X),out:J.rawOut.toJsonSchemaRecurse(X)});if(!J.hasKind("intersection"))return i(`Unexpected index branch kind ${J.kind}.`);let{pattern:W}=J.inner;if(W){let Y=Object.assign($,{pattern:W[0].rule});for(let G=1;G<W.length;G++)$=X.fallback.patternIntersection({code:"patternIntersection",base:Y,pattern:W[G].rule});Z.patternProperties??={},Z.patternProperties[Y.pattern]=U}}}if(this.undeclared&&!Z.additionalProperties)Z.additionalProperties=!1;return Z}};uZ={},pZ={implementation:FY,Node:DQ}});var i2,r3;var W9=R(()=>{b();u2();n8();e8();HZ();BZ();DZ();wZ();AZ();jZ();CZ();EZ();IZ();s();n1();kZ();s2();vZ();mZ();lZ();i2={...p3,alias:n4.implementation,domain:L9.implementation,unit:fZ.implementation,proto:t4.implementation,union:bZ.implementation,morph:SZ.implementation,intersection:PZ.implementation,divisor:t8.implementation,pattern:FZ.implementation,predicate:o8.implementation,required:gZ.implementation,optional:r4.implementation,index:yZ.implementation,sequence:xZ.implementation,structure:pZ.implementation};T.defaultConfig=k7(Object.assign(k(i2,(Z,X)=>[Z,X.defaults]),{jitless:l7(),clone:x7,onUndeclaredKey:"ignore",exactOptionalPropertyTypes:!0,numberAllowsNaN:!1,dateAllowsInvalid:!1,onFail:null,keywords:{},toJsonSchema:J0.defaultConfig}));T.resolvedConfig=h4(T.defaultConfig,T.config);r3={...l3,alias:n4.Node,domain:L9.Node,unit:fZ.Node,proto:t4.Node,union:bZ.Node,morph:SZ.Node,intersection:PZ.Node,divisor:t8.Node,pattern:FZ.Node,predicate:o8.Node,required:gZ.Node,optional:r4.Node,index:yZ.Node,sequence:xZ.Node,structure:pZ.Node}});var n2,dZ=(Z,X)=>new n2(k(Z,(Q,U)=>[Q,E(U,"module")?dZ(U,X):X.bindReference(U)]));var cZ=R(()=>{b();V0();n2=class n2 extends C8{get[S0](){return"module"}}});var DY=(Z)=>Z0(Z)?Z:("branches"in Z)&&Z0(Z.branches)?Z.branches:void 0,wY=(Z,X)=>M(`Node of kind ${X} is not valid as a ${Z} definition`),wQ=(Z)=>`#${Z} duplicates public alias ${Z}`,iZ,PQ,SQ="function $",PY=(Z)=>jQ(Z,CQ(Z)),jQ=(Z,X)=>{let Q=X.write(SQ,4),U=X.compile()();for(let J of Z){if(J.precompilation)continue;if(J.traverseAllows=U[`${J.id}Allows`].bind(U),J.isRoot()&&!J.allowsRequiresContext)J.allows=J.traverseAllows;if(J.traverseApply=U[`${J.id}Apply`].bind(U),U[`${J.id}Optimistic`])J.traverseOptimistic=U[`${J.id}Optimistic`].bind(U);J.precompilation=Q}},CQ=(Z)=>new r6().return(Z.reduce((X,Q)=>{let U=new x4({kind:"Allows"}).indent();Q.compile(U);let J=U.write(`${Q.id}Allows`),$=new x4({kind:"Apply"}).indent();Q.compile($);let W=$.write(`${Q.id}Apply`),Y=`${X}${J},
|
|
42
42
|
${W},
|
|
43
|
-
`;if(!Q.hasKind("union"))return Y;let G=new
|
|
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
|
-
`)+"}"),$9,lZ,KQ=(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},wQ=(Z)=>y(Z,(X,Q)=>[X,E(Q,"root")||E(Q,"generic")?Q.json:E(Q,"module")?wQ(Q):d(`Unexpected resolution ${k(Q)}`)]),pZ=(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(KY(U));let $=X.slice(Q+1),W=J[$];if(W===void 0)return pZ(J,$);if(E(W,"root")||E(W,"generic"))return W;if(E(W,"module"))return W.root??M(SQ(X));d(`Unexpected resolution for alias '${X}': ${k(W)}`)},W9=(Z,X)=>new lZ(Z,X),o4,AQ=(Z,X)=>{let Q={};for(let U in X){let J=X[U];if(E(J,"module")){let $=AQ(Z,J),W=y($,(Y,G)=>[`${U}.${Y}`,G]);Object.assign(Q,W)}else if(E(J,"root")||E(J,"generic"))Q[U]=J;else d(`Unexpected scope resolution ${k(J)}`)}return Q},dZ=(Z)=>`'${Z}' is unresolvable`,KY=(Z)=>`'${Z}' must reference a module to be accessed using dot syntax`,SQ=(Z)=>`Reference to submodule '${Z}' must specify an alias`,s,i2,DM,a0;var cZ=R(()=>{j();k2();d8();Z9();mZ();e6();MZ();a1();c();K1();_0();uZ={};O.ambient??={};$9=class $9{config;resolvedConfig;name;get[w0](){return"scope"}referencesById={};references=[];resolutions={};exportedNames=[];aliases={};resolved=!1;nodesByHash={};intrinsic;constructor(Z,X){if(this.config=y4(O.config,X),this.resolvedConfig=y4(O.resolvedConfig,X),this.name=this.resolvedConfig.name??`anonymousScope${Object.keys(uZ).length}`,this.name in uZ)M(`A Scope already named ${this.name} already exists`);uZ[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(RQ($));this.aliases[$]=J}else{if($ in this.aliases)M(RQ(U));this.aliases[$]=J,this.exportedNames.push($)}if(!E(J,"module")&&!E(J,"generic")&&!s1(J)){let W=this.preparseOwnDefinitionFormat(J,{alias:$});this.resolutions[$]=E(W,"root")?this.bindReference(W):this.createParseContext(W).id}}OQ??=this.node("union",{branches:["string","number","object","bigint","symbol",{unit:!0},{unit:!1},{unit:void 0},{unit:null}]},{prereduced:!0}),this.nodesByHash[OQ.hash]=this.node("intersection",{},{prereduced:!0}),this.intrinsic=O.intrinsic?y(O.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 Z2(Z,U?new s6(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(h4(Z),Z,X);preparseNode(Z,X,Q){let U=typeof Z==="string"?Z:h4(X,Z);if(e(X)&&X.kind===U)return X;if(U==="alias"&&!Q?.prereduced){let{reference:W}=i4.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=MY(X);if(W?.length===1)X=W[0],U=h4(X)}if(e(X)&&X.kind===U)return X;let $=m2[U].normalize?.(X,this)??X;if(e($))return $.kind===U?$:RY(U,$.kind);return{...Q,$:this,kind:U,def:$,prefix:Q.alias??U}}bindReference(Z){let X;if(e(Z))X=Z.$===this?Z:new Z.constructor(Z.attachments,this);else X=Z.$===this?Z:new Z2(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(dZ(Z))}maybeResolveRoot(Z){let X=this.maybeResolve(Z);if(E(X,"generic"))return;return X}maybeResolveSubalias(Z){return pZ(this.aliases,Z)??pZ(this.ambient,Z)}get ambient(){return O.ambient}maybeResolve(Z){let X=this.resolutions[Z];if(X){if(typeof X!=="string")return this.bindReference(X);let U=A0[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 d(`Unexpected resolved context for was uncached by its scope: ${k(U)}`);U.phase="resolving";let J=this.bindReference(this.parseOwnDefinitionFormat(U.def,U));return U.phase="resolved",A0[J.id]=J,A0[U.id]=J,this.resolutions[Z]=J}return d(`Unexpected nodesById entry for ${X}: ${k(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(SQ(Z));return this.resolutions[Z]=this.bindReference(Q.root)}return this.resolutions[Z]=this.parse(Q,{alias:Z})}createParseContext(Z){let X=Z.id??qZ(Z.prefix);return A0[X]=Object.assign(Z,{[w0]:"context",$:this,id:X,phase:"unresolved"})}traversal(Z){return new Y1(Z,this.resolvedConfig)}import(...Z){return new c2(y(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")?hZ(U,this):KQ(this.maybeResolve(Q))}for(let Q of this.lazyResolutions)Q.resolution;if(this._exportedResolutions=AQ(this,this._exports),this._json=wQ(this._exportedResolutions),Object.assign(this.resolutions,this._exportedResolutions),this.references=Object.values(this.referencesById),!this.resolvedConfig.jitless){let Q=PQ(this.references);this.precompilation=Q.write(TQ,4),DQ(this.references,Q)}this.resolved=!0}let X=Z.length?Z:this.exportedNames;return new c2(y(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(e(U))return this.bindReference(U);let J=this.createParseContext(U),$=HZ(J),W=this.bindReference($);return A0[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);A0[U.id]=U;let J=this.bindReference(this.parseOwnDefinitionFormat(Z,U));if(J.isCyclic)J=p3(J,U.id);return A0[U.id]=J,J}finalize(Z){if(KQ(Z),!Z.precompilation&&!this.resolvedConfig.jitless)OY(Z.references);return Z}};lZ=class lZ extends $9{parseOwnDefinitionFormat(Z,X){return HZ(X)}preparseOwnDefinitionFormat(Z,X){return this.preparseNode(h4(Z),Z,X)}preparseOwnAliasEntry(Z,X){return[Z,X]}normalizeRootScopeValue(Z){return Z}};o4=new lZ({});o4.export();s=o4.schema,i2=o4.node,DM=o4.defineSchema,a0=o4.generic});var iZ="^(?:0|[1-9]\\d*)$",TY,AM;var CQ=R(()=>{c();TY=new RegExp(iZ),AM=U0(TY)});var NQ,jQ,DY,I;var X9=R(()=>{cZ();c();CQ();NQ=W9({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();O.intrinsic={...NQ};jQ=W9({integer:{domain:"number",divisor:1},lengthBoundable:["string",Array],key:["string","symbol"],nonNegativeIntegerString:{domain:"string",pattern:iZ}},{prereducedAliases:!0}).export();Object.assign(O.intrinsic,jQ);DY=W9({jsonPrimitive:["string","number",{unit:!0},{unit:!1},{unit:null}],jsonObject:{domain:"object",index:{signature:"string",value:"$jsonData"}},jsonData:["$jsonPrimitive","$jsonObject"]},{prereducedAliases:!0}).export(),I={...NQ,...jQ,...DY,emptyStructure:i2("structure",{},{prereduced:!0})};O.intrinsic={...I}});var EQ=()=>{};var bQ=()=>{};var IQ=()=>{};var L0=R(()=>{j();k2();h0();d8();X9();Z9();mZ();T2();e6();i8();a8();t8();r8();ZZ();_Z();QZ();JZ();WZ();GZ();VZ();x1();RZ();KZ();DZ();PZ();X2();SZ();NZ();cZ();a1();EQ();Y0();k4();i();s0();bQ();c();IQ();t1();K1();_0();EZ();u2();p4();IZ();kZ();xZ()});var Y9=(Z,X)=>new RegExp(Z,X);var fQ=R(()=>{Object.assign(Y9,{as:Y9})});var yQ=R(()=>{fQ()});var kQ=R(()=>{k2()});var vQ=(Z)=>typeof Z==="string"&&Z[0]==="d"&&(Z[1]==="'"||Z[1]==='"')&&Z[Z.length-1]===Z[1],gQ=(Z)=>Z.toString()!=="Invalid Date",xQ=(Z)=>Z.slice(2,-1),sZ=(Z)=>`'${Z}' could not be parsed by the Date constructor`,hQ=(Z,X)=>PY(Z,X),PY=(Z,X)=>{let Q=new Date(Z);if(gQ(Q))return Q;let U=e7(Z);if(U!==void 0){let J=new Date(U);if(gQ(J))return J}return X?M(X===!0?sZ(Z):X):void 0};var rZ=R(()=>{j()});var wY,G9=(Z,X)=>{let Q=Z.scanner.shiftUntilEscapable(SY[pQ[X]]);if(Z.scanner.lookahead==="")return Z.error(NY(Q,X));if(Z.scanner.shift(),X in uQ){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:wY})}else if(H0(X,oZ))Z.root=Z.ctx.$.node("unit",{unit:Q});else{let U=hQ(Q,sZ(Q));Z.root=Z.ctx.$.node("unit",{meta:Q,unit:U})}},oZ,mQ,AY,uQ,pQ,SY,CY,NY=(Z,X)=>`${X}${Z} requires a closing ${CY[pQ[X]]}`;var lQ=R(()=>{L0();j();rZ();wY=s({proto:"Array",sequence:"string",required:{key:"groups",value:["object",{unit:void 0}]}}),oZ={"'":1,'"':1},mQ={"/":1,"'":1,'"':1},AY={"d'":"'",'d"':'"',"'":"'",'"':'"'},uQ={"/":"/","x/":"/"},pQ={...AY,...uQ},SY={"'":(Z)=>Z.lookahead==="'",'"':(Z)=>Z.lookahead==='"',"/":(Z)=>Z.lookahead==="/"},CY={'"':"double-quote","'":"single-quote","/":"forward slash"}});var dQ=(Z)=>`Private type references should not include '#'. Use '${Z}' instead.`,_9="Optional definitions like 'string?' are only valid as properties in an object or tuple",L9="Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple";var D1,cQ=(Z,X)=>Z===">"?X[0]==="="?X[1]==="=":X.trimStart()===""||H0(X.trimStart()[0],D1):Z==="="?X[0]!=="=":Z===","||Z==="?";var s2=R(()=>{j();D1={"<":1,">":1,"=":1,"|":1,"&":1,")":1,"[":1,"%":1,",":1,":":1,"?":1,"#":1,...r1}});var iQ=(Z,X,Q)=>sQ(Z,X,Q,[]),sQ=(Z,X,Q,U)=>{let J=Q.parseUntilFinalizer();if(U.push(J.root),J.finalizer===">"){if(U.length!==X.params.length)return Q.error(aZ(Z,X.names,U.map(($)=>$.expression)));return U}if(J.finalizer===",")return sQ(Z,X,Q,U);return J.error(u6(">"))},aZ=(Z,X,Q)=>`${Z}<${X.join(", ")}> requires exactly ${X.length} args (got ${Q.length}${Q.length===0?"":`: ${Q.join(", ")}`})`;var rQ=R(()=>{j()});var V9=(Z)=>{let X=Z.scanner.shiftUntilLookahead(D1);if(X==="keyof")Z.addPrefix("keyof");else Z.root=EY(Z,X)},jY=(Z,X,Q)=>{if(Q.scanner.shiftUntilNonWhitespace(),Q.scanner.shift()!=="<")return Q.error(aZ(Z,X.names,[]));let J=iQ(Z,X,Q);return X(...J)},EY=(Z,X)=>bY(Z,X)??IY(Z,X)??Z.error(X===""?Z.scanner.lookahead==="#"?dQ(Z.shiftedBy(1).scanner.shiftUntilLookahead(D1)):nZ(Z):dZ(X)),bY=(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 jY(X,Q,Z);return M(`Unexpected resolution ${k(Q)}`)},IY=(Z,X)=>{let Q=Z3(X);if(Q!==void 0)return Z.ctx.$.node("unit",{unit:Q});let U=Q3(X);if(U!==void 0)return Z.ctx.$.node("unit",{unit:U})},nZ=(Z)=>{let X=Z.previousOperator();return X?tZ(X,Z.scanner.unscanned):fY(Z.scanner.unscanned)},tZ=(Z,X="")=>`Token '${Z}' requires a right operand${X?` before '${X}'`:""}`,fY=(Z)=>`Expected an expression${Z?` before '${Z}'`:""}`;var eZ=R(()=>{L0();j();s2();rQ()});var ZX=(Z)=>Z.scanner.lookahead===""?Z.error(nZ(Z)):Z.scanner.lookahead==="("?Z.shiftedBy(1).reduceGroupOpen():Z.scanner.lookaheadIsIn(mQ)?G9(Z,Z.scanner.shift()):Z.scanner.lookaheadIsIn(r1)?ZX(Z.shiftedBy(1)):Z.scanner.lookahead==="d"?Z.scanner.nextLookahead in oZ?G9(Z,`${Z.scanner.shift()}${Z.scanner.shift()}`):V9(Z):Z.scanner.lookahead==="x"?Z.scanner.nextLookahead==="/"?Z.shiftedBy(2)&&G9(Z,"x/"):V9(Z):V9(Z);var oQ=R(()=>{j();lQ();eZ()});var aQ,nQ,r2,tQ=(Z,X)=>`Left bounds are only valid when paired with right bounds (try ...${X}${Z})`,q9=(Z)=>`Left-bounded expressions must specify their limits using < or <= (was ${Z})`,eQ=(Z,X,Q,U)=>`An expression may have at most one left bound (parsed ${Z}${r2[X]}, ${Q}${r2[U]})`;var XX=R(()=>{aQ={">":!0,">=":!0},nQ={"<":!0,"<=":!0},r2={"<":">",">":"<","<=":">=",">=":"<=","==":"=="}});var XU=(Z,X)=>{let Q=yY(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 gY(Z,Q)},QU,yY=(Z,X)=>Z.scanner.lookaheadIs("=")?`${X}${Z.scanner.shift()}`:X,ZU=(Z,X,Q,U)=>{if(Q.extends(O.intrinsic.number)){if(typeof X!=="number")return M(QX(Z,X,U));return Z==="=="?["min","max"]:Z[0]===">"?["min"]:["max"]}if(Q.extends(O.intrinsic.lengthBoundable)){if(typeof X!=="number")return M(QX(Z,X,U));return Z==="=="?["exactLength"]:Z[0]===">"?["minLength"]:["maxLength"]}if(Q.extends(O.intrinsic.Date))return Z==="=="?["after","before"]:Z[0]===">"?["after"]:["before"];return M(j3(Q.expression))},kY=(Z)=>({rule:vQ(Z.limit)?xQ(Z.limit):Z.limit,exclusive:Z.comparator.length===1}),gY=(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(QX(X,$,"right"));let W=J.unit,Y=X.length===1,G=ZU(X,typeof W==="number"?W:$,Q,"right");for(let L of G)Z.constrainRoot(L,X==="=="?{rule:W}:{rule:W,exclusive:Y});if(!Z.branches.leftBound)return;if(!H0(X,nQ))return Z.error(q9(X));let _=ZU(Z.branches.leftBound.comparator,Z.branches.leftBound.limit,Q,"left");Z.constrainRoot(_[0],kY(Z.branches.leftBound)),Z.branches.leftBound=null},QX=(Z,X,Q)=>`Comparator ${Q==="left"?r2[Z]:Z} must be ${Q==="left"?"preceded":"followed"} by a corresponding literal (was ${X})`;var UU=R(()=>{L0();j();XX();rZ();QU={"<":1,">":1,"=":1}});var JU=(Z)=>{Z.scanner.shiftUntilNonWhitespace();let X=Z.scanner.shiftUntilLookahead(D1);Z.root=Z.root.brand(X)};var $U=R(()=>{s2()});var YU=(Z)=>{Z.scanner.shiftUntilNonWhitespace();let X=Z.scanner.shiftUntilLookahead(D1),Q=X3(X,{errorOnFail:WU(X)});if(Q===0)Z.error(WU(0));Z.root=Z.root.constrain("divisor",Q)},WU=(Z)=>`% operator must be followed by a non-zero integer literal (was ${Z})`;var GU=R(()=>{j();s2()});var UX=(Z)=>{let X=Z.scanner.shift();return X===""?Z.finalize(""):X==="["?Z.scanner.shift()==="]"?Z.setRoot(Z.root.array()):Z.error(vY):X==="|"?Z.scanner.lookahead===">"?Z.shiftedBy(1).pushRootToBranch("|>"):Z.pushRootToBranch(X):X==="&"?Z.pushRootToBranch(X):X===")"?Z.finalizeGroup():cQ(X,Z.scanner.unscanned)?Z.finalize(X):H0(X,QU)?XU(Z,X):X==="%"?YU(Z):X==="#"?JU(Z):(X in r1)?UX(Z):Z.error(H9(X))},H9=(Z,X="")=>`'${Z}' is not allowed here${X&&` (should be ${X})`}`,vY="Missing expected ']'";var JX=R(()=>{j();s2();UU();$U();GU()});var _U=(Z)=>{let X=Z.unsetRoot();Z.parseOperand();let Q=Z.unsetRoot();if(!Q.hasKind("unit"))return Z.error(xY(Q.expression));let U=Q.unit instanceof Date?()=>new Date(Q.unit):Q.unit;return[X,"=",U]},xY=(Z)=>`Default value '${Z}' must be a literal value`;var $X=(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 o2(new I4(Z),X),J=hY(U);if(U.finalizer===">")M(H9(">"));return J},hY=(Z)=>{Z.parseOperand();let X=a4(Z).root;if(!X)return d(`Root was unexpectedly unset after parsing string '${Z.scanner.scanned}'`);if(Z.finalizer==="=")X=_U(Z);else if(Z.finalizer==="?")X=[X,"?"];if(Z.scanner.shiftUntilNonWhitespace(),Z.scanner.lookahead)M(H9(Z.scanner.lookahead));return X},a4=(Z)=>{while(Z.finalizer===void 0)mY(Z);return Z},mY=(Z)=>Z.hasRoot()?Z.parseOperator():Z.parseOperand();var z9=R(()=>{j();WX();JX()});class o2{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(u6(")"));this.finalizeBranches(),this.finalizer=Z}reduceLeftBound(Z,X){let Q=r2[X];if(!H0(Q,aQ))return this.error(q9(X));if(this.branches.leftBound)return this.error(eQ(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(G3(")",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():d(`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 a4(new o2(this.scanner,this.ctx))}parseOperator(){return UX(this)}parseOperand(){return ZX(this)}assertRangeUnset(){if(this.branches.leftBound)return this.error(tQ(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 WX=R(()=>{j();oQ();JX();z9();XX()});var uY="An empty string is not a valid generic parameter name",F9=(Z,X,Q)=>{Z.shiftUntilNonWhitespace();let U=Z.shiftUntilLookahead(D1);if(U===""){if(Z.lookahead===""&&X.length)return X;return M(uY)}return Z.shiftUntilNonWhitespace(),pY(Z,U,X,Q)},LU="extends ",pY=(Z,X,Q,U)=>{if(Z.shiftUntilNonWhitespace(),Z.unscanned.startsWith(LU))Z.jumpForward(LU.length);else{if(Z.lookahead===",")Z.shift();return Q.push(X),F9(Z,Q,U)}let J=a4(new o2(Z,U));return Q.push([X,J.root]),F9(Z,Q,U)};var YX=R(()=>{L0();j();WX();s2();z9()});var GX,VU,lY=`":" must be followed by exactly one return type e.g:
|
|
46
|
-
fn("string", ":", "number")(s => s.length)`;var qU=R(()=>{j();GX=class GX extends f0{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(lY);Y=Z.parse(Q[U+1])}return(G)=>new VU(G,W,Y)},{attach:X})}};VU=class VU extends f0{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 _X,n4,HU=(Z)=>Z.throw(),dY="A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')",cY="At most one key matcher may be specified per expression";var zU=R(()=>{L0();j();_X=class _X extends f0{$;constructor(Z){super((...X)=>new n4(Z)(...X),{bind:Z});this.$=Z}in(Z){return new n4(this.$,Z===void 0?void 0:this.$.parse(Z))}at(Z,X){return new n4(this.$).at(Z,X)}case(Z,X){return new n4(this.$).case(Z,X)}};n4=class n4 extends f0{$;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(cY);if(this.branches.length)M(dY);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 ${q0(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:HU};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:HU},"self");return this.$.finalize(U)}}});var B9=(Z,X)=>{if(t(Z)){if(Z[1]==="=")return[X.$.parseOwnDefinitionFormat(Z[0],X),"=",Z[2]];if(Z[1]==="?")return[X.$.parseOwnDefinitionFormat(Z[0],X),"?"]}return M9(Z,X)},FU="Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }",BU="Only required keys may specify default values, e.g. { value: 'number = 0' }";var LX=R(()=>{j();VX()});var MU=(Z,X)=>{let Q,U={},J=B2(Z);for(let[W,Y]of J){let G=rY(W);if(G.kind==="spread"){if(!O1(U))return M(sY);let H=X.$.parseOwnDefinitionFormat(Y,X);if(H.equals(I.object))continue;if(!H.hasKind("intersection")||!H.basis?.equals(I.object))return M(oY(H.expression));Q=H.structure;continue}if(G.kind==="undeclared"){if(Y!=="reject"&&Y!=="delete"&&Y!=="ignore")M(iY(Y));U.undeclared=Y;continue}let _=B9(Y,X),L=G;if(G.kind==="required"){if(!t(_))qX(U,"required",{key:G.normalized,value:_},X);else qX(U,"optional",_[1]==="="?{key:G.normalized,value:_[0],default:_[2]}:{key:G.normalized,value:_[0]},X);continue}if(t(_)){if(_[1]==="?")M(FU);if(_[1]==="=")M(BU)}if(G.kind==="optional"){qX(U,"optional",{key:G.normalized,value:_},X);continue}let V=X.$.parseOwnDefinitionFormat(L.normalized,X),q=J9(V,_,X.$);if(q.index)U.index=u(U.index,q.index);if(q.required)U.required=u(U.required,q.required)}let $=X.$.node("structure",U);return X.$.parseSchema({domain:"object",structure:Q?.merge($)??$})},qX=(Z,X,Q,U)=>{Z[X]=u(Z[X],U.$.node(X,Q))},iY=(Z)=>`Value of '+' key must be 'reject', 'delete', or 'ignore' (was ${k(Z)})`,sY="Spread operator may only be used as the first key in an object",rY=(Z)=>typeof Z==="symbol"?{kind:"required",normalized:Z}:Z[Z.length-1]==="?"?Z[Z.length-2]===R2?{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]===R2&&Z[1]==="["&&Z[Z.length-1]==="]"?{kind:"required",normalized:Z.slice(1)}:Z==="..."?{kind:"spread"}:Z==="+"?{kind:"undeclared"}:{kind:"required",normalized:Z==="\\..."?"...":Z==="\\+"?"+":Z},oY=(Z)=>`Spread operand must resolve to an object literal type (was ${Z})`;var RU=R(()=>{L0();j();LX()});var KU=(Z,X)=>$G(Z)?wU[Z[0]](Z,X):UG(Z)?PU[Z[1]](Z,X):null,aY=(Z,X)=>X.$.parseOwnDefinitionFormat(Z[1],X).keyof(),HX=(Z,X)=>{if(Z[2]===void 0)return M(tZ(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]==="&"?g0(Q,U,X.$):x4(Q,U,X.$);if(J instanceof A)return J.throw();return J},nY=(Z,X)=>X.$.parseOwnDefinitionFormat(Z[0],X).array(),tY=(Z,X)=>{if(typeof Z[2]!=="function")return M(TU("=>",Z[2]));return X.$.parseOwnDefinitionFormat(Z[0],X).pipe(Z[2])},TU=(Z,X)=>`${Z===":"?"Narrow":"Morph"} expression requires a function following '${Z}' (was ${typeof X})`,eY=(Z,X)=>{if(typeof Z[2]!=="function")return M(TU(":",Z[2]));return X.$.parseOwnDefinitionFormat(Z[0],X).constrain("predicate",Z[2])},ZG=(Z,X)=>X.$.parseOwnDefinitionFormat(Z[0],X).configure(Z[2],Z[3]),DU=(Z)=>Z,XG,QG,PU,UG=(Z)=>PU[Z[1]]!==void 0,JG=(Z)=>Z,wU,$G=(Z)=>wU[Z[0]]!==void 0,OU=(Z)=>`Expected a constructor following 'instanceof' operator (was ${Z})`;var AU=R(()=>{L0();j();eZ();XG=DU({"[]":nY,"?":()=>M(_9)}),QG=DU({"|":HX,"&":HX,":":eY,"=>":tY,"|>":HX,"@":ZG,"=":()=>M(L9)}),PU={...XG,...QG},wU=JG({keyof:aY,instanceof:(Z,X)=>{if(typeof Z[1]!=="function")return M(OU(w4(Z[1])));let Q=Z.slice(1).map((U)=>typeof U==="function"?X.$.node("proto",{proto:U}):M(OU(w4(U))));return Q.length===1?Q[0]:X.$.node("union",{branches:Q})},"===":(Z,X)=>X.$.units(Z.slice(1))})});var NU=(Z,X)=>{let Q=[{}],U=0;while(U<Z.length){let J=!1;if(Z[U]==="..."&&U<Z.length-1)J=!0,U++;let $=B9(Z[U],X),[W,Y,G]=!t($)?[$]:$;if(U++,J){if(!W.extends(O.intrinsic.Array))return M(GG(W.expression));Q=Q.flatMap((_)=>W.distribute((L)=>YG(l6(_),L)))}else Q=Q.map((_)=>{if(Y==="?")return jU(_,W);if(Y==="=")return WG(_,W,G);return zX(_,W)})}return X.$.parseSchema(Q.map((J)=>O1(J)?{proto:Array,exactLength:0}:{proto:Array,sequence:J}))},zX=(Z,X)=>{if(Z.defaultables||Z.optionals)return M(Z.variadic?yZ:_G);if(Z.variadic)Z.postfix=u(Z.postfix,X);else Z.prefix=u(Z.prefix,X);return Z},jU=(Z,X)=>{if(Z.variadic)return M(EU);return Z.optionals=u(Z.optionals,X),Z},WG=(Z,X,Q)=>{if(Z.variadic)return M(EU);if(Z.optionals)return M(LG);return Z.defaultables=u(Z.defaultables,[[X,Q]]),Z},SU=(Z,X)=>{if(Z.postfix)M(CU);if(Z.variadic){if(!Z.variadic.equals(X))M(CU)}else Z.variadic=X.internal;return Z},YG=(Z,X)=>{let Q=X.select({method:"find",kind:"sequence"});if(!Q)return SU(Z,O.intrinsic.unknown);if(Q.prefix)for(let U of Q.prefix)zX(Z,U);if(Q.optionals)for(let U of Q.optionals)jU(Z,U);if(Q.variadic)SU(Z,Q.variadic);if(Q.postfix)for(let U of Q.postfix)zX(Z,U);return Z},GG=(Z)=>`Spread element must be an array (was ${Z})`,CU="A tuple may have at most one variadic element",_G="A required element may not follow an optional element",EU="An optional element may not follow a variadic element",LG="A defaultable element may not follow an optional element without a default";var bU=R(()=>{L0();j();LX()});var VG,M9=(Z,X)=>{if(typeof Z==="string"){if(X.args&&Object.keys(X.args).some((U)=>Z.includes(U)))return $X(Z,X);let Q=VG[X.$.name]??={};return Q[Z]??=$X(Z,X)}return E0(Z,"object")?qG(Z,X):M(FX(q0(Z)))},qG=(Z,X)=>{let Q=P4(Z);switch(Q){case void 0:if(E(Z,"root"))return Z;if("~standard"in Z)return HG(Z,X);return MU(Z,X);case"Array":return zG(Z,X);case"RegExp":return X.$.node("intersection",{domain:"string",pattern:Z},{prereduced:!0});case"Function":{let U=s1(Z)?Z():Z;if(E(U,"root"))return U;return M(FX("Function"))}default:return M(FX(Q??k(Z)))}},HG=(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:s7($),relativePath:W.map((Y)=>typeof Y==="object"?Y.key:Y)});else U.error({message:$});else U.error({message:$})}),zG=(Z,X)=>KU(Z,X)??NU(Z,X),FX=(Z)=>`Type definitions must be strings or objects (was ${Z})`;var VX=R(()=>{L0();j();RU();z9();AU();bU();VG={}});var BX;var MX=R(()=>{L0();j();BX=class BX extends f0{constructor(Z){let X=Object.assign({errors:y0,hkt:R0,$: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 Z2(J,Q[1],Z,Z,null)}return Z.parse(Q)},{attach:X})}}});var a2,R9,t4,m;var _1=R(()=>{L0();j();qU();YX();zU();VX();MX();a2=O;R9=class R9 extends $9{get ambientAttachments(){if(!a2.typeAttachments)return;return this.cacheGetter("ambientAttachments",y(a2.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 S3($,X,this)}]}parseGenericParams(Z,X){return F9(new I4(Z),[],this.createParseContext({...X,def:Z,prefix:"generic"}))}normalizeRootScopeValue(Z){if(s1(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=M9(Z,X);if(t(U)){if(U[1]==="=")return M(L9);if(U[1]==="?")return M(_9)}return U}unit=(Z)=>this.units([Z]);valueOf=(Z)=>this.units(b7(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 GX(this);match=new _X(this);declare=()=>({type:this.type});define(Z){return Z}type=new BX(this);static scope=(Z,X={})=>new R9(Z,X);static module=(Z,X={})=>this.scope(Z,X).export()};t4=Object.assign(R9.scope,{define:(Z)=>Z}),m=R9});var IU,FG,fU;var yU=R(()=>{L0();j();_1();IU=class IU extends R0{description='merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'};FG=a0(["base",I.object],["props",I.object])((Z)=>Z.base.merge(Z.props),IU),fU=m.module({Key:I.key,Merge:FG})});var kU,BG,gU;var vU=R(()=>{L0();j();_1();kU=class kU extends R0{};BG=a0("element")((Z)=>{let X=Z.element.exclude(I.Array),Q=X.array();return X.rawOr(Q).pipe(i1).distribute((U)=>U.assertHasKind("morph").declareOut(Q),s)},kU),gU=m.module({root:I.Array,readonly:"root",index:I.nonNegativeIntegerString,liftFrom:BG},{name:"Array"})});var RX,MG,xU,hU;var mU=R(()=>{L0();j();_1();RX=s(["string",O2.FileConstructor]),MG=RX.rawOr(RX.array()),xU=s({meta:"an object representing parsed form data",domain:"object",index:{signature:"string",value:MG}}),hU=m.module({root:["instanceof",FormData],value:RX,parsed:xU,parse:s({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 O2.FileConstructor)X[Q]=[J,U];else J.push(U)}else X[Q]=U;return X},declaredOut:xU})},{name:"FormData"})});var uU;var pU=R(()=>{_1();uU=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 RG,lU;var dU=R(()=>{j();_1();vU();mU();pU();RG={Boolean:1,Number:1,String:1},lU=m.module({...y({...w8,...S8},(Z,X)=>(Z in RG)?[]:[Z,["instanceof",X]]),Array:gU,TypedArray:uU,FormData:hU})});var OG,KG,O9;var OX=R(()=>{L0();_1();OG=s({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"}),KG=s({domain:"number",divisor:1}),O9=m.module({root:I.number,integer:KG,epoch:OG,safe:s({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 Q0=(Z,X,Q)=>{let U={domain:"string",pattern:{rule:Z.source,flags:Z.flags,meta:X}};if(Q)U.meta={format:Q};return i2("intersection",U)},cU,U5,TG,DG,iU,PG,wG=(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)},AG,SG,CG,NG=(Z)=>!Number.isNaN(new Date(Z).valueOf()),sU,rU,jG,oU,EG,bG,IG,aU="(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",Q2,fG,V0="(?:[0-9a-fA-F]{1,4})",yG,kG,n2="a JSON string",J5=(Z)=>{if(!(Z instanceof SyntaxError))throw Z;return`must be ${n2} (${Z})`},gG,vG=(Z,X)=>{if(Z.length===0)return X.error({code:"predicate",expected:n2,actual:"empty"});try{return JSON.parse(Z)}catch(Q){return X.error({code:"predicate",expected:n2,problem:J5(Q)})}},xG,nU,hG,$5,e4,K9,mG,uG,pG,lG,dG,tU,cG,eU="a regex pattern",iG,sG,rG,Z5,oG,X5,aG,nG=(Z)=>URL.canParse(Z),Q5,tG,eG,W5;var Y5=R(()=>{L0();j();_1();OX();cU=Q0(C4,"a well-formed integer string"),U5=m.module({root:cU,parse:s({in:cU,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"}),TG=Q0(/^[\dA-Fa-f]+$/,"hex characters only"),DG=m.module({root:Q0(/^(?:[\d+/A-Za-z]{4})*(?:[\d+/A-Za-z]{2}==|[\d+/A-Za-z]{3}=)?$/,"base64-encoded"),url:Q0(/^(?:[\w-]{4})*(?:[\w-]{2}(?:==|%3D%3D)?|[\w-]{3}(?:=|%3D)?)?$/,"base64url-encoded")},{name:"string.base64"}),iU=Q0(/^[A-Z].*$/,"capitalized"),PG=m.module({root:s({in:"string",morphs:(Z)=>Z.charAt(0).toUpperCase()+Z.slice(1),declaredOut:iU}),preformatted:iU},{name:"string.capitalize"}),AG=/^(?: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}))$/,SG=s({domain:"string",pattern:{meta:"a credit card number",rule:AG.source},predicate:{meta:"a credit card number",predicate:wG}}),CG=/^([+-]?\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)?)?)?)?$/,sU=s({domain:"string",predicate:{meta:"a parsable date",predicate:NG}}).assertHasKind("intersection"),rU=U5.root.internal.narrow((Z,X)=>{let Q=Number.parseInt(Z),U=O9.epoch(Q);if(U instanceof y0)return X.errors.merge(U),!1;return!0}).configure({description:"an integer string representing a safe Unix timestamp"},"self").assertHasKind("intersection"),jG=m.module({root:rU,parse:s({in:rU,morphs:(Z)=>new Date(Z),declaredOut:I.Date})},{name:"string.date.epoch"}),oU=Q0(CG,"an ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) date").internal.assertHasKind("intersection"),EG=m.module({root:oU,parse:s({in:oU,morphs:(Z)=>new Date(Z),declaredOut:I.Date})},{name:"string.date.iso"}),bG=m.module({root:sU,parse:s({declaredIn:sU,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:EG,epoch:jG},{name:"string.date"}),IG=Q0(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/,"an email address","email"),Q2=`(${aU}[.]){3}${aU}`,fG=new RegExp(`^${Q2}$`),yG=new RegExp(`^((?:${V0}:){7}(?:${V0}|:)|(?:${V0}:){6}(?:${Q2}|:${V0}|:)|(?:${V0}:){5}(?::${Q2}|(:${V0}){1,2}|:)|(?:${V0}:){4}(?:(:${V0}){0,1}:${Q2}|(:${V0}){1,3}|:)|(?:${V0}:){3}(?:(:${V0}){0,2}:${Q2}|(:${V0}){1,4}|:)|(?:${V0}:){2}(?:(:${V0}){0,3}:${Q2}|(:${V0}){1,5}|:)|(?:${V0}:){1}(?:(:${V0}){0,4}:${Q2}|(:${V0}){1,6}|:)|(?::((?::${V0}){0,5}:${Q2}|(?::${V0}){1,7}|:)))(%[0-9a-zA-Z.]{1,})?$`),kG=m.module({root:["v4 | v6","@","an IP address"],v4:Q0(fG,"an IPv4 address","ipv4"),v6:Q0(yG,"an IPv6 address","ipv6")},{name:"string.ip"}),gG=s({meta:n2,domain:"string",predicate:{meta:n2,predicate:(Z,X)=>{try{return JSON.parse(Z),!0}catch(Q){return X.reject({code:"predicate",expected:n2,problem:J5(Q)})}}}}),xG=m.module({root:gG,parse:s({meta:"safe JSON string parser",in:"string",morphs:vG,declaredOut:I.jsonObject})},{name:"string.json"}),nU=Q0(/^[a-z]*$/,"only lowercase letters"),hG=m.module({root:s({in:"string",morphs:(Z)=>Z.toLowerCase(),declaredOut:nU}),preformatted:nU},{name:"string.lower"}),$5=["NFC","NFD","NFKC","NFKD"],e4=y($5,(Z,X)=>[X,s({domain:"string",predicate:(Q)=>Q.normalize(X)===Q,meta:`${X}-normalized unicode`})]),K9=y($5,(Z,X)=>[X,s({in:"string",morphs:(Q)=>Q.normalize(X),declaredOut:e4[X]})]),mG=m.module({root:K9.NFC,preformatted:e4.NFC},{name:"string.normalize.NFC"}),uG=m.module({root:K9.NFD,preformatted:e4.NFD},{name:"string.normalize.NFD"}),pG=m.module({root:K9.NFKC,preformatted:e4.NFKC},{name:"string.normalize.NFKC"}),lG=m.module({root:K9.NFKD,preformatted:e4.NFKD},{name:"string.normalize.NFKD"}),dG=m.module({root:"NFC",NFC:mG,NFD:uG,NFKC:pG,NFKD:lG},{name:"string.normalize"}),tU=Q0(x6,"a well-formed numeric string"),cG=m.module({root:tU,parse:s({in:tU,morphs:(Z)=>Number.parseFloat(Z),declaredOut:I.number})},{name:"string.numeric"}),iG=s({domain:"string",predicate:{meta:eU,predicate:(Z,X)=>{try{return new RegExp(Z),!0}catch(Q){return X.reject({code:"predicate",expected:eU,problem:String(Q)})}}},meta:{format:"regex"}}),sG=/^(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-]+)*))?$/,rG=Q0(sG,"a semantic version (see https://semver.org/)"),Z5=Q0(/^\S.*\S$|^\S?$/,"trimmed"),oG=m.module({root:s({in:"string",morphs:(Z)=>Z.trim(),declaredOut:Z5}),preformatted:Z5},{name:"string.trim"}),X5=Q0(/^[A-Z]*$/,"only uppercase letters"),aG=m.module({root:s({in:"string",morphs:(Z)=>Z.toUpperCase(),declaredOut:X5}),preformatted:X5},{name:"string.upper"}),Q5=s({domain:"string",predicate:{meta:"a URL string",predicate:nG},meta:{format:"uri"}}),tG=m.module({root:Q5,parse:s({declaredIn:Q5,in:"string",morphs:(Z,X)=>{try{return new URL(Z)}catch{return X.error("a URL string")}},declaredOut:s(URL)})},{name:"string.url"}),eG=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:Q0(/^[\da-f]{8}-[\da-f]{4}-1[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv1"),v2:Q0(/^[\da-f]{8}-[\da-f]{4}-2[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv2"),v3:Q0(/^[\da-f]{8}-[\da-f]{4}-3[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv3"),v4:Q0(/^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv4"),v5:Q0(/^[\da-f]{8}-[\da-f]{4}-5[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv5"),v6:Q0(/^[\da-f]{8}-[\da-f]{4}-6[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv6"),v7:Q0(/^[\da-f]{8}-[\da-f]{4}-7[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv7"),v8:Q0(/^[\da-f]{8}-[\da-f]{4}-8[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv8")},{name:"string.uuid"}),W5=m.module({root:I.string,alpha:Q0(/^[A-Za-z]*$/,"only letters"),alphanumeric:Q0(/^[\dA-Za-z]*$/,"only letters and digits 0-9"),hex:TG,base64:DG,capitalize:PG,creditCard:SG,date:bG,digits:Q0(/^\d*$/,"only digits 0-9"),email:IG,integer:U5,ip:kG,json:xG,lower:hG,normalize:dG,numeric:cG,regex:iG,semver:rG,trim:oG,upper:aG,url:tG,uuid:eG},{name:"string"})});var G5,_5,Z_,L5,V5,X_,q5,Q_,H5,U_,z5,J_,F5,$_,B5,W_,M5,Y_,R5;var O5=R(()=>{L0();j();_1();G5=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}),_5=m.module({root:I.unknown,any:I.unknown},{name:"unknown"}),Z_=m.module({root:I.jsonObject,stringify:i2("morph",{in:I.jsonObject,morphs:(Z)=>JSON.stringify(Z),declaredOut:I.string})},{name:"object.json"}),L5=m.module({root:I.object,json:Z_},{name:"object"});V5=class V5 extends R0{description='instantiate an object from an index signature and corresponding value type like `Record("string", "number")`'};X_=a0(["K",I.key],"V")((Z)=>({domain:"object",index:{signature:Z.K,value:Z.V}}),V5);q5=class q5 extends R0{description='pick a set of properties from an object like `Pick(User, "name | age")`'};Q_=a0(["T",I.object],["K",I.key])((Z)=>Z.T.pick(Z.K),q5);H5=class H5 extends R0{description='omit a set of properties from an object like `Omit(User, "age")`'};U_=a0(["T",I.object],["K",I.key])((Z)=>Z.T.omit(Z.K),H5);z5=class z5 extends R0{description="make all named properties of an object optional like `Partial(User)`"};J_=a0(["T",I.object])((Z)=>Z.T.partial(),z5);F5=class F5 extends R0{description="make all named properties of an object required like `Required(User)`"};$_=a0(["T",I.object])((Z)=>Z.T.required(),F5);B5=class B5 extends R0{description='exclude branches of a union like `Exclude("boolean", "true")`'};W_=a0("T","U")((Z)=>Z.T.exclude(Z.U),B5);M5=class M5 extends R0{description='extract branches of a union like `Extract("0 | false | 1", "number")`'};Y_=a0("T","U")((Z)=>Z.T.extract(Z.U),M5),R5=m.module({Exclude:W_,Extract:Y_,Omit:U_,Partial:J_,Pick:Q_,Record:X_,Required:$_})});var h1,z0,o,G_,__,L_,UT,V_,q_;var K5=R(()=>{_1();yU();dU();OX();Y5();O5();h1=t4({...G5,...R5,...lU,...fU,string:W5,number:O9,object:L5,unknown:_5},{prereducedAliases:!0,name:"ark"}),z0=h1.export();Object.assign(a2.ambient,z0);a2.typeAttachments={string:z0.string.root,number:z0.number.root,bigint:z0.bigint,boolean:z0.boolean,symbol:z0.symbol,undefined:z0.undefined,null:z0.null,object:z0.object.root,unknown:z0.unknown.root,false:z0.false,true:z0.true,never:z0.never,arrayIndex:z0.Array.index,Key:z0.Key,Record:z0.Record,Array:z0.Array.root,Date:z0.Date};o=Object.assign(h1.type,a2.typeAttachments),G_=h1.match,__=h1.fn,L_=h1.generic,UT=h1.schema,V_=h1.define,q_=h1.declare});var T5=R(()=>{L0()});var KX=R(()=>{L0();j();yQ();YX();K5();T5();_1();MX();kQ()});class v0{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(T9.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(T9.NESTED_PROPERTY_ACCESS.test(Z))return this.getNestedValue(Z,X);if(T9.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 D5){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(T9.WORD_BOUNDARY,(U)=>{if(z_.includes(U))return U;if(D5.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 H_,D5,n0,z_,T9;var D9=R(()=>{H_={DATA:"data",VARS:"vars",REQUEST:"request",COMPUTED:"computed",ENV:"env",STATE:"state",EVENT:"event",TIMESTAMP:"timestamp"},D5=new Set(Object.values(H_)),n0={RANDOM:"random",FLOOR:"floor",CEIL:"ceil",ROUND:"round",SQRT:"sqrt",ABS:"abs",POW:"pow",MIN:"min",MAX:"max",SIN:"sin",COS:"cos",TAN:"tan"},z_=[n0.RANDOM,n0.FLOOR,n0.CEIL,n0.ROUND,n0.SQRT,n0.ABS,n0.POW,n0.MIN,n0.MAX,n0.SIN,n0.COS,n0.TAN],T9={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}});class TX{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 K0{static instance;state;persistence;constructor(){this.state={},this.persistence=new TX}static getInstance(){if(!K0.instance)K0.instance=new K0;return K0.instance}setPersistence(Z){this.persistence=Z}async initialize(){let Z=await this.persistence.loadState();if(Z instanceof Map)this.state=Object.fromEntries(Z);else this.state=Z||{};console.log(`[StateManager] Initialized with ${Object.keys(this.state).length} root keys.`)}get(Z){return this.state[Z]}async set(Z,X){this.state[Z]=X,await this.persistence.saveState(Z,X)}async increment(Z,X=1){let Q=this.state[Z]||0,U=Number(Q)+X;return this.state[Z]=U,await this.persistence.saveState(Z,U),U}async decrement(Z,X=1){return this.increment(Z,-X)}async delete(Z){if(Z in this.state)return delete this.state[Z],await this.persistence.deleteState(Z),!0;return!1}async clear(){this.state={},await this.persistence.clearState()}async applyConfig(Z){if(!Z.state)return;for(let[X,Q]of Object.entries(Z.state))if(typeof Q!=="object"||Q===null||!("value"in Q)){if(this.state[X]===void 0)await this.set(X,Q)}else{let U=Q;if(this.state[X]===void 0)await this.set(X,U.value);if(U.lifecycle?.ttl)this.setupTTL(X,U.lifecycle.ttl)}}setupTTL(Z,X){let Q=0;if(typeof X==="number")Q=X;else{let U=X.match(/^(\d+)([smhd])$/);if(U&&U[1]&&U[2]){let J=parseInt(U[1]),$=U[2];Q=J*({s:1000,m:60000,h:3600000,d:86400000}[$]||0)}}if(Q>0)setTimeout(()=>{this.delete(Z).catch(console.error)},Q)}getAll(){return{...this.state}}getLiveProxy(){let Z=this;function X(Q,U=[]){return new Proxy(Q,{get(J,$){let W=J[$];if(W&&typeof W==="object"&&!Array.isArray(W))return X(W,[...U,$]);return W},set(J,$,W){if(typeof $!=="string")return!1;J[$]=W;let Y=U.length>0?U[0]:$;if(Y)Z.persistence.saveState(Y,Z.state[Y]);return!0}})}return X(this.state)}}var Z6=()=>{};var DX={};f6(DX,{BuiltInAction:()=>S0,ActionRegistry:()=>X6});class X6{static instance;actions=new Map;constructor(Z=!0){if(Z)this.registerDefaults()}static getInstance(Z=!0){if(!this.instance)this.instance=new X6(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(S0.LOG,{description:"Logs a message to the console with string interpolation support",params:o({"message?":"string","content?":"string"}),returns:o({message:"string"}),handler:(Z,X)=>{let Q=Z.params?.message||Z.params?.content||"Log Trigger",U=typeof Q==="string"?v0.interpolate(Q,X):String(Q);return console.log(`[TriggerLog] ${U}`),{message:U}}}),this.register(S0.MATH,{description:"Evaluates a mathematical expression or performs string concatenation",params:o({expression:"string"}),returns:o("number | string"),handler:(Z,X)=>{let Q=String(Z.params?.expression||"0");return v0.evaluate(Q,X)}}),this.register(S0.RESPONSE,{description:"Constructs a standardized response object (useful for webhooks/APIs)",params:o({"content?":"string","body?":"string","statusCode?":"number","headers?":"Record<string, string>"}),returns:o({statusCode:"number",headers:"Record<string, string>",body:"string"}),handler:(Z,X)=>{let Q=Z.params?.content||Z.params?.body||"",U=typeof Q==="string"?v0.interpolate(Q,X):String(Q);return{statusCode:Z.params?.statusCode||200,headers:Z.params?.headers||{"Content-Type":"application/json"},body:U}}}),this.register(S0.EXECUTE,{description:"Spawns a shell command and returns the output (Bun only)",params:o({"command?":"string","content?":"string","safe?":"boolean"}),returns:o({command:"string",stdout:"string",stderr:"string",exitCode:"number"}).or(o({command:"string",error:"string"})),handler:async(Z,X)=>{let Q=Z.params?.command||Z.params?.content||"",U=typeof Q==="string"?v0.interpolate(Q,X):String(Q);if(!Z.params?.safe)console.warn(`[Trigger] Executing unsafe command: ${U}`);try{if(typeof Bun>"u")return{command:U,error:"Bun is required for 'execute' action"};let J=Bun.spawn(U.split(" "),{stdout:"pipe",stderr:"pipe"}),[$,W]=await Promise.all([new Response(J.stdout).text(),new Response(J.stderr).text()]);return{command:U,stdout:$,stderr:W,exitCode:await J.exited}}catch(J){return{command:U,error:String(J)}}}}),this.register(S0.FORWARD,{description:"Forwards the current event data to a remote URL via HTTP",params:o({url:"string","method?":"'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'","headers?":"Record<string, string>"}),returns:o({url:"string",method:"string",status:"number",headers:"Record<string, string>",body:"string"}).or(o({url:"string",method:"string",error:"string"})),handler:async(Z,X)=>{let Q=Z.params?.url||"",U=typeof Q==="string"?v0.interpolate(Q,X):String(Q),J=String(Z.params?.method||"POST").toUpperCase(),W=["POST","PUT","PATCH"].includes(J);try{let Y=await fetch(U,{method:J,headers:{"Content-Type":"application/json",...typeof Z.params?.headers==="object"&&Z.params.headers!==null&&!Array.isArray(Z.params.headers)?Z.params.headers:{}},...W?{body:JSON.stringify(X.data)}:{}});return{url:U,method:J,status:Y.status,headers:(()=>{let G={};return Y.headers.forEach((_,L)=>G[L]=_),G})(),body:await Y.text()}}catch(Y){return{url:U,method:J,error:String(Y)}}}}),this.register(S0.STATE_SET,{description:"Sets a value in the persistent state",params:o({key:"string",value:"unknown"}),returns:o({key:"string",value:"unknown"}),handler:async(Z,X)=>{let Q=String(Z.params?.key||""),U=Z.params?.value;if(!Q)return{error:"Missing key for STATE_SET"};let J=U;if(typeof U==="string"&&U.includes("${"))J=v0.interpolate(U,X);return await K0.getInstance().set(Q,J),{key:Q,value:J}}}),this.register(S0.STATE_INCREMENT,{description:"Increments a numeric value in the persistent state",params:o({key:"string","amount?":"number"}),returns:o({key:"string",newValue:"number"}),handler:async(Z,X)=>{let Q=String(Z.params?.key||""),U=Number(Z.params?.amount)||1;if(!Q)return{error:"Missing key for STATE_INCREMENT"};let J=await K0.getInstance().increment(Q,U);return{key:Q,newValue:J}}}),this.register(S0.STATE_GET,{description:"Reads a value from state and optionally stores it in context.env",params:o({key:"string","as?":"string"}),returns:o({key:"string",value:"unknown","storedAs?":"string"}),handler:async(Z,X)=>{let Q=String(Z.params?.key||""),U=String(Z.params?.as||Q);if(!Q)return{error:"Missing key for STATE_GET"};let J=await K0.getInstance().get(Q);if(!X.env)X.env={};return X.env[U]=J,{key:Q,value:J,storedAs:U}}}),this.register(S0.STATE_DELETE,{description:"Deletes a key from the persistent state",params:o({key:"string"}),returns:o({key:"string",deleted:"boolean"}),handler:async(Z,X)=>{let Q=String(Z.params?.key||"");if(!Q)return{error:"Missing key for STATE_DELETE"};let U=await K0.getInstance().delete(Q);return{key:Q,deleted:U}}}),this.register(S0.EMIT_EVENT,{description:"Emits a new event back into the system",params:o({event:"string","data?":"object"}),returns:o({event:"string",payload:"object"}),handler:(Z,X)=>{return{event:String(Z.params?.event||""),payload:Z.params?.data||{}}}}),this.register(S0.NOTIFY,{description:"Sends a notification to a specific target",params:o({"message?":"string","content?":"string","target?":"string"}),returns:o({target:"string",message:"string"}),handler:(Z,X)=>{let Q=Z.params?.message||Z.params?.content||"Notification",U=Z.params?.target||"default";return console.log(`[Notification] To: ${U}, Msg: ${Q}`),{target:U,message:Q}}}),this.register(S0.STATE_OP,{description:"Executes a custom JavaScript block with access to context and state",params:o({run:"string"}),returns:o("unknown"),handler:(Z,X)=>{if(Z.params?.run)return Function("context","state","data","vars","env","helpers",`with(context) { ${Z.params.run} }`)(X,X.state,X.data,X.vars,X.env,X.helpers);return{warning:"Missing 'run' param for STATE_OP"}}})}}var S0;var t2=R(()=>{KX();D9();Z6();S0={LOG:"LOG",MATH:"MATH",RESPONSE:"RESPONSE",EXECUTE:"EXECUTE",FORWARD:"FORWARD",STATE_SET:"STATE_SET",STATE_INCREMENT:"STATE_INCREMENT",STATE_GET:"STATE_GET",STATE_DELETE:"STATE_DELETE",EMIT_EVENT:"EMIT_EVENT",NOTIFY:"NOTIFY",STATE_OP:"STATE_OP"}});var sJ={};f6(sJ,{sep:()=>dJ,resolve:()=>B8,relative:()=>vJ,posix:()=>iJ,parse:()=>lJ,normalize:()=>q7,join:()=>gJ,isAbsolute:()=>kJ,format:()=>pJ,extname:()=>uJ,dirname:()=>hJ,delimiter:()=>cJ,default:()=>YL,basename:()=>mJ,_makeLong:()=>xJ});function j1(Z){if(typeof Z!=="string")throw TypeError("Path must be a string. Received "+JSON.stringify(Z))}function yJ(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 WL(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 B8(){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(j1(J),J.length===0)continue;Z=J+"/"+Z,X=J.charCodeAt(0)===47}if(Z=yJ(Z,!X),X)if(Z.length>0)return"/"+Z;else return"/";else if(Z.length>0)return Z;else return"."}function q7(Z){if(j1(Z),Z.length===0)return".";var X=Z.charCodeAt(0)===47,Q=Z.charCodeAt(Z.length-1)===47;if(Z=yJ(Z,!X),Z.length===0&&!X)Z=".";if(Z.length>0&&Q)Z+="/";if(X)return"/"+Z;return Z}function kJ(Z){return j1(Z),Z.length>0&&Z.charCodeAt(0)===47}function gJ(){if(arguments.length===0)return".";var Z;for(var X=0;X<arguments.length;++X){var Q=arguments[X];if(j1(Q),Q.length>0)if(Z===void 0)Z=Q;else Z+="/"+Q}if(Z===void 0)return".";return q7(Z)}function vJ(Z,X){if(j1(Z),j1(X),Z===X)return"";if(Z=B8(Z),X=B8(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,_=-1,L=0;for(;L<=G;++L){if(L===G){if(Y>G){if(X.charCodeAt($+L)===47)return X.slice($+L+1);else if(L===0)return X.slice($+L)}else if(J>G){if(Z.charCodeAt(Q+L)===47)_=L;else if(L===0)_=0}break}var V=Z.charCodeAt(Q+L),q=X.charCodeAt($+L);if(V!==q)break;else if(V===47)_=L}var H="";for(L=Q+_+1;L<=U;++L)if(L===U||Z.charCodeAt(L)===47)if(H.length===0)H+="..";else H+="/..";if(H.length>0)return H+X.slice($+_);else{if($+=_,X.charCodeAt($)===47)++$;return X.slice($)}}function xJ(Z){return Z}function hJ(Z){if(j1(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 mJ(Z,X){if(X!==void 0&&typeof X!=="string")throw TypeError('"ext" argument must be a string');j1(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 uJ(Z){j1(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 pJ(Z){if(Z===null||typeof Z!=="object")throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof Z);return WL("/",Z)}function lJ(Z){j1(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,_=Z.length-1,L=0;for(;_>=J;--_){if(Q=Z.charCodeAt(_),Q===47){if(!G){W=_+1;break}continue}if(Y===-1)G=!1,Y=_+1;if(Q===46){if($===-1)$=_;else if(L!==1)L=1}else if($!==-1)L=-1}if($===-1||Y===-1||L===0||L===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 dJ="/",cJ=":",iJ,YL;var rJ=R(()=>{iJ=((Z)=>(Z.posix=Z,Z))({resolve:B8,normalize:q7,isAbsolute:kJ,join:gJ,relative:vJ,_makeLong:xJ,dirname:hJ,basename:mJ,extname:uJ,format:pJ,parse:lJ,sep:dJ,delimiter:cJ,win32:null,posix:null}),YL=iJ});t2();var Q6;(($)=>{$.ENGINE_START="engine:start";$.ENGINE_DONE="engine:done";$.RULE_MATCH="rule:match";$.ACTION_SUCCESS="action:success";$.ACTION_ERROR="action:error"})(Q6||={});var P9;((U)=>{U.RULE_ADDED="rule:added";U.RULE_REMOVED="rule:removed";U.RULE_UPDATED="rule:updated"})(P9||={});var w9=P9;class PX{static instance;handlers=new Map;constructor(){}static getInstance(){if(!this.instance)this.instance=new PX;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 t0=PX.getInstance();var F_=S0,B_=Q6,M_=P9,wX={IF:"if",THEN:"then",ELSE:"else",BREAK:"break",CONTINUE:"continue",MODE:"mode",ACTIONS:"actions",RUN:"run",DELAY:"delay",PROBABILITY:"probability",PARAMS:"params",TYPE:"type",ON:"on"},AX={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"},A9={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}`},ET={Actions:F_,Events:B_,RuleEvents:M_,ControlFlow:wX,ErrorMessages:AX,DebugMessages:A9};D9();class R_{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 P5{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 SX{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}}}D9();class U2{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=v0.evaluate(Q.field,X),J=Q.value;if(typeof J==="string"&&J.includes("${"))J=v0.interpolate(J,X);return SX.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(wX),Y=Object.keys(U).filter((G)=>!W.includes(G));for(let G of Y)if(Q?!!Q.get(G):!0){U.type=G;let L=U[G];if(typeof L==="string")U.params={...U.params,message:L,content:L};else if(typeof L==="object"&&L!==null)U.params={...U.params,...L};break}}if(U.run)try{return{shouldExecute:!1,executedAction:{type:"RUN",result:Function("context","state","data","vars","env","helpers",`with(context) { ${U.run} }`)(X,X.state,X.data,X.vars,X.env,X.helpers),timestamp:Date.now()},normalizedAction:U}}catch(W){return{shouldExecute:!1,executedAction:{type:"RUN",error:String(W),timestamp:Date.now()},normalizedAction:U}}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=v0.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=v0.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 v0.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}}class U6{_rules=[];actionHandlers=new Map;lastExecution=new Map;_config;constructor(Z=[]){if(Array.isArray(Z))this._rules=Z;else this._config=Z,this._rules=[...Z.rules];try{let{ActionRegistry:X}=(t2(),K7(DX));X.getInstance(!0)}catch{}this.sortRules()}sortRules(){this._rules.sort((Z,X)=>(X.priority||0)-(Z.priority||0))}registerAction(Z,X){this.actionHandlers.set(Z,X)}async processEvent(Z){let X=[];if(!Z.state)Z.state=this.getStateContext?this.getStateContext():{};let Q=this._rules.filter((U)=>U.enabled!==!1&&U.on===Z.event);for(let U of Q){if(U.cooldown&&this.checkCooldown(U.id,U.cooldown))continue;let J=U2.evaluateConditions(U.if,Z),$;if(J)t0.emit("rule:match",{rule:U,context:Z}),$=U.do;else if(U.else)$=U.else;if($){let W=await this.executeRuleActions($,Z);this.lastExecution.set(U.id,Date.now()),X.push({ruleId:U.id,success:!0,executedActions:W})}if(!J&&!U.else&&!this.shouldEvaluateAll())break;if(J&&!this.shouldEvaluateAll())break}return X}async processEventSimple(Z,X={},Q={}){let U={event:Z,data:X,vars:Q,timestamp:Date.now(),state:this.getStateContext?this.getStateContext():{}};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(w9.RULE_ADDED,{ruleId:W.id,timestamp:Date.now()})}),$.forEach((W)=>{this.emitRuleEvent(w9.RULE_REMOVED,{ruleId:W.id,timestamp:Date.now()})}),this.emitRuleEvent(w9.RULE_UPDATED,{count:Z.length,added:J.length,removed:$.length,unchanged:Z.length-J.length,timestamp:Date.now()})}emitRuleEvent(Z,X){try{if(t0)t0.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}getStateContext(){return{}}evaluateConditions(Z,X){return U2.evaluateConditions(Z,X)}evaluateSingleCondition(Z,X){return U2.evaluateConditions(Z,X)}async executeRuleActions(Z,X){let{actionsToExecute:Q}=U2.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 U2.processSingleActionBase(Z,X);if(!Q)return U;try{let $=this.actionHandlers.get(J.type);if($){let Y=await $(J.params||{},X);return t0.emit("action:success",{action:J,context:X,result:Y}),{type:J.type,result:Y,timestamp:Date.now()}}try{let{ActionRegistry:Y}=(t2(),K7(DX)),G=Y.getInstance().get(J.type);if(G){let _=await G(J,X);return t0.emit("action:success",{action:J,context:X,result:_}),{type:J.type,result:_,timestamp:Date.now()}}}catch{}let W=`${AX.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}:`,$),t0.emit("action:error",{action:J,context:X,error:String($)}),{type:J.type,error:String($),timestamp:Date.now()}}}interpolateParams(Z,X){return U2.interpolateParams(Z,X)}get rules(){return[...this._rules]}get config(){return this._config}set rules(Z){this._rules=[...Z],this.sortRules()}}t2();Z6();class w5 extends U6{actionRegistry;stateManager;constructor(Z){super(Z);this.actionRegistry=X6.getInstance(!0),this.stateManager=K0.getInstance()}async evaluateContext(Z){if(!Z.state)Z.state=this.stateManager.getLiveProxy();if(this._config?.stateConfig)await this.stateManager.applyConfig(this._config.stateConfig);if(!Z.env)Z.env={};if(this._config?.globalSettings?.debugMode)console.log(A9.RULE_ENGINE_EVALUATING(this._rules.length,Z.event));t0.emit("engine:start",{context:Z,rulesCount:this._rules.length});let X=await this.processEvent(Z);return t0.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(),state:this.stateManager.getLiveProxy()};return this.processEvent($)}let U=Z;if(U.state=this.stateManager.getLiveProxy(),this._config?.stateConfig)await this.stateManager.applyConfig(this._config.stateConfig);if(t0.emit("engine:start",{context:U,rulesCount:this._rules.length}),this._config?.globalSettings?.debugMode)console.log(A9.RULE_ENGINE_EVALUATING(this._rules.length,U.event));let J=await super.processEvent(U);return t0.emit("engine:done",{results:J,context:U}),J}getStateContext(){return this.stateManager.getLiveProxy()}get ActionRegistry(){return this.actionRegistry}get StateManager(){return this.stateManager}}t2();Z6();class O_{static create(Z,X,Q={}){return{event:Z,timestamp:Date.now(),data:typeof X==="object"&&X!==null?X:{value:X},vars:Q,state:K0.getInstance().getLiveProxy(),helpers:this.getDefaultHelpers()}}static fromRequest(Z,X,Q={}){let U=new URL(Z.url);return{event:"HTTP_REQUEST",timestamp:Date.now(),data:{method:Z.method,path:U.pathname,query:Object.fromEntries(U.searchParams),headers:(()=>{let J={};return Z.headers.forEach(($,W)=>J[W]=$),J})(),body:X||{}},vars:{...Q,ip:Z.headers.get("x-forwarded-for")||"unknown"},state:K0.getInstance().getLiveProxy(),helpers:this.getDefaultHelpers()}}static fromWebhook(Z,X,Q,U={}){return{event:`WEBHOOK_${Z.toUpperCase()}_${X.toUpperCase()}`,timestamp:Date.now(),data:Q,vars:{...U,provider:Z},state:K0.getInstance().getLiveProxy(),helpers:this.getDefaultHelpers()}}static getDefaultHelpers(){return{now:()=>Date.now(),uuid:()=>crypto.randomUUID(),jsonParse:(Z)=>{try{return typeof Z==="string"?JSON.parse(Z):null}catch{return null}},jsonStringify:(Z)=>{try{return JSON.stringify(Z)}catch{return null}}}}}Z6();KX();var K_=["EQ","==","NEQ","!="],A5=["GT",">","GTE",">=","LT","<","LTE","<="],S5=["IN","NOT_IN","RANGE"],C5=["CONTAINS","NOT_CONTAINS","STARTS_WITH","ENDS_WITH"],T_=["IS_NULL","IS_NONE"],D_=["IS_EMPTY","HAS_KEY","MATCHES","SINCE","AFTER","BEFORE","UNTIL"],LD=[...K_,...A5,...S5,...C5,...T_,...D_];function N5(Z){return S5.includes(Z)}function j5(Z){return C5.includes(Z)}function E5(Z){return A5.includes(Z)}var J2=t4({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(),MD=J2.Operator,RD=J2.Condition,OD=J2.ConditionGroup,KD=J2.RuleCondition,TD=J2.Action,DD=J2.ActionGroup,PD=J2.InlineConditionalAction,P_=J2.TriggerRule;class CX{static validate(Z){let X=P_(Z);if(X instanceof o.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(N5($)){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(j5($)){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(E5($)){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 S9(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 J6(Z,X={}){let{deduplicate:Q=!0,uniqueIdField:U}=X;if(!Z)return;if(Array.isArray(Z)){let J=Z.map((W)=>J6(W,X)).filter((W)=>W!==void 0);if(!Q)return J.length===0?void 0:J.length===1?J[0]:J;let $=U?S9(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,$=J6(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=S9(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 $6(Z,X={}){let{deduplicate:Q=!1,uniqueIdField:U}=X;if(!Z)return;if(Array.isArray(Z)){let J=Z.map((G)=>$6(G,X)).filter((G)=>G!==void 0);if(!Q){let G=J.flatMap((L)=>Array.isArray(L)?L:[L]),_=[];for(let L of G)if("mode"in L&&"actions"in L&&L.mode==="ALL")_.push(...L.actions);else _.push(L);if(_.length===0)return;if(_.length===1)return _[0];return _}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=S9(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,$=$6(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=S9(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 $2{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 $2("AND");return this.conditions.push(Z(X).build()),this}or(Z){let X=new $2("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 W6{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 NX{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 f={EVENT:"event",CONDITION:"condition",CONDITION_GROUP:"condition_group",ACTION:"action",ACTION_GROUP:"action_group",DO:"do"},w={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"},u0={DO:"do",ELSE:"else"},jX={AND:"AND",OR:"OR"};var N9=(Z)=>Z.type===f.EVENT,m1=(Z)=>Z.type===f.CONDITION||Z.type===f.CONDITION_GROUP,P1=(Z)=>Z.type===f.ACTION||Z.type===f.ACTION_GROUP||Z.type===f.DO,j9=(Z)=>Z.type===f.DO;var e2=(Z)=>{return Z.data?.branchType===u0.ELSE?u0.ELSE:u0.DO};function EX(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 J0(Z,X,Q){let U=[...Q];return Z.edges.filter((J)=>J.source===X&&U.includes(J.sourceHandle||""))}var L1={CONDITION_OUTPUT:[w.CONDITION_OUTPUT,w.CONDITION_OUTPUT_LEGACY],ACTION_OUTPUT:[w.ACTION_OUTPUT,w.ACTION_OUTPUT_LEGACY],DO_OUTPUT:[w.DO_OUTPUT,""],THEN_ELSE:[w.THEN_OUTPUT,w.ELSE_OUTPUT],DO_CONDITION:[w.DO_CONDITION_OUTPUT],CONDITION_CHAIN:[w.CONDITION_OUTPUT,w.CONDITION_OUTPUT_LEGACY,w.THEN_OUTPUT,w.ELSE_OUTPUT],ANY:[w.CONDITION_OUTPUT,w.CONDITION_OUTPUT_LEGACY,""]};class b5{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 I5{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 f5{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 y5{conditionConverter=new b5;actionConverter=new I5;eventConverter=new f5;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 k5=new y5;function bX(Z){let X=Z.data||{};return k5.getConditionConverter().convert(X,{nodes:[],edges:[]})}function IX(Z){let X=Z.data||{};return k5.getActionConverter().convert(X,{nodes:[],edges:[]})}function E9(Z,X){let Q=X.options.isCondNode||m1,U=X.nodes.find((_)=>_.id===Z);if(!U||U.type!==f.CONDITION_GROUP)return{conditions:[],operator:jX.AND};let J=U.data.operator||jX.AND,$=[],W=new Set;function Y(_){if(W.has(_))return;W.add(_);let L=X.nodes.find((H)=>H.id===_);if(!L||!Q(L)||L.type===f.CONDITION_GROUP)return;let V=bX(L);$.push(V);let q=J0(X,_,[...L1.CONDITION_OUTPUT,w.THEN_OUTPUT]).filter((H)=>{let F=X.nodes.find((z)=>z.id===H.target);return F&&Q(F)});for(let H of q)Y(H.target)}let G=J0(X,Z,[w.CONDITION_GROUP_OUTPUT]).filter((_)=>{let L=X.nodes.find((V)=>V.id===_.target);return L&&Q(L)});for(let _ of G)Y(_.target);return{conditions:$,operator:J}}function P2(Z,X){if(X.options.resolveCondition&&X.options.resolveCondition!==P2)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||m1;if(!Q||!U(Q))return null;if(Q.type===f.CONDITION_GROUP){let{conditions:W,operator:Y}=E9(Z,X);if(W.length===0)return null;if(W.length===1)return W[0];return{operator:Y,conditions:W}}let J=bX(Q);if(X.transformers?.condition){let W=X.transformers.condition(J,Q);if(W===null)return null;return W}let $=J0(X,Z,L1.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)=>P2(Y.target,X)).filter((Y)=>Y!==null);if(W.length>0)return{operator:"AND",conditions:[J,...W]}}return J}function fX(Z,X){let Q=X.options.isCondNode||m1,U,J;function $(W){let Y=X.nodes.find((L)=>L.id===W);if(!Y||!Q(Y))return;let G=X.edges.filter((L)=>L.source===W);for(let L of G){let V=X.nodes.find((q)=>q.id===L.target);if(!V)continue;if(V.type===f.ACTION||V.type===f.ACTION_GROUP||V.type===f.DO)if(L.sourceHandle===w.ELSE_OUTPUT)J=L.target;else U=L.target}let _=J0(X,W,L1.CONDITION_OUTPUT).filter((L)=>{let V=X.nodes.find((q)=>q.id===L.target);return V&&Q(V)});for(let L of _)$(L.target)}return $(Z),{thenActionId:U,elseActionId:J}}function Z4(Z,X){let Q=X.options.isActNode||P1,U=X.nodes.find((L)=>L.id===Z);if(!U||U.type!==f.ACTION_GROUP)return{actions:[],mode:"ALL"};let J=U.data.mode||"ALL",$=[],W=new Set;function Y(L){if(W.has(L))return;W.add(L);let V=X.nodes.find((F)=>F.id===L);if(!V||!Q(V)||V.type===f.ACTION_GROUP)return;let q=IX(V);$.push(q);let H=J0(X,L,L1.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=J0(X,Z,[w.ACTION_GROUP_OUTPUT,w.DO_OUTPUT,"do-output","action-output","action-group-output"]).filter((L)=>{let V=X.nodes.find((q)=>q.id===L.target);return V&&Q(V)});for(let L of G)Y(L.target);let _=J0(X,Z,[w.ACTION_GROUP_CONDITION_OUTPUT,"condition-output"]);for(let L of _){let V=T0(L.target,X);if(V)$.push(V)}return{actions:$,mode:J}}function T0(Z,X){if(X.options.resolveAction&&X.options.resolveAction!==T0)return X.options.resolveAction(Z,X);let Q=X.nodes.find(($)=>$.id===Z);if(!Q)return null;if(Q.type===f.ACTION_GROUP){if(X.visitedActs?.has(Z))return null;X.visitedActs?.add(Z);let{actions:$,mode:W}=Z4(Z,X);if($.length===0)return null;return{mode:W,actions:$}}if(Q.type===f.CONDITION){if(X.options.resolveCondition){let $=X.options.resolveCondition(Z,X);if($){let{doBranches:W,elseBranches:Y}=Y6(Z,X),G=null,_=null;if(W.length>0){let L=W[0],V=g5(L,X);if(V.length>0)G=V.length===1?V[0]:{mode:"ALL",actions:V}}if(Y.length>0){let L=Y[0],V=g5(L,X);if(V.length>0)_=V.length===1?V[0]:{mode:"ALL",actions:V}}if(!G&&!_){let L=fX(Z,X);if(L.thenActionId)G=T0(L.thenActionId,X);if(L.elseActionId)_=T0(L.elseActionId,X)}if(G||_)return{if:$,then:G??void 0,do:G??void 0,else:_??void 0}}}}if(!(X.options.isActNode||P1)(Q))return null;if(X.visitedActs?.has(Z))return null;X.visitedActs?.add(Z);let J=IX(Q);if(X.transformers?.action){let $=X.transformers.action(J,Q);if($===null)return null;return $}return J}function g5(Z,X){let Q=X.options.isActNode||P1,U=[],J=J0(X,Z,[w.DO_OUTPUT,w.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=T0($.target,X);if(W)U.push(W)}return U}function Y6(Z,X){let Q=X.options.isActNode?(G)=>G.type===f.CONDITION||G.type===f.CONDITION_GROUP:(G)=>G.type===f.CONDITION||G.type===f.CONDITION_GROUP,U=(G)=>G.type===f.DO,J=[],$=[],W=new Set;function Y(G){if(W.has(G))return;W.add(G);let _=J0(X,G,[...L1.CONDITION_OUTPUT,w.THEN_OUTPUT]).filter((V)=>{let q=X.nodes.find((H)=>H.id===V.target);return q&&U(q)});for(let V of _){let q=X.nodes.find((F)=>F.id===V.target);if(!q)continue;if(e2(q)===u0.ELSE){if(!$.includes(V.target))$.push(V.target)}else if(!J.includes(V.target))J.push(V.target)}let L=J0(X,G,L1.CONDITION_OUTPUT).filter((V)=>{let q=X.nodes.find((H)=>H.id===V.target);return q&&Q(q)});for(let V of L)Y(V.target)}return Y(Z),{doBranches:J,elseBranches:$}}function w_(Z,X,Q={},U){let J={...Q,resolveCondition:Q.resolveCondition||P2,resolveAction:Q.resolveAction||T0};return{nodes:Z,edges:X,visitedConds:new Set,visitedActs:new Set,options:J,transformers:U}}var OP=e2,A_=EX;function S_(Z,X,Q){let U=X.options.isCondNode||m1,J=j9,$=J0(X,Z,[w.DO_CONDITION_OUTPUT]).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=P2(W,X);if(X.visitedConds=Y,!G)return null;let{thenActionId:_,elseActionId:L}=yX(W,X),V=J0(X,Z,[w.DO_CONDITION_OUTPUT]).find((F)=>{let z=X.nodes.find((B)=>B.id===F.target);return z&&(X.options.isActNode?.(z)??P1(z))});if(V&&!L)L=V.target;let q=_?T0(_,X):void 0,H=L?T0(L,X):void 0;return{if:G,do:q??void 0,else:H??void 0}}function b9(Z,X,Q){let U=X.options.isActNode||P1,J=[],$=J0(X,Z,L1.DO_OUTPUT).filter((Y)=>{let G=X.nodes.find((_)=>_.id===Y.target);return G&&U(G)});for(let Y of $){let G=T0(Y.target,X);if(G)J.push(G)}let W=S_(Z,X,Q);if(W)J.push(W);return J}function yX(Z,X){let Q=X.options.isCondNode||m1,U=X.options.isActNode||P1,J=j9,$,W;function Y(G){let _=X.nodes.find((q)=>q.id===G);if(!_||!Q(_))return;let L=J0(X,G,[w.THEN_OUTPUT,w.ELSE_OUTPUT,w.CONDITION_OUTPUT,w.CONDITION_OUTPUT_LEGACY,w.DO_OUTPUT,""]);for(let q of L){let H=X.nodes.find((F)=>F.id===q.target);if(!H)continue;if(J(H)){let F=J0(X,H.id,[w.DO_OUTPUT,""]).filter((K)=>{let P=X.nodes.find((S)=>S.id===K.target);return P&&U(P)}),z=e2(H);for(let K of F)if(z===u0.ELSE)W=K.target;else $=K.target;let B=J0(X,H.id,[w.DO_CONDITION_OUTPUT]),T=B.find((K)=>{let P=X.nodes.find((S)=>S.id===K.target);return P&&Q(P)}),D=B.find((K)=>{let P=X.nodes.find((S)=>S.id===K.target);return P&&U(P)});if(D&&!W)W=D.target;continue}if(H.type===f.ACTION_GROUP){$=q.target;continue}if(!U(H))continue;if(q.sourceHandle===w.ELSE_OUTPUT)W=q.target;else $=q.target}let V=J0(X,G,L1.CONDITION_OUTPUT).filter((q)=>{let H=X.nodes.find((F)=>F.id===q.target);return H&&Q(H)});for(let q of V)Y(q.target)}return Y(Z),{thenActionId:$,elseActionId:W}}function kX(Z,X,Q={},U){let J=new gX;if(Q.optimizeOptions)J.withOptimizeOptions(Q.optimizeOptions);let $=Q.isEventNode||N9,W=Q.isCondNode||m1,Y=Q.isActNode||P1,G=Q.extractEventData||A_,_=Z.find((K)=>$(K));if(!_)throw Error("Missing Event Trigger node");let L=G(_);if(!L.id||!L.on)throw Error("Rule ID and Event Name are required");if(J.id(L.id).on(L.on),L.name)J.name(L.name);if(L.description)J.description(L.description);if(L.priority!==void 0)J.priority(Number(L.priority));if(L.enabled!==void 0)J.enabled(!!L.enabled);if(L.cooldown!==void 0)J.cooldown(Number(L.cooldown));if(L.tags)J.tags(L.tags);let V=w_(Z,X,Q,U),q=X.filter((K)=>K.source===_.id),H=[],F=[],z=[],B=[];for(let K of q){let P=V.nodes.find((S)=>S.id===K.target);if(!P)continue;if(P.type===f.CONDITION_GROUP)H.push(K.target);else if(W(P))F.push(K.target);else if(P.type===f.ACTION_GROUP)z.push(K.target);else if(Y(P))B.push(K.target)}for(let K of H){let{conditions:P,operator:S}=E9(K,V);if(P.length>0){let N={operator:S,conditions:P};J.withIf(N);let x=V.edges.filter((a)=>a.source===K&&a.sourceHandle?.startsWith("cond")).map((a)=>a.target),C=null,h=null;for(let a of x){let W0=yX(a,V),n=W0.thenActionId?T0(W0.thenActionId,V):null,B0=W0.elseActionId?T0(W0.elseActionId,V):null,{doBranches:j0,elseBranches:d0}=Y6(a,V),E1=[];for(let K4 of j0){let O8=b9(K4,V,a);E1.push(...O8)}if(E1.length>0)n=E1.length===1?E1[0]:{mode:"ALL",actions:E1};let b1=[];for(let K4 of d0){let O8=b9(K4,V,a);b1.push(...O8)}if(b1.length>0)B0=b1.length===1?b1[0]:{mode:"ALL",actions:b1};if(n)C=n;if(B0)h=B0}if(C)J.withDo(C);if(h)J.elseRule(h)}}if(F.length>0&&H.length===0){let K=[],P,S;for(let B0 of F){let j0=P2(B0,V);if(j0)K.push(j0);let d0=yX(B0,V);if(d0.thenActionId)P=d0.thenActionId;if(d0.elseActionId)S=d0.elseActionId}if(K.length===1)J.withIf(K[0]);else if(K.length>1)J.withIf({operator:"AND",conditions:K});let N=F[0];if(!N)return J;let{doBranches:x,elseBranches:C}=Y6(N,V),h=[];for(let B0 of x){let j0=b9(B0,V,N);h.push(...j0)}let a=h.length===1?h[0]:h.length>1?{mode:"ALL",actions:h}:P?T0(P,V):null,W0=[];for(let B0 of C){let j0=b9(B0,V,N);W0.push(...j0)}let n=W0.length===1?W0[0]:W0.length>1?{mode:"ALL",actions:W0}:S?T0(S,V):null;if(a)J.withDo(a);if(n)J.elseRule(n);if(!P&&!h.length)for(let B0 of F){let j0=J0(V,B0,[w.THEN_OUTPUT,w.CONDITION_OUTPUT,"condition-output","then-output","output",""]).filter((d0)=>{return V.nodes.find((b1)=>b1.id===d0.target)?.type===f.ACTION_GROUP});for(let d0 of j0){let{actions:E1,mode:b1}=Z4(d0.target,V);if(E1.length>0){let K4={mode:b1,actions:E1};J.withDo(K4);break}}}}let T=new Set;if(F.length>0&&H.length===0)for(let K of F){let P=J0(V,K,[w.THEN_OUTPUT,w.CONDITION_OUTPUT,"condition-output","then-output","output",""]).filter((S)=>{return V.nodes.find((x)=>x.id===S.target)?.type===f.ACTION_GROUP});for(let S of P)T.add(S.target)}let D=z.filter((K)=>!T.has(K));if(D.length>0)for(let K of D)if(J0(V,K,[w.ACTION_GROUP_CONDITION_OUTPUT,"condition-output"]).filter((S)=>{let N=V.nodes.find((x)=>x.id===S.target);return N&&W(N)}).length>0){let{actions:S,mode:N}=Z4(K,V);if(S.length>0){let x={mode:N,actions:S};J.withDo(x)}}else{let{actions:S,mode:N}=Z4(K,V);if(S.length>0)J.withDo({mode:N,actions:S})}if(B.length>0&&F.length===0&&H.length===0)for(let K of B){let P=T0(K,V);if(P)J.withDo(P)}return J}function v5(Z,X,Q={},U){let J=Q.isEventNode||N9,$=Z.filter((G)=>J(G));if($.length===0)return{rules:[],errors:["No Event nodes found in the graph"]};let W=[],Y=[];for(let G of $)try{let _=G.id,L=new Set([_]),V=[_];while(V.length>0){let B=V.shift(),T=X.filter((D)=>D.source===B);for(let D of T)if(!L.has(D.target))L.add(D.target),V.push(D.target)}let q=Z.filter((B)=>L.has(B.id)),H=X.filter((B)=>L.has(B.source)&&L.has(B.target)),z=kX(q,H,Q,U).build();W.push(z)}catch(_){let L=_ instanceof Error?_.message:String(_);Y.push(`Failed to parse rule for event ${G.id}: ${L}`)}return{rules:W,errors:Y}}class gX{rule={enabled:!0,priority:0};optimizeOptions={};static fromGraph(Z,X,Q,U){return kX(Z,X,Q,U)}static fromGraphMultiple(Z,X,Q,U){return v5(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 $2,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 W6,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 C9(this,Z,X,Q)}whenComplex(Z){let X=new $2,Q=Z(X).build();return new C9(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 Error("Rule ID is required");if(!this.rule.on)throw Error("Rule 'on' event is required");if(!this.rule.do)throw Error("Rule 'do' action is required");if(this.rule.if)this.rule.if=J6(this.rule.if,this.optimizeOptions);if(this.rule.do){let Z=$6(this.rule.do,this.optimizeOptions);this.rule.do=Z?Z:this.rule.do}return this.rule}}class C9{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 L7={};f6(L7,{visitAsync:()=>G6,visit:()=>q1,stringify:()=>fJ,parseDocument:()=>_7,parseAllDocuments:()=>z8,parse:()=>F8,isSeq:()=>X1,isScalar:()=>v,isPair:()=>p,isNode:()=>l,isMap:()=>Z1,isDocument:()=>e0,isCollection:()=>r,isAlias:()=>l0,YAMLWarning:()=>K6,YAMLSeq:()=>D0,YAMLParseError:()=>U1,YAMLMap:()=>G0,YAMLError:()=>O6,Schema:()=>_4,Scalar:()=>b,Parser:()=>z4,Pair:()=>$0,LineCounter:()=>N6,Lexer:()=>C6,Document:()=>S1,Composer:()=>V4,CST:()=>Y7,Alias:()=>p1});var I9=Symbol.for("yaml.alias"),f9=Symbol.for("yaml.document"),V1=Symbol.for("yaml.map"),vX=Symbol.for("yaml.pair"),p0=Symbol.for("yaml.scalar"),u1=Symbol.for("yaml.seq"),C0=Symbol.for("yaml.node.type"),l0=(Z)=>!!Z&&typeof Z==="object"&&Z[C0]===I9,e0=(Z)=>!!Z&&typeof Z==="object"&&Z[C0]===f9,Z1=(Z)=>!!Z&&typeof Z==="object"&&Z[C0]===V1,p=(Z)=>!!Z&&typeof Z==="object"&&Z[C0]===vX,v=(Z)=>!!Z&&typeof Z==="object"&&Z[C0]===p0,X1=(Z)=>!!Z&&typeof Z==="object"&&Z[C0]===u1;function r(Z){if(Z&&typeof Z==="object")switch(Z[C0]){case V1:case u1:return!0}return!1}function l(Z){if(Z&&typeof Z==="object")switch(Z[C0]){case I9:case V1:case p0:case u1:return!0}return!1}var y9=(Z)=>(v(Z)||r(Z))&&!!Z.anchor;var x0=Symbol("break visit"),x5=Symbol("skip children"),w1=Symbol("remove node");function q1(Z,X){let Q=h5(X);if(e0(Z)){if(X4(null,Z.contents,Q,Object.freeze([Z]))===w1)Z.contents=null}else X4(null,Z,Q,Object.freeze([]))}q1.BREAK=x0;q1.SKIP=x5;q1.REMOVE=w1;function X4(Z,X,Q,U){let J=m5(Z,X,Q,U);if(l(J)||p(J))return u5(Z,U,J),X4(Z,J,Q,U);if(typeof J!=="symbol"){if(r(X)){U=Object.freeze(U.concat(X));for(let $=0;$<X.items.length;++$){let W=X4($,X.items[$],Q,U);if(typeof W==="number")$=W-1;else if(W===x0)return x0;else if(W===w1)X.items.splice($,1),$-=1}}else if(p(X)){U=Object.freeze(U.concat(X));let $=X4("key",X.key,Q,U);if($===x0)return x0;else if($===w1)X.key=null;let W=X4("value",X.value,Q,U);if(W===x0)return x0;else if(W===w1)X.value=null}}return J}async function G6(Z,X){let Q=h5(X);if(e0(Z)){if(await Q4(null,Z.contents,Q,Object.freeze([Z]))===w1)Z.contents=null}else await Q4(null,Z,Q,Object.freeze([]))}G6.BREAK=x0;G6.SKIP=x5;G6.REMOVE=w1;async function Q4(Z,X,Q,U){let J=await m5(Z,X,Q,U);if(l(J)||p(J))return u5(Z,U,J),Q4(Z,J,Q,U);if(typeof J!=="symbol"){if(r(X)){U=Object.freeze(U.concat(X));for(let $=0;$<X.items.length;++$){let W=await Q4($,X.items[$],Q,U);if(typeof W==="number")$=W-1;else if(W===x0)return x0;else if(W===w1)X.items.splice($,1),$-=1}}else if(p(X)){U=Object.freeze(U.concat(X));let $=await Q4("key",X.key,Q,U);if($===x0)return x0;else if($===w1)X.key=null;let W=await Q4("value",X.value,Q,U);if(W===x0)return x0;else if(W===w1)X.value=null}}return J}function h5(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 m5(Z,X,Q,U){if(typeof Q==="function")return Q(Z,X,U);if(Z1(X))return Q.Map?.(Z,X,U);if(X1(X))return Q.Seq?.(Z,X,U);if(p(X))return Q.Pair?.(Z,X,U);if(v(X))return Q.Scalar?.(Z,X,U);if(l0(X))return Q.Alias?.(Z,X,U);return}function u5(Z,X,Q){let U=X[X.length-1];if(r(U))U.items[Z]=Q;else if(p(U))if(Z==="key")U.key=Q;else U.value=Q;else if(e0(U))U.contents=Q;else{let J=l0(U)?"alias":"scalar";throw Error(`Cannot replace node with ${J} parent`)}}var C_={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},N_=(Z)=>Z.replace(/[!,[\]{}]/g,(X)=>C_[X]);class M0{constructor(Z,X){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},M0.defaultYaml,Z),this.tags=Object.assign({},M0.defaultTags,X)}clone(){let Z=new M0(this.yaml,this.tags);return Z.docStart=this.docStart,Z}atDocument(){let Z=new M0(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:M0.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},M0.defaultTags);break}return Z}add(Z,X){if(this.atNextDocument)this.yaml={explicit:M0.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},M0.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+N_(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
|
-
`)}}
|
|
48
|
-
`)?
|
|
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 r5(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 a5=(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
|
+
`)?X1(Q,X):Q.includes(`
|
|
49
49
|
`)?`
|
|
50
|
-
`+
|
|
51
|
-
`){if(Q==="block")z=
|
|
52
|
-
`&&H!=="\t"){let
|
|
53
|
-
`&&
|
|
54
|
-
${X}${Z.slice(0,S)}`;else{if(Q==="quoted"&&
|
|
55
|
-
${X}${Z.slice(
|
|
56
|
-
`);U=X,J=X+1,$=Z[J]}return U}var
|
|
57
|
-
`){if($-W>U)return!0;if(W=$+1,J-W<=U)return!1}return!0}function
|
|
50
|
+
`+X1(Q,X):(Z.endsWith(" ")?"":" ")+Q;var cX="flow",n5="block",t5="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=o5(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=o5(Z,z,X.length);V=z+X.length+G,_=void 0}else{if(P===" "&&H&&H!==" "&&H!==`
|
|
52
|
+
`&&H!=="\t"){let O=Z[z+1];if(O&&O!==" "&&O!==`
|
|
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
|
+
${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 o5(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
|
+
`);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
|
+
`){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:
|
|
61
|
-
`)||/[ \t]\n|\n[ \t]/.test(Z))return
|
|
62
|
-
${Q}`)+"'";return X.implicitKey?U:
|
|
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,$,t5,l9(X,!1))}function iX(Z,X){if(X.options.singleQuote===!1||X.implicitKey&&Z.includes(`
|
|
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
|
+
${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
|
))
|
|
64
64
|
+(?!
|
|
65
|
-
|$)`,"g")}catch{
|
|
65
|
+
|$)`,"g")}catch{sX=/\n+(?!\n|$)/g}function p9({comment:Z,type:X,value:Q},U,J,$){let{blockQuote:W,commentString:Y,lineWidth:G}=U.options;if(!W||/\n[\t ]+$/.test(Q))return L4(Q,U);let L=U.indent||(U.forceBlockIndent||d9(Q)?" ":""),q=W==="literal"?!0:W==="folded"||X===f.BLOCK_FOLDED?!1:X===f.BLOCK_LITERAL?!0:!xL(Q,G,L.length);if(!Q)return q?`|
|
|
66
66
|
`:`>
|
|
67
|
-
`;let V,
|
|
68
|
-
`&&S!=="\t"&&S!==" ")break}let H=Q.substring(
|
|
67
|
+
`;let V,_;for(_=Q.length;_>0;--_){let S=Q[_-1];if(S!==`
|
|
68
|
+
`&&S!=="\t"&&S!==" ")break}let H=Q.substring(_),F=H.indexOf(`
|
|
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
|
-
`)H=H.slice(0,-1);H=H.replace(
|
|
71
|
-
`)
|
|
72
|
-
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${
|
|
73
|
-
${
|
|
74
|
-
${
|
|
75
|
-
`)||
|
|
76
|
-
`)?
|
|
77
|
-
`))return
|
|
78
|
-
${G}`);if(W){let
|
|
79
|
-
${X.indent}${Y}`}function
|
|
80
|
-
${Y}:`}else if(B=`${B}:`,
|
|
81
|
-
`:"",
|
|
82
|
-
${
|
|
83
|
-
`&&
|
|
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
|
+
`)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,n5,y);if(!C)return`>${O}
|
|
73
|
+
${L}${A}`}return Q=Q.replace(/\n+/g,`$&${L}`),`|${O}
|
|
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
|
+
`)||q&&/[[\]{},]/.test($))return L4($,X);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test($))return Y||q||!$.includes(`
|
|
76
|
+
`)?L4($,X):p9(Z,X,Q,U);if(!Y&&!q&&J!==f.PLAIN&&$.includes(`
|
|
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:a5,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 e5({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
|
+
${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
|
+
`:"",w){let y=L(w);C+=`
|
|
82
|
+
${X1(y,Q.indent)}`}if(S===""&&!Q.inFlow){if(C===`
|
|
83
|
+
`&&P)C=`
|
|
84
84
|
|
|
85
|
-
`}else
|
|
86
|
-
${Q.indent}`}else if(!H&&
|
|
87
|
-
`),
|
|
85
|
+
`}else C+=`
|
|
86
|
+
${Q.indent}`}else if(!H&&n(X)){let y=S[0],A=S.indexOf(`
|
|
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
|
-
`)
|
|
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?e5(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
|
-
`+
|
|
93
|
-
`)))
|
|
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(`
|
|
93
|
+
`)))L=!0;V.push(K),q=V.length}let{start:_,end:H}=Q;if(V.length===0)return _+H;else{if(!L){let F=V.reduce((z,B)=>z+B.length+2,2);L=X.options.lineWidth>0&&F>X.options.lineWidth}if(L){let F=_;for(let z of V)F+=z?`
|
|
94
94
|
${$}${J}${z}`:`
|
|
95
95
|
`;return`${F}
|
|
96
|
-
${J}${H}`}else return`${
|
|
97
|
-
`:" ")}return
|
|
96
|
+
${J}${H}`}else return`${_}${W}${V.join(" ")}${W}${H}`}}function a9({indent:Z,options:{commentString:X}},Q,U,J){if(U&&J)U=U.replace(/^\n+/,"");if(U){let $=X1(X(U),Z);Q.push($.trimStart())}}function Y2(Z,X){let Q=x(X)?X.value:X;for(let U of Z)if(p(U)){if(U.key===X||U.key===Q)return U;if(x(U.key)&&U.key.value===Q)return U}return}class q0 extends M6{static get tagName(){return"tag:yaml.org,2002:map"}constructor(Z){super(L1,Z);this.items=[]}static from(Z,X,Q){let{keepUndefined:U,replacer:J}=Q,$=new this(Z),W=(Y,G)=>{if(typeof J==="function")G=J.call(X,Y,G);else if(Array.isArray(J)&&!J.includes(Y))return;if(G!==void 0||U)$.items.push(q4(Y,G,Q))};if(X instanceof Map)for(let[Y,G]of X)W(Y,G);else if(X&&typeof X==="object")for(let Y of Object.keys(X))W(Y,X[Y]);if(typeof Z.sortMapEntries==="function")$.items.sort(Z.sortMapEntries);return $}add(Z,X){let Q;if(p(Z))Q=Z;else if(!Z||typeof Z!=="object"||!("key"in Z))Q=new Y0(Z,Z?.value);else Q=new Y0(Z.key,Z.value);let U=Y2(this.items,Q.key),J=this.schema?.sortMapEntries;if(U){if(!X)throw Error(`Key ${Q.key} already set`);if(x(U.value)&&u9(Q.value))U.value.value=Q.value;else U.value=Q.value}else if(J){let $=this.items.findIndex((W)=>J(Q,W)<0);if($===-1)this.items.push(Q);else this.items.splice($,0,Q)}else this.items.push(Q)}delete(Z){let X=Y2(this.items,Z);if(!X)return!1;return this.items.splice(this.items.indexOf(X),1).length>0}get(Z,X){let U=Y2(this.items,Z)?.value;return(!X&&x(U)?U.value:U)??void 0}has(Z){return!!Y2(this.items,Z)}set(Z,X){this.add(new Y0(Z,X),!0)}toJSON(Z,X,Q){let U=Q?new Q:X?.mapAsMap?new Map:{};if(X?.onCreate)X.onCreate(U);for(let J of this.items)r9(X,U,J);return U}toString(Z,X,Q){if(!Z)return JSON.stringify(this);for(let U of this.items)if(!p(U))throw Error(`Map items must all be pairs; found ${JSON.stringify(U)} instead`);if(!Z.allNullValues&&this.hasAllNullValues(!1))Z=Object.assign({},Z,{allNullValues:!0});return o9(this,Z,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:Z.indent||"",onChompKeep:Q,onComment:X})}}var _1={collection:"map",default:!0,nodeClass:q0,tag:"tag:yaml.org,2002:map",resolve(Z,X){if(!e0(Z))X("Expected a mapping for this tag");return Z},createNode:(Z,X,Q)=>q0.from(Z,X,Q)};class P0 extends M6{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(Z){super(h1,Z);this.items=[]}add(Z){this.items.push(Z)}delete(Z){let X=n9(Z);if(typeof X!=="number")return!1;return this.items.splice(X,1).length>0}get(Z,X){let Q=n9(Z);if(typeof Q!=="number")return;let U=this.items[Q];return!X&&x(U)?U.value:U}has(Z){let X=n9(Z);return typeof X==="number"&&X<this.items.length}set(Z,X){let Q=n9(Z);if(typeof Q!=="number")throw Error(`Expected a valid index, not ${Z}.`);let U=this.items[Q];if(x(U)&&u9(X))U.value=X;else this.items[Q]=X}toJSON(Z,X){let Q=[];if(X?.onCreate)X.onCreate(Q);let U=0;for(let J of this.items)Q.push(R0(J,String(U++),X));return Q}toString(Z,X,Q){if(!Z)return JSON.stringify(this);return o9(this,Z,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(Z.indent||"")+" ",onChompKeep:Q,onComment:X})}static from(Z,X,Q){let{replacer:U}=Q,J=new this(Z);if(X&&Symbol.iterator in Object(X)){let $=0;for(let W of X){if(typeof U==="function"){let Y=X instanceof Set?W:String($++);W=U.call(X,Y,W)}J.items.push(u1(W,void 0,Q))}}return J}}function n9(Z){let X=x(Z)?Z.value:Z;if(X&&typeof X==="string")X=Number(X);return typeof X==="number"&&Number.isInteger(X)&&X>=0?X:null}var z1={collection:"seq",default:!0,nodeClass:P0,tag:"tag:yaml.org,2002:seq",resolve(Z,X){if(!Z1(Z))X("Expected a sequence for this tag");return Z},createNode:(Z,X,Q)=>P0.from(Z,X,Q)};var G2={identify:(Z)=>typeof Z==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(Z)=>Z,stringify(Z,X,Q,U){return X=Object.assign({actualString:!0},X),p1(Z,X,Q,U)}};var C2={identify:(Z)=>Z==null,createNode:()=>new f(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new f(null),stringify:({source:Z},X)=>typeof Z==="string"&&C2.test.test(Z)?Z:X.options.nullStr};var T6={identify:(Z)=>typeof Z==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:(Z)=>new f(Z[0]==="t"||Z[0]==="T"),stringify({source:Z,value:X},Q){if(Z&&T6.test.test(Z)){let U=Z[0]==="t"||Z[0]==="T";if(X===U)return Z}return X?Q.options.trueStr:Q.options.falseStr}};function A0({format:Z,minFractionDigits:X,tag:Q,value:U}){if(typeof U==="bigint")return String(U);let J=typeof U==="number"?U:Number(U);if(!isFinite(J))return isNaN(J)?".nan":J<0?"-.inf":".inf";let $=Object.is(U,-0)?"-0":JSON.stringify(U);if(!Z&&X&&(!Q||Q==="tag:yaml.org,2002:float")&&/^\d/.test($)){let W=$.indexOf(".");if(W<0)W=$.length,$+=".";let Y=X-($.length-W-1);while(Y-- >0)$+="0"}return $}var t9={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},e9={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),stringify(Z){let X=Number(Z.value);return isFinite(X)?X.toExponential():A0(Z)}},Z8={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)),Q=Z.indexOf(".");if(Q!==-1&&Z[Z.length-1]==="0")X.minFractionDigits=Z.length-Q-1;return X},stringify:A0};var X8=(Z)=>typeof Z==="bigint"||Number.isInteger(Z),oX=(Z,X,Q,{intAsBigInt:U})=>U?BigInt(Z):parseInt(Z.substring(X),Q);function XJ(Z,X,Q){let{value:U}=Z;if(X8(U)&&U>=0)return Q+U.toString(X);return A0(Z)}var Q8={identify:(Z)=>X8(Z)&&Z>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(Z,X,Q)=>oX(Z,2,8,Q),stringify:(Z)=>XJ(Z,8,"0o")},U8={identify:X8,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(Z,X,Q)=>oX(Z,0,10,Q),stringify:A0},J8={identify:(Z)=>X8(Z)&&Z>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(Z,X,Q)=>oX(Z,2,16,Q),stringify:(Z)=>XJ(Z,16,"0x")};var QJ=[_1,z1,G2,C2,T6,Q8,U8,J8,t9,e9,Z8];function UJ(Z){return typeof Z==="bigint"||Number.isInteger(Z)}var $8=({value:Z})=>JSON.stringify(Z),cL=[{identify:(Z)=>typeof Z==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(Z)=>Z,stringify:$8},{identify:(Z)=>Z==null,createNode:()=>new f(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:$8},{identify:(Z)=>typeof Z==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:(Z)=>Z==="true",stringify:$8},{identify:UJ,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(Z,X,{intAsBigInt:Q})=>Q?BigInt(Z):parseInt(Z,10),stringify:({value:Z})=>UJ(Z)?Z.toString():JSON.stringify(Z)},{identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:(Z)=>parseFloat(Z),stringify:$8}],iL={default:!0,tag:"",test:/^/,resolve(Z,X){return X(`Unresolved plain scalar ${JSON.stringify(Z)}`),Z}},JJ=[_1,z1].concat(cL,iL);var K6={identify:(Z)=>Z instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(Z,X){if(typeof atob==="function"){let Q=atob(Z.replace(/[\n\r]/g,"")),U=new Uint8Array(Q.length);for(let J=0;J<Q.length;++J)U[J]=Q.charCodeAt(J);return U}else return X("This environment does not support reading binary tags; either Buffer or atob is required"),Z},stringify({comment:Z,type:X,value:Q},U,J,$){if(!Q)return"";let W=Q,Y;if(typeof btoa==="function"){let G="";for(let L=0;L<W.length;++L)G+=String.fromCharCode(W[L]);Y=btoa(G)}else throw Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(X??(X=f.BLOCK_LITERAL),X!==f.QUOTE_DOUBLE){let G=Math.max(U.options.lineWidth-U.indent.length,U.options.minContentWidth),L=Math.ceil(Y.length/G),q=Array(L);for(let V=0,_=0;V<L;++V,_+=G)q[V]=Y.substr(_,G);Y=q.join(X===f.BLOCK_LITERAL?`
|
|
97
|
+
`:" ")}return p1({comment:Z,type:X,value:Y},U,J,$)}};function nX(Z,X){if(Z1(Z))for(let Q=0;Q<Z.items.length;++Q){let U=Z.items[Q];if(p(U))continue;else if(e0(U)){if(U.items.length>1)X("Each pair must have its own sequence indicator");let J=U.items[0]||new Y0(new f(null));if(U.commentBefore)J.key.commentBefore=J.key.commentBefore?`${U.commentBefore}
|
|
98
98
|
${J.key.commentBefore}`:U.commentBefore;if(U.comment){let $=J.value??J.key;$.comment=$.comment?`${U.comment}
|
|
99
|
-
${$.comment}`:U.comment}U=J}Z.items[Q]=p(U)?U:new
|
|
100
|
-
`))Q.push("..."),Q.push(
|
|
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
|
+
`))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,
|
|
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
|
|
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:_}=r5(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
|
+
`;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}
|
|
106
|
-
${
|
|
107
|
-
`}};function
|
|
108
|
-
`))return!0;if(Z.end){for(let X of Z.end)if(X.type==="newline")return!0}return!1;case"flow-collection":for(let X of Z.items){for(let Q of X.start)if(Q.type==="newline")return!0;if(X.sep){for(let Q of X.sep)if(Q.type==="newline")return!0}if(
|
|
109
|
-
`+z.comment;else Y.comment=z.comment;continue}if(z.newlineAfterProp||
|
|
110
|
-
`+
|
|
111
|
-
`+
|
|
112
|
-
`+
|
|
113
|
-
`+
|
|
114
|
-
`+B.comment;else
|
|
115
|
-
`.repeat(Math.max(1,W.length-1)):"",B=U+J.length;if(X.source)B+=X.source.length;return{value:z,type:$,comment:J.comment,range:[U,B,B]}}let G=X.indent+J.indent,
|
|
116
|
-
`;for(let z=
|
|
117
|
-
`;else if(B.length>G||
|
|
118
|
-
`;else if(!H&&
|
|
119
|
-
`)
|
|
106
|
+
${L}
|
|
107
|
+
`}};function j1(Z,{flow:X,indicator:Q,next:U,offset:J,onError:$,parentIndent:W,startOnNewline:Y}){let G=!1,L=Y,q=Y,V="",_="",H=!1,F=!1,z=null,B=null,K=null,w=null,P=null,O=null,S=null;for(let A of Z){if(F){if(A.type!=="space"&&A.type!=="newline"&&A.type!=="comma")$(A.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");F=!1}if(z){if(L&&A.type!=="comment"&&A.type!=="newline")$(z,"TAB_AS_INDENT","Tabs are not allowed as indentation");z=null}switch(A.type){case"space":if(!X&&(Q!=="doc-start"||U?.type!=="flow-collection")&&A.source.includes("\t"))z=A;q=!0;break;case"comment":{if(!q)$(A,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let d=A.source.substring(1)||" ";if(!V)V=d;else V+=_+d;_="",L=!1;break}case"newline":if(L){if(V)V+=A.source;else if(!O||Q!=="seq-item-ind")G=!0}else _+=A.source;if(L=!0,H=!0,B||K)w=A;q=!0;break;case"anchor":if(B)$(A,"MULTIPLE_ANCHORS","A node can have at most one anchor");if(A.source.endsWith(":"))$(A.offset+A.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0);B=A,S??(S=A.offset),L=!1,q=!1,F=!0;break;case"tag":{if(K)$(A,"MULTIPLE_TAGS","A node can have at most one tag");K=A,S??(S=A.offset),L=!1,q=!1,F=!0;break}case Q:if(B||K)$(A,"BAD_PROP_ORDER",`Anchors and tags must be after the ${A.source} indicator`);if(O)$(A,"UNEXPECTED_TOKEN",`Unexpected ${A.source} in ${X??"collection"}`);O=A,L=Q==="seq-item-ind"||Q==="explicit-key-ind",q=!1;break;case"comma":if(X){if(P)$(A,"UNEXPECTED_TOKEN",`Unexpected , in ${X}`);P=A,L=!1,q=!1;break}default:$(A,"UNEXPECTED_TOKEN",`Unexpected ${A.type} token`),L=!1,q=!1}}let C=Z[Z.length-1],y=C?C.offset+C.source.length:J;if(F&&U&&U.type!=="space"&&U.type!=="newline"&&U.type!=="comma"&&(U.type!=="scalar"||U.source!==""))$(U.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");if(z&&(L&&z.indent<=W||U?.type==="block-map"||U?.type==="block-seq"))$(z,"TAB_AS_INDENT","Tabs are not allowed as indentation");return{comma:P,found:O,spaceBefore:G,comment:V,hasNewline:H,anchor:B,tag:K,newlineAfterProp:w,end:y,start:S??y}}function L2(Z){if(!Z)return null;switch(Z.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(Z.source.includes(`
|
|
108
|
+
`))return!0;if(Z.end){for(let X of Z.end)if(X.type==="newline")return!0}return!1;case"flow-collection":for(let X of Z.items){for(let Q of X.start)if(Q.type==="newline")return!0;if(X.sep){for(let Q of X.sep)if(Q.type==="newline")return!0}if(L2(X.key)||L2(X.value))return!0}return!1;default:return!0}}function N6(Z,X,Q){if(X?.type==="flow-collection"){let U=X.end[0];if(U.indent===Z&&(U.source==="]"||U.source==="}")&&L2(X))Q(U,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}function q8(Z,X,Q){let{uniqueKeys:U}=Z.options;if(U===!1)return!1;let J=typeof U==="function"?U:($,W)=>$===W||x($)&&x(W)&&$.value===W.value;return X.some(($)=>J($.key,Q))}var RJ="All mapping items must start at the same column";function OJ({composeNode:Z,composeEmptyNode:X},Q,U,J,$){let Y=new($?.nodeClass??q0)(Q.schema);if(Q.atRoot)Q.atRoot=!1;let G=U.offset,L=null;for(let q of U.items){let{start:V,key:_,sep:H,value:F}=q,z=j1(V,{indicator:"explicit-key-ind",next:_??H?.[0],offset:G,onError:J,parentIndent:U.indent,startOnNewline:!0}),B=!z.found;if(B){if(_){if(_.type==="block-seq")J(G,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key");else if("indent"in _&&_.indent!==U.indent)J(G,"BAD_INDENT",RJ)}if(!z.anchor&&!z.tag&&!H){if(L=z.end,z.comment)if(Y.comment)Y.comment+=`
|
|
109
|
+
`+z.comment;else Y.comment=z.comment;continue}if(z.newlineAfterProp||L2(_))J(_??V[V.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else if(z.found?.indent!==U.indent)J(G,"BAD_INDENT",RJ);Q.atKey=!0;let K=z.end,w=_?Z(Q,_,z,J):X(Q,K,V,null,z,J);if(Q.schema.compat)N6(U.indent,_,J);if(Q.atKey=!1,q8(Q,Y.items,w))J(K,"DUPLICATE_KEY","Map keys must be unique");let P=j1(H??[],{indicator:"map-value-ind",next:F,offset:w.range[2],onError:J,parentIndent:U.indent,startOnNewline:!_||_.type==="block-scalar"});if(G=P.end,P.found){if(B){if(F?.type==="block-map"&&!P.hasNewline)J(G,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings");if(Q.options.strict&&z.start<P.found.offset-1024)J(w.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key")}let O=F?Z(Q,F,P,J):X(Q,G,H,null,P,J);if(Q.schema.compat)N6(U.indent,F,J);G=O.range[2];let S=new Y0(w,O);if(Q.options.keepSourceTokens)S.srcToken=q;Y.items.push(S)}else{if(B)J(w.range,"MISSING_CHAR","Implicit map keys need to be followed by map values");if(P.comment)if(w.comment)w.comment+=`
|
|
110
|
+
`+P.comment;else w.comment=P.comment;let O=new Y0(w);if(Q.options.keepSourceTokens)O.srcToken=q;Y.items.push(O)}}if(L&&L<G)J(L,"IMPOSSIBLE","Map comment with trailing content");return Y.range=[U.offset,G,L??G],Y}function TJ({composeNode:Z,composeEmptyNode:X},Q,U,J,$){let Y=new($?.nodeClass??P0)(Q.schema);if(Q.atRoot)Q.atRoot=!1;if(Q.atKey)Q.atKey=!1;let G=U.offset,L=null;for(let{start:q,value:V}of U.items){let _=j1(q,{indicator:"seq-item-ind",next:V,offset:G,onError:J,parentIndent:U.indent,startOnNewline:!0});if(!_.found)if(_.anchor||_.tag||V)if(V?.type==="block-seq")J(_.end,"BAD_INDENT","All sequence items must start at the same column");else J(G,"MISSING_CHAR","Sequence item without - indicator");else{if(L=_.end,_.comment)Y.comment=_.comment;continue}let H=V?Z(Q,V,_,J):X(Q,_.end,q,null,_,J);if(Q.schema.compat)N6(U.indent,V,J);G=H.range[2],Y.items.push(H)}return Y.range=[U.offset,G,L??G],Y}function C1(Z,X,Q,U){let J="";if(Z){let $=!1,W="";for(let Y of Z){let{source:G,type:L}=Y;switch(L){case"space":$=!0;break;case"comment":{if(Q&&!$)U(Y,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let q=G.substring(1)||" ";if(!J)J=q;else J+=W+q;W="";break}case"newline":if(J)W+=G;$=!0;break;default:U(Y,"UNEXPECTED_TOKEN",`Unexpected ${L} at node end`)}X+=G.length}}return{comment:J,offset:X}}var J7="Block collections are not allowed within flow collections",$7=(Z)=>Z&&(Z.type==="block-map"||Z.type==="block-seq");function KJ({composeNode:Z,composeEmptyNode:X},Q,U,J,$){let W=U.start.source==="{",Y=W?"flow map":"flow sequence",L=new($?.nodeClass??(W?q0:P0))(Q.schema);L.flow=!0;let q=Q.atRoot;if(q)Q.atRoot=!1;if(Q.atKey)Q.atKey=!1;let V=U.offset+U.start.source.length;for(let B=0;B<U.items.length;++B){let K=U.items[B],{start:w,key:P,sep:O,value:S}=K,C=j1(w,{flow:Y,indicator:"explicit-key-ind",next:P??O?.[0],offset:V,onError:J,parentIndent:U.indent,startOnNewline:!1});if(!C.found){if(!C.anchor&&!C.tag&&!O&&!S){if(B===0&&C.comma)J(C.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${Y}`);else if(B<U.items.length-1)J(C.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${Y}`);if(C.comment)if(L.comment)L.comment+=`
|
|
111
|
+
`+C.comment;else L.comment=C.comment;V=C.end;continue}if(!W&&Q.options.strict&&L2(P))J(P,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(B===0){if(C.comma)J(C.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${Y}`)}else{if(!C.comma)J(C.start,"MISSING_CHAR",`Missing , between ${Y} items`);if(C.comment){let y="";Z:for(let A of w)switch(A.type){case"comma":case"space":break;case"comment":y=A.source.substring(1);break Z;default:break Z}if(y){let A=L.items[L.items.length-1];if(p(A))A=A.value??A.key;if(A.comment)A.comment+=`
|
|
112
|
+
`+y;else A.comment=y;C.comment=C.comment.substring(y.length+1)}}}if(!W&&!O&&!C.found){let y=S?Z(Q,S,C,J):X(Q,C.end,O,null,C,J);if(L.items.push(y),V=y.range[2],$7(S))J(y.range,"BLOCK_IN_FLOW",J7)}else{Q.atKey=!0;let y=C.end,A=P?Z(Q,P,C,J):X(Q,y,w,null,C,J);if($7(P))J(A.range,"BLOCK_IN_FLOW",J7);Q.atKey=!1;let d=j1(O??[],{flow:Y,indicator:"map-value-ind",next:S,offset:A.range[2],onError:J,parentIndent:U.indent,startOnNewline:!1});if(d.found){if(!W&&!C.found&&Q.options.strict){if(O)for(let h of O){if(h===d.found)break;if(h.type==="newline"){J(h,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}if(C.start<d.found.offset-1024)J(d.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else if(S)if("source"in S&&S.source?.[0]===":")J(S,"MISSING_CHAR",`Missing space after : in ${Y}`);else J(d.start,"MISSING_CHAR",`Missing , or : between ${Y} items`);let e=S?Z(Q,S,d,J):d.found?X(Q,d.end,O,null,d,J):null;if(e){if($7(S))J(e.range,"BLOCK_IN_FLOW",J7)}else if(d.comment)if(A.comment)A.comment+=`
|
|
113
|
+
`+d.comment;else A.comment=d.comment;let X0=new Y0(A,e);if(Q.options.keepSourceTokens)X0.srcToken=K;if(W){let h=L;if(q8(Q,h.items,A))J(y,"DUPLICATE_KEY","Map keys must be unique");h.items.push(X0)}else{let h=new q0(Q.schema);h.flow=!0,h.items.push(X0);let t=(e??A).range;h.range=[A.range[0],t[1],t[2]],L.items.push(h)}V=e?e.range[2]:d.end}}let _=W?"}":"]",[H,...F]=U.end,z=V;if(H?.source===_)z=H.offset+H.source.length;else{let B=Y[0].toUpperCase()+Y.substring(1),K=q?`${B} must end with a ${_}`:`${B} in block collection must be sufficiently indented and end with a ${_}`;if(J(V,q?"MISSING_CHAR":"BAD_INDENT",K),H&&H.source.length!==1)F.unshift(H)}if(F.length>0){let B=C1(F,z,Q.options.strict,J);if(B.comment)if(L.comment)L.comment+=`
|
|
114
|
+
`+B.comment;else L.comment=B.comment;L.range=[U.offset,z,B.offset]}else L.range=[U.offset,z,z];return L}function W7(Z,X,Q,U,J,$){let W=Q.type==="block-map"?OJ(Z,X,Q,U,$):Q.type==="block-seq"?TJ(Z,X,Q,U,$):KJ(Z,X,Q,U,$),Y=W.constructor;if(J==="!"||J===Y.tagName)return W.tag=Y.tagName,W;if(J)W.tag=J;return W}function DJ(Z,X,Q,U,J){let $=U.tag,W=!$?null:X.directives.tagName($.source,(_)=>J($,"TAG_RESOLVE_FAILED",_));if(Q.type==="block-seq"){let{anchor:_,newlineAfterProp:H}=U,F=_&&$?_.offset>$.offset?_:$:_??$;if(F&&(!H||H.offset<F.offset))J(F,"MISSING_CHAR","Missing newline after block sequence props")}let Y=Q.type==="block-map"?"map":Q.type==="block-seq"?"seq":Q.start.source==="{"?"map":"seq";if(!$||!W||W==="!"||W===q0.tagName&&Y==="map"||W===P0.tagName&&Y==="seq")return W7(Z,X,Q,J,W);let G=X.schema.tags.find((_)=>_.tag===W&&_.collection===Y);if(!G){let _=X.schema.knownTags[W];if(_?.collection===Y)X.schema.tags.push(Object.assign({},_,{default:!1})),G=_;else{if(_)J($,"BAD_COLLECTION_TYPE",`${_.tag} used for ${Y} collection, but expects ${_.collection??"scalar"}`,!0);else J($,"TAG_RESOLVE_FAILED",`Unresolved tag: ${W}`,!0);return W7(Z,X,Q,J,W)}}let L=W7(Z,X,Q,J,W,G),q=G.resolve?.(L,(_)=>J($,"TAG_RESOLVE_FAILED",_),X.options)??L,V=l(q)?q:new f(q);if(V.range=L.range,V.tag=W,G?.format)V.format=G.format;return V}function V8(Z,X,Q){let U=X.offset,J=rL(X,Z.options.strict,Q);if(!J)return{value:"",type:null,comment:"",range:[U,U,U]};let $=J.mode===">"?f.BLOCK_FOLDED:f.BLOCK_LITERAL,W=X.source?aL(X.source):[],Y=W.length;for(let z=W.length-1;z>=0;--z){let B=W[z][1];if(B===""||B==="\r")Y=z;else break}if(Y===0){let z=J.chomp==="+"&&W.length>0?`
|
|
115
|
+
`.repeat(Math.max(1,W.length-1)):"",B=U+J.length;if(X.source)B+=X.source.length;return{value:z,type:$,comment:J.comment,range:[U,B,B]}}let G=X.indent+J.indent,L=X.offset+J.length,q=0;for(let z=0;z<Y;++z){let[B,K]=W[z];if(K===""||K==="\r"){if(J.indent===0&&B.length>G)G=B.length}else{if(B.length<G)Q(L+B.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator");if(J.indent===0)G=B.length;if(q=z,G===0&&!Z.atRoot)Q(L,"BAD_INDENT","Block scalar values in collections must be indented");break}L+=B.length+K.length+1}for(let z=W.length-1;z>=Y;--z)if(W[z][0].length>G)Y=z+1;let V="",_="",H=!1;for(let z=0;z<q;++z)V+=W[z][0].slice(G)+`
|
|
116
|
+
`;for(let z=q;z<Y;++z){let[B,K]=W[z];L+=B.length+K.length+1;let w=K[K.length-1]==="\r";if(w)K=K.slice(0,-1);if(K&&B.length<G){let O=`Block scalar lines must not be less indented than their ${J.indent?"explicit indentation indicator":"first line"}`;Q(L-K.length-(w?2:1),"BAD_INDENT",O),B=""}if($===f.BLOCK_LITERAL)V+=_+B.slice(G)+K,_=`
|
|
117
|
+
`;else if(B.length>G||K[0]==="\t"){if(_===" ")_=`
|
|
118
|
+
`;else if(!H&&_===`
|
|
119
|
+
`)_=`
|
|
120
120
|
|
|
121
|
-
`;V+=
|
|
122
|
-
`,H=!0}else if(
|
|
121
|
+
`;V+=_+B.slice(G)+K,_=`
|
|
122
|
+
`,H=!0}else if(K==="")if(_===`
|
|
123
123
|
`)V+=`
|
|
124
|
-
`;else
|
|
125
|
-
`;else V+=
|
|
124
|
+
`;else _=`
|
|
125
|
+
`;else V+=_+K,_=" ",H=!1}switch(J.chomp){case"-":break;case"+":for(let z=Y;z<W.length;++z)V+=`
|
|
126
126
|
`+W[z][0].slice(G);if(V[V.length-1]!==`
|
|
127
127
|
`)V+=`
|
|
128
128
|
`;break;default:V+=`
|
|
129
|
-
`}let F=U+J.length+X.source.length;return{value:V,type:$,comment:J.comment,range:[U,F,F]}}function
|
|
129
|
+
`}let F=U+J.length+X.source.length;return{value:V,type:$,comment:J.comment,range:[U,F,F]}}function rL({offset:Z,props:X},Q,U){if(X[0].type!=="block-scalar-header")return U(X[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:J}=X[0],$=J[0],W=0,Y="",G=-1;for(let _=1;_<J.length;++_){let H=J[_];if(!Y&&(H==="-"||H==="+"))Y=H;else{let F=Number(H);if(!W&&F)W=F;else if(G===-1)G=Z+_}}if(G!==-1)U(G,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${J}`);let L=!1,q="",V=J.length;for(let _=1;_<X.length;++_){let H=X[_];switch(H.type){case"space":L=!0;case"newline":V+=H.source.length;break;case"comment":if(Q&&!L)U(H,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");V+=H.source.length,q=H.source.substring(1);break;case"error":U(H,"UNEXPECTED_TOKEN",H.message),V+=H.source.length;break;default:{let F=`Unexpected token in block scalar header: ${H.type}`;U(H,"UNEXPECTED_TOKEN",F);let z=H.source;if(z&&typeof z==="string")V+=z.length}}}return{mode:$,indent:W,chomp:Y,comment:q,length:V}}function aL(Z){let X=Z.split(/\n( *)/),Q=X[0],U=Q.match(/^( *)/),$=[U?.[1]?[U[1],Q.slice(U[1].length)]:["",Q]];for(let W=1;W<X.length;W+=2)$.push([X[W],X[W+1]]);return $}function _8(Z,X,Q){let{offset:U,type:J,source:$,end:W}=Z,Y,G,L=(_,H,F)=>Q(U+_,H,F);switch(J){case"scalar":Y=f.PLAIN,G=oL($,L);break;case"single-quoted-scalar":Y=f.QUOTE_SINGLE,G=nL($,L);break;case"double-quoted-scalar":Y=f.QUOTE_DOUBLE,G=tL($,L);break;default:return Q(Z,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${J}`),{value:"",type:null,comment:"",range:[U,U+$.length,U+$.length]}}let q=U+$.length,V=C1(W,q,X,Q);return{value:G,type:Y,comment:V.comment,range:[U,q,V.offset]}}function oL(Z,X){let Q="";switch(Z[0]){case"\t":Q="a tab character";break;case",":Q="flow indicator character ,";break;case"%":Q="directive indicator character %";break;case"|":case">":{Q=`block scalar indicator ${Z[0]}`;break}case"@":case"`":{Q=`reserved character ${Z[0]}`;break}}if(Q)X(0,"BAD_SCALAR_START",`Plain value cannot start with ${Q}`);return wJ(Z)}function nL(Z,X){if(Z[Z.length-1]!=="'"||Z.length===1)X(Z.length,"MISSING_CHAR","Missing closing 'quote");return wJ(Z.slice(1,-1)).replace(/''/g,"'")}function wJ(Z){let X,Q;try{X=new RegExp(`(.*?)(?<![ ])[ ]*\r?
|
|
130
130
|
`,"sy"),Q=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
|
|
131
131
|
`,"sy")}catch{X=/(.*?)[ \t]*\r?\n/sy,Q=/[ \t]*(.*?)[ \t]*\r?\n/sy}let U=X.exec(Z);if(!U)return Z;let J=U[1],$=" ",W=X.lastIndex;Q.lastIndex=W;while(U=Q.exec(Z)){if(U[1]==="")if($===`
|
|
132
132
|
`)J+=$;else $=`
|
|
133
|
-
`;else J+=$+U[1],$=" ";W=Q.lastIndex}let Y=/[ \t]*(.*)/sy;return Y.lastIndex=W,U=Y.exec(Z),J+$+(U?.[1]??"")}function
|
|
133
|
+
`;else J+=$+U[1],$=" ";W=Q.lastIndex}let Y=/[ \t]*(.*)/sy;return Y.lastIndex=W,U=Y.exec(Z),J+$+(U?.[1]??"")}function tL(Z,X){let Q="";for(let U=1;U<Z.length-1;++U){let J=Z[U];if(J==="\r"&&Z[U+1]===`
|
|
134
134
|
`)continue;if(J===`
|
|
135
|
-
`){let{fold:$,offset:W}=
|
|
135
|
+
`){let{fold:$,offset:W}=eL(Z,U);Q+=$,U=W}else if(J==="\\"){let $=Z[++U],W=Zq[$];if(W)Q+=W;else if($===`
|
|
136
136
|
`){$=Z[U+1];while($===" "||$==="\t")$=Z[++U+1]}else if($==="\r"&&Z[U+1]===`
|
|
137
|
-
`){$=Z[++U+1];while($===" "||$==="\t")$=Z[++U+1]}else if($==="x"||$==="u"||$==="U"){let Y={x:2,u:4,U:8}[$];Q+=
|
|
137
|
+
`){$=Z[++U+1];while($===" "||$==="\t")$=Z[++U+1]}else if($==="x"||$==="u"||$==="U"){let Y={x:2,u:4,U:8}[$];Q+=Xq(Z,U+1,Y,X),U+=Y}else{let Y=Z.substr(U-1,2);X(U-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${Y}`),Q+=Y}}else if(J===" "||J==="\t"){let $=U,W=Z[U+1];while(W===" "||W==="\t")W=Z[++U+1];if(W!==`
|
|
138
138
|
`&&!(W==="\r"&&Z[U+2]===`
|
|
139
|
-
`))Q+=U>$?Z.slice($,U+1):J}else Q+=J}if(Z[Z.length-1]!=='"'||Z.length===1)X(Z.length,"MISSING_CHAR",'Missing closing "quote');return Q}function
|
|
139
|
+
`))Q+=U>$?Z.slice($,U+1):J}else Q+=J}if(Z[Z.length-1]!=='"'||Z.length===1)X(Z.length,"MISSING_CHAR",'Missing closing "quote');return Q}function eL(Z,X){let Q="",U=Z[X+1];while(U===" "||U==="\t"||U===`
|
|
140
140
|
`||U==="\r"){if(U==="\r"&&Z[X+2]!==`
|
|
141
141
|
`)break;if(U===`
|
|
142
142
|
`)Q+=`
|
|
143
|
-
`;X+=1,U=Z[X+1]}if(!Q)Q=" ";return{fold:Q,offset:X}}var
|
|
144
|
-
`,r:"\r",t:"\t",v:"\v",N:"
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function
|
|
143
|
+
`;X+=1,U=Z[X+1]}if(!Q)Q=" ";return{fold:Q,offset:X}}var Zq={"0":"\x00",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
|
|
144
|
+
`,r:"\r",t:"\t",v:"\v",N:"
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function Xq(Z,X,Q,U){let J=Z.substr(X,Q),W=J.length===Q&&/^[0-9a-fA-F]+$/.test(J)?parseInt(J,16):NaN;if(isNaN(W)){let Y=Z.substr(X-2,Q+2);return U(X-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${Y}`),Y}return String.fromCodePoint(W)}function Y7(Z,X,Q,U){let{value:J,type:$,comment:W,range:Y}=X.type==="block-scalar"?V8(Z,X,U):_8(X,Z.options.strict,U),G=Q?Z.directives.tagName(Q.source,(V)=>U(Q,"TAG_RESOLVE_FAILED",V)):null,L;if(Z.options.stringKeys&&Z.atKey)L=Z.schema[p0];else if(G)L=Qq(Z.schema,J,G,Q,U);else if(X.type==="scalar")L=Uq(Z,J,X,U);else L=Z.schema[p0];let q;try{let V=L.resolve(J,(_)=>U(Q??X,"TAG_RESOLVE_FAILED",_),Z.options);q=x(V)?V:new f(V)}catch(V){let _=V instanceof Error?V.message:String(V);U(Q??X,"TAG_RESOLVE_FAILED",_),q=new f(J)}if(q.range=Y,q.source=J,$)q.type=$;if(G)q.tag=G;if(L.format)q.format=L.format;if(W)q.comment=W;return q}function Qq(Z,X,Q,U,J){if(Q==="!")return Z[p0];let $=[];for(let Y of Z.tags)if(!Y.collection&&Y.tag===Q)if(Y.default&&Y.test)$.push(Y);else return Y;for(let Y of $)if(Y.test?.test(X))return Y;let W=Z.knownTags[Q];if(W&&!W.collection)return Z.tags.push(Object.assign({},W,{default:!1,test:void 0})),W;return J(U,"TAG_RESOLVE_FAILED",`Unresolved tag: ${Q}`,Q!=="tag:yaml.org,2002:str"),Z[p0]}function Uq({atKey:Z,directives:X,schema:Q},U,J,$){let W=Q.tags.find((Y)=>(Y.default===!0||Z&&Y.default==="key")&&Y.test?.test(U))||Q[p0];if(Q.compat){let Y=Q.compat.find((G)=>G.default&&G.test?.test(U))??Q[p0];if(W.tag!==Y.tag){let G=X.tagString(W.tag),L=X.tagString(Y.tag),q=`Value may be parsed as either ${G} or ${L}`;$(J,"TAG_RESOLVE_FAILED",q,!0)}}return W}function PJ(Z,X,Q){if(X){Q??(Q=X.length);for(let U=Q-1;U>=0;--U){let J=X[U];switch(J.type){case"space":case"comment":case"newline":Z-=J.source.length;continue}J=X[++U];while(J?.type==="space")Z+=J.source.length,J=X[++U];break}}return Z}var Jq={composeNode:G7,composeEmptyNode:z8};function G7(Z,X,Q,U){let J=Z.atKey,{spaceBefore:$,comment:W,anchor:Y,tag:G}=Q,L,q=!0;switch(X.type){case"alias":if(L=$q(Z,X,U),Y||G)U(X,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":if(L=Y7(Z,X,G,U),Y)L.anchor=Y.source.substring(1);break;case"block-map":case"block-seq":case"flow-collection":if(L=DJ(Jq,Z,X,Q,U),Y)L.anchor=Y.source.substring(1);break;default:{let V=X.type==="error"?X.message:`Unsupported token (type: ${X.type})`;U(X,"UNEXPECTED_TOKEN",V),L=z8(Z,X.offset,void 0,null,Q,U),q=!1}}if(Y&&L.anchor==="")U(Y,"BAD_ALIAS","Anchor cannot be an empty string");if(J&&Z.options.stringKeys&&(!x(L)||typeof L.value!=="string"||L.tag&&L.tag!=="tag:yaml.org,2002:str"))U(G??X,"NON_STRING_KEY","With stringKeys, all keys must be strings");if($)L.spaceBefore=!0;if(W)if(X.type==="scalar"&&X.source==="")L.comment=W;else L.commentBefore=W;if(Z.options.keepSourceTokens&&q)L.srcToken=X;return L}function z8(Z,X,Q,U,{spaceBefore:J,comment:$,anchor:W,tag:Y,end:G},L){let q={type:"scalar",offset:PJ(X,Q,U),indent:-1,source:""},V=Y7(Z,q,Y,L);if(W){if(V.anchor=W.source.substring(1),V.anchor==="")L(W,"BAD_ALIAS","Anchor cannot be an empty string")}if(J)V.spaceBefore=!0;if($)V.comment=$,V.range[2]=G;return V}function $q({options:Z},{offset:X,source:Q,end:U},J){let $=new m1(Q.substring(1));if($.source==="")J(X,"BAD_ALIAS","Alias cannot be an empty string");if($.source.endsWith(":"))J(X+Q.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let W=X+Q.length,Y=C1(U,W,Z.strict,J);if($.range=[X,W,Y.offset],Y.comment)$.comment=Y.comment;return $}function AJ(Z,X,{offset:Q,start:U,value:J,end:$},W){let Y=Object.assign({_directives:X},Z),G=new S1(void 0,Y),L={atKey:!1,atRoot:!0,directives:G.directives,options:G.options,schema:G.schema},q=j1(U,{indicator:"doc-start",next:J??$?.[0],offset:Q,onError:W,parentIndent:0,startOnNewline:!0});if(q.found){if(G.directives.docStart=!0,J&&(J.type==="block-map"||J.type==="block-seq")&&!q.hasNewline)W(q.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")}G.contents=J?G7(L,J,q,W):z8(L,q.end,U,null,q,W);let V=G.contents.range[2],_=C1($,V,!1,W);if(_.comment)G.comment=_.comment;return G.range=[Q,V,_.offset],G}function b6(Z){if(typeof Z==="number")return[Z,Z+1];if(Array.isArray(Z))return Z.length===2?Z:[Z[0],Z[1]];let{offset:X,source:Q}=Z;return[X,X+(typeof Q==="string"?Q.length:1)]}function SJ(Z){let X="",Q=!1,U=!1;for(let J=0;J<Z.length;++J){let $=Z[J];switch($[0]){case"#":X+=(X===""?"":U?`
|
|
145
145
|
|
|
146
146
|
`:`
|
|
147
|
-
`)+($.substring(1)||" "),Q=!0,U=!1;break;case"%":if(Z[J+1]?.[0]!=="#")J+=1;Q=!1;break;default:if(!Q)U=!0;Q=!1}}return{comment:X,afterEmptyLine:U}}class
|
|
148
|
-
${Q}`:Q;else if(U||Z.directives.docStart||!J)Z.commentBefore=Q;else if(
|
|
147
|
+
`)+($.substring(1)||" "),Q=!0,U=!1;break;case"%":if(Z[J+1]?.[0]!=="#")J+=1;Q=!1;break;default:if(!Q)U=!0;Q=!1}}return{comment:X,afterEmptyLine:U}}class B4{constructor(Z={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(X,Q,U,J)=>{let $=b6(X);if(J)this.warnings.push(new j6($,Q,U));else this.errors.push(new Q1($,Q,U))},this.directives=new K0({version:Z.version||"1.2"}),this.options=Z}decorate(Z,X){let{comment:Q,afterEmptyLine:U}=SJ(this.prelude);if(Q){let J=Z.contents;if(X)Z.comment=Z.comment?`${Z.comment}
|
|
148
|
+
${Q}`:Q;else if(U||Z.directives.docStart||!J)Z.commentBefore=Q;else if(n(J)&&!J.flow&&J.items.length>0){let $=J.items[0];if(p($))$=$.key;let W=$.commentBefore;$.commentBefore=W?`${Q}
|
|
149
149
|
${W}`:Q}else{let $=J.commentBefore;J.commentBefore=$?`${Q}
|
|
150
|
-
${$}`:Q}}if(X)Array.prototype.push.apply(Z.errors,this.errors),Array.prototype.push.apply(Z.warnings,this.warnings);else Z.errors=this.errors,Z.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:
|
|
151
|
-
${X.comment}`:X.comment}this.doc.range[2]=X.offset;break}default:this.errors.push(new
|
|
152
|
-
`}];switch(Y[0]){case"|":case">":{let
|
|
153
|
-
`),
|
|
154
|
-
`,
|
|
155
|
-
`});return{type:"block-scalar",offset:$,indent:U,props:
|
|
150
|
+
${$}`:Q}}if(X)Array.prototype.push.apply(Z.errors,this.errors),Array.prototype.push.apply(Z.warnings,this.warnings);else Z.errors=this.errors,Z.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:SJ(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(Z,X=!1,Q=-1){for(let U of Z)yield*this.next(U);yield*this.end(X,Q)}*next(Z){switch(Z.type){case"directive":this.directives.add(Z.source,(X,Q,U)=>{let J=b6(Z);J[0]+=X,this.onError(J,"BAD_DIRECTIVE",Q,U)}),this.prelude.push(Z.source),this.atDirectives=!0;break;case"document":{let X=AJ(this.options,this.directives,Z,this.onError);if(this.atDirectives&&!X.directives.docStart)this.onError(Z,"MISSING_CHAR","Missing directives-end/doc-start indicator line");if(this.decorate(X,!1),this.doc)yield this.doc;this.doc=X,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(Z.source);break;case"error":{let X=Z.source?`${Z.message}: ${JSON.stringify(Z.source)}`:Z.message,Q=new Q1(b6(Z),"UNEXPECTED_TOKEN",X);if(this.atDirectives||!this.doc)this.errors.push(Q);else this.doc.errors.push(Q);break}case"doc-end":{if(!this.doc){this.errors.push(new Q1(b6(Z),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let X=C1(Z.end,Z.offset+Z.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),X.comment){let Q=this.doc.comment;this.doc.comment=Q?`${Q}
|
|
151
|
+
${X.comment}`:X.comment}this.doc.range[2]=X.offset;break}default:this.errors.push(new Q1(b6(Z),"UNEXPECTED_TOKEN",`Unsupported token ${Z.type}`))}}*end(Z=!1,X=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(Z){let Q=Object.assign({_directives:this.directives},this.options),U=new S1(void 0,Q);if(this.atDirectives)this.onError(X,"MISSING_CHAR","Missing directives-end indicator line");U.range=[0,X,X],this.decorate(U,!1),yield U}}}var _7={};h6(_7,{visit:()=>q2,tokenType:()=>V7,stringify:()=>EJ,setScalarValue:()=>NJ,resolveAsScalar:()=>jJ,prettyToken:()=>qq,isScalar:()=>Lq,isCollection:()=>Gq,createScalarToken:()=>CJ,SCALAR:()=>M4,FLOW_END:()=>I6,DOCUMENT:()=>f6,BOM:()=>E6});function jJ(Z,X=!0,Q){if(Z){let U=(J,$,W)=>{let Y=typeof J==="number"?J:Array.isArray(J)?J[0]:J.offset;if(Q)Q(Y,$,W);else throw new Q1([Y,Y+1],$,W)};switch(Z.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return _8(Z,X,U);case"block-scalar":return V8({options:{strict:X}},Z,U)}}return null}function CJ(Z,X){let{implicitKey:Q=!1,indent:U,inFlow:J=!1,offset:$=-1,type:W="PLAIN"}=X,Y=p1({type:W,value:Z},{implicitKey:Q,indent:U>0?" ".repeat(U):"",inFlow:J,options:{blockQuote:!0,lineWidth:-1}}),G=X.end??[{type:"newline",offset:-1,indent:U,source:`
|
|
152
|
+
`}];switch(Y[0]){case"|":case">":{let L=Y.indexOf(`
|
|
153
|
+
`),q=Y.substring(0,L),V=Y.substring(L+1)+`
|
|
154
|
+
`,_=[{type:"block-scalar-header",offset:$,indent:U,source:q}];if(!bJ(_,G))_.push({type:"newline",offset:-1,indent:U,source:`
|
|
155
|
+
`});return{type:"block-scalar",offset:$,indent:U,props:_,source:V}}case'"':return{type:"double-quoted-scalar",offset:$,indent:U,source:Y,end:G};case"'":return{type:"single-quoted-scalar",offset:$,indent:U,source:Y,end:G};default:return{type:"scalar",offset:$,indent:U,source:Y,end:G}}}function NJ(Z,X,Q={}){let{afterKey:U=!1,implicitKey:J=!1,inFlow:$=!1,type:W}=Q,Y="indent"in Z?Z.indent:null;if(U&&typeof Y==="number")Y+=2;if(!W)switch(Z.type){case"single-quoted-scalar":W="QUOTE_SINGLE";break;case"double-quoted-scalar":W="QUOTE_DOUBLE";break;case"block-scalar":{let L=Z.props[0];if(L.type!=="block-scalar-header")throw Error("Invalid block scalar header");W=L.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:W="PLAIN"}let G=p1({type:W,value:X},{implicitKey:J||Y===null,indent:Y!==null&&Y>0?" ".repeat(Y):"",inFlow:$,options:{blockQuote:!0,lineWidth:-1}});switch(G[0]){case"|":case">":Wq(Z,G);break;case'"':L7(Z,G,"double-quoted-scalar");break;case"'":L7(Z,G,"single-quoted-scalar");break;default:L7(Z,G,"scalar")}}function Wq(Z,X){let Q=X.indexOf(`
|
|
156
156
|
`),U=X.substring(0,Q),J=X.substring(Q+1)+`
|
|
157
|
-
`;if(Z.type==="block-scalar"){let $=Z.props[0];if($.type!=="block-scalar-header")throw Error("Invalid block scalar header");$.source=U,Z.source=J}else{let{offset:$}=Z,W="indent"in Z?Z.indent:-1,Y=[{type:"block-scalar-header",offset:$,indent:W,source:U}];if(!
|
|
158
|
-
`});for(let G of Object.keys(Z))if(G!=="type"&&G!=="offset")delete Z[G];Object.assign(Z,{type:"block-scalar",indent:W,props:Y,source:J})}}function
|
|
159
|
-
`};delete Z.items,Object.assign(Z,{type:Q,source:X,end:[J]});break}default:{let U="indent"in Z?Z.indent:-1,J="end"in Z&&Array.isArray(Z.end)?Z.end.filter(($)=>$.type==="space"||$.type==="comment"||$.type==="newline"):[];for(let $ of Object.keys(Z))if($!=="type"&&$!=="offset")delete Z[$];Object.assign(Z,{type:Q,indent:U,source:X,end:J})}}}var
|
|
157
|
+
`;if(Z.type==="block-scalar"){let $=Z.props[0];if($.type!=="block-scalar-header")throw Error("Invalid block scalar header");$.source=U,Z.source=J}else{let{offset:$}=Z,W="indent"in Z?Z.indent:-1,Y=[{type:"block-scalar-header",offset:$,indent:W,source:U}];if(!bJ(Y,"end"in Z?Z.end:void 0))Y.push({type:"newline",offset:-1,indent:W,source:`
|
|
158
|
+
`});for(let G of Object.keys(Z))if(G!=="type"&&G!=="offset")delete Z[G];Object.assign(Z,{type:"block-scalar",indent:W,props:Y,source:J})}}function bJ(Z,X){if(X)for(let Q of X)switch(Q.type){case"space":case"comment":Z.push(Q);break;case"newline":return Z.push(Q),!0}return!1}function L7(Z,X,Q){switch(Z.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":Z.type=Q,Z.source=X;break;case"block-scalar":{let U=Z.props.slice(1),J=X.length;if(Z.props[0].type==="block-scalar-header")J-=Z.props[0].source.length;for(let $ of U)$.offset+=J;delete Z.props,Object.assign(Z,{type:Q,source:X,end:U});break}case"block-map":case"block-seq":{let J={type:"newline",offset:Z.offset+X.length,indent:Z.indent,source:`
|
|
159
|
+
`};delete Z.items,Object.assign(Z,{type:Q,source:X,end:[J]});break}default:{let U="indent"in Z?Z.indent:-1,J="end"in Z&&Array.isArray(Z.end)?Z.end.filter(($)=>$.type==="space"||$.type==="comment"||$.type==="newline"):[];for(let $ of Object.keys(Z))if($!=="type"&&$!=="offset")delete Z[$];Object.assign(Z,{type:Q,indent:U,source:X,end:J})}}}var EJ=(Z)=>("type"in Z)?F8(Z):H8(Z);function F8(Z){switch(Z.type){case"block-scalar":{let X="";for(let Q of Z.props)X+=F8(Q);return X+Z.source}case"block-map":case"block-seq":{let X="";for(let Q of Z.items)X+=H8(Q);return X}case"flow-collection":{let X=Z.start.source;for(let Q of Z.items)X+=H8(Q);for(let Q of Z.end)X+=Q.source;return X}case"document":{let X=H8(Z);if(Z.end)for(let Q of Z.end)X+=Q.source;return X}default:{let X=Z.source;if("end"in Z&&Z.end)for(let Q of Z.end)X+=Q.source;return X}}}function H8({start:Z,key:X,sep:Q,value:U}){let J="";for(let $ of Z)J+=$.source;if(X)J+=F8(X);if(Q)for(let $ of Q)J+=$.source;if(U)J+=F8(U);return J}var q7=Symbol("break visit"),Yq=Symbol("skip children"),fJ=Symbol("remove item");function q2(Z,X){if("type"in Z&&Z.type==="document")Z={start:Z.start,value:Z.value};IJ(Object.freeze([]),Z,X)}q2.BREAK=q7;q2.SKIP=Yq;q2.REMOVE=fJ;q2.itemAtPath=(Z,X)=>{let Q=Z;for(let[U,J]of X){let $=Q?.[U];if($&&"items"in $)Q=$.items[J];else return}return Q};q2.parentCollection=(Z,X)=>{let Q=q2.itemAtPath(Z,X.slice(0,-1)),U=X[X.length-1][0],J=Q?.[U];if(J&&"items"in J)return J;throw Error("Parent collection not found")};function IJ(Z,X,Q){let U=Q(X,Z);if(typeof U==="symbol")return U;for(let J of["key","value"]){let $=X[J];if($&&"items"in $){for(let W=0;W<$.items.length;++W){let Y=IJ(Object.freeze(Z.concat([[J,W]])),$.items[W],Q);if(typeof Y==="number")W=Y-1;else if(Y===q7)return q7;else if(Y===fJ)$.items.splice(W,1),W-=1}if(typeof U==="function"&&J==="key")U=U(X,Z)}}return typeof U==="function"?U(X,Z):U}var E6="\uFEFF",f6="\x02",I6="\x18",M4="\x1F",Gq=(Z)=>!!Z&&("items"in Z),Lq=(Z)=>!!Z&&(Z.type==="scalar"||Z.type==="single-quoted-scalar"||Z.type==="double-quoted-scalar"||Z.type==="block-scalar");function qq(Z){switch(Z){case E6:return"<BOM>";case f6:return"<DOC>";case I6:return"<FLOW_END>";case M4:return"<SCALAR>";default:return JSON.stringify(Z)}}function V7(Z){switch(Z){case E6:return"byte-order-mark";case f6:return"doc-mode";case I6:return"flow-error-end";case M4:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
|
|
160
160
|
`:case`\r
|
|
161
|
-
`:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(Z[0]){case" ":case"\t":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}function
|
|
162
|
-
`:case"\r":case"\t":return!0;default:return!1}}var
|
|
163
|
-
\r `),
|
|
161
|
+
`:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(Z[0]){case" ":case"\t":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}function H1(Z){switch(Z){case void 0:case" ":case`
|
|
162
|
+
`:case"\r":case"\t":return!0;default:return!1}}var yJ=new Set("0123456789ABCDEFabcdef"),Vq=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),B8=new Set(",[]{}"),_q=new Set(` ,[]{}
|
|
163
|
+
\r `),z7=(Z)=>!Z||_q.has(Z);class y6{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(Z,X=!1){if(Z){if(typeof Z!=="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+Z:Z,this.lineEndPos=null}this.atEnd=!X;let Q=this.next??"stream";while(Q&&(X||this.hasChars(1)))Q=yield*this.parseNext(Q)}atLineEnd(){let Z=this.pos,X=this.buffer[Z];while(X===" "||X==="\t")X=this.buffer[++Z];if(!X||X==="#"||X===`
|
|
164
164
|
`)return!0;if(X==="\r")return this.buffer[Z+1]===`
|
|
165
165
|
`;return!1}charAt(Z){return this.buffer[this.pos+Z]}continueScalar(Z){let X=this.buffer[Z];if(this.indentNext>0){let Q=0;while(X===" ")X=this.buffer[++Q+Z];if(X==="\r"){let U=this.buffer[Q+Z+1];if(U===`
|
|
166
166
|
`||!U&&!this.atEnd)return Z+Q+1}return X===`
|
|
167
|
-
`||Q>=this.indentNext||!X&&!this.atEnd?Z+Q:-1}if(X==="-"||X==="."){let Q=this.buffer.substr(Z,3);if((Q==="---"||Q==="...")&&
|
|
168
|
-
`,this.pos),this.lineEndPos=Z;if(Z===-1)return this.atEnd?this.buffer.substring(this.pos):null;if(this.buffer[Z-1]==="\r")Z-=1;return this.buffer.substring(this.pos,Z)}hasChars(Z){return this.pos+Z<=this.buffer.length}setNext(Z){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=Z,null}peek(Z){return this.buffer.substr(this.pos,Z)}*parseNext(Z){switch(Z){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let Z=this.getLine();if(Z===null)return this.setNext("stream");if(Z[0]===
|
|
167
|
+
`||Q>=this.indentNext||!X&&!this.atEnd?Z+Q:-1}if(X==="-"||X==="."){let Q=this.buffer.substr(Z,3);if((Q==="---"||Q==="...")&&H1(this.buffer[Z+3]))return-1}return Z}getLine(){let Z=this.lineEndPos;if(typeof Z!=="number"||Z!==-1&&Z<this.pos)Z=this.buffer.indexOf(`
|
|
168
|
+
`,this.pos),this.lineEndPos=Z;if(Z===-1)return this.atEnd?this.buffer.substring(this.pos):null;if(this.buffer[Z-1]==="\r")Z-=1;return this.buffer.substring(this.pos,Z)}hasChars(Z){return this.pos+Z<=this.buffer.length}setNext(Z){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=Z,null}peek(Z){return this.buffer.substr(this.pos,Z)}*parseNext(Z){switch(Z){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let Z=this.getLine();if(Z===null)return this.setNext("stream");if(Z[0]===E6)yield*this.pushCount(1),Z=Z.substring(1);if(Z[0]==="%"){let X=Z.length,Q=Z.indexOf("#");while(Q!==-1){let J=Z[Q-1];if(J===" "||J==="\t"){X=Q-1;break}else Q=Z.indexOf("#",Q+1)}while(!0){let J=Z[X-1];if(J===" "||J==="\t")X-=1;else break}let U=(yield*this.pushCount(X))+(yield*this.pushSpaces(!0));return yield*this.pushCount(Z.length-U),this.pushNewline(),"stream"}if(this.atLineEnd()){let X=yield*this.pushSpaces(!0);return yield*this.pushCount(Z.length-X),yield*this.pushNewline(),"stream"}return yield f6,yield*this.parseLineStart()}*parseLineStart(){let Z=this.charAt(0);if(!Z&&!this.atEnd)return this.setNext("line-start");if(Z==="-"||Z==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let X=this.peek(3);if((X==="---"||X==="...")&&H1(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,X==="---"?"doc":"stream"}if(this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!H1(this.charAt(1)))this.indentNext=this.indentValue;return yield*this.parseBlockStart()}*parseBlockStart(){let[Z,X]=this.peek(2);if(!X&&!this.atEnd)return this.setNext("block-start");if((Z==="-"||Z==="?"||Z===":")&&H1(X)){let Q=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=Q,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let Z=this.getLine();if(Z===null)return this.setNext("doc");let X=yield*this.pushIndicators();switch(Z[X]){case"#":yield*this.pushCount(Z.length-X);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(z7),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return X+=yield*this.parseBlockScalarHeader(),X+=yield*this.pushSpaces(!0),yield*this.pushCount(Z.length-X),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let Z,X,Q=-1;do{if(Z=yield*this.pushNewline(),Z>0)X=yield*this.pushSpaces(!1),this.indentValue=Q=X;else X=0;X+=yield*this.pushSpaces(!0)}while(Z+X>0);let U=this.getLine();if(U===null)return this.setNext("flow");if(Q!==-1&&Q<this.indentNext&&U[0]!=="#"||Q===0&&(U.startsWith("---")||U.startsWith("..."))&&H1(U[3])){if(!(Q===this.indentNext-1&&this.flowLevel===1&&(U[0]==="]"||U[0]==="}")))return this.flowLevel=0,yield I6,yield*this.parseLineStart()}let J=0;while(U[J]===",")J+=yield*this.pushCount(1),J+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(J+=yield*this.pushIndicators(),U[J]){case void 0:return"flow";case"#":return yield*this.pushCount(U.length-J),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(z7),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let $=this.charAt(1);if(this.flowKey||H1($)||$===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let Z=this.charAt(0),X=this.buffer.indexOf(Z,this.pos+1);if(Z==="'")while(X!==-1&&this.buffer[X+1]==="'")X=this.buffer.indexOf("'",X+2);else while(X!==-1){let J=0;while(this.buffer[X-1-J]==="\\")J+=1;if(J%2===0)break;X=this.buffer.indexOf('"',X+1)}let Q=this.buffer.substring(0,X),U=Q.indexOf(`
|
|
169
169
|
`,this.pos);if(U!==-1){while(U!==-1){let J=this.continueScalar(U+1);if(J===-1)break;U=Q.indexOf(`
|
|
170
|
-
`,J)}if(U!==-1)X=U-(Q[U-1]==="\r"?2:1)}if(X===-1){if(!this.atEnd)return this.setNext("quoted-scalar");X=this.buffer.length}return yield*this.pushToIndex(X+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let Z=this.pos;while(!0){let X=this.buffer[++Z];if(X==="+")this.blockScalarKeep=!0;else if(X>"0"&&X<="9")this.blockScalarIndent=Number(X)-1;else if(X!=="-")break}return yield*this.pushUntil((X)=>
|
|
170
|
+
`,J)}if(U!==-1)X=U-(Q[U-1]==="\r"?2:1)}if(X===-1){if(!this.atEnd)return this.setNext("quoted-scalar");X=this.buffer.length}return yield*this.pushToIndex(X+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let Z=this.pos;while(!0){let X=this.buffer[++Z];if(X==="+")this.blockScalarKeep=!0;else if(X>"0"&&X<="9")this.blockScalarIndent=Number(X)-1;else if(X!=="-")break}return yield*this.pushUntil((X)=>H1(X)||X==="#")}*parseBlockScalar(){let Z=this.pos-1,X=0,Q;Z:for(let J=this.pos;Q=this.buffer[J];++J)switch(Q){case" ":X+=1;break;case`
|
|
171
171
|
`:Z=J,X=0;break;case"\r":{let $=this.buffer[J+1];if(!$&&!this.atEnd)return this.setNext("block-scalar");if($===`
|
|
172
172
|
`)break}default:break Z}if(!Q&&!this.atEnd)return this.setNext("block-scalar");if(X>=this.indentNext){if(this.blockScalarIndent===-1)this.indentNext=X;else this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let J=this.continueScalar(Z+1);if(J===-1)break;Z=this.buffer.indexOf(`
|
|
173
173
|
`,J)}while(Z!==-1);if(Z===-1){if(!this.atEnd)return this.setNext("block-scalar");Z=this.buffer.length}}let U=Z+1;Q=this.buffer[U];while(Q===" ")Q=this.buffer[++U];if(Q==="\t"){while(Q==="\t"||Q===" "||Q==="\r"||Q===`
|
|
174
174
|
`)Q=this.buffer[++U];Z=U-1}else if(!this.blockScalarKeep)do{let J=Z-1,$=this.buffer[J];if($==="\r")$=this.buffer[--J];let W=J;while($===" ")$=this.buffer[--J];if($===`
|
|
175
|
-
`&&J>=this.pos&&J+1+X>W)Z=J;else break}while(!0);return yield
|
|
175
|
+
`&&J>=this.pos&&J+1+X>W)Z=J;else break}while(!0);return yield M4,yield*this.pushToIndex(Z+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let Z=this.flowLevel>0,X=this.pos-1,Q=this.pos-1,U;while(U=this.buffer[++Q])if(U===":"){let J=this.buffer[Q+1];if(H1(J)||Z&&B8.has(J))break;X=Q}else if(H1(U)){let J=this.buffer[Q+1];if(U==="\r")if(J===`
|
|
176
176
|
`)Q+=1,U=`
|
|
177
|
-
`,J=this.buffer[Q+1];else X=Q;if(J==="#"||Z&&
|
|
178
|
-
`){let $=this.continueScalar(Q+1);if($===-1)break;Q=Math.max(Q,$-2)}}else{if(Z&&
|
|
177
|
+
`,J=this.buffer[Q+1];else X=Q;if(J==="#"||Z&&B8.has(J))break;if(U===`
|
|
178
|
+
`){let $=this.continueScalar(Q+1);if($===-1)break;Q=Math.max(Q,$-2)}}else{if(Z&&B8.has(U))break;X=Q}if(!U&&!this.atEnd)return this.setNext("plain-scalar");return yield M4,yield*this.pushToIndex(X+1,!0),Z?"flow":"doc"}*pushCount(Z){if(Z>0)return yield this.buffer.substr(this.pos,Z),this.pos+=Z,Z;return 0}*pushToIndex(Z,X){let Q=this.buffer.slice(this.pos,Z);if(Q)return yield Q,this.pos+=Q.length,Q.length;else if(X)yield"";return 0}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(z7))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let Z=this.flowLevel>0,X=this.charAt(1);if(H1(X)||Z&&B8.has(X)){if(!Z)this.indentNext=this.indentValue+1;else if(this.flowKey)this.flowKey=!1;return(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}}return 0}*pushTag(){if(this.charAt(1)==="<"){let Z=this.pos+2,X=this.buffer[Z];while(!H1(X)&&X!==">")X=this.buffer[++Z];return yield*this.pushToIndex(X===">"?Z+1:Z,!1)}else{let Z=this.pos+1,X=this.buffer[Z];while(X)if(Vq.has(X))X=this.buffer[++Z];else if(X==="%"&&yJ.has(this.buffer[Z+1])&&yJ.has(this.buffer[Z+2]))X=this.buffer[Z+=3];else break;return yield*this.pushToIndex(Z,!1)}}*pushNewline(){let Z=this.buffer[this.pos];if(Z===`
|
|
179
179
|
`)return yield*this.pushCount(1);else if(Z==="\r"&&this.charAt(1)===`
|
|
180
|
-
`)return yield*this.pushCount(2);else return 0}*pushSpaces(Z){let X=this.pos-1,Q;do Q=this.buffer[++X];while(Q===" "||Z&&Q==="\t");let U=X-this.pos;if(U>0)yield this.buffer.substr(this.pos,U),this.pos=X;return U}*pushUntil(Z){let X=this.pos,Q=this.buffer[X];while(!Z(Q))Q=this.buffer[++X];return yield*this.pushToIndex(X,!1)}}class
|
|
180
|
+
`)return yield*this.pushCount(2);else return 0}*pushSpaces(Z){let X=this.pos-1,Q;do Q=this.buffer[++X];while(Q===" "||Z&&Q==="\t");let U=X-this.pos;if(U>0)yield this.buffer.substr(this.pos,U),this.pos=X;return U}*pushUntil(Z){let X=this.pos,Q=this.buffer[X];while(!Z(Q))Q=this.buffer[++X];return yield*this.pushToIndex(X,!1)}}class k6{constructor(){this.lineStarts=[],this.addNewLine=(Z)=>this.lineStarts.push(Z),this.linePos=(Z)=>{let X=0,Q=this.lineStarts.length;while(X<Q){let J=X+Q>>1;if(this.lineStarts[J]<Z)X=J+1;else Q=J}if(this.lineStarts[X]===Z)return{line:X+1,col:1};if(X===0)return{line:0,col:Z};let U=this.lineStarts[X-1];return{line:X,col:Z-U+1}}}}function V2(Z,X){for(let Q=0;Q<Z.length;++Q)if(Z[Q].type===X)return!0;return!1}function kJ(Z){for(let X=0;X<Z.length;++X)switch(Z[X].type){case"space":case"comment":case"newline":break;default:return X}return-1}function vJ(Z){switch(Z?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function M8(Z){switch(Z.type){case"document":return Z.start;case"block-map":{let X=Z.items[Z.items.length-1];return X.sep??X.start}case"block-seq":return Z.items[Z.items.length-1].start;default:return[]}}function R4(Z){if(Z.length===0)return[];let X=Z.length;Z:while(--X>=0)switch(Z[X].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break Z}while(Z[++X]?.type==="space");return Z.splice(X,Z.length)}function gJ(Z){if(Z.start.type==="flow-seq-start"){for(let X of Z.items)if(X.sep&&!X.value&&!V2(X.start,"explicit-key-ind")&&!V2(X.sep,"map-value-ind")){if(X.key)X.value=X.key;if(delete X.key,vJ(X.value))if(X.value.end)Array.prototype.push.apply(X.value.end,X.sep);else X.value.end=X.sep;else Array.prototype.push.apply(X.start,X.sep);delete X.sep}}}class O4{constructor(Z){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new y6,this.onNewLine=Z}*parse(Z,X=!1){if(this.onNewLine&&this.offset===0)this.onNewLine(0);for(let Q of this.lexer.lex(Z,X))yield*this.next(Q);if(!X)yield*this.end()}*next(Z){if(this.source=Z,this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=Z.length;return}let X=V7(Z);if(!X){let Q=`Not a YAML token: ${Z}`;yield*this.pop({type:"error",offset:this.offset,message:Q,source:Z}),this.offset+=Z.length}else if(X==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=X,yield*this.step(),X){case"newline":if(this.atNewLine=!0,this.indent=0,this.onNewLine)this.onNewLine(this.offset+Z.length);break;case"space":if(this.atNewLine&&Z[0]===" ")this.indent+=Z.length;break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":if(this.atNewLine)this.indent+=Z.length;break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=Z.length}}*end(){while(this.stack.length>0)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let Z=this.peek(1);if(this.type==="doc-end"&&Z?.type!=="doc-end"){while(this.stack.length>0)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!Z)return yield*this.stream();switch(Z.type){case"document":return yield*this.document(Z);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(Z);case"block-scalar":return yield*this.blockScalar(Z);case"block-map":return yield*this.blockMap(Z);case"block-seq":return yield*this.blockSequence(Z);case"flow-collection":return yield*this.flowCollection(Z);case"doc-end":return yield*this.documentEnd(Z)}yield*this.pop()}peek(Z){return this.stack[this.stack.length-Z]}*pop(Z){let X=Z??this.stack.pop();if(!X)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield X;else{let Q=this.peek(1);if(X.type==="block-scalar")X.indent="indent"in Q?Q.indent:0;else if(X.type==="flow-collection"&&Q.type==="document")X.indent=0;if(X.type==="flow-collection")gJ(X);switch(Q.type){case"document":Q.value=X;break;case"block-scalar":Q.props.push(X);break;case"block-map":{let U=Q.items[Q.items.length-1];if(U.value){Q.items.push({start:[],key:X,sep:[]}),this.onKeyLine=!0;return}else if(U.sep)U.value=X;else{Object.assign(U,{key:X,sep:[]}),this.onKeyLine=!U.explicitKey;return}break}case"block-seq":{let U=Q.items[Q.items.length-1];if(U.value)Q.items.push({start:[],value:X});else U.value=X;break}case"flow-collection":{let U=Q.items[Q.items.length-1];if(!U||U.value)Q.items.push({start:[],key:X,sep:[]});else if(U.sep)U.value=X;else Object.assign(U,{key:X,sep:[]});return}default:yield*this.pop(),yield*this.pop(X)}if((Q.type==="document"||Q.type==="block-map"||Q.type==="block-seq")&&(X.type==="block-map"||X.type==="block-seq")){let U=X.items[X.items.length-1];if(U&&!U.sep&&!U.value&&U.start.length>0&&kJ(U.start)===-1&&(X.indent===0||U.start.every((J)=>J.type!=="comment"||J.indent<X.indent))){if(Q.type==="document")Q.end=U.start;else Q.items.push({start:U.start});X.items.splice(-1,1)}}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let Z={type:"document",offset:this.offset,start:[]};if(this.type==="doc-start")Z.start.push(this.sourceToken);this.stack.push(Z);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(Z){if(Z.value)return yield*this.lineEnd(Z);switch(this.type){case"doc-start":{if(kJ(Z.start)!==-1)yield*this.pop(),yield*this.step();else Z.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":Z.start.push(this.sourceToken);return}let X=this.startBlockValue(Z);if(X)this.stack.push(X);else yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(Z){if(this.type==="map-value-ind"){let X=M8(this.peek(2)),Q=R4(X),U;if(Z.end)U=Z.end,U.push(this.sourceToken),delete Z.end;else U=[this.sourceToken];let J={type:"block-map",offset:Z.offset,indent:Z.indent,items:[{start:Q,key:Z,sep:U}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=J}else yield*this.lineEnd(Z)}*blockScalar(Z){switch(this.type){case"space":case"comment":case"newline":Z.props.push(this.sourceToken);return;case"scalar":if(Z.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let X=this.source.indexOf(`
|
|
181
181
|
`)+1;while(X!==0)this.onNewLine(this.offset+X),X=this.source.indexOf(`
|
|
182
|
-
`,X)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(Z){let X=Z.items[Z.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,X.value){let Q="end"in X.value?X.value.end:void 0;if((Array.isArray(Q)?Q[Q.length-1]:void 0)?.type==="comment")Q?.push(this.sourceToken);else Z.items.push({start:[this.sourceToken]})}else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"space":case"comment":if(X.value)Z.items.push({start:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else{if(this.atIndentedComment(X.start,Z.indent)){let U=Z.items[Z.items.length-2]?.value?.end;if(Array.isArray(U)){Array.prototype.push.apply(U,X.start),U.push(this.sourceToken),Z.items.pop();return}}X.start.push(this.sourceToken)}return}if(this.indent>=Z.indent){let Q=!this.onKeyLine&&this.indent===Z.indent,U=Q&&(X.sep||X.explicitKey)&&this.type!=="seq-item-ind",J=[];if(U&&X.sep&&!X.value){let $=[];for(let W=0;W<X.sep.length;++W){let Y=X.sep[W];switch(Y.type){case"newline":$.push(W);break;case"space":break;case"comment":if(Y.indent>Z.indent)$.length=0;break;default:$.length=0}}if($.length>=2)J=X.sep.splice($[1])}switch(this.type){case"anchor":case"tag":if(U||X.value)J.push(this.sourceToken),Z.items.push({start:J}),this.onKeyLine=!0;else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"explicit-key-ind":if(!X.sep&&!X.explicitKey)X.start.push(this.sourceToken),X.explicitKey=!0;else if(U||X.value)J.push(this.sourceToken),Z.items.push({start:J,explicitKey:!0});else this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]});this.onKeyLine=!0;return;case"map-value-ind":if(X.explicitKey)if(!X.sep)if(V2(X.start,"newline"))Object.assign(X,{key:null,sep:[this.sourceToken]});else{let $=
|
|
182
|
+
`,X)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(Z){let X=Z.items[Z.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,X.value){let Q="end"in X.value?X.value.end:void 0;if((Array.isArray(Q)?Q[Q.length-1]:void 0)?.type==="comment")Q?.push(this.sourceToken);else Z.items.push({start:[this.sourceToken]})}else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"space":case"comment":if(X.value)Z.items.push({start:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else{if(this.atIndentedComment(X.start,Z.indent)){let U=Z.items[Z.items.length-2]?.value?.end;if(Array.isArray(U)){Array.prototype.push.apply(U,X.start),U.push(this.sourceToken),Z.items.pop();return}}X.start.push(this.sourceToken)}return}if(this.indent>=Z.indent){let Q=!this.onKeyLine&&this.indent===Z.indent,U=Q&&(X.sep||X.explicitKey)&&this.type!=="seq-item-ind",J=[];if(U&&X.sep&&!X.value){let $=[];for(let W=0;W<X.sep.length;++W){let Y=X.sep[W];switch(Y.type){case"newline":$.push(W);break;case"space":break;case"comment":if(Y.indent>Z.indent)$.length=0;break;default:$.length=0}}if($.length>=2)J=X.sep.splice($[1])}switch(this.type){case"anchor":case"tag":if(U||X.value)J.push(this.sourceToken),Z.items.push({start:J}),this.onKeyLine=!0;else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"explicit-key-ind":if(!X.sep&&!X.explicitKey)X.start.push(this.sourceToken),X.explicitKey=!0;else if(U||X.value)J.push(this.sourceToken),Z.items.push({start:J,explicitKey:!0});else this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]});this.onKeyLine=!0;return;case"map-value-ind":if(X.explicitKey)if(!X.sep)if(V2(X.start,"newline"))Object.assign(X,{key:null,sep:[this.sourceToken]});else{let $=R4(X.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:$,key:null,sep:[this.sourceToken]}]})}else if(X.value)Z.items.push({start:[],key:null,sep:[this.sourceToken]});else if(V2(X.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:J,key:null,sep:[this.sourceToken]}]});else if(vJ(X.key)&&!V2(X.sep,"newline")){let $=R4(X.start),W=X.key,Y=X.sep;Y.push(this.sourceToken),delete X.key,delete X.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:$,key:W,sep:Y}]})}else if(J.length>0)X.sep=X.sep.concat(J,this.sourceToken);else X.sep.push(this.sourceToken);else if(!X.sep)Object.assign(X,{key:null,sep:[this.sourceToken]});else if(X.value||U)Z.items.push({start:J,key:null,sep:[this.sourceToken]});else if(V2(X.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]});else X.sep.push(this.sourceToken);this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let $=this.flowScalar(this.type);if(U||X.value)Z.items.push({start:J,key:$,sep:[]}),this.onKeyLine=!0;else if(X.sep)this.stack.push($);else Object.assign(X,{key:$,sep:[]}),this.onKeyLine=!0;return}default:{let $=this.startBlockValue(Z);if($){if($.type==="block-seq"){if(!X.explicitKey&&X.sep&&!V2(X.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else if(Q)Z.items.push({start:J});this.stack.push($);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(Z){let X=Z.items[Z.items.length-1];switch(this.type){case"newline":if(X.value){let Q="end"in X.value?X.value.end:void 0;if((Array.isArray(Q)?Q[Q.length-1]:void 0)?.type==="comment")Q?.push(this.sourceToken);else Z.items.push({start:[this.sourceToken]})}else X.start.push(this.sourceToken);return;case"space":case"comment":if(X.value)Z.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(X.start,Z.indent)){let U=Z.items[Z.items.length-2]?.value?.end;if(Array.isArray(U)){Array.prototype.push.apply(U,X.start),U.push(this.sourceToken),Z.items.pop();return}}X.start.push(this.sourceToken)}return;case"anchor":case"tag":if(X.value||this.indent<=Z.indent)break;X.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==Z.indent)break;if(X.value||V2(X.start,"seq-item-ind"))Z.items.push({start:[this.sourceToken]});else X.start.push(this.sourceToken);return}if(this.indent>Z.indent){let Q=this.startBlockValue(Z);if(Q){this.stack.push(Q);return}}yield*this.pop(),yield*this.step()}*flowCollection(Z){let X=Z.items[Z.items.length-1];if(this.type==="flow-error-end"){let Q;do yield*this.pop(),Q=this.peek(1);while(Q?.type==="flow-collection")}else if(Z.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":if(!X||X.sep)Z.items.push({start:[this.sourceToken]});else X.start.push(this.sourceToken);return;case"map-value-ind":if(!X||X.value)Z.items.push({start:[],key:null,sep:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else Object.assign(X,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":if(!X||X.value)Z.items.push({start:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let U=this.flowScalar(this.type);if(!X||X.value)Z.items.push({start:[],key:U,sep:[]});else if(X.sep)this.stack.push(U);else Object.assign(X,{key:U,sep:[]});return}case"flow-map-end":case"flow-seq-end":Z.end.push(this.sourceToken);return}let Q=this.startBlockValue(Z);if(Q)this.stack.push(Q);else yield*this.pop(),yield*this.step()}else{let Q=this.peek(2);if(Q.type==="block-map"&&(this.type==="map-value-ind"&&Q.indent===Z.indent||this.type==="newline"&&!Q.items[Q.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&Q.type!=="flow-collection"){let U=M8(Q),J=R4(U);gJ(Z);let $=Z.end.splice(1,Z.end.length);$.push(this.sourceToken);let W={type:"block-map",offset:Z.offset,indent:Z.indent,items:[{start:J,key:Z,sep:$}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=W}else yield*this.lineEnd(Z)}}flowScalar(Z){if(this.onNewLine){let X=this.source.indexOf(`
|
|
183
183
|
`)+1;while(X!==0)this.onNewLine(this.offset+X),X=this.source.indexOf(`
|
|
184
|
-
`,X)+1}return{type:Z,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(Z){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let X=H8(Z),Q=H4(X);return Q.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Q,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let X=H8(Z),Q=H4(X);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Q,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(Z,X){if(this.type!=="comment")return!1;if(this.indent<=X)return!1;return Z.every((Q)=>Q.type==="newline"||Q.type==="space")}*documentEnd(Z){if(this.type!=="doc-mode"){if(Z.end)Z.end.push(this.sourceToken);else Z.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd(Z){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:if(Z.end)Z.end.push(this.sourceToken);else Z.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}function IJ(Z){let X=Z.prettyErrors!==!1;return{lineCounter:Z.lineCounter||X&&new N6||null,prettyErrors:X}}function z8(Z,X={}){let{lineCounter:Q,prettyErrors:U}=IJ(X),J=new z4(Q?.addNewLine),$=new V4(X),W=Array.from($.compose(J.parse(Z)));if(U&&Q)for(let Y of W)Y.errors.forEach(T6(Z,Q)),Y.warnings.forEach(T6(Z,Q));if(W.length>0)return W;return Object.assign([],{empty:!0},$.streamInfo())}function _7(Z,X={}){let{lineCounter:Q,prettyErrors:U}=IJ(X),J=new z4(Q?.addNewLine),$=new V4(X),W=null;for(let Y of $.compose(J.parse(Z),!0,Z.length))if(!W)W=Y;else if(W.options.logLevel!=="silent"){W.errors.push(new U1(Y.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(U&&Q)W.errors.forEach(T6(Z,Q)),W.warnings.forEach(T6(Z,Q));return W}function F8(Z,X,Q){let U=void 0;if(typeof X==="function")U=X;else if(Q===void 0&&X&&typeof X==="object")Q=X;let J=_7(Z,Q);if(!J)return null;if(J.warnings.forEach(($)=>p9(J.options.logLevel,$)),J.errors.length>0)if(J.options.logLevel!=="silent")throw J.errors[0];else J.errors=[];return J.toJS(Object.assign({reviver:U},Q))}function fJ(Z,X,Q){let U=null;if(typeof X==="function"||Array.isArray(X))U=X;else if(Q===void 0&&X)Q=X;if(typeof Q==="string")Q=Q.length;if(typeof Q==="number"){let J=Math.round(Q);Q=J<1?void 0:J>8?{indent:8}:{indent:J}}if(Z===void 0){let{keepUndefined:J}=Q??X??{};if(!J)return}if(e0(Z)&&!U)return Z.toString(Q);return new S1(Z,U,Q).toString(Q)}var V7=L7;class GL{static toYaml(Z){let X=Array.isArray(Z)?Z:[Z];return V7.stringify(X)}static toJson(Z,X=!0){let Q=Array.isArray(Z)?Z:[Z];return JSON.stringify(Q,null,X?2:0)}static cleanRule(Z){let X={};if(X.id=Z.id,Z.name)X.name=Z.name;if(Z.description)X.description=Z.description;if(X.on=Z.on,Z.priority!==void 0&&Z.priority!==0)X.priority=Z.priority;if(Z.enabled!==void 0&&Z.enabled!==!0)X.enabled=Z.enabled;if(Z.cooldown!==void 0&&Z.cooldown!==0)X.cooldown=Z.cooldown;if(Z.tags&&Z.tags.length>0)X.tags=Z.tags;if(Z.if)X.if=Z.if;if(X.do=Z.do,Z.else)X.else=Z.else;return X}static toCleanYaml(Z){let Q=(Array.isArray(Z)?Z:[Z]).map((U)=>this.cleanRule(U));return V7.stringify(Q,{indent:2,lineWidth:0})}static toCleanJson(Z,X=!0){let U=(Array.isArray(Z)?Z:[Z]).map((J)=>this.cleanRule(J));return JSON.stringify(U,null,X?2:0)}static async saveToFile(Z,X){let Q=this.toYaml(Z);if(typeof process<"u"&&process.versions&&process.versions.node){let U=await import("fs/promises"),$=(await Promise.resolve().then(() => (rJ(),sJ))).dirname(X);await U.mkdir($,{recursive:!0}),await U.writeFile(X,Q,"utf8")}else throw Error("saveToFile is only supported in Node.js/Bun environments")}}var _L=["EQ","==","NEQ","!="],LL=["GT",">","GTE",">=","LT","<","LTE","<="],VL=["IN","NOT_IN","RANGE"],qL=["CONTAINS","NOT_CONTAINS","STARTS_WITH","ENDS_WITH"];var oJ=[..._L,...LL,...VL,...qL,"IS_EMPTY","HAS_KEY","MATCHES","SINCE","AFTER","BEFORE","UNTIL","RANGE"],aJ=["AND","OR"],nJ=["ALL","EITHER","SEQUENCE"];function N0(Z){return typeof Z==="object"&&Z!==null&&!Array.isArray(Z)}function HL(Z){return typeof Z==="string"&&Z.length>0}function zL(Z){return typeof Z==="number"&&!isNaN(Z)}function FL(Z){return typeof Z==="boolean"}function q2(Z){return"operator"in Z&&"conditions"in Z&&(Z.operator==="AND"||Z.operator==="OR")}function H2(Z){return"field"in Z&&"operator"in Z}function H7(Z){return typeof Z==="object"&&Z!==null&&"mode"in Z&&"actions"in Z&&Array.isArray(Z.actions)}function M8(Z){return typeof Z==="object"&&Z!==null&&"if"in Z}function BL(Z){return typeof Z==="object"&&Z!==null&&"type"in Z}function z7(Z){return typeof Z==="string"&&nJ.includes(Z)}function ML(Z){return typeof Z==="string"&&aJ.includes(Z)}function RL(Z){return typeof Z==="string"&&wL(oJ,Z)}function j6(Z){return Z.type||"log"}function E6(Z){if(!Z.params)return"{}";return typeof Z.params==="string"?Z.params:JSON.stringify(Z.params)}function F4(Z){if(H2(Z))return Z.field||"data";return"data"}function B4(Z){if(H2(Z))return Z.operator||"EQ";if(q2(Z))return Z.operator==="OR"?"OR":"AND";return"EQ"}function M4(Z){if(H2(Z))return Z.value;return}function F7(Z=0){let X=Z;return()=>`node_${X++}`}function B7(){let Z=0;return()=>`edge_${Date.now()}_${Z++}`}function M7(Z=100,X=100,Q=300,U=150){return(J,$,W)=>({x:Z+J*Q,y:X+$*U-W*U/2})}function R4(Z){if(Z===void 0)return[];if(Array.isArray(Z))return Z;return[Z]}function OL(Z){if(!Z)return[];if(Array.isArray(Z))return Z;return[Z]}function KL(Z){if(!Z)return[];if(Array.isArray(Z))return Z;return[Z]}function TL(Z){return Z.replace(/\.(ya?ml)$/i,"")}function DL(Z){return{"==":"EQ","!=":"NEQ",">":"GT",">=":"GTE","<":"LT","<=":"LTE"}[Z]||Z}function PL(Z,X){if(!(X in Z)||Z[X]===void 0||Z[X]===null)throw Error(`Missing required field: ${X}`)}function wL(Z,X){return Z.includes(X)}function AL(Z,X,Q){let U=typeof Z;if(U!==X)throw Error(`Field "${Q}" expected type "${X}", got "${U}"`)}function SL(Z,X,Q){if(typeof Z!=="string"||!X.includes(Z))throw Error(`Field "${Q}" must be one of: ${X.join(", ")}`)}function b6(Z,X,Q,U){if(!N0(Z))throw Error(`Rule at index ${X} is not an object`);let J={...Z};if("actions"in J&&!("do"in J))J.do=J.actions,delete J.actions;if(!("enabled"in J))J.enabled=!0;if(!("priority"in J))J.priority=0;if(!J.id){if(U===!0&&Q){let $=Q.replace(/\.(ya?ml)$/i,"");J.id=$}else if(typeof U==="string")J.id=`${U}-${X}`}if("if"in J&&J.if!==void 0)J.if=R8(J.if);if("do"in J&&J.do!==void 0)J.do=Z$(J.do);if("else"in J&&J.else!==void 0)J.else=X$(J.else);return J}function R8(Z){if(!Z)return[];if(N0(Z))return tJ(Z);if(Array.isArray(Z))return Z.map((X,Q)=>{if(N0(X))return tJ(X);throw Error(`Invalid condition at index ${Q}: expected object`)});throw Error("Invalid condition format: expected object or array")}function tJ(Z){let X="operator"in Z&&(Z.operator==="AND"||Z.operator==="OR"),Q="conditions"in Z&&Array.isArray(Z.conditions);if(X&&Q){let W=Z.operator,Y=R8(Z.conditions);return{operator:W,conditions:Array.isArray(Y)?Y:[Y]}}let{field:U,operator:J,value:$}=Z;return{field:U||"data",operator:J||"EQ",value:$}}function Z$(Z){if(!Z)return[];if(N0(Z)&&"mode"in Z&&"actions"in Z)return S2(Z);if(N0(Z))return z2(Z);if(Array.isArray(Z))return Z.map((X,Q)=>{if(N0(X)){if("mode"in X&&"actions"in X)return S2(X);return z2(X)}throw Error(`Invalid action at index ${Q}: expected object`)});throw Error("Invalid do field format: expected object or array")}function X$(Z){if(!Z)return[];if(N0(Z)&&"mode"in Z&&"actions"in Z)return S2(Z);if(N0(Z))return z2(Z);if(Array.isArray(Z))return Z.map((X,Q)=>{if(N0(X)){if("mode"in X&&"actions"in X)return S2(X);return z2(X)}throw Error(`Invalid action at index ${Q}: expected object`)});throw Error("Invalid else field format: expected object or array")}function z2(Z){let X={...Z};if("do"in X&&!("then"in X))X.then=X.do,delete X.do;if("if"in X&&X.if!==void 0){let U={if:R8(X.if)};if("then"in X&&X.then!==void 0)U.then=eJ(X.then);if("else"in X&&X.else!==void 0)U.else=eJ(X.else);if("break"in X)U.break=X.break;if("continue"in X)U.continue=X.continue;return U}let Q={};if("type"in X)Q.type=X.type;if("params"in X)Q.params=X.params;if("run"in X)Q.run=X.run;if("delay"in X)Q.delay=X.delay;if("probability"in X)Q.probability=X.probability;if("name"in X)Q.name=X.name;if("break"in X)Q.break=X.break;if("continue"in X)Q.continue=X.continue;return Q}function eJ(Z){if(!Z)return[];if(N0(Z)&&"mode"in Z&&"actions"in Z)return S2(Z);if(N0(Z))return z2(Z);if(Array.isArray(Z)){let X=[];for(let Q=0;Q<Z.length;Q++){let U=Z[Q];if(N0(U))if("mode"in U&&"actions"in U){let J=S2(U);for(let $ of J.actions)X.push($)}else X.push(z2(U));else throw Error(`Invalid action in branch at index ${Q}: expected object`)}return X}throw Error("Invalid action branch format: expected object or array")}function S2(Z){let X=Z.mode||"ALL";if(!z7(X))throw Error(`Invalid execution mode: ${X}`);let Q=Z.actions;if(!Q||!Array.isArray(Q))throw Error("Action group must have an actions array");let U=Q.map((J,$)=>{if(N0(J)){if("mode"in J&&"actions"in J)return S2(J);return z2(J)}throw Error(`Invalid action in group at index ${$}: expected object`)});return{mode:X,actions:U}}function CL(Z,X,Q,U){let J=b6(Z,X,Q,U);if(!J.on)throw Error(`Rule at index ${X} missing required field: on`);return J}function NL(Z){let X=[];if(!Z.on)X.push("Missing required field: on");if(!Z.do&&Z.do!=="")X.push("Missing required field: do");if(Z.else&&!Z.if)X.push('Field "else" requires "if" to be present');return{valid:X.length===0,errors:X}}function Q$(Z,X,Q){return{id:X,type:f.EVENT,position:Q,data:{id:Z.id||"rule-1",name:Z.name||"Imported Rule",description:Z.description||"",event:Z.on||"",priority:Z.priority||0,enabled:Z.enabled!==!1,cooldown:Z.cooldown,tags:Z.tags}}}function U$(Z,X,Q){return{id:X,type:f.CONDITION_GROUP,position:Q,data:{operator:Z}}}function I6(Z,X,Q,U,J){return{id:U,type:f.CONDITION,position:J,data:{field:Z||"data",operator:X||"EQ",value:Q??""}}}function R7(Z,X,Q){return{id:X,type:f.DO,position:Q,data:{branchType:Z}}}function J$(Z,X,Q){let U,J,$,W,Y,G,_;if(M8(Z)){let V=Z.if;if(V){let z=(Array.isArray(V)?V:[V])[0];if(z&&H2(z))U=z.field,J=z.operator,$=z.value!==void 0?typeof z.value==="string"?z.value:JSON.stringify(z.value):void 0}let q=Z.then;if(q){let F=Array.isArray(q)?q:[q];if(F[0])W=j6(F[0]),Y=E6(F[0])}let H=Z.else;if(H){let F=Array.isArray(H)?H:[H];if(F[0])G=j6(F[0]),_=E6(F[0])}}let L={type:j6(Z),params:E6(Z)};if(U)L.conditionField=U;if(J)L.conditionOperator=J;if($!==void 0)L.conditionValue=$;if(W)L.thenType=W;if(Y)L.thenParams=Y;if(G)L.elseType=G;if(_)L.elseParams=_;return{id:X,type:f.ACTION,position:Q,data:L}}function $$(Z,X,Q){return{id:X,type:f.ACTION_GROUP,position:Q,data:{mode:Z||"SEQUENCE"}}}function J1(Z,X,Q,U,J){return{id:J?J():`edge_${Z}_${X}_${Date.now()}`,source:Z,target:X,sourceHandle:Q??null,targetHandle:U??null}}function jL(Z,X={}){let Q=[],U=[],J=[];if(!Z.id)J.push("Missing required field: id");if(!Z.on)J.push("Missing required field: on (event trigger)");if(!Z.do&&Z.do!=="")J.push("Missing required field: do (actions)");if(J.length>0)return{nodes:[],edges:[],valid:!1,errors:J};let $=X.startNodeId||"event-node",W=F7(0),Y=B7(),G=M7();try{let _=Q$(Z,$,X.startPosition||{x:100,y:300});Q.push(_);let L=R4(Z.if);if(L.length>0){let{conditionNodes:V,groupNodeId:q}=EL(L,Q,U,_.id,W,G),H=R4(Z.do);if(H.length>0){let z=V.length>0?V[V.length-1].id:q||_.id;O4(H,Q,U,z,W,Y,G,"do")}let F=R4(Z.else);if(F.length>0){let z=V.length>0?V[V.length-1].id:q||_.id;O4(F,Q,U,z,W,Y,G,"else")}}else{let V=R4(Z.do);if(V.length>0)O4(V,Q,U,_.id,W,Y,G,"do")}return{nodes:Q,edges:U,valid:!0,errors:[]}}catch(_){let L=_ instanceof Error?_.message:"Unknown error during conversion";return J.push(L),{nodes:Q,edges:U,valid:!1,errors:J}}}function EL(Z,X,Q,U,J,$){let W=[],Y,G=Z.length>1,_=Z.some(q2);if(G||_){Y=J();let L="AND",V=Z.find(q2);if(V&&q2(V))L=V.operator;let q=U$(L,Y,$(1,0,1));X.push(q),Q.push(J1(U,Y,null,w.CONDITION_GROUP_INPUT,void 0));let H=null;Z.forEach((F,z)=>{let B,T;if(q2(F)){if(F.conditions)F.conditions.forEach((D,K)=>{if(q2(D))return;if(B=J(),T=I6(F4(D),B4(D),M4(D),B,$(2,z*2+K,Z.length*2)),X.push(T),W.push(T),H)Q.push(J1(H,B,w.CONDITION_OUTPUT,w.CONDITION_INPUT,void 0));else Q.push(J1(Y,B,w.CONDITION_GROUP_OUTPUT,w.CONDITION_INPUT,void 0));H=B})}else{if(B=J(),T=I6(F4(F),B4(F),M4(F),B,$(2,z,Z.length)),X.push(T),W.push(T),H)Q.push(J1(H,B,w.CONDITION_OUTPUT,w.CONDITION_INPUT,void 0));else Q.push(J1(Y,B,w.CONDITION_GROUP_OUTPUT,w.CONDITION_INPUT,void 0));H=B}})}else{let L=J(),V=I6(F4(Z[0]),B4(Z[0]),M4(Z[0]),L,$(1,0,1));X.push(V),W.push(V),Q.push(J1(U,L,null,w.CONDITION_INPUT,void 0))}return{conditionNodes:W,groupNodeId:Y}}function O4(Z,X,Q,U,J,$,W,Y){Z.forEach((G,_)=>{if(H7(G)){let z=J(),B=X.find((P)=>P.id===U)?.position||{x:100,y:100},T=$$(G.mode,z,{x:B.x+300,y:B.y+_*75});X.push(T);let D=X.find((P)=>P.id===U),K;if(D?.type===f.EVENT)K=w.EVENT_OUTPUT;else if(D?.type===f.CONDITION)K=w.CONDITION_OUTPUT;else if(D?.type===f.CONDITION_GROUP)K=w.CONDITION_GROUP_OUTPUT;else if(D?.type===f.ACTION_GROUP)K=w.ACTION_GROUP_OUTPUT;else if(D?.type===f.DO)K=w.DO_OUTPUT;else K=Y===u0.ELSE?w.ELSE_OUTPUT:w.THEN_OUTPUT;Q.push(J1(U,z,K,w.ACTION_GROUP_INPUT,$)),O4(G.actions,X,Q,z,J,$,W,Y);return}if(M8(G)){let B=G.if,T=Array.isArray(B)?B[0]:B;if(T&&H2(T)){let D=J(),K=W(2,_,Z.length),P=I6(F4(T),B4(T),M4(T),D,{x:K.x+300,y:K.y});X.push(P);let S=X.find((h)=>h.id===U),N;if(S?.type===f.EVENT)N=w.EVENT_OUTPUT;else if(S?.type===f.ACTION_GROUP)N=w.ACTION_GROUP_CONDITION_OUTPUT;else if(S?.type===f.CONDITION)N=w.CONDITION_OUTPUT;else if(S?.type===f.DO)N=w.DO_OUTPUT;else N=Y===u0.ELSE?w.CONDITION_OUTPUT:w.CONDITION_OUTPUT;Q.push(J1(U,D,N,w.CONDITION_INPUT,$));let x=G.then;if(x){let h=J(),a=R7("do",h,{x:P.position.x+300,y:P.position.y-100});X.push(a),Q.push(J1(D,h,w.CONDITION_OUTPUT,w.DO_INPUT,$));let W0=Array.isArray(x)?x:[x];O4(W0,X,Q,h,J,$,(B0,j0,d0)=>{return{x:a.position.x+300,y:a.position.y-j0*150}},"do")}let C=G.else;if(C){let h=J(),a=R7("else",h,{x:P.position.x+300,y:P.position.y+100});X.push(a),Q.push(J1(D,h,w.CONDITION_OUTPUT,w.DO_INPUT,$));let W0=Array.isArray(C)?C:[C];O4(W0,X,Q,h,J,$,(B0,j0,d0)=>{return{x:a.position.x+300,y:a.position.y+j0*150}},"else")}}return}let L=J(),V=X.find((z)=>z.id===U)?.position||{x:700,y:100},q=J$(G,L,{x:V.x+300,y:V.y+_*150});X.push(q);let H=X.find((z)=>z.id===U),F;if(H?.type===f.EVENT)F=w.EVENT_OUTPUT;else if(H?.type===f.CONDITION)F=w.CONDITION_OUTPUT;else if(H?.type===f.CONDITION_GROUP)F=w.CONDITION_GROUP_OUTPUT;else if(H?.type===f.ACTION_GROUP)F=w.ACTION_GROUP_OUTPUT;else if(H?.type===f.DO)F=w.DO_OUTPUT;else F=Y===u0.ELSE?w.CONDITION_OUTPUT:w.CONDITION_OUTPUT;Q.push(J1(U,L,F,w.ACTION_INPUT,$))})}function W$(Z,X={}){let{autoId:Q=!1,filename:U,throwOnError:J=!1,multiDocument:$=!0}=X,W=[],Y=[];try{let _;if($){let V=z8(Z);for(let q of V)if(q.errors&&q.errors.length>0){let H=q.errors.map((F)=>F.message).join(", ");throw Error(`YAML syntax error: ${H}`)}_=V.map((q)=>q.toJS())}else{let V=F8(Z);_=Array.isArray(V)?[V]:[V]}let L=[];_.forEach((V)=>{if(Array.isArray(V))L.push(...V);else L.push(V)}),L.forEach((V,q)=>{try{let H;if(Q&&!U)H={...b6(V,q),id:`rule-${q}`};else H=b6(V,q,U,Q);let F=CX.validate(H);if(F.valid)Y.push(F.rule);else W.push({index:q,message:`Validation failed for rule at index ${q}`,issues:F.issues.map((z)=>({path:z.path,message:z.message,suggestion:z.suggestion}))})}catch(H){let F=H instanceof Error?H.message:`Unknown error at index ${q}`;W.push({index:q,message:F})}})}catch(_){let L=_ instanceof Error?_.message:"Unknown parsing error";W.push({index:-1,message:`Failed to parse YAML: ${L}`})}let G={rules:Y,errors:W,valid:W.length===0&&Y.length>0};if(J&&!G.valid){let _=G.errors.map((L)=>{let V=`Rule ${L.index}: ${L.message}`;if(L.issues)V+=`
|
|
184
|
+
`,X)+1}return{type:Z,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(Z){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let X=M8(Z),Q=R4(X);return Q.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Q,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let X=M8(Z),Q=R4(X);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Q,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(Z,X){if(this.type!=="comment")return!1;if(this.indent<=X)return!1;return Z.every((Q)=>Q.type==="newline"||Q.type==="space")}*documentEnd(Z){if(this.type!=="doc-mode"){if(Z.end)Z.end.push(this.sourceToken);else Z.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd(Z){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:if(Z.end)Z.end.push(this.sourceToken);else Z.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}function xJ(Z){let X=Z.prettyErrors!==!1;return{lineCounter:Z.lineCounter||X&&new k6||null,prettyErrors:X}}function R8(Z,X={}){let{lineCounter:Q,prettyErrors:U}=xJ(X),J=new O4(Q?.addNewLine),$=new B4(X),W=Array.from($.compose(J.parse(Z)));if(U&&Q)for(let Y of W)Y.errors.forEach(C6(Z,Q)),Y.warnings.forEach(C6(Z,Q));if(W.length>0)return W;return Object.assign([],{empty:!0},$.streamInfo())}function H7(Z,X={}){let{lineCounter:Q,prettyErrors:U}=xJ(X),J=new O4(Q?.addNewLine),$=new B4(X),W=null;for(let Y of $.compose(J.parse(Z),!0,Z.length))if(!W)W=Y;else if(W.options.logLevel!=="silent"){W.errors.push(new Q1(Y.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(U&&Q)W.errors.forEach(C6(Z,Q)),W.warnings.forEach(C6(Z,Q));return W}function O8(Z,X,Q){let U=void 0;if(typeof X==="function")U=X;else if(Q===void 0&&X&&typeof X==="object")Q=X;let J=H7(Z,Q);if(!J)return null;if(J.warnings.forEach(($)=>i9(J.options.logLevel,$)),J.errors.length>0)if(J.options.logLevel!=="silent")throw J.errors[0];else J.errors=[];return J.toJS(Object.assign({reviver:U},Q))}function hJ(Z,X,Q){let U=null;if(typeof X==="function"||Array.isArray(X))U=X;else if(Q===void 0&&X)Q=X;if(typeof Q==="string")Q=Q.length;if(typeof Q==="number"){let J=Math.round(Q);Q=J<1?void 0:J>8?{indent:8}:{indent:J}}if(Z===void 0){let{keepUndefined:J}=Q??X??{};if(!J)return}if(t0(Z)&&!U)return Z.toString(Q);return new S1(Z,U,Q).toString(Q)}var B7=F7;class Fq{static toYaml(Z){let X=Array.isArray(Z)?Z:[Z];return B7.stringify(X)}static toJson(Z,X=!0){let Q=Array.isArray(Z)?Z:[Z];return JSON.stringify(Q,null,X?2:0)}static cleanRule(Z){let X={};if(X.id=Z.id,Z.name)X.name=Z.name;if(Z.description)X.description=Z.description;if(X.on=Z.on,Z.priority!==void 0&&Z.priority!==0)X.priority=Z.priority;if(Z.enabled!==void 0&&Z.enabled!==!0)X.enabled=Z.enabled;if(Z.cooldown!==void 0&&Z.cooldown!==0)X.cooldown=Z.cooldown;if(Z.tags&&Z.tags.length>0)X.tags=Z.tags;if(Z.if)X.if=Z.if;if(X.do=Z.do,Z.else)X.else=Z.else;return X}static toCleanYaml(Z){let Q=(Array.isArray(Z)?Z:[Z]).map((U)=>this.cleanRule(U));return B7.stringify(Q,{indent:2,lineWidth:0})}static toCleanJson(Z,X=!0){let U=(Array.isArray(Z)?Z:[Z]).map((J)=>this.cleanRule(J));return JSON.stringify(U,null,X?2:0)}static async saveToFile(Z,X){let Q=this.toYaml(Z);if(typeof process<"u"&&process.versions&&process.versions.node){let U=await import("fs/promises"),$=(await Promise.resolve().then(() => (Z$(),eJ))).dirname(X);await U.mkdir($,{recursive:!0}),await U.writeFile(X,Q,"utf8")}else throw Error("saveToFile is only supported in Node.js/Bun environments")}}var Bq=["EQ","==","NEQ","!="],Mq=["GT",">","GTE",">=","LT","<","LTE","<="],Rq=["IN","NOT_IN","RANGE"],Oq=["CONTAINS","NOT_CONTAINS","STARTS_WITH","ENDS_WITH"];var X$=[...Bq,...Mq,...Rq,...Oq,"IS_EMPTY","HAS_KEY","MATCHES","SINCE","AFTER","BEFORE","UNTIL","RANGE"],Q$=["AND","OR"],U$=["ALL","EITHER","SEQUENCE"];function b0(Z){return typeof Z==="object"&&Z!==null&&!Array.isArray(Z)}function Tq(Z){return typeof Z==="string"&&Z.length>0}function Kq(Z){return typeof Z==="number"&&!isNaN(Z)}function Dq(Z){return typeof Z==="boolean"}function b1(Z){return"operator"in Z&&"conditions"in Z&&(Z.operator==="AND"||Z.operator==="OR")}function _2(Z){return"field"in Z&&"operator"in Z}function R7(Z){return typeof Z==="object"&&Z!==null&&"mode"in Z&&"actions"in Z&&Array.isArray(Z.actions)}function K8(Z){return typeof Z==="object"&&Z!==null&&"if"in Z}function wq(Z){return typeof Z==="object"&&Z!==null&&"type"in Z}function O7(Z){return typeof Z==="string"&&U$.includes(Z)}function Pq(Z){return typeof Z==="string"&&Q$.includes(Z)}function Aq(Z){return typeof Z==="string"&&Eq(X$,Z)}function g6(Z){return Z.type||"log"}function v6(Z){if(!Z.params)return"{}";return typeof Z.params==="string"?Z.params:JSON.stringify(Z.params)}function N2(Z){if(_2(Z))return Z.field||"data";return"data"}function b2(Z){if(_2(Z))return Z.operator||"EQ";if(b1(Z))return Z.operator==="OR"?"OR":"AND";return"EQ"}function E2(Z){if(_2(Z))return Z.value;return}function T7(Z=0){let X=Z;return()=>`node_${X++}`}function K7(){let Z=0;return()=>`edge_${Date.now()}_${Z++}`}function D7(Z=100,X=100,Q=300,U=150){return(J,$,W)=>({x:Z+J*Q,y:X+$*U-W*U/2})}function T4(Z){if(Z===void 0)return[];if(Array.isArray(Z))return Z;return[Z]}function Sq(Z){if(!Z)return[];if(Array.isArray(Z))return Z;return[Z]}function jq(Z){if(!Z)return[];if(Array.isArray(Z))return Z;return[Z]}function Cq(Z){return Z.replace(/\.(ya?ml)$/i,"")}function Nq(Z){return{"==":"EQ","!=":"NEQ",">":"GT",">=":"GTE","<":"LT","<=":"LTE"}[Z]||Z}function bq(Z,X){if(!(X in Z)||Z[X]===void 0||Z[X]===null)throw Error(`Missing required field: ${X}`)}function Eq(Z,X){return Z.includes(X)}function fq(Z,X,Q){let U=typeof Z;if(U!==X)throw Error(`Field "${Q}" expected type "${X}", got "${U}"`)}function Iq(Z,X,Q){if(typeof Z!=="string"||!X.includes(Z))throw Error(`Field "${Q}" must be one of: ${X.join(", ")}`)}function x6(Z,X,Q,U){if(!b0(Z))throw Error(`Rule at index ${X} is not an object`);let J={...Z};if("actions"in J&&!("do"in J))J.do=J.actions,delete J.actions;if(!("enabled"in J))J.enabled=!0;if(!("priority"in J))J.priority=0;if(!J.id){if(U===!0&&Q){let $=Q.replace(/\.(ya?ml)$/i,"");J.id=$}else if(typeof U==="string")J.id=`${U}-${X}`}if("if"in J&&J.if!==void 0)J.if=D8(J.if);if("do"in J&&J.do!==void 0)J.do=W$(J.do);if("else"in J&&J.else!==void 0)J.else=Y$(J.else);return J}function D8(Z){if(!Z)return[];if(b0(Z))return J$(Z);if(Array.isArray(Z))return Z.map((X,Q)=>{if(b0(X))return J$(X);throw Error(`Invalid condition at index ${Q}: expected object`)});throw Error("Invalid condition format: expected object or array")}function J$(Z){let X="operator"in Z&&(Z.operator==="AND"||Z.operator==="OR"),Q="conditions"in Z&&Array.isArray(Z.conditions);if(X&&Q){let W=Z.operator,Y=D8(Z.conditions);return{operator:W,conditions:Array.isArray(Y)?Y:[Y]}}let{field:U,operator:J,value:$}=Z;return{field:U||"data",operator:J||"EQ",value:$}}function W$(Z){if(!Z)return[];if(b0(Z)&&"mode"in Z&&"actions"in Z)return f2(Z);if(b0(Z))return z2(Z);if(Array.isArray(Z))return Z.map((X,Q)=>{if(b0(X)){if("mode"in X&&"actions"in X)return f2(X);return z2(X)}throw Error(`Invalid action at index ${Q}: expected object`)});throw Error("Invalid do field format: expected object or array")}function Y$(Z){if(!Z)return[];if(b0(Z)&&"mode"in Z&&"actions"in Z)return f2(Z);if(b0(Z))return z2(Z);if(Array.isArray(Z))return Z.map((X,Q)=>{if(b0(X)){if("mode"in X&&"actions"in X)return f2(X);return z2(X)}throw Error(`Invalid action at index ${Q}: expected object`)});throw Error("Invalid else field format: expected object or array")}function z2(Z){let X={...Z};if("do"in X&&!("then"in X))X.then=X.do,delete X.do;if("if"in X&&X.if!==void 0){let U={if:D8(X.if)};if("then"in X&&X.then!==void 0)U.then=$$(X.then);if("else"in X&&X.else!==void 0)U.else=$$(X.else);if("break"in X)U.break=X.break;if("continue"in X)U.continue=X.continue;return U}let Q={};if("type"in X)Q.type=X.type;if("params"in X)Q.params=X.params;if("run"in X)Q.run=X.run;if("delay"in X)Q.delay=X.delay;if("probability"in X)Q.probability=X.probability;if("name"in X)Q.name=X.name;if("break"in X)Q.break=X.break;if("continue"in X)Q.continue=X.continue;return Q}function $$(Z){if(!Z)return[];if(b0(Z)&&"mode"in Z&&"actions"in Z)return f2(Z);if(b0(Z))return z2(Z);if(Array.isArray(Z)){let X=[];for(let Q=0;Q<Z.length;Q++){let U=Z[Q];if(b0(U))if("mode"in U&&"actions"in U){let J=f2(U);for(let $ of J.actions)X.push($)}else X.push(z2(U));else throw Error(`Invalid action in branch at index ${Q}: expected object`)}return X}throw Error("Invalid action branch format: expected object or array")}function f2(Z){let X=Z.mode||"ALL";if(!O7(X))throw Error(`Invalid execution mode: ${X}`);let Q=Z.actions;if(!Q||!Array.isArray(Q))throw Error("Action group must have an actions array");let U=Q.map((J,$)=>{if(b0(J)){if("mode"in J&&"actions"in J)return f2(J);return z2(J)}throw Error(`Invalid action in group at index ${$}: expected object`)});return{mode:X,actions:U}}function yq(Z,X,Q,U){let J=x6(Z,X,Q,U);if(!J.on)throw Error(`Rule at index ${X} missing required field: on`);return J}function kq(Z){let X=[];if(!Z.on)X.push("Missing required field: on");if(!Z.do&&Z.do!=="")X.push("Missing required field: do");if(Z.else&&!Z.if)X.push('Field "else" requires "if" to be present');return{valid:X.length===0,errors:X}}function G$(Z,X,Q){return{id:X,type:N.EVENT,position:Q,data:{id:Z.id||"rule-1",name:Z.name||"Imported Rule",description:Z.description||"",event:Z.on||"",priority:Z.priority||0,enabled:Z.enabled!==!1,cooldown:Z.cooldown,tags:Z.tags}}}function w7(Z,X,Q){return{id:X,type:N.CONDITION_GROUP,position:Q,data:{operator:Z}}}function K4(Z,X,Q,U,J){return{id:U,type:N.CONDITION,position:J,data:{field:Z||"data",operator:X||"EQ",value:Q??""}}}function D4(Z,X,Q){return{id:X,type:N.DO,position:Q,data:{branchType:Z}}}function L$(Z,X,Q){let U,J,$,W,Y,G,L;if(K8(Z)){let V=Z.if;if(V){let z=(Array.isArray(V)?V:[V])[0];if(z&&_2(z))U=z.field,J=z.operator,$=z.value!==void 0?typeof z.value==="string"?z.value:JSON.stringify(z.value):void 0}let _=Z.then;if(_){let F=Array.isArray(_)?_:[_];if(F[0])W=g6(F[0]),Y=v6(F[0])}let H=Z.else;if(H){let F=Array.isArray(H)?H:[H];if(F[0])G=g6(F[0]),L=v6(F[0])}}let q={type:g6(Z),params:v6(Z)};if(U)q.conditionField=U;if(J)q.conditionOperator=J;if($!==void 0)q.conditionValue=$;if(W)q.thenType=W;if(Y)q.thenParams=Y;if(G)q.elseType=G;if(L)q.elseParams=L;return{id:X,type:N.ACTION,position:Q,data:q}}function q$(Z,X,Q){return{id:X,type:N.ACTION_GROUP,position:Q,data:{mode:Z||"SEQUENCE"}}}function O0(Z,X,Q,U,J){return{id:J?J():`edge_${Z}_${X}_${Date.now()}`,source:Z,target:X,sourceHandle:Q??null,targetHandle:U??null}}function gq(Z,X={}){let Q=[],U=[],J=[];if(!Z.id)J.push("Missing required field: id");if(!Z.on)J.push("Missing required field: on (event trigger)");if(!Z.do&&Z.do!=="")J.push("Missing required field: do (actions)");if(J.length>0)return{nodes:[],edges:[],valid:!1,errors:J};let $=X.startNodeId||"event-node",W=T7(0),Y=K7(),G=D7();try{let L=G$(Z,$,X.startPosition||{x:100,y:300});Q.push(L);let q=T4(Z.if);if(q.length>0){let{conditionNodes:V,groupNodeId:_}=vq(q,Q,U,L.id,W,G),H=T4(Z.do);if(H.length>0){let z=V.length>0?V[V.length-1].id:_||L.id,K=Q.find((S)=>S.id===z)?.position||{x:300,y:300},w=W(),P=D4("do",w,{x:K.x+300,y:K.y-100});Q.push(P);let O=null;if(z===L.id)O=D.EVENT_OUTPUT;else if(z===_)O=D.CONDITION_GROUP_OUTPUT;else O=D.CONDITION_OUTPUT;U.push(O0(z,w,O,D.DO_INPUT,Y)),w4(H,Q,U,w,W,Y,(S,C,y)=>({x:P.position.x+300,y:P.position.y+C*150}),"do")}let F=T4(Z.else);if(F.length>0){let z=V.length>0?V[V.length-1].id:_||L.id,K=Q.find((S)=>S.id===z)?.position||{x:300,y:300},w=W(),P=D4("else",w,{x:K.x+300,y:K.y+100});Q.push(P);let O=null;if(z===L.id)O=D.EVENT_OUTPUT;else if(z===_)O=D.CONDITION_GROUP_OUTPUT;else O=D.CONDITION_OUTPUT;U.push(O0(z,w,O,D.DO_INPUT,Y)),w4(F,Q,U,w,W,Y,(S,C,y)=>({x:P.position.x+300,y:P.position.y+C*150}),"else")}}else{let V=T4(Z.do);if(V.length>0){let _=W(),H=L.position,F=D4("do",_,{x:H.x+300,y:H.y});Q.push(F),U.push(O0(L.id,_,D.EVENT_OUTPUT,D.DO_INPUT,Y)),w4(V,Q,U,_,W,Y,(z,B,K)=>({x:F.position.x+300,y:F.position.y+B*150}),"do")}}return{nodes:Q,edges:U,valid:!0,errors:[]}}catch(L){let q=L instanceof Error?L.message:"Unknown error during conversion";return J.push(q),{nodes:Q,edges:U,valid:!1,errors:J}}}function vq(Z,X,Q,U,J,$){let W=[],Y,G=Z.length>1,L=Z.some(b1);if(G||L){Y=J();let q="AND",V=Z.find(b1);if(V&&b1(V))q=V.operator;let _=w7(q,Y,$(1,0,1));X.push(_),Q.push(O0(U,Y,null,D.CONDITION_GROUP_INPUT,void 0));let H=null;Z.forEach((F,z)=>{let B,K;if(b1(F)){if(F.conditions)F.conditions.forEach((w,P)=>{if(b1(w))return;if(B=J(),K=K4(N2(w),b2(w),E2(w),B,$(2,z*2+P,Z.length*2)),X.push(K),W.push(K),H)Q.push(O0(H,B,D.CONDITION_OUTPUT,D.CONDITION_INPUT,void 0));else Q.push(O0(Y,B,D.CONDITION_GROUP_OUTPUT,D.CONDITION_INPUT,void 0));H=B})}else{if(B=J(),K=K4(N2(F),b2(F),E2(F),B,$(2,z,Z.length)),X.push(K),W.push(K),H)Q.push(O0(H,B,D.CONDITION_OUTPUT,D.CONDITION_INPUT,void 0));else Q.push(O0(Y,B,D.CONDITION_GROUP_OUTPUT,D.CONDITION_INPUT,void 0));H=B}})}else{let q=J(),V=K4(N2(Z[0]),b2(Z[0]),E2(Z[0]),q,$(1,0,1));X.push(V),W.push(V),Q.push(O0(U,q,null,D.CONDITION_INPUT,void 0))}return{conditionNodes:W,groupNodeId:Y}}function w4(Z,X,Q,U,J,$,W,Y){Z.forEach((G,L)=>{if(R7(G)){let z=J(),B=X.find((O)=>O.id===U)?.position||{x:100,y:100},K=q$(G.mode,z,{x:B.x+300,y:B.y+L*75});X.push(K);let w=X.find((O)=>O.id===U),P;if(w?.type===N.EVENT)P=D.EVENT_OUTPUT;else if(w?.type===N.CONDITION)P=D.CONDITION_OUTPUT;else if(w?.type===N.CONDITION_GROUP)P=D.CONDITION_GROUP_OUTPUT;else if(w?.type===N.ACTION_GROUP)P=D.ACTION_GROUP_OUTPUT;else if(w?.type===N.DO)P=D.DO_OUTPUT;else P=Y===x0.ELSE?D.ELSE_OUTPUT:D.THEN_OUTPUT;Q.push(O0(U,z,P,D.ACTION_GROUP_INPUT,$)),w4(G.actions,X,Q,z,J,$,W,Y);return}if(K8(G)){let B=G.if,K=Array.isArray(B)?B[0]:B;if(K){let w=X.find((A)=>A.id===U),P;if(w?.type===N.EVENT)P=D.EVENT_OUTPUT;else if(w?.type===N.ACTION_GROUP)P=D.ACTION_GROUP_CONDITION_OUTPUT;else if(w?.type===N.CONDITION)P=D.CONDITION_OUTPUT;else if(w?.type===N.DO)P=D.DO_CONDITION_OUTPUT;else P=D.CONDITION_OUTPUT;let O,S=W(2,L,Z.length);if(b1(K)){let A=J(),d=K.operator||"AND",e=w7(d,A,{x:S.x+300,y:S.y-75});X.push(e),Q.push(O0(U,A,P,D.CONDITION_GROUP_INPUT,$));let X0=null;if(K.conditions)K.conditions.forEach((h,t)=>{if(b1(h))return;let c=J(),r=K4(N2(h),b2(h),E2(h),c,{x:S.x+600,y:S.y+t*100});if(X.push(r),X0)Q.push(O0(X0,c,D.CONDITION_OUTPUT,D.CONDITION_INPUT,$));else Q.push(O0(A,c,D.CONDITION_GROUP_OUTPUT,D.CONDITION_INPUT,$));X0=c});O=X0||A}else if(_2(K)){let A=J(),d=K4(N2(K),b2(K),E2(K),A,{x:S.x+300,y:S.y});X.push(d),Q.push(O0(U,A,P,D.CONDITION_INPUT,$)),O=A}else return;let C=G.then;if(C){let A=J(),d=X.find((c)=>c.id===O),e=D4("do",A,{x:(d?.position.x||0)+300,y:(d?.position.y||0)-100});X.push(e);let X0=d?.type===N.CONDITION_GROUP?D.CONDITION_GROUP_OUTPUT:D.CONDITION_OUTPUT;Q.push(O0(O,A,X0,D.DO_INPUT,$));let h=Array.isArray(C)?C:[C];w4(h,X,Q,A,J,$,(c,r,T0)=>{return{x:e.position.x+300,y:e.position.y-r*150}},"do")}let y=G.else;if(y){let A=J(),d=X.find((c)=>c.id===O),e=D4("else",A,{x:(d?.position.x||0)+300,y:(d?.position.y||0)+100});X.push(e);let X0=d?.type===N.CONDITION_GROUP?D.CONDITION_GROUP_OUTPUT:D.CONDITION_OUTPUT;Q.push(O0(O,A,X0,D.DO_INPUT,$));let h=Array.isArray(y)?y:[y];w4(h,X,Q,A,J,$,(c,r,T0)=>{return{x:e.position.x+300,y:e.position.y+r*150}},"else")}}return}let q=J(),V=X.find((z)=>z.id===U)?.position||{x:700,y:100},_=L$(G,q,{x:V.x+300,y:V.y+L*150});X.push(_);let H=X.find((z)=>z.id===U),F;if(H?.type===N.EVENT)F=D.EVENT_OUTPUT;else if(H?.type===N.CONDITION)F=D.CONDITION_OUTPUT;else if(H?.type===N.CONDITION_GROUP)F=D.CONDITION_GROUP_OUTPUT;else if(H?.type===N.ACTION_GROUP)F=D.ACTION_GROUP_OUTPUT;else if(H?.type===N.DO)F=D.DO_OUTPUT;else F=D.CONDITION_OUTPUT;Q.push(O0(U,q,F,D.ACTION_INPUT,$))})}function V$(Z,X={}){let{autoId:Q=!1,filename:U,throwOnError:J=!1,multiDocument:$=!0}=X,W=[],Y=[];try{let L;if($){let V=R8(Z);for(let _ of V)if(_.errors&&_.errors.length>0){let H=_.errors.map((F)=>F.message).join(", ");throw Error(`YAML syntax error: ${H}`)}L=V.map((_)=>_.toJS())}else{let V=O8(Z);L=Array.isArray(V)?[V]:[V]}let q=[];L.forEach((V)=>{if(Array.isArray(V))q.push(...V);else q.push(V)}),q.forEach((V,_)=>{try{let H;if(Q&&!U)H={...x6(V,_),id:`rule-${_}`};else H=x6(V,_,U,Q);let F=EX.validate(H);if(F.valid)Y.push(F.rule);else W.push({index:_,message:`Validation failed for rule at index ${_}`,issues:F.issues.map((z)=>({path:z.path,message:z.message,suggestion:z.suggestion}))})}catch(H){let F=H instanceof Error?H.message:`Unknown error at index ${_}`;W.push({index:_,message:F})}})}catch(L){let q=L instanceof Error?L.message:"Unknown parsing error";W.push({index:-1,message:`Failed to parse YAML: ${q}`})}let G={rules:Y,errors:W,valid:W.length===0&&Y.length>0};if(J&&!G.valid){let L=G.errors.map((q)=>{let V=`Rule ${q.index}: ${q.message}`;if(q.issues)V+=`
|
|
185
185
|
Issues:
|
|
186
|
-
`+
|
|
186
|
+
`+q.issues.map((_)=>` - [${_.path}] ${_.message}`).join(`
|
|
187
187
|
`);return V}).join(`
|
|
188
188
|
`);throw Error(`YAML parsing failed:
|
|
189
|
-
${
|
|
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,l5 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,b5 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,p5 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,N5 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=E149063E7DAD035B64756E2164756E21
|