trigger_system 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.browser.js +26 -26
- package/dist/browser/index.browser.js.map +11 -9
- package/dist/core/base-engine.d.ts +19 -0
- package/dist/core/base-engine.d.ts.map +1 -0
- package/dist/core/expression-engine.d.ts +1 -1
- package/dist/core/expression-engine.d.ts.map +1 -1
- package/dist/core/index.d.ts +6 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/rule-engine-new.d.ts +51 -0
- package/dist/core/rule-engine-new.d.ts.map +1 -0
- package/dist/core/trigger-engine.d.ts +83 -0
- package/dist/core/trigger-engine.d.ts.map +1 -0
- package/dist/node/index.js +110 -110
- package/dist/node/index.js.map +12 -10
- package/dist/node/node.d.ts +1 -0
- package/dist/node/node.js +139 -139
- package/dist/node/node.js.map +12 -10
- package/package.json +7 -7
package/dist/node/index.js
CHANGED
|
@@ -1,186 +1,186 @@
|
|
|
1
|
-
import{createRequire as jQ}from"node:module";var CQ=Object.create;var{getPrototypeOf:SQ,defineProperty:UX,getOwnPropertyNames:EQ}=Object;var bQ=Object.prototype.hasOwnProperty;var MU=(U,X,q)=>{q=U!=null?CQ(SQ(U)):{};let Z=X||!U||!U.__esModule?UX(q,"default",{value:U,enumerable:!0}):q;for(let Q of EQ(U))if(!bQ.call(Z,Q))UX(Z,Q,{get:()=>U[Q],enumerable:!0});return Z};var R=(U,X)=>()=>(X||U((X={exports:{}}).exports,X),X.exports);var D1=jQ(import.meta.url);var k=R((o7)=>{var p4=Symbol.for("yaml.alias"),V8=Symbol.for("yaml.document"),y6=Symbol.for("yaml.map"),B8=Symbol.for("yaml.pair"),l4=Symbol.for("yaml.scalar"),k6=Symbol.for("yaml.seq"),h0=Symbol.for("yaml.node.type"),u7=(U)=>!!U&&typeof U==="object"&&U[h0]===p4,m7=(U)=>!!U&&typeof U==="object"&&U[h0]===V8,p7=(U)=>!!U&&typeof U==="object"&&U[h0]===y6,l7=(U)=>!!U&&typeof U==="object"&&U[h0]===B8,R8=(U)=>!!U&&typeof U==="object"&&U[h0]===l4,d7=(U)=>!!U&&typeof U==="object"&&U[h0]===k6;function D8(U){if(U&&typeof U==="object")switch(U[h0]){case y6:case k6:return!0}return!1}function c7(U){if(U&&typeof U==="object")switch(U[h0]){case p4:case y6:case l4:case k6:return!0}return!1}var i7=(U)=>(R8(U)||D8(U))&&!!U.anchor;o7.ALIAS=p4;o7.DOC=V8;o7.MAP=y6;o7.NODE_TYPE=h0;o7.PAIR=B8;o7.SCALAR=l4;o7.SEQ=k6;o7.hasAnchor=i7;o7.isAlias=u7;o7.isCollection=D8;o7.isDocument=m7;o7.isMap=p7;o7.isNode=c7;o7.isPair=l7;o7.isScalar=R8;o7.isSeq=d7});var S2=R((LH)=>{var t=k(),_0=Symbol("break visit"),M8=Symbol("skip children"),b0=Symbol("remove node");function v6(U,X){let q=w8(X);if(t.isDocument(U)){if(p1(null,U.contents,q,Object.freeze([U]))===b0)U.contents=null}else p1(null,U,q,Object.freeze([]))}v6.BREAK=_0;v6.SKIP=M8;v6.REMOVE=b0;function p1(U,X,q,Z){let Q=P8(U,X,q,Z);if(t.isNode(Q)||t.isPair(Q))return I8(U,Z,Q),p1(U,Q,q,Z);if(typeof Q!=="symbol"){if(t.isCollection(X)){Z=Object.freeze(Z.concat(X));for(let G=0;G<X.items.length;++G){let Y=p1(G,X.items[G],q,Z);if(typeof Y==="number")G=Y-1;else if(Y===_0)return _0;else if(Y===b0)X.items.splice(G,1),G-=1}}else if(t.isPair(X)){Z=Object.freeze(Z.concat(X));let G=p1("key",X.key,q,Z);if(G===_0)return _0;else if(G===b0)X.key=null;let Y=p1("value",X.value,q,Z);if(Y===_0)return _0;else if(Y===b0)X.value=null}}return Q}async function x6(U,X){let q=w8(X);if(t.isDocument(U)){if(await l1(null,U.contents,q,Object.freeze([U]))===b0)U.contents=null}else await l1(null,U,q,Object.freeze([]))}x6.BREAK=_0;x6.SKIP=M8;x6.REMOVE=b0;async function l1(U,X,q,Z){let Q=await P8(U,X,q,Z);if(t.isNode(Q)||t.isPair(Q))return I8(U,Z,Q),l1(U,Q,q,Z);if(typeof Q!=="symbol"){if(t.isCollection(X)){Z=Object.freeze(Z.concat(X));for(let G=0;G<X.items.length;++G){let Y=await l1(G,X.items[G],q,Z);if(typeof Y==="number")G=Y-1;else if(Y===_0)return _0;else if(Y===b0)X.items.splice(G,1),G-=1}}else if(t.isPair(X)){Z=Object.freeze(Z.concat(X));let G=await l1("key",X.key,q,Z);if(G===_0)return _0;else if(G===b0)X.key=null;let Y=await l1("value",X.value,q,Z);if(Y===_0)return _0;else if(Y===b0)X.value=null}}return Q}function w8(U){if(typeof U==="object"&&(U.Collection||U.Node||U.Value))return Object.assign({Alias:U.Node,Map:U.Node,Scalar:U.Node,Seq:U.Node},U.Value&&{Map:U.Value,Scalar:U.Value,Seq:U.Value},U.Collection&&{Map:U.Collection,Seq:U.Collection},U);return U}function P8(U,X,q,Z){if(typeof q==="function")return q(U,X,Z);if(t.isMap(X))return q.Map?.(U,X,Z);if(t.isSeq(X))return q.Seq?.(U,X,Z);if(t.isPair(X))return q.Pair?.(U,X,Z);if(t.isScalar(X))return q.Scalar?.(U,X,Z);if(t.isAlias(X))return q.Alias?.(U,X,Z);return}function I8(U,X,q){let Z=X[X.length-1];if(t.isCollection(Z))Z.items[U]=q;else if(t.isPair(Z))if(U==="key")Z.key=q;else Z.value=q;else if(t.isDocument(Z))Z.contents=q;else{let Q=t.isAlias(Z)?"alias":"scalar";throw Error(`Cannot replace node with ${Q} parent`)}}LH.visit=v6;LH.visitAsync=x6});var d4=R((TH)=>{var K8=k(),zH=S2(),FH={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},AH=(U)=>U.replace(/[!,[\]{}]/g,(X)=>FH[X]);class V0{constructor(U,X){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},V0.defaultYaml,U),this.tags=Object.assign({},V0.defaultTags,X)}clone(){let U=new V0(this.yaml,this.tags);return U.docStart=this.docStart,U}atDocument(){let U=new V0(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:V0.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},V0.defaultTags);break}return U}add(U,X){if(this.atNextDocument)this.yaml={explicit:V0.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},V0.defaultTags),this.atNextDocument=!1;let q=U.trim().split(/[ \t]+/),Z=q.shift();switch(Z){case"%TAG":{if(q.length!==2){if(X(0,"%TAG directive should contain exactly two parts"),q.length<2)return!1}let[Q,G]=q;return this.tags[Q]=G,!0}case"%YAML":{if(this.yaml.explicit=!0,q.length!==1)return X(0,"%YAML directive should contain exactly one part"),!1;let[Q]=q;if(Q==="1.1"||Q==="1.2")return this.yaml.version=Q,!0;else{let G=/^\d+\.\d+$/.test(Q);return X(6,`Unsupported YAML version ${Q}`,G),!1}}default:return X(0,`Unknown directive ${Z}`,!0),!1}}tagName(U,X){if(U==="!")return"!";if(U[0]!=="!")return X(`Not a valid tag: ${U}`),null;if(U[1]==="<"){let G=U.slice(2,-1);if(G==="!"||G==="!!")return X(`Verbatim tags aren't resolved, so ${U} is invalid.`),null;if(U[U.length-1]!==">")X("Verbatim tags must end with a >");return G}let[,q,Z]=U.match(/^(.*!)([^!]*)$/s);if(!Z)X(`The ${U} tag has no suffix`);let Q=this.tags[q];if(Q)try{return Q+decodeURIComponent(Z)}catch(G){return X(String(G)),null}if(q==="!")return U;return X(`Could not resolve tag: ${U}`),null}tagString(U){for(let[X,q]of Object.entries(this.tags))if(U.startsWith(q))return X+AH(U.substring(q.length));return U[0]==="!"?U:`!<${U}>`}toString(U){let X=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],q=Object.entries(this.tags),Z;if(U&&q.length>0&&K8.isNode(U.contents)){let Q={};zH.visit(U.contents,(G,Y)=>{if(K8.isNode(Y)&&Y.tag)Q[Y.tag]=!0}),Z=Object.keys(Q)}else Z=[];for(let[Q,G]of q){if(Q==="!!"&&G==="tag:yaml.org,2002:")continue;if(!U||Z.some((Y)=>Y.startsWith(G)))X.push(`%TAG ${Q} ${G}`)}return X.join(`
|
|
2
|
-
`)}}
|
|
3
|
-
`)?
|
|
1
|
+
import{createRequire as uQ}from"node:module";var gQ=Object.create;var{getPrototypeOf:kQ,defineProperty:K4,getOwnPropertyNames:vQ}=Object;var xQ=Object.prototype.hasOwnProperty;var N4=(U,X,q)=>{q=U!=null?gQ(kQ(U)):{};let Z=X||!U||!U.__esModule?K4(q,"default",{value:U,enumerable:!0}):q;for(let Q of vQ(U))if(!xQ.call(Z,Q))K4(Z,Q,{get:()=>U[Q],enumerable:!0});return Z};var R=(U,X)=>()=>(X||U((X={exports:{}}).exports,X),X.exports);var hQ=(U,X)=>{for(var q in X)K4(U,q,{get:X[q],enumerable:!0,configurable:!0,set:(Z)=>X[q]=()=>Z})};var YX=(U,X)=>()=>(U&&(X=U(U=0)),X);var M1=uQ(import.meta.url);class $0{static evaluate(U,X){try{if(U.includes("${")){let q=this.interpolate(U,X);if(!isNaN(Number(q))&&q.trim()!=="")return Number(q);return q}return this.evaluateExpression(U,X)}catch(q){return console.error(`Error evaluating expression: ${U}`,q),null}}static interpolate(U,X){return U.replace(/\$\{([^}]+)\}/g,(q,Z)=>{try{let Q=this.evaluateExpression(Z,X);if(Q===void 0||Q===null)return"undefined";return String(Q)}catch(Q){return console.error(`Error en interpolación: ${q}`,Q),q}})}static evaluateMathExpression(U){try{return Function("Math",`return ${U}`)(Math)}catch(X){throw Error(`Error evaluando expresión matemática: ${U}`)}}static evaluateExpression(U,X){if(/^(data|globals|request|computed)(\.[a-zA-Z0-9_]+)+$/.test(U))return this.getNestedValue(U,X);try{return Function("context","with(context) { return "+U+" }")(X)}catch(q){return console.error(`ERROR evaluating expression '${U}':`,q),U}}static getNestedValue(U,X){let q=U.split("."),Z=X;for(let Q of q){if(Z===null||Z===void 0||!(Q in Z))return;Z=Z[Q]}return Z}static evaluateMath(U,X){let q=U;q=q.replace(/\b[a-zA-Z_][a-zA-Z0-9_]*\b/g,(Z)=>{if(["Math","random","floor","ceil","round","sqrt","abs","pow","min","max","sin","cos","tan"].includes(Z))return Z;let Q=this.getNestedValue(Z,X);if(Q!==void 0)return typeof Q==="string"?`"${Q}"`:String(Q);return Z});try{return this.evaluateMathExpression(q)}catch(Z){return console.error(`Error en evaluación matemática: ${U}`,Z),NaN}}}class S4{store=new Map;async loadState(){return new Map(this.store)}async saveState(U,X){this.store.set(U,X)}async deleteState(U){this.store.delete(U)}async clearState(){this.store.clear()}}class R0{static instance;state;persistence;constructor(){this.state=new Map,this.persistence=new S4}static getInstance(){if(!R0.instance)R0.instance=new R0;return R0.instance}setPersistence(U){this.persistence=U}async initialize(){let U=await this.persistence.loadState();this.state=U,console.log(`[StateManager] Initialized with ${this.state.size} keys.`)}get(U){return this.state.get(U)}async set(U,X){this.state.set(U,X),await this.persistence.saveState(U,X)}async increment(U,X=1){let q=this.get(U)||0,Z=Number(q)+X;return await this.set(U,Z),Z}async decrement(U,X=1){return this.increment(U,-X)}async delete(U){let X=this.state.delete(U);if(X)await this.persistence.deleteState(U);return X}async clear(){this.state.clear(),await this.persistence.clearState()}getAll(){return Object.fromEntries(this.state)}}var X2=()=>{};var HX={};hQ(HX,{ActionRegistry:()=>w1});class w1{static instance;handlers=new Map;constructor(){this.registerDefaults()}static getInstance(){if(!this.instance)this.instance=new w1;return this.instance}register(U,X){this.handlers.set(U.toUpperCase(),X)}get(U){return this.handlers.get(U.toUpperCase())}registerDefaults(){this.register("log",(U,X)=>{let q=U.params?.message||U.params?.content||"Log Trigger",Z=$0.interpolate(q,X);return console.log(`[TriggerLog] ${Z}`),{message:Z}}),this.register("response",(U,X)=>{let q=U.params?.content||U.params?.body||"",Z=$0.interpolate(q,X);return{statusCode:U.params?.statusCode||200,headers:U.params?.headers||{"Content-Type":"application/json"},body:Z}}),this.register("execute",async(U,X)=>{let q=U.params?.command||U.params?.content||"",Z=$0.interpolate(q,X);if(!U.params?.safe)console.warn(`[Trigger] Ejecutando comando no seguro: ${Z}`);try{let Q=Bun.spawn(Z.split(" "),{stdout:"pipe",stderr:"pipe"}),[G,Y]=await Promise.all([new Response(Q.stdout).text(),new Response(Q.stderr).text()]);return{command:Z,stdout:G,stderr:Y,exitCode:await Q.exited}}catch(Q){return{command:Z,error:String(Q)}}}),this.register("forward",async(U,X)=>{let q=U.params?.url||"",Z=$0.interpolate(q,X),Q=U.params?.method||"POST";try{let G=await fetch(Z,{method:Q,headers:{"Content-Type":"application/json",...U.params?.headers},body:JSON.stringify(X.data)});return{url:Z,method:Q,status:G.status,headers:(()=>{let Y={};return G.headers.forEach((H,J)=>Y[J]=H),Y})(),body:await G.text()}}catch(G){return{url:Z,method:Q,error:String(G)}}}),this.register("STATE_SET",async(U,X)=>{let q=U.params?.key,Z=U.params?.value;if(!q)return{error:"Missing key for STATE_SET"};let Q=Z;if(typeof Z==="string"&&Z.includes("${"))Q=$0.interpolate(Z,X);return await R0.getInstance().set(q,Q),{key:q,value:Q}}),this.register("STATE_INCREMENT",async(U,X)=>{let q=U.params?.key,Z=Number(U.params?.amount)||1;if(!q)return{error:"Missing key for STATE_INCREMENT"};let Q=await R0.getInstance().increment(q,Z);return{key:q,newValue:Q}}),this.register("EMIT_EVENT",(U,X)=>{return{event:U.params?.event,payload:U.params?.data||{}}})}}var q2=YX(()=>{X2()});var k=R((e7)=>{var oU=Symbol.for("yaml.alias"),I8=Symbol.for("yaml.document"),h6=Symbol.for("yaml.map"),K8=Symbol.for("yaml.pair"),rU=Symbol.for("yaml.scalar"),u6=Symbol.for("yaml.seq"),h0=Symbol.for("yaml.node.type"),i7=(U)=>!!U&&typeof U==="object"&&U[h0]===oU,s7=(U)=>!!U&&typeof U==="object"&&U[h0]===I8,o7=(U)=>!!U&&typeof U==="object"&&U[h0]===h6,r7=(U)=>!!U&&typeof U==="object"&&U[h0]===K8,N8=(U)=>!!U&&typeof U==="object"&&U[h0]===rU,a7=(U)=>!!U&&typeof U==="object"&&U[h0]===u6;function C8(U){if(U&&typeof U==="object")switch(U[h0]){case h6:case u6:return!0}return!1}function n7(U){if(U&&typeof U==="object")switch(U[h0]){case oU:case h6:case rU:case u6:return!0}return!1}var t7=(U)=>(N8(U)||C8(U))&&!!U.anchor;e7.ALIAS=oU;e7.DOC=I8;e7.MAP=h6;e7.NODE_TYPE=h0;e7.PAIR=K8;e7.SCALAR=rU;e7.SEQ=u6;e7.hasAnchor=t7;e7.isAlias=i7;e7.isCollection=C8;e7.isDocument=s7;e7.isMap=o7;e7.isNode=n7;e7.isPair=r7;e7.isScalar=N8;e7.isSeq=a7});var y2=R((OH)=>{var t=k(),_0=Symbol("break visit"),S8=Symbol("skip children"),b0=Symbol("remove node");function m6(U,X){let q=E8(X);if(t.isDocument(U)){if(l1(null,U.contents,q,Object.freeze([U]))===b0)U.contents=null}else l1(null,U,q,Object.freeze([]))}m6.BREAK=_0;m6.SKIP=S8;m6.REMOVE=b0;function l1(U,X,q,Z){let Q=b8(U,X,q,Z);if(t.isNode(Q)||t.isPair(Q))return j8(U,Z,Q),l1(U,Q,q,Z);if(typeof Q!=="symbol"){if(t.isCollection(X)){Z=Object.freeze(Z.concat(X));for(let G=0;G<X.items.length;++G){let Y=l1(G,X.items[G],q,Z);if(typeof Y==="number")G=Y-1;else if(Y===_0)return _0;else if(Y===b0)X.items.splice(G,1),G-=1}}else if(t.isPair(X)){Z=Object.freeze(Z.concat(X));let G=l1("key",X.key,q,Z);if(G===_0)return _0;else if(G===b0)X.key=null;let Y=l1("value",X.value,q,Z);if(Y===_0)return _0;else if(Y===b0)X.value=null}}return Q}async function p6(U,X){let q=E8(X);if(t.isDocument(U)){if(await d1(null,U.contents,q,Object.freeze([U]))===b0)U.contents=null}else await d1(null,U,q,Object.freeze([]))}p6.BREAK=_0;p6.SKIP=S8;p6.REMOVE=b0;async function d1(U,X,q,Z){let Q=await b8(U,X,q,Z);if(t.isNode(Q)||t.isPair(Q))return j8(U,Z,Q),d1(U,Q,q,Z);if(typeof Q!=="symbol"){if(t.isCollection(X)){Z=Object.freeze(Z.concat(X));for(let G=0;G<X.items.length;++G){let Y=await d1(G,X.items[G],q,Z);if(typeof Y==="number")G=Y-1;else if(Y===_0)return _0;else if(Y===b0)X.items.splice(G,1),G-=1}}else if(t.isPair(X)){Z=Object.freeze(Z.concat(X));let G=await d1("key",X.key,q,Z);if(G===_0)return _0;else if(G===b0)X.key=null;let Y=await d1("value",X.value,q,Z);if(Y===_0)return _0;else if(Y===b0)X.value=null}}return Q}function E8(U){if(typeof U==="object"&&(U.Collection||U.Node||U.Value))return Object.assign({Alias:U.Node,Map:U.Node,Scalar:U.Node,Seq:U.Node},U.Value&&{Map:U.Value,Scalar:U.Value,Seq:U.Value},U.Collection&&{Map:U.Collection,Seq:U.Collection},U);return U}function b8(U,X,q,Z){if(typeof q==="function")return q(U,X,Z);if(t.isMap(X))return q.Map?.(U,X,Z);if(t.isSeq(X))return q.Seq?.(U,X,Z);if(t.isPair(X))return q.Pair?.(U,X,Z);if(t.isScalar(X))return q.Scalar?.(U,X,Z);if(t.isAlias(X))return q.Alias?.(U,X,Z);return}function j8(U,X,q){let Z=X[X.length-1];if(t.isCollection(Z))Z.items[U]=q;else if(t.isPair(Z))if(U==="key")Z.key=q;else Z.value=q;else if(t.isDocument(Z))Z.contents=q;else{let Q=t.isAlias(Z)?"alias":"scalar";throw Error(`Cannot replace node with ${Q} parent`)}}OH.visit=m6;OH.visitAsync=p6});var aU=R((MH)=>{var f8=k(),BH=y2(),RH={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},DH=(U)=>U.replace(/[!,[\]{}]/g,(X)=>RH[X]);class T0{constructor(U,X){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},T0.defaultYaml,U),this.tags=Object.assign({},T0.defaultTags,X)}clone(){let U=new T0(this.yaml,this.tags);return U.docStart=this.docStart,U}atDocument(){let U=new T0(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:T0.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},T0.defaultTags);break}return U}add(U,X){if(this.atNextDocument)this.yaml={explicit:T0.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},T0.defaultTags),this.atNextDocument=!1;let q=U.trim().split(/[ \t]+/),Z=q.shift();switch(Z){case"%TAG":{if(q.length!==2){if(X(0,"%TAG directive should contain exactly two parts"),q.length<2)return!1}let[Q,G]=q;return this.tags[Q]=G,!0}case"%YAML":{if(this.yaml.explicit=!0,q.length!==1)return X(0,"%YAML directive should contain exactly one part"),!1;let[Q]=q;if(Q==="1.1"||Q==="1.2")return this.yaml.version=Q,!0;else{let G=/^\d+\.\d+$/.test(Q);return X(6,`Unsupported YAML version ${Q}`,G),!1}}default:return X(0,`Unknown directive ${Z}`,!0),!1}}tagName(U,X){if(U==="!")return"!";if(U[0]!=="!")return X(`Not a valid tag: ${U}`),null;if(U[1]==="<"){let G=U.slice(2,-1);if(G==="!"||G==="!!")return X(`Verbatim tags aren't resolved, so ${U} is invalid.`),null;if(U[U.length-1]!==">")X("Verbatim tags must end with a >");return G}let[,q,Z]=U.match(/^(.*!)([^!]*)$/s);if(!Z)X(`The ${U} tag has no suffix`);let Q=this.tags[q];if(Q)try{return Q+decodeURIComponent(Z)}catch(G){return X(String(G)),null}if(q==="!")return U;return X(`Could not resolve tag: ${U}`),null}tagString(U){for(let[X,q]of Object.entries(this.tags))if(U.startsWith(q))return X+DH(U.substring(q.length));return U[0]==="!"?U:`!<${U}>`}toString(U){let X=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],q=Object.entries(this.tags),Z;if(U&&q.length>0&&f8.isNode(U.contents)){let Q={};BH.visit(U.contents,(G,Y)=>{if(f8.isNode(Y)&&Y.tag)Q[Y.tag]=!0}),Z=Object.keys(Q)}else Z=[];for(let[Q,G]of q){if(Q==="!!"&&G==="tag:yaml.org,2002:")continue;if(!U||Z.some((Y)=>Y.startsWith(G)))X.push(`%TAG ${Q} ${G}`)}return X.join(`
|
|
2
|
+
`)}}T0.defaultYaml={explicit:!1,version:"1.2"};T0.defaultTags={"!!":"tag:yaml.org,2002:"};MH.Directives=T0});var l6=R((NH)=>{var y8=k(),PH=y2();function IH(U){if(/[\x00-\x19\s,[\]{}]/.test(U)){let q=`Anchor must not contain whitespace or control characters: ${JSON.stringify(U)}`;throw Error(q)}return!0}function g8(U){let X=new Set;return PH.visit(U,{Value(q,Z){if(Z.anchor)X.add(Z.anchor)}}),X}function k8(U,X){for(let q=1;;++q){let Z=`${U}${q}`;if(!X.has(Z))return Z}}function KH(U,X){let q=[],Z=new Map,Q=null;return{onAnchor:(G)=>{q.push(G),Q??(Q=g8(U));let Y=k8(X,Q);return Q.add(Y),Y},setAnchors:()=>{for(let G of q){let Y=Z.get(G);if(typeof Y==="object"&&Y.anchor&&(y8.isScalar(Y.node)||y8.isCollection(Y.node)))Y.node.anchor=Y.anchor;else{let H=Error("Failed to resolve repeated object (this should not happen)");throw H.source=G,H}}},sourceObjects:Z}}NH.anchorIsValid=IH;NH.anchorNames=g8;NH.createNodeAnchors=KH;NH.findNewAnchor=k8});var nU=R((jH)=>{function g2(U,X,q,Z){if(Z&&typeof Z==="object")if(Array.isArray(Z))for(let Q=0,G=Z.length;Q<G;++Q){let Y=Z[Q],H=g2(U,Z,String(Q),Y);if(H===void 0)delete Z[Q];else if(H!==Y)Z[Q]=H}else if(Z instanceof Map)for(let Q of Array.from(Z.keys())){let G=Z.get(Q),Y=g2(U,Z,Q,G);if(Y===void 0)Z.delete(Q);else if(Y!==G)Z.set(Q,Y)}else if(Z instanceof Set)for(let Q of Array.from(Z)){let G=g2(U,Z,Q,Q);if(G===void 0)Z.delete(Q);else if(G!==Q)Z.delete(Q),Z.add(G)}else for(let[Q,G]of Object.entries(Z)){let Y=g2(U,Z,Q,G);if(Y===void 0)delete Z[Q];else if(Y!==G)Z[Q]=Y}return U.call(X,q,Z)}jH.applyReviver=g2});var a0=R((gH)=>{var yH=k();function v8(U,X,q){if(Array.isArray(U))return U.map((Z,Q)=>v8(Z,String(Q),q));if(U&&typeof U.toJSON==="function"){if(!q||!yH.hasAnchor(U))return U.toJSON(X,q);let Z={aliasCount:0,count:1,res:void 0};q.anchors.set(U,Z),q.onCreate=(G)=>{Z.res=G,delete q.onCreate};let Q=U.toJSON(X,q);if(q.onCreate)q.onCreate(Q);return Q}if(typeof U==="bigint"&&!q?.keep)return Number(U);return U}gH.toJS=v8});var d6=R((hH)=>{var vH=nU(),x8=k(),xH=a0();class h8{constructor(U){Object.defineProperty(this,x8.NODE_TYPE,{value:U})}clone(){let U=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(this.range)U.range=this.range.slice();return U}toJS(U,{mapAsMap:X,maxAliasCount:q,onAnchor:Z,reviver:Q}={}){if(!x8.isDocument(U))throw TypeError("A document argument is required");let G={anchors:new Map,doc:U,keep:!0,mapAsMap:X===!0,mapKeyWarned:!1,maxAliasCount:typeof q==="number"?q:100},Y=xH.toJS(this,"",G);if(typeof Z==="function")for(let{count:H,res:J}of G.anchors.values())Z(J,H);return typeof Q==="function"?vH.applyReviver(Q,{"":Y},"",Y):Y}}hH.NodeBase=h8});var k2=R((cH)=>{var mH=l6(),pH=y2(),c1=k(),lH=d6(),dH=a0();class u8 extends lH.NodeBase{constructor(U){super(c1.ALIAS);this.source=U,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(U,X){let q;if(X?.aliasResolveCache)q=X.aliasResolveCache;else if(q=[],pH.visit(U,{Node:(Q,G)=>{if(c1.isAlias(G)||c1.hasAnchor(G))q.push(G)}}),X)X.aliasResolveCache=q;let Z=void 0;for(let Q of q){if(Q===this)break;if(Q.anchor===this.source)Z=Q}return Z}toJSON(U,X){if(!X)return{source:this.source};let{anchors:q,doc:Z,maxAliasCount:Q}=X,G=this.resolve(Z,X);if(!G){let H=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(H)}let Y=q.get(G);if(!Y)dH.toJS(G,null,X),Y=q.get(G);if(Y?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(Q>=0){if(Y.count+=1,Y.aliasCount===0)Y.aliasCount=c6(Z,G,q);if(Y.count*Y.aliasCount>Q)throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return Y.res}toString(U,X,q){let Z=`*${this.source}`;if(U){if(mH.anchorIsValid(this.source),U.options.verifyAliasOrder&&!U.anchors.has(this.source)){let Q=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(Q)}if(U.implicitKey)return`${Z} `}return Z}}function c6(U,X,q){if(c1.isAlias(X)){let Z=X.resolve(U),Q=q&&Z&&q.get(Z);return Q?Q.count*Q.aliasCount:0}else if(c1.isCollection(X)){let Z=0;for(let Q of X.items){let G=c6(U,Q,q);if(G>Z)Z=G}return Z}else if(c1.isPair(X)){let Z=c6(U,X.key,q),Q=c6(U,X.value,q);return Math.max(Z,Q)}return 1}cH.Alias=u8});var i=R((nH)=>{var sH=k(),oH=d6(),rH=a0(),aH=(U)=>!U||typeof U!=="function"&&typeof U!=="object";class F1 extends oH.NodeBase{constructor(U){super(sH.SCALAR);this.value=U}toJSON(U,X){return X?.keep?this.value:rH.toJS(this.value,U,X)}toString(){return String(this.value)}}F1.BLOCK_FOLDED="BLOCK_FOLDED";F1.BLOCK_LITERAL="BLOCK_LITERAL";F1.PLAIN="PLAIN";F1.QUOTE_DOUBLE="QUOTE_DOUBLE";F1.QUOTE_SINGLE="QUOTE_SINGLE";nH.Scalar=F1;nH.isScalarValue=aH});var v2=R((QJ)=>{var UJ=k2(),A1=k(),m8=i(),XJ="tag:yaml.org,2002:";function qJ(U,X,q){if(X){let Z=q.filter((G)=>G.tag===X),Q=Z.find((G)=>!G.format)??Z[0];if(!Q)throw Error(`Tag ${X} not found`);return Q}return q.find((Z)=>Z.identify?.(U)&&!Z.format)}function ZJ(U,X,q){if(A1.isDocument(U))U=U.contents;if(A1.isNode(U))return U;if(A1.isPair(U)){let _=q.schema[A1.MAP].createNode?.(q.schema,null,q);return _.items.push(U),_}if(U instanceof String||U instanceof Number||U instanceof Boolean||typeof BigInt<"u"&&U instanceof BigInt)U=U.valueOf();let{aliasDuplicateObjects:Z,onAnchor:Q,onTagObj:G,schema:Y,sourceObjects:H}=q,J=void 0;if(Z&&U&&typeof U==="object")if(J=H.get(U),J)return J.anchor??(J.anchor=Q(U)),new UJ.Alias(J.anchor);else J={anchor:null,node:null},H.set(U,J);if(X?.startsWith("!!"))X=XJ+X.slice(2);let W=qJ(U,X,Y.tags);if(!W){if(U&&typeof U.toJSON==="function")U=U.toJSON();if(!U||typeof U!=="object"){let _=new m8.Scalar(U);if(J)J.node=_;return _}W=U instanceof Map?Y[A1.MAP]:(Symbol.iterator in Object(U))?Y[A1.SEQ]:Y[A1.MAP]}if(G)G(W),delete q.onTagObj;let $=W?.createNode?W.createNode(q.schema,U,q):typeof W?.nodeClass?.from==="function"?W.nodeClass.from(q.schema,U,q):new m8.Scalar(U);if(X)$.tag=X;else if(!W.default)$.tag=W.tag;if(J)J.node=$;return $}QJ.createNode=ZJ});var i6=R((JJ)=>{var YJ=v2(),j0=k(),HJ=d6();function tU(U,X,q){let Z=q;for(let Q=X.length-1;Q>=0;--Q){let G=X[Q];if(typeof G==="number"&&Number.isInteger(G)&&G>=0){let Y=[];Y[G]=Z,Z=Y}else Z=new Map([[G,Z]])}return YJ.createNode(Z,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:U,sourceObjects:new Map})}var p8=(U)=>U==null||typeof U==="object"&&!!U[Symbol.iterator]().next().done;class l8 extends HJ.NodeBase{constructor(U,X){super(U);Object.defineProperty(this,"schema",{value:X,configurable:!0,enumerable:!1,writable:!0})}clone(U){let X=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(U)X.schema=U;if(X.items=X.items.map((q)=>j0.isNode(q)||j0.isPair(q)?q.clone(U):q),this.range)X.range=this.range.slice();return X}addIn(U,X){if(p8(U))this.add(X);else{let[q,...Z]=U,Q=this.get(q,!0);if(j0.isCollection(Q))Q.addIn(Z,X);else if(Q===void 0&&this.schema)this.set(q,tU(this.schema,Z,X));else throw Error(`Expected YAML collection at ${q}. Remaining path: ${Z}`)}}deleteIn(U){let[X,...q]=U;if(q.length===0)return this.delete(X);let Z=this.get(X,!0);if(j0.isCollection(Z))return Z.deleteIn(q);else throw Error(`Expected YAML collection at ${X}. Remaining path: ${q}`)}getIn(U,X){let[q,...Z]=U,Q=this.get(q,!0);if(Z.length===0)return!X&&j0.isScalar(Q)?Q.value:Q;else return j0.isCollection(Q)?Q.getIn(Z,X):void 0}hasAllNullValues(U){return this.items.every((X)=>{if(!j0.isPair(X))return!1;let q=X.value;return q==null||U&&j0.isScalar(q)&&q.value==null&&!q.commentBefore&&!q.comment&&!q.tag})}hasIn(U){let[X,...q]=U;if(q.length===0)return this.has(X);let Z=this.get(X,!0);return j0.isCollection(Z)?Z.hasIn(q):!1}setIn(U,X){let[q,...Z]=U;if(Z.length===0)this.set(q,X);else{let Q=this.get(q,!0);if(j0.isCollection(Q))Q.setIn(Z,X);else if(Q===void 0&&this.schema)this.set(q,tU(this.schema,Z,X));else throw Error(`Expected YAML collection at ${q}. Remaining path: ${Z}`)}}}JJ.Collection=l8;JJ.collectionFromPath=tU;JJ.isEmptyPath=p8});var x2=R((FJ)=>{var LJ=(U)=>U.replace(/^(?!$)(?: $)?/gm,"#");function eU(U,X){if(/^\n+$/.test(U))return U.substring(1);return X?U.replace(/^(?! *$)/gm,X):U}var zJ=(U,X,q)=>U.endsWith(`
|
|
3
|
+
`)?eU(q,X):q.includes(`
|
|
4
4
|
`)?`
|
|
5
|
-
`+
|
|
6
|
-
`){if(q==="block")z=
|
|
5
|
+
`+eU(q,X):(U.endsWith(" ")?"":" ")+q;FJ.indentComment=eU;FJ.lineComment=zJ;FJ.stringifyComment=LJ});var c8=R((BJ)=>{function TJ(U,X,q="flow",{indentAtStart:Z,lineWidth:Q=80,minContentWidth:G=20,onFold:Y,onOverflow:H}={}){if(!Q||Q<0)return U;if(Q<G)G=0;let J=Math.max(1+G,1+Q-X.length);if(U.length<=J)return U;let W=[],$={},_=Q-X.length;if(typeof Z==="number")if(Z>Q-Math.max(2,G))W.push(0);else _=Q-Z;let L=void 0,A=void 0,B=!1,z=-1,V=-1,D=-1;if(q==="block"){if(z=d8(U,z,X.length),z!==-1)_=z+J}for(let K;K=U[z+=1];){if(q==="quoted"&&K==="\\"){switch(V=z,U[z+1]){case"x":z+=3;break;case"u":z+=5;break;case"U":z+=9;break;default:z+=1}D=z}if(K===`
|
|
6
|
+
`){if(q==="block")z=d8(U,z,X.length);_=z+X.length+J,L=void 0}else{if(K===" "&&A&&A!==" "&&A!==`
|
|
7
7
|
`&&A!=="\t"){let C=U[z+1];if(C&&C!==" "&&C!==`
|
|
8
|
-
`&&C!=="\t")
|
|
9
|
-
${X}${U.slice(0,N)}`;else{if(q==="quoted"
|
|
10
|
-
${X}${U.slice(C+1,N)}`}}return P}function
|
|
11
|
-
`);Z=X,Q=X+1,G=U[Q]}return Z}
|
|
12
|
-
`){if(G-Y>Z)return!0;if(Y=G+1,Q-Y<=Z)return!1}return!0}function
|
|
8
|
+
`&&C!=="\t")L=z}if(z>=_)if(L)W.push(L),_=L+J,L=void 0;else if(q==="quoted"){while(A===" "||A==="\t")A=K,K=U[z+=1],B=!0;let C=z>D+1?z-2:V-1;if($[C])return U;W.push(C),$[C]=!0,_=C+J,L=void 0}else B=!0}A=K}if(B&&H)H();if(W.length===0)return U;if(Y)Y();let P=U.slice(0,W[0]);for(let K=0;K<W.length;++K){let C=W[K],N=W[K+1]||U.length;if(C===0)P=`
|
|
9
|
+
${X}${U.slice(0,N)}`;else{if(q==="quoted"&&$[C])P+=`${U[C]}\\`;P+=`
|
|
10
|
+
${X}${U.slice(C+1,N)}`}}return P}function d8(U,X,q){let Z=X,Q=X+1,G=U[Q];while(G===" "||G==="\t")if(X<Q+q)G=U[++X];else{do G=U[++X];while(G&&G!==`
|
|
11
|
+
`);Z=X,Q=X+1,G=U[Q]}return Z}BJ.FOLD_BLOCK="block";BJ.FOLD_FLOW="flow";BJ.FOLD_QUOTED="quoted";BJ.foldFlowLines=TJ});var u2=R((NJ)=>{var I0=i(),n0=c8(),o6=(U,X)=>({indentAtStart:X?U.indent.length:U.indentAtStart,lineWidth:U.options.lineWidth,minContentWidth:U.options.minContentWidth}),r6=(U)=>/^(%|---|\.\.\.)/m.test(U);function PJ(U,X,q){if(!X||X<0)return!1;let Z=X-q,Q=U.length;if(Q<=Z)return!1;for(let G=0,Y=0;G<Q;++G)if(U[G]===`
|
|
12
|
+
`){if(G-Y>Z)return!0;if(Y=G+1,Q-Y<=Z)return!1}return!0}function h2(U,X){let q=JSON.stringify(U);if(X.options.doubleQuotedAsJSON)return q;let{implicitKey:Z}=X,Q=X.options.doubleQuotedMinMultiLineLength,G=X.indent||(r6(U)?" ":""),Y="",H=0;for(let J=0,W=q[J];W;W=q[++J]){if(W===" "&&q[J+1]==="\\"&&q[J+2]==="n")Y+=q.slice(H,J)+"\\ ",J+=1,H=J,W="\\";if(W==="\\")switch(q[J+1]){case"u":{Y+=q.slice(H,J);let $=q.substr(J+2,4);switch($){case"0000":Y+="\\0";break;case"0007":Y+="\\a";break;case"000b":Y+="\\v";break;case"001b":Y+="\\e";break;case"0085":Y+="\\N";break;case"00a0":Y+="\\_";break;case"2028":Y+="\\L";break;case"2029":Y+="\\P";break;default:if($.substr(0,2)==="00")Y+="\\x"+$.substr(2);else Y+=q.substr(J,6)}J+=5,H=J+1}break;case"n":if(Z||q[J+2]==='"'||q.length<Q)J+=1;else{Y+=q.slice(H,J)+`
|
|
13
13
|
|
|
14
14
|
`;while(q[J+2]==="\\"&&q[J+3]==="n"&&q[J+4]!=='"')Y+=`
|
|
15
|
-
`,J+=2;if(Y+=G,q[J+2]===" ")Y+="\\";J+=1,H=J+1}break;default:J+=1}}return Y=H?Y+q.slice(H):q,Z?Y:
|
|
16
|
-
`)||/[ \t]\n|\n[ \t]/.test(U))return
|
|
17
|
-
${q}`)+"'";return X.implicitKey?Z:
|
|
15
|
+
`,J+=2;if(Y+=G,q[J+2]===" ")Y+="\\";J+=1,H=J+1}break;default:J+=1}}return Y=H?Y+q.slice(H):q,Z?Y:n0.foldFlowLines(Y,G,n0.FOLD_QUOTED,o6(X,!1))}function U9(U,X){if(X.options.singleQuote===!1||X.implicitKey&&U.includes(`
|
|
16
|
+
`)||/[ \t]\n|\n[ \t]/.test(U))return h2(U,X);let q=X.indent||(r6(U)?" ":""),Z="'"+U.replace(/'/g,"''").replace(/\n+/g,`$&
|
|
17
|
+
${q}`)+"'";return X.implicitKey?Z:n0.foldFlowLines(Z,q,n0.FOLD_FLOW,o6(X,!1))}function i1(U,X){let{singleQuote:q}=X.options,Z;if(q===!1)Z=h2;else{let Q=U.includes('"'),G=U.includes("'");if(Q&&!G)Z=U9;else if(G&&!Q)Z=h2;else Z=q?U9:h2}return Z(U,X)}var X9;try{X9=new RegExp(`(^|(?<!
|
|
18
18
|
))
|
|
19
19
|
+(?!
|
|
20
|
-
|$)`,"g")}catch{
|
|
20
|
+
|$)`,"g")}catch{X9=/\n+(?!\n|$)/g}function s6({comment:U,type:X,value:q},Z,Q,G){let{blockQuote:Y,commentString:H,lineWidth:J}=Z.options;if(!Y||/\n[\t ]+$/.test(q))return i1(q,Z);let W=Z.indent||(Z.forceBlockIndent||r6(q)?" ":""),$=Y==="literal"?!0:Y==="folded"||X===I0.Scalar.BLOCK_FOLDED?!1:X===I0.Scalar.BLOCK_LITERAL?!0:!PJ(q,J,W.length);if(!q)return $?`|
|
|
21
21
|
`:`>
|
|
22
|
-
`;let L
|
|
23
|
-
`&&N!=="\t"&&N!==" ")break}let A=q.substring(
|
|
24
|
-
`);if(B===-1)
|
|
25
|
-
`)A=A.slice(0,-1);A=A.replace(
|
|
26
|
-
`)D=
|
|
27
|
-
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${W}`),j=!1,m=
|
|
22
|
+
`;let _,L;for(L=q.length;L>0;--L){let N=q[L-1];if(N!==`
|
|
23
|
+
`&&N!=="\t"&&N!==" ")break}let A=q.substring(L),B=A.indexOf(`
|
|
24
|
+
`);if(B===-1)_="-";else if(q===A||B!==A.length-1){if(_="+",G)G()}else _="";if(A){if(q=q.slice(0,-A.length),A[A.length-1]===`
|
|
25
|
+
`)A=A.slice(0,-1);A=A.replace(X9,`$&${W}`)}let z=!1,V,D=-1;for(V=0;V<q.length;++V){let N=q[V];if(N===" ")z=!0;else if(N===`
|
|
26
|
+
`)D=V;else break}let P=q.substring(0,D<V?D+1:V);if(P)q=q.substring(P.length),P=P.replace(/\n+/g,`$&${W}`);let C=(z?W?"2":"1":"")+_;if(U){if(C+=" "+H(U.replace(/ ?[\r\n]+/g," ")),Q)Q()}if(!$){let N=q.replace(/\n+/g,`
|
|
27
|
+
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${W}`),j=!1,m=o6(Z,!0);if(Y!=="folded"&&X!==I0.Scalar.BLOCK_FOLDED)m.onOverflow=()=>{j=!0};let w=n0.foldFlowLines(`${P}${N}${A}`,W,n0.FOLD_BLOCK,m);if(!j)return`>${C}
|
|
28
28
|
${W}${w}`}return q=q.replace(/\n+/g,`$&${W}`),`|${C}
|
|
29
|
-
${W}${P}${q}${A}`}function
|
|
30
|
-
`)
|
|
31
|
-
`)?
|
|
32
|
-
`))return
|
|
33
|
-
${J}`);if(Y){let
|
|
34
|
-
${X.indent}${H}`}
|
|
35
|
-
${H}:`}else if(
|
|
29
|
+
${W}${P}${q}${A}`}function IJ(U,X,q,Z){let{type:Q,value:G}=U,{actualString:Y,implicitKey:H,indent:J,indentStep:W,inFlow:$}=X;if(H&&G.includes(`
|
|
30
|
+
`)||$&&/[[\]{},]/.test(G))return i1(G,X);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(G))return H||$||!G.includes(`
|
|
31
|
+
`)?i1(G,X):s6(U,X,q,Z);if(!H&&!$&&Q!==I0.Scalar.PLAIN&&G.includes(`
|
|
32
|
+
`))return s6(U,X,q,Z);if(r6(G)){if(J==="")return X.forceBlockIndent=!0,s6(U,X,q,Z);else if(H&&J===W)return i1(G,X)}let _=G.replace(/\n+/g,`$&
|
|
33
|
+
${J}`);if(Y){let L=(z)=>z.default&&z.tag!=="tag:yaml.org,2002:str"&&z.test?.test(_),{compat:A,tags:B}=X.doc.schema;if(B.some(L)||A?.some(L))return i1(G,X)}return H?_:n0.foldFlowLines(_,J,n0.FOLD_FLOW,o6(X,!1))}function KJ(U,X,q,Z){let{implicitKey:Q,inFlow:G}=X,Y=typeof U.value==="string"?U:Object.assign({},U,{value:String(U.value)}),{type:H}=U;if(H!==I0.Scalar.QUOTE_DOUBLE){if(/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(Y.value))H=I0.Scalar.QUOTE_DOUBLE}let J=($)=>{switch($){case I0.Scalar.BLOCK_FOLDED:case I0.Scalar.BLOCK_LITERAL:return Q||G?i1(Y.value,X):s6(Y,X,q,Z);case I0.Scalar.QUOTE_DOUBLE:return h2(Y.value,X);case I0.Scalar.QUOTE_SINGLE:return U9(Y.value,X);case I0.Scalar.PLAIN:return IJ(Y,X,q,Z);default:return null}},W=J(H);if(W===null){let{defaultKeyType:$,defaultStringType:_}=X.options,L=Q&&$||_;if(W=J(L),W===null)throw Error(`Unsupported default string type ${L}`)}return W}NJ.stringifyString=KJ});var m2=R((kJ)=>{var SJ=l6(),t0=k(),EJ=x2(),bJ=u2();function jJ(U,X){let q=Object.assign({blockQuote:!0,commentString:EJ.stringifyComment,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},U.schema.toStringOptions,X),Z;switch(q.collectionStyle){case"block":Z=!1;break;case"flow":Z=!0;break;default:Z=null}return{anchors:new Set,doc:U,flowCollectionPadding:q.flowCollectionPadding?" ":"",indent:"",indentStep:typeof q.indent==="number"?" ".repeat(q.indent):" ",inFlow:Z,options:q}}function fJ(U,X){if(X.tag){let Q=U.filter((G)=>G.tag===X.tag);if(Q.length>0)return Q.find((G)=>G.format===X.format)??Q[0]}let q=void 0,Z;if(t0.isScalar(X)){Z=X.value;let Q=U.filter((G)=>G.identify?.(Z));if(Q.length>1){let G=Q.filter((Y)=>Y.test);if(G.length>0)Q=G}q=Q.find((G)=>G.format===X.format)??Q.find((G)=>!G.format)}else Z=X,q=U.find((Q)=>Q.nodeClass&&Z instanceof Q.nodeClass);if(!q){let Q=Z?.constructor?.name??(Z===null?"null":typeof Z);throw Error(`Tag not resolved for ${Q} value`)}return q}function yJ(U,X,{anchors:q,doc:Z}){if(!Z.directives)return"";let Q=[],G=(t0.isScalar(U)||t0.isCollection(U))&&U.anchor;if(G&&SJ.anchorIsValid(G))q.add(G),Q.push(`&${G}`);let Y=U.tag??(X.default?null:X.tag);if(Y)Q.push(Z.directives.tagString(Y));return Q.join(" ")}function gJ(U,X,q,Z){if(t0.isPair(U))return U.toString(X,q,Z);if(t0.isAlias(U)){if(X.doc.directives)return U.toString(X);if(X.resolvedAliases?.has(U))throw TypeError("Cannot stringify circular structure without alias nodes");else{if(X.resolvedAliases)X.resolvedAliases.add(U);else X.resolvedAliases=new Set([U]);U=U.resolve(X.doc)}}let Q=void 0,G=t0.isNode(U)?U:X.doc.createNode(U,{onTagObj:(J)=>Q=J});Q??(Q=fJ(X.doc.schema.tags,G));let Y=yJ(G,Q,X);if(Y.length>0)X.indentAtStart=(X.indentAtStart??0)+Y.length+1;let H=typeof Q.stringify==="function"?Q.stringify(G,X,q,Z):t0.isScalar(G)?bJ.stringifyString(G,X,q,Z):G.toString(X,q,Z);if(!Y)return H;return t0.isScalar(G)||H[0]==="{"||H[0]==="["?`${Y} ${H}`:`${Y}
|
|
34
|
+
${X.indent}${H}`}kJ.createStringifyContext=jJ;kJ.stringify=gJ});var o8=R((uJ)=>{var u0=k(),i8=i(),s8=m2(),p2=x2();function hJ({key:U,value:X},q,Z,Q){let{allNullValues:G,doc:Y,indent:H,indentStep:J,options:{commentString:W,indentSeq:$,simpleKeys:_}}=q,L=u0.isNode(U)&&U.comment||null;if(_){if(L)throw Error("With simple keys, key nodes cannot have comments");if(u0.isCollection(U)||!u0.isNode(U)&&typeof U==="object")throw Error("With simple keys, collection cannot be used as a key value")}let A=!_&&(!U||L&&X==null&&!q.inFlow||u0.isCollection(U)||(u0.isScalar(U)?U.type===i8.Scalar.BLOCK_FOLDED||U.type===i8.Scalar.BLOCK_LITERAL:typeof U==="object"));q=Object.assign({},q,{allNullValues:!1,implicitKey:!A&&(_||!G),indent:H+J});let B=!1,z=!1,V=s8.stringify(U,q,()=>B=!0,()=>z=!0);if(!A&&!q.inFlow&&V.length>1024){if(_)throw Error("With simple keys, single line scalar must not span more than 1024 characters");A=!0}if(q.inFlow){if(G||X==null){if(B&&Z)Z();return V===""?"?":A?`? ${V}`:V}}else if(G&&!_||X==null&&A){if(V=`? ${V}`,L&&!B)V+=p2.lineComment(V,q.indent,W(L));else if(z&&Q)Q();return V}if(B)L=null;if(A){if(L)V+=p2.lineComment(V,q.indent,W(L));V=`? ${V}
|
|
35
|
+
${H}:`}else if(V=`${V}:`,L)V+=p2.lineComment(V,q.indent,W(L));let D,P,K;if(u0.isNode(X))D=!!X.spaceBefore,P=X.commentBefore,K=X.comment;else if(D=!1,P=null,K=null,X&&typeof X==="object")X=Y.createNode(X);if(q.implicitKey=!1,!A&&!L&&u0.isScalar(X))q.indentAtStart=V.length+1;if(z=!1,!$&&J.length>=2&&!q.inFlow&&!A&&u0.isSeq(X)&&!X.flow&&!X.tag&&!X.anchor)q.indent=q.indent.substring(2);let C=!1,N=s8.stringify(X,q,()=>C=!0,()=>z=!0),j=" ";if(L||D||P){if(j=D?`
|
|
36
36
|
`:"",P){let m=W(P);j+=`
|
|
37
|
-
${
|
|
37
|
+
${p2.indentComment(m,q.indent)}`}if(N===""&&!q.inFlow){if(j===`
|
|
38
38
|
`&&K)j=`
|
|
39
39
|
|
|
40
40
|
`}else j+=`
|
|
41
41
|
${q.indent}`}else if(!A&&u0.isCollection(X)){let m=N[0],w=N.indexOf(`
|
|
42
|
-
`),
|
|
42
|
+
`),s=w!==-1,m0=q.inFlow??X.flow??X.items.length===0;if(s||!m0){let D1=!1;if(s&&(m==="&"||m==="!")){let o=N.indexOf(" ");if(m==="&"&&o!==-1&&o<w&&N[o+1]==="!")o=N.indexOf(" ",o+1);if(o===-1||w<o)D1=!0}if(!D1)j=`
|
|
43
43
|
${q.indent}`}}else if(N===""||N[0]===`
|
|
44
|
-
`)j="";if(
|
|
44
|
+
`)j="";if(V+=j+N,q.inFlow){if(C&&Z)Z()}else if(K&&!C)V+=p2.lineComment(V,q.indent,W(K));else if(z&&Q)Q();return V}uJ.stringifyPair=hJ});var q9=R((dJ)=>{var r8=M1("process");function pJ(U,...X){if(U==="debug")console.log(...X)}function lJ(U,X){if(U==="debug"||U==="warn")if(typeof r8.emitWarning==="function")r8.emitWarning(X);else console.warn(X)}dJ.debug=pJ;dJ.warn=lJ});var t6=R((oJ)=>{var l2=k(),a8=i(),a6="<<",n6={identify:(U)=>U===a6||typeof U==="symbol"&&U.description===a6,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new a8.Scalar(Symbol(a6)),{addToJSMap:n8}),stringify:()=>a6},sJ=(U,X)=>(n6.identify(X)||l2.isScalar(X)&&(!X.type||X.type===a8.Scalar.PLAIN)&&n6.identify(X.value))&&U?.doc.schema.tags.some((q)=>q.tag===n6.tag&&q.default);function n8(U,X,q){if(q=U&&l2.isAlias(q)?q.resolve(U.doc):q,l2.isSeq(q))for(let Z of q.items)Z9(U,X,Z);else if(Array.isArray(q))for(let Z of q)Z9(U,X,Z);else Z9(U,X,q)}function Z9(U,X,q){let Z=U&&l2.isAlias(q)?q.resolve(U.doc):q;if(!l2.isMap(Z))throw Error("Merge sources must be maps or map aliases");let Q=Z.toJSON(null,U,Map);for(let[G,Y]of Q)if(X instanceof Map){if(!X.has(G))X.set(G,Y)}else if(X instanceof Set)X.add(G);else if(!Object.prototype.hasOwnProperty.call(X,G))Object.defineProperty(X,G,{value:Y,writable:!0,enumerable:!0,configurable:!0});return X}oJ.addMergeToJSMap=n8;oJ.isMergeKey=sJ;oJ.merge=n6});var G9=R((qW)=>{var tJ=q9(),t8=t6(),eJ=m2(),e8=k(),Q9=a0();function UW(U,X,{key:q,value:Z}){if(e8.isNode(q)&&q.addToJSMap)q.addToJSMap(U,X,Z);else if(t8.isMergeKey(U,q))t8.addMergeToJSMap(U,X,Z);else{let Q=Q9.toJS(q,"",U);if(X instanceof Map)X.set(Q,Q9.toJS(Z,Q,U));else if(X instanceof Set)X.add(Q);else{let G=XW(q,Q,U),Y=Q9.toJS(Z,G,U);if(G in X)Object.defineProperty(X,G,{value:Y,writable:!0,enumerable:!0,configurable:!0});else X[G]=Y}}return X}function XW(U,X,q){if(X===null)return"";if(typeof X!=="object")return String(X);if(e8.isNode(U)&&q?.doc){let Z=eJ.createStringifyContext(q.doc,{});Z.anchors=new Set;for(let G of q.anchors.keys())Z.anchors.add(G.anchor);Z.inFlow=!0,Z.inStringifyKey=!0;let Q=U.toString(Z);if(!q.mapKeyWarned){let G=JSON.stringify(Q);if(G.length>40)G=G.substring(0,36)+'..."';tJ.warn(q.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${G}. Set mapAsMap: true to use object keys.`),q.mapKeyWarned=!0}return Q}return JSON.stringify(X)}qW.addPairToJSMap=UW});var e0=R((HW)=>{var U3=v2(),QW=o8(),GW=G9(),e6=k();function YW(U,X,q){let Z=U3.createNode(U,void 0,q),Q=U3.createNode(X,void 0,q);return new U4(Z,Q)}class U4{constructor(U,X=null){Object.defineProperty(this,e6.NODE_TYPE,{value:e6.PAIR}),this.key=U,this.value=X}clone(U){let{key:X,value:q}=this;if(e6.isNode(X))X=X.clone(U);if(e6.isNode(q))q=q.clone(U);return new U4(X,q)}toJSON(U,X){let q=X?.mapAsMap?new Map:{};return GW.addPairToJSMap(X,q,this)}toString(U,X,q){return U?.doc?QW.stringifyPair(this,U,X,q):JSON.stringify(this)}}HW.Pair=U4;HW.createPair=YW});var Y9=R((zW)=>{var O1=k(),X3=m2(),X4=x2();function _W(U,X,q){return(X.inFlow??U.flow?LW:$W)(U,X,q)}function $W({comment:U,items:X},q,{blockItemPrefix:Z,flowChars:Q,itemIndent:G,onChompKeep:Y,onComment:H}){let{indent:J,options:{commentString:W}}=q,$=Object.assign({},q,{indent:G,type:null}),_=!1,L=[];for(let B=0;B<X.length;++B){let z=X[B],V=null;if(O1.isNode(z)){if(!_&&z.spaceBefore)L.push("");if(q4(q,L,z.commentBefore,_),z.comment)V=z.comment}else if(O1.isPair(z)){let P=O1.isNode(z.key)?z.key:null;if(P){if(!_&&P.spaceBefore)L.push("");q4(q,L,P.commentBefore,_)}}_=!1;let D=X3.stringify(z,$,()=>V=null,()=>_=!0);if(V)D+=X4.lineComment(D,G,W(V));if(_&&V)_=!1;L.push(Z+D)}let A;if(L.length===0)A=Q.start+Q.end;else{A=L[0];for(let B=1;B<L.length;++B){let z=L[B];A+=z?`
|
|
45
45
|
${J}${z}`:`
|
|
46
46
|
`}}if(U){if(A+=`
|
|
47
|
-
`+
|
|
48
|
-
`)))W=!0;
|
|
47
|
+
`+X4.indentComment(W(U),J),H)H()}else if(_&&Y)Y();return A}function LW({items:U},X,{flowChars:q,itemIndent:Z}){let{indent:Q,indentStep:G,flowCollectionPadding:Y,options:{commentString:H}}=X;Z+=G;let J=Object.assign({},X,{indent:Z,inFlow:!0,type:null}),W=!1,$=0,_=[];for(let B=0;B<U.length;++B){let z=U[B],V=null;if(O1.isNode(z)){if(z.spaceBefore)_.push("");if(q4(X,_,z.commentBefore,!1),z.comment)V=z.comment}else if(O1.isPair(z)){let P=O1.isNode(z.key)?z.key:null;if(P){if(P.spaceBefore)_.push("");if(q4(X,_,P.commentBefore,!1),P.comment)W=!0}let K=O1.isNode(z.value)?z.value:null;if(K){if(K.comment)V=K.comment;if(K.commentBefore)W=!0}else if(z.value==null&&P?.comment)V=P.comment}if(V)W=!0;let D=X3.stringify(z,J,()=>V=null);if(B<U.length-1)D+=",";if(V)D+=X4.lineComment(D,Z,H(V));if(!W&&(_.length>$||D.includes(`
|
|
48
|
+
`)))W=!0;_.push(D),$=_.length}let{start:L,end:A}=q;if(_.length===0)return L+A;else{if(!W){let B=_.reduce((z,V)=>z+V.length+2,2);W=X.options.lineWidth>0&&B>X.options.lineWidth}if(W){let B=L;for(let z of _)B+=z?`
|
|
49
49
|
${G}${Q}${z}`:`
|
|
50
50
|
`;return`${B}
|
|
51
|
-
${Q}${A}`}else return`${
|
|
52
|
-
`:" ")}return
|
|
51
|
+
${Q}${A}`}else return`${L}${Y}${_.join(" ")}${Y}${A}`}}function q4({indent:U,options:{commentString:X}},q,Z,Q){if(Z&&Q)Z=Z.replace(/^\n+/,"");if(Z){let G=X4.indentComment(X(Z),U);q.push(G.trimStart())}}zW.stringifyCollection=_W});var X1=R((BW)=>{var AW=Y9(),OW=G9(),VW=i6(),U1=k(),Z4=e0(),TW=i();function d2(U,X){let q=U1.isScalar(X)?X.value:X;for(let Z of U)if(U1.isPair(Z)){if(Z.key===X||Z.key===q)return Z;if(U1.isScalar(Z.key)&&Z.key.value===q)return Z}return}class q3 extends VW.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(U){super(U1.MAP,U);this.items=[]}static from(U,X,q){let{keepUndefined:Z,replacer:Q}=q,G=new this(U),Y=(H,J)=>{if(typeof Q==="function")J=Q.call(X,H,J);else if(Array.isArray(Q)&&!Q.includes(H))return;if(J!==void 0||Z)G.items.push(Z4.createPair(H,J,q))};if(X instanceof Map)for(let[H,J]of X)Y(H,J);else if(X&&typeof X==="object")for(let H of Object.keys(X))Y(H,X[H]);if(typeof U.sortMapEntries==="function")G.items.sort(U.sortMapEntries);return G}add(U,X){let q;if(U1.isPair(U))q=U;else if(!U||typeof U!=="object"||!("key"in U))q=new Z4.Pair(U,U?.value);else q=new Z4.Pair(U.key,U.value);let Z=d2(this.items,q.key),Q=this.schema?.sortMapEntries;if(Z){if(!X)throw Error(`Key ${q.key} already set`);if(U1.isScalar(Z.value)&&TW.isScalarValue(q.value))Z.value.value=q.value;else Z.value=q.value}else if(Q){let G=this.items.findIndex((Y)=>Q(q,Y)<0);if(G===-1)this.items.push(q);else this.items.splice(G,0,q)}else this.items.push(q)}delete(U){let X=d2(this.items,U);if(!X)return!1;return this.items.splice(this.items.indexOf(X),1).length>0}get(U,X){let Z=d2(this.items,U)?.value;return(!X&&U1.isScalar(Z)?Z.value:Z)??void 0}has(U){return!!d2(this.items,U)}set(U,X){this.add(new Z4.Pair(U,X),!0)}toJSON(U,X,q){let Z=q?new q:X?.mapAsMap?new Map:{};if(X?.onCreate)X.onCreate(Z);for(let Q of this.items)OW.addPairToJSMap(X,Z,Q);return Z}toString(U,X,q){if(!U)return JSON.stringify(this);for(let Z of this.items)if(!U1.isPair(Z))throw Error(`Map items must all be pairs; found ${JSON.stringify(Z)} instead`);if(!U.allNullValues&&this.hasAllNullValues(!1))U=Object.assign({},U,{allNullValues:!0});return AW.stringifyCollection(this,U,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:U.indent||"",onChompKeep:q,onComment:X})}}BW.YAMLMap=q3;BW.findPair=d2});var s1=R((PW)=>{var MW=k(),Z3=X1(),wW={collection:"map",default:!0,nodeClass:Z3.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(U,X){if(!MW.isMap(U))X("Expected a mapping for this tag");return U},createNode:(U,X,q)=>Z3.YAMLMap.from(U,X,q)};PW.map=wW});var q1=R((bW)=>{var KW=v2(),NW=Y9(),CW=i6(),G4=k(),SW=i(),EW=a0();class Q3 extends CW.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(U){super(G4.SEQ,U);this.items=[]}add(U){this.items.push(U)}delete(U){let X=Q4(U);if(typeof X!=="number")return!1;return this.items.splice(X,1).length>0}get(U,X){let q=Q4(U);if(typeof q!=="number")return;let Z=this.items[q];return!X&&G4.isScalar(Z)?Z.value:Z}has(U){let X=Q4(U);return typeof X==="number"&&X<this.items.length}set(U,X){let q=Q4(U);if(typeof q!=="number")throw Error(`Expected a valid index, not ${U}.`);let Z=this.items[q];if(G4.isScalar(Z)&&SW.isScalarValue(X))Z.value=X;else this.items[q]=X}toJSON(U,X){let q=[];if(X?.onCreate)X.onCreate(q);let Z=0;for(let Q of this.items)q.push(EW.toJS(Q,String(Z++),X));return q}toString(U,X,q){if(!U)return JSON.stringify(this);return NW.stringifyCollection(this,U,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(U.indent||"")+" ",onChompKeep:q,onComment:X})}static from(U,X,q){let{replacer:Z}=q,Q=new this(U);if(X&&Symbol.iterator in Object(X)){let G=0;for(let Y of X){if(typeof Z==="function"){let H=X instanceof Set?Y:String(G++);Y=Z.call(X,H,Y)}Q.items.push(KW.createNode(Y,void 0,q))}}return Q}}function Q4(U){let X=G4.isScalar(U)?U.value:U;if(X&&typeof X==="string")X=Number(X);return typeof X==="number"&&Number.isInteger(X)&&X>=0?X:null}bW.YAMLSeq=Q3});var o1=R((gW)=>{var fW=k(),G3=q1(),yW={collection:"seq",default:!0,nodeClass:G3.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(U,X){if(!fW.isSeq(U))X("Expected a sequence for this tag");return U},createNode:(U,X,q)=>G3.YAMLSeq.from(U,X,q)};gW.seq=yW});var c2=R((hW)=>{var vW=u2(),xW={identify:(U)=>typeof U==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(U)=>U,stringify(U,X,q,Z){return X=Object.assign({actualString:!0},X),vW.stringifyString(U,X,q,Z)}};hW.string=xW});var Y4=R((mW)=>{var Y3=i(),H3={identify:(U)=>U==null,createNode:()=>new Y3.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new Y3.Scalar(null),stringify:({source:U},X)=>typeof U==="string"&&H3.test.test(U)?U:X.options.nullStr};mW.nullTag=H3});var H9=R((dW)=>{var lW=i(),J3={identify:(U)=>typeof U==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:(U)=>new lW.Scalar(U[0]==="t"||U[0]==="T"),stringify({source:U,value:X},q){if(U&&J3.test.test(U)){let Z=U[0]==="t"||U[0]==="T";if(X===Z)return U}return X?q.options.trueStr:q.options.falseStr}};dW.boolTag=J3});var r1=R((sW)=>{function iW({format:U,minFractionDigits:X,tag:q,value:Z}){if(typeof Z==="bigint")return String(Z);let Q=typeof Z==="number"?Z:Number(Z);if(!isFinite(Q))return isNaN(Q)?".nan":Q<0?"-.inf":".inf";let G=Object.is(Z,-0)?"-0":JSON.stringify(Z);if(!U&&X&&(!q||q==="tag:yaml.org,2002:float")&&/^\d/.test(G)){let Y=G.indexOf(".");if(Y<0)Y=G.length,G+=".";let H=X-(G.length-Y-1);while(H-- >0)G+="0"}return G}sW.stringifyNumber=iW});var W9=R((eW)=>{var rW=i(),J9=r1(),aW={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(U)=>U.slice(-3).toLowerCase()==="nan"?NaN:U[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:J9.stringifyNumber},nW={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:(U)=>parseFloat(U),stringify(U){let X=Number(U.value);return isFinite(X)?X.toExponential():J9.stringifyNumber(U)}},tW={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(U){let X=new rW.Scalar(parseFloat(U)),q=U.indexOf(".");if(q!==-1&&U[U.length-1]==="0")X.minFractionDigits=U.length-q-1;return X},stringify:J9.stringifyNumber};eW.float=tW;eW.floatExp=nW;eW.floatNaN=aW});var $9=R((Y_)=>{var W3=r1(),H4=(U)=>typeof U==="bigint"||Number.isInteger(U),_9=(U,X,q,{intAsBigInt:Z})=>Z?BigInt(U):parseInt(U.substring(X),q);function _3(U,X,q){let{value:Z}=U;if(H4(Z)&&Z>=0)return q+Z.toString(X);return W3.stringifyNumber(U)}var Z_={identify:(U)=>H4(U)&&U>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(U,X,q)=>_9(U,2,8,q),stringify:(U)=>_3(U,8,"0o")},Q_={identify:H4,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(U,X,q)=>_9(U,0,10,q),stringify:W3.stringifyNumber},G_={identify:(U)=>H4(U)&&U>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(U,X,q)=>_9(U,2,16,q),stringify:(U)=>_3(U,16,"0x")};Y_.int=Q_;Y_.intHex=G_;Y_.intOct=Z_});var $3=R((O_)=>{var __=s1(),$_=Y4(),L_=o1(),z_=c2(),F_=H9(),L9=W9(),z9=$9(),A_=[__.map,L_.seq,z_.string,$_.nullTag,F_.boolTag,z9.intOct,z9.int,z9.intHex,L9.floatNaN,L9.floatExp,L9.float];O_.schema=A_});var z3=R((P_)=>{var T_=i(),B_=s1(),R_=o1();function L3(U){return typeof U==="bigint"||Number.isInteger(U)}var J4=({value:U})=>JSON.stringify(U),D_=[{identify:(U)=>typeof U==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(U)=>U,stringify:J4},{identify:(U)=>U==null,createNode:()=>new T_.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:J4},{identify:(U)=>typeof U==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:(U)=>U==="true",stringify:J4},{identify:L3,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(U,X,{intAsBigInt:q})=>q?BigInt(U):parseInt(U,10),stringify:({value:U})=>L3(U)?U.toString():JSON.stringify(U)},{identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:(U)=>parseFloat(U),stringify:J4}],M_={default:!0,tag:"",test:/^/,resolve(U,X){return X(`Unresolved plain scalar ${JSON.stringify(U)}`),U}},w_=[B_.map,R_.seq].concat(D_,M_);P_.schema=w_});var A9=R((C_)=>{var i2=M1("buffer"),F9=i(),K_=u2(),N_={identify:(U)=>U instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(U,X){if(typeof i2.Buffer==="function")return i2.Buffer.from(U,"base64");else if(typeof atob==="function"){let q=atob(U.replace(/[\n\r]/g,"")),Z=new Uint8Array(q.length);for(let Q=0;Q<q.length;++Q)Z[Q]=q.charCodeAt(Q);return Z}else return X("This environment does not support reading binary tags; either Buffer or atob is required"),U},stringify({comment:U,type:X,value:q},Z,Q,G){if(!q)return"";let Y=q,H;if(typeof i2.Buffer==="function")H=Y instanceof i2.Buffer?Y.toString("base64"):i2.Buffer.from(Y.buffer).toString("base64");else if(typeof btoa==="function"){let J="";for(let W=0;W<Y.length;++W)J+=String.fromCharCode(Y[W]);H=btoa(J)}else throw Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(X??(X=F9.Scalar.BLOCK_LITERAL),X!==F9.Scalar.QUOTE_DOUBLE){let J=Math.max(Z.options.lineWidth-Z.indent.length,Z.options.minContentWidth),W=Math.ceil(H.length/J),$=Array(W);for(let _=0,L=0;_<W;++_,L+=J)$[_]=H.substr(L,J);H=$.join(X===F9.Scalar.BLOCK_LITERAL?`
|
|
52
|
+
`:" ")}return K_.stringifyString({comment:U,type:X,value:H},Z,Q,G)}};C_.binary=N_});var _4=R((f_)=>{var W4=k(),O9=e0(),E_=i(),b_=q1();function F3(U,X){if(W4.isSeq(U))for(let q=0;q<U.items.length;++q){let Z=U.items[q];if(W4.isPair(Z))continue;else if(W4.isMap(Z)){if(Z.items.length>1)X("Each pair must have its own sequence indicator");let Q=Z.items[0]||new O9.Pair(new E_.Scalar(null));if(Z.commentBefore)Q.key.commentBefore=Q.key.commentBefore?`${Z.commentBefore}
|
|
53
53
|
${Q.key.commentBefore}`:Z.commentBefore;if(Z.comment){let G=Q.value??Q.key;G.comment=G.comment?`${Z.comment}
|
|
54
|
-
${G.comment}`:Z.comment}Z=Q}U.items[q]=GU.isPair(Z)?Z:new L9.Pair(Z)}else X("Expected a sequence for this tag");return U}function J3(U,X,q){let{replacer:Z}=q,Q=new IL.YAMLSeq(U);Q.tag="tag:yaml.org,2002:pairs";let G=0;if(X&&Symbol.iterator in Object(X))for(let Y of X){if(typeof Z==="function")Y=Z.call(X,String(G++),Y);let H,J;if(Array.isArray(Y))if(Y.length===2)H=Y[0],J=Y[1];else throw TypeError(`Expected [key, value] tuple: ${Y}`);else if(Y&&Y instanceof Object){let W=Object.keys(Y);if(W.length===1)H=W[0],J=Y[H];else throw TypeError(`Expected tuple with one key, not ${W.length} keys`)}else H=Y;Q.items.push(L9.createPair(H,J,q))}return Q}var KL={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:H3,createNode:J3};NL.createPairs=J3;NL.pairs=KL;NL.resolvePairs=H3});var $9=R((fL)=>{var W3=k(),_9=n0(),p2=X1(),bL=q1(),L3=YU();class T1 extends bL.YAMLSeq{constructor(){super();this.add=p2.YAMLMap.prototype.add.bind(this),this.delete=p2.YAMLMap.prototype.delete.bind(this),this.get=p2.YAMLMap.prototype.get.bind(this),this.has=p2.YAMLMap.prototype.has.bind(this),this.set=p2.YAMLMap.prototype.set.bind(this),this.tag=T1.tag}toJSON(U,X){if(!X)return super.toJSON(U);let q=new Map;if(X?.onCreate)X.onCreate(q);for(let Z of this.items){let Q,G;if(W3.isPair(Z))Q=_9.toJS(Z.key,"",X),G=_9.toJS(Z.value,Q,X);else Q=_9.toJS(Z,"",X);if(q.has(Q))throw Error("Ordered maps must not include duplicate keys");q.set(Q,G)}return q}static from(U,X,q){let Z=L3.createPairs(U,X,q),Q=new this;return Q.items=Z.items,Q}}T1.tag="tag:yaml.org,2002:omap";var jL={collection:"seq",identify:(U)=>U instanceof Map,nodeClass:T1,default:!1,tag:"tag:yaml.org,2002:omap",resolve(U,X){let q=L3.resolvePairs(U,X),Z=[];for(let{key:Q}of q.items)if(W3.isScalar(Q))if(Z.includes(Q.value))X(`Ordered maps must not include duplicate keys: ${Q.value}`);else Z.push(Q.value);return Object.assign(new T1,q)},createNode:(U,X,q)=>T1.from(U,X,q)};fL.YAMLOMap=T1;fL.omap=jL});var A3=R((kL)=>{var _3=i();function $3({value:U,source:X},q){if(X&&(U?z3:F3).test.test(X))return X;return U?q.options.trueStr:q.options.falseStr}var z3={identify:(U)=>U===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new _3.Scalar(!0),stringify:$3},F3={identify:(U)=>U===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new _3.Scalar(!1),stringify:$3};kL.falseTag=F3;kL.trueTag=z3});var T3=R((lL)=>{var hL=i(),z9=s1(),uL={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(U)=>U.slice(-3).toLowerCase()==="nan"?NaN:U[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:z9.stringifyNumber},mL={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:(U)=>parseFloat(U.replace(/_/g,"")),stringify(U){let X=Number(U.value);return isFinite(X)?X.toExponential():z9.stringifyNumber(U)}},pL={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(U){let X=new hL.Scalar(parseFloat(U.replace(/_/g,""))),q=U.indexOf(".");if(q!==-1){let Z=U.substring(q+1).replace(/_/g,"");if(Z[Z.length-1]==="0")X.minFractionDigits=Z.length}return X},stringify:z9.stringifyNumber};lL.float=pL;lL.floatExp=mL;lL.floatNaN=uL});var V3=R((aL)=>{var O3=s1(),l2=(U)=>typeof U==="bigint"||Number.isInteger(U);function HU(U,X,q,{intAsBigInt:Z}){let Q=U[0];if(Q==="-"||Q==="+")X+=1;if(U=U.substring(X).replace(/_/g,""),Z){switch(q){case 2:U=`0b${U}`;break;case 8:U=`0o${U}`;break;case 16:U=`0x${U}`;break}let Y=BigInt(U);return Q==="-"?BigInt(-1)*Y:Y}let G=parseInt(U,q);return Q==="-"?-1*G:G}function F9(U,X,q){let{value:Z}=U;if(l2(Z)){let Q=Z.toString(X);return Z<0?"-"+q+Q.substr(1):q+Q}return O3.stringifyNumber(U)}var oL={identify:l2,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(U,X,q)=>HU(U,2,2,q),stringify:(U)=>F9(U,2,"0b")},sL={identify:l2,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(U,X,q)=>HU(U,1,8,q),stringify:(U)=>F9(U,8,"0")},rL={identify:l2,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(U,X,q)=>HU(U,0,10,q),stringify:O3.stringifyNumber},nL={identify:l2,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(U,X,q)=>HU(U,2,16,q),stringify:(U)=>F9(U,16,"0x")};aL.int=rL;aL.intBin=oL;aL.intHex=nL;aL.intOct=sL});var A9=R((Z_)=>{var LU=k(),JU=e0(),WU=X1();class O1 extends WU.YAMLMap{constructor(U){super(U);this.tag=O1.tag}add(U){let X;if(LU.isPair(U))X=U;else if(U&&typeof U==="object"&&"key"in U&&"value"in U&&U.value===null)X=new JU.Pair(U.key,null);else X=new JU.Pair(U,null);if(!WU.findPair(this.items,X.key))this.items.push(X)}get(U,X){let q=WU.findPair(this.items,U);return!X&&LU.isPair(q)?LU.isScalar(q.key)?q.key.value:q.key:q}set(U,X){if(typeof X!=="boolean")throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof X}`);let q=WU.findPair(this.items,U);if(q&&!X)this.items.splice(this.items.indexOf(q),1);else if(!q&&X)this.items.push(new JU.Pair(U))}toJSON(U,X){return super.toJSON(U,X,Set)}toString(U,X,q){if(!U)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},U,{allNullValues:!0}),X,q);else throw Error("Set items must all have null values")}static from(U,X,q){let{replacer:Z}=q,Q=new this(U);if(X&&Symbol.iterator in Object(X))for(let G of X){if(typeof Z==="function")G=Z.call(X,G,G);Q.items.push(JU.createPair(G,null,q))}return Q}}O1.tag="tag:yaml.org,2002:set";var q_={collection:"map",identify:(U)=>U instanceof Set,nodeClass:O1,default:!1,tag:"tag:yaml.org,2002:set",createNode:(U,X,q)=>O1.from(U,X,q),resolve(U,X){if(LU.isMap(U))if(U.hasAllNullValues(!0))return Object.assign(new O1,U);else X("Set items must all have null values");else X("Expected a mapping for this tag");return U}};Z_.YAMLSet=O1;Z_.set=q_});var O9=R((W_)=>{var Y_=s1();function T9(U,X){let q=U[0],Z=q==="-"||q==="+"?U.substring(1):U,Q=(Y)=>X?BigInt(Y):Number(Y),G=Z.replace(/_/g,"").split(":").reduce((Y,H)=>Y*Q(60)+Q(H),Q(0));return q==="-"?Q(-1)*G:G}function B3(U){let{value:X}=U,q=(Y)=>Y;if(typeof X==="bigint")q=(Y)=>BigInt(Y);else if(isNaN(X)||!isFinite(X))return Y_.stringifyNumber(U);let Z="";if(X<0)Z="-",X*=q(-1);let Q=q(60),G=[X%Q];if(X<60)G.unshift(0);else if(X=(X-G[0])/Q,G.unshift(X%Q),X>=60)X=(X-G[0])/Q,G.unshift(X);return Z+G.map((Y)=>String(Y).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var H_={identify:(U)=>typeof U==="bigint"||Number.isInteger(U),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(U,X,{intAsBigInt:q})=>T9(U,q),stringify:B3},J_={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:(U)=>T9(U,!1),stringify:B3},R3={identify:(U)=>U 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(U){let X=U.match(R3.test);if(!X)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,q,Z,Q,G,Y,H]=X.map(Number),J=X[7]?Number((X[7]+"00").substr(1,3)):0,W=Date.UTC(q,Z-1,Q,G||0,Y||0,H||0,J),_=X[8];if(_&&_!=="Z"){let L=T9(_,!1);if(Math.abs(L)<30)L*=60;W-=60000*L}return new Date(W)},stringify:({value:U})=>U?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};W_.floatTime=J_;W_.intTime=H_;W_.timestamp=R3});var M3=R((w_)=>{var z_=i1(),F_=qU(),A_=o1(),T_=u2(),O_=W9(),D3=A3(),V9=T3(),_U=V3(),V_=s6(),B_=$9(),R_=YU(),D_=A9(),B9=O9(),M_=[z_.map,A_.seq,T_.string,F_.nullTag,D3.trueTag,D3.falseTag,_U.intBin,_U.intOct,_U.int,_U.intHex,V9.floatNaN,V9.floatExp,V9.float,O_.binary,V_.merge,B_.omap,R_.pairs,D_.set,B9.intTime,B9.floatTime,B9.timestamp];w_.schema=M_});var j3=R((j_)=>{var K3=i1(),I_=qU(),N3=o1(),K_=u2(),N_=X9(),R9=Z9(),D9=G9(),C_=Q3(),S_=Y3(),C3=W9(),d2=s6(),S3=$9(),E3=YU(),w3=M3(),b3=A9(),$U=O9(),P3=new Map([["core",C_.schema],["failsafe",[K3.map,N3.seq,K_.string]],["json",S_.schema],["yaml11",w3.schema],["yaml-1.1",w3.schema]]),I3={binary:C3.binary,bool:N_.boolTag,float:R9.float,floatExp:R9.floatExp,floatNaN:R9.floatNaN,floatTime:$U.floatTime,int:D9.int,intHex:D9.intHex,intOct:D9.intOct,intTime:$U.intTime,map:K3.map,merge:d2.merge,null:I_.nullTag,omap:S3.omap,pairs:E3.pairs,seq:N3.seq,set:b3.set,timestamp:$U.timestamp},E_={"tag:yaml.org,2002:binary":C3.binary,"tag:yaml.org,2002:merge":d2.merge,"tag:yaml.org,2002:omap":S3.omap,"tag:yaml.org,2002:pairs":E3.pairs,"tag:yaml.org,2002:set":b3.set,"tag:yaml.org,2002:timestamp":$U.timestamp};function b_(U,X,q){let Z=P3.get(X);if(Z&&!U)return q&&!Z.includes(d2.merge)?Z.concat(d2.merge):Z.slice();let Q=Z;if(!Q)if(Array.isArray(U))Q=[];else{let G=Array.from(P3.keys()).filter((Y)=>Y!=="yaml11").map((Y)=>JSON.stringify(Y)).join(", ");throw Error(`Unknown schema "${X}"; use one of ${G} or define customTags array`)}if(Array.isArray(U))for(let G of U)Q=Q.concat(G);else if(typeof U==="function")Q=U(Q.slice());if(q)Q=Q.concat(d2.merge);return Q.reduce((G,Y)=>{let H=typeof Y==="string"?I3[Y]:Y;if(!H){let J=JSON.stringify(Y),W=Object.keys(I3).map((_)=>JSON.stringify(_)).join(", ");throw Error(`Unknown custom tag ${J}; use one of ${W}`)}if(!G.includes(H))G.push(H);return G},[])}j_.coreKnownTags=E_;j_.getTags=b_});var P9=R((h_)=>{var M9=k(),y_=i1(),k_=o1(),v_=u2(),zU=j3(),x_=(U,X)=>U.key<X.key?-1:U.key>X.key?1:0;class w9{constructor({compat:U,customTags:X,merge:q,resolveKnownTags:Z,schema:Q,sortMapEntries:G,toStringDefaults:Y}){this.compat=Array.isArray(U)?zU.getTags(U,"compat"):U?zU.getTags(null,U):null,this.name=typeof Q==="string"&&Q||"core",this.knownTags=Z?zU.coreKnownTags:{},this.tags=zU.getTags(X,this.name,q),this.toStringOptions=Y??null,Object.defineProperty(this,M9.MAP,{value:y_.map}),Object.defineProperty(this,M9.SCALAR,{value:v_.string}),Object.defineProperty(this,M9.SEQ,{value:k_.seq}),this.sortMapEntries=typeof G==="function"?G:G===!0?x_:null}clone(){let U=Object.create(w9.prototype,Object.getOwnPropertyDescriptors(this));return U.tags=this.tags.slice(),U}}h_.Schema=w9});var f3=R((l_)=>{var m_=k(),I9=k2(),c2=f2();function p_(U,X){let q=[],Z=X.directives===!0;if(X.directives!==!1&&U.directives){let J=U.directives.toString(U);if(J)q.push(J),Z=!0;else if(U.directives.docStart)Z=!0}if(Z)q.push("---");let Q=I9.createStringifyContext(U,X),{commentString:G}=Q.options;if(U.commentBefore){if(q.length!==1)q.unshift("");let J=G(U.commentBefore);q.unshift(c2.indentComment(J,""))}let Y=!1,H=null;if(U.contents){if(m_.isNode(U.contents)){if(U.contents.spaceBefore&&Z)q.push("");if(U.contents.commentBefore){let _=G(U.contents.commentBefore);q.push(c2.indentComment(_,""))}Q.forceBlockIndent=!!U.comment,H=U.contents.comment}let J=H?void 0:()=>Y=!0,W=I9.stringify(U.contents,Q,()=>H=null,J);if(H)W+=c2.lineComment(W,"",G(H));if((W[0]==="|"||W[0]===">")&&q[q.length-1]==="---")q[q.length-1]=`--- ${W}`;else q.push(W)}else q.push(I9.stringify(U.contents,Q));if(U.directives?.docEnd)if(U.comment){let J=G(U.comment);if(J.includes(`
|
|
55
|
-
`))q.push("..."),q.push(
|
|
54
|
+
${G.comment}`:Z.comment}Z=Q}U.items[q]=W4.isPair(Z)?Z:new O9.Pair(Z)}else X("Expected a sequence for this tag");return U}function A3(U,X,q){let{replacer:Z}=q,Q=new b_.YAMLSeq(U);Q.tag="tag:yaml.org,2002:pairs";let G=0;if(X&&Symbol.iterator in Object(X))for(let Y of X){if(typeof Z==="function")Y=Z.call(X,String(G++),Y);let H,J;if(Array.isArray(Y))if(Y.length===2)H=Y[0],J=Y[1];else throw TypeError(`Expected [key, value] tuple: ${Y}`);else if(Y&&Y instanceof Object){let W=Object.keys(Y);if(W.length===1)H=W[0],J=Y[H];else throw TypeError(`Expected tuple with one key, not ${W.length} keys`)}else H=Y;Q.items.push(O9.createPair(H,J,q))}return Q}var j_={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:F3,createNode:A3};f_.createPairs=A3;f_.pairs=j_;f_.resolvePairs=F3});var T9=R((h_)=>{var O3=k(),V9=a0(),s2=X1(),v_=q1(),V3=_4();class V1 extends v_.YAMLSeq{constructor(){super();this.add=s2.YAMLMap.prototype.add.bind(this),this.delete=s2.YAMLMap.prototype.delete.bind(this),this.get=s2.YAMLMap.prototype.get.bind(this),this.has=s2.YAMLMap.prototype.has.bind(this),this.set=s2.YAMLMap.prototype.set.bind(this),this.tag=V1.tag}toJSON(U,X){if(!X)return super.toJSON(U);let q=new Map;if(X?.onCreate)X.onCreate(q);for(let Z of this.items){let Q,G;if(O3.isPair(Z))Q=V9.toJS(Z.key,"",X),G=V9.toJS(Z.value,Q,X);else Q=V9.toJS(Z,"",X);if(q.has(Q))throw Error("Ordered maps must not include duplicate keys");q.set(Q,G)}return q}static from(U,X,q){let Z=V3.createPairs(U,X,q),Q=new this;return Q.items=Z.items,Q}}V1.tag="tag:yaml.org,2002:omap";var x_={collection:"seq",identify:(U)=>U instanceof Map,nodeClass:V1,default:!1,tag:"tag:yaml.org,2002:omap",resolve(U,X){let q=V3.resolvePairs(U,X),Z=[];for(let{key:Q}of q.items)if(O3.isScalar(Q))if(Z.includes(Q.value))X(`Ordered maps must not include duplicate keys: ${Q.value}`);else Z.push(Q.value);return Object.assign(new V1,q)},createNode:(U,X,q)=>V1.from(U,X,q)};h_.YAMLOMap=V1;h_.omap=x_});var M3=R((p_)=>{var T3=i();function B3({value:U,source:X},q){if(X&&(U?R3:D3).test.test(X))return X;return U?q.options.trueStr:q.options.falseStr}var R3={identify:(U)=>U===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new T3.Scalar(!0),stringify:B3},D3={identify:(U)=>U===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new T3.Scalar(!1),stringify:B3};p_.falseTag=D3;p_.trueTag=R3});var w3=R((r_)=>{var c_=i(),B9=r1(),i_={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(U)=>U.slice(-3).toLowerCase()==="nan"?NaN:U[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:B9.stringifyNumber},s_={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:(U)=>parseFloat(U.replace(/_/g,"")),stringify(U){let X=Number(U.value);return isFinite(X)?X.toExponential():B9.stringifyNumber(U)}},o_={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(U){let X=new c_.Scalar(parseFloat(U.replace(/_/g,""))),q=U.indexOf(".");if(q!==-1){let Z=U.substring(q+1).replace(/_/g,"");if(Z[Z.length-1]==="0")X.minFractionDigits=Z.length}return X},stringify:B9.stringifyNumber};r_.float=o_;r_.floatExp=s_;r_.floatNaN=i_});var I3=R((Z$)=>{var P3=r1(),o2=(U)=>typeof U==="bigint"||Number.isInteger(U);function $4(U,X,q,{intAsBigInt:Z}){let Q=U[0];if(Q==="-"||Q==="+")X+=1;if(U=U.substring(X).replace(/_/g,""),Z){switch(q){case 2:U=`0b${U}`;break;case 8:U=`0o${U}`;break;case 16:U=`0x${U}`;break}let Y=BigInt(U);return Q==="-"?BigInt(-1)*Y:Y}let G=parseInt(U,q);return Q==="-"?-1*G:G}function R9(U,X,q){let{value:Z}=U;if(o2(Z)){let Q=Z.toString(X);return Z<0?"-"+q+Q.substr(1):q+Q}return P3.stringifyNumber(U)}var e_={identify:o2,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(U,X,q)=>$4(U,2,2,q),stringify:(U)=>R9(U,2,"0b")},U$={identify:o2,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(U,X,q)=>$4(U,1,8,q),stringify:(U)=>R9(U,8,"0")},X$={identify:o2,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(U,X,q)=>$4(U,0,10,q),stringify:P3.stringifyNumber},q$={identify:o2,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(U,X,q)=>$4(U,2,16,q),stringify:(U)=>R9(U,16,"0x")};Z$.int=X$;Z$.intBin=e_;Z$.intHex=q$;Z$.intOct=U$});var D9=R((W$)=>{var F4=k(),L4=e0(),z4=X1();class T1 extends z4.YAMLMap{constructor(U){super(U);this.tag=T1.tag}add(U){let X;if(F4.isPair(U))X=U;else if(U&&typeof U==="object"&&"key"in U&&"value"in U&&U.value===null)X=new L4.Pair(U.key,null);else X=new L4.Pair(U,null);if(!z4.findPair(this.items,X.key))this.items.push(X)}get(U,X){let q=z4.findPair(this.items,U);return!X&&F4.isPair(q)?F4.isScalar(q.key)?q.key.value:q.key:q}set(U,X){if(typeof X!=="boolean")throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof X}`);let q=z4.findPair(this.items,U);if(q&&!X)this.items.splice(this.items.indexOf(q),1);else if(!q&&X)this.items.push(new L4.Pair(U))}toJSON(U,X){return super.toJSON(U,X,Set)}toString(U,X,q){if(!U)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},U,{allNullValues:!0}),X,q);else throw Error("Set items must all have null values")}static from(U,X,q){let{replacer:Z}=q,Q=new this(U);if(X&&Symbol.iterator in Object(X))for(let G of X){if(typeof Z==="function")G=Z.call(X,G,G);Q.items.push(L4.createPair(G,null,q))}return Q}}T1.tag="tag:yaml.org,2002:set";var J$={collection:"map",identify:(U)=>U instanceof Set,nodeClass:T1,default:!1,tag:"tag:yaml.org,2002:set",createNode:(U,X,q)=>T1.from(U,X,q),resolve(U,X){if(F4.isMap(U))if(U.hasAllNullValues(!0))return Object.assign(new T1,U);else X("Set items must all have null values");else X("Expected a mapping for this tag");return U}};W$.YAMLSet=T1;W$.set=J$});var w9=R((A$)=>{var L$=r1();function M9(U,X){let q=U[0],Z=q==="-"||q==="+"?U.substring(1):U,Q=(Y)=>X?BigInt(Y):Number(Y),G=Z.replace(/_/g,"").split(":").reduce((Y,H)=>Y*Q(60)+Q(H),Q(0));return q==="-"?Q(-1)*G:G}function K3(U){let{value:X}=U,q=(Y)=>Y;if(typeof X==="bigint")q=(Y)=>BigInt(Y);else if(isNaN(X)||!isFinite(X))return L$.stringifyNumber(U);let Z="";if(X<0)Z="-",X*=q(-1);let Q=q(60),G=[X%Q];if(X<60)G.unshift(0);else if(X=(X-G[0])/Q,G.unshift(X%Q),X>=60)X=(X-G[0])/Q,G.unshift(X);return Z+G.map((Y)=>String(Y).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var z$={identify:(U)=>typeof U==="bigint"||Number.isInteger(U),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(U,X,{intAsBigInt:q})=>M9(U,q),stringify:K3},F$={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:(U)=>M9(U,!1),stringify:K3},N3={identify:(U)=>U 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(U){let X=U.match(N3.test);if(!X)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,q,Z,Q,G,Y,H]=X.map(Number),J=X[7]?Number((X[7]+"00").substr(1,3)):0,W=Date.UTC(q,Z-1,Q,G||0,Y||0,H||0,J),$=X[8];if($&&$!=="Z"){let _=M9($,!1);if(Math.abs(_)<30)_*=60;W-=60000*_}return new Date(W)},stringify:({value:U})=>U?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};A$.floatTime=F$;A$.intTime=z$;A$.timestamp=N3});var S3=R((S$)=>{var B$=s1(),R$=Y4(),D$=o1(),M$=c2(),w$=A9(),C3=M3(),P9=w3(),A4=I3(),P$=t6(),I$=T9(),K$=_4(),N$=D9(),I9=w9(),C$=[B$.map,D$.seq,M$.string,R$.nullTag,C3.trueTag,C3.falseTag,A4.intBin,A4.intOct,A4.int,A4.intHex,P9.floatNaN,P9.floatExp,P9.float,w$.binary,P$.merge,I$.omap,K$.pairs,N$.set,I9.intTime,I9.floatTime,I9.timestamp];S$.schema=C$});var h3=R((x$)=>{var f3=s1(),b$=Y4(),y3=o1(),j$=c2(),f$=H9(),K9=W9(),N9=$9(),y$=$3(),g$=z3(),g3=A9(),r2=t6(),k3=T9(),v3=_4(),E3=S3(),x3=D9(),O4=w9(),b3=new Map([["core",y$.schema],["failsafe",[f3.map,y3.seq,j$.string]],["json",g$.schema],["yaml11",E3.schema],["yaml-1.1",E3.schema]]),j3={binary:g3.binary,bool:f$.boolTag,float:K9.float,floatExp:K9.floatExp,floatNaN:K9.floatNaN,floatTime:O4.floatTime,int:N9.int,intHex:N9.intHex,intOct:N9.intOct,intTime:O4.intTime,map:f3.map,merge:r2.merge,null:b$.nullTag,omap:k3.omap,pairs:v3.pairs,seq:y3.seq,set:x3.set,timestamp:O4.timestamp},k$={"tag:yaml.org,2002:binary":g3.binary,"tag:yaml.org,2002:merge":r2.merge,"tag:yaml.org,2002:omap":k3.omap,"tag:yaml.org,2002:pairs":v3.pairs,"tag:yaml.org,2002:set":x3.set,"tag:yaml.org,2002:timestamp":O4.timestamp};function v$(U,X,q){let Z=b3.get(X);if(Z&&!U)return q&&!Z.includes(r2.merge)?Z.concat(r2.merge):Z.slice();let Q=Z;if(!Q)if(Array.isArray(U))Q=[];else{let G=Array.from(b3.keys()).filter((Y)=>Y!=="yaml11").map((Y)=>JSON.stringify(Y)).join(", ");throw Error(`Unknown schema "${X}"; use one of ${G} or define customTags array`)}if(Array.isArray(U))for(let G of U)Q=Q.concat(G);else if(typeof U==="function")Q=U(Q.slice());if(q)Q=Q.concat(r2.merge);return Q.reduce((G,Y)=>{let H=typeof Y==="string"?j3[Y]:Y;if(!H){let J=JSON.stringify(Y),W=Object.keys(j3).map(($)=>JSON.stringify($)).join(", ");throw Error(`Unknown custom tag ${J}; use one of ${W}`)}if(!G.includes(H))G.push(H);return G},[])}x$.coreKnownTags=k$;x$.getTags=v$});var E9=R((c$)=>{var C9=k(),m$=s1(),p$=o1(),l$=c2(),V4=h3(),d$=(U,X)=>U.key<X.key?-1:U.key>X.key?1:0;class S9{constructor({compat:U,customTags:X,merge:q,resolveKnownTags:Z,schema:Q,sortMapEntries:G,toStringDefaults:Y}){this.compat=Array.isArray(U)?V4.getTags(U,"compat"):U?V4.getTags(null,U):null,this.name=typeof Q==="string"&&Q||"core",this.knownTags=Z?V4.coreKnownTags:{},this.tags=V4.getTags(X,this.name,q),this.toStringOptions=Y??null,Object.defineProperty(this,C9.MAP,{value:m$.map}),Object.defineProperty(this,C9.SCALAR,{value:l$.string}),Object.defineProperty(this,C9.SEQ,{value:p$.seq}),this.sortMapEntries=typeof G==="function"?G:G===!0?d$:null}clone(){let U=Object.create(S9.prototype,Object.getOwnPropertyDescriptors(this));return U.tags=this.tags.slice(),U}}c$.Schema=S9});var u3=R((r$)=>{var s$=k(),b9=m2(),a2=x2();function o$(U,X){let q=[],Z=X.directives===!0;if(X.directives!==!1&&U.directives){let J=U.directives.toString(U);if(J)q.push(J),Z=!0;else if(U.directives.docStart)Z=!0}if(Z)q.push("---");let Q=b9.createStringifyContext(U,X),{commentString:G}=Q.options;if(U.commentBefore){if(q.length!==1)q.unshift("");let J=G(U.commentBefore);q.unshift(a2.indentComment(J,""))}let Y=!1,H=null;if(U.contents){if(s$.isNode(U.contents)){if(U.contents.spaceBefore&&Z)q.push("");if(U.contents.commentBefore){let $=G(U.contents.commentBefore);q.push(a2.indentComment($,""))}Q.forceBlockIndent=!!U.comment,H=U.contents.comment}let J=H?void 0:()=>Y=!0,W=b9.stringify(U.contents,Q,()=>H=null,J);if(H)W+=a2.lineComment(W,"",G(H));if((W[0]==="|"||W[0]===">")&&q[q.length-1]==="---")q[q.length-1]=`--- ${W}`;else q.push(W)}else q.push(b9.stringify(U.contents,Q));if(U.directives?.docEnd)if(U.comment){let J=G(U.comment);if(J.includes(`
|
|
55
|
+
`))q.push("..."),q.push(a2.indentComment(J,""));else q.push(`... ${J}`)}else q.push("...");else{let J=U.comment;if(J&&Y)J=J.replace(/^\n+/,"");if(J){if((!Y||H)&&q[q.length-1]!=="")q.push("");q.push(a2.indentComment(G(J),""))}}return q.join(`
|
|
56
56
|
`)+`
|
|
57
|
-
`}
|
|
57
|
+
`}r$.stringifyDocument=o$});var n2=R((QL)=>{var n$=k2(),a1=i6(),B0=k(),t$=e0(),e$=a0(),UL=E9(),XL=u3(),j9=l6(),qL=nU(),ZL=v2(),f9=aU();class y9{constructor(U,X,q){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,B0.NODE_TYPE,{value:B0.DOC});let Z=null;if(typeof X==="function"||Array.isArray(X))Z=X;else if(q===void 0&&X)q=X,X=void 0;let Q=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},q);this.options=Q;let{version:G}=Q;if(q?._directives){if(this.directives=q._directives.atDocument(),this.directives.yaml.explicit)G=this.directives.yaml.version}else this.directives=new f9.Directives({version:G});this.setSchema(G,q),this.contents=U===void 0?null:this.createNode(U,Z,q)}clone(){let U=Object.create(y9.prototype,{[B0.NODE_TYPE]:{value:B0.DOC}});if(U.commentBefore=this.commentBefore,U.comment=this.comment,U.errors=this.errors.slice(),U.warnings=this.warnings.slice(),U.options=Object.assign({},this.options),this.directives)U.directives=this.directives.clone();if(U.schema=this.schema.clone(),U.contents=B0.isNode(this.contents)?this.contents.clone(U.schema):this.contents,this.range)U.range=this.range.slice();return U}add(U){if(n1(this.contents))this.contents.add(U)}addIn(U,X){if(n1(this.contents))this.contents.addIn(U,X)}createAlias(U,X){if(!U.anchor){let q=j9.anchorNames(this);U.anchor=!X||q.has(X)?j9.findNewAnchor(X||"a",q):X}return new n$.Alias(U.anchor)}createNode(U,X,q){let Z=void 0;if(typeof X==="function")U=X.call({"":U},"",U),Z=X;else if(Array.isArray(X)){let z=(D)=>typeof D==="number"||D instanceof String||D instanceof Number,V=X.filter(z).map(String);if(V.length>0)X=X.concat(V);Z=X}else if(q===void 0&&X)q=X,X=void 0;let{aliasDuplicateObjects:Q,anchorPrefix:G,flow:Y,keepUndefined:H,onTagObj:J,tag:W}=q??{},{onAnchor:$,setAnchors:_,sourceObjects:L}=j9.createNodeAnchors(this,G||"a"),A={aliasDuplicateObjects:Q??!0,keepUndefined:H??!1,onAnchor:$,onTagObj:J,replacer:Z,schema:this.schema,sourceObjects:L},B=ZL.createNode(U,W,A);if(Y&&B0.isCollection(B))B.flow=!0;return _(),B}createPair(U,X,q={}){let Z=this.createNode(U,null,q),Q=this.createNode(X,null,q);return new t$.Pair(Z,Q)}delete(U){return n1(this.contents)?this.contents.delete(U):!1}deleteIn(U){if(a1.isEmptyPath(U)){if(this.contents==null)return!1;return this.contents=null,!0}return n1(this.contents)?this.contents.deleteIn(U):!1}get(U,X){return B0.isCollection(this.contents)?this.contents.get(U,X):void 0}getIn(U,X){if(a1.isEmptyPath(U))return!X&&B0.isScalar(this.contents)?this.contents.value:this.contents;return B0.isCollection(this.contents)?this.contents.getIn(U,X):void 0}has(U){return B0.isCollection(this.contents)?this.contents.has(U):!1}hasIn(U){if(a1.isEmptyPath(U))return this.contents!==void 0;return B0.isCollection(this.contents)?this.contents.hasIn(U):!1}set(U,X){if(this.contents==null)this.contents=a1.collectionFromPath(this.schema,[U],X);else if(n1(this.contents))this.contents.set(U,X)}setIn(U,X){if(a1.isEmptyPath(U))this.contents=X;else if(this.contents==null)this.contents=a1.collectionFromPath(this.schema,Array.from(U),X);else if(n1(this.contents))this.contents.setIn(U,X)}setSchema(U,X={}){if(typeof U==="number")U=String(U);let q;switch(U){case"1.1":if(this.directives)this.directives.yaml.version="1.1";else this.directives=new f9.Directives({version:"1.1"});q={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":if(this.directives)this.directives.yaml.version=U;else this.directives=new f9.Directives({version:U});q={resolveKnownTags:!0,schema:"core"};break;case null:if(this.directives)delete this.directives;q=null;break;default:{let Z=JSON.stringify(U);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${Z}`)}}if(X.schema instanceof Object)this.schema=X.schema;else if(q)this.schema=new UL.Schema(Object.assign(q,X));else throw Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:U,jsonArg:X,mapAsMap:q,maxAliasCount:Z,onAnchor:Q,reviver:G}={}){let Y={anchors:new Map,doc:this,keep:!U,mapAsMap:q===!0,mapKeyWarned:!1,maxAliasCount:typeof Z==="number"?Z:100},H=e$.toJS(this.contents,X??"",Y);if(typeof Q==="function")for(let{count:J,res:W}of Y.anchors.values())Q(W,J);return typeof G==="function"?qL.applyReviver(G,{"":H},"",H):H}toJSON(U,X){return this.toJS({json:!0,jsonArg:U,mapAsMap:!1,onAnchor:X})}toString(U={}){if(this.errors.length>0)throw Error("Document with errors cannot be stringified");if("indent"in U&&(!Number.isInteger(U.indent)||Number(U.indent)<=0)){let X=JSON.stringify(U.indent);throw Error(`"indent" option must be a positive integer, not ${X}`)}return XL.stringifyDocument(this,U)}}function n1(U){if(B0.isCollection(U))return!0;throw Error("Expected a YAML collection as document contents")}QL.Document=y9});var t2=R((HL)=>{class T4 extends Error{constructor(U,X,q,Z){super();this.name=U,this.code=q,this.message=Z,this.pos=X}}class m3 extends T4{constructor(U,X,q){super("YAMLParseError",U,X,q)}}class p3 extends T4{constructor(U,X,q){super("YAMLWarning",U,X,q)}}var YL=(U,X)=>(q)=>{if(q.pos[0]===-1)return;q.linePos=q.pos.map((H)=>X.linePos(H));let{line:Z,col:Q}=q.linePos[0];q.message+=` at line ${Z}, column ${Q}`;let G=Q-1,Y=U.substring(X.lineStarts[Z-1],X.lineStarts[Z]).replace(/[\n\r]+$/,"");if(G>=60&&Y.length>80){let H=Math.min(G-39,Y.length-79);Y="…"+Y.substring(H),G-=H-1}if(Y.length>80)Y=Y.substring(0,79)+"…";if(Z>1&&/^ *$/.test(Y.substring(0,G))){let H=U.substring(X.lineStarts[Z-2],X.lineStarts[Z-1]);if(H.length>80)H=H.substring(0,79)+`…
|
|
58
58
|
`;Y=H+Y}if(/[^ ]/.test(Y)){let H=1,J=q.linePos[1];if(J?.line===Z&&J.col>Q)H=Math.max(1,Math.min(J.col-Q,80-G));let W=" ".repeat(G)+"^".repeat(H);q.message+=`:
|
|
59
59
|
|
|
60
60
|
${Y}
|
|
61
61
|
${W}
|
|
62
|
-
`}};
|
|
63
|
-
`))return!0;if(U.end){for(let X of U.end)if(X.type==="newline")return!0}return!1;case"flow-collection":for(let X of U.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(
|
|
64
|
-
`+z.comment;else H.comment=z.comment;continue}if(z.newlineAfterProp||
|
|
65
|
-
`+K.comment;else P.comment=K.comment;let C=new
|
|
66
|
-
`+j.comment;else W.comment=j.comment;
|
|
67
|
-
`+m;else w.comment=m;j.comment=j.comment.substring(m.length+1)}}}if(!Y&&!C&&!j.found){let m=N?U(q,N,j,Q):X(q,j.end,C,null,j,Q);if(W.items.push(m),
|
|
68
|
-
`+
|
|
69
|
-
`+
|
|
70
|
-
`.repeat(Math.max(1,Y.length-1)):"",
|
|
71
|
-
`;for(let z
|
|
72
|
-
`;else if(
|
|
73
|
-
`;else if(!A
|
|
74
|
-
`)
|
|
62
|
+
`}};HL.YAMLError=T4;HL.YAMLParseError=m3;HL.YAMLWarning=p3;HL.prettifyError=YL});var e2=R((zL)=>{function LL(U,{flow:X,indicator:q,next:Z,offset:Q,onError:G,parentIndent:Y,startOnNewline:H}){let J=!1,W=H,$=H,_="",L="",A=!1,B=!1,z=null,V=null,D=null,P=null,K=null,C=null,N=null;for(let w of U){if(B){if(w.type!=="space"&&w.type!=="newline"&&w.type!=="comma")G(w.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");B=!1}if(z){if(W&&w.type!=="comment"&&w.type!=="newline")G(z,"TAB_AS_INDENT","Tabs are not allowed as indentation");z=null}switch(w.type){case"space":if(!X&&(q!=="doc-start"||Z?.type!=="flow-collection")&&w.source.includes("\t"))z=w;$=!0;break;case"comment":{if(!$)G(w,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let s=w.source.substring(1)||" ";if(!_)_=s;else _+=L+s;L="",W=!1;break}case"newline":if(W){if(_)_+=w.source;else if(!C||q!=="seq-item-ind")J=!0}else L+=w.source;if(W=!0,A=!0,V||D)P=w;$=!0;break;case"anchor":if(V)G(w,"MULTIPLE_ANCHORS","A node can have at most one anchor");if(w.source.endsWith(":"))G(w.offset+w.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0);V=w,N??(N=w.offset),W=!1,$=!1,B=!0;break;case"tag":{if(D)G(w,"MULTIPLE_TAGS","A node can have at most one tag");D=w,N??(N=w.offset),W=!1,$=!1,B=!0;break}case q:if(V||D)G(w,"BAD_PROP_ORDER",`Anchors and tags must be after the ${w.source} indicator`);if(C)G(w,"UNEXPECTED_TOKEN",`Unexpected ${w.source} in ${X??"collection"}`);C=w,W=q==="seq-item-ind"||q==="explicit-key-ind",$=!1;break;case"comma":if(X){if(K)G(w,"UNEXPECTED_TOKEN",`Unexpected , in ${X}`);K=w,W=!1,$=!1;break}default:G(w,"UNEXPECTED_TOKEN",`Unexpected ${w.type} token`),W=!1,$=!1}}let j=U[U.length-1],m=j?j.offset+j.source.length:Q;if(B&&Z&&Z.type!=="space"&&Z.type!=="newline"&&Z.type!=="comma"&&(Z.type!=="scalar"||Z.source!==""))G(Z.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");if(z&&(W&&z.indent<=Y||Z?.type==="block-map"||Z?.type==="block-seq"))G(z,"TAB_AS_INDENT","Tabs are not allowed as indentation");return{comma:K,found:C,spaceBefore:J,comment:_,hasNewline:A,anchor:V,tag:D,newlineAfterProp:P,end:m,start:N??m}}zL.resolveProps=LL});var B4=R((AL)=>{function g9(U){if(!U)return null;switch(U.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(U.source.includes(`
|
|
63
|
+
`))return!0;if(U.end){for(let X of U.end)if(X.type==="newline")return!0}return!1;case"flow-collection":for(let X of U.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(g9(X.key)||g9(X.value))return!0}return!1;default:return!0}}AL.containsNewline=g9});var k9=R((BL)=>{var VL=B4();function TL(U,X,q){if(X?.type==="flow-collection"){let Z=X.end[0];if(Z.indent===U&&(Z.source==="]"||Z.source==="}")&&VL.containsNewline(X))q(Z,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}BL.flowIndentCheck=TL});var v9=R((ML)=>{var l3=k();function DL(U,X,q){let{uniqueKeys:Z}=U.options;if(Z===!1)return!1;let Q=typeof Z==="function"?Z:(G,Y)=>G===Y||l3.isScalar(G)&&l3.isScalar(Y)&&G.value===Y.value;return X.some((G)=>Q(G.key,q))}ML.mapIncludes=DL});var o3=R((CL)=>{var d3=e0(),PL=X1(),c3=e2(),IL=B4(),i3=k9(),KL=v9(),s3="All mapping items must start at the same column";function NL({composeNode:U,composeEmptyNode:X},q,Z,Q,G){let H=new(G?.nodeClass??PL.YAMLMap)(q.schema);if(q.atRoot)q.atRoot=!1;let J=Z.offset,W=null;for(let $ of Z.items){let{start:_,key:L,sep:A,value:B}=$,z=c3.resolveProps(_,{indicator:"explicit-key-ind",next:L??A?.[0],offset:J,onError:Q,parentIndent:Z.indent,startOnNewline:!0}),V=!z.found;if(V){if(L){if(L.type==="block-seq")Q(J,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key");else if("indent"in L&&L.indent!==Z.indent)Q(J,"BAD_INDENT",s3)}if(!z.anchor&&!z.tag&&!A){if(W=z.end,z.comment)if(H.comment)H.comment+=`
|
|
64
|
+
`+z.comment;else H.comment=z.comment;continue}if(z.newlineAfterProp||IL.containsNewline(L))Q(L??_[_.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else if(z.found?.indent!==Z.indent)Q(J,"BAD_INDENT",s3);q.atKey=!0;let D=z.end,P=L?U(q,L,z,Q):X(q,D,_,null,z,Q);if(q.schema.compat)i3.flowIndentCheck(Z.indent,L,Q);if(q.atKey=!1,KL.mapIncludes(q,H.items,P))Q(D,"DUPLICATE_KEY","Map keys must be unique");let K=c3.resolveProps(A??[],{indicator:"map-value-ind",next:B,offset:P.range[2],onError:Q,parentIndent:Z.indent,startOnNewline:!L||L.type==="block-scalar"});if(J=K.end,K.found){if(V){if(B?.type==="block-map"&&!K.hasNewline)Q(J,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings");if(q.options.strict&&z.start<K.found.offset-1024)Q(P.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key")}let C=B?U(q,B,K,Q):X(q,J,A,null,K,Q);if(q.schema.compat)i3.flowIndentCheck(Z.indent,B,Q);J=C.range[2];let N=new d3.Pair(P,C);if(q.options.keepSourceTokens)N.srcToken=$;H.items.push(N)}else{if(V)Q(P.range,"MISSING_CHAR","Implicit map keys need to be followed by map values");if(K.comment)if(P.comment)P.comment+=`
|
|
65
|
+
`+K.comment;else P.comment=K.comment;let C=new d3.Pair(P);if(q.options.keepSourceTokens)C.srcToken=$;H.items.push(C)}}if(W&&W<J)Q(W,"IMPOSSIBLE","Map comment with trailing content");return H.range=[Z.offset,J,W??J],H}CL.resolveBlockMap=NL});var r3=R((yL)=>{var EL=q1(),bL=e2(),jL=k9();function fL({composeNode:U,composeEmptyNode:X},q,Z,Q,G){let H=new(G?.nodeClass??EL.YAMLSeq)(q.schema);if(q.atRoot)q.atRoot=!1;if(q.atKey)q.atKey=!1;let J=Z.offset,W=null;for(let{start:$,value:_}of Z.items){let L=bL.resolveProps($,{indicator:"seq-item-ind",next:_,offset:J,onError:Q,parentIndent:Z.indent,startOnNewline:!0});if(!L.found)if(L.anchor||L.tag||_)if(_?.type==="block-seq")Q(L.end,"BAD_INDENT","All sequence items must start at the same column");else Q(J,"MISSING_CHAR","Sequence item without - indicator");else{if(W=L.end,L.comment)H.comment=L.comment;continue}let A=_?U(q,_,L,Q):X(q,L.end,$,null,L,Q);if(q.schema.compat)jL.flowIndentCheck(Z.indent,_,Q);J=A.range[2],H.items.push(A)}return H.range=[Z.offset,J,W??J],H}yL.resolveBlockSeq=fL});var t1=R((vL)=>{function kL(U,X,q,Z){let Q="";if(U){let G=!1,Y="";for(let H of U){let{source:J,type:W}=H;switch(W){case"space":G=!0;break;case"comment":{if(q&&!G)Z(H,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let $=J.substring(1)||" ";if(!Q)Q=$;else Q+=Y+$;Y="";break}case"newline":if(Q)Y+=J;G=!0;break;default:Z(H,"UNEXPECTED_TOKEN",`Unexpected ${W} at node end`)}X+=J.length}}return{comment:Q,offset:X}}vL.resolveEnd=kL});var t3=R((iL)=>{var hL=k(),uL=e0(),a3=X1(),mL=q1(),pL=t1(),n3=e2(),lL=B4(),dL=v9(),x9="Block collections are not allowed within flow collections",h9=(U)=>U&&(U.type==="block-map"||U.type==="block-seq");function cL({composeNode:U,composeEmptyNode:X},q,Z,Q,G){let Y=Z.start.source==="{",H=Y?"flow map":"flow sequence",W=new(G?.nodeClass??(Y?a3.YAMLMap:mL.YAMLSeq))(q.schema);W.flow=!0;let $=q.atRoot;if($)q.atRoot=!1;if(q.atKey)q.atKey=!1;let _=Z.offset+Z.start.source.length;for(let V=0;V<Z.items.length;++V){let D=Z.items[V],{start:P,key:K,sep:C,value:N}=D,j=n3.resolveProps(P,{flow:H,indicator:"explicit-key-ind",next:K??C?.[0],offset:_,onError:Q,parentIndent:Z.indent,startOnNewline:!1});if(!j.found){if(!j.anchor&&!j.tag&&!C&&!N){if(V===0&&j.comma)Q(j.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${H}`);else if(V<Z.items.length-1)Q(j.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${H}`);if(j.comment)if(W.comment)W.comment+=`
|
|
66
|
+
`+j.comment;else W.comment=j.comment;_=j.end;continue}if(!Y&&q.options.strict&&lL.containsNewline(K))Q(K,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(V===0){if(j.comma)Q(j.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${H}`)}else{if(!j.comma)Q(j.start,"MISSING_CHAR",`Missing , between ${H} items`);if(j.comment){let m="";U:for(let w of P)switch(w.type){case"comma":case"space":break;case"comment":m=w.source.substring(1);break U;default:break U}if(m){let w=W.items[W.items.length-1];if(hL.isPair(w))w=w.value??w.key;if(w.comment)w.comment+=`
|
|
67
|
+
`+m;else w.comment=m;j.comment=j.comment.substring(m.length+1)}}}if(!Y&&!C&&!j.found){let m=N?U(q,N,j,Q):X(q,j.end,C,null,j,Q);if(W.items.push(m),_=m.range[2],h9(N))Q(m.range,"BLOCK_IN_FLOW",x9)}else{q.atKey=!0;let m=j.end,w=K?U(q,K,j,Q):X(q,m,P,null,j,Q);if(h9(K))Q(w.range,"BLOCK_IN_FLOW",x9);q.atKey=!1;let s=n3.resolveProps(C??[],{flow:H,indicator:"map-value-ind",next:N,offset:w.range[2],onError:Q,parentIndent:Z.indent,startOnNewline:!1});if(s.found){if(!Y&&!j.found&&q.options.strict){if(C)for(let o of C){if(o===s.found)break;if(o.type==="newline"){Q(o,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}if(j.start<s.found.offset-1024)Q(s.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else if(N)if("source"in N&&N.source?.[0]===":")Q(N,"MISSING_CHAR",`Missing space after : in ${H}`);else Q(s.start,"MISSING_CHAR",`Missing , or : between ${H} items`);let m0=N?U(q,N,s,Q):s.found?X(q,s.end,C,null,s,Q):null;if(m0){if(h9(N))Q(m0.range,"BLOCK_IN_FLOW",x9)}else if(s.comment)if(w.comment)w.comment+=`
|
|
68
|
+
`+s.comment;else w.comment=s.comment;let D1=new uL.Pair(w,m0);if(q.options.keepSourceTokens)D1.srcToken=D;if(Y){let o=W;if(dL.mapIncludes(q,o.items,w))Q(m,"DUPLICATE_KEY","Map keys must be unique");o.items.push(D1)}else{let o=new a3.YAMLMap(q.schema);o.flow=!0,o.items.push(D1);let GX=(m0??w).range;o.range=[w.range[0],GX[1],GX[2]],W.items.push(o)}_=m0?m0.range[2]:s.end}}let L=Y?"}":"]",[A,...B]=Z.end,z=_;if(A?.source===L)z=A.offset+A.source.length;else{let V=H[0].toUpperCase()+H.substring(1),D=$?`${V} must end with a ${L}`:`${V} in block collection must be sufficiently indented and end with a ${L}`;if(Q(_,$?"MISSING_CHAR":"BAD_INDENT",D),A&&A.source.length!==1)B.unshift(A)}if(B.length>0){let V=pL.resolveEnd(B,z,q.options.strict,Q);if(V.comment)if(W.comment)W.comment+=`
|
|
69
|
+
`+V.comment;else W.comment=V.comment;W.range=[Z.offset,z,V.offset]}else W.range=[Z.offset,z,z];return W}iL.resolveFlowCollection=cL});var e3=R((qz)=>{var oL=k(),rL=i(),aL=X1(),nL=q1(),tL=o3(),eL=r3(),Uz=t3();function u9(U,X,q,Z,Q,G){let Y=q.type==="block-map"?tL.resolveBlockMap(U,X,q,Z,G):q.type==="block-seq"?eL.resolveBlockSeq(U,X,q,Z,G):Uz.resolveFlowCollection(U,X,q,Z,G),H=Y.constructor;if(Q==="!"||Q===H.tagName)return Y.tag=H.tagName,Y;if(Q)Y.tag=Q;return Y}function Xz(U,X,q,Z,Q){let G=Z.tag,Y=!G?null:X.directives.tagName(G.source,(L)=>Q(G,"TAG_RESOLVE_FAILED",L));if(q.type==="block-seq"){let{anchor:L,newlineAfterProp:A}=Z,B=L&&G?L.offset>G.offset?L:G:L??G;if(B&&(!A||A.offset<B.offset))Q(B,"MISSING_CHAR","Missing newline after block sequence props")}let H=q.type==="block-map"?"map":q.type==="block-seq"?"seq":q.start.source==="{"?"map":"seq";if(!G||!Y||Y==="!"||Y===aL.YAMLMap.tagName&&H==="map"||Y===nL.YAMLSeq.tagName&&H==="seq")return u9(U,X,q,Q,Y);let J=X.schema.tags.find((L)=>L.tag===Y&&L.collection===H);if(!J){let L=X.schema.knownTags[Y];if(L?.collection===H)X.schema.tags.push(Object.assign({},L,{default:!1})),J=L;else{if(L)Q(G,"BAD_COLLECTION_TYPE",`${L.tag} used for ${H} collection, but expects ${L.collection??"scalar"}`,!0);else Q(G,"TAG_RESOLVE_FAILED",`Unresolved tag: ${Y}`,!0);return u9(U,X,q,Q,Y)}}let W=u9(U,X,q,Q,Y,J),$=J.resolve?.(W,(L)=>Q(G,"TAG_RESOLVE_FAILED",L),X.options)??W,_=oL.isNode($)?$:new rL.Scalar($);if(_.range=W.range,_.tag=Y,J?.format)_.format=J.format;return _}qz.composeCollection=Xz});var p9=R((Hz)=>{var m9=i();function Qz(U,X,q){let Z=X.offset,Q=Gz(X,U.options.strict,q);if(!Q)return{value:"",type:null,comment:"",range:[Z,Z,Z]};let G=Q.mode===">"?m9.Scalar.BLOCK_FOLDED:m9.Scalar.BLOCK_LITERAL,Y=X.source?Yz(X.source):[],H=Y.length;for(let z=Y.length-1;z>=0;--z){let V=Y[z][1];if(V===""||V==="\r")H=z;else break}if(H===0){let z=Q.chomp==="+"&&Y.length>0?`
|
|
70
|
+
`.repeat(Math.max(1,Y.length-1)):"",V=Z+Q.length;if(X.source)V+=X.source.length;return{value:z,type:G,comment:Q.comment,range:[Z,V,V]}}let J=X.indent+Q.indent,W=X.offset+Q.length,$=0;for(let z=0;z<H;++z){let[V,D]=Y[z];if(D===""||D==="\r"){if(Q.indent===0&&V.length>J)J=V.length}else{if(V.length<J)q(W+V.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator");if(Q.indent===0)J=V.length;if($=z,J===0&&!U.atRoot)q(W,"BAD_INDENT","Block scalar values in collections must be indented");break}W+=V.length+D.length+1}for(let z=Y.length-1;z>=H;--z)if(Y[z][0].length>J)H=z+1;let _="",L="",A=!1;for(let z=0;z<$;++z)_+=Y[z][0].slice(J)+`
|
|
71
|
+
`;for(let z=$;z<H;++z){let[V,D]=Y[z];W+=V.length+D.length+1;let P=D[D.length-1]==="\r";if(P)D=D.slice(0,-1);if(D&&V.length<J){let C=`Block scalar lines must not be less indented than their ${Q.indent?"explicit indentation indicator":"first line"}`;q(W-D.length-(P?2:1),"BAD_INDENT",C),V=""}if(G===m9.Scalar.BLOCK_LITERAL)_+=L+V.slice(J)+D,L=`
|
|
72
|
+
`;else if(V.length>J||D[0]==="\t"){if(L===" ")L=`
|
|
73
|
+
`;else if(!A&&L===`
|
|
74
|
+
`)L=`
|
|
75
75
|
|
|
76
|
-
`;L
|
|
77
|
-
`,A=!0}else if(D==="")if(
|
|
78
|
-
`)
|
|
79
|
-
`;else
|
|
80
|
-
`;else L
|
|
81
|
-
`+Y[z][0].slice(J);if(
|
|
82
|
-
`)
|
|
83
|
-
`;break;default:
|
|
84
|
-
`}let B=Z+Q.length+X.source.length;return{value:
|
|
76
|
+
`;_+=L+V.slice(J)+D,L=`
|
|
77
|
+
`,A=!0}else if(D==="")if(L===`
|
|
78
|
+
`)_+=`
|
|
79
|
+
`;else L=`
|
|
80
|
+
`;else _+=L+D,L=" ",A=!1}switch(Q.chomp){case"-":break;case"+":for(let z=H;z<Y.length;++z)_+=`
|
|
81
|
+
`+Y[z][0].slice(J);if(_[_.length-1]!==`
|
|
82
|
+
`)_+=`
|
|
83
|
+
`;break;default:_+=`
|
|
84
|
+
`}let B=Z+Q.length+X.source.length;return{value:_,type:G,comment:Q.comment,range:[Z,B,B]}}function Gz({offset:U,props:X},q,Z){if(X[0].type!=="block-scalar-header")return Z(X[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:Q}=X[0],G=Q[0],Y=0,H="",J=-1;for(let L=1;L<Q.length;++L){let A=Q[L];if(!H&&(A==="-"||A==="+"))H=A;else{let B=Number(A);if(!Y&&B)Y=B;else if(J===-1)J=U+L}}if(J!==-1)Z(J,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${Q}`);let W=!1,$="",_=Q.length;for(let L=1;L<X.length;++L){let A=X[L];switch(A.type){case"space":W=!0;case"newline":_+=A.source.length;break;case"comment":if(q&&!W)Z(A,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");_+=A.source.length,$=A.source.substring(1);break;case"error":Z(A,"UNEXPECTED_TOKEN",A.message),_+=A.source.length;break;default:{let B=`Unexpected token in block scalar header: ${A.type}`;Z(A,"UNEXPECTED_TOKEN",B);let z=A.source;if(z&&typeof z==="string")_+=z.length}}}return{mode:G,indent:Y,chomp:H,comment:$,length:_}}function Yz(U){let X=U.split(/\n( *)/),q=X[0],Z=q.match(/^( *)/),G=[Z?.[1]?[Z[1],q.slice(Z[1].length)]:["",q]];for(let Y=1;Y<X.length;Y+=2)G.push([X[Y],X[Y+1]]);return G}Hz.resolveBlockScalar=Qz});var d9=R((Vz)=>{var l9=i(),Wz=t1();function _z(U,X,q){let{offset:Z,type:Q,source:G,end:Y}=U,H,J,W=(L,A,B)=>q(Z+L,A,B);switch(Q){case"scalar":H=l9.Scalar.PLAIN,J=$z(G,W);break;case"single-quoted-scalar":H=l9.Scalar.QUOTE_SINGLE,J=Lz(G,W);break;case"double-quoted-scalar":H=l9.Scalar.QUOTE_DOUBLE,J=zz(G,W);break;default:return q(U,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${Q}`),{value:"",type:null,comment:"",range:[Z,Z+G.length,Z+G.length]}}let $=Z+G.length,_=Wz.resolveEnd(Y,$,X,q);return{value:J,type:H,comment:_.comment,range:[Z,$,_.offset]}}function $z(U,X){let q="";switch(U[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 ${U[0]}`;break}case"@":case"`":{q=`reserved character ${U[0]}`;break}}if(q)X(0,"BAD_SCALAR_START",`Plain value cannot start with ${q}`);return UQ(U)}function Lz(U,X){if(U[U.length-1]!=="'"||U.length===1)X(U.length,"MISSING_CHAR","Missing closing 'quote");return UQ(U.slice(1,-1)).replace(/''/g,"'")}function UQ(U){let X,q;try{X=new RegExp(`(.*?)(?<![ ])[ ]*\r?
|
|
85
85
|
`,"sy"),q=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
|
|
86
86
|
`,"sy")}catch{X=/(.*?)[ \t]*\r?\n/sy,q=/[ \t]*(.*?)[ \t]*\r?\n/sy}let Z=X.exec(U);if(!Z)return U;let Q=Z[1],G=" ",Y=X.lastIndex;q.lastIndex=Y;while(Z=q.exec(U)){if(Z[1]==="")if(G===`
|
|
87
87
|
`)Q+=G;else G=`
|
|
88
|
-
`;else Q+=G+Z[1],G=" ";Y=q.lastIndex}let H=/[ \t]*(.*)/sy;return H.lastIndex=Y,Z=H.exec(U),Q+G+(Z?.[1]??"")}function
|
|
88
|
+
`;else Q+=G+Z[1],G=" ";Y=q.lastIndex}let H=/[ \t]*(.*)/sy;return H.lastIndex=Y,Z=H.exec(U),Q+G+(Z?.[1]??"")}function zz(U,X){let q="";for(let Z=1;Z<U.length-1;++Z){let Q=U[Z];if(Q==="\r"&&U[Z+1]===`
|
|
89
89
|
`)continue;if(Q===`
|
|
90
|
-
`){let{fold:G,offset:Y}=
|
|
90
|
+
`){let{fold:G,offset:Y}=Fz(U,Z);q+=G,Z=Y}else if(Q==="\\"){let G=U[++Z],Y=Az[G];if(Y)q+=Y;else if(G===`
|
|
91
91
|
`){G=U[Z+1];while(G===" "||G==="\t")G=U[++Z+1]}else if(G==="\r"&&U[Z+1]===`
|
|
92
|
-
`){G=U[++Z+1];while(G===" "||G==="\t")G=U[++Z+1]}else if(G==="x"||G==="u"||G==="U"){let H={x:2,u:4,U:8}[G];q+=
|
|
92
|
+
`){G=U[++Z+1];while(G===" "||G==="\t")G=U[++Z+1]}else if(G==="x"||G==="u"||G==="U"){let H={x:2,u:4,U:8}[G];q+=Oz(U,Z+1,H,X),Z+=H}else{let H=U.substr(Z-1,2);X(Z-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${H}`),q+=H}}else if(Q===" "||Q==="\t"){let G=Z,Y=U[Z+1];while(Y===" "||Y==="\t")Y=U[++Z+1];if(Y!==`
|
|
93
93
|
`&&!(Y==="\r"&&U[Z+2]===`
|
|
94
|
-
`))q+=Z>G?U.slice(G,Z+1):Q}else q+=Q}if(U[U.length-1]!=='"'||U.length===1)X(U.length,"MISSING_CHAR",'Missing closing "quote');return q}function
|
|
94
|
+
`))q+=Z>G?U.slice(G,Z+1):Q}else q+=Q}if(U[U.length-1]!=='"'||U.length===1)X(U.length,"MISSING_CHAR",'Missing closing "quote');return q}function Fz(U,X){let q="",Z=U[X+1];while(Z===" "||Z==="\t"||Z===`
|
|
95
95
|
`||Z==="\r"){if(Z==="\r"&&U[X+2]!==`
|
|
96
96
|
`)break;if(Z===`
|
|
97
97
|
`)q+=`
|
|
98
|
-
`;X+=1,Z=U[X+1]}if(!q)q=" ";return{fold:q,offset:X}}var
|
|
99
|
-
`,r:"\r",t:"\t",v:"\v",N:"
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function
|
|
98
|
+
`;X+=1,Z=U[X+1]}if(!q)q=" ";return{fold:q,offset:X}}var Az={"0":"\x00",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
|
|
99
|
+
`,r:"\r",t:"\t",v:"\v",N:"
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function Oz(U,X,q,Z){let Q=U.substr(X,q),Y=Q.length===q&&/^[0-9a-fA-F]+$/.test(Q)?parseInt(Q,16):NaN;if(isNaN(Y)){let H=U.substr(X-2,q+2);return Z(X-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${H}`),H}return String.fromCodePoint(Y)}Vz.resolveFlowScalar=_z});var qQ=R((Pz)=>{var B1=k(),XQ=i(),Bz=p9(),Rz=d9();function Dz(U,X,q,Z){let{value:Q,type:G,comment:Y,range:H}=X.type==="block-scalar"?Bz.resolveBlockScalar(U,X,Z):Rz.resolveFlowScalar(X,U.options.strict,Z),J=q?U.directives.tagName(q.source,(_)=>Z(q,"TAG_RESOLVE_FAILED",_)):null,W;if(U.options.stringKeys&&U.atKey)W=U.schema[B1.SCALAR];else if(J)W=Mz(U.schema,Q,J,q,Z);else if(X.type==="scalar")W=wz(U,Q,X,Z);else W=U.schema[B1.SCALAR];let $;try{let _=W.resolve(Q,(L)=>Z(q??X,"TAG_RESOLVE_FAILED",L),U.options);$=B1.isScalar(_)?_:new XQ.Scalar(_)}catch(_){let L=_ instanceof Error?_.message:String(_);Z(q??X,"TAG_RESOLVE_FAILED",L),$=new XQ.Scalar(Q)}if($.range=H,$.source=Q,G)$.type=G;if(J)$.tag=J;if(W.format)$.format=W.format;if(Y)$.comment=Y;return $}function Mz(U,X,q,Z,Q){if(q==="!")return U[B1.SCALAR];let G=[];for(let H of U.tags)if(!H.collection&&H.tag===q)if(H.default&&H.test)G.push(H);else return H;for(let H of G)if(H.test?.test(X))return H;let Y=U.knownTags[q];if(Y&&!Y.collection)return U.tags.push(Object.assign({},Y,{default:!1,test:void 0})),Y;return Q(Z,"TAG_RESOLVE_FAILED",`Unresolved tag: ${q}`,q!=="tag:yaml.org,2002:str"),U[B1.SCALAR]}function wz({atKey:U,directives:X,schema:q},Z,Q,G){let Y=q.tags.find((H)=>(H.default===!0||U&&H.default==="key")&&H.test?.test(Z))||q[B1.SCALAR];if(q.compat){let H=q.compat.find((J)=>J.default&&J.test?.test(Z))??q[B1.SCALAR];if(Y.tag!==H.tag){let J=X.tagString(Y.tag),W=X.tagString(H.tag),$=`Value may be parsed as either ${J} or ${W}`;G(Q,"TAG_RESOLVE_FAILED",$,!0)}}return Y}Pz.composeScalar=Dz});var ZQ=R((Nz)=>{function Kz(U,X,q){if(X){q??(q=X.length);for(let Z=q-1;Z>=0;--Z){let Q=X[Z];switch(Q.type){case"space":case"comment":case"newline":U-=Q.source.length;continue}Q=X[++Z];while(Q?.type==="space")U+=Q.source.length,Q=X[++Z];break}}return U}Nz.emptyScalarPosition=Kz});var YQ=R((kz)=>{var Sz=k2(),Ez=k(),bz=e3(),QQ=qQ(),jz=t1(),fz=ZQ(),yz={composeNode:GQ,composeEmptyNode:c9};function GQ(U,X,q,Z){let Q=U.atKey,{spaceBefore:G,comment:Y,anchor:H,tag:J}=q,W,$=!0;switch(X.type){case"alias":if(W=gz(U,X,Z),H||J)Z(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(W=QQ.composeScalar(U,X,J,Z),H)W.anchor=H.source.substring(1);break;case"block-map":case"block-seq":case"flow-collection":if(W=bz.composeCollection(yz,U,X,q,Z),H)W.anchor=H.source.substring(1);break;default:{let _=X.type==="error"?X.message:`Unsupported token (type: ${X.type})`;Z(X,"UNEXPECTED_TOKEN",_),W=c9(U,X.offset,void 0,null,q,Z),$=!1}}if(H&&W.anchor==="")Z(H,"BAD_ALIAS","Anchor cannot be an empty string");if(Q&&U.options.stringKeys&&(!Ez.isScalar(W)||typeof W.value!=="string"||W.tag&&W.tag!=="tag:yaml.org,2002:str"))Z(J??X,"NON_STRING_KEY","With stringKeys, all keys must be strings");if(G)W.spaceBefore=!0;if(Y)if(X.type==="scalar"&&X.source==="")W.comment=Y;else W.commentBefore=Y;if(U.options.keepSourceTokens&&$)W.srcToken=X;return W}function c9(U,X,q,Z,{spaceBefore:Q,comment:G,anchor:Y,tag:H,end:J},W){let $={type:"scalar",offset:fz.emptyScalarPosition(X,q,Z),indent:-1,source:""},_=QQ.composeScalar(U,$,H,W);if(Y){if(_.anchor=Y.source.substring(1),_.anchor==="")W(Y,"BAD_ALIAS","Anchor cannot be an empty string")}if(Q)_.spaceBefore=!0;if(G)_.comment=G,_.range[2]=J;return _}function gz({options:U},{offset:X,source:q,end:Z},Q){let G=new Sz.Alias(q.substring(1));if(G.source==="")Q(X,"BAD_ALIAS","Alias cannot be an empty string");if(G.source.endsWith(":"))Q(X+q.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let Y=X+q.length,H=jz.resolveEnd(Z,Y,U.strict,Q);if(G.range=[X,Y,H.offset],H.comment)G.comment=H.comment;return G}kz.composeEmptyNode=c9;kz.composeNode=GQ});var JQ=R((lz)=>{var hz=n2(),HQ=YQ(),uz=t1(),mz=e2();function pz(U,X,{offset:q,start:Z,value:Q,end:G},Y){let H=Object.assign({_directives:X},U),J=new hz.Document(void 0,H),W={atKey:!1,atRoot:!0,directives:J.directives,options:J.options,schema:J.schema},$=mz.resolveProps(Z,{indicator:"doc-start",next:Q??G?.[0],offset:q,onError:Y,parentIndent:0,startOnNewline:!0});if($.found){if(J.directives.docStart=!0,Q&&(Q.type==="block-map"||Q.type==="block-seq")&&!$.hasNewline)Y($.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")}J.contents=Q?HQ.composeNode(W,Q,$,Y):HQ.composeEmptyNode(W,$.end,Z,null,$,Y);let _=J.contents.range[2],L=uz.resolveEnd(G,_,!1,Y);if(L.comment)J.comment=L.comment;return J.range=[q,_,L.offset],J}lz.composeDoc=pz});var i9=R((az)=>{var cz=M1("process"),iz=aU(),sz=n2(),U6=t2(),WQ=k(),oz=JQ(),rz=t1();function X6(U){if(typeof U==="number")return[U,U+1];if(Array.isArray(U))return U.length===2?U:[U[0],U[1]];let{offset:X,source:q}=U;return[X,X+(typeof q==="string"?q.length:1)]}function _Q(U){let X="",q=!1,Z=!1;for(let Q=0;Q<U.length;++Q){let G=U[Q];switch(G[0]){case"#":X+=(X===""?"":Z?`
|
|
100
100
|
|
|
101
101
|
`:`
|
|
102
|
-
`)+(G.substring(1)||" "),q=!0,Z=!1;break;case"%":if(U[Q+1]?.[0]!=="#")Q+=1;q=!1;break;default:if(!q)Z=!0;q=!1}}return{comment:X,afterEmptyLine:Z}}class
|
|
103
|
-
${q}`:q;else if(Z||U.directives.docStart||!Q)U.commentBefore=q;else if(
|
|
102
|
+
`)+(G.substring(1)||" "),q=!0,Z=!1;break;case"%":if(U[Q+1]?.[0]!=="#")Q+=1;q=!1;break;default:if(!q)Z=!0;q=!1}}return{comment:X,afterEmptyLine:Z}}class $Q{constructor(U={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(X,q,Z,Q)=>{let G=X6(X);if(Q)this.warnings.push(new U6.YAMLWarning(G,q,Z));else this.errors.push(new U6.YAMLParseError(G,q,Z))},this.directives=new iz.Directives({version:U.version||"1.2"}),this.options=U}decorate(U,X){let{comment:q,afterEmptyLine:Z}=_Q(this.prelude);if(q){let Q=U.contents;if(X)U.comment=U.comment?`${U.comment}
|
|
103
|
+
${q}`:q;else if(Z||U.directives.docStart||!Q)U.commentBefore=q;else if(WQ.isCollection(Q)&&!Q.flow&&Q.items.length>0){let G=Q.items[0];if(WQ.isPair(G))G=G.key;let Y=G.commentBefore;G.commentBefore=Y?`${q}
|
|
104
104
|
${Y}`:q}else{let G=Q.commentBefore;Q.commentBefore=G?`${q}
|
|
105
|
-
${G}`:q}}if(X)Array.prototype.push.apply(U.errors,this.errors),Array.prototype.push.apply(U.warnings,this.warnings);else U.errors=this.errors,U.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:
|
|
106
|
-
${X.comment}`:X.comment}this.doc.range[2]=X.offset;break}default:this.errors.push(new
|
|
105
|
+
${G}`:q}}if(X)Array.prototype.push.apply(U.errors,this.errors),Array.prototype.push.apply(U.warnings,this.warnings);else U.errors=this.errors,U.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:_Q(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(U,X=!1,q=-1){for(let Z of U)yield*this.next(Z);yield*this.end(X,q)}*next(U){if(cz.env.LOG_STREAM)console.dir(U,{depth:null});switch(U.type){case"directive":this.directives.add(U.source,(X,q,Z)=>{let Q=X6(U);Q[0]+=X,this.onError(Q,"BAD_DIRECTIVE",q,Z)}),this.prelude.push(U.source),this.atDirectives=!0;break;case"document":{let X=oz.composeDoc(this.options,this.directives,U,this.onError);if(this.atDirectives&&!X.directives.docStart)this.onError(U,"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(U.source);break;case"error":{let X=U.source?`${U.message}: ${JSON.stringify(U.source)}`:U.message,q=new U6.YAMLParseError(X6(U),"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 U6.YAMLParseError(X6(U),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let X=rz.resolveEnd(U.end,U.offset+U.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}
|
|
106
|
+
${X.comment}`:X.comment}this.doc.range[2]=X.offset;break}default:this.errors.push(new U6.YAMLParseError(X6(U),"UNEXPECTED_TOKEN",`Unsupported token ${U.type}`))}}*end(U=!1,X=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(U){let q=Object.assign({_directives:this.directives},this.options),Z=new sz.Document(void 0,q);if(this.atDirectives)this.onError(X,"MISSING_CHAR","Missing directives-end indicator line");Z.range=[0,X,X],this.decorate(Z,!1),yield Z}}}az.Composer=$Q});var FQ=R((GF)=>{var tz=p9(),ez=d9(),UF=t2(),LQ=u2();function XF(U,X=!0,q){if(U){let Z=(Q,G,Y)=>{let H=typeof Q==="number"?Q:Array.isArray(Q)?Q[0]:Q.offset;if(q)q(H,G,Y);else throw new UF.YAMLParseError([H,H+1],G,Y)};switch(U.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return ez.resolveFlowScalar(U,X,Z);case"block-scalar":return tz.resolveBlockScalar({options:{strict:X}},U,Z)}}return null}function qF(U,X){let{implicitKey:q=!1,indent:Z,inFlow:Q=!1,offset:G=-1,type:Y="PLAIN"}=X,H=LQ.stringifyString({type:Y,value:U},{implicitKey:q,indent:Z>0?" ".repeat(Z):"",inFlow:Q,options:{blockQuote:!0,lineWidth:-1}}),J=X.end??[{type:"newline",offset:-1,indent:Z,source:`
|
|
107
107
|
`}];switch(H[0]){case"|":case">":{let W=H.indexOf(`
|
|
108
|
-
`)
|
|
109
|
-
|
|
110
|
-
`});return{type:"block-scalar",offset:G,indent:Z,props
|
|
108
|
+
`),$=H.substring(0,W),_=H.substring(W+1)+`
|
|
109
|
+
`,L=[{type:"block-scalar-header",offset:G,indent:Z,source:$}];if(!zQ(L,J))L.push({type:"newline",offset:-1,indent:Z,source:`
|
|
110
|
+
`});return{type:"block-scalar",offset:G,indent:Z,props:L,source:_}}case'"':return{type:"double-quoted-scalar",offset:G,indent:Z,source:H,end:J};case"'":return{type:"single-quoted-scalar",offset:G,indent:Z,source:H,end:J};default:return{type:"scalar",offset:G,indent:Z,source:H,end:J}}}function ZF(U,X,q={}){let{afterKey:Z=!1,implicitKey:Q=!1,inFlow:G=!1,type:Y}=q,H="indent"in U?U.indent:null;if(Z&&typeof H==="number")H+=2;if(!Y)switch(U.type){case"single-quoted-scalar":Y="QUOTE_SINGLE";break;case"double-quoted-scalar":Y="QUOTE_DOUBLE";break;case"block-scalar":{let W=U.props[0];if(W.type!=="block-scalar-header")throw Error("Invalid block scalar header");Y=W.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:Y="PLAIN"}let J=LQ.stringifyString({type:Y,value:X},{implicitKey:Q||H===null,indent:H!==null&&H>0?" ".repeat(H):"",inFlow:G,options:{blockQuote:!0,lineWidth:-1}});switch(J[0]){case"|":case">":QF(U,J);break;case'"':s9(U,J,"double-quoted-scalar");break;case"'":s9(U,J,"single-quoted-scalar");break;default:s9(U,J,"scalar")}}function QF(U,X){let q=X.indexOf(`
|
|
111
111
|
`),Z=X.substring(0,q),Q=X.substring(q+1)+`
|
|
112
|
-
`;if(U.type==="block-scalar"){let G=U.props[0];if(G.type!=="block-scalar-header")throw Error("Invalid block scalar header");G.source=Z,U.source=Q}else{let{offset:G}=U,Y="indent"in U?U.indent:-1,H=[{type:"block-scalar-header",offset:G,indent:Y,source:Z}];if(!
|
|
113
|
-
`});for(let J of Object.keys(U))if(J!=="type"&&J!=="offset")delete U[J];Object.assign(U,{type:"block-scalar",indent:Y,props:H,source:Q})}}function
|
|
114
|
-
`};delete U.items,Object.assign(U,{type:q,source:X,end:[Q]});break}default:{let Z="indent"in U?U.indent:-1,Q="end"in U&&Array.isArray(U.end)?U.end.filter((G)=>G.type==="space"||G.type==="comment"||G.type==="newline"):[];for(let G of Object.keys(U))if(G!=="type"&&G!=="offset")delete U[G];Object.assign(U,{type:q,indent:Z,source:X,end:Q})}}}
|
|
112
|
+
`;if(U.type==="block-scalar"){let G=U.props[0];if(G.type!=="block-scalar-header")throw Error("Invalid block scalar header");G.source=Z,U.source=Q}else{let{offset:G}=U,Y="indent"in U?U.indent:-1,H=[{type:"block-scalar-header",offset:G,indent:Y,source:Z}];if(!zQ(H,"end"in U?U.end:void 0))H.push({type:"newline",offset:-1,indent:Y,source:`
|
|
113
|
+
`});for(let J of Object.keys(U))if(J!=="type"&&J!=="offset")delete U[J];Object.assign(U,{type:"block-scalar",indent:Y,props:H,source:Q})}}function zQ(U,X){if(X)for(let q of X)switch(q.type){case"space":case"comment":U.push(q);break;case"newline":return U.push(q),!0}return!1}function s9(U,X,q){switch(U.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":U.type=q,U.source=X;break;case"block-scalar":{let Z=U.props.slice(1),Q=X.length;if(U.props[0].type==="block-scalar-header")Q-=U.props[0].source.length;for(let G of Z)G.offset+=Q;delete U.props,Object.assign(U,{type:q,source:X,end:Z});break}case"block-map":case"block-seq":{let Q={type:"newline",offset:U.offset+X.length,indent:U.indent,source:`
|
|
114
|
+
`};delete U.items,Object.assign(U,{type:q,source:X,end:[Q]});break}default:{let Z="indent"in U?U.indent:-1,Q="end"in U&&Array.isArray(U.end)?U.end.filter((G)=>G.type==="space"||G.type==="comment"||G.type==="newline"):[];for(let G of Object.keys(U))if(G!=="type"&&G!=="offset")delete U[G];Object.assign(U,{type:q,indent:Z,source:X,end:Q})}}}GF.createScalarToken=qF;GF.resolveAsScalar=XF;GF.setScalarValue=ZF});var AQ=R((_F)=>{var WF=(U)=>("type"in U)?D4(U):R4(U);function D4(U){switch(U.type){case"block-scalar":{let X="";for(let q of U.props)X+=D4(q);return X+U.source}case"block-map":case"block-seq":{let X="";for(let q of U.items)X+=R4(q);return X}case"flow-collection":{let X=U.start.source;for(let q of U.items)X+=R4(q);for(let q of U.end)X+=q.source;return X}case"document":{let X=R4(U);if(U.end)for(let q of U.end)X+=q.source;return X}default:{let X=U.source;if("end"in U&&U.end)for(let q of U.end)X+=q.source;return X}}}function R4({start:U,key:X,sep:q,value:Z}){let Q="";for(let G of U)Q+=G.source;if(X)Q+=D4(X);if(q)for(let G of q)Q+=G.source;if(Z)Q+=D4(Z);return Q}_F.stringify=WF});var TQ=R((zF)=>{var o9=Symbol("break visit"),LF=Symbol("skip children"),OQ=Symbol("remove item");function R1(U,X){if("type"in U&&U.type==="document")U={start:U.start,value:U.value};VQ(Object.freeze([]),U,X)}R1.BREAK=o9;R1.SKIP=LF;R1.REMOVE=OQ;R1.itemAtPath=(U,X)=>{let q=U;for(let[Z,Q]of X){let G=q?.[Z];if(G&&"items"in G)q=G.items[Q];else return}return q};R1.parentCollection=(U,X)=>{let q=R1.itemAtPath(U,X.slice(0,-1)),Z=X[X.length-1][0],Q=q?.[Z];if(Q&&"items"in Q)return Q;throw Error("Parent collection not found")};function VQ(U,X,q){let Z=q(X,U);if(typeof Z==="symbol")return Z;for(let Q of["key","value"]){let G=X[Q];if(G&&"items"in G){for(let Y=0;Y<G.items.length;++Y){let H=VQ(Object.freeze(U.concat([[Q,Y]])),G.items[Y],q);if(typeof H==="number")Y=H-1;else if(H===o9)return o9;else if(H===OQ)G.items.splice(Y,1),Y-=1}if(typeof Z==="function"&&Q==="key")Z=Z(X,U)}}return typeof Z==="function"?Z(X,U):Z}zF.visit=R1});var M4=R((DF)=>{var r9=FQ(),AF=AQ(),OF=TQ(),a9="\uFEFF",n9="\x02",t9="\x18",e9="\x1F",VF=(U)=>!!U&&("items"in U),TF=(U)=>!!U&&(U.type==="scalar"||U.type==="single-quoted-scalar"||U.type==="double-quoted-scalar"||U.type==="block-scalar");function BF(U){switch(U){case a9:return"<BOM>";case n9:return"<DOC>";case t9:return"<FLOW_END>";case e9:return"<SCALAR>";default:return JSON.stringify(U)}}function RF(U){switch(U){case a9:return"byte-order-mark";case n9:return"doc-mode";case t9:return"flow-error-end";case e9:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
|
|
115
115
|
`:case`\r
|
|
116
|
-
`: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(U[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}
|
|
117
|
-
`:case"\r":case"\t":return!0;default:return!1}}var
|
|
118
|
-
\r `),
|
|
116
|
+
`: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(U[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}DF.createScalarToken=r9.createScalarToken;DF.resolveAsScalar=r9.resolveAsScalar;DF.setScalarValue=r9.setScalarValue;DF.stringify=AF.stringify;DF.visit=OF.visit;DF.BOM=a9;DF.DOCUMENT=n9;DF.FLOW_END=t9;DF.SCALAR=e9;DF.isCollection=VF;DF.isScalar=TF;DF.prettyToken=BF;DF.tokenType=RF});var XX=R((vF)=>{var q6=M4();function K0(U){switch(U){case void 0:case" ":case`
|
|
117
|
+
`:case"\r":case"\t":return!0;default:return!1}}var BQ=new Set("0123456789ABCDEFabcdef"),gF=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),w4=new Set(",[]{}"),kF=new Set(` ,[]{}
|
|
118
|
+
\r `),UX=(U)=>!U||kF.has(U);class RQ{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(U,X=!1){if(U){if(typeof U!=="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+U:U,this.lineEndPos=null}this.atEnd=!X;let q=this.next??"stream";while(q&&(X||this.hasChars(1)))q=yield*this.parseNext(q)}atLineEnd(){let U=this.pos,X=this.buffer[U];while(X===" "||X==="\t")X=this.buffer[++U];if(!X||X==="#"||X===`
|
|
119
119
|
`)return!0;if(X==="\r")return this.buffer[U+1]===`
|
|
120
120
|
`;return!1}charAt(U){return this.buffer[this.pos+U]}continueScalar(U){let X=this.buffer[U];if(this.indentNext>0){let q=0;while(X===" ")X=this.buffer[++q+U];if(X==="\r"){let Z=this.buffer[q+U+1];if(Z===`
|
|
121
121
|
`||!Z&&!this.atEnd)return U+q+1}return X===`
|
|
122
|
-
`||q>=this.indentNext||!X&&!this.atEnd?U+q:-1}if(X==="-"||X==="."){let q=this.buffer.substr(U,3);if((q==="---"||q==="...")&&
|
|
123
|
-
`,this.pos),this.lineEndPos=U;if(U===-1)return this.atEnd?this.buffer.substring(this.pos):null;if(this.buffer[U-1]==="\r")U-=1;return this.buffer.substring(this.pos,U)}hasChars(U){return this.pos+U<=this.buffer.length}setNext(U){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=U,null}peek(U){return this.buffer.substr(this.pos,U)}*parseNext(U){switch(U){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 U=this.getLine();if(U===null)return this.setNext("stream");if(U[0]===
|
|
122
|
+
`||q>=this.indentNext||!X&&!this.atEnd?U+q:-1}if(X==="-"||X==="."){let q=this.buffer.substr(U,3);if((q==="---"||q==="...")&&K0(this.buffer[U+3]))return-1}return U}getLine(){let U=this.lineEndPos;if(typeof U!=="number"||U!==-1&&U<this.pos)U=this.buffer.indexOf(`
|
|
123
|
+
`,this.pos),this.lineEndPos=U;if(U===-1)return this.atEnd?this.buffer.substring(this.pos):null;if(this.buffer[U-1]==="\r")U-=1;return this.buffer.substring(this.pos,U)}hasChars(U){return this.pos+U<=this.buffer.length}setNext(U){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=U,null}peek(U){return this.buffer.substr(this.pos,U)}*parseNext(U){switch(U){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 U=this.getLine();if(U===null)return this.setNext("stream");if(U[0]===q6.BOM)yield*this.pushCount(1),U=U.substring(1);if(U[0]==="%"){let X=U.length,q=U.indexOf("#");while(q!==-1){let Q=U[q-1];if(Q===" "||Q==="\t"){X=q-1;break}else q=U.indexOf("#",q+1)}while(!0){let Q=U[X-1];if(Q===" "||Q==="\t")X-=1;else break}let Z=(yield*this.pushCount(X))+(yield*this.pushSpaces(!0));return yield*this.pushCount(U.length-Z),this.pushNewline(),"stream"}if(this.atLineEnd()){let X=yield*this.pushSpaces(!0);return yield*this.pushCount(U.length-X),yield*this.pushNewline(),"stream"}return yield q6.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let U=this.charAt(0);if(!U&&!this.atEnd)return this.setNext("line-start");if(U==="-"||U==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let X=this.peek(3);if((X==="---"||X==="...")&&K0(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&&!K0(this.charAt(1)))this.indentNext=this.indentValue;return yield*this.parseBlockStart()}*parseBlockStart(){let[U,X]=this.peek(2);if(!X&&!this.atEnd)return this.setNext("block-start");if((U==="-"||U==="?"||U===":")&&K0(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 U=this.getLine();if(U===null)return this.setNext("doc");let X=yield*this.pushIndicators();switch(U[X]){case"#":yield*this.pushCount(U.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(UX),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return X+=yield*this.parseBlockScalarHeader(),X+=yield*this.pushSpaces(!0),yield*this.pushCount(U.length-X),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let U,X,q=-1;do{if(U=yield*this.pushNewline(),U>0)X=yield*this.pushSpaces(!1),this.indentValue=q=X;else X=0;X+=yield*this.pushSpaces(!0)}while(U+X>0);let Z=this.getLine();if(Z===null)return this.setNext("flow");if(q!==-1&&q<this.indentNext&&Z[0]!=="#"||q===0&&(Z.startsWith("---")||Z.startsWith("..."))&&K0(Z[3])){if(!(q===this.indentNext-1&&this.flowLevel===1&&(Z[0]==="]"||Z[0]==="}")))return this.flowLevel=0,yield q6.FLOW_END,yield*this.parseLineStart()}let Q=0;while(Z[Q]===",")Q+=yield*this.pushCount(1),Q+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(Q+=yield*this.pushIndicators(),Z[Q]){case void 0:return"flow";case"#":return yield*this.pushCount(Z.length-Q),"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(UX),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let G=this.charAt(1);if(this.flowKey||K0(G)||G===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let U=this.charAt(0),X=this.buffer.indexOf(U,this.pos+1);if(U==="'")while(X!==-1&&this.buffer[X+1]==="'")X=this.buffer.indexOf("'",X+2);else while(X!==-1){let Q=0;while(this.buffer[X-1-Q]==="\\")Q+=1;if(Q%2===0)break;X=this.buffer.indexOf('"',X+1)}let q=this.buffer.substring(0,X),Z=q.indexOf(`
|
|
124
124
|
`,this.pos);if(Z!==-1){while(Z!==-1){let Q=this.continueScalar(Z+1);if(Q===-1)break;Z=q.indexOf(`
|
|
125
|
-
`,Q)}if(Z!==-1)X=Z-(q[Z-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 U=this.pos;while(!0){let X=this.buffer[++U];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)=>
|
|
125
|
+
`,Q)}if(Z!==-1)X=Z-(q[Z-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 U=this.pos;while(!0){let X=this.buffer[++U];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)=>K0(X)||X==="#")}*parseBlockScalar(){let U=this.pos-1,X=0,q;U:for(let Q=this.pos;q=this.buffer[Q];++Q)switch(q){case" ":X+=1;break;case`
|
|
126
126
|
`:U=Q,X=0;break;case"\r":{let G=this.buffer[Q+1];if(!G&&!this.atEnd)return this.setNext("block-scalar");if(G===`
|
|
127
127
|
`)break}default:break U}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 Q=this.continueScalar(U+1);if(Q===-1)break;U=this.buffer.indexOf(`
|
|
128
128
|
`,Q)}while(U!==-1);if(U===-1){if(!this.atEnd)return this.setNext("block-scalar");U=this.buffer.length}}let Z=U+1;q=this.buffer[Z];while(q===" ")q=this.buffer[++Z];if(q==="\t"){while(q==="\t"||q===" "||q==="\r"||q===`
|
|
129
129
|
`)q=this.buffer[++Z];U=Z-1}else if(!this.blockScalarKeep)do{let Q=U-1,G=this.buffer[Q];if(G==="\r")G=this.buffer[--Q];let Y=Q;while(G===" ")G=this.buffer[--Q];if(G===`
|
|
130
|
-
`&&Q>=this.pos&&Q+1+X>Y)U=Q;else break}while(!0);return yield
|
|
130
|
+
`&&Q>=this.pos&&Q+1+X>Y)U=Q;else break}while(!0);return yield q6.SCALAR,yield*this.pushToIndex(U+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let U=this.flowLevel>0,X=this.pos-1,q=this.pos-1,Z;while(Z=this.buffer[++q])if(Z===":"){let Q=this.buffer[q+1];if(K0(Q)||U&&w4.has(Q))break;X=q}else if(K0(Z)){let Q=this.buffer[q+1];if(Z==="\r")if(Q===`
|
|
131
131
|
`)q+=1,Z=`
|
|
132
|
-
`,Q=this.buffer[q+1];else X=q;if(Q==="#"||U&&
|
|
133
|
-
`){let G=this.continueScalar(q+1);if(G===-1)break;q=Math.max(q,G-2)}}else{if(U&&
|
|
132
|
+
`,Q=this.buffer[q+1];else X=q;if(Q==="#"||U&&w4.has(Q))break;if(Z===`
|
|
133
|
+
`){let G=this.continueScalar(q+1);if(G===-1)break;q=Math.max(q,G-2)}}else{if(U&&w4.has(Z))break;X=q}if(!Z&&!this.atEnd)return this.setNext("plain-scalar");return yield q6.SCALAR,yield*this.pushToIndex(X+1,!0),U?"flow":"doc"}*pushCount(U){if(U>0)return yield this.buffer.substr(this.pos,U),this.pos+=U,U;return 0}*pushToIndex(U,X){let q=this.buffer.slice(this.pos,U);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(UX))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let U=this.flowLevel>0,X=this.charAt(1);if(K0(X)||U&&w4.has(X)){if(!U)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 U=this.pos+2,X=this.buffer[U];while(!K0(X)&&X!==">")X=this.buffer[++U];return yield*this.pushToIndex(X===">"?U+1:U,!1)}else{let U=this.pos+1,X=this.buffer[U];while(X)if(gF.has(X))X=this.buffer[++U];else if(X==="%"&&BQ.has(this.buffer[U+1])&&BQ.has(this.buffer[U+2]))X=this.buffer[U+=3];else break;return yield*this.pushToIndex(U,!1)}}*pushNewline(){let U=this.buffer[this.pos];if(U===`
|
|
134
134
|
`)return yield*this.pushCount(1);else if(U==="\r"&&this.charAt(1)===`
|
|
135
|
-
`)return yield*this.pushCount(2);else return 0}*pushSpaces(U){let X=this.pos-1,q;do q=this.buffer[++X];while(q===" "||U&&q==="\t");let Z=X-this.pos;if(Z>0)yield this.buffer.substr(this.pos,Z),this.pos=X;return Z}*pushUntil(U){let X=this.pos,q=this.buffer[X];while(!U(q))q=this.buffer[++X];return yield*this.pushToIndex(X,!1)}}
|
|
135
|
+
`)return yield*this.pushCount(2);else return 0}*pushSpaces(U){let X=this.pos-1,q;do q=this.buffer[++X];while(q===" "||U&&q==="\t");let Z=X-this.pos;if(Z>0)yield this.buffer.substr(this.pos,Z),this.pos=X;return Z}*pushUntil(U){let X=this.pos,q=this.buffer[X];while(!U(q))q=this.buffer[++X];return yield*this.pushToIndex(X,!1)}}vF.Lexer=RQ});var qX=R((hF)=>{class DQ{constructor(){this.lineStarts=[],this.addNewLine=(U)=>this.lineStarts.push(U),this.linePos=(U)=>{let X=0,q=this.lineStarts.length;while(X<q){let Q=X+q>>1;if(this.lineStarts[Q]<U)X=Q+1;else q=Q}if(this.lineStarts[X]===U)return{line:X+1,col:1};if(X===0)return{line:0,col:U};let Z=this.lineStarts[X-1];return{line:X,col:U-Z+1}}}}hF.LineCounter=DQ});var ZX=R((lF)=>{var mF=M1("process"),MQ=M4(),pF=XX();function Z1(U,X){for(let q=0;q<U.length;++q)if(U[q].type===X)return!0;return!1}function wQ(U){for(let X=0;X<U.length;++X)switch(U[X].type){case"space":case"comment":case"newline":break;default:return X}return-1}function IQ(U){switch(U?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function P4(U){switch(U.type){case"document":return U.start;case"block-map":{let X=U.items[U.items.length-1];return X.sep??X.start}case"block-seq":return U.items[U.items.length-1].start;default:return[]}}function e1(U){if(U.length===0)return[];let X=U.length;U:while(--X>=0)switch(U[X].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break U}while(U[++X]?.type==="space");return U.splice(X,U.length)}function PQ(U){if(U.start.type==="flow-seq-start"){for(let X of U.items)if(X.sep&&!X.value&&!Z1(X.start,"explicit-key-ind")&&!Z1(X.sep,"map-value-ind")){if(X.key)X.value=X.key;if(delete X.key,IQ(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 KQ{constructor(U){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new pF.Lexer,this.onNewLine=U}*parse(U,X=!1){if(this.onNewLine&&this.offset===0)this.onNewLine(0);for(let q of this.lexer.lex(U,X))yield*this.next(q);if(!X)yield*this.end()}*next(U){if(this.source=U,mF.env.LOG_TOKENS)console.log("|",MQ.prettyToken(U));if(this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=U.length;return}let X=MQ.tokenType(U);if(!X){let q=`Not a YAML token: ${U}`;yield*this.pop({type:"error",offset:this.offset,message:q,source:U}),this.offset+=U.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+U.length);break;case"space":if(this.atNewLine&&U[0]===" ")this.indent+=U.length;break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":if(this.atNewLine)this.indent+=U.length;break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=U.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 U=this.peek(1);if(this.type==="doc-end"&&U?.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(!U)return yield*this.stream();switch(U.type){case"document":return yield*this.document(U);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(U);case"block-scalar":return yield*this.blockScalar(U);case"block-map":return yield*this.blockMap(U);case"block-seq":return yield*this.blockSequence(U);case"flow-collection":return yield*this.flowCollection(U);case"doc-end":return yield*this.documentEnd(U)}yield*this.pop()}peek(U){return this.stack[this.stack.length-U]}*pop(U){let X=U??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")PQ(X);switch(q.type){case"document":q.value=X;break;case"block-scalar":q.props.push(X);break;case"block-map":{let Z=q.items[q.items.length-1];if(Z.value){q.items.push({start:[],key:X,sep:[]}),this.onKeyLine=!0;return}else if(Z.sep)Z.value=X;else{Object.assign(Z,{key:X,sep:[]}),this.onKeyLine=!Z.explicitKey;return}break}case"block-seq":{let Z=q.items[q.items.length-1];if(Z.value)q.items.push({start:[],value:X});else Z.value=X;break}case"flow-collection":{let Z=q.items[q.items.length-1];if(!Z||Z.value)q.items.push({start:[],key:X,sep:[]});else if(Z.sep)Z.value=X;else Object.assign(Z,{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 Z=X.items[X.items.length-1];if(Z&&!Z.sep&&!Z.value&&Z.start.length>0&&wQ(Z.start)===-1&&(X.indent===0||Z.start.every((Q)=>Q.type!=="comment"||Q.indent<X.indent))){if(q.type==="document")q.end=Z.start;else q.items.push({start:Z.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 U={type:"document",offset:this.offset,start:[]};if(this.type==="doc-start")U.start.push(this.sourceToken);this.stack.push(U);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(U){if(U.value)return yield*this.lineEnd(U);switch(this.type){case"doc-start":{if(wQ(U.start)!==-1)yield*this.pop(),yield*this.step();else U.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":U.start.push(this.sourceToken);return}let X=this.startBlockValue(U);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(U){if(this.type==="map-value-ind"){let X=P4(this.peek(2)),q=e1(X),Z;if(U.end)Z=U.end,Z.push(this.sourceToken),delete U.end;else Z=[this.sourceToken];let Q={type:"block-map",offset:U.offset,indent:U.indent,items:[{start:q,key:U,sep:Z}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=Q}else yield*this.lineEnd(U)}*blockScalar(U){switch(this.type){case"space":case"comment":case"newline":U.props.push(this.sourceToken);return;case"scalar":if(U.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let X=this.source.indexOf(`
|
|
136
136
|
`)+1;while(X!==0)this.onNewLine(this.offset+X),X=this.source.indexOf(`
|
|
137
|
-
`,X)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(U){let X=U.items[U.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 U.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)U.items.push({start:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else{if(this.atIndentedComment(X.start,U.indent)){let Z=U.items[U.items.length-2]?.value?.end;if(Array.isArray(Z)){Array.prototype.push.apply(Z,X.start),Z.push(this.sourceToken),U.items.pop();return}}X.start.push(this.sourceToken)}return}if(this.indent>=U.indent){let q=!this.onKeyLine&&this.indent===U.indent,Z=q&&(X.sep||X.explicitKey)&&this.type!=="seq-item-ind",Q=[];if(Z&&X.sep&&!X.value){let G=[];for(let Y=0;Y<X.sep.length;++Y){let H=X.sep[Y];switch(H.type){case"newline":G.push(Y);break;case"space":break;case"comment":if(H.indent>U.indent)G.length=0;break;default:G.length=0}}if(G.length>=2)Q=X.sep.splice(G[1])}switch(this.type){case"anchor":case"tag":if(Z||X.value)Q.push(this.sourceToken),U.items.push({start:Q}),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(Z||X.value)Q.push(this.sourceToken),U.items.push({start:Q,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(Z1(X.start,"newline"))Object.assign(X,{key:null,sep:[this.sourceToken]});else{let G=
|
|
137
|
+
`,X)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(U){let X=U.items[U.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 U.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)U.items.push({start:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else{if(this.atIndentedComment(X.start,U.indent)){let Z=U.items[U.items.length-2]?.value?.end;if(Array.isArray(Z)){Array.prototype.push.apply(Z,X.start),Z.push(this.sourceToken),U.items.pop();return}}X.start.push(this.sourceToken)}return}if(this.indent>=U.indent){let q=!this.onKeyLine&&this.indent===U.indent,Z=q&&(X.sep||X.explicitKey)&&this.type!=="seq-item-ind",Q=[];if(Z&&X.sep&&!X.value){let G=[];for(let Y=0;Y<X.sep.length;++Y){let H=X.sep[Y];switch(H.type){case"newline":G.push(Y);break;case"space":break;case"comment":if(H.indent>U.indent)G.length=0;break;default:G.length=0}}if(G.length>=2)Q=X.sep.splice(G[1])}switch(this.type){case"anchor":case"tag":if(Z||X.value)Q.push(this.sourceToken),U.items.push({start:Q}),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(Z||X.value)Q.push(this.sourceToken),U.items.push({start:Q,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(Z1(X.start,"newline"))Object.assign(X,{key:null,sep:[this.sourceToken]});else{let G=e1(X.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:G,key:null,sep:[this.sourceToken]}]})}else if(X.value)U.items.push({start:[],key:null,sep:[this.sourceToken]});else if(Z1(X.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Q,key:null,sep:[this.sourceToken]}]});else if(IQ(X.key)&&!Z1(X.sep,"newline")){let G=e1(X.start),Y=X.key,H=X.sep;H.push(this.sourceToken),delete X.key,delete X.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:G,key:Y,sep:H}]})}else if(Q.length>0)X.sep=X.sep.concat(Q,this.sourceToken);else X.sep.push(this.sourceToken);else if(!X.sep)Object.assign(X,{key:null,sep:[this.sourceToken]});else if(X.value||Z)U.items.push({start:Q,key:null,sep:[this.sourceToken]});else if(Z1(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 G=this.flowScalar(this.type);if(Z||X.value)U.items.push({start:Q,key:G,sep:[]}),this.onKeyLine=!0;else if(X.sep)this.stack.push(G);else Object.assign(X,{key:G,sep:[]}),this.onKeyLine=!0;return}default:{let G=this.startBlockValue(U);if(G){if(G.type==="block-seq"){if(!X.explicitKey&&X.sep&&!Z1(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)U.items.push({start:Q});this.stack.push(G);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(U){let X=U.items[U.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 U.items.push({start:[this.sourceToken]})}else X.start.push(this.sourceToken);return;case"space":case"comment":if(X.value)U.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(X.start,U.indent)){let Z=U.items[U.items.length-2]?.value?.end;if(Array.isArray(Z)){Array.prototype.push.apply(Z,X.start),Z.push(this.sourceToken),U.items.pop();return}}X.start.push(this.sourceToken)}return;case"anchor":case"tag":if(X.value||this.indent<=U.indent)break;X.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==U.indent)break;if(X.value||Z1(X.start,"seq-item-ind"))U.items.push({start:[this.sourceToken]});else X.start.push(this.sourceToken);return}if(this.indent>U.indent){let q=this.startBlockValue(U);if(q){this.stack.push(q);return}}yield*this.pop(),yield*this.step()}*flowCollection(U){let X=U.items[U.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(U.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":if(!X||X.sep)U.items.push({start:[this.sourceToken]});else X.start.push(this.sourceToken);return;case"map-value-ind":if(!X||X.value)U.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)U.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 Z=this.flowScalar(this.type);if(!X||X.value)U.items.push({start:[],key:Z,sep:[]});else if(X.sep)this.stack.push(Z);else Object.assign(X,{key:Z,sep:[]});return}case"flow-map-end":case"flow-seq-end":U.end.push(this.sourceToken);return}let q=this.startBlockValue(U);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===U.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 Z=P4(q),Q=e1(Z);PQ(U);let G=U.end.splice(1,U.end.length);G.push(this.sourceToken);let Y={type:"block-map",offset:U.offset,indent:U.indent,items:[{start:Q,key:U,sep:G}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=Y}else yield*this.lineEnd(U)}}flowScalar(U){if(this.onNewLine){let X=this.source.indexOf(`
|
|
138
138
|
`)+1;while(X!==0)this.onNewLine(this.offset+X),X=this.source.indexOf(`
|
|
139
|
-
`,X)+1}return{type:U,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(U){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=RU(U),q=t1(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=RU(U),q=t1(X);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:q,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(U,X){if(this.type!=="comment")return!1;if(this.indent<=X)return!1;return U.every((q)=>q.type==="newline"||q.type==="space")}*documentEnd(U){if(this.type!=="doc-mode"){if(U.end)U.end.push(this.sourceToken);else U.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd(U){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(U.end)U.end.push(this.sourceToken);else U.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}vF.Parser=BQ});var PQ=R((iF)=>{var RQ=u9(),hF=i2(),t2=o2(),uF=n4(),mF=k(),pF=n9(),DQ=a9();function MQ(U){let X=U.prettyErrors!==!1;return{lineCounter:U.lineCounter||X&&new pF.LineCounter||null,prettyErrors:X}}function lF(U,X={}){let{lineCounter:q,prettyErrors:Z}=MQ(X),Q=new DQ.Parser(q?.addNewLine),G=new RQ.Composer(X),Y=Array.from(G.compose(Q.parse(U)));if(Z&&q)for(let H of Y)H.errors.forEach(t2.prettifyError(U,q)),H.warnings.forEach(t2.prettifyError(U,q));if(Y.length>0)return Y;return Object.assign([],{empty:!0},G.streamInfo())}function wQ(U,X={}){let{lineCounter:q,prettyErrors:Z}=MQ(X),Q=new DQ.Parser(q?.addNewLine),G=new RQ.Composer(X),Y=null;for(let H of G.compose(Q.parse(U),!0,U.length))if(!Y)Y=H;else if(Y.options.logLevel!=="silent"){Y.errors.push(new t2.YAMLParseError(H.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(Z&&q)Y.errors.forEach(t2.prettifyError(U,q)),Y.warnings.forEach(t2.prettifyError(U,q));return Y}function dF(U,X,q){let Z=void 0;if(typeof X==="function")Z=X;else if(q===void 0&&X&&typeof X==="object")q=X;let Q=wQ(U,q);if(!Q)return null;if(Q.warnings.forEach((G)=>uF.warn(Q.options.logLevel,G)),Q.errors.length>0)if(Q.options.logLevel!=="silent")throw Q.errors[0];else Q.errors=[];return Q.toJS(Object.assign({reviver:Z},q))}function cF(U,X,q){let Z=null;if(typeof X==="function"||Array.isArray(X))Z=X;else if(q===void 0&&X)q=X;if(typeof q==="string")q=q.length;if(typeof q==="number"){let Q=Math.round(q);q=Q<1?void 0:Q>8?{indent:8}:{indent:Q}}if(U===void 0){let{keepUndefined:Q}=q??X??{};if(!Q)return}if(mF.isDocument(U)&&!Z)return U.toString(q);return new hF.Document(U,Z,q).toString(q)}iF.parse=dF;iF.parseAllDocuments=lF;iF.parseDocument=wQ;iF.stringify=cF});var KQ=R((WA)=>{var aF=u9(),tF=i2(),eF=P9(),t9=o2(),UA=b2(),Q1=k(),XA=e0(),qA=i(),ZA=X1(),QA=q1(),GA=VU(),YA=r9(),HA=n9(),JA=a9(),DU=PQ(),IQ=S2();WA.Composer=aF.Composer;WA.Document=tF.Document;WA.Schema=eF.Schema;WA.YAMLError=t9.YAMLError;WA.YAMLParseError=t9.YAMLParseError;WA.YAMLWarning=t9.YAMLWarning;WA.Alias=UA.Alias;WA.isAlias=Q1.isAlias;WA.isCollection=Q1.isCollection;WA.isDocument=Q1.isDocument;WA.isMap=Q1.isMap;WA.isNode=Q1.isNode;WA.isPair=Q1.isPair;WA.isScalar=Q1.isScalar;WA.isSeq=Q1.isSeq;WA.Pair=XA.Pair;WA.Scalar=qA.Scalar;WA.YAMLMap=ZA.YAMLMap;WA.YAMLSeq=QA.YAMLSeq;WA.CST=GA;WA.Lexer=YA.Lexer;WA.LineCounter=HA.LineCounter;WA.Parser=JA.Parser;WA.parse=DU.parse;WA.parseAllDocuments=DU.parseAllDocuments;WA.parseDocument=DU.parseDocument;WA.stringify=DU.stringify;WA.visit=IQ.visit;WA.visitAsync=IQ.visitAsync});class Z0{static evaluate(U,X){try{if(U.includes("${")){let q=this.interpolate(U,X);if(!isNaN(Number(q))&&q.trim()!=="")return Number(q);return q}return this.evaluateExpression(U,X)}catch(q){return console.error(`Error evaluating expression: ${U}`,q),null}}static interpolate(U,X){return U.replace(/\$\{([^}]+)\}/g,(q,Z)=>{try{let Q=this.evaluateExpression(Z,X);if(Q===void 0||Q===null)return"undefined";return String(Q)}catch(Q){return console.error(`Error en interpolación: ${q}`,Q),q}})}static evaluateMathExpression(U){try{return Function("Math",`return ${U}`)(Math)}catch(X){throw Error(`Error evaluando expresión matemática: ${U}`)}}static evaluateExpression(U,X){if(/^(data|globals|request|computed)(\.[a-zA-Z0-9_]+)+$/.test(U))return this.getNestedValue(U,X);try{return Function("context","with(context) { return "+U+" }")(X)}catch(q){return console.error(`ERROR evaluating expression '${U}':`,q),U}}static getNestedValue(U,X){let q=U.split("."),Z=X;for(let Q of q){if(Z===null||Z===void 0||!(Q in Z))return;Z=Z[Q]}return Z}static evaluateMath(U,X){let q=U;q=q.replace(/\b[a-zA-Z_][a-zA-Z0-9_]*\b/g,(Z)=>{if(["Math","random","floor","ceil","round","sqrt","abs","pow","min","max","sin","cos","tan"].includes(Z))return Z;let Q=this.getNestedValue(Z,X);if(Q!==void 0)return typeof Q==="string"?`"${Q}"`:String(Q);return Z});try{return this.evaluateMathExpression(q)}catch(Z){return console.error(`Error en evaluación matemática: ${U}`,Z),NaN}}}class fQ{queue=[];engine;config;timer=null;isProcessing=!1;constructor(U,X={maxBatchSize:10,flushIntervalMs:100}){this.engine=U,this.config=X}push(U){if(this.queue.push(U),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 U=this.queue.splice(0,this.config.maxBatchSize);if(U.length===0){this.isProcessing=!1;return}console.debug(`[EventQueue] Processing batch of ${U.length} events.`);for(let X of U)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 wU{store=new Map;async loadState(){return new Map(this.store)}async saveState(U,X){this.store.set(U,X)}async deleteState(U){this.store.delete(U)}async clearState(){this.store.clear()}}class gQ{keyPrefix;cache=new Map;isLoaded=!1;constructor(U="trigger_system:"){this.keyPrefix=U}isAvailable(){return typeof window<"u"&&typeof window.localStorage<"u"}ensureLoaded(){if(this.isLoaded)return;if(this.isAvailable())try{let U=window.localStorage.getItem(this.keyPrefix+"state");if(U){let X=JSON.parse(U);this.cache=new Map(Object.entries(X))}}catch(U){console.error("[BrowserPersistence] Failed to load from localStorage:",U)}this.isLoaded=!0}persist(){if(this.isAvailable())try{let U=Object.fromEntries(this.cache);window.localStorage.setItem(this.keyPrefix+"state",JSON.stringify(U))}catch(U){console.error("[BrowserPersistence] Failed to save to localStorage:",U)}}async loadState(){return this.ensureLoaded(),new Map(this.cache)}async saveState(U,X){this.ensureLoaded(),this.cache.set(U,X),this.persist()}async deleteState(U){this.ensureLoaded(),this.cache.delete(U),this.persist()}async clearState(){this.cache.clear(),this.persist()}}class K0{static instance;state;persistence;constructor(){this.state=new Map,this.persistence=new wU}static getInstance(){if(!K0.instance)K0.instance=new K0;return K0.instance}setPersistence(U){this.persistence=U}async initialize(){let U=await this.persistence.loadState();this.state=U,console.log(`[StateManager] Initialized with ${this.state.size} keys.`)}get(U){return this.state.get(U)}async set(U,X){this.state.set(U,X),await this.persistence.saveState(U,X)}async increment(U,X=1){let q=this.get(U)||0,Z=Number(q)+X;return await this.set(U,Z),Z}async decrement(U,X=1){return this.increment(U,-X)}async delete(U){let X=this.state.delete(U);if(X)await this.persistence.deleteState(U);return X}async clear(){this.state.clear(),await this.persistence.clearState()}getAll(){return Object.fromEntries(this.state)}}class e2{static instance;handlers=new Map;constructor(){this.registerDefaults()}static getInstance(){if(!this.instance)this.instance=new e2;return this.instance}register(U,X){this.handlers.set(U.toUpperCase(),X)}get(U){return this.handlers.get(U.toUpperCase())}registerDefaults(){this.register("log",(U,X)=>{let q=U.params?.message||U.params?.content||"Log Trigger",Z=Z0.interpolate(q,X);return console.log(`[TriggerLog] ${Z}`),{message:Z}}),this.register("response",(U,X)=>{let q=U.params?.content||U.params?.body||"",Z=Z0.interpolate(q,X);return{statusCode:U.params?.statusCode||200,headers:U.params?.headers||{"Content-Type":"application/json"},body:Z}}),this.register("execute",async(U,X)=>{let q=U.params?.command||U.params?.content||"",Z=Z0.interpolate(q,X);if(!U.params?.safe)console.warn(`[Trigger] Ejecutando comando no seguro: ${Z}`);try{let Q=Bun.spawn(Z.split(" "),{stdout:"pipe",stderr:"pipe"}),[G,Y]=await Promise.all([new Response(Q.stdout).text(),new Response(Q.stderr).text()]);return{command:Z,stdout:G,stderr:Y,exitCode:await Q.exited}}catch(Q){return{command:Z,error:String(Q)}}}),this.register("forward",async(U,X)=>{let q=U.params?.url||"",Z=Z0.interpolate(q,X),Q=U.params?.method||"POST";try{let G=await fetch(Z,{method:Q,headers:{"Content-Type":"application/json",...U.params?.headers},body:JSON.stringify(X.data)});return{url:Z,method:Q,status:G.status,headers:(()=>{let Y={};return G.headers.forEach((H,J)=>Y[J]=H),Y})(),body:await G.text()}}catch(G){return{url:Z,method:Q,error:String(G)}}}),this.register("STATE_SET",async(U,X)=>{let q=U.params?.key,Z=U.params?.value;if(!q)return{error:"Missing key for STATE_SET"};let Q=Z;if(typeof Z==="string"&&Z.includes("${"))Q=Z0.interpolate(Z,X);return await K0.getInstance().set(q,Q),{key:q,value:Q}}),this.register("STATE_INCREMENT",async(U,X)=>{let q=U.params?.key,Z=Number(U.params?.amount)||1;if(!q)return{error:"Missing key for STATE_INCREMENT"};let Q=await K0.getInstance().increment(q,Z);return{key:q,newValue:Q}}),this.register("EMIT_EVENT",(U,X)=>{return{event:U.params?.event,payload:U.params?.data||{}}})}}class yQ{static create(U,X,q={}){return{event:U,timestamp:Date.now(),data:typeof X==="object"?X:{value:X},globals:q,helpers:this.getDefaultHelpers()}}static fromRequest(U,X,q={}){let Z=new URL(U.url);return{event:"HTTP_REQUEST",timestamp:Date.now(),data:{method:U.method,path:Z.pathname,query:Object.fromEntries(Z.searchParams),headers:(()=>{let Q={};return U.headers.forEach((G,Y)=>Q[Y]=G),Q})(),body:X||{}},globals:{...q,ip:U.headers.get("x-forwarded-for")||"unknown"},helpers:this.getDefaultHelpers()}}static fromWebhook(U,X,q,Z={}){return{event:`WEBHOOK_${U.toUpperCase()}_${X.toUpperCase()}`,timestamp:Date.now(),data:q,globals:{...Z,provider:U},helpers:this.getDefaultHelpers()}}static getDefaultHelpers(){return{now:()=>Date.now(),uuid:()=>crypto.randomUUID(),jsonParse:(U)=>JSON.parse(U),jsonStringify:(U)=>JSON.stringify(U)}}}var PU;((G)=>{G.ENGINE_START="engine:start";G.ENGINE_DONE="engine:done";G.RULE_MATCH="rule:match";G.ACTION_SUCCESS="action:success";G.ACTION_ERROR="action:error"})(PU||={});var tA=PU;class IU{static instance;handlers=new Map;constructor(){}static getInstance(){if(!this.instance)this.instance=new IU;return this.instance}on(U,X){let q=U;if(!this.handlers.has(q))this.handlers.set(q,new Set);return this.handlers.get(q).add(X),()=>this.off(q,X)}off(U,X){let q=U,Z=this.handlers.get(q);if(Z)Z.delete(X)}emit(U,X){let q=U,Z=this.handlers.get(q);if(Z)Z.forEach((Q)=>{try{Q(X)}catch(G){console.error(`Error in event handler for ${q}:`,G)}})}}var M1=IU.getInstance();class kQ{rules=[];config;lastExecutionTimes=new Map;actionRegistry;constructor(U){this.config=U,this.rules=[...U.rules],this.rules.sort((X,q)=>(q.priority||0)-(X.priority||0)),this.actionRegistry=e2.getInstance()}async processEvent(U,X={},q={}){let Z={event:U,data:X,globals:q,timestamp:Date.now(),state:{}};return this.evaluateContext(Z)}async evaluateContext(U){let X=[];if(U.state=K0.getInstance().getAll(),this.config.globalSettings.debugMode)console.log(`[RuleEngine] Evaluando contexto con ${this.rules.length} reglas para evento: ${U.event}`);M1.emit("engine:start",{context:U,rulesCount:this.rules.length});for(let q of this.rules){if(q.enabled===!1)continue;if(q.on!==U.event)continue;if(q.cooldown&&!this.checkCooldown(q.id,q.cooldown)){if(this.config.globalSettings.debugMode)console.log(`[RuleEngine] Regla ${q.id} en cooldown`);continue}if(this.evaluateRuleConditions(q.if,U)){if(this.config.globalSettings.debugMode)console.log(`[RuleEngine] Ejecutando regla: ${q.name||q.id}`);M1.emit("rule:match",{rule:q,context:U});let Q=await this.executeRuleActions(q.do,U);if(X.push({ruleId:q.id,executedActions:Q,success:!0}),this.lastExecutionTimes.set(q.id,Date.now()),!this.config.globalSettings.evaluateAll)break}}return M1.emit("engine:done",{results:X,context:U}),X}evaluateRuleConditions(U,X){if(!U)return!0;if(Array.isArray(U))return U.every((q)=>this.evaluateRecursiveCondition(q,X));else return this.evaluateRecursiveCondition(U,X)}evaluateRecursiveCondition(U,X){if("conditions"in U&&"operator"in U)return this.evaluateConditionGroup(U,X);else return this.evaluateSingleCondition(U,X)}evaluateConditionGroup(U,X){if(U.operator==="OR")return U.conditions.some((q)=>this.evaluateRecursiveCondition(q,X));else return U.conditions.every((q)=>this.evaluateRecursiveCondition(q,X))}evaluateSingleCondition(U,X){try{let q=Z0.getNestedValue(U.field,X),Z=U.value;if(typeof Z==="string"&&(Z.includes("${")||Z.startsWith("data.")||Z.startsWith("globals.")))Z=Z0.evaluate(Z,X);let Q=(Y)=>{if(Y instanceof Date)return Y.getTime();if(typeof Y==="number")return Y;let H=new Date(Y);return isNaN(H.getTime())?0:H.getTime()},G=(Y)=>{if(typeof Y==="number")return Y;if(Y===null||Y===void 0||Y==="")return null;let H=Number(Y);return isNaN(H)?null:H};switch(U.operator){case"EQ":case"==":return q==Z;case"NEQ":case"!=":return q!=Z;case"GT":case">":{let Y=G(q),H=G(Z);return Y!==null&&H!==null&&Y>H}case"GTE":case">=":{let Y=G(q),H=G(Z);return Y!==null&&H!==null&&Y>=H}case"LT":case"<":{let Y=G(q),H=G(Z);return Y!==null&&H!==null&&Y<H}case"LTE":case"<=":{let Y=G(q),H=G(Z);return Y!==null&&H!==null&&Y<=H}case"CONTAINS":return String(q).includes(String(Z));case"MATCHES":return new RegExp(String(Z)).test(String(q));case"IN":return Array.isArray(Z)&&Z.includes(q);case"NOT_IN":return Array.isArray(Z)&&!Z.includes(q);case"SINCE":case"AFTER":return Q(q)>=Q(Z);case"BEFORE":case"UNTIL":return Q(q)<Q(Z);case"RANGE":if(Array.isArray(Z)&&Z.length===2){let Y=G(q);return Y!==null&&Y>=Number(Z[0])&&Y<=Number(Z[1])}return!1;default:return console.error(`Operador desconocido: ${U.operator}`),!1}}catch(q){return console.error("Error evaluando condición:",U,q),!1}}async executeRuleActions(U,X){let q=[],Z=[],Q="ALL";if(this.isActionGroup(U))Z=U.actions,Q=U.mode;else if(Array.isArray(U))Z=U;else Z=[U];if(Q==="EITHER"&&Z.length>0){let G=Math.floor(Math.random()*Z.length),Y=Z[G];if(Y)Z=[Y]}if(Q==="SEQUENCE")for(let G of Z){let Y=await this.executeSingleAction(G,X);q.push(Y)}else for(let G of Z){let Y=await this.executeSingleAction(G,X);q.push(Y)}return q}isActionGroup(U){return"mode"in U&&"actions"in U}async executeSingleAction(U,X){if(U.probability!==void 0&&Math.random()>U.probability)return{type:U.type,timestamp:Date.now(),result:{skipped:"probability check failed"}};if(U.delay&&U.delay>0)await new Promise((q)=>setTimeout(q,U.delay));try{let q=this.actionRegistry.get(U.type),Z;if(q)Z=await q(U,X);else{let Q=`Tipo de acción genérica o desconocida: ${U.type}`;if(this.config.globalSettings.strictActions)throw Error(Q);console.warn(Q),Z={warning:`Generic action executed: ${U.type}`}}return M1.emit("action:success",{action:U,context:X,result:Z}),{type:U.type,result:Z,timestamp:Date.now()}}catch(q){return console.error("Error ejecutando acción:",U,q),M1.emit("action:error",{action:U,context:X,error:String(q)}),{type:U.type,error:String(q),timestamp:Date.now()}}}checkCooldown(U,X){let q=this.lastExecutionTimes.get(U);if(!q)return!0;return Date.now()-q>X}updateRules(U){this.rules=[...U],this.rules.sort((X,q)=>(q.priority||0)-(X.priority||0))}getRules(){return[...this.rules]}}class U6{static getNestedValue(U,X){let q=U.split("."),Z=X;for(let Q of q){if(Z===null||Z===void 0)return;Z=Z[Q]}return Z}static interpolate(U,X){if(typeof U!=="string")return U;return U.replace(/\$\{([^}]+)\}/g,(q,Z)=>{let Q=this.getNestedValue(Z,X);if(Q!==void 0)return String(Q);return q})}static compare(U,X,q){switch(X){case"EQ":case"==":return U==q;case"NEQ":case"!=":return U!=q;case"GT":case">":return Number(U)>Number(q);case"GTE":case">=":return Number(U)>=Number(q);case"LT":case"<":return Number(U)<Number(q);case"LTE":case"<=":return Number(U)<=Number(q);case"IN":return Array.isArray(q)&&q.includes(U);case"NOT_IN":return Array.isArray(q)&&!q.includes(U);case"CONTAINS":if(Array.isArray(U)||typeof U==="string")return U.includes(q);return!1;case"MATCHES":return new RegExp(q).test(String(U));case"RANGE":if(Array.isArray(q)&&q.length===2){let Z=Number(U);return Z>=q[0]&&Z<=q[1]}return!1;default:return console.warn(`Unknown operator: ${X}`),!1}}}class vQ{rules=[];actionHandlers=new Map;lastExecution=new Map;constructor(U=[]){this.rules=U,this.sortRules()}sortRules(){this.rules.sort((U,X)=>(X.priority||0)-(U.priority||0))}registerAction(U,X){this.actionHandlers.set(U,X)}async processEvent(U){let X=[],q=this.rules.filter((Z)=>Z.enabled!==!1&&Z.on===U.event);for(let Z of q){if(Z.cooldown&&this.checkCooldown(Z.id,Z.cooldown))continue;if(this.evaluateConditions(Z.if,U)){let Q=await this.executeRuleActions(Z.do,U);this.lastExecution.set(Z.id,Date.now()),X.push({ruleId:Z.id,success:!0,executedActions:Q})}}return X}checkCooldown(U,X){let q=this.lastExecution.get(U);if(!q)return!1;return Date.now()-q<X}evaluateConditions(U,X){if(!U)return!0;if(Array.isArray(U))return U.every((q)=>this.evaluateSingleCondition(q,X));return this.evaluateSingleCondition(U,X)}evaluateSingleCondition(U,X){if("operator"in U&&"conditions"in U){let G=U;if(G.operator==="OR")return G.conditions.some((Y)=>this.evaluateSingleCondition(Y,X));else return G.conditions.every((Y)=>this.evaluateSingleCondition(Y,X))}let q=U,Z=U6.getNestedValue(q.field,X),Q=q.value;if(typeof Q==="string"&&Q.includes("${"))Q=Z0.interpolate(Q,X);return U6.compare(Z,q.operator,Q)}async executeRuleActions(U,X){let q=[],Z=[],Q="ALL";if(Array.isArray(U))Z=U;else if("mode"in U&&"actions"in U){let G=U;Q=G.mode,Z=G.actions}else Z=[U];if(Q==="EITHER"){let G=Z.reduce((J,W)=>J+(W.probability||1),0),Y=Math.random()*G,H;for(let J of Z){let W=J.probability||1;if(Y-=W,Y<=0){H=J;break}}if(!H&&Z.length>0)H=Z[Z.length-1];if(H)Z=[H];else Z=[]}for(let G of Z){let Y=this.interpolateParams(G.params||{},X),H=this.actionHandlers.get(G.type);if(H)try{if(G.delay&&G.delay>0)await new Promise((W)=>setTimeout(W,G.delay));let J=await H(Y,X);q.push({type:G.type,result:J,timestamp:Date.now()})}catch(J){console.error(`Action ${G.type} failed:`,J),q.push({type:G.type,error:J,timestamp:Date.now()})}else console.warn(`No handler registered for action type: ${G.type}`),q.push({type:G.type,error:"No handler registered",timestamp:Date.now()})}return q}interpolateParams(U,X){let q={};for(let[Z,Q]of Object.entries(U))if(typeof Q==="string")q[Z]=Z0.interpolate(Q,X);else if(typeof Q==="object"&&Q!==null)q[Z]=this.interpolateDeep(Q,X);else q[Z]=Q;return q}interpolateDeep(U,X){if(typeof U==="string")return Z0.interpolate(U,X);if(Array.isArray(U))return U.map((q)=>this.interpolateDeep(q,X));if(typeof U==="object"&&U!==null){let q={};for(let Z in U)q[Z]=this.interpolateDeep(U[Z],X);return q}return U}}var p0=(U)=>Array.isArray(U)?U:[U],XX=(U,X)=>{let q=[[],[]];for(let Z of U)if(X(Z))q[0].push(Z);else q[1].push(Z);return q},X6=Array,z0=(U,X)=>U.includes(X),qX=(U,X=0)=>[...Array(U)].map((q,Z)=>Z+X),g=(U,X,q)=>{if(U===void 0)return X===void 0?[]:Array.isArray(X)?X:[X];if(q?.prepend)if(Array.isArray(X))U.unshift(...X);else U.unshift(X);else if(Array.isArray(X))U.push(...X);else U.push(X);return U},f0=(U,X)=>{if(X===void 0||X===null)return U??[];if(U===void 0||U===null)return p0(X);return U.concat(X)},ZX=(...U)=>U.reduce(f0,[]),N0=(U,X,q)=>{if(U===void 0)return Array.isArray(X)?X:[X];let Z=q?.isEqual??((Q,G)=>Q===G);for(let Q of p0(X))if(!U.some((G)=>Z(G,Q)))U.push(Q);return U},QX=(U,X)=>U.reduce((q,Z)=>{let Q=Z[X];return q[Q]=g(q[Q],Z),q},{}),g0=(U,X,q)=>U.length===X.length&&U.every(q?.isEqual?(Z,Q)=>q.isEqual(Z,X[Q]):(Z,Q)=>Z===X[Q]);var Q0=(U,X)=>r(U)===X,r=(U)=>{let X=typeof U;return X==="object"?U===null?"null":"object":X==="function"?"object":X},G0={boolean:"boolean",null:"null",undefined:"undefined",bigint:"a bigint",number:"a number",object:"an object",string:"a string",symbol:"a symbol"},GX={...G0,function:"a function"};class YX extends Error{}var y=(U)=>G1(U,YX),G1=(U,X=Error)=>{throw new X(U)};class e1 extends Error{name="ParseError"}var F=(U)=>G1(U,e1),R0=(U)=>` ${U}`,HX="";var S=(U,X)=>{let q={},Z=Array.isArray(U),Q=!1;for(let[G,Y]of Object.entries(U).entries()){let H=Z?X(G,Y[1]):X(...Y,G);Q||=typeof H[0]==="number";let J=Array.isArray(H[0])||H.length===0?H:[H];for(let[W,_]of J)if(typeof W==="object")q[W.group]=g(q[W.group],_);else q[W]=_}return Q?Object.values(q):q};var KU=Object.entries;var n=(U,X)=>(U in X),w1=(U,X)=>(X in U);class NU{constructor(U){Object.assign(this,U)}}var JX=class{};class U2 extends JX{}var xQ=(U,X)=>{let q={},Z={},Q;for(Q in U)if(Q in X)q[Q]=U[Q];else Z[Q]=U[Q];return[q,Z]};var q6=(U,X)=>xQ(U,X)[1],C0=(U)=>Object.keys(U).length===0,Y1=(U)=>[...Object.entries(U),...Object.getOwnPropertySymbols(U).map((X)=>[X,U[X]])],WX=(U,X)=>Object.defineProperties(U,Object.getOwnPropertyDescriptors(X)),LX=(U)=>{let X=Object.keys(U).sort(),q={};for(let Z=0;Z<X.length;Z++)q[X[Z]]=U[X[Z]];return q};var Y0=R0(`unset${HX}`),_X=(U)=>Object.values(U).filter((X)=>{if(typeof X==="number")return!0;return typeof U[X]!=="number"});var CU={Array,Boolean,Date,Error,Function,Map,Number,Promise,RegExp,Set,String,WeakMap,WeakSet},SU=globalThis.File??Blob,EU={ArrayBuffer,Blob,File:SU,FormData,Headers,Request,Response,URL},hQ={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array},H1={...CU,...EU,...hQ,String,Number,Boolean},X2=(U)=>{let X=Object.getPrototypeOf(U);while(X?.constructor&&(!n(X.constructor.name,H1)||!(U instanceof H1[X.constructor.name])))X=Object.getPrototypeOf(X);let q=X?.constructor?.name;if(q===void 0||q==="Object")return;return q},q2=(U)=>typeof U==="object"&&U!==null?X2(U)??"object":r(U);var x=Array.isArray,uQ={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"},mQ={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"},pQ={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"},$X={...uQ,...mQ,...pQ},Z2=(U)=>{let X=Object(U).name??null;return X&&n(X,H1)&&H1[X]===U?X:null};var bU=(U,X)=>{let q=U.prototype;while(q!==null){if(q===X.prototype)return!0;q=Object.getPrototypeOf(q)}return!1};var zX=(U)=>FX(U,new Map),FX=(U,X)=>{if(typeof U!=="object"||U===null)return U;if(X?.has(U))return X.get(U);let q=Z2(U.constructor);if(q==="Date")return new Date(U.getTime());if(q&&q!=="Array")return U;let Z=Array.isArray(U)?U.slice():Object.create(Object.getPrototypeOf(U)),Q=Object.getOwnPropertyDescriptors(U);if(X){X.set(U,Z);for(let G in Q){let Y=Q[G];if("get"in Y||"set"in Y)continue;Y.value=FX(Y.value,X)}}return Object.defineProperties(Z,Q),Z};var lQ=(U)=>{let X=Y0;return()=>X===Y0?X=U():X},l0=(U)=>typeof U==="function"&&U.length===0;var AX=class extends Function{constructor(...U){let X=U.slice(0,-1),q=U[U.length-1];try{super(...X,q)}catch(Z){return y(`Encountered an unexpected error while compiling your definition:
|
|
139
|
+
`,X)+1}return{type:U,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(U){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=P4(U),q=e1(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=P4(U),q=e1(X);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:q,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(U,X){if(this.type!=="comment")return!1;if(this.indent<=X)return!1;return U.every((q)=>q.type==="newline"||q.type==="space")}*documentEnd(U){if(this.type!=="doc-mode"){if(U.end)U.end.push(this.sourceToken);else U.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd(U){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(U.end)U.end.push(this.sourceToken);else U.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}lF.Parser=KQ});var bQ=R((tF)=>{var NQ=i9(),cF=n2(),Z6=t2(),iF=q9(),sF=k(),oF=qX(),CQ=ZX();function SQ(U){let X=U.prettyErrors!==!1;return{lineCounter:U.lineCounter||X&&new oF.LineCounter||null,prettyErrors:X}}function rF(U,X={}){let{lineCounter:q,prettyErrors:Z}=SQ(X),Q=new CQ.Parser(q?.addNewLine),G=new NQ.Composer(X),Y=Array.from(G.compose(Q.parse(U)));if(Z&&q)for(let H of Y)H.errors.forEach(Z6.prettifyError(U,q)),H.warnings.forEach(Z6.prettifyError(U,q));if(Y.length>0)return Y;return Object.assign([],{empty:!0},G.streamInfo())}function EQ(U,X={}){let{lineCounter:q,prettyErrors:Z}=SQ(X),Q=new CQ.Parser(q?.addNewLine),G=new NQ.Composer(X),Y=null;for(let H of G.compose(Q.parse(U),!0,U.length))if(!Y)Y=H;else if(Y.options.logLevel!=="silent"){Y.errors.push(new Z6.YAMLParseError(H.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(Z&&q)Y.errors.forEach(Z6.prettifyError(U,q)),Y.warnings.forEach(Z6.prettifyError(U,q));return Y}function aF(U,X,q){let Z=void 0;if(typeof X==="function")Z=X;else if(q===void 0&&X&&typeof X==="object")q=X;let Q=EQ(U,q);if(!Q)return null;if(Q.warnings.forEach((G)=>iF.warn(Q.options.logLevel,G)),Q.errors.length>0)if(Q.options.logLevel!=="silent")throw Q.errors[0];else Q.errors=[];return Q.toJS(Object.assign({reviver:Z},q))}function nF(U,X,q){let Z=null;if(typeof X==="function"||Array.isArray(X))Z=X;else if(q===void 0&&X)q=X;if(typeof q==="string")q=q.length;if(typeof q==="number"){let Q=Math.round(q);q=Q<1?void 0:Q>8?{indent:8}:{indent:Q}}if(U===void 0){let{keepUndefined:Q}=q??X??{};if(!Q)return}if(sF.isDocument(U)&&!Z)return U.toString(q);return new cF.Document(U,Z,q).toString(q)}tF.parse=aF;tF.parseAllDocuments=rF;tF.parseDocument=EQ;tF.stringify=nF});var fQ=R((AA)=>{var ZA=i9(),QA=n2(),GA=E9(),QX=t2(),YA=k2(),Q1=k(),HA=e0(),JA=i(),WA=X1(),_A=q1(),$A=M4(),LA=XX(),zA=qX(),FA=ZX(),I4=bQ(),jQ=y2();AA.Composer=ZA.Composer;AA.Document=QA.Document;AA.Schema=GA.Schema;AA.YAMLError=QX.YAMLError;AA.YAMLParseError=QX.YAMLParseError;AA.YAMLWarning=QX.YAMLWarning;AA.Alias=YA.Alias;AA.isAlias=Q1.isAlias;AA.isCollection=Q1.isCollection;AA.isDocument=Q1.isDocument;AA.isMap=Q1.isMap;AA.isNode=Q1.isNode;AA.isPair=Q1.isPair;AA.isScalar=Q1.isScalar;AA.isSeq=Q1.isSeq;AA.Pair=HA.Pair;AA.Scalar=JA.Scalar;AA.YAMLMap=WA.YAMLMap;AA.YAMLSeq=_A.YAMLSeq;AA.CST=$A;AA.Lexer=LA.Lexer;AA.LineCounter=zA.LineCounter;AA.Parser=FA.Parser;AA.parse=I4.parse;AA.parseAllDocuments=I4.parseAllDocuments;AA.parseDocument=I4.parseDocument;AA.stringify=I4.stringify;AA.visit=jQ.visit;AA.visitAsync=jQ.visitAsync});class mQ{queue=[];engine;config;timer=null;isProcessing=!1;constructor(U,X={maxBatchSize:10,flushIntervalMs:100}){this.engine=U,this.config=X}push(U){if(this.queue.push(U),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 U=this.queue.splice(0,this.config.maxBatchSize);if(U.length===0){this.isProcessing=!1;return}console.debug(`[EventQueue] Processing batch of ${U.length} events.`);for(let X of U)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 pQ{keyPrefix;cache=new Map;isLoaded=!1;constructor(U="trigger_system:"){this.keyPrefix=U}isAvailable(){return typeof window<"u"&&typeof window.localStorage<"u"}ensureLoaded(){if(this.isLoaded)return;if(this.isAvailable())try{let U=window.localStorage.getItem(this.keyPrefix+"state");if(U){let X=JSON.parse(U);this.cache=new Map(Object.entries(X))}}catch(U){console.error("[BrowserPersistence] Failed to load from localStorage:",U)}this.isLoaded=!0}persist(){if(this.isAvailable())try{let U=Object.fromEntries(this.cache);window.localStorage.setItem(this.keyPrefix+"state",JSON.stringify(U))}catch(U){console.error("[BrowserPersistence] Failed to save to localStorage:",U)}}async loadState(){return this.ensureLoaded(),new Map(this.cache)}async saveState(U,X){this.ensureLoaded(),this.cache.set(U,X),this.persist()}async deleteState(U){this.ensureLoaded(),this.cache.delete(U),this.persist()}async clearState(){this.cache.clear(),this.persist()}}class U2{static getNestedValue(U,X){let q=U.split("."),Z=X;for(let Q of q){if(Z===null||Z===void 0)return;Z=Z[Q]}return Z}static interpolate(U,X){if(typeof U!=="string")return U;return U.replace(/\$\{([^}]+)\}/g,(q,Z)=>{let Q=this.getNestedValue(Z,X);if(Q!==void 0)return String(Q);return q})}static compare(U,X,q){switch(X){case"EQ":case"==":return U==q;case"NEQ":case"!=":return U!=q;case"GT":case">":return Number(U)>Number(q);case"GTE":case">=":return Number(U)>=Number(q);case"LT":case"<":return Number(U)<Number(q);case"LTE":case"<=":return Number(U)<=Number(q);case"IN":return Array.isArray(q)&&q.includes(U);case"NOT_IN":return Array.isArray(q)&&!q.includes(U);case"CONTAINS":if(Array.isArray(U)||typeof U==="string")return U.includes(q);return!1;case"MATCHES":return new RegExp(q).test(String(U));case"RANGE":if(Array.isArray(q)&&q.length===2){let Z=Number(U);return Z>=q[0]&&Z<=q[1]}return!1;default:return console.warn(`Unknown operator: ${X}`),!1}}}class Z2{_rules=[];actionHandlers=new Map;lastExecution=new Map;_config;constructor(U=[]){if(Array.isArray(U))this._rules=U;else this._config=U,this._rules=[...U.rules];this.sortRules()}sortRules(){this._rules.sort((U,X)=>(X.priority||0)-(U.priority||0))}registerAction(U,X){this.actionHandlers.set(U,X)}async processEvent(U){let X=[],q=this._rules.filter((Z)=>Z.enabled!==!1&&Z.on===U.event);for(let Z of q){if(Z.cooldown&&this.checkCooldown(Z.id,Z.cooldown))continue;if(this.evaluateConditions(Z.if,U)){let Q=await this.executeRuleActions(Z.do,U);if(this.lastExecution.set(Z.id,Date.now()),X.push({ruleId:Z.id,success:!0,executedActions:Q}),!this.shouldEvaluateAll())break}}return X}async processEventSimple(U,X={},q={}){let Z={event:U,data:X,globals:q,timestamp:Date.now(),state:this.getStateContext?this.getStateContext():{}};return this.processEvent(Z)}updateRules(U){this.rules=[...U],this.sortRules()}getRules(){return[...this.rules]}checkCooldown(U,X){let q=this.lastExecution.get(U);if(!q)return!1;return Date.now()-q<X}shouldEvaluateAll(){return this.config?.globalSettings?.evaluateAll??!0}getStateContext(){return{}}evaluateConditions(U,X){if(!U)return!0;if(Array.isArray(U))return U.every((q)=>this.evaluateSingleCondition(q,X));return this.evaluateSingleCondition(U,X)}evaluateSingleCondition(U,X){if("operator"in U&&"conditions"in U){let G=U;if(G.operator==="OR")return G.conditions.some((Y)=>this.evaluateSingleCondition(Y,X));else return G.conditions.every((Y)=>this.evaluateSingleCondition(Y,X))}let q=U,Z=U2.getNestedValue(q.field,X),Q=q.value;if(typeof Q==="string"&&Q.includes("${"))Q=$0.interpolate(Q,X);return U2.compare(Z,q.operator,Q)}async executeRuleActions(U,X){let q=[],Z=[],Q="ALL";if(Array.isArray(U))Z=U;else if("mode"in U&&"actions"in U){let G=U;Q=G.mode,Z=G.actions}else Z=[U];if(Q==="EITHER"&&Z.length>0){let G=Z.reduce((J,W)=>J+(W.probability||1),0),Y=Math.random()*G,H;for(let J of Z){let W=J.probability||1;if(Y-=W,Y<=0){H=J;break}}if(!H&&Z.length>0)H=Z[Z.length-1];if(H)Z=[H];else Z=[]}for(let G of Z){let Y=await this.executeSingleAction(G,X);q.push(Y)}return q}async executeSingleAction(U,X){if(U.probability!==void 0&&Math.random()>U.probability)return{type:U.type,timestamp:Date.now(),result:{skipped:"probability check failed"}};if(U.delay&&U.delay>0)await new Promise((q)=>setTimeout(q,U.delay));try{let q;try{let{ActionRegistry:Q}=await Promise.resolve().then(() => (q2(),HX));q=Q.getInstance().get(U.type)}catch{q=this.actionHandlers.get(U.type)}let Z;if(q)Z=await q(U.params||{},X);else{let Q=`No handler registered for action type: ${U.type}`;console.warn(Q),Z={warning:Q}}return{type:U.type,result:Z,timestamp:Date.now()}}catch(q){return console.error(`Error executing action ${U.type}:`,q),{type:U.type,error:String(q),timestamp:Date.now()}}}interpolateParams(U,X){let q={};for(let[Z,Q]of Object.entries(U))if(typeof Q==="string")q[Z]=$0.interpolate(Q,X);else if(typeof Q==="object"&&Q!==null)q[Z]=this.interpolateDeep(Q,X);else q[Z]=Q;return q}interpolateDeep(U,X){if(typeof U==="string")return $0.interpolate(U,X);if(Array.isArray(U))return U.map((q)=>this.interpolateDeep(q,X));if(typeof U==="object"&&U!==null){let q={};for(let Z in U)q[Z]=this.interpolateDeep(U[Z],X);return q}return U}get rules(){return[...this._rules]}get config(){return this._config}set rules(U){this._rules=[...U],this.sortRules()}}q2();X2();var Q6;((G)=>{G.ENGINE_START="engine:start";G.ENGINE_DONE="engine:done";G.RULE_MATCH="rule:match";G.ACTION_SUCCESS="action:success";G.ACTION_ERROR="action:error"})(Q6||={});var YO=Q6;class E4{static instance;handlers=new Map;constructor(){}static getInstance(){if(!this.instance)this.instance=new E4;return this.instance}on(U,X){let q=U;if(!this.handlers.has(q))this.handlers.set(q,new Set);return this.handlers.get(q).add(X),()=>this.off(q,X)}off(U,X){let q=U,Z=this.handlers.get(q);if(Z)Z.delete(X)}emit(U,X){let q=U,Z=this.handlers.get(q);if(Z)Z.forEach((Q)=>{try{Q(X)}catch(G){console.error(`Error in event handler for ${q}:`,G)}})}}var G1=E4.getInstance();class b4 extends Z2{actionRegistry;stateManager;constructor(U){super(U);this.actionRegistry=w1.getInstance(),this.stateManager=R0.getInstance()}async processEvent(U){let X=[];if(U.state=this.stateManager.getAll(),G1.emit("engine:start",{context:U,rulesCount:this.rules.length}),this.config?.globalSettings?.debugMode)console.log(`[RuleEngine] Evaluating context with ${this.rules.length} rules for event: ${U.event}`);let q=this.rules.filter((Z)=>Z.enabled!==!1&&Z.on===U.event);for(let Z of q){if(Z.cooldown&&this.checkCooldown(Z.id,Z.cooldown)){if(this.config?.globalSettings?.debugMode)console.log(`[RuleEngine] Rule ${Z.id} in cooldown`);continue}if(this.evaluateConditions(Z.if,U)){if(this.config?.globalSettings?.debugMode)console.log(`[RuleEngine] Executing rule: ${Z.name||Z.id}`);G1.emit("rule:match",{rule:Z,context:U});let G=await this.executeRuleActionsWithRegistry(Z.do,U);if(X.push({ruleId:Z.id,executedActions:G,success:!0}),this.updateLastExecution(Z.id),!this.shouldEvaluateAll())break}}return G1.emit("engine:done",{results:X,context:U}),X}async processEventSimple(U,X={},q={}){let Z={event:U,data:X,globals:q,timestamp:Date.now(),state:this.stateManager.getAll()};return this.processEvent(Z)}async executeRuleActionsWithRegistry(U,X){let q=[],Z=[],Q="ALL";if(Array.isArray(U))Z=U;else if(U.mode&&U.actions){let G=U;Q=G.mode,Z=G.actions}else Z=[U];if(Q==="EITHER"&&Z.length>0){let G=Math.floor(Math.random()*Z.length),Y=Z[G];if(Y)Z=[Y]}if(Q==="SEQUENCE")for(let G of Z){let Y=await this.executeSingleActionWithRegistry(G,X);q.push(Y)}else for(let G of Z){let Y=await this.executeSingleActionWithRegistry(G,X);q.push(Y)}return q}async executeSingleActionWithRegistry(U,X){if(U.probability!==void 0&&Math.random()>U.probability)return{type:U.type,timestamp:Date.now(),result:{skipped:"probability check failed"}};if(U.delay&&U.delay>0)await new Promise((q)=>setTimeout(q,U.delay));try{let q=this.actionRegistry.get(U.type),Z;if(q)Z=await q(U,X);else{let Q=`Generic or unknown action type: ${U.type}`;if(this.config?.globalSettings?.strictActions)throw Error(Q);console.warn(Q),Z={warning:`Generic action executed: ${U.type}`}}return G1.emit("action:success",{action:U,context:X,result:Z}),{type:U.type,result:Z,timestamp:Date.now()}}catch(q){return console.error("Error executing action:",U,q),G1.emit("action:error",{action:U,context:X,error:String(q)}),{type:U.type,error:String(q),timestamp:Date.now()}}}updateLastExecution(U){this.lastExecution.set(U,Date.now())}getStateContext(){return this.stateManager.getAll()}shouldEvaluateAll(){return this.config?.globalSettings?.evaluateAll??!0}async executeRuleActions(U,X){return this.executeRuleActionsWithRegistry(U,X)}async executeSingleAction(U,X){return this.executeSingleActionWithRegistry(U,X)}}q2();class lQ{static create(U,X,q={}){return{event:U,timestamp:Date.now(),data:typeof X==="object"?X:{value:X},globals:q,helpers:this.getDefaultHelpers()}}static fromRequest(U,X,q={}){let Z=new URL(U.url);return{event:"HTTP_REQUEST",timestamp:Date.now(),data:{method:U.method,path:Z.pathname,query:Object.fromEntries(Z.searchParams),headers:(()=>{let Q={};return U.headers.forEach((G,Y)=>Q[Y]=G),Q})(),body:X||{}},globals:{...q,ip:U.headers.get("x-forwarded-for")||"unknown"},helpers:this.getDefaultHelpers()}}static fromWebhook(U,X,q,Z={}){return{event:`WEBHOOK_${U.toUpperCase()}_${X.toUpperCase()}`,timestamp:Date.now(),data:q,globals:{...Z,provider:U},helpers:this.getDefaultHelpers()}}static getDefaultHelpers(){return{now:()=>Date.now(),uuid:()=>crypto.randomUUID(),jsonParse:(U)=>JSON.parse(U),jsonStringify:(U)=>JSON.stringify(U)}}}X2();q2();X2();var p0=(U)=>Array.isArray(U)?U:[U],JX=(U,X)=>{let q=[[],[]];for(let Z of U)if(X(Z))q[0].push(Z);else q[1].push(Z);return q},G6=Array,z0=(U,X)=>U.includes(X),WX=(U,X=0)=>[...Array(U)].map((q,Z)=>Z+X),y=(U,X,q)=>{if(U===void 0)return X===void 0?[]:Array.isArray(X)?X:[X];if(q?.prepend)if(Array.isArray(X))U.unshift(...X);else U.unshift(X);else if(Array.isArray(X))U.push(...X);else U.push(X);return U},f0=(U,X)=>{if(X===void 0||X===null)return U??[];if(U===void 0||U===null)return p0(X);return U.concat(X)},_X=(...U)=>U.reduce(f0,[]),N0=(U,X,q)=>{if(U===void 0)return Array.isArray(X)?X:[X];let Z=q?.isEqual??((Q,G)=>Q===G);for(let Q of p0(X))if(!U.some((G)=>Z(G,Q)))U.push(Q);return U},$X=(U,X)=>U.reduce((q,Z)=>{let Q=Z[X];return q[Q]=y(q[Q],Z),q},{}),y0=(U,X,q)=>U.length===X.length&&U.every(q?.isEqual?(Z,Q)=>q.isEqual(Z,X[Q]):(Z,Q)=>Z===X[Q]);var Z0=(U,X)=>r(U)===X,r=(U)=>{let X=typeof U;return X==="object"?U===null?"null":"object":X==="function"?"object":X},Q0={boolean:"boolean",null:"null",undefined:"undefined",bigint:"a bigint",number:"a number",object:"an object",string:"a string",symbol:"a symbol"},LX={...Q0,function:"a function"};class zX extends Error{}var g=(U)=>Y1(U,zX),Y1=(U,X=Error)=>{throw new X(U)};class Q2 extends Error{name="ParseError"}var F=(U)=>Y1(U,Q2),D0=(U)=>` ${U}`,FX="";var S=(U,X)=>{let q={},Z=Array.isArray(U),Q=!1;for(let[G,Y]of Object.entries(U).entries()){let H=Z?X(G,Y[1]):X(...Y,G);Q||=typeof H[0]==="number";let J=Array.isArray(H[0])||H.length===0?H:[H];for(let[W,$]of J)if(typeof W==="object")q[W.group]=y(q[W.group],$);else q[W]=$}return Q?Object.values(q):q};var j4=Object.entries;var a=(U,X)=>(U in X),P1=(U,X)=>(X in U);class f4{constructor(U){Object.assign(this,U)}}var AX=class{};class G2 extends AX{}var dQ=(U,X)=>{let q={},Z={},Q;for(Q in U)if(Q in X)q[Q]=U[Q];else Z[Q]=U[Q];return[q,Z]};var Y6=(U,X)=>dQ(U,X)[1],C0=(U)=>Object.keys(U).length===0,H1=(U)=>[...Object.entries(U),...Object.getOwnPropertySymbols(U).map((X)=>[X,U[X]])],OX=(U,X)=>Object.defineProperties(U,Object.getOwnPropertyDescriptors(X)),VX=(U)=>{let X=Object.keys(U).sort(),q={};for(let Z=0;Z<X.length;Z++)q[X[Z]]=U[X[Z]];return q};var G0=D0(`unset${FX}`),TX=(U)=>Object.values(U).filter((X)=>{if(typeof X==="number")return!0;return typeof U[X]!=="number"});var y4={Array,Boolean,Date,Error,Function,Map,Number,Promise,RegExp,Set,String,WeakMap,WeakSet},g4=globalThis.File??Blob,k4={ArrayBuffer,Blob,File:g4,FormData,Headers,Request,Response,URL},cQ={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array},J1={...y4,...k4,...cQ,String,Number,Boolean},Y2=(U)=>{let X=Object.getPrototypeOf(U);while(X?.constructor&&(!a(X.constructor.name,J1)||!(U instanceof J1[X.constructor.name])))X=Object.getPrototypeOf(X);let q=X?.constructor?.name;if(q===void 0||q==="Object")return;return q},H2=(U)=>typeof U==="object"&&U!==null?Y2(U)??"object":r(U);var x=Array.isArray,iQ={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"},sQ={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"},oQ={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"},BX={...iQ,...sQ,...oQ},J2=(U)=>{let X=Object(U).name??null;return X&&a(X,J1)&&J1[X]===U?X:null};var v4=(U,X)=>{let q=U.prototype;while(q!==null){if(q===X.prototype)return!0;q=Object.getPrototypeOf(q)}return!1};var RX=(U)=>DX(U,new Map),DX=(U,X)=>{if(typeof U!=="object"||U===null)return U;if(X?.has(U))return X.get(U);let q=J2(U.constructor);if(q==="Date")return new Date(U.getTime());if(q&&q!=="Array")return U;let Z=Array.isArray(U)?U.slice():Object.create(Object.getPrototypeOf(U)),Q=Object.getOwnPropertyDescriptors(U);if(X){X.set(U,Z);for(let G in Q){let Y=Q[G];if("get"in Y||"set"in Y)continue;Y.value=DX(Y.value,X)}}return Object.defineProperties(Z,Q),Z};var rQ=(U)=>{let X=G0;return()=>X===G0?X=U():X},l0=(U)=>typeof U==="function"&&U.length===0;var MX=class extends Function{constructor(...U){let X=U.slice(0,-1),q=U[U.length-1];try{super(...X,q)}catch(Z){return g(`Encountered an unexpected error while compiling your definition:
|
|
140
140
|
Message: ${Z}
|
|
141
141
|
Source: (${U.slice(0,-1)}) => {
|
|
142
142
|
${U[U.length-1]}
|
|
143
|
-
}`)}}};class
|
|
144
|
-
`)[2]?.trim()||"").match(/\(?(.+?)(?::\d+:\d+)?\)?$/)?.[1]||"unknown").replace(/^file:\/\//,"")}catch{return"unknown"}},
|
|
143
|
+
}`)}}};class Y0{constructor(U,...[X]){return Object.assign(Object.setPrototypeOf(U.bind(X?.bind??this),this.constructor.prototype),X?.attach)}}var wX=rQ(()=>{try{return Function("return false")()}catch{return!0}});var XV=D0("brand");var PX=D0("arkInferred");var QV=D0("args");class e{constructor(){}}var aQ=()=>{try{return((Error().stack?.split(`
|
|
144
|
+
`)[2]?.trim()||"").match(/\(?(.+?)(?::\d+:\d+)?\)?$/)?.[1]||"unknown").replace(/^file:\/\//,"")}catch{return"unknown"}},nQ=globalThis.process?.env??{},IX={fileName:aQ,env:nQ};var KX=(U)=>U[0].toUpperCase()+U.slice(1),NX=(U)=>U[0].toLowerCase()+U.slice(1),x4=(U)=>new RegExp(tQ(U),typeof U==="string"?"":U.flags);var tQ=(U)=>{return`^(?:${typeof U==="string"?U:U.source})$`};var g0={negativeLookahead:(U)=>`(?!${U})`,nonCapturingGroup:(U)=>`(?:${U})`},W1="\\",d0={" ":1,"\n":1,"\t":1};var eQ=/^-0\.?0*$/.source,SX=/[1-9]\d*/.source,UG=/\.\d+/.source,XG=/\.\d*[1-9]/.source,EX=(U)=>x4(g0.negativeLookahead(eQ)+g0.nonCapturingGroup("-?"+g0.nonCapturingGroup(g0.nonCapturingGroup("0|"+SX)+g0.nonCapturingGroup(U.decimalPattern)+"?")+(U.allowDecimalOnly?"|"+U.decimalPattern:"")+"?")),CX=EX({decimalPattern:XG,allowDecimalOnly:!1}),qG=CX.test.bind(CX),H6=EX({decimalPattern:UG,allowDecimalOnly:!0}),$V=H6.test.bind(H6),ZG=/^-?\d*\.?\d*$/,QG=(U)=>U.length!==0&&ZG.test(U),W2=x4(g0.negativeLookahead("^-0$")+"-?"+g0.nonCapturingGroup(g0.nonCapturingGroup("0|"+SX))),GG=W2.test.bind(W2),h4=/^-?\d+$/,YG=h4.test.bind(h4),bX={number:"a number",bigint:"a bigint",integer:"an integer"},jX=(U,X)=>`'${U}' was parsed as ${bX[X]} but could not be narrowed to a literal value. Avoid unnecessary leading or trailing zeros and other abnormal notation`,HG=(U,X)=>X==="number"?qG(U):GG(U),JG=(U,X)=>X==="number"?Number(U):Number.parseInt(U),WG=(U,X)=>X==="number"?QG(U):YG(U),fX=(U,X)=>u4(U,"number",X),yX=(U,X)=>u4(U,"number",{...X,strict:!0}),gX=(U,X)=>u4(U,"integer",X),u4=(U,X,q)=>{let Z=JG(U,X);if(!Number.isNaN(Z)){if(WG(U,X)){if(q?.strict)return HG(U,X)?Z:F(jX(U,X));return Z}}return q?.errorOnFail?F(q?.errorOnFail===!0?`Failed to parse ${bX[X]} from '${U}'`:q?.errorOnFail):void 0},kX=(U)=>{if(U[U.length-1]!=="n")return;let X=U.slice(0,-1),q;try{q=BigInt(X)}catch{return}if(W2.test(X))return q;if(h4.test(X))return F(jX(U,"bigint"))};var _G="0.56.0",$G={version:_G,filename:IX.fileName(),FileConstructor:g4},_1=$G,vX=new Map,m4=Object.create(null),_2=(U)=>{let X=vX.get(U);if(X)return X;let q=LG(U);if(m4[q])q=`${q}${m4[q]++}`;else m4[q]=1;return _1[q]=U,vX.set(U,q),q},c0=(U)=>/^[$A-Z_a-z][\w$]*$/.test(U),LG=(U)=>{switch(typeof U){case"object":{if(U===null)break;let X=Y2(U)??"object";return X[0].toLowerCase()+X.slice(1)}case"function":return c0(U.name)?U.name:"fn";case"symbol":return U.description&&c0(U.description)?U.description:"symbol"}return g(`Unexpected attempt to register serializable value of type ${r(U)}`)};var $2=(U)=>typeof U==="string"?JSON.stringify(U):typeof U==="bigint"?`${U}n`:`${U}`;var xX=(U,X={})=>L2(U,{onUndefined:"$ark.undefined",onBigInt:(q)=>`$ark.bigint-${q}`,...X},[]);var E=(U,X)=>{switch(r(U)){case"object":let q=U,Z=q.constructor?.name??"Object";return Z==="Object"||Z==="Array"?X?.quoteKeys===!1?J6(q,X?.indent??0,""):JSON.stringify(L2(q,I1,[]),null,X?.indent):J6(q,X?.indent??0,"");case"symbol":return I1.onSymbol(U);default:return $2(U)}},J6=(U,X,q)=>{if(typeof U==="function")return I1.onFunction(U);if(typeof U!=="object"||U===null)return $2(U);let Z=q+" ".repeat(X);if(Array.isArray(U)){if(U.length===0)return"[]";let G=U.map((Y)=>J6(Y,X,Z)).join(`,
|
|
145
145
|
`+Z);return X?`[
|
|
146
146
|
${Z}${G}
|
|
147
|
-
${q}]`:`[${G}]`}let Q=U.constructor?.name??"Object";if(Q==="Object"){let G=
|
|
147
|
+
${q}]`:`[${G}]`}let Q=U.constructor?.name??"Object";if(Q==="Object"){let G=H1(U).map(([Y,H])=>{let J=typeof Y==="symbol"?I1.onSymbol(Y):c0(Y)?Y:JSON.stringify(Y),W=J6(H,X,Z);return`${Z}${J}: ${W}`});if(G.length===0)return"{}";return X?`{
|
|
148
148
|
${G.join(`,
|
|
149
149
|
`)}
|
|
150
|
-
${q}}`:`{${G.join(", ")}}`}if(U instanceof Date)return
|
|
150
|
+
${q}}`:`{${G.join(", ")}}`}if(U instanceof Date)return $1(U);if("expression"in U&&typeof U.expression==="string")return U.expression;return Q},I1={onCycle:()=>"(cycle)",onSymbol:(U)=>`Symbol(${_2(U)})`,onFunction:(U)=>`Function(${_2(U)})`},L2=(U,X,q)=>{switch(r(U)){case"object":{let Z=U;if("toJSON"in Z&&typeof Z.toJSON==="function")return Z.toJSON();if(typeof Z==="function")return I1.onFunction(Z);if(q.includes(Z))return"(cycle)";let Q=[...q,Z];if(Array.isArray(Z))return Z.map((Y)=>L2(Y,X,Q));if(Z instanceof Date)return Z.toDateString();let G={};for(let Y in Z)G[Y]=L2(Z[Y],X,Q);for(let Y of Object.getOwnPropertySymbols(Z))G[X.onSymbol?.(Y)??Y.toString()]=L2(Z[Y],X,Q);return G}case"symbol":return I1.onSymbol(U);case"bigint":return X.onBigInt?.(U)??`${U}n`;case"undefined":return X.onUndefined??"undefined";case"string":return U.replace(/\\/g,"\\\\");default:return U}},$1=(U)=>{let X=U.getFullYear(),q=U.getMonth(),Z=U.getDate(),Q=U.getHours(),G=U.getMinutes(),Y=U.getSeconds(),H=U.getMilliseconds();if(q===0&&Z===1&&Q===0&&G===0&&Y===0&&H===0)return`${X}`;let J=`${zG[q]} ${Z}, ${X}`;if(Q===0&&G===0&&Y===0&&H===0)return J;let W=U.toLocaleTimeString(),$=W.endsWith(" AM")||W.endsWith(" PM")?W.slice(-3):"";if($)W=W.slice(0,-$.length);if(H)W+=`.${AG(H,3)}`;else if(FG.test(W))W=W.slice(0,-3);return`${W+$}, ${J}`},zG=["January","February","March","April","May","June","July","August","September","October","November","December"],FG=/:\d\d:00$/,AG=(U,X)=>String(U).padStart(X,"0");var hX=(U,X,...[q])=>{let Z=q?.stringifySymbol??E,Q=U;switch(typeof X){case"string":Q=c0(X)?U===""?X:`${U}.${X}`:`${U}[${JSON.stringify(X)}]`;break;case"number":Q=`${U}[${X}]`;break;case"symbol":Q=`${U}[${Z(X)}]`;break;default:if(q?.stringifyNonKey)Q=`${U}[${q.stringifyNonKey(X)}]`;else F(`${E(X)} must be a PropertyKey or stringifyNonKey must be passed to options`)}return Q},k0=(U,...X)=>U.reduce((q,Z)=>hX(q,Z,...X),"");class z2 extends G6{cache={};constructor(...U){super();this.push(...U)}toJSON(){if(this.cache.json)return this.cache.json;this.cache.json=[];for(let U=0;U<this.length;U++)this.cache.json.push(typeof this[U]==="symbol"?E(this[U]):this[U]);return this.cache.json}stringify(){if(this.cache.stringify)return this.cache.stringify;return this.cache.stringify=k0(this)}stringifyAncestors(){if(this.cache.stringifyAncestors)return this.cache.stringifyAncestors;let U="",X=[U];for(let q of this)U=hX(U,q),X.push(U);return this.cache.stringifyAncestors=X}}class F2{chars;i;def;constructor(U){this.def=U,this.chars=[...U],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(U){let X="";while(this.lookahead)if(U(this,X))break;else X+=this.shift();return X}shiftUntilEscapable(U){let X="";while(this.lookahead)if(this.lookahead===W1)if(this.shift(),U(this,X))X+=this.shift();else if(this.lookahead===W1)X+=this.shift();else X+=`${W1}${this.shift()}`;else if(U(this,X))break;else X+=this.shift();return X}shiftUntilLookahead(U){return typeof U==="string"?this.shiftUntil((X)=>X.lookahead===U):this.shiftUntil((X)=>(X.lookahead in U))}shiftUntilNonWhitespace(){return this.shiftUntil(()=>!(this.lookahead in d0))}jumpToIndex(U){this.i=U<0?this.length+U:U}jumpForward(U){this.i+=U}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(U,X){return this.chars.slice(U,X).join("")}lookaheadIs(U){return this.lookahead===U}lookaheadIsIn(U){return this.lookahead in U}}var uX=(U,X)=>`Unmatched ${U}${X===""?"":` before ${X}`}`,W6=(U)=>`Missing ${U}`;var kV=D0("implementedTraits");var p4="$ark",OG=2;while(p4 in globalThis)p4=`$ark${OG++}`;var mX=p4;globalThis[mX]=_1;var O=_1,VG=(U)=>`${mX}.${U}`,d=(U)=>VG(_2(U));class _6 extends G2{argNames;body="";constructor(...U){super();this.argNames=U;for(let X of U){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(U,X=!1){return l4(U,X)}index(U,X=!1){return pX(`${U}`,X)}line(U){return this.body+=`${" ".repeat(this.indentation)}${U}
|
|
151
151
|
`,this}const(U,X){return this.line(`const ${U} = ${X}`),this}let(U,X){return this.line(`let ${U} = ${X}`)}set(U,X){return this.line(`${U} = ${X}`)}if(U,X){return this.block(`if (${U})`,X)}elseIf(U,X){return this.block(`else if (${U})`,X)}else(U){return this.block("else",U)}for(U,X,q=0){return this.block(`for (let i = ${q}; ${U}; i++)`,X)}forIn(U,X){return this.block(`for (const k in ${U})`,X)}block(U,X,q=""){return this.line(`${U} {`),this.indent(),X(this),this.dedent(),this.line(`}${q}`)}return(U=""){return this.line(`return ${U}`)}write(U="anonymous",X=0){return`${U}(${this.argNames.join(", ")}) { ${X?this.body.split(`
|
|
152
152
|
`).map((q)=>" ".repeat(X)+`${q}`).join(`
|
|
153
|
-
`):this.body} }`}compile(){return new
|
|
154
|
-
`)}addAncestorPaths(U){for(let X of U.path.stringifyAncestors())this.byAncestorPath[X]=
|
|
155
|
-
`+U.map((X)=>` • ${
|
|
156
|
-
`));Object.defineProperty(this,"arkErrors",{value:U,enumerable:!1})}}var
|
|
153
|
+
`):this.body} }`}compile(){return new MX(...this.argNames,this.body)}}var M0=(U)=>Z0(U,"object")||typeof U==="symbol"?d(U):$2(U),l4=(U,X=!1)=>{if(typeof U==="string"&&c0(U))return`${X?"?":""}.${U}`;return pX(TG(U),X)},TG=(U)=>typeof U==="symbol"?d(U):JSON.stringify(U),pX=(U,X=!1)=>`${X?"?.":""}[${U}]`;class A2 extends _6{traversalKind;optimistic;constructor(U){super("data","ctx");this.traversalKind=U.kind,this.optimistic=U.optimistic===!0}invoke(U,X){let q=X?.arg??this.data,Z=typeof U==="string"?!0:this.requiresContextFor(U),Q=typeof U==="string"?U:U.id;if(Z)return`${this.referenceToId(Q,X)}(${q}, ${this.ctx})`;return`${this.referenceToId(Q,X)}(${q})`}referenceToId(U,X){let q=X?.kind??this.traversalKind,Z=`this.${U}${q}`;return X?.bind?`${Z}.bind(${X?.bind})`:Z}requiresContextFor(U){return this.traversalKind==="Apply"||U.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(U,X,q){let Z=this.requiresContextFor(q);if(Z)this.line(`${this.ctx}.path.push(${U})`);if(this.check(q,{arg:X}),Z)this.line(`${this.ctx}.path.pop()`);return this}check(U,X){return this.traversalKind==="Allows"?this.if(`!${this.invoke(U,X)}`,()=>this.return(!1)):this.line(this.invoke(U,X))}}var $6=(U)=>S(U,(X,q)=>[X,x(q)?[...q]:q]),X0=D0("arkKind"),M=(U,X)=>U?.[X0]===X,h=(U)=>M(U,"root")||M(U,"constraint");var lX=["unit","proto","domain"],K1=["required","optional","index","sequence"],d4=["pattern","divisor","exactLength","max","min","maxLength","minLength","before","after"],c4=[...d4,"structure","predicate"],L6=[...c4,...K1],N1=["alias","union","morph","unit","intersection","proto","domain"],BG=[...N1,...L6],z6=S(L6,(U,X)=>[X,1]),dX=S([...K1,"undeclared"],(U,X)=>[X,1]),cX=S(BG,(U,X)=>[X,U]),C1=(U)=>typeof U==="string"&&(U in cX);var S1=(U)=>cX[U],F6=(U)=>N1.slice(S1(U)+1),BT=[...F6("union"),"alias"],RT=[...F6("morph"),"alias"],F0=(U)=>{if(typeof U==="string"||typeof U==="boolean"||U===null)return U;if(typeof U==="number"){if(Number.isNaN(U))return"NaN";if(U===Number.POSITIVE_INFINITY)return"Infinity";if(U===Number.NEGATIVE_INFINITY)return"-Infinity";return U}return M0(U)},i0=(U)=>{let X="{ ";for(let[q,Z]of Object.entries(U))X+=`${q}: ${M0(Z)}, `;return X+" }"},b=(U)=>{let X=U;if(X.hasAssociatedError)X.defaults.expected??=(q)=>("description"in q)?q.description:X.defaults.description(q),X.defaults.actual??=(q)=>E(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 Z=`${q.propString} ${q.problem}`;if(Z[0]==="[")return`value at ${Z}`;return Z};return X};class iX extends Error{name="ToJsonSchemaError";code;context;constructor(U,X){super(E(X,{quoteKeys:!1,indent:4}));this.code=U,this.context=X}hasCode(U){return this.code===U}}var RG={target:"draft-2020-12",dialect:"https://json-schema.org/draft/2020-12/schema",useRefs:!1,fallback:{arrayObject:(U)=>p.throw("arrayObject",U),arrayPostfix:(U)=>p.throw("arrayPostfix",U),defaultValue:(U)=>p.throw("defaultValue",U),domain:(U)=>p.throw("domain",U),morph:(U)=>p.throw("morph",U),patternIntersection:(U)=>p.throw("patternIntersection",U),predicate:(U)=>p.throw("predicate",U),proto:(U)=>p.throw("proto",U),symbolKey:(U)=>p.throw("symbolKey",U),unit:(U)=>p.throw("unit",U),date:(U)=>p.throw("date",U)}},p={Error:iX,throw:(...U)=>{throw new p.Error(...U)},throwInternalOperandError:(U,X)=>g(`Unexpected JSON Schema input for ${U}: ${E(X)}`),defaultConfig:RG};O.config??={};var O2=(U,X)=>{if(!X)return U;let q={...U},Z;for(Z in X){let Q={...U.keywords};if(Z==="keywords"){for(let G in X[Z]){let Y=X.keywords[G];if(Y===void 0)continue;Q[G]=typeof Y==="string"?{description:Y}:Y}q.keywords=Q}else if(Z==="toJsonSchema")q[Z]=i4(U.toJsonSchema,X.toJsonSchema);else if(C1(Z))q[Z]={...U[Z],...X[Z]};else q[Z]=X[Z]}return q},DG={"draft-2020-12":"https://json-schema.org/draft/2020-12/schema","draft-07":"http://json-schema.org/draft-07/schema#"},i4=(U,X)=>{if(!U)return sX(X??{},void 0);if(!X)return U;let q={...U},Z;for(Z in X)if(Z==="fallback")q.fallback=MG(U.fallback,X.fallback);else q[Z]=X[Z];return sX(q,X)},sX=(U,X)=>{if(X?.dialect!==void 0)return U;if(X?.target!==void 0)return{...U,dialect:DG[X.target]};return U},MG=(U,X)=>{U=oX(U),X=oX(X);let q={},Z;for(Z in p.defaultConfig.fallback)q[Z]=X[Z]??X.default??U[Z]??U.default??p.defaultConfig.fallback[Z];return q},oX=(U)=>typeof U==="function"?{default:U}:U??{};class s0 extends G2{[X0]="error";path;data;nodeConfig;input;ctx;constructor({prefixPath:U,relativePath:X,...q},Z){super();this.input=q,this.ctx=Z,OX(this,q);let Q=Z.data;if(q.code==="union")q.errors=q.errors.flatMap((Y)=>{let H=Y.hasCode("union")?Y.errors:[Y];if(!U&&!X)return H;return H.map((J)=>J.transform((W)=>({...W,path:_X(U,W.path,X)})))});this.nodeConfig=Z.config[this.code];let G=[...q.path??Z.path];if(X)G.push(...X);if(U)G.unshift(...U);this.path=new z2(...G),this.data="data"in q?q.data:Q}transform(U){return new s0(U({data:this.data,path:this.path,...this.input}),this.ctx)}hasCode(U){return this.code===U}get propString(){return k0(this.path)}get expected(){if(this.input.expected)return this.input.expected;let U=this.meta?.expected??this.nodeConfig.expected;return typeof U==="function"?U(this.input):U}get actual(){if(this.input.actual)return this.input.actual;let U=this.meta?.actual??this.nodeConfig.actual;return typeof U==="function"?U(this.data):U}get problem(){if(this.input.problem)return this.input.problem;let U=this.meta?.problem??this.nodeConfig.problem;return typeof U==="function"?U(this):U}get message(){if(this.input.message)return this.input.message;let U=this.meta?.message??this.nodeConfig.message;return typeof U==="function"?U(this):U}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}}class H0 extends G6{[X0]="errors";ctx;constructor(U){super();this.ctx=U}byPath=Object.create(null);get flatByPath(){return S(this.byPath,(U,X)=>[U,X.flat])}get flatProblemsByPath(){return S(this.byPath,(U,X)=>[U,X.flat.map((q)=>q.problem)])}byAncestorPath=Object.create(null);count=0;mutable=this;throw(){throw this.toTraversalError()}toTraversalError(){return new s4(this)}add(U){let X=this.byPath[U.propString];if(X){if(U===X)return;if(X.hasCode("union")&&X.errors.length===0)return;let q=U.hasCode("union")&&U.errors.length===0?U:new s0({code:"intersection",errors:X.hasCode("intersection")?[...X.errors,U]:[X,U]},this.ctx),Z=this.indexOf(X);this.mutable[Z===-1?this.length:Z]=q,this.byPath[U.propString]=q,this.addAncestorPaths(U)}else this.byPath[U.propString]=U,this.addAncestorPaths(U),this.mutable.push(U);this.count++}transform(U){let X=new H0(this.ctx);for(let q of this)X.add(U(q));return X}merge(U){for(let X of U)this.add(new s0({...X,path:[...this.ctx.path,...X.path]},this.ctx))}affectsPath(U){if(this.length===0)return!1;return U.stringifyAncestors().some((X)=>(X in this.byPath))||U.stringify()in this.byAncestorPath}get summary(){return this.toString()}get issues(){return this}toJSON(){return[...this.map((U)=>U.toJSON())]}toString(){return this.join(`
|
|
154
|
+
`)}addAncestorPaths(U){for(let X of U.path.stringifyAncestors())this.byAncestorPath[X]=y(this.byAncestorPath[X],U)}}class s4 extends Error{name="TraversalError";constructor(U){if(U.length===1)super(U.summary);else super(`
|
|
155
|
+
`+U.map((X)=>` • ${wG(X)}`).join(`
|
|
156
|
+
`));Object.defineProperty(this,"arkErrors",{value:U,enumerable:!1})}}var wG=(U)=>U.toString().split(`
|
|
157
157
|
`).join(`
|
|
158
|
-
`);class M0{path=[];errors=new J0(this);root;config;queuedMorphs=[];branches=[];seen={};constructor(U,X){this.root=U,this.config=X}get data(){let U=this.root;for(let X of this.path)U=U?.[X];return U}get propString(){return k0(this.path)}reject(U){return this.error(U),!1}mustBe(U){return this.error(U),!1}error(U){let X=typeof U==="object"?U.code?U:{...U,code:"predicate"}:{code:"predicate",expected:U};return this.errorFromContext(X)}hasError(){return this.currentErrorCount!==0}get currentBranch(){return this.branches[this.branches.length-1]}queueMorphs(U){let X={path:new J2(...this.path),morphs:U};if(this.currentBranch)this.currentBranch.queuedMorphs.push(X);else this.queuedMorphs.push(X)}finalize(U){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 U?U(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(U){return this.errorFromContext(U)}errorFromContext(U){let X=new o0(U,this);if(this.currentBranch)this.currentBranch.error=X;else this.errors.add(X);return X}applyQueuedMorphs(){while(this.queuedMorphs.length){let U=this.queuedMorphs;this.queuedMorphs=[];for(let{path:X,morphs:q}of U){if(this.errors.affectsPath(X))continue;this.applyMorphsAtPath(X,q)}}}applyMorphsAtPath(U,X){let q=U[U.length-1],Z;if(q!==void 0){Z=this.root;for(let Q=0;Q<U.length-1;Q++)Z=Z[U[Q]]}for(let Q of X){this.path=[...U];let G=h(Q),Y=Q(Z===void 0?this.root:Z[q],this);if(Y instanceof o0){if(!this.errors.includes(Y))this.errors.add(Y);break}if(Y instanceof J0){if(!G)this.errors.merge(Y);this.queuedMorphs=[];break}if(Z===void 0)this.root=Y;else Z[q]=Y;this.applyQueuedMorphs()}}}var W0=(U,X,q)=>{if(!q)return X();q.path.push(U);let Z=X();return q.path.pop(),Z};class z2 extends H0{attachments;$;onFail;includesTransform;includesContextualPredicate;isCyclic;allowsRequiresContext;rootApplyStrategy;contextFreeMorph;rootApply;referencesById;shallowReferences;flatRefs;flatMorphs;allows;get shallowMorphs(){return[]}constructor(U,X){super((Z,Q,G=this.onFail)=>{if(Q)return this.traverseApply(Z,Q),Q.hasError()?Q.errors:Q.data;return this.rootApply(Z,G)},{attach:U});this.attachments=U,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((Z,Q)=>DG(Z,Q.shallowReferences),[this]);let q=this.isStructural();this.flatRefs=[],this.flatMorphs=[];for(let Z=0;Z<this.children.length;Z++){if(this.includesTransform||=this.children[Z].includesTransform,this.includesContextualPredicate||=this.children[Z].includesContextualPredicate,this.isCyclic||=this.children[Z].isCyclic,!q){let Q=this.children[Z].flatRefs;for(let G=0;G<Q.length;G++){let Y=Q[G];if(!this.flatRefs.some((H)=>lX(H,Y))){this.flatRefs.push(Y);for(let H of Y.node.branches)if(H.hasKind("morph")||H.hasKind("intersection")&&H.structure?.structuralMorph!==void 0)this.flatMorphs.push({path:Y.path,propString:Y.propString,node:H})}}}Object.assign(this.referencesById,this.children[Z].referencesById)}this.flatRefs.sort((Z,Q)=>Z.path.length>Q.path.length?1:Z.path.length<Q.path.length?-1:Z.propString>Q.propString?1:Z.propString<Q.propString?-1:Z.node.expression<Q.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((Z)=>Z.length===1||Z.name==="$arkStructuralMorph")?this.hasKind("union")?this.branches.some((Z)=>Z.shallowMorphs.length>1)?"contextual":"branchedOptimistic":this.shallowMorphs.length>1?"contextual":"optimistic":"contextual":"contextual",this.rootApply=this.createRootApply(),this.allows=this.allowsRequiresContext?(Z)=>this.traverseAllows(Z,new M0(Z,this.$.resolvedConfig)):(Z)=>this.traverseAllows(Z)}createRootApply(){switch(this.rootApplyStrategy){case"allows":return(X,q)=>{if(this.allows(X))return X;let Z=new M0(X,this.$.resolvedConfig);return this.traverseApply(X,Z),Z.finalize(q)};case"contextual":return(X,q)=>{let Z=new M0(X,this.$.resolvedConfig);return this.traverseApply(X,Z),Z.finalize(q)};case"optimistic":this.contextFreeMorph=this.shallowMorphs[0];let U=this.$.resolvedConfig.clone;return(X,q)=>{if(this.allows(X))return this.contextFreeMorph(U&&(typeof X==="object"&&X!==null||typeof X==="function")?U(X):X);let Z=new M0(X,this.$.resolvedConfig);return this.traverseApply(X,Z),Z.finalize(q)};case"branchedOptimistic":return this.createBranchedOptimisticRootApply();default:return this.rootApplyStrategy,y(`Unexpected rootApplyStrategy ${this.rootApplyStrategy}`)}}compiledMeta=RG(this.metaJson);cacheGetter(U,X){return Object.defineProperty(this,U,{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=C1(this.kind);precompilation;assert=(U,X)=>this(U,X,(q)=>q.throw());traverse(U,X){return this(U,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(U){if(!this.includesTransform)return this;let X={};for(let[q,Z]of this.innerEntries){let Q=this.impl.keys[q];if(Q.reduceIo)Q.reduceIo(U,X,Z);else if(Q.child){let G=Z;X[q]=x(G)?G.map((Y)=>U==="in"?Y.rawIn:Y.rawOut):U==="in"?G.rawIn:G.rawOut}else X[q]=Z}return this.$.node(this.kind,X)}toJSON(){return this.json}toString(){return`Type<${this.expression}>`}equals(U){let X=h(U)?U:this.$.parseDefinition(U);return this.innerHash===X.innerHash}ifEquals(U){return this.equals(U)?this:void 0}hasKind(U){return this.kind===U}assertHasKind(U){if(this.kind!==U)G1(`${this.kind} node was not of asserted kind ${U}`);return this}hasKindIn(...U){return U.includes(this.kind)}assertHasKindIn(...U){if(!z0(U,this.kind))G1(`${this.kind} node was not one of asserted kinds ${U}`);return this}isBasis(){return z0(kX,this.kind)}isConstraint(){return z0(J6,this.kind)}isStructural(){return z0(I1,this.kind)}isRefinement(){return z0(hU,this.kind)}isRoot(){return z0(K1,this.kind)}isUnknown(){return this.hasKind("intersection")&&this.children.length===0}isNever(){return this.hasKind("union")&&this.children.length===0}hasUnit(U){return this.hasKind("unit")&&this.allows(U)}hasOpenIntersection(){return this.impl.intersectionIsOpen}get nestableExpression(){return this.expression}select(U){let X=$2.normalize(U);return this._select(X)}_select(U){let X=$2.applyBoundary[U.boundary??"references"](this);if(U.kind)X=X.filter((q)=>q.kind===U.kind);if(U.where)X=X.filter(U.where);return $2.applyMethod[U.method??"filter"](X,this,U)}transform(U,X){return this._transform(U,this._createTransformContext(X))}_createTransformContext(U){return{root:this,selected:void 0,seen:{},path:[],parseOptions:{prereduced:U?.prereduced??!1},undeclaredKeyHandling:void 0,...U}}_transform(U,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 Z;if(X.seen[this.id]=()=>Z,this.hasKind("structure")&&this.undeclared!==X.undeclaredKeyHandling)X={...X,undeclaredKeyHandling:this.undeclared};let Q=S(this.inner,(W,_)=>{if(!this.impl.keys[W].child)return[W,_];let L=_;if(!x(L)){let A=L._transform(U,X);return A?[W,A]:[]}if(L.length===0)return[W,_];let $=L.flatMap((A)=>{return A._transform(U,X)??[]});return $.length?[W,$]:[]});delete X.seen[this.id];let G=Object.assign(Q,{meta:this.meta}),Y=X.selected&&!X.selected.includes(this)?G:U(this.kind,G,X);if(Y===null)return null;if(h(Y))return Z=Y;let H=Object.keys(Y);if((H.length===0||H.length===1&&H[0]==="meta")&&!C0(this.inner))return null;if((this.kind==="required"||this.kind==="optional"||this.kind==="index")&&!("value"in Y))return X.undeclaredKeyHandling?{...Y,value:T.intrinsic.unknown}:null;if(this.kind==="morph")Y.in??=T.intrinsic.unknown;return Z=q.node(this.kind,Y,X.parseOptions)}configureReferences(U,X="references"){let q=$2.normalize(X),Z=typeof U==="string"?(H,J)=>({...J,meta:{...J.meta,description:U}}):typeof U==="function"?(H,J)=>({...J,meta:U(J.meta)}):(H,J)=>({...J,meta:{...J.meta,...U}});if(q.boundary==="self")return this.$.node(this.kind,Z(this.kind,{...this.inner,meta:this.meta}));let Q=this._select(q),G=Q&&p0(Q),Y=q.boundary==="child"?(H,J)=>J.root.children.includes(H):q.boundary==="shallow"?(H)=>H.kind!=="structure":()=>!0;return this.$.finalize(this.transform(Z,{shouldTransform:Y,selected:G}))}}var $2={applyBoundary:{self:(U)=>[U],child:(U)=>[...U.children],shallow:(U)=>[...U.shallowReferences],references:(U)=>[...U.references]},applyMethod:{filter:(U)=>U,assertFilter:(U,X,q)=>{if(U.length===0)G1(pX(X,q));return U},find:(U)=>U[0],assertFind:(U,X,q)=>{if(U.length===0)G1(pX(X,q));return U[0]}},normalize:(U)=>typeof U==="function"?{boundary:"references",method:"filter",where:U}:typeof U==="string"?n(U,$2.applyBoundary)?{method:"filter",boundary:U}:{boundary:"references",method:"filter",kind:U}:{boundary:"references",method:"filter",...U}},pX=(U,X)=>`${U} had no references matching ${E(X)}.`,VG=(U)=>k0(U,{stringifyNonKey:(X)=>X.expression}),BG=/"(\$ark\.[^"]+)"/g,RG=(U)=>JSON.stringify(U).replace(BG,"$1"),w0=(U,X)=>({path:U,node:X,propString:VG(U)}),lX=(U,X)=>U.propString===X.propString&&U.node.equals(X.node),pU=(U,X)=>N0(U,X,{isEqual:lX}),DG=(U,X)=>N0(U,X,{isEqual:(q,Z)=>q.equals(Z)});class V extends Array{static init(U,X,q,Z){return new V({kind:U,l:X,r:q,path:Z?.path??[],optional:Z?.optional??!1})}add(U,X,q,Z){return this.push({kind:U,l:X,r:q,path:Z?.path??[],optional:Z?.optional??!1}),this}get summary(){return this.describeReasons()}describeReasons(){if(this.length===1){let{path:U,l:X,r:q}=this[0],Z=k0(U);return dU(`Intersection${Z&&` at ${Z}`} of ${dX(X,q)}`)}return`The following intersections result in unsatisfiable types:
|
|
159
|
-
• ${this.map(({path:U,l:X,r:q})=>`${U}: ${
|
|
160
|
-
• `)}`}throw(){return F(this.describeReasons())}invert(){let U=this.map((X)=>({...X,l:X.r,r:X.l}));if(!(U instanceof V))return new V(...U);return U}withPrefixKey(U,X){return this.map((q)=>({...q,path:[U,...q.path],optional:q.optional||X==="optional"}))}toNeverIfDisjoint(){return T.intrinsic.never}}var dX=(U,X)=>`${lU(U)} and ${lU(X)}`,lU=(U)=>h(U)?U.expression:x(U)?U.map(lU).join(" | ")||"never":String(U),dU=(U)=>`${U} results in an unsatisfiable type`;var S1={},L0=(U,X,q)=>u(U,X,{$:q,invert:!1,pipe:!1}),F2=(U,X,q)=>u(U,X,{$:q,invert:!1,pipe:!0}),u=(U,X,q)=>{let Z=q.pipe?"|>":"&",Q=`${U.hash}${Z}${X.hash}`;if(S1[Q]!==void 0)return S1[Q];if(!q.pipe){let H=`${X.hash}${Z}${U.hash}`;if(S1[H]!==void 0){let J=S1[H],W=J instanceof V?J.invert():J;return S1[Q]=W,W}}let G=!q.pipe||!U.includesTransform&&!X.includesTransform;if(G&&U.equals(X))return U;let Y=G?cU(U,X,q):U.hasKindIn(...K1)?MG(U,X,q):cU(U,X,q);if(h(Y)){if(U.equals(Y))Y=U;else if(X.equals(Y))Y=X}return S1[Q]=Y,Y},cU=(U,X,q)=>{let Z=U.precedence<X.precedence?U.kind:X.kind,Q=U.impl.intersections[X.kind]??X.impl.intersections[U.kind];if(Q===void 0)return null;else if(Z===U.kind)return Q(U,X,q);else{let G=Q(X,U,{...q,invert:!q.invert});if(G instanceof V)G=G.invert();return G}},MG=(U,X,q)=>U.includesTransform||X.includesTransform?q.invert?cX(X,U,q):cX(U,X,q):cU(U,X,q),cX=(U,X,q)=>U.distribute((Z)=>wG(Z,X,q),(Z)=>{let Q=Z.filter(h);if(Q.length===0)return V.init("union",U.branches,X.branches);if(Q.length<U.branches.length||!U.branches.every((H,J)=>H.rawIn.equals(Q[J].rawIn)))return q.$.parseSchema(Q);let G;if(Q.length===1){let H=Q[0];if(!G)return H;return q.$.node("morph",{...H.inner,in:H.rawIn.configure(G,"self")})}let Y={branches:Q};if(G)Y.meta=G;return q.$.parseSchema(Y)}),wG=(U,X,q)=>{if(U.hasKind("morph")){let Q=[...U.morphs];if(U.lastMorphIfNode){let G=u(U.lastMorphIfNode,X,q);if(G instanceof V)return G;Q[Q.length-1]=G}else Q.push(X);return q.$.node("morph",{morphs:Q,in:U.inner.in})}if(X.hasKind("morph")){let Q=u(U,X.rawIn,q);if(Q instanceof V)return Q;return q.$.node("morph",{morphs:[X],in:Q})}return q.$.node("morph",{morphs:[X],in:U})};class A0 extends z2{constructor(U,X){super(U,X);Object.defineProperty(this,X0,{value:"constraint",enumerable:!1})}impliedSiblings;intersect(U){return L0(this,U,this.$)}}class v0 extends A0{traverseApply=(U,X)=>{if(!this.traverseAllows(U,X))X.errorFromNodeContext(this.errorContext)};compile(U){if(U.traversalKind==="Allows")U.return(this.compiledCondition);else U.if(this.compiledNegation,()=>U.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return i0(this.errorContext)}}var U0=(U)=>(X,q)=>{if(x(X)){if(X.length===0)return;let Q=X.map((G)=>q.$.node(U,G));if(U==="predicate")return Q;return Q.sort((G,Y)=>G.hash<Y.hash?-1:1)}let Z=q.$.node(U,X);return Z.hasOpenIntersection()?[Z]:Z},E1=(U)=>{let X=U.r.shift();if(!X){let Z=U.l.length===0&&U.kind==="structure"?T.intrinsic.unknown.internal:U.ctx.$.node(U.kind,Object.assign(U.baseInner,PG(U.l)),{prereduced:!0});for(let Q of U.roots){if(Z instanceof V)return Z;Z=u(Q,Z,U.ctx)}return Z}let q=!1;for(let Z=0;Z<U.l.length;Z++){let Q=u(U.l[Z],X,U.ctx);if(Q===null)continue;if(Q instanceof V)return Q;if(Q.isRoot())return U.roots.push(Q),U.l.splice(Z),E1(U);if(!q)U.l[Z]=Q,q=!0;else if(!U.l.includes(Q))return y(`Unexpectedly encountered multiple distinct intersection results for refinement ${X}`)}if(!q)U.l.push(X);if(U.kind==="intersection"){if(X.impliedSiblings)for(let Z of X.impliedSiblings)N0(U.r,Z)}return E1(U)},b1=(U)=>{return Object.entries(U).flatMap(([q,Z])=>(q in W6)?Z:[]).sort((q,Z)=>q.precedence<Z.precedence?-1:q.precedence>Z.precedence?1:q.kind==="predicate"&&Z.kind==="predicate"?0:q.hash<Z.hash?-1:1)},PG=(U)=>{let X={};for(let q of U)if(q.hasOpenIntersection())X[q.kind]=g(X[q.kind],q);else{if(X[q.kind])return y(`Unexpected intersection of closed refinements of kind ${q.kind}`);X[q.kind]=q}return X},iX=(...U)=>F(oX(...U)),oX=(U,X,q)=>{let Z=q.hasKind("morph")?"a morph":q.isUnknown()?"unknown":q.exclude(X).defaultShortDescription;return`${BX(U)} operand must be ${X.description} (was ${Z})`};var sX=(U,X,q)=>new s0(U,X,q,q,null);class _6 extends H0{}class s0 extends H0{[X0]="generic";paramDefs;bodyDef;$;arg$;baseInstantiation;hkt;description;constructor(U,X,q,Z,Q){super((...G)=>{let Y=S(this.names,(H,J)=>{let W=this.arg$.parse(G[H]);if(!W.extends(this.constraints[H]))F(IG(J,this.constraints[H].expression,W.expression));return[J,W]});if(this.defIsLazy()){let H=this.bodyDef(Y);return this.$.parse(H)}return this.$.parse(X,{args:Y})});this.paramDefs=U,this.bodyDef=X,this.$=q,this.arg$=Z,this.hkt=Q,this.description=Q?new Q().description??`a generic type for ${Q.constructor.name}`:"a generic type",this.baseInstantiation=this(...this.constraints)}defIsLazy(){return this.bodyDef instanceof _6}cacheGetter(U,X){return Object.defineProperty(this,U,{value:X}),X}get json(){return this.cacheGetter("json",{params:this.params.map((U)=>U[1].isUnknown()?U[0]:[U[0],U[1].json]),body:bX(this.bodyDef)})}get params(){return this.cacheGetter("params",this.paramDefs.map((U)=>typeof U==="string"?[U,T.intrinsic.unknown]:[U[0],this.$.parse(U[1])]))}get names(){return this.cacheGetter("names",this.params.map((U)=>U[0]))}get constraints(){return this.cacheGetter("constraints",this.params.map((U)=>U[1]))}get internal(){return this}get referencesById(){return this.baseInstantiation.internal.referencesById}get references(){return this.baseInstantiation.internal.references}}var IG=(U,X,q)=>`${U} must be assignable to ${X} (was ${q})`;var KG=b({kind:"predicate",hasAssociatedError:!0,collapsibleKey:"predicate",keys:{predicate:{}},normalize:(U)=>typeof U==="function"?{predicate:U}:U,defaults:{description:(U)=>`valid according to ${U.predicate.name||"an anonymous predicate"}`},intersectionIsOpen:!0,intersections:{predicate:()=>null}});class rX extends A0{serializedPredicate=d(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=i0(this.errorContext);traverseApply=(U,X)=>{let q=X.currentErrorCount;if(!this.predicate(U,X.external)&&X.currentErrorCount===q)X.errorFromNodeContext(this.errorContext)};compile(U){if(U.traversalKind==="Allows"){U.return(this.compiledCondition);return}U.initializeErrorCount(),U.if(`${this.compiledNegation} && ctx.currentErrorCount === errorCount`,()=>U.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}reduceJsonSchema(U,X){return X.fallback.predicate({code:"predicate",base:U,predicate:this.predicate})}}var iU={implementation:KG,Node:rX};var NG=b({kind:"divisor",collapsibleKey:"rule",keys:{rule:{parse:(U)=>Number.isInteger(U)?U:F(CG(U))}},normalize:(U)=>typeof U==="number"?{rule:U}:U,hasAssociatedError:!0,defaults:{description:(U)=>U.rule===1?"an integer":U.rule===2?"even":`a multiple of ${U.rule}`},intersections:{divisor:(U,X,q)=>q.$.node("divisor",{rule:Math.abs(U.rule*X.rule/SG(U.rule,X.rule))})},obviatesBasisDescription:!0});class nX extends v0{traverseAllows=(U)=>U%this.rule===0;compiledCondition=`data % ${this.rule} === 0`;compiledNegation=`data % ${this.rule} !== 0`;impliedBasis=T.intrinsic.number.internal;expression=`% ${this.rule}`;reduceJsonSchema(U){if(U.type="integer",this.rule===1)return U;return U.multipleOf=this.rule,U}}var oU={implementation:NG,Node:nX};var CG=(U)=>`divisor must be an integer (was ${U})`,SG=(U,X)=>{let q,Z=U,Q=X;while(Q!==0)q=Q,Q=Z%Q,Z=q;return Z};class $0 extends v0{boundOperandKind=fG[this.kind];compiledActual=this.boundOperandKind==="value"?"data":this.boundOperandKind==="length"?"data.length":"data.valueOf()";comparator=gG(this.kind,this.exclusive);numericLimit=this.rule.valueOf();expression=`${this.comparator} ${this.rule}`;compiledCondition=`${this.compiledActual} ${this.comparator} ${this.numericLimit}`;compiledNegation=`${this.compiledActual} ${EG[this.comparator]} ${this.numericLimit}`;stringLimit=this.boundOperandKind==="date"?yG(this.numericLimit):`${this.numericLimit}`;limitKind=this.comparator["0"]==="<"?"upper":"lower";isStricterThan(U){return(this.limitKind==="upper"?this.numericLimit<U.numericLimit:this.numericLimit>U.numericLimit)||this.numericLimit===U.numericLimit&&this.exclusive===!0&&!U.exclusive}overlapsRange(U){if(this.isStricterThan(U))return!1;if(this.numericLimit===U.numericLimit&&(this.exclusive||U.exclusive))return!1;return!0}overlapIsUnit(U){return this.numericLimit===U.numericLimit&&!this.exclusive&&!U.exclusive}}var EG={"<":">=","<=":">",">":"<=",">=":"<"},bG={min:"max",minLength:"maxLength",after:"before"},$6={parse:(U)=>U||void 0},z6=(U)=>(X)=>{if(typeof X==="number")return{rule:X};let{exclusive:q,...Z}=X;return q?{...Z,rule:U==="minLength"?Z.rule+1:Z.rule-1}:Z},F6=(U)=>(X)=>{if(typeof X==="number"||typeof X==="string"||X instanceof Date)return{rule:X};let{exclusive:q,...Z}=X;if(!q)return Z;let Q=typeof Z.rule==="number"?Z.rule:typeof Z.rule==="string"?new Date(Z.rule).valueOf():Z.rule.valueOf();return q?{...Z,rule:U==="after"?Q+1:Q-1}:Z},A6=(U)=>typeof U==="string"||typeof U==="number"?new Date(U):U,jG=(U,X)=>`${U} bound must be a positive integer (was ${X})`,j1=(U)=>(X)=>{if(!Number.isInteger(X)||X<0)F(jG(U,X));return X},fG={min:"value",max:"value",minLength:"length",maxLength:"length",after:"date",before:"date"},gG=(U,X)=>`${n(U,bG)?">":"<"}${X?"":"="}`,yG=(U)=>typeof U==="string"?U:new Date(U).toLocaleString(),aX=(U)=>`Bounded expression ${U} must be exactly one of number, string, Array, or Date`;var kG=b({kind:"after",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:A6,serialize:(U)=>U.toISOString()}},normalize:F6("after"),defaults:{description:(U)=>`${U.collapsibleLimitString} or later`,actual:L1},intersections:{after:(U,X)=>U.isStricterThan(X)?U:X}});class tX extends $0{impliedBasis=T.intrinsic.Date.internal;collapsibleLimitString=L1(this.rule);traverseAllows=(U)=>U>=this.rule;reduceJsonSchema(U,X){return X.fallback.date({code:"date",base:U,after:this.rule})}}var sU={implementation:kG,Node:tX};var vG=b({kind:"before",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:A6,serialize:(U)=>U.toISOString()}},normalize:F6("before"),defaults:{description:(U)=>`${U.collapsibleLimitString} or earlier`,actual:L1},intersections:{before:(U,X)=>U.isStricterThan(X)?U:X,after:(U,X,q)=>U.overlapsRange(X)?U.overlapIsUnit(X)?q.$.node("unit",{unit:U.rule}):null:V.init("range",U,X)}});class eX extends $0{collapsibleLimitString=L1(this.rule);traverseAllows=(U)=>U<=this.rule;impliedBasis=T.intrinsic.Date.internal;reduceJsonSchema(U,X){return X.fallback.date({code:"date",base:U,before:this.rule})}}var rU={implementation:vG,Node:eX};var xG=b({kind:"exactLength",collapsibleKey:"rule",keys:{rule:{parse:j1("exactLength")}},normalize:(U)=>typeof U==="number"?{rule:U}:U,hasAssociatedError:!0,defaults:{description:(U)=>`exactly length ${U.rule}`,actual:(U)=>`${U.length}`},intersections:{exactLength:(U,X,q)=>V.init("unit",q.$.node("unit",{unit:U.rule}),q.$.node("unit",{unit:X.rule}),{path:["length"]}),minLength:(U,X)=>U.rule>=X.rule?U:V.init("range",U,X),maxLength:(U,X)=>U.rule<=X.rule?U:V.init("range",U,X)}});class Uq extends v0{traverseAllows=(U)=>U.length===this.rule;compiledCondition=`data.length === ${this.rule}`;compiledNegation=`data.length !== ${this.rule}`;impliedBasis=T.intrinsic.lengthBoundable.internal;expression=`== ${this.rule}`;reduceJsonSchema(U){switch(U.type){case"string":return U.minLength=this.rule,U.maxLength=this.rule,U;case"array":return U.minItems=this.rule,U.maxItems=this.rule,U;default:return p.throwInternalOperandError("exactLength",U)}}}var nU={implementation:xG,Node:Uq};var hG=b({kind:"max",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:$6},normalize:(U)=>typeof U==="number"?{rule:U}:U,defaults:{description:(U)=>{if(U.rule===0)return U.exclusive?"negative":"non-positive";return`${U.exclusive?"less than":"at most"} ${U.rule}`}},intersections:{max:(U,X)=>U.isStricterThan(X)?U:X,min:(U,X,q)=>U.overlapsRange(X)?U.overlapIsUnit(X)?q.$.node("unit",{unit:U.rule}):null:V.init("range",U,X)},obviatesBasisDescription:!0});class Xq extends $0{impliedBasis=T.intrinsic.number.internal;traverseAllows=this.exclusive?(U)=>U<this.rule:(U)=>U<=this.rule;reduceJsonSchema(U){if(this.exclusive)U.exclusiveMaximum=this.rule;else U.maximum=this.rule;return U}}var aU={implementation:hG,Node:Xq};var uG=b({kind:"maxLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:j1("maxLength")}},reduce:(U,X)=>U.rule===0?X.node("exactLength",U):void 0,normalize:z6("maxLength"),defaults:{description:(U)=>`at most length ${U.rule}`,actual:(U)=>`${U.length}`},intersections:{maxLength:(U,X)=>U.isStricterThan(X)?U:X,minLength:(U,X,q)=>U.overlapsRange(X)?U.overlapIsUnit(X)?q.$.node("exactLength",{rule:U.rule}):null:V.init("range",U,X)}});class qq extends $0{impliedBasis=T.intrinsic.lengthBoundable.internal;traverseAllows=(U)=>U.length<=this.rule;reduceJsonSchema(U){switch(U.type){case"string":return U.maxLength=this.rule,U;case"array":return U.maxItems=this.rule,U;default:return p.throwInternalOperandError("maxLength",U)}}}var tU={implementation:uG,Node:qq};var mG=b({kind:"min",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:$6},normalize:(U)=>typeof U==="number"?{rule:U}:U,defaults:{description:(U)=>{if(U.rule===0)return U.exclusive?"positive":"non-negative";return`${U.exclusive?"more than":"at least"} ${U.rule}`}},intersections:{min:(U,X)=>U.isStricterThan(X)?U:X},obviatesBasisDescription:!0});class Zq extends $0{impliedBasis=T.intrinsic.number.internal;traverseAllows=this.exclusive?(U)=>U>this.rule:(U)=>U>=this.rule;reduceJsonSchema(U){if(this.exclusive)U.exclusiveMinimum=this.rule;else U.minimum=this.rule;return U}}var eU={implementation:mG,Node:Zq};var pG=b({kind:"minLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:j1("minLength")}},reduce:(U)=>U.rule===0?T.intrinsic.unknown:void 0,normalize:z6("minLength"),defaults:{description:(U)=>U.rule===1?"non-empty":`at least length ${U.rule}`,actual:(U)=>U.length===0?"":`${U.length}`},intersections:{minLength:(U,X)=>U.isStricterThan(X)?U:X}});class Qq extends $0{impliedBasis=T.intrinsic.lengthBoundable.internal;traverseAllows=(U)=>U.length>=this.rule;reduceJsonSchema(U){switch(U.type){case"string":return U.minLength=this.rule,U;case"array":return U.minItems=this.rule,U;default:return p.throwInternalOperandError("minLength",U)}}}var U4={implementation:pG,Node:Qq};var Gq={min:eU.implementation,max:aU.implementation,minLength:U4.implementation,maxLength:tU.implementation,exactLength:nU.implementation,after:sU.implementation,before:rU.implementation},Yq={min:eU.Node,max:aU.Node,minLength:U4.Node,maxLength:tU.Node,exactLength:nU.Node,after:sU.Node,before:rU.Node};var lG=b({kind:"pattern",collapsibleKey:"rule",keys:{rule:{},flags:{}},normalize:(U)=>typeof U==="string"?{rule:U}:U instanceof RegExp?U.flags?{rule:U.source,flags:U.flags}:{rule:U.source}:U,obviatesBasisDescription:!0,obviatesBasisExpression:!0,hasAssociatedError:!0,intersectionIsOpen:!0,defaults:{description:(U)=>`matched by ${U.rule}`},intersections:{pattern:()=>null}});class Hq extends v0{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(U,X){if(U.pattern)return X.fallback.patternIntersection({code:"patternIntersection",base:U,pattern:this.rule});return U.pattern=this.rule,U}}var X4={implementation:lG,Node:Hq};var A2=(U,X)=>{let q=dG(U);if(X&&!X.includes(q))return F(`Root of kind ${q} should be one of ${X}`);return q},dG=(U)=>{if(M(U,"root"))return U.kind;if(typeof U==="string")return U[0]==="$"?"alias":(U in G0)?"domain":"proto";if(typeof U==="function")return"proto";if(typeof U!=="object"||U===null)return F(Jq(U));if("morphs"in U)return"morph";if("branches"in U||x(U))return"union";if("unit"in U)return"unit";if("reference"in U)return"alias";let X=Object.keys(U);if(X.length===0||X.some((q)=>(q in W6)))return"intersection";if("proto"in U)return"proto";if("domain"in U)return"domain";return F(Jq(U))},Jq=(U)=>`${E(U)} is not a valid type schema`,Wq={},cG=(U)=>x(U)?U.map((X)=>X.collapsibleJson):U.collapsibleJson,q0={};T.nodesByRegisteredId=q0;var q4=(U)=>{return Wq[U]??=0,`${U}${++Wq[U]}`},Z4=(U)=>{let X=f1[U.kind],q=X.applyConfig?.(U.def,U.$.resolvedConfig)??U.def,Z={},{meta:Q,...G}=q,Y=Q===void 0?{}:typeof Q==="string"?{description:Q}:Q,H=KU(G).sort(([W],[_])=>N1(W)?N1(_)?C1(W)-C1(_):1:N1(_)?-1:W<_?-1:1).filter(([W,_])=>{if(W.startsWith("meta.")){let L=W.slice(5);return Y[L]=_,!1}return!0});for(let W of H){let _=W[0],L=X.keys[_];if(!L)return F(`Key ${_} is not valid on ${U.kind} schema`);let $=L.parse?L.parse(W[1],U):W[1];if($!==Y0&&($!==void 0||L.preserveUndefined))Z[_]=$}if(X.reduce&&!U.prereduced){let W=X.reduce(Z,U.$);if(W){if(W instanceof V)return W.throw();return iG(W,Y)}}return Q4({id:U.id,kind:U.kind,inner:Z,meta:Y,$:U.$})},Q4=({id:U,kind:X,inner:q,meta:Z,$:Q,ignoreCache:G})=>{let Y=f1[X],H=KU(q),J=[],W={};for(let[D,P]of H){let K=Y.keys[D],C=K.serialize??(K.child?cG:F0);if(W[D]=C(P),K.child===!0){let N=P;if(x(N))J.push(...N);else J.push(N)}else if(typeof K.child==="function")J.push(...K.child(P))}if(Y.finalizeInnerJson)W=Y.finalizeInnerJson(W);let _={...W},L={};if(!C0(Z))L=S(Z,(D,P)=>[D,D==="examples"?P:F0(P)]),_.meta=T6(L,"description",!0);W=T6(W,Y.collapsibleKey,!1);let $=JSON.stringify({kind:X,...W});_=T6(_,Y.collapsibleKey,!1);let A=T6(_,Y.collapsibleKey,!0),B=JSON.stringify({kind:X,..._});if(Q.nodesByHash[B]&&!G)return Q.nodesByHash[B];let z={id:U,kind:X,impl:Y,inner:q,innerEntries:H,innerJson:W,innerHash:$,meta:Z,metaJson:L,json:_,hash:B,collapsibleJson:A,children:J};if(X!=="intersection"){for(let D in q)if(D!=="in"&&D!=="out")z[D]=q[D]}let O=new _q[X](z,Q);return Q.nodesByHash[B]=O},Lq=(U,X)=>{if(U.id===X)return U;if(h(q0[X]))y(`Unexpected attempt to overwrite node id ${X}`);return Q4({id:X,kind:U.kind,inner:U.inner,meta:U.meta,$:U.$,ignoreCache:!0})},iG=(U,X,q)=>{if(q&&h(q0[q]))y(`Unexpected attempt to overwrite node id ${q}`);return Q4({id:q??q4(X.alias??U.kind),kind:U.kind,inner:U.inner,meta:X,$:U.$})},T6=(U,X,q)=>{let Z=Object.keys(U);if(Z.length===1&&Z[0]===X){let Q=U[X];if(q)return Q;if(Q0(Q,"object")&&(Object.keys(Q).length===1||Array.isArray(Q)))return Q}return U};var T2=(U,X,q)=>{if(U.key!==X.key)return null;let Z=U.key,Q=u(U.value,X.value,q),G=U.required||X.required?"required":"optional";if(Q instanceof V)if(G==="optional")Q=T.intrinsic.never.internal;else return Q.withPrefixKey(U.key,U.required&&X.required?"required":"optional");if(G==="required")return q.$.node("required",{key:Z,value:Q});let Y=U.hasDefault()?X.hasDefault()?U.default===X.default?U.default:F(G4(U.default,X.default)):U.default:X.hasDefault()?X.default:Y0;return q.$.node("optional",{key:Z,value:Q,default:Y})};class O2 extends A0{required=this.kind==="required";optional=this.kind==="optional";impliedBasis=T.intrinsic.object.internal;serializedKey=D0(this.key);compiledKey=typeof this.key==="string"?this.key:this.serializedKey;flatRefs=g(this.value.flatRefs.map((U)=>w0([this.key,...U.path],U.node)),w0([this.key],this.value));_transform(U,X){X.path.push(this.key);let q=super._transform(U,X);return X.path.pop(),q}hasDefault(){return"default"in this.inner}traverseAllows=(U,X)=>{if(this.key in U)return W0(this.key,()=>this.value.traverseAllows(U[this.key],X),X);return this.optional};traverseApply=(U,X)=>{if(this.key in U)W0(this.key,()=>this.value.traverseApply(U[this.key],X),X);else if(this.hasKind("required"))X.errorFromNodeContext(this.errorContext)};compile(U){if(U.if(`${this.serializedKey} in data`,()=>U.traverseKey(this.serializedKey,`data${U.prop(this.key)}`,this.value)),this.hasKind("required"))U.else(()=>U.traversalKind==="Apply"?U.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`):U.return(!1));if(U.traversalKind==="Allows")U.return(!0)}}var G4=(U,X)=>`Invalid intersection of default values ${E(U)} & ${E(X)}`;var oG=b({kind:"optional",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(U,X)=>X.$.parseSchema(U)},default:{preserveUndefined:!0}},normalize:(U)=>U,reduce:(U,X)=>{if(X.resolvedConfig.exactOptionalPropertyTypes===!1){if(!U.value.allows(void 0))return X.node("optional",{...U,value:U.value.or(I.undefined)},{prereduced:!0})}},defaults:{description:(U)=>`${U.compiledKey}?: ${U.value.description}`},intersections:{optional:T2}});class $q extends O2{constructor(...U){super(...U);if("default"in this.inner)B2(this.value,this.inner.default,this.key)}get rawIn(){let U=super.rawIn;if(!this.hasDefault())return U;return this.$.node("optional",q6(U.inner,{default:!0}),{prereduced:!0})}get outProp(){if(!this.hasDefault())return this;let{default:U,...X}=this.inner;return this.cacheGetter("outProp",this.$.node("required",X,{prereduced:!0}))}expression=this.hasDefault()?`${this.compiledKey}: ${this.value.expression} = ${E(this.inner.default)}`:`${this.compiledKey}?: ${this.value.expression}`;defaultValueMorph=rG(this);defaultValueMorphRef=this.defaultValueMorph&&d(this.defaultValueMorph)}var V2={implementation:oG,Node:$q},sG={},rG=(U)=>{if(!U.hasDefault())return;let X=`{${U.compiledKey}: ${U.value.id} = ${F0(U.default)}}`;return sG[X]??=Y4(U.key,U.value,U.default)},Y4=(U,X,q)=>{if(typeof q==="function")return X.includesTransform?(Q,G)=>{return W0(U,()=>X(Q[U]=q(),G),G),Q}:(Q)=>{return Q[U]=q(),Q};let Z=X.includesTransform?X.assert(q):q;return Q0(Z,"object")?(Q,G)=>{return W0(U,()=>X(Q[U]=q,G),G),Q}:(Q)=>{return Q[U]=Z,Q}},B2=(U,X,q)=>{let Z=l0(X);if(Q0(X,"object")&&!Z)F(nG(q));let Q=U.in(Z?X():X);if(Q instanceof J0){if(q===null)F(`Default ${Q.summary}`);let G=Q.transform((Y)=>Y.transform((H)=>({...H,prefixPath:[q]})));F(`Default for ${G.summary}`)}return X},nG=(U)=>{return`Non-primitive default ${U===null?"":typeof U==="number"?`for value at [${U}] `:`for ${D0(U)} `}must be specified as a function like () => ({my: 'object'})`};class T0 extends z2{constructor(U,X){super(U,X);Object.defineProperty(this,X0,{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:(U)=>{let X=this(U);if(X instanceof J0)return X;return{value:X}},jsonSchema:{input:(U)=>this.rawIn.toJsonSchema({target:zq(U.target),...U.libraryOptions}),output:(U)=>this.rawOut.toJsonSchema({target:zq(U.target),...U.libraryOptions})}}}as(){return this}brand(U){if(U==="")return F(aG);return this}readonly(){return this}branches=this.hasKind("union")?this.inner.branches:[this];distribute(U,X){let q=this.branches.map(U);return X?.(q)??q}get shortDescription(){return this.meta.description??this.defaultShortDescription}toJsonSchema(U={}){let X=uU(this.$.resolvedConfig.toJsonSchema,U);X.useRefs||=this.isCyclic;let q=typeof X.dialect==="string"?{$schema:X.dialect}:{};if(Object.assign(q,this.toJsonSchemaRecurse(X)),X.useRefs){let Z=S(this.references,(Q,G)=>G.isRoot()&&!G.alwaysExpandJsonSchema?[G.id,G.toResolvedJsonSchema(X)]:[]);if(X.target==="draft-07")Object.assign(q,{definitions:Z});else q.$defs=Z}return q}toJsonSchemaRecurse(U){if(U.useRefs&&!this.alwaysExpandJsonSchema)return{$ref:`#/${U.target==="draft-07"?"definitions":"$defs"}/${this.id}`};return this.toResolvedJsonSchema(U)}get alwaysExpandJsonSchema(){return this.isBasis()||this.kind==="alias"||this.hasKind("union")&&this.isBoolean}toResolvedJsonSchema(U){let X=this.innerToJsonSchema(U);return Object.assign(X,this.metaJson)}intersect(U){let X=this.$.parseDefinition(U),q=this.rawIntersect(X);if(q instanceof V)return q;return this.$.finalize(q)}rawIntersect(U){return L0(this,U,this.$)}toNeverIfDisjoint(){return this}and(U){let X=this.intersect(U);return X instanceof V?X.throw():X}rawAnd(U){let X=this.rawIntersect(U);return X instanceof V?X.throw():X}or(U){let X=this.$.parseDefinition(U);return this.$.finalize(this.rawOr(X))}rawOr(U){let X=[...this.branches,...U.branches];return this.$.node("union",X)}map(U){return this.$.schema(this.applyStructuralOperation("map",[U]))}pick(...U){return this.$.schema(this.applyStructuralOperation("pick",U))}omit(...U){return this.$.schema(this.applyStructuralOperation("omit",U))}required(){return this.$.schema(this.applyStructuralOperation("required",[]))}partial(){return this.$.schema(this.applyStructuralOperation("partial",[]))}_keyof;keyof(){if(this._keyof)return this._keyof;let U=this.applyStructuralOperation("keyof",[]).reduce((X,q)=>X.intersect(q).toNeverIfDisjoint(),T.intrinsic.unknown.internal);if(U.branches.length===0)F(dU(`keyof ${this.expression}`));return this._keyof=this.$.finalize(U)}get props(){if(this.branches.length!==1)return F(eG(this.expression));return[...this.applyStructuralOperation("props",[])[0]]}merge(U){let X=this.$.parseDefinition(U);return this.$.schema(X.distribute((q)=>this.applyStructuralOperation("merge",[Fq(q)??F(Aq("merge",q.expression))])))}applyStructuralOperation(U,X){return this.distribute((q)=>{if(q.equals(T.intrinsic.object)&&U!=="merge")return q;let Z=Fq(q);if(!Z)F(Aq(U,q.expression));if(U==="keyof")return Z.keyof();if(U==="get")return Z.get(...X);if(U==="props")return Z.props;let Q=U==="required"?"require":U==="partial"?"optionalize":U;return this.$.node("intersection",{domain:"object",structure:Z[Q](...X)})})}get(...U){if(U[0]===void 0)return this;return this.$.schema(this.applyStructuralOperation("get",U))}extract(U){let X=this.$.parseDefinition(U);return this.$.schema(this.branches.filter((q)=>q.extends(X)))}exclude(U){let X=this.$.parseDefinition(U);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(U){return!(this.intersect(U)instanceof V)}extends(U){if(this.isNever())return!0;let X=this.intersect(U);return!(X instanceof V)&&this.equals(X)}ifExtends(U){return this.extends(U)?this:void 0}subsumes(U){return this.$.parseDefinition(U).extends(this)}configure(U,X="shallow"){return this.configureReferences(U,X)}describe(U,X="shallow"){return this.configure({description:U},X)}optional(){return[this,"?"]}default(U){return B2(this,U,null),[this,"=",U]}from(U){return this.assert(U)}_pipe(...U){let X=U.reduce((q,Z)=>q.rawPipeOnce(Z),this);return this.$.finalize(X)}tryPipe(...U){let X=U.reduce((q,Z)=>q.rawPipeOnce(M(Z,"root")?Z:(Q,G)=>{try{return Z(Q,G)}catch(Y){return G.error({code:"predicate",predicate:Z,actual:`aborted due to error:
|
|
158
|
+
`);class w0{path=[];errors=new H0(this);root;config;queuedMorphs=[];branches=[];seen={};constructor(U,X){this.root=U,this.config=X}get data(){let U=this.root;for(let X of this.path)U=U?.[X];return U}get propString(){return k0(this.path)}reject(U){return this.error(U),!1}mustBe(U){return this.error(U),!1}error(U){let X=typeof U==="object"?U.code?U:{...U,code:"predicate"}:{code:"predicate",expected:U};return this.errorFromContext(X)}hasError(){return this.currentErrorCount!==0}get currentBranch(){return this.branches[this.branches.length-1]}queueMorphs(U){let X={path:new z2(...this.path),morphs:U};if(this.currentBranch)this.currentBranch.queuedMorphs.push(X);else this.queuedMorphs.push(X)}finalize(U){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 U?U(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(U){return this.errorFromContext(U)}errorFromContext(U){let X=new s0(U,this);if(this.currentBranch)this.currentBranch.error=X;else this.errors.add(X);return X}applyQueuedMorphs(){while(this.queuedMorphs.length){let U=this.queuedMorphs;this.queuedMorphs=[];for(let{path:X,morphs:q}of U){if(this.errors.affectsPath(X))continue;this.applyMorphsAtPath(X,q)}}}applyMorphsAtPath(U,X){let q=U[U.length-1],Z;if(q!==void 0){Z=this.root;for(let Q=0;Q<U.length-1;Q++)Z=Z[U[Q]]}for(let Q of X){this.path=[...U];let G=h(Q),Y=Q(Z===void 0?this.root:Z[q],this);if(Y instanceof s0){if(!this.errors.includes(Y))this.errors.add(Y);break}if(Y instanceof H0){if(!G)this.errors.merge(Y);this.queuedMorphs=[];break}if(Z===void 0)this.root=Y;else Z[q]=Y;this.applyQueuedMorphs()}}}var J0=(U,X,q)=>{if(!q)return X();q.path.push(U);let Z=X();return q.path.pop(),Z};class T2 extends Y0{attachments;$;onFail;includesTransform;includesContextualPredicate;isCyclic;allowsRequiresContext;rootApplyStrategy;contextFreeMorph;rootApply;referencesById;shallowReferences;flatRefs;flatMorphs;allows;get shallowMorphs(){return[]}constructor(U,X){super((Z,Q,G=this.onFail)=>{if(Q)return this.traverseApply(Z,Q),Q.hasError()?Q.errors:Q.data;return this.rootApply(Z,G)},{attach:U});this.attachments=U,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((Z,Q)=>NG(Z,Q.shallowReferences),[this]);let q=this.isStructural();this.flatRefs=[],this.flatMorphs=[];for(let Z=0;Z<this.children.length;Z++){if(this.includesTransform||=this.children[Z].includesTransform,this.includesContextualPredicate||=this.children[Z].includesContextualPredicate,this.isCyclic||=this.children[Z].isCyclic,!q){let Q=this.children[Z].flatRefs;for(let G=0;G<Q.length;G++){let Y=Q[G];if(!this.flatRefs.some((H)=>aX(H,Y))){this.flatRefs.push(Y);for(let H of Y.node.branches)if(H.hasKind("morph")||H.hasKind("intersection")&&H.structure?.structuralMorph!==void 0)this.flatMorphs.push({path:Y.path,propString:Y.propString,node:H})}}}Object.assign(this.referencesById,this.children[Z].referencesById)}this.flatRefs.sort((Z,Q)=>Z.path.length>Q.path.length?1:Z.path.length<Q.path.length?-1:Z.propString>Q.propString?1:Z.propString<Q.propString?-1:Z.node.expression<Q.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((Z)=>Z.length===1||Z.name==="$arkStructuralMorph")?this.hasKind("union")?this.branches.some((Z)=>Z.shallowMorphs.length>1)?"contextual":"branchedOptimistic":this.shallowMorphs.length>1?"contextual":"optimistic":"contextual":"contextual",this.rootApply=this.createRootApply(),this.allows=this.allowsRequiresContext?(Z)=>this.traverseAllows(Z,new w0(Z,this.$.resolvedConfig)):(Z)=>this.traverseAllows(Z)}createRootApply(){switch(this.rootApplyStrategy){case"allows":return(X,q)=>{if(this.allows(X))return X;let Z=new w0(X,this.$.resolvedConfig);return this.traverseApply(X,Z),Z.finalize(q)};case"contextual":return(X,q)=>{let Z=new w0(X,this.$.resolvedConfig);return this.traverseApply(X,Z),Z.finalize(q)};case"optimistic":this.contextFreeMorph=this.shallowMorphs[0];let U=this.$.resolvedConfig.clone;return(X,q)=>{if(this.allows(X))return this.contextFreeMorph(U&&(typeof X==="object"&&X!==null||typeof X==="function")?U(X):X);let Z=new w0(X,this.$.resolvedConfig);return this.traverseApply(X,Z),Z.finalize(q)};case"branchedOptimistic":return this.createBranchedOptimisticRootApply();default:return this.rootApplyStrategy,g(`Unexpected rootApplyStrategy ${this.rootApplyStrategy}`)}}compiledMeta=KG(this.metaJson);cacheGetter(U,X){return Object.defineProperty(this,U,{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=S1(this.kind);precompilation;assert=(U,X)=>this(U,X,(q)=>q.throw());traverse(U,X){return this(U,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(U){if(!this.includesTransform)return this;let X={};for(let[q,Z]of this.innerEntries){let Q=this.impl.keys[q];if(Q.reduceIo)Q.reduceIo(U,X,Z);else if(Q.child){let G=Z;X[q]=x(G)?G.map((Y)=>U==="in"?Y.rawIn:Y.rawOut):U==="in"?G.rawIn:G.rawOut}else X[q]=Z}return this.$.node(this.kind,X)}toJSON(){return this.json}toString(){return`Type<${this.expression}>`}equals(U){let X=h(U)?U:this.$.parseDefinition(U);return this.innerHash===X.innerHash}ifEquals(U){return this.equals(U)?this:void 0}hasKind(U){return this.kind===U}assertHasKind(U){if(this.kind!==U)Y1(`${this.kind} node was not of asserted kind ${U}`);return this}hasKindIn(...U){return U.includes(this.kind)}assertHasKindIn(...U){if(!z0(U,this.kind))Y1(`${this.kind} node was not one of asserted kinds ${U}`);return this}isBasis(){return z0(lX,this.kind)}isConstraint(){return z0(L6,this.kind)}isStructural(){return z0(K1,this.kind)}isRefinement(){return z0(c4,this.kind)}isRoot(){return z0(N1,this.kind)}isUnknown(){return this.hasKind("intersection")&&this.children.length===0}isNever(){return this.hasKind("union")&&this.children.length===0}hasUnit(U){return this.hasKind("unit")&&this.allows(U)}hasOpenIntersection(){return this.impl.intersectionIsOpen}get nestableExpression(){return this.expression}select(U){let X=V2.normalize(U);return this._select(X)}_select(U){let X=V2.applyBoundary[U.boundary??"references"](this);if(U.kind)X=X.filter((q)=>q.kind===U.kind);if(U.where)X=X.filter(U.where);return V2.applyMethod[U.method??"filter"](X,this,U)}transform(U,X){return this._transform(U,this._createTransformContext(X))}_createTransformContext(U){return{root:this,selected:void 0,seen:{},path:[],parseOptions:{prereduced:U?.prereduced??!1},undeclaredKeyHandling:void 0,...U}}_transform(U,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 Z;if(X.seen[this.id]=()=>Z,this.hasKind("structure")&&this.undeclared!==X.undeclaredKeyHandling)X={...X,undeclaredKeyHandling:this.undeclared};let Q=S(this.inner,(W,$)=>{if(!this.impl.keys[W].child)return[W,$];let _=$;if(!x(_)){let A=_._transform(U,X);return A?[W,A]:[]}if(_.length===0)return[W,$];let L=_.flatMap((A)=>{return A._transform(U,X)??[]});return L.length?[W,L]:[]});delete X.seen[this.id];let G=Object.assign(Q,{meta:this.meta}),Y=X.selected&&!X.selected.includes(this)?G:U(this.kind,G,X);if(Y===null)return null;if(h(Y))return Z=Y;let H=Object.keys(Y);if((H.length===0||H.length===1&&H[0]==="meta")&&!C0(this.inner))return null;if((this.kind==="required"||this.kind==="optional"||this.kind==="index")&&!("value"in Y))return X.undeclaredKeyHandling?{...Y,value:O.intrinsic.unknown}:null;if(this.kind==="morph")Y.in??=O.intrinsic.unknown;return Z=q.node(this.kind,Y,X.parseOptions)}configureReferences(U,X="references"){let q=V2.normalize(X),Z=typeof U==="string"?(H,J)=>({...J,meta:{...J.meta,description:U}}):typeof U==="function"?(H,J)=>({...J,meta:U(J.meta)}):(H,J)=>({...J,meta:{...J.meta,...U}});if(q.boundary==="self")return this.$.node(this.kind,Z(this.kind,{...this.inner,meta:this.meta}));let Q=this._select(q),G=Q&&p0(Q),Y=q.boundary==="child"?(H,J)=>J.root.children.includes(H):q.boundary==="shallow"?(H)=>H.kind!=="structure":()=>!0;return this.$.finalize(this.transform(Z,{shouldTransform:Y,selected:G}))}}var V2={applyBoundary:{self:(U)=>[U],child:(U)=>[...U.children],shallow:(U)=>[...U.shallowReferences],references:(U)=>[...U.references]},applyMethod:{filter:(U)=>U,assertFilter:(U,X,q)=>{if(U.length===0)Y1(rX(X,q));return U},find:(U)=>U[0],assertFind:(U,X,q)=>{if(U.length===0)Y1(rX(X,q));return U[0]}},normalize:(U)=>typeof U==="function"?{boundary:"references",method:"filter",where:U}:typeof U==="string"?a(U,V2.applyBoundary)?{method:"filter",boundary:U}:{boundary:"references",method:"filter",kind:U}:{boundary:"references",method:"filter",...U}},rX=(U,X)=>`${U} had no references matching ${E(X)}.`,PG=(U)=>k0(U,{stringifyNonKey:(X)=>X.expression}),IG=/"(\$ark\.[^"]+)"/g,KG=(U)=>JSON.stringify(U).replace(IG,"$1"),P0=(U,X)=>({path:U,node:X,propString:PG(U)}),aX=(U,X)=>U.propString===X.propString&&U.node.equals(X.node),o4=(U,X)=>N0(U,X,{isEqual:aX}),NG=(U,X)=>N0(U,X,{isEqual:(q,Z)=>q.equals(Z)});class T extends Array{static init(U,X,q,Z){return new T({kind:U,l:X,r:q,path:Z?.path??[],optional:Z?.optional??!1})}add(U,X,q,Z){return this.push({kind:U,l:X,r:q,path:Z?.path??[],optional:Z?.optional??!1}),this}get summary(){return this.describeReasons()}describeReasons(){if(this.length===1){let{path:U,l:X,r:q}=this[0],Z=k0(U);return a4(`Intersection${Z&&` at ${Z}`} of ${nX(X,q)}`)}return`The following intersections result in unsatisfiable types:
|
|
159
|
+
• ${this.map(({path:U,l:X,r:q})=>`${U}: ${nX(X,q)}`).join(`
|
|
160
|
+
• `)}`}throw(){return F(this.describeReasons())}invert(){let U=this.map((X)=>({...X,l:X.r,r:X.l}));if(!(U instanceof T))return new T(...U);return U}withPrefixKey(U,X){return this.map((q)=>({...q,path:[U,...q.path],optional:q.optional||X==="optional"}))}toNeverIfDisjoint(){return O.intrinsic.never}}var nX=(U,X)=>`${r4(U)} and ${r4(X)}`,r4=(U)=>h(U)?U.expression:x(U)?U.map(r4).join(" | ")||"never":String(U),a4=(U)=>`${U} results in an unsatisfiable type`;var E1={},W0=(U,X,q)=>u(U,X,{$:q,invert:!1,pipe:!1}),B2=(U,X,q)=>u(U,X,{$:q,invert:!1,pipe:!0}),u=(U,X,q)=>{let Z=q.pipe?"|>":"&",Q=`${U.hash}${Z}${X.hash}`;if(E1[Q]!==void 0)return E1[Q];if(!q.pipe){let H=`${X.hash}${Z}${U.hash}`;if(E1[H]!==void 0){let J=E1[H],W=J instanceof T?J.invert():J;return E1[Q]=W,W}}let G=!q.pipe||!U.includesTransform&&!X.includesTransform;if(G&&U.equals(X))return U;let Y=G?n4(U,X,q):U.hasKindIn(...N1)?CG(U,X,q):n4(U,X,q);if(h(Y)){if(U.equals(Y))Y=U;else if(X.equals(Y))Y=X}return E1[Q]=Y,Y},n4=(U,X,q)=>{let Z=U.precedence<X.precedence?U.kind:X.kind,Q=U.impl.intersections[X.kind]??X.impl.intersections[U.kind];if(Q===void 0)return null;else if(Z===U.kind)return Q(U,X,q);else{let G=Q(X,U,{...q,invert:!q.invert});if(G instanceof T)G=G.invert();return G}},CG=(U,X,q)=>U.includesTransform||X.includesTransform?q.invert?tX(X,U,q):tX(U,X,q):n4(U,X,q),tX=(U,X,q)=>U.distribute((Z)=>SG(Z,X,q),(Z)=>{let Q=Z.filter(h);if(Q.length===0)return T.init("union",U.branches,X.branches);if(Q.length<U.branches.length||!U.branches.every((H,J)=>H.rawIn.equals(Q[J].rawIn)))return q.$.parseSchema(Q);let G;if(Q.length===1){let H=Q[0];if(!G)return H;return q.$.node("morph",{...H.inner,in:H.rawIn.configure(G,"self")})}let Y={branches:Q};if(G)Y.meta=G;return q.$.parseSchema(Y)}),SG=(U,X,q)=>{if(U.hasKind("morph")){let Q=[...U.morphs];if(U.lastMorphIfNode){let G=u(U.lastMorphIfNode,X,q);if(G instanceof T)return G;Q[Q.length-1]=G}else Q.push(X);return q.$.node("morph",{morphs:Q,in:U.inner.in})}if(X.hasKind("morph")){let Q=u(U,X.rawIn,q);if(Q instanceof T)return Q;return q.$.node("morph",{morphs:[X],in:Q})}return q.$.node("morph",{morphs:[X],in:U})};class A0 extends T2{constructor(U,X){super(U,X);Object.defineProperty(this,X0,{value:"constraint",enumerable:!1})}impliedSiblings;intersect(U){return W0(this,U,this.$)}}class v0 extends A0{traverseApply=(U,X)=>{if(!this.traverseAllows(U,X))X.errorFromNodeContext(this.errorContext)};compile(U){if(U.traversalKind==="Allows")U.return(this.compiledCondition);else U.if(this.compiledNegation,()=>U.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return i0(this.errorContext)}}var U0=(U)=>(X,q)=>{if(x(X)){if(X.length===0)return;let Q=X.map((G)=>q.$.node(U,G));if(U==="predicate")return Q;return Q.sort((G,Y)=>G.hash<Y.hash?-1:1)}let Z=q.$.node(U,X);return Z.hasOpenIntersection()?[Z]:Z},b1=(U)=>{let X=U.r.shift();if(!X){let Z=U.l.length===0&&U.kind==="structure"?O.intrinsic.unknown.internal:U.ctx.$.node(U.kind,Object.assign(U.baseInner,EG(U.l)),{prereduced:!0});for(let Q of U.roots){if(Z instanceof T)return Z;Z=u(Q,Z,U.ctx)}return Z}let q=!1;for(let Z=0;Z<U.l.length;Z++){let Q=u(U.l[Z],X,U.ctx);if(Q===null)continue;if(Q instanceof T)return Q;if(Q.isRoot())return U.roots.push(Q),U.l.splice(Z),b1(U);if(!q)U.l[Z]=Q,q=!0;else if(!U.l.includes(Q))return g(`Unexpectedly encountered multiple distinct intersection results for refinement ${X}`)}if(!q)U.l.push(X);if(U.kind==="intersection"){if(X.impliedSiblings)for(let Z of X.impliedSiblings)N0(U.r,Z)}return b1(U)},j1=(U)=>{return Object.entries(U).flatMap(([q,Z])=>(q in z6)?Z:[]).sort((q,Z)=>q.precedence<Z.precedence?-1:q.precedence>Z.precedence?1:q.kind==="predicate"&&Z.kind==="predicate"?0:q.hash<Z.hash?-1:1)},EG=(U)=>{let X={};for(let q of U)if(q.hasOpenIntersection())X[q.kind]=y(X[q.kind],q);else{if(X[q.kind])return g(`Unexpected intersection of closed refinements of kind ${q.kind}`);X[q.kind]=q}return X},eX=(...U)=>F(Uq(...U)),Uq=(U,X,q)=>{let Z=q.hasKind("morph")?"a morph":q.isUnknown()?"unknown":q.exclude(X).defaultShortDescription;return`${KX(U)} operand must be ${X.description} (was ${Z})`};var Xq=(U,X,q)=>new o0(U,X,q,q,null);class A6 extends Y0{}class o0 extends Y0{[X0]="generic";paramDefs;bodyDef;$;arg$;baseInstantiation;hkt;description;constructor(U,X,q,Z,Q){super((...G)=>{let Y=S(this.names,(H,J)=>{let W=this.arg$.parse(G[H]);if(!W.extends(this.constraints[H]))F(bG(J,this.constraints[H].expression,W.expression));return[J,W]});if(this.defIsLazy()){let H=this.bodyDef(Y);return this.$.parse(H)}return this.$.parse(X,{args:Y})});this.paramDefs=U,this.bodyDef=X,this.$=q,this.arg$=Z,this.hkt=Q,this.description=Q?new Q().description??`a generic type for ${Q.constructor.name}`:"a generic type",this.baseInstantiation=this(...this.constraints)}defIsLazy(){return this.bodyDef instanceof A6}cacheGetter(U,X){return Object.defineProperty(this,U,{value:X}),X}get json(){return this.cacheGetter("json",{params:this.params.map((U)=>U[1].isUnknown()?U[0]:[U[0],U[1].json]),body:xX(this.bodyDef)})}get params(){return this.cacheGetter("params",this.paramDefs.map((U)=>typeof U==="string"?[U,O.intrinsic.unknown]:[U[0],this.$.parse(U[1])]))}get names(){return this.cacheGetter("names",this.params.map((U)=>U[0]))}get constraints(){return this.cacheGetter("constraints",this.params.map((U)=>U[1]))}get internal(){return this}get referencesById(){return this.baseInstantiation.internal.referencesById}get references(){return this.baseInstantiation.internal.references}}var bG=(U,X,q)=>`${U} must be assignable to ${X} (was ${q})`;var jG=b({kind:"predicate",hasAssociatedError:!0,collapsibleKey:"predicate",keys:{predicate:{}},normalize:(U)=>typeof U==="function"?{predicate:U}:U,defaults:{description:(U)=>`valid according to ${U.predicate.name||"an anonymous predicate"}`},intersectionIsOpen:!0,intersections:{predicate:()=>null}});class qq extends A0{serializedPredicate=d(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=i0(this.errorContext);traverseApply=(U,X)=>{let q=X.currentErrorCount;if(!this.predicate(U,X.external)&&X.currentErrorCount===q)X.errorFromNodeContext(this.errorContext)};compile(U){if(U.traversalKind==="Allows"){U.return(this.compiledCondition);return}U.initializeErrorCount(),U.if(`${this.compiledNegation} && ctx.currentErrorCount === errorCount`,()=>U.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}reduceJsonSchema(U,X){return X.fallback.predicate({code:"predicate",base:U,predicate:this.predicate})}}var t4={implementation:jG,Node:qq};var fG=b({kind:"divisor",collapsibleKey:"rule",keys:{rule:{parse:(U)=>Number.isInteger(U)?U:F(yG(U))}},normalize:(U)=>typeof U==="number"?{rule:U}:U,hasAssociatedError:!0,defaults:{description:(U)=>U.rule===1?"an integer":U.rule===2?"even":`a multiple of ${U.rule}`},intersections:{divisor:(U,X,q)=>q.$.node("divisor",{rule:Math.abs(U.rule*X.rule/gG(U.rule,X.rule))})},obviatesBasisDescription:!0});class Zq extends v0{traverseAllows=(U)=>U%this.rule===0;compiledCondition=`data % ${this.rule} === 0`;compiledNegation=`data % ${this.rule} !== 0`;impliedBasis=O.intrinsic.number.internal;expression=`% ${this.rule}`;reduceJsonSchema(U){if(U.type="integer",this.rule===1)return U;return U.multipleOf=this.rule,U}}var e4={implementation:fG,Node:Zq};var yG=(U)=>`divisor must be an integer (was ${U})`,gG=(U,X)=>{let q,Z=U,Q=X;while(Q!==0)q=Q,Q=Z%Q,Z=q;return Z};class L0 extends v0{boundOperandKind=hG[this.kind];compiledActual=this.boundOperandKind==="value"?"data":this.boundOperandKind==="length"?"data.length":"data.valueOf()";comparator=uG(this.kind,this.exclusive);numericLimit=this.rule.valueOf();expression=`${this.comparator} ${this.rule}`;compiledCondition=`${this.compiledActual} ${this.comparator} ${this.numericLimit}`;compiledNegation=`${this.compiledActual} ${kG[this.comparator]} ${this.numericLimit}`;stringLimit=this.boundOperandKind==="date"?mG(this.numericLimit):`${this.numericLimit}`;limitKind=this.comparator["0"]==="<"?"upper":"lower";isStricterThan(U){return(this.limitKind==="upper"?this.numericLimit<U.numericLimit:this.numericLimit>U.numericLimit)||this.numericLimit===U.numericLimit&&this.exclusive===!0&&!U.exclusive}overlapsRange(U){if(this.isStricterThan(U))return!1;if(this.numericLimit===U.numericLimit&&(this.exclusive||U.exclusive))return!1;return!0}overlapIsUnit(U){return this.numericLimit===U.numericLimit&&!this.exclusive&&!U.exclusive}}var kG={"<":">=","<=":">",">":"<=",">=":"<"},vG={min:"max",minLength:"maxLength",after:"before"},O6={parse:(U)=>U||void 0},V6=(U)=>(X)=>{if(typeof X==="number")return{rule:X};let{exclusive:q,...Z}=X;return q?{...Z,rule:U==="minLength"?Z.rule+1:Z.rule-1}:Z},T6=(U)=>(X)=>{if(typeof X==="number"||typeof X==="string"||X instanceof Date)return{rule:X};let{exclusive:q,...Z}=X;if(!q)return Z;let Q=typeof Z.rule==="number"?Z.rule:typeof Z.rule==="string"?new Date(Z.rule).valueOf():Z.rule.valueOf();return q?{...Z,rule:U==="after"?Q+1:Q-1}:Z},B6=(U)=>typeof U==="string"||typeof U==="number"?new Date(U):U,xG=(U,X)=>`${U} bound must be a positive integer (was ${X})`,f1=(U)=>(X)=>{if(!Number.isInteger(X)||X<0)F(xG(U,X));return X},hG={min:"value",max:"value",minLength:"length",maxLength:"length",after:"date",before:"date"},uG=(U,X)=>`${a(U,vG)?">":"<"}${X?"":"="}`,mG=(U)=>typeof U==="string"?U:new Date(U).toLocaleString(),Qq=(U)=>`Bounded expression ${U} must be exactly one of number, string, Array, or Date`;var pG=b({kind:"after",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:B6,serialize:(U)=>U.toISOString()}},normalize:T6("after"),defaults:{description:(U)=>`${U.collapsibleLimitString} or later`,actual:$1},intersections:{after:(U,X)=>U.isStricterThan(X)?U:X}});class Gq extends L0{impliedBasis=O.intrinsic.Date.internal;collapsibleLimitString=$1(this.rule);traverseAllows=(U)=>U>=this.rule;reduceJsonSchema(U,X){return X.fallback.date({code:"date",base:U,after:this.rule})}}var UU={implementation:pG,Node:Gq};var lG=b({kind:"before",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:B6,serialize:(U)=>U.toISOString()}},normalize:T6("before"),defaults:{description:(U)=>`${U.collapsibleLimitString} or earlier`,actual:$1},intersections:{before:(U,X)=>U.isStricterThan(X)?U:X,after:(U,X,q)=>U.overlapsRange(X)?U.overlapIsUnit(X)?q.$.node("unit",{unit:U.rule}):null:T.init("range",U,X)}});class Yq extends L0{collapsibleLimitString=$1(this.rule);traverseAllows=(U)=>U<=this.rule;impliedBasis=O.intrinsic.Date.internal;reduceJsonSchema(U,X){return X.fallback.date({code:"date",base:U,before:this.rule})}}var XU={implementation:lG,Node:Yq};var dG=b({kind:"exactLength",collapsibleKey:"rule",keys:{rule:{parse:f1("exactLength")}},normalize:(U)=>typeof U==="number"?{rule:U}:U,hasAssociatedError:!0,defaults:{description:(U)=>`exactly length ${U.rule}`,actual:(U)=>`${U.length}`},intersections:{exactLength:(U,X,q)=>T.init("unit",q.$.node("unit",{unit:U.rule}),q.$.node("unit",{unit:X.rule}),{path:["length"]}),minLength:(U,X)=>U.rule>=X.rule?U:T.init("range",U,X),maxLength:(U,X)=>U.rule<=X.rule?U:T.init("range",U,X)}});class Hq extends v0{traverseAllows=(U)=>U.length===this.rule;compiledCondition=`data.length === ${this.rule}`;compiledNegation=`data.length !== ${this.rule}`;impliedBasis=O.intrinsic.lengthBoundable.internal;expression=`== ${this.rule}`;reduceJsonSchema(U){switch(U.type){case"string":return U.minLength=this.rule,U.maxLength=this.rule,U;case"array":return U.minItems=this.rule,U.maxItems=this.rule,U;default:return p.throwInternalOperandError("exactLength",U)}}}var qU={implementation:dG,Node:Hq};var cG=b({kind:"max",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:O6},normalize:(U)=>typeof U==="number"?{rule:U}:U,defaults:{description:(U)=>{if(U.rule===0)return U.exclusive?"negative":"non-positive";return`${U.exclusive?"less than":"at most"} ${U.rule}`}},intersections:{max:(U,X)=>U.isStricterThan(X)?U:X,min:(U,X,q)=>U.overlapsRange(X)?U.overlapIsUnit(X)?q.$.node("unit",{unit:U.rule}):null:T.init("range",U,X)},obviatesBasisDescription:!0});class Jq extends L0{impliedBasis=O.intrinsic.number.internal;traverseAllows=this.exclusive?(U)=>U<this.rule:(U)=>U<=this.rule;reduceJsonSchema(U){if(this.exclusive)U.exclusiveMaximum=this.rule;else U.maximum=this.rule;return U}}var ZU={implementation:cG,Node:Jq};var iG=b({kind:"maxLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:f1("maxLength")}},reduce:(U,X)=>U.rule===0?X.node("exactLength",U):void 0,normalize:V6("maxLength"),defaults:{description:(U)=>`at most length ${U.rule}`,actual:(U)=>`${U.length}`},intersections:{maxLength:(U,X)=>U.isStricterThan(X)?U:X,minLength:(U,X,q)=>U.overlapsRange(X)?U.overlapIsUnit(X)?q.$.node("exactLength",{rule:U.rule}):null:T.init("range",U,X)}});class Wq extends L0{impliedBasis=O.intrinsic.lengthBoundable.internal;traverseAllows=(U)=>U.length<=this.rule;reduceJsonSchema(U){switch(U.type){case"string":return U.maxLength=this.rule,U;case"array":return U.maxItems=this.rule,U;default:return p.throwInternalOperandError("maxLength",U)}}}var QU={implementation:iG,Node:Wq};var sG=b({kind:"min",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:O6},normalize:(U)=>typeof U==="number"?{rule:U}:U,defaults:{description:(U)=>{if(U.rule===0)return U.exclusive?"positive":"non-negative";return`${U.exclusive?"more than":"at least"} ${U.rule}`}},intersections:{min:(U,X)=>U.isStricterThan(X)?U:X},obviatesBasisDescription:!0});class _q extends L0{impliedBasis=O.intrinsic.number.internal;traverseAllows=this.exclusive?(U)=>U>this.rule:(U)=>U>=this.rule;reduceJsonSchema(U){if(this.exclusive)U.exclusiveMinimum=this.rule;else U.minimum=this.rule;return U}}var GU={implementation:sG,Node:_q};var oG=b({kind:"minLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:f1("minLength")}},reduce:(U)=>U.rule===0?O.intrinsic.unknown:void 0,normalize:V6("minLength"),defaults:{description:(U)=>U.rule===1?"non-empty":`at least length ${U.rule}`,actual:(U)=>U.length===0?"":`${U.length}`},intersections:{minLength:(U,X)=>U.isStricterThan(X)?U:X}});class $q extends L0{impliedBasis=O.intrinsic.lengthBoundable.internal;traverseAllows=(U)=>U.length>=this.rule;reduceJsonSchema(U){switch(U.type){case"string":return U.minLength=this.rule,U;case"array":return U.minItems=this.rule,U;default:return p.throwInternalOperandError("minLength",U)}}}var YU={implementation:oG,Node:$q};var Lq={min:GU.implementation,max:ZU.implementation,minLength:YU.implementation,maxLength:QU.implementation,exactLength:qU.implementation,after:UU.implementation,before:XU.implementation},zq={min:GU.Node,max:ZU.Node,minLength:YU.Node,maxLength:QU.Node,exactLength:qU.Node,after:UU.Node,before:XU.Node};var rG=b({kind:"pattern",collapsibleKey:"rule",keys:{rule:{},flags:{}},normalize:(U)=>typeof U==="string"?{rule:U}:U instanceof RegExp?U.flags?{rule:U.source,flags:U.flags}:{rule:U.source}:U,obviatesBasisDescription:!0,obviatesBasisExpression:!0,hasAssociatedError:!0,intersectionIsOpen:!0,defaults:{description:(U)=>`matched by ${U.rule}`},intersections:{pattern:()=>null}});class Fq extends v0{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(U,X){if(U.pattern)return X.fallback.patternIntersection({code:"patternIntersection",base:U,pattern:this.rule});return U.pattern=this.rule,U}}var HU={implementation:rG,Node:Fq};var R2=(U,X)=>{let q=aG(U);if(X&&!X.includes(q))return F(`Root of kind ${q} should be one of ${X}`);return q},aG=(U)=>{if(M(U,"root"))return U.kind;if(typeof U==="string")return U[0]==="$"?"alias":(U in Q0)?"domain":"proto";if(typeof U==="function")return"proto";if(typeof U!=="object"||U===null)return F(Aq(U));if("morphs"in U)return"morph";if("branches"in U||x(U))return"union";if("unit"in U)return"unit";if("reference"in U)return"alias";let X=Object.keys(U);if(X.length===0||X.some((q)=>(q in z6)))return"intersection";if("proto"in U)return"proto";if("domain"in U)return"domain";return F(Aq(U))},Aq=(U)=>`${E(U)} is not a valid type schema`,Oq={},nG=(U)=>x(U)?U.map((X)=>X.collapsibleJson):U.collapsibleJson,q0={};O.nodesByRegisteredId=q0;var JU=(U)=>{return Oq[U]??=0,`${U}${++Oq[U]}`},WU=(U)=>{let X=y1[U.kind],q=X.applyConfig?.(U.def,U.$.resolvedConfig)??U.def,Z={},{meta:Q,...G}=q,Y=Q===void 0?{}:typeof Q==="string"?{description:Q}:Q,H=j4(G).sort(([W],[$])=>C1(W)?C1($)?S1(W)-S1($):1:C1($)?-1:W<$?-1:1).filter(([W,$])=>{if(W.startsWith("meta.")){let _=W.slice(5);return Y[_]=$,!1}return!0});for(let W of H){let $=W[0],_=X.keys[$];if(!_)return F(`Key ${$} is not valid on ${U.kind} schema`);let L=_.parse?_.parse(W[1],U):W[1];if(L!==G0&&(L!==void 0||_.preserveUndefined))Z[$]=L}if(X.reduce&&!U.prereduced){let W=X.reduce(Z,U.$);if(W){if(W instanceof T)return W.throw();return tG(W,Y)}}return _U({id:U.id,kind:U.kind,inner:Z,meta:Y,$:U.$})},_U=({id:U,kind:X,inner:q,meta:Z,$:Q,ignoreCache:G})=>{let Y=y1[X],H=j4(q),J=[],W={};for(let[D,P]of H){let K=Y.keys[D],C=K.serialize??(K.child?nG:F0);if(W[D]=C(P),K.child===!0){let N=P;if(x(N))J.push(...N);else J.push(N)}else if(typeof K.child==="function")J.push(...K.child(P))}if(Y.finalizeInnerJson)W=Y.finalizeInnerJson(W);let $={...W},_={};if(!C0(Z))_=S(Z,(D,P)=>[D,D==="examples"?P:F0(P)]),$.meta=R6(_,"description",!0);W=R6(W,Y.collapsibleKey,!1);let L=JSON.stringify({kind:X,...W});$=R6($,Y.collapsibleKey,!1);let A=R6($,Y.collapsibleKey,!0),B=JSON.stringify({kind:X,...$});if(Q.nodesByHash[B]&&!G)return Q.nodesByHash[B];let z={id:U,kind:X,impl:Y,inner:q,innerEntries:H,innerJson:W,innerHash:L,meta:Z,metaJson:_,json:$,hash:B,collapsibleJson:A,children:J};if(X!=="intersection"){for(let D in q)if(D!=="in"&&D!=="out")z[D]=q[D]}let V=new Tq[X](z,Q);return Q.nodesByHash[B]=V},Vq=(U,X)=>{if(U.id===X)return U;if(h(q0[X]))g(`Unexpected attempt to overwrite node id ${X}`);return _U({id:X,kind:U.kind,inner:U.inner,meta:U.meta,$:U.$,ignoreCache:!0})},tG=(U,X,q)=>{if(q&&h(q0[q]))g(`Unexpected attempt to overwrite node id ${q}`);return _U({id:q??JU(X.alias??U.kind),kind:U.kind,inner:U.inner,meta:X,$:U.$})},R6=(U,X,q)=>{let Z=Object.keys(U);if(Z.length===1&&Z[0]===X){let Q=U[X];if(q)return Q;if(Z0(Q,"object")&&(Object.keys(Q).length===1||Array.isArray(Q)))return Q}return U};var D2=(U,X,q)=>{if(U.key!==X.key)return null;let Z=U.key,Q=u(U.value,X.value,q),G=U.required||X.required?"required":"optional";if(Q instanceof T)if(G==="optional")Q=O.intrinsic.never.internal;else return Q.withPrefixKey(U.key,U.required&&X.required?"required":"optional");if(G==="required")return q.$.node("required",{key:Z,value:Q});let Y=U.hasDefault()?X.hasDefault()?U.default===X.default?U.default:F($U(U.default,X.default)):U.default:X.hasDefault()?X.default:G0;return q.$.node("optional",{key:Z,value:Q,default:Y})};class M2 extends A0{required=this.kind==="required";optional=this.kind==="optional";impliedBasis=O.intrinsic.object.internal;serializedKey=M0(this.key);compiledKey=typeof this.key==="string"?this.key:this.serializedKey;flatRefs=y(this.value.flatRefs.map((U)=>P0([this.key,...U.path],U.node)),P0([this.key],this.value));_transform(U,X){X.path.push(this.key);let q=super._transform(U,X);return X.path.pop(),q}hasDefault(){return"default"in this.inner}traverseAllows=(U,X)=>{if(this.key in U)return J0(this.key,()=>this.value.traverseAllows(U[this.key],X),X);return this.optional};traverseApply=(U,X)=>{if(this.key in U)J0(this.key,()=>this.value.traverseApply(U[this.key],X),X);else if(this.hasKind("required"))X.errorFromNodeContext(this.errorContext)};compile(U){if(U.if(`${this.serializedKey} in data`,()=>U.traverseKey(this.serializedKey,`data${U.prop(this.key)}`,this.value)),this.hasKind("required"))U.else(()=>U.traversalKind==="Apply"?U.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`):U.return(!1));if(U.traversalKind==="Allows")U.return(!0)}}var $U=(U,X)=>`Invalid intersection of default values ${E(U)} & ${E(X)}`;var eG=b({kind:"optional",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(U,X)=>X.$.parseSchema(U)},default:{preserveUndefined:!0}},normalize:(U)=>U,reduce:(U,X)=>{if(X.resolvedConfig.exactOptionalPropertyTypes===!1){if(!U.value.allows(void 0))return X.node("optional",{...U,value:U.value.or(I.undefined)},{prereduced:!0})}},defaults:{description:(U)=>`${U.compiledKey}?: ${U.value.description}`},intersections:{optional:D2}});class Bq extends M2{constructor(...U){super(...U);if("default"in this.inner)P2(this.value,this.inner.default,this.key)}get rawIn(){let U=super.rawIn;if(!this.hasDefault())return U;return this.$.node("optional",Y6(U.inner,{default:!0}),{prereduced:!0})}get outProp(){if(!this.hasDefault())return this;let{default:U,...X}=this.inner;return this.cacheGetter("outProp",this.$.node("required",X,{prereduced:!0}))}expression=this.hasDefault()?`${this.compiledKey}: ${this.value.expression} = ${E(this.inner.default)}`:`${this.compiledKey}?: ${this.value.expression}`;defaultValueMorph=X5(this);defaultValueMorphRef=this.defaultValueMorph&&d(this.defaultValueMorph)}var w2={implementation:eG,Node:Bq},U5={},X5=(U)=>{if(!U.hasDefault())return;let X=`{${U.compiledKey}: ${U.value.id} = ${F0(U.default)}}`;return U5[X]??=LU(U.key,U.value,U.default)},LU=(U,X,q)=>{if(typeof q==="function")return X.includesTransform?(Q,G)=>{return J0(U,()=>X(Q[U]=q(),G),G),Q}:(Q)=>{return Q[U]=q(),Q};let Z=X.includesTransform?X.assert(q):q;return Z0(Z,"object")?(Q,G)=>{return J0(U,()=>X(Q[U]=q,G),G),Q}:(Q)=>{return Q[U]=Z,Q}},P2=(U,X,q)=>{let Z=l0(X);if(Z0(X,"object")&&!Z)F(q5(q));let Q=U.in(Z?X():X);if(Q instanceof H0){if(q===null)F(`Default ${Q.summary}`);let G=Q.transform((Y)=>Y.transform((H)=>({...H,prefixPath:[q]})));F(`Default for ${G.summary}`)}return X},q5=(U)=>{return`Non-primitive default ${U===null?"":typeof U==="number"?`for value at [${U}] `:`for ${M0(U)} `}must be specified as a function like () => ({my: 'object'})`};class O0 extends T2{constructor(U,X){super(U,X);Object.defineProperty(this,X0,{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:(U)=>{let X=this(U);if(X instanceof H0)return X;return{value:X}},jsonSchema:{input:(U)=>this.rawIn.toJsonSchema({target:Rq(U.target),...U.libraryOptions}),output:(U)=>this.rawOut.toJsonSchema({target:Rq(U.target),...U.libraryOptions})}}}as(){return this}brand(U){if(U==="")return F(Z5);return this}readonly(){return this}branches=this.hasKind("union")?this.inner.branches:[this];distribute(U,X){let q=this.branches.map(U);return X?.(q)??q}get shortDescription(){return this.meta.description??this.defaultShortDescription}toJsonSchema(U={}){let X=i4(this.$.resolvedConfig.toJsonSchema,U);X.useRefs||=this.isCyclic;let q=typeof X.dialect==="string"?{$schema:X.dialect}:{};if(Object.assign(q,this.toJsonSchemaRecurse(X)),X.useRefs){let Z=S(this.references,(Q,G)=>G.isRoot()&&!G.alwaysExpandJsonSchema?[G.id,G.toResolvedJsonSchema(X)]:[]);if(X.target==="draft-07")Object.assign(q,{definitions:Z});else q.$defs=Z}return q}toJsonSchemaRecurse(U){if(U.useRefs&&!this.alwaysExpandJsonSchema)return{$ref:`#/${U.target==="draft-07"?"definitions":"$defs"}/${this.id}`};return this.toResolvedJsonSchema(U)}get alwaysExpandJsonSchema(){return this.isBasis()||this.kind==="alias"||this.hasKind("union")&&this.isBoolean}toResolvedJsonSchema(U){let X=this.innerToJsonSchema(U);return Object.assign(X,this.metaJson)}intersect(U){let X=this.$.parseDefinition(U),q=this.rawIntersect(X);if(q instanceof T)return q;return this.$.finalize(q)}rawIntersect(U){return W0(this,U,this.$)}toNeverIfDisjoint(){return this}and(U){let X=this.intersect(U);return X instanceof T?X.throw():X}rawAnd(U){let X=this.rawIntersect(U);return X instanceof T?X.throw():X}or(U){let X=this.$.parseDefinition(U);return this.$.finalize(this.rawOr(X))}rawOr(U){let X=[...this.branches,...U.branches];return this.$.node("union",X)}map(U){return this.$.schema(this.applyStructuralOperation("map",[U]))}pick(...U){return this.$.schema(this.applyStructuralOperation("pick",U))}omit(...U){return this.$.schema(this.applyStructuralOperation("omit",U))}required(){return this.$.schema(this.applyStructuralOperation("required",[]))}partial(){return this.$.schema(this.applyStructuralOperation("partial",[]))}_keyof;keyof(){if(this._keyof)return this._keyof;let U=this.applyStructuralOperation("keyof",[]).reduce((X,q)=>X.intersect(q).toNeverIfDisjoint(),O.intrinsic.unknown.internal);if(U.branches.length===0)F(a4(`keyof ${this.expression}`));return this._keyof=this.$.finalize(U)}get props(){if(this.branches.length!==1)return F(G5(this.expression));return[...this.applyStructuralOperation("props",[])[0]]}merge(U){let X=this.$.parseDefinition(U);return this.$.schema(X.distribute((q)=>this.applyStructuralOperation("merge",[Dq(q)??F(Mq("merge",q.expression))])))}applyStructuralOperation(U,X){return this.distribute((q)=>{if(q.equals(O.intrinsic.object)&&U!=="merge")return q;let Z=Dq(q);if(!Z)F(Mq(U,q.expression));if(U==="keyof")return Z.keyof();if(U==="get")return Z.get(...X);if(U==="props")return Z.props;let Q=U==="required"?"require":U==="partial"?"optionalize":U;return this.$.node("intersection",{domain:"object",structure:Z[Q](...X)})})}get(...U){if(U[0]===void 0)return this;return this.$.schema(this.applyStructuralOperation("get",U))}extract(U){let X=this.$.parseDefinition(U);return this.$.schema(this.branches.filter((q)=>q.extends(X)))}exclude(U){let X=this.$.parseDefinition(U);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(U){return!(this.intersect(U)instanceof T)}extends(U){if(this.isNever())return!0;let X=this.intersect(U);return!(X instanceof T)&&this.equals(X)}ifExtends(U){return this.extends(U)?this:void 0}subsumes(U){return this.$.parseDefinition(U).extends(this)}configure(U,X="shallow"){return this.configureReferences(U,X)}describe(U,X="shallow"){return this.configure({description:U},X)}optional(){return[this,"?"]}default(U){return P2(this,U,null),[this,"=",U]}from(U){return this.assert(U)}_pipe(...U){let X=U.reduce((q,Z)=>q.rawPipeOnce(Z),this);return this.$.finalize(X)}tryPipe(...U){let X=U.reduce((q,Z)=>q.rawPipeOnce(M(Z,"root")?Z:(Q,G)=>{try{return Z(Q,G)}catch(Y){return G.error({code:"predicate",predicate:Z,actual:`aborted due to error:
|
|
161
161
|
${Y}
|
|
162
|
-
`})}}),this);return this.$.finalize(X)}pipe=Object.assign(this._pipe.bind(this),{try:this.tryPipe.bind(this)});to(U){return this.$.finalize(this.toNode(this.$.parseDefinition(U)))}toNode(U){let X=
|
|
163
|
-
${U}`,
|
|
162
|
+
`})}}),this);return this.$.finalize(X)}pipe=Object.assign(this._pipe.bind(this),{try:this.tryPipe.bind(this)});to(U){return this.$.finalize(this.toNode(this.$.parseDefinition(U)))}toNode(U){let X=B2(this,U,this.$);if(X instanceof T)return X.throw();return X}rawPipeOnce(U){if(M(U,"root"))return this.toNode(U);return this.distribute((X)=>X.hasKind("morph")?this.$.node("morph",{in:X.inner.in,morphs:[...X.morphs,U]}):this.$.node("morph",{in:X,morphs:[U]}),this.$.parseSchema)}narrow(U){return this.constrainOut("predicate",U)}constrain(U,X){return this._constrain("root",U,X)}constrainIn(U,X){return this._constrain("in",U,X)}constrainOut(U,X){return this._constrain("out",U,X)}_constrain(U,X,q){let Z=this.$.node(X,q);if(Z.isRoot())return Z.isUnknown()?this:g(`Unexpected constraint node ${Z}`);let Q=U==="root"?this:U==="in"?this.rawIn:this.rawOut;if(Q.hasKind("morph")||Z.impliedBasis&&!Q.extends(Z.impliedBasis))return eX(X,Z.impliedBasis,this);let G=this.$.node("intersection",{[Z.kind]:Z}),Y=U==="out"?B2(this,G,this.$):W0(this,G,this.$);if(Y instanceof T)Y.throw();return this.$.finalize(Y)}onUndeclaredKey(U){let X=typeof U==="string"?U:U.rule,q=typeof U==="string"?!1:U.deep;return this.$.finalize(this.transform((Z,Q)=>Z==="structure"?X==="ignore"?Y6(Q,{undeclared:1}):{...Q,undeclared:X}:Q,q?void 0:{shouldTransform:(Z)=>!z0(K1,Z.kind)}))}hasEqualMorphs(U){if(!this.includesTransform&&!U.includesTransform)return!0;if(!y0(this.shallowMorphs,U.shallowMorphs))return!1;if(!y0(this.flatMorphs,U.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(U){return this.onUndeclaredKey({rule:U,deep:!0})}filter(U){return this.constrainIn("predicate",U)}divisibleBy(U){return this.constrain("divisor",U)}matching(U){return this.constrain("pattern",U)}atLeast(U){return this.constrain("min",U)}atMost(U){return this.constrain("max",U)}moreThan(U){return this.constrain("min",g1(U))}lessThan(U){return this.constrain("max",g1(U))}atLeastLength(U){return this.constrain("minLength",U)}atMostLength(U){return this.constrain("maxLength",U)}moreThanLength(U){return this.constrain("minLength",g1(U))}lessThanLength(U){return this.constrain("maxLength",g1(U))}exactlyLength(U){return this.constrain("exactLength",U)}atOrAfter(U){return this.constrain("after",U)}atOrBefore(U){return this.constrain("before",U)}laterThan(U){return this.constrain("after",g1(U))}earlierThan(U){return this.constrain("before",g1(U))}}var Z5="Expected a non-empty brand name after #",wq=["draft-2020-12","draft-07"],Q5=(U)=>`JSONSchema target '${U}' is not supported (must be ${wq.map((X)=>`"${X}"`).join(" or ")})`,Rq=(U)=>{if(!z0(wq,U))F(Q5(U));return U},g1=(U)=>typeof U==="object"&&!(U instanceof Date)?{...U,exclusive:!0}:{rule:U,exclusive:!0},I2=(U,X)=>M(X,"root")?M(U,"root")?U.extends(X):X.allows(U):M(U,"root")?U.hasUnit(X):X===U,Dq=(U)=>{if(U.hasKind("morph"))return null;if(U.hasKind("intersection"))return U.inner.structure??(U.basis?.domain==="object"?U.$.bindReference(O.intrinsic.emptyStructure):null);if(U.isBasis()&&U.domain==="object")return U.$.bindReference(O.intrinsic.emptyStructure);return null},G5=(U)=>`Props cannot be extracted from a union. Use .distribute to extract props from each branch instead. Received:
|
|
163
|
+
${U}`,Mq=(U,X)=>`${U} operand must be an object (was ${X})`;var S0=(U,X)=>S(F6(U),(q,Z)=>[Z,X]);var Y5=(U)=>typeof U==="string"?{reference:U}:U,Pq=(U)=>U instanceof T?O.intrinsic.never.internal:U,H5=b({kind:"alias",hasAssociatedError:!1,collapsibleKey:"reference",keys:{reference:{serialize:(U)=>U.startsWith("$")?U:`$ark.${U}`},resolve:{}},normalize:Y5,defaults:{description:(U)=>U.reference},intersections:{alias:(U,X,q)=>q.$.lazilyResolve(()=>Pq(u(U.resolution,X.resolution,q)),`${U.reference}${q.pipe?"=>":"&"}${X.reference}`),...S0("alias",(U,X,q)=>{if(X.isUnknown())return U;if(X.isNever())return X;if(X.isBasis()&&!X.overlaps(O.intrinsic.object))return T.init("assignability",O.intrinsic.object,X);return q.$.lazilyResolve(()=>Pq(u(U.resolution,X,q)),`${U.reference}${q.pipe?"=>":"&"}${X.id}`)})}});class Iq extends O0{expression=this.reference;structure=void 0;get resolution(){let U=this._resolve();return q0[this.id]=U}_resolve(){if(this.resolve)return this.resolve();if(this.reference[0]==="$")return this.$.resolveRoot(this.reference.slice(1));let U=this.reference,X=q0[U],q=[];while(M(X,"context")){if(q.includes(X.id))return F(J5(X.id,q));q.push(X.id),X=q0[X.id]}if(!M(X,"root"))return g(`Unexpected resolution for reference ${this.reference}
|
|
164
164
|
Seen: [${q.join("->")}]
|
|
165
|
-
Resolution: ${E(X)}`);return X}get resolutionId(){if(this.reference.includes("&")||this.reference.includes("=>"))return this.resolution.id;if(this.reference[0]!=="$")return this.reference;let U=this.reference.slice(1),X=this.$.resolutions[U];if(typeof X==="string")return X;if(M(X,"root"))return X.id;return
|
|
165
|
+
Resolution: ${E(X)}`);return X}get resolutionId(){if(this.reference.includes("&")||this.reference.includes("=>"))return this.resolution.id;if(this.reference[0]!=="$")return this.reference;let U=this.reference.slice(1),X=this.$.resolutions[U];if(typeof X==="string")return X;if(M(X,"root"))return X.id;return g(`Unexpected resolution for reference ${this.reference}: ${E(X)}`)}get defaultShortDescription(){return Q0.object}innerToJsonSchema(U){return this.resolution.toJsonSchemaRecurse(U)}traverseAllows=(U,X)=>{let q=X.seen[this.reference];if(q?.includes(U))return!0;return X.seen[this.reference]=y(q,U),this.resolution.traverseAllows(U,X)};traverseApply=(U,X)=>{let q=X.seen[this.reference];if(q?.includes(U))return;X.seen[this.reference]=y(q,U),this.resolution.traverseApply(U,X)};compile(U){let X=this.resolutionId;U.if(`ctx.seen.${X} && ctx.seen.${X}.includes(data)`,()=>U.return(!0)),U.if(`!ctx.seen.${X}`,()=>U.line(`ctx.seen.${X} = []`)),U.line(`ctx.seen.${X}.push(data)`),U.return(U.invoke(X))}}var J5=(U,X)=>`Alias '${U}' has a shallow resolution cycle: ${[...X,U].join("->")}`,K2={implementation:H5,Node:Iq};class L1 extends O0{traverseApply=(U,X)=>{if(!this.traverseAllows(U,X))X.errorFromNodeContext(this.errorContext)};get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return i0(this.errorContext)}compile(U){if(U.traversalKind==="Allows")U.return(this.compiledCondition);else U.if(this.compiledNegation,()=>U.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}}var W5=b({kind:"domain",hasAssociatedError:!0,collapsibleKey:"domain",keys:{domain:{},numberAllowsNaN:{}},normalize:(U)=>typeof U==="string"?{domain:U}:P1(U,"numberAllowsNaN")&&U.domain!=="number"?F(D6.writeBadAllowNanMessage(U.domain)):U,applyConfig:(U,X)=>U.numberAllowsNaN===void 0&&U.domain==="number"&&X.numberAllowsNaN?{...U,numberAllowsNaN:!0}:U,defaults:{description:(U)=>Q0[U.domain],actual:(U)=>Number.isNaN(U)?"NaN":Q0[r(U)]},intersections:{domain:(U,X)=>U.domain==="number"&&X.domain==="number"?U.numberAllowsNaN?X:U:T.init("domain",U,X)}});class Kq extends L1{requiresNaNCheck=this.domain==="number"&&!this.numberAllowsNaN;traverseAllows=this.requiresNaNCheck?(U)=>typeof U==="number"&&!Number.isNaN(U):(U)=>r(U)===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 Q0[this.domain]}innerToJsonSchema(U){if(this.domain==="bigint"||this.domain==="symbol")return U.fallback.domain({code:"domain",base:{},domain:this.domain});return{type:this.domain}}}var D6={implementation:W5,Node:Kq,writeBadAllowNanMessage:(U)=>`numberAllowsNaN may only be specified with domain "number" (was ${U})`};var _5=b({kind:"intersection",hasAssociatedError:!0,normalize:(U)=>{if(h(U))return U;let{structure:X,...q}=U,Z=!!X,Q=X??{},G=S(q,(Y,H)=>{if(a(Y,dX)){if(Z)F(`Flattened structure key ${Y} cannot be specified alongside a root 'structure' key.`);return Q[Y]=H,[]}return[Y,H]});if(M(Q,"constraint")||!C0(Q))G.structure=Q;return G},finalizeInnerJson:({structure:U,...X})=>Z0(U,"object")?{...U,...X}:X,keys:{domain:{child:!0,parse:(U,X)=>X.$.node("domain",U)},proto:{child:!0,parse:(U,X)=>X.$.node("proto",U)},structure:{child:!0,parse:(U,X)=>X.$.node("structure",U),serialize:(U)=>{if(!U.sequence?.minLength)return U.collapsibleJson;let{sequence:X,...q}=U.collapsibleJson,{minVariadicLength:Z,...Q}=X,G=Q.variadic&&Object.keys(Q).length===1?Q.variadic:Q;return{...q,sequence:G}}},divisor:{child:!0,parse:U0("divisor")},max:{child:!0,parse:U0("max")},min:{child:!0,parse:U0("min")},maxLength:{child:!0,parse:U0("maxLength")},minLength:{child:!0,parse:U0("minLength")},exactLength:{child:!0,parse:U0("exactLength")},before:{child:!0,parse:U0("before")},after:{child:!0,parse:U0("after")},pattern:{child:!0,parse:U0("pattern")},predicate:{child:!0,parse:U0("predicate")}},reduce:(U,X)=>Nq({},U,{$:X,invert:!1,pipe:!1}),defaults:{description:(U)=>{if(U.children.length===0)return"unknown";if(U.structure)return U.structure.description;let X=[];if(U.basis&&!U.prestructurals.some((q)=>q.impl.obviatesBasisDescription))X.push(U.basis.description);if(U.prestructurals.length){let q=U.prestructurals.slice().sort((Z,Q)=>Z.kind==="min"&&Q.kind==="max"?-1:0).map((Z)=>Z.description);X.push(...q)}if(U.inner.predicate)X.push(...U.inner.predicate.map((q)=>q.description));return X.join(" and ")},expected:(U)=>` ◦ ${U.errors.map((X)=>X.expected).join(`
|
|
166
166
|
◦ `)}`,problem:(U)=>`(${U.actual}) must be...
|
|
167
|
-
${U.expected}`},intersections:{intersection:(U,X,q)=>
|
|
167
|
+
${U.expected}`},intersections:{intersection:(U,X,q)=>Nq(U.inner,X.inner,q),...S0("intersection",(U,X,q)=>{if(U.children.length===0)return X;let{domain:Z,proto:Q,...G}=U.inner,Y=Q??Z,H=Y?u(Y,X,q):X;return H instanceof T?H:U?.basis?.equals(H)?U:U.$.node("intersection",{...G,[H.kind]:H},{prereduced:!0})})}});class Cq extends O0{basis=this.inner.domain??this.inner.proto??null;prestructurals=[];refinements=this.children.filter((U)=>{if(!U.isRefinement())return!1;if(z0(d4,U.kind))this.prestructurals.push(U);return!0});structure=this.inner.structure;expression=$5(this);get shallowMorphs(){return this.inner.structure?.structuralMorph?[this.inner.structure.structuralMorph]:[]}get defaultShortDescription(){return this.basis?.defaultShortDescription??"present"}innerToJsonSchema(U){return this.children.reduce((X,q)=>q.isBasis()?q.toJsonSchemaRecurse(U):q.reduceJsonSchema(X,U),{})}traverseAllows=(U,X)=>this.children.every((q)=>q.traverseAllows(U,X));traverseApply=(U,X)=>{let q=X.currentErrorCount;if(this.basis){if(this.basis.traverseApply(U,X),X.currentErrorCount>q)return}if(this.prestructurals.length){for(let Z=0;Z<this.prestructurals.length-1;Z++)if(this.prestructurals[Z].traverseApply(U,X),X.failFast&&X.currentErrorCount>q)return;if(this.prestructurals[this.prestructurals.length-1].traverseApply(U,X),X.currentErrorCount>q)return}if(this.structure){if(this.structure.traverseApply(U,X),X.currentErrorCount>q)return}if(this.inner.predicate){for(let Z=0;Z<this.inner.predicate.length-1;Z++)if(this.inner.predicate[Z].traverseApply(U,X),X.failFast&&X.currentErrorCount>q)return;this.inner.predicate[this.inner.predicate.length-1].traverseApply(U,X)}};compile(U){if(U.traversalKind==="Allows"){for(let X of this.children)U.check(X);U.return(!0);return}if(U.initializeErrorCount(),this.basis){if(U.check(this.basis),this.children.length>1)U.returnIfFail()}if(this.prestructurals.length){for(let X=0;X<this.prestructurals.length-1;X++)U.check(this.prestructurals[X]),U.returnIfFailFast();if(U.check(this.prestructurals[this.prestructurals.length-1]),this.structure||this.inner.predicate)U.returnIfFail()}if(this.structure){if(U.check(this.structure),this.inner.predicate)U.returnIfFail()}if(this.inner.predicate){for(let X=0;X<this.inner.predicate.length-1;X++)U.check(this.inner.predicate[X]),U.returnIfFail();U.check(this.inner.predicate[this.inner.predicate.length-1])}}}var zU={implementation:_5,Node:Cq},$5=(U)=>{if(U.structure?.expression)return U.structure.expression;let X=U.basis&&!U.prestructurals.some((Q)=>Q.impl.obviatesBasisExpression)?U.basis.nestableExpression:"",q=U.prestructurals.map((Q)=>Q.expression).join(" & "),Z=`${X}${X?" ":""}${q}`;if(Z==="Array == 0")return"[]";return Z||"unknown"},Nq=(U,X,q)=>{let Z={},Q=U.proto??U.domain,G=X.proto??X.domain,Y=Q?G?u(Q,G,q):Q:G;if(Y instanceof T)return Y;if(Y)Z[Y.kind]=Y;return b1({kind:"intersection",baseInner:Z,l:j1(U),r:j1(X),roots:[],ctx:q})};var L5=b({kind:"morph",hasAssociatedError:!1,keys:{in:{child:!0,parse:(U,X)=>X.$.parseSchema(U)},morphs:{parse:p0,serialize:(U)=>U.map((X)=>M(X,"root")?X.json:d(X))},declaredIn:{child:!1,serialize:(U)=>U.json},declaredOut:{child:!1,serialize:(U)=>U.json}},normalize:(U)=>U,defaults:{description:(U)=>`a morph from ${U.rawIn.description} to ${U.rawOut?.description??"unknown"}`},intersections:{morph:(U,X,q)=>{if(!U.hasEqualMorphs(X))return F(z5(U.expression,X.expression));let Z=u(U.rawIn,X.rawIn,q);if(Z instanceof T)return Z;let Q={morphs:U.morphs};if(U.declaredIn||X.declaredIn){let G=u(U.rawIn,X.rawIn,q);if(G instanceof T)return G.throw();else Q.declaredIn=G}if(U.declaredOut||X.declaredOut){let G=u(U.rawOut,X.rawOut,q);if(G instanceof T)return G.throw();else Q.declaredOut=G}return Z.distribute((G)=>q.$.node("morph",{...Q,in:G}),q.$.parseSchema)},...S0("morph",(U,X,q)=>{let Z=U.inner.in?u(U.inner.in,X,q):X;return Z instanceof T?Z:Z.equals(U.inner.in)?U:q.$.node("morph",{...U.inner,in:Z})})}});class Sq extends O0{serializedMorphs=this.morphs.map(d);compiledMorphs=`[${this.serializedMorphs}]`;lastMorph=this.inner.morphs[this.inner.morphs.length-1];lastMorphIfNode=M(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??O.intrinsic.unknown.internal}get rawOut(){return this.declaredOut??this.introspectableOut??O.intrinsic.unknown.internal}declareIn(U){return this.$.node("morph",{...this.inner,declaredIn:U})}declareOut(U){return this.$.node("morph",{...this.inner,declaredOut:U})}expression=`(In: ${this.rawIn.expression}) => ${this.lastMorphIfNode?"To":"Out"}<${this.rawOut.expression}>`;get defaultShortDescription(){return this.rawIn.meta.description??this.rawIn.defaultShortDescription}innerToJsonSchema(U){return U.fallback.morph({code:"morph",base:this.rawIn.toJsonSchemaRecurse(U),out:this.introspectableOut?.toJsonSchemaRecurse(U)??null})}compile(U){if(U.traversalKind==="Allows"){if(!this.introspectableIn)return;U.return(U.invoke(this.introspectableIn));return}if(this.introspectableIn)U.line(U.invoke(this.introspectableIn));U.line(`ctx.queueMorphs(${this.compiledMorphs})`)}traverseAllows=(U,X)=>!this.introspectableIn||this.introspectableIn.traverseAllows(U,X);traverseApply=(U,X)=>{if(this.introspectableIn)this.introspectableIn.traverseApply(U,X);X.queueMorphs(this.morphs)};hasEqualMorphs(U){return y0(this.morphs,U.morphs,{isEqual:(X,q)=>X===q||M(X,"root")&&M(q,"root")&&X.equals(q)})}}var FU={implementation:L5,Node:Sq},z5=(U,X)=>`The intersection of distinct morphs at a single path is indeterminate:
|
|
168
168
|
Left: ${U}
|
|
169
|
-
Right: ${X}`;var
|
|
169
|
+
Right: ${X}`;var F5=b({kind:"proto",hasAssociatedError:!0,collapsibleKey:"proto",keys:{proto:{serialize:(U)=>J2(U)??F0(U)},dateAllowsInvalid:{}},normalize:(U)=>{let X=typeof U==="string"?{proto:J1[U]}:typeof U==="function"?h(U)?U:{proto:U}:typeof U.proto==="string"?{...U,proto:J1[U.proto]}:U;if(typeof X.proto!=="function")F(N2.writeInvalidSchemaMessage(X.proto));if(P1(X,"dateAllowsInvalid")&&X.proto!==Date)F(N2.writeBadInvalidDateMessage(X.proto));return X},applyConfig:(U,X)=>{if(U.dateAllowsInvalid===void 0&&U.proto===Date&&X.dateAllowsInvalid)return{...U,dateAllowsInvalid:!0};return U},defaults:{description:(U)=>U.builtinName?BX[U.builtinName]:`an instance of ${U.proto.name}`,actual:(U)=>U instanceof Date&&U.toString()==="Invalid Date"?"an invalid Date":H2(U)},intersections:{proto:(U,X)=>U.proto===Date&&X.proto===Date?U.dateAllowsInvalid?X:U:v4(U.proto,X.proto)?U:v4(X.proto,U.proto)?X:T.init("proto",U,X),domain:(U,X)=>X.domain==="object"?U:T.init("domain",O.intrinsic.object.internal,X)}});class Eq extends L1{builtinName=J2(this.proto);serializedConstructor=this.json.proto;requiresInvalidDateCheck=this.proto===Date&&!this.dateAllowsInvalid;traverseAllows=this.requiresInvalidDateCheck?(U)=>U instanceof Date&&U.toString()!=="Invalid Date":(U)=>U instanceof this.proto;compiledCondition=`data instanceof ${this.serializedConstructor}${this.requiresInvalidDateCheck?' && data.toString() !== "Invalid Date"':""}`;compiledNegation=`!(${this.compiledCondition})`;innerToJsonSchema(U){switch(this.builtinName){case"Array":return{type:"array"};case"Date":return U.fallback.date?.({code:"date",base:{}})??U.fallback.proto({code:"proto",base:{},proto:this.proto});default:return U.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}}var N2={implementation:F5,Node:Eq,writeBadInvalidDateMessage:(U)=>`dateAllowsInvalid may only be specified with constructor Date (was ${U.name})`,writeInvalidSchemaMessage:(U)=>`instanceOf operand must be a function (was ${r(U)})`};var A5=b({kind:"union",hasAssociatedError:!0,collapsibleKey:"branches",keys:{ordered:{},branches:{child:!0,parse:(U,X)=>{let q=[];for(let Z of U){let Q=M(Z,"root")?Z.branches:X.$.parseSchema(Z).branches;for(let G of Q)if(G.hasKind("morph")){let Y=q.findIndex((H)=>H.hasKind("morph")&&H.hasEqualMorphs(G));if(Y===-1)q.push(G);else{let H=q[Y];q[Y]=X.$.node("morph",{...H.inner,in:H.rawIn.rawOr(G.rawIn)})}}else q.push(G)}if(!X.def.ordered)q.sort((Z,Q)=>Z.hash<Q.hash?-1:1);return q}}},normalize:(U)=>x(U)?{branches:U}:U,reduce:(U,X)=>{let q=I5(U);if(q.length===1)return q[0];if(q.length===U.branches.length)return;return X.node("union",{...U,branches:q},{prereduced:!0})},defaults:{description:(U)=>U.distribute((X)=>X.description,k1),expected:(U)=>{let X=$X(U.errors,"propString"),q=Object.entries(X).map(([Z,Q])=>{let G=[];for(let J of Q)N0(G,J.expected);let Y=k1(G),H=Q.every((J)=>J.actual===Q[0].actual)?Q[0].actual:E(Q[0].data);return`${Z&&`${Z} `}must be ${Y}${H&&` (was ${H})`}`});return k1(q)},problem:(U)=>U.expected,message:(U)=>{if(U.problem[0]==="[")return`value at ${U.problem}`;return U.problem}},intersections:{union:(U,X,q)=>{if(U.isNever!==X.isNever)return T.init("presence",U,X);let Z;if(U.ordered){if(X.ordered)F(N5(U.expression,X.expression));if(Z=AU(X.branches,U.branches,q),Z instanceof T)Z.invert()}else Z=AU(U.branches,X.branches,q);if(Z instanceof T)return Z;return q.$.parseSchema(U.ordered||X.ordered?{branches:Z,ordered:!0}:{branches:Z})},...S0("union",(U,X,q)=>{let Z=AU(U.branches,[X],q);if(Z instanceof T)return Z;if(Z.length===1)return Z[0];return q.$.parseSchema(U.ordered?{branches:Z,ordered:!0}:{branches:Z})})}});class fq extends O0{isBoolean=this.branches.length===2&&this.branches[0].hasUnit(!1)&&this.branches[1].hasUnit(!0);get branchGroups(){let U=[],X=-1;for(let q of this.branches){if(q.hasKind("unit")&&q.domain==="boolean"){if(X===-1)X=U.length,U.push(q);else U[X]=O.intrinsic.boolean;continue}U.push(q)}return U}unitBranches=this.branches.filter((U)=>U.rawIn.hasKind("unit"));discriminant=this.discriminate();discriminantJson=this.discriminant?M5(this.discriminant):null;expression=this.distribute((U)=>U.nestableExpression,P5);createBranchedOptimisticRootApply(){return(U,X)=>{let q=this.traverseOptimistic(U);if(q!==G0)return q;let Z=new w0(U,this.$.resolvedConfig);return this.traverseApply(U,Z),Z.finalize(X)}}get shallowMorphs(){return this.branches.reduce((U,X)=>N0(U,X.shallowMorphs),[])}get defaultShortDescription(){return this.distribute((U)=>U.defaultShortDescription,k1)}innerToJsonSchema(U){if(this.branchGroups.length===1&&this.branchGroups[0].equals(O.intrinsic.boolean))return{type:"boolean"};let X=this.branchGroups.map((q)=>q.toJsonSchemaRecurse(U));if(X.every((q)=>Object.keys(q).length===1&&P1(q,"const")))return{enum:X.map((q)=>q.const)};return{anyOf:X}}traverseAllows=(U,X)=>this.branches.some((q)=>q.traverseAllows(U,X));traverseApply=(U,X)=>{let q=[];for(let Z=0;Z<this.branches.length;Z++){if(X.pushBranch(),this.branches[Z].traverseApply(U,X),!X.hasError()){if(this.branches[Z].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=(U)=>{for(let X=0;X<this.branches.length;X++){let q=this.branches[X];if(q.traverseAllows(U)){if(q.contextFreeMorph)return q.contextFreeMorph(U);return U}}return G0};compile(U){if(!this.discriminant||this.unitBranches.length===this.branches.length&&this.branches.length===2)return this.compileIndiscriminable(U);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,Z=Object.keys(q),{optimistic:Q}=U;if(U.optimistic=!1,U.block(`switch(${X})`,()=>{for(let W in q){let $=q[W],_=W==="default"?W:`case ${W}`,L;if($===!0)L=Q?"data":"true";else if(Q)if($.rootApplyStrategy==="branchedOptimistic")L=U.invoke($,{kind:"Optimistic"});else if($.contextFreeMorph)L=`${U.invoke($)} ? ${d($.contextFreeMorph)}(data) : "${G0}"`;else L=`${U.invoke($)} ? data : "${G0}"`;else L=U.invoke($);U.line(`${_}: return ${L}`)}return U}),U.traversalKind==="Allows"){U.return(Q?`"${G0}"`:!1);return}let G=k1(this.discriminant.kind==="domain"?Z.map((W)=>{let $=W.slice(1,-1);return $==="function"?Q0.object:Q0[$]}):Z),Y=this.discriminant.path.map((W)=>typeof W==="symbol"?d(W):JSON.stringify(W)),H=JSON.stringify(G),J=this.discriminant.kind==="domain"?`${R5}[${X}]`:`${D5}(${X})`;U.line(`ctx.errorFromNodeContext({
|
|
170
170
|
code: "predicate",
|
|
171
171
|
expected: ${H},
|
|
172
172
|
actual: ${J},
|
|
173
173
|
relativePath: [${Y}],
|
|
174
174
|
meta: ${this.compiledMeta}
|
|
175
|
-
})`)}compileIndiscriminable(U){if(U.traversalKind==="Apply"){U.const("errors","[]");for(let X of this.branches)U.line("ctx.pushBranch()").line(U.invoke(X)).if("!ctx.hasError()",()=>U.return(X.includesTransform?"ctx.queuedMorphs.push(...ctx.popBranch().queuedMorphs)":"ctx.popBranch()")).line("errors.push(ctx.popBranch().error)");U.line(`ctx.errorFromNodeContext({ code: "union", errors, meta: ${this.compiledMeta} })`)}else{let{optimistic:X}=U;U.optimistic=!1;for(let q of this.branches)U.if(`${U.invoke(q)}`,()=>U.return(X?q.contextFreeMorph?`${d(q.contextFreeMorph)}(data)`:"data":!0));U.return(X?`"${
|
|
175
|
+
})`)}compileIndiscriminable(U){if(U.traversalKind==="Apply"){U.const("errors","[]");for(let X of this.branches)U.line("ctx.pushBranch()").line(U.invoke(X)).if("!ctx.hasError()",()=>U.return(X.includesTransform?"ctx.queuedMorphs.push(...ctx.popBranch().queuedMorphs)":"ctx.popBranch()")).line("errors.push(ctx.popBranch().error)");U.line(`ctx.errorFromNodeContext({ code: "union", errors, meta: ${this.compiledMeta} })`)}else{let{optimistic:X}=U;U.optimistic=!1;for(let q of this.branches)U.if(`${U.invoke(q)}`,()=>U.return(X?q.contextFreeMorph?`${d(q.contextFreeMorph)}(data)`:"data":!0));U.return(X?`"${G0}"`:!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 Q=S(this.unitBranches,(G,Y)=>[`${Y.rawIn.serializedValue}`,Y.hasKind("morph")?Y:!0]);return{kind:"unit",path:[],optionallyChainedPropString:"data",cases:Q}}let U=[];for(let Q=0;Q<this.branches.length-1;Q++){let G=this.branches[Q];for(let Y=Q+1;Y<this.branches.length;Y++){let H=this.branches[Y],J=W0(G.rawIn,H.rawIn,G.$);if(!(J instanceof T))continue;for(let W of J){if(!W.kind||W.optional)continue;let $,_;if(W.kind==="domain"){let{l:A,r:B}=W;$=`"${typeof A==="string"?A:A.domain}"`,_=`"${typeof B==="string"?B:B.domain}"`}else if(W.kind==="unit")$=W.l.serializedValue,_=W.r.serializedValue;else continue;let L=U.find((A)=>y0(A.path,W.path)&&A.kind===W.kind);if(!L)U.push({kind:W.kind,cases:{[$]:{branchIndices:[Q],condition:W.l},[_]:{branchIndices:[Y],condition:W.r}},path:W.path});else{if(L.cases[$])L.cases[$].branchIndices=N0(L.cases[$].branchIndices,Q);else L.cases[$]??={branchIndices:[Q],condition:W.l};if(L.cases[_])L.cases[_].branchIndices=N0(L.cases[_].branchIndices,Y);else L.cases[_]??={branchIndices:[Y],condition:W.r}}}}}let X=this.ordered?T5(U,this.branches):U;if(!X.length)return null;let q=O5(X,this),Z={};for(let Q in q.best.cases){let G=V5(q,Q);if(G===null){Z[Q]=!0;continue}if(G.length===this.branches.length)return null;if(this.ordered)G.sort((J,W)=>J.originalIndex-W.originalIndex);let Y=G.map((J)=>J.branch),H=Y.length===1?Y[0]:this.$.node("union",this.ordered?{branches:Y,ordered:!0}:Y);Object.assign(this.referencesById,H.referencesById),Z[Q]=H}if(q.defaultEntries.length){let Q=q.defaultEntries.map((G)=>G.branch);Z.default=this.$.node("union",this.ordered?{branches:Q,ordered:!0}:Q,{prereduced:!0}),Object.assign(this.referencesById,Z.default.referencesById)}return Object.assign(q.location,{cases:Z})}}var O5=(U,X)=>{let Z=U.sort((Y,H)=>Y.path.length===H.path.length?Object.keys(H.cases).length-Object.keys(Y.cases).length:Y.path.length-H.path.length)[0],Q={kind:Z.kind,path:Z.path,optionallyChainedPropString:yq(Z.path)},G=X.branches.map((Y,H)=>({originalIndex:H,branch:Y}));return{best:Z,location:Q,defaultEntries:G,node:X}},V5=(U,X)=>{let q=U.best.cases[X],Z=B5(q.condition,U.location.path,U.node.$),Q=[],G=[];for(let Y=0;Y<U.defaultEntries.length;Y++){let H=U.defaultEntries[Y];if(q.branchIndices.includes(H.originalIndex)){let J=bq(U.node.branches[H.originalIndex],U.location);if(J===null)Q=null;else Q?.push({originalIndex:H.originalIndex,branch:J})}else if(H.branch.hasKind("alias")&&Z.hasKind("domain")&&Z.domain==="object")Q?.push(H);else{if(H.branch.rawIn.overlaps(Z)){let J=bq(H.branch,U.location);Q?.push({originalIndex:H.originalIndex,branch:J})}G.push(H)}}return U.defaultEntries=G,Q},T5=(U,X)=>{return U.filter((Z)=>{let Q=Object.values(Z.cases).map((G)=>G.branchIndices);for(let G=0;G<Q.length-1;G++){let Y=Q[G];for(let H=G+1;H<Q.length;H++){let J=Q[H];for(let W of Y)for(let $ of J)if(W>$){if(X[W].overlaps(X[$]))return!1}}}return!0})},B5=(U,X,q)=>{let Z=U==="undefined"?q.node("unit",{unit:void 0}):U==="null"?q.node("unit",{unit:null}):U==="boolean"?q.units([!0,!1]):U;for(let Q=X.length-1;Q>=0;Q--){let G=X[Q];Z=q.node("intersection",typeof G==="number"?{proto:"Array",sequence:[...WX(G).map((Y)=>({})),Z]}:{domain:"object",required:[{key:G,value:Z}]})}return Z},yq=(U)=>U.reduce((X,q)=>X+l4(q,!0),"data"),R5=d(LX),D5=d(E),OU={implementation:A5,Node:fq},M5=(U)=>({kind:U.kind,path:U.path.map((X)=>typeof X==="string"?X:M0(X)),cases:S(U.cases,(X,q)=>[X,q===!0?q:q.hasKind("union")&&q.discriminantJson?q.discriminantJson:q.json])}),w5={delimiter:" | ",finalDelimiter:" | "},P5=(U)=>k1(U,w5),k1=(U,X)=>{let q=X?.delimiter??", ",Z=X?.finalDelimiter??" or ";if(U.length===0)return"never";if(U.length===1)return U[0];if(U.length===2&&U[0]==="false"&&U[1]==="true"||U[0]==="true"&&U[1]==="false")return"boolean";let Q={},G=U.filter((H)=>Q[H]?!1:Q[H]=!0),Y=G.pop();return`${G.join(q)}${G.length?Z:""}${Y}`},AU=(U,X,q)=>{let Z=X.map(()=>[]);for(let G=0;G<U.length;G++){let Y={};for(let H=0;H<X.length;H++){if(Z[H]===null)continue;if(U[G].equals(X[H])){Z[H]=null,Y={};break}let J=u(U[G],X[H],q);if(J instanceof T)continue;if(J.equals(U[G])){Z[H].push(U[G]),Y={};break}if(J.equals(X[H]))Z[H]=null;else Y[H]=J}for(let H in Y)Z[H][G]=Y[H]}let Q=Z.flatMap((G,Y)=>G?.flatMap((H)=>H.branches)??X[Y]);return Q.length===0?T.init("union",U,X):Q},I5=({branches:U,ordered:X})=>{if(U.length<2)return U;let q=U.map(()=>!0);for(let Z=0;Z<U.length;Z++)for(let Q=Z+1;Q<U.length&&q[Z]&&q[Q];Q++){if(U[Z].equals(U[Q])){q[Q]=!1;continue}let G=W0(U[Z].rawIn,U[Q].rawIn,U[0].$);if(G instanceof T)continue;if(!X)K5(U[Z],U[Q]);if(G.equals(U[Z].rawIn))q[Z]=!!X;else if(G.equals(U[Q].rawIn))q[Q]=!1}return U.filter((Z,Q)=>q[Q])},K5=(U,X)=>{if(!U.includesTransform&&!X.includesTransform)return;if(!y0(U.shallowMorphs,X.shallowMorphs))F(jq(U.expression,X.expression));if(!y0(U.flatMorphs,X.flatMorphs,{isEqual:(q,Z)=>q.propString===Z.propString&&(q.node.hasKind("morph")&&Z.node.hasKind("morph")?q.node.hasEqualMorphs(Z.node):q.node.hasKind("intersection")&&Z.node.hasKind("intersection")?q.node.structure?.structuralMorphRef===Z.node.structure?.structuralMorphRef:!1)}))F(jq(U.expression,X.expression))},bq=(U,X)=>U.transform((q,Z)=>{if(q==="domain"||q==="unit")return null;return Z},{shouldTransform:(q,Z)=>{let Q=yq(Z.path);if(!X.optionallyChainedPropString.startsWith(Q))return!1;if(q.hasKind("domain")&&q.domain==="object")return!0;if((q.hasKind("domain")||X.kind==="unit")&&Q===X.optionallyChainedPropString)return!0;return q.children.length!==0&&q.kind!=="index"}}),jq=(U,X)=>`An unordered union of a type including a morph and a type with overlapping input is indeterminate:
|
|
176
176
|
Left: ${U}
|
|
177
|
-
Right: ${X}`,
|
|
177
|
+
Right: ${X}`,N5=(U,X)=>`The intersection of two ordered unions is indeterminate:
|
|
178
178
|
Left: ${U}
|
|
179
|
-
Right: ${X}`;var M5=b({kind:"unit",hasAssociatedError:!0,keys:{unit:{preserveUndefined:!0,serialize:(U)=>U instanceof Date?U.toISOString():F0(U)}},normalize:(U)=>U,defaults:{description:(U)=>E(U.unit),problem:({expected:U,actual:X})=>`${U===X?`must be reference equal to ${U} (serialized to the same value)`:`must be ${U} (was ${X})`}`},intersections:{unit:(U,X)=>V.init("unit",U,X),...S0("unit",(U,X)=>{if(X.allows(U.unit))return U;let q=X.hasKind("intersection")?X.basis:X;if(q){let Z=q.hasKind("domain")?q:T.intrinsic.object;if(U.domain!==Z.domain){let Q=U.domain==="undefined"||U.domain==="null"||U.domain==="boolean"?U.domain:T.intrinsic[U.domain];return V.init("domain",Q,Z)}}return V.init("assignability",U,X.hasKind("intersection")?X.children.find((Z)=>!Z.allows(U.unit)):X)})}});class Sq extends _1{compiledValue=this.json.unit;serializedValue=typeof this.unit==="string"||this.unit instanceof Date?JSON.stringify(this.compiledValue):`${this.compiledValue}`;compiledCondition=Cq(this.unit,this.serializedValue);compiledNegation=Cq(this.unit,this.serializedValue,"negated");expression=E(this.unit);domain=r(this.unit);get defaultShortDescription(){return this.domain==="object"?G0.object:this.description}innerToJsonSchema(U){return this.unit===null?{type:"null"}:T.intrinsic.jsonPrimitive.allows(this.unit)?{const:this.unit}:U.fallback.unit({code:"unit",base:{},unit:this.unit})}traverseAllows=this.unit instanceof Date?(U)=>U instanceof Date&&U.toISOString()===this.compiledValue:Number.isNaN(this.unit)?(U)=>Number.isNaN(U):(U)=>U===this.unit}var _4={implementation:M5,Node:Sq},Cq=(U,X,q)=>{if(U instanceof Date){let Z=`data instanceof Date && data.toISOString() === ${X}`;return q?`!(${Z})`:Z}if(Number.isNaN(U))return`${q?"!":""}Number.isNaN(data)`;return`data ${q?"!":"="}== ${X}`};var w5=b({kind:"index",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{signature:{child:!0,parse:(U,X)=>{let q=X.$.parseSchema(U);if(!q.extends(T.intrinsic.key))return F(I5(q.expression));let Z=q.branches.filter((Q)=>Q.hasKind("unit"));if(Z.length)return F(P5(Z.map((Q)=>E(Q.unit))));return q}},value:{child:!0,parse:(U,X)=>X.$.parseSchema(U)}},normalize:(U)=>U,defaults:{description:(U)=>`[${U.signature.expression}]: ${U.value.description}`},intersections:{index:(U,X,q)=>{if(U.signature.equals(X.signature)){let Z=u(U.value,X.value,q),Q=Z instanceof V?T.intrinsic.never.internal:Z;return q.$.node("index",{signature:U.signature,value:Q})}if(U.signature.extends(X.signature)&&U.value.subsumes(X.value))return X;if(X.signature.extends(U.signature)&&X.value.subsumes(U.value))return U;return null}}});class Eq extends A0{impliedBasis=T.intrinsic.object.internal;expression=`[${this.signature.expression}]: ${this.value.expression}`;flatRefs=g(this.value.flatRefs.map((U)=>w0([this.signature,...U.path],U.node)),w0([this.signature],this.value));traverseAllows=(U,X)=>Y1(U).every((q)=>{if(this.signature.traverseAllows(q[0],X))return W0(q[0],()=>this.value.traverseAllows(q[1],X),X);return!0});traverseApply=(U,X)=>{for(let q of Y1(U))if(this.signature.traverseAllows(q[0],X))W0(q[0],()=>this.value.traverseApply(q[1],X),X)};_transform(U,X){X.path.push(this.signature);let q=super._transform(U,X);return X.path.pop(),q}compile(){}}var $4={implementation:w5,Node:Eq},P5=(U)=>`Index keys ${U.join(", ")} should be specified as named props.`,I5=(U)=>`Indexed key definition '${U}' must be a string or symbol`;var K5=b({kind:"required",hasAssociatedError:!0,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(U,X)=>X.$.parseSchema(U)}},normalize:(U)=>U,defaults:{description:(U)=>`${U.compiledKey}: ${U.value.description}`,expected:(U)=>U.missingValueDescription,actual:()=>"missing"},intersections:{required:T2,optional:T2}});class bq extends O2{expression=`${this.compiledKey}: ${this.value.expression}`;errorContext=Object.freeze({code:"required",missingValueDescription:this.value.defaultShortDescription,relativePath:[this.key],meta:this.meta});compiledErrorContext=i0(this.errorContext)}var z4={implementation:K5,Node:bq};var N5=b({kind:"sequence",hasAssociatedError:!1,collapsibleKey:"variadic",keys:{prefix:{child:!0,parse:(U,X)=>{if(U.length===0)return;return U.map((q)=>X.$.parseSchema(q))}},optionals:{child:!0,parse:(U,X)=>{if(U.length===0)return;return U.map((q)=>X.$.parseSchema(q))}},defaultables:{child:(U)=>U.map((X)=>X[0]),parse:(U,X)=>{if(U.length===0)return;return U.map((q)=>{let Z=X.$.parseSchema(q[0]);return B2(Z,q[1],null),[Z,q[1]]})},serialize:(U)=>U.map((X)=>[X[0].collapsibleJson,F0(X[1])]),reduceIo:(U,X,q)=>{if(U==="in"){X.optionals=q.map((Z)=>Z[0].rawIn);return}X.prefix=q.map((Z)=>Z[0].rawOut);return}},variadic:{child:!0,parse:(U,X)=>X.$.parseSchema(U,X)},minVariadicLength:{parse:(U)=>U===0?void 0:U},postfix:{child:!0,parse:(U,X)=>{if(U.length===0)return;return U.map((q)=>X.$.parseSchema(q))}}},normalize:(U)=>{if(typeof U==="string")return{variadic:U};if("variadic"in U||"prefix"in U||"defaultables"in U||"optionals"in U||"postfix"in U||"minVariadicLength"in U){if(U.postfix?.length){if(!U.variadic)return F(b5);if(U.optionals?.length||U.defaultables?.length)return F(A4)}if(U.minVariadicLength&&!U.variadic)return F("minVariadicLength may not be specified without a variadic element");return U}return{variadic:U}},reduce:(U,X)=>{let q=U.minVariadicLength??0,Z=U.prefix?.slice()??[],Q=U.defaultables?.slice()??[],G=U.optionals?.slice()??[],Y=U.postfix?.slice()??[];if(U.variadic){while(G[G.length-1]?.equals(U.variadic))G.pop();if(G.length===0&&Q.length===0)while(Z[Z.length-1]?.equals(U.variadic))Z.pop(),q++;while(Y[0]?.equals(U.variadic))Y.shift(),q++}else if(G.length===0&&Q.length===0)Z.push(...Y.splice(0));if(q!==U.minVariadicLength||U.prefix&&U.prefix.length!==Z.length)return X.node("sequence",{...U,prefix:Z,defaultables:Q,optionals:G,postfix:Y,minVariadicLength:q},{prereduced:!0})},defaults:{description:(U)=>{if(U.isVariadicOnly)return`${U.variadic.nestableExpression}[]`;return`[${U.tuple.map((q)=>q.kind==="defaultables"?`${q.node.nestableExpression} = ${E(q.default)}`:q.kind==="optionals"?`${q.node.nestableExpression}?`:q.kind==="variadic"?`...${q.node.nestableExpression}[]`:q.node.expression).join(", ")}]`}},intersections:{sequence:(U,X,q)=>{let Z=w2({l:U.tuple,r:X.tuple,disjoint:new V,result:[],fixedVariants:[],ctx:q}),Q=Z.disjoint.length===0?[Z,...Z.fixedVariants]:Z.fixedVariants;return Q.length===0?Z.disjoint:Q.length===1?q.$.node("sequence",jq(Q[0].result)):q.$.node("union",Q.map((G)=>({proto:Array,sequence:jq(G.result)})))}}});class gq extends A0{impliedBasis=T.intrinsic.Array.internal;tuple=E5(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((U)=>{if(U.kind==="defaultables"||U.kind==="optionals")return this.defaultablesAndOptionals.push(U.node),!0;return U.kind==="prefix"});variadicOrPostfix=f0(this.variadic&&[this.variadic],this.postfix);flatRefs=this.addFlatRefs();addFlatRefs(){return pU(this.flatRefs,this.prevariadic.flatMap((U,X)=>g(U.node.flatRefs.map((q)=>w0([`${X}`,...q.path],q.node)),w0([`${X}`],U.node)))),pU(this.flatRefs,this.variadicOrPostfix.flatMap((U)=>g(U.flatRefs.map((X)=>w0([T.intrinsic.nonNegativeIntegerString.internal,...X.path],X.node)),w0([T.intrinsic.nonNegativeIntegerString.internal],U)))),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=S5(this);defaultValueMorphsReference=this.defaultValueMorphs.length?d(this.defaultValueMorphs):void 0;elementAtIndex(U,X){if(X<this.prevariadic.length)return this.tuple[X];let q=U.length-this.postfixLength;if(X>=q)return{kind:"postfix",node:this.postfix[X-q]};return{kind:"variadic",node:this.variadic??y(`Unexpected attempt to access index ${X} on ${this}`)}}traverseAllows=(U,X)=>{for(let q=0;q<U.length;q++)if(!this.elementAtIndex(U,q).node.traverseAllows(U[q],X))return!1;return!0};traverseApply=(U,X)=>{let q=0;for(;q<U.length;q++)W0(q,()=>this.elementAtIndex(U,q).node.traverseApply(U[q],X),X)};get element(){return this.cacheGetter("element",this.$.node("union",this.children))}compile(U){if(this.prefix)for(let[X,q]of this.prefix.entries())U.traverseKey(`${X}`,`data[${X}]`,q);for(let[X,q]of this.defaultablesAndOptionals.entries()){let Z=`${X+this.prefixLength}`;U.if(`${Z} >= data.length`,()=>U.traversalKind==="Allows"?U.return(!0):U.return()),U.traverseKey(Z,`data[${Z}]`,q)}if(this.variadic){if(this.postfix)U.const("firstPostfixIndex",`data.length${this.postfix?`- ${this.postfix.length}`:""}`);if(U.for(`i < ${this.postfix?"firstPostfixIndex":"data.length"}`,()=>U.traverseKey("i","data[i]",this.variadic),this.prevariadic.length),this.postfix)for(let[X,q]of this.postfix.entries()){let Z=`firstPostfixIndex + ${X}`;U.traverseKey(Z,`data[${Z}]`,q)}}if(U.traversalKind==="Allows")U.return(!0)}_transform(U,X){X.path.push(T.intrinsic.nonNegativeIntegerString.internal);let q=super._transform(U,X);return X.path.pop(),q}expression=this.description;reduceJsonSchema(U,X){let q=X.target==="draft-07";if(this.prevariadic.length){let Z=this.prevariadic.map((Q)=>{let G=Q.node.toJsonSchemaRecurse(X);if(Q.kind==="defaultables"){let Y=typeof Q.default==="function"?Q.default():Q.default;G.default=T.intrinsic.jsonData.allows(Y)?Y:X.fallback.defaultValue({code:"defaultValue",base:G,value:Y})}return G});if(q)U.items=Z;else U.prefixItems=Z}if(this.minLength)U.minItems=this.minLength;if(this.variadic){let Z=this.variadic.toJsonSchemaRecurse(X);if(q&&this.prevariadic.length)U.additionalItems=Z;else U.items=Z;if(this.maxLength)U.maxItems=this.maxLength;if(this.postfix){let Q=this.postfix.map((G)=>G.toJsonSchemaRecurse(X));U=X.fallback.arrayPostfix({code:"arrayPostfix",base:U,elements:Q})}}else{if(q)U.additionalItems=!1;else U.items=!1;delete U.maxItems}return U}}var C5={},S5=(U)=>{if(!U.defaultables)return[];let X=[],q="[",Z=U.prefixLength+U.defaultablesLength-1;for(let Q=U.prefixLength;Q<=Z;Q++){let[G,Y]=U.defaultables[Q-U.prefixLength];X.push(Y4(Q,G,Y)),q+=`${Q}: ${G.id} = ${F0(Y)}, `}return q+="]",C5[q]??=X},F4={implementation:N5,Node:gq},E5=(U)=>{let X=[];if(U.prefix)for(let q of U.prefix)X.push({kind:"prefix",node:q});if(U.defaultables)for(let[q,Z]of U.defaultables)X.push({kind:"defaultables",node:q,default:Z});if(U.optionals)for(let q of U.optionals)X.push({kind:"optionals",node:q});if(U.variadic)X.push({kind:"variadic",node:U.variadic});if(U.postfix)for(let q of U.postfix)X.push({kind:"postfix",node:q});return X},jq=(U)=>U.reduce((X,q)=>{if(q.kind==="variadic")X.variadic=q.node;else if(q.kind==="defaultables")X.defaultables=g(X.defaultables,[[q.node,q.default]]);else X[q.kind]=g(X[q.kind],q.node);return X},{}),A4="A postfix required element cannot follow an optional or defaultable element",b5="A postfix element requires a variadic element",w2=(U)=>{let[X,...q]=U.l,[Z,...Q]=U.r;if(!X||!Z)return U;let G=q[q.length-1]?.kind==="postfix",Y=Q[Q.length-1]?.kind==="postfix",H=X.kind==="prefix"||Z.kind==="prefix"?"prefix":X.kind==="postfix"||Z.kind==="postfix"?"postfix":X.kind==="variadic"&&Z.kind==="variadic"?"variadic":G||Y?"prefix":X.kind==="defaultables"||Z.kind==="defaultables"?"defaultables":"optionals";if(X.kind==="prefix"&&Z.kind==="variadic"&&Y){let L=w2({...U,fixedVariants:[],r:Q.map(($)=>({...$,kind:"prefix"}))});if(L.disjoint.length===0)U.fixedVariants.push(L)}else if(Z.kind==="prefix"&&X.kind==="variadic"&&G){let L=w2({...U,fixedVariants:[],l:q.map(($)=>({...$,kind:"prefix"}))});if(L.disjoint.length===0)U.fixedVariants.push(L)}let J=u(X.node,Z.node,U.ctx);if(J instanceof V)if(H==="prefix"||H==="postfix")U.disjoint.push(...J.withPrefixKey(H==="prefix"?U.result.length:`-${q.length+1}`,fq(X)&&fq(Z)?"required":"optional")),U.result=[...U.result,{kind:H,node:T.intrinsic.never.internal}];else if(H==="optionals"||H==="defaultables")return U;else return w2({...U,fixedVariants:[],l:q.map((L)=>({...L,kind:"prefix"})),r:q.map((L)=>({...L,kind:"prefix"}))});else if(H==="defaultables"){if(X.kind==="defaultables"&&Z.kind==="defaultables"&&X.default!==Z.default)F(G4(X.default,Z.default));U.result=[...U.result,{kind:H,node:J,default:X.kind==="defaultables"?X.default:Z.kind==="defaultables"?Z.default:y(`Unexpected defaultable intersection from ${X.kind} and ${Z.kind} elements.`)}]}else U.result=[...U.result,{kind:H,node:J}];let W=U.l.length,_=U.r.length;if(X.kind!=="variadic"||W>=_&&(Z.kind==="variadic"||_===1))U.l=q;if(Z.kind!=="variadic"||_>=W&&(X.kind==="variadic"||W===1))U.r=Q;return w2(U)},fq=(U)=>U.kind==="prefix"||U.kind==="postfix";var xq=(U)=>(X)=>{if(X.props.length||X.index){let q=X.index?.map((Q)=>Q[U])??[];for(let Q of X.props)q.push(Q[U]);if(X.undeclared)q.push(`+ (undeclared): ${X.undeclared}`);let Z=`{ ${q.join(", ")} }`;return X.sequence?`${Z} & ${X.sequence.description}`:Z}return X.sequence?.description??"{}"},j5=xq("description"),f5=xq("expression"),yq=(U,X,q)=>{let Z=U.required?"required":"optional";if(!X.signature.allows(U.key))return null;let Q=L0(U.value,X.value,q);if(Q instanceof V)return Z==="optional"?q.node("optional",{key:U.key,value:T.intrinsic.never.internal}):Q.withPrefixKey(U.key,U.kind);return null},g5=b({kind:"structure",hasAssociatedError:!1,normalize:(U)=>U,applyConfig:(U,X)=>{if(!U.undeclared&&X.onUndeclaredKey!=="ignore")return{...U,undeclared:X.onUndeclaredKey};return U},keys:{required:{child:!0,parse:U0("required"),reduceIo:(U,X,q)=>{X.required=g(X.required,q.map((Z)=>U==="in"?Z.rawIn:Z.rawOut));return}},optional:{child:!0,parse:U0("optional"),reduceIo:(U,X,q)=>{if(U==="in"){X.optional=q.map((Z)=>Z.rawIn);return}for(let Z of q)X[Z.outProp.kind]=g(X[Z.outProp.kind],Z.outProp.rawOut)}},index:{child:!0,parse:U0("index")},sequence:{child:!0,parse:U0("sequence")},undeclared:{parse:(U)=>U==="ignore"?void 0:U,reduceIo:(U,X,q)=>{if(q==="reject"){X.undeclared="reject";return}if(U==="in")delete X.undeclared;else X.undeclared="reject"}}},defaults:{description:j5},intersections:{structure:(U,X,q)=>{let Z={...U.inner},Q={...X.inner},G=new V;if(U.undeclared){let J=U.keyof();for(let W of X.requiredKeys)if(!J.allows(W))G.add("presence",T.intrinsic.never.internal,X.propsByKey[W].value,{path:[W]});if(Q.optional)Q.optional=Q.optional.filter((W)=>J.allows(W.key));if(Q.index)Q.index=Q.index.flatMap((W)=>{if(W.signature.extends(J))return W;let _=L0(J,W.signature,q.$);if(_ instanceof V)return[];let L=V6(_,W.value,q.$);if(L.required)Q.required=f0(Q.required,L.required);if(L.optional)Q.optional=f0(Q.optional,L.optional);return L.index??[]})}if(X.undeclared){let J=X.keyof();for(let W of U.requiredKeys)if(!J.allows(W))G.add("presence",U.propsByKey[W].value,T.intrinsic.never.internal,{path:[W]});if(Z.optional)Z.optional=Z.optional.filter((W)=>J.allows(W.key));if(Z.index)Z.index=Z.index.flatMap((W)=>{if(W.signature.extends(J))return W;let _=L0(J,W.signature,q.$);if(_ instanceof V)return[];let L=V6(_,W.value,q.$);if(L.required)Z.required=f0(Z.required,L.required);if(L.optional)Z.optional=f0(Z.optional,L.optional);return L.index??[]})}let Y={};if(U.undeclared||X.undeclared)Y.undeclared=U.undeclared==="reject"||X.undeclared==="reject"?"reject":"delete";let H=E1({kind:"structure",baseInner:Y,l:b1(Z),r:b1(Q),roots:[],ctx:q});if(H instanceof V)G.push(...H);if(G.length)return G;return H}},reduce:(U,X)=>{if(!U.required&&!U.optional)return;let q={},Z=!1,Q=U.optional?[...U.optional]:[];if(U.required)for(let G=0;G<U.required.length;G++){let Y=U.required[G];if(Y.key in q)F(vq(Y.key));if(q[Y.key]=!0,U.index)for(let H of U.index){let J=yq(Y,H,X);if(J instanceof V)return J}}if(U.optional)for(let G=0;G<U.optional.length;G++){let Y=U.optional[G];if(Y.key in q)F(vq(Y.key));if(q[Y.key]=!0,U.index)for(let H of U.index){let J=yq(Y,H,X);if(J instanceof V)return J;if(J!==null)Q[G]=J,Z=!0}}if(Z)return X.node("structure",{...U,optional:Q},{prereduced:!0})}});class hq extends A0{impliedBasis=T.intrinsic.object.internal;impliedSiblings=this.children.flatMap((U)=>U.impliedSiblings??[]);props=f0(this.required,this.optional);propsByKey=S(this.props,(U,X)=>[X.key,X]);propsByKeyReference=d(this.propsByKey);expression=f5(this);requiredKeys=this.required?.map((U)=>U.key)??[];optionalKeys=this.optional?.map((U)=>U.key)??[];literalKeys=[...this.requiredKeys,...this.optionalKeys];_keyof;keyof(){if(this._keyof)return this._keyof;let U=this.$.units(this.literalKeys).branches;if(this.index)for(let{signature:X}of this.index)U=U.concat(X.branches);return this._keyof=this.$.node("union",U)}map(U){return this.$.node("structure",this.props.flatMap(U).reduce((X,q)=>{let Z=this.propsByKey[q.key];if(h(q)){if(q.kind!=="required"&&q.kind!=="optional")return F(`Map result must have kind "required" or "optional" (was ${q.kind})`);return X[q.kind]=g(X[q.kind],q),X}let Q=q.kind??Z?.kind??"required",G=S(q,(Y,H)=>(Y in V2.implementation.keys)?[Y,H]:[]);return X[Q]=g(X[Q],this.$.node(Q,G)),X},{}))}assertHasKeys(U){let X=U.filter((q)=>!R2(q,this.keyof()));if(X.length)return F(kq(this.expression,X))}get(U,...X){let q,Z=!1,Q=x5(U);if((typeof Q==="string"||typeof Q==="symbol")&&this.propsByKey[Q])q=this.propsByKey[Q].value,Z=this.propsByKey[Q].required;if(this.index){for(let Y of this.index)if(R2(Q,Y.signature))q=q?.and(Y.value)??Y.value}if(this.sequence&&R2(Q,T.intrinsic.nonNegativeIntegerString))if(M(Q,"root")){if(this.sequence.variadic)q=q?.and(this.sequence.element)??this.sequence.element}else{let Y=Number.parseInt(Q);if(Y<this.sequence.prevariadic.length){let H=this.sequence.prevariadic[Y].node;q=q?.and(H)??H,Z||=Y<this.sequence.prefixLength}else if(this.sequence.variadic){let H=this.$.node("union",this.sequence.variadicOrPostfix);q=q?.and(H)??H}}if(!q){if(this.sequence?.variadic&&M(Q,"root")&&Q.extends(T.intrinsic.number))return F(h5(Q.expression,this.sequence.expression));return F(kq(this.expression,[Q]))}let G=q.get(...X);return Z?G:G.or(T.intrinsic.undefined)}pick(...U){return this.assertHasKeys(U),this.$.node("structure",this.filterKeys("pick",U))}omit(...U){return this.assertHasKeys(U),this.$.node("structure",this.filterKeys("omit",U))}optionalize(){let{required:U,...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:U,...X}=this.inner;return this.$.node("structure",{...X,required:this.props.map((q)=>q.hasKind("optional")?{key:q.key,value:q.value}:q)})}merge(U){let X=this.filterKeys("omit",[U.keyof()]);if(U.required)X.required=g(X.required,U.required);if(U.optional)X.optional=g(X.optional,U.optional);if(U.index)X.index=g(X.index,U.index);if(U.sequence)X.sequence=U.sequence;if(U.undeclared)X.undeclared=U.undeclared;else delete X.undeclared;return this.$.node("structure",X)}filterKeys(U,X){let q=H6(this.inner),Z=(Q)=>{let G=X.some((Y)=>R2(Q,Y));return U==="pick"?G:!G};if(q.required)q.required=q.required.filter((Q)=>Z(Q.key));if(q.optional)q.optional=q.optional.filter((Q)=>Z(Q.key));if(q.index)q.index=q.index.filter((Q)=>Z(Q.signature));return q}traverseAllows=(U,X)=>this._traverse("Allows",U,X);traverseApply=(U,X)=>this._traverse("Apply",U,X);_traverse=(U,X,q)=>{let Z=q?.currentErrorCount??0;for(let Q=0;Q<this.props.length;Q++)if(U==="Allows"){if(!this.props[Q].traverseAllows(X,q))return!1}else if(this.props[Q].traverseApply(X,q),q.failFast&&q.currentErrorCount>Z)return!1;if(this.sequence){if(U==="Allows"){if(!this.sequence.traverseAllows(X,q))return!1}else if(this.sequence.traverseApply(X,q),q.failFast&&q.currentErrorCount>Z)return!1}if(this.index||this.undeclared==="reject"){let Q=Object.keys(X);Q.push(...Object.getOwnPropertySymbols(X));for(let G=0;G<Q.length;G++){let Y=Q[G];if(this.index){for(let H of this.index)if(H.signature.traverseAllows(Y,q)){if(U==="Allows"){if(!W0(Y,()=>H.value.traverseAllows(X[Y],q),q))return!1}else if(W0(Y,()=>H.value.traverseApply(X[Y],q),q),q.failFast&&q.currentErrorCount>Z)return!1}}if(this.undeclared==="reject"&&!this.declaresKey(Y)){if(U==="Allows")return!1;if(q.errorFromNodeContext({code:"predicate",expected:"removed",actual:"",relativePath:[Y],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((U)=>U.hasDefault())??[])}declaresKey=(U)=>(U in this.propsByKey)||this.index?.some((X)=>X.signature.allows(U))||this.sequence!==void 0&&T.intrinsic.nonNegativeIntegerString.allows(U);_compileDeclaresKey(U){let X=[];if(this.props.length)X.push(`k in ${this.propsByKeyReference}`);if(this.index)for(let q of this.index)X.push(U.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",k5(this))}structuralMorphRef=this.structuralMorph&&d(this.structuralMorph);compile(U){if(U.traversalKind==="Apply")U.initializeErrorCount();for(let X of this.props)if(U.check(X),U.traversalKind==="Apply")U.returnIfFailFast();if(this.sequence){if(U.check(this.sequence),U.traversalKind==="Apply")U.returnIfFailFast()}if(this.index||this.undeclared==="reject")U.const("keys","Object.keys(data)"),U.line("keys.push(...Object.getOwnPropertySymbols(data))"),U.for("i < keys.length",()=>this.compileExhaustiveEntry(U));if(U.traversalKind==="Allows")return U.return(!0);if(this.structuralMorphRef)U.if("ctx && !ctx.hasError()",()=>{return U.line("ctx.queueMorphs(["),v5(U,this),U.line("])")})}compileExhaustiveEntry(U){if(U.const("k","keys[i]"),this.index)for(let X of this.index)U.if(`${U.invoke(X.signature,{arg:"k",kind:"Allows"})}`,()=>U.traverseKey("k","data[k]",X.value));if(this.undeclared==="reject")U.if(`!(${this._compileDeclaresKey(U)})`,()=>{if(U.traversalKind==="Allows")return U.return(!1);return U.line(`ctx.errorFromNodeContext({ code: "predicate", expected: "removed", actual: "", relativePath: [k], meta: ${this.compiledMeta} })`).if("ctx.failFast",()=>U.return())});return U}reduceJsonSchema(U,X){switch(U.type){case"object":return this.reduceObjectJsonSchema(U,X);case"array":let q=this.sequence?.reduceJsonSchema(U,X)??U;if(this.props.length||this.index)return X.fallback.arrayObject({code:"arrayObject",base:q,object:this.reduceObjectJsonSchema({type:"object"},X)});return q;default:return p.throwInternalOperandError("structure",U)}}reduceObjectJsonSchema(U,X){if(this.props.length){U.properties={};for(let q of this.props){let Z=q.value.toJsonSchemaRecurse(X);if(typeof q.key==="symbol"){X.fallback.symbolKey({code:"symbolKey",base:U,key:q.key,value:Z,optional:q.optional});continue}if(q.hasDefault()){let Q=typeof q.default==="function"?q.default():q.default;Z.default=T.intrinsic.jsonData.allows(Q)?Q:X.fallback.defaultValue({code:"defaultValue",base:Z,value:Q})}U.properties[q.key]=Z}if(this.requiredKeys.length&&U.properties)U.required=this.requiredKeys.filter((q)=>typeof q==="string"&&(q in U.properties))}if(this.index)for(let q of this.index){let Z=q.value.toJsonSchemaRecurse(X);if(q.signature.equals(T.intrinsic.string)){U.additionalProperties=Z;continue}for(let Q of q.signature.branches){if(!Q.extends(T.intrinsic.string)){U=X.fallback.symbolKey({code:"symbolKey",base:U,key:null,value:Z,optional:!1});continue}let G={type:"string"};if(Q.hasKind("morph"))G=X.fallback.morph({code:"morph",base:Q.rawIn.toJsonSchemaRecurse(X),out:Q.rawOut.toJsonSchemaRecurse(X)});if(!Q.hasKind("intersection"))return y(`Unexpected index branch kind ${Q.kind}.`);let{pattern:Y}=Q.inner;if(Y){let H=Object.assign(G,{pattern:Y[0].rule});for(let J=1;J<Y.length;J++)G=X.fallback.patternIntersection({code:"patternIntersection",base:H,pattern:Y[J].rule});U.patternProperties??={},U.patternProperties[H.pattern]=Z}}}if(this.undeclared&&!U.additionalProperties)U.additionalProperties=!1;return U}}var T4={},y5=(U)=>{let X="";for(let q=0;q<U.defaultable.length;q++)X+=U.defaultable[q].defaultValueMorphRef;if(U.sequence?.defaultValueMorphsReference)X+=U.sequence?.defaultValueMorphsReference;if(U.undeclared==="delete"){if(X+="delete !(",U.required)for(let q of U.required)X+=q.compiledKey+" | ";if(U.optional)for(let q of U.optional)X+=q.compiledKey+" | ";if(U.index)for(let q of U.index)X+=q.signature.id+" | ";if(U.sequence)if(U.sequence.maxLength===null)X+=I.nonNegativeIntegerString.id;else for(let q=0;q<U.sequence.tuple.length;q++)X+=q+" | ";X+=")"}return X},k5=(U)=>{let X=y5(U);if(!X)return;if(T4[X])return T4[X];let q=(Z,Q)=>{for(let G=0;G<U.defaultable.length;G++)if(!(U.defaultable[G].key in Z))U.defaultable[G].defaultValueMorph(Z,Q);if(U.sequence?.defaultables)for(let G=Z.length-U.sequence.prefixLength;G<U.sequence.defaultables.length;G++)U.sequence.defaultValueMorphs[G](Z,Q);if(U.undeclared==="delete"){for(let G in Z)if(!U.declaresKey(G))delete Z[G]}return Z};return T4[X]=q},v5=(U,X)=>{let Z=`(data${X.defaultable.some((Q)=>Q.defaultValueMorph.length===2)||X.sequence?.defaultValueMorphs.some((Q)=>Q.length===2)?", ctx":""})`;return U.block(`${Z} => `,(Q)=>{for(let G=0;G<X.defaultable.length;G++){let{serializedKey:Y,defaultValueMorphRef:H}=X.defaultable[G];Q.if(`!(${Y} in data)`,(J)=>J.line(`${H}${Z}`))}if(X.sequence?.defaultables)Q.for(`i < ${X.sequence.defaultables.length}`,(G)=>G.set("data[i]",5),`data.length - ${X.sequence.prefixLength}`);if(X.undeclared==="delete")Q.forIn("data",(G)=>G.if(`!(${X._compileDeclaresKey(G)})`,(Y)=>Y.line("delete data[k]")));return Q.return("data")})},O4={implementation:g5,Node:hq},x5=(U)=>{if(M(U,"root")&&U.hasKind("unit"))U=U.unit;if(typeof U==="number")U=`${U}`;return U},h5=(U,X)=>`${U} is not allowed as an array index on ${X}. Use the 'nonNegativeIntegerString' keyword instead.`,V6=(U,X,q)=>{let[Z,Q]=XX(U.branches,(Y)=>Y.hasKind("unit"));if(!Z.length)return{index:q.node("index",{signature:U,value:X})};let G={};for(let Y of Z){let H=q.node("required",{key:Y.unit,value:X});G[H.kind]=g(G[H.kind],H)}if(Q.length)G.index=q.node("index",{signature:Q,value:X});return G},u5=(U)=>M(U,"root")?U.expression:E(U),kq=(U,X)=>`Key${X.length===1?"":"s"} ${X.map(u5).join(", ")} ${X.length===1?"does":"do"} not exist on ${U}`,vq=(U)=>`Duplicate key ${D0(U)}`;var f1={...Gq,alias:D2.implementation,domain:O6.implementation,unit:_4.implementation,proto:M2.implementation,union:L4.implementation,morph:J4.implementation,intersection:H4.implementation,divisor:oU.implementation,pattern:X4.implementation,predicate:iU.implementation,required:z4.implementation,optional:V2.implementation,index:$4.implementation,sequence:F4.implementation,structure:O4.implementation};T.defaultConfig=LX(Object.assign(S(f1,(U,X)=>[U,X.defaults]),{jitless:TX(),clone:zX,onUndeclaredKey:"ignore",exactOptionalPropertyTypes:!0,numberAllowsNaN:!1,dateAllowsInvalid:!1,onFail:null,keywords:{},toJsonSchema:p.defaultConfig}));T.resolvedConfig=_2(T.defaultConfig,T.config);var _q={...Yq,alias:D2.Node,domain:O6.Node,unit:_4.Node,proto:M2.Node,union:L4.Node,morph:J4.Node,intersection:H4.Node,divisor:oU.Node,pattern:X4.Node,predicate:iU.Node,required:z4.Node,optional:V2.Node,index:$4.Node,sequence:F4.Node,structure:O4.Node};class k1 extends NU{get[X0](){return"module"}}var V4=(U,X)=>new k1(S(U,(q,Z)=>[q,M(Z,"module")?V4(Z,X):X.bindReference(Z)]));var m5=(U)=>x(U)?U:("branches"in U)&&x(U.branches)?U.branches:void 0,p5=(U,X)=>F(`Node of kind ${X} is not valid as a ${U} definition`),uq=(U)=>`#${U} duplicates public alias ${U}`,B4={};T.ambient??={};var mq,lq="function $",l5=(U)=>dq(U,cq(U)),dq=(U,X)=>{let q=X.write(lq,4),Z=X.compile()();for(let Q of U){if(Q.precompilation)continue;if(Q.traverseAllows=Z[`${Q.id}Allows`].bind(Z),Q.isRoot()&&!Q.allowsRequiresContext)Q.allows=Q.traverseAllows;if(Q.traverseApply=Z[`${Q.id}Apply`].bind(Z),Z[`${Q.id}Optimistic`])Q.traverseOptimistic=Z[`${Q.id}Optimistic`].bind(Z);Q.precompilation=q}},cq=(U)=>new Y6().return(U.reduce((X,q)=>{let Z=new L2({kind:"Allows"}).indent();q.compile(Z);let Q=Z.write(`${q.id}Allows`),G=new L2({kind:"Apply"}).indent();q.compile(G);let Y=G.write(`${q.id}Apply`),H=`${X}${Q},
|
|
179
|
+
Right: ${X}`;var C5=b({kind:"unit",hasAssociatedError:!0,keys:{unit:{preserveUndefined:!0,serialize:(U)=>U instanceof Date?U.toISOString():F0(U)}},normalize:(U)=>U,defaults:{description:(U)=>E(U.unit),problem:({expected:U,actual:X})=>`${U===X?`must be reference equal to ${U} (serialized to the same value)`:`must be ${U} (was ${X})`}`},intersections:{unit:(U,X)=>T.init("unit",U,X),...S0("unit",(U,X)=>{if(X.allows(U.unit))return U;let q=X.hasKind("intersection")?X.basis:X;if(q){let Z=q.hasKind("domain")?q:O.intrinsic.object;if(U.domain!==Z.domain){let Q=U.domain==="undefined"||U.domain==="null"||U.domain==="boolean"?U.domain:O.intrinsic[U.domain];return T.init("domain",Q,Z)}}return T.init("assignability",U,X.hasKind("intersection")?X.children.find((Z)=>!Z.allows(U.unit)):X)})}});class kq extends L1{compiledValue=this.json.unit;serializedValue=typeof this.unit==="string"||this.unit instanceof Date?JSON.stringify(this.compiledValue):`${this.compiledValue}`;compiledCondition=gq(this.unit,this.serializedValue);compiledNegation=gq(this.unit,this.serializedValue,"negated");expression=E(this.unit);domain=r(this.unit);get defaultShortDescription(){return this.domain==="object"?Q0.object:this.description}innerToJsonSchema(U){return this.unit===null?{type:"null"}:O.intrinsic.jsonPrimitive.allows(this.unit)?{const:this.unit}:U.fallback.unit({code:"unit",base:{},unit:this.unit})}traverseAllows=this.unit instanceof Date?(U)=>U instanceof Date&&U.toISOString()===this.compiledValue:Number.isNaN(this.unit)?(U)=>Number.isNaN(U):(U)=>U===this.unit}var VU={implementation:C5,Node:kq},gq=(U,X,q)=>{if(U instanceof Date){let Z=`data instanceof Date && data.toISOString() === ${X}`;return q?`!(${Z})`:Z}if(Number.isNaN(U))return`${q?"!":""}Number.isNaN(data)`;return`data ${q?"!":"="}== ${X}`};var S5=b({kind:"index",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{signature:{child:!0,parse:(U,X)=>{let q=X.$.parseSchema(U);if(!q.extends(O.intrinsic.key))return F(b5(q.expression));let Z=q.branches.filter((Q)=>Q.hasKind("unit"));if(Z.length)return F(E5(Z.map((Q)=>E(Q.unit))));return q}},value:{child:!0,parse:(U,X)=>X.$.parseSchema(U)}},normalize:(U)=>U,defaults:{description:(U)=>`[${U.signature.expression}]: ${U.value.description}`},intersections:{index:(U,X,q)=>{if(U.signature.equals(X.signature)){let Z=u(U.value,X.value,q),Q=Z instanceof T?O.intrinsic.never.internal:Z;return q.$.node("index",{signature:U.signature,value:Q})}if(U.signature.extends(X.signature)&&U.value.subsumes(X.value))return X;if(X.signature.extends(U.signature)&&X.value.subsumes(U.value))return U;return null}}});class vq extends A0{impliedBasis=O.intrinsic.object.internal;expression=`[${this.signature.expression}]: ${this.value.expression}`;flatRefs=y(this.value.flatRefs.map((U)=>P0([this.signature,...U.path],U.node)),P0([this.signature],this.value));traverseAllows=(U,X)=>H1(U).every((q)=>{if(this.signature.traverseAllows(q[0],X))return J0(q[0],()=>this.value.traverseAllows(q[1],X),X);return!0});traverseApply=(U,X)=>{for(let q of H1(U))if(this.signature.traverseAllows(q[0],X))J0(q[0],()=>this.value.traverseApply(q[1],X),X)};_transform(U,X){X.path.push(this.signature);let q=super._transform(U,X);return X.path.pop(),q}compile(){}}var TU={implementation:S5,Node:vq},E5=(U)=>`Index keys ${U.join(", ")} should be specified as named props.`,b5=(U)=>`Indexed key definition '${U}' must be a string or symbol`;var j5=b({kind:"required",hasAssociatedError:!0,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(U,X)=>X.$.parseSchema(U)}},normalize:(U)=>U,defaults:{description:(U)=>`${U.compiledKey}: ${U.value.description}`,expected:(U)=>U.missingValueDescription,actual:()=>"missing"},intersections:{required:D2,optional:D2}});class xq extends M2{expression=`${this.compiledKey}: ${this.value.expression}`;errorContext=Object.freeze({code:"required",missingValueDescription:this.value.defaultShortDescription,relativePath:[this.key],meta:this.meta});compiledErrorContext=i0(this.errorContext)}var BU={implementation:j5,Node:xq};var f5=b({kind:"sequence",hasAssociatedError:!1,collapsibleKey:"variadic",keys:{prefix:{child:!0,parse:(U,X)=>{if(U.length===0)return;return U.map((q)=>X.$.parseSchema(q))}},optionals:{child:!0,parse:(U,X)=>{if(U.length===0)return;return U.map((q)=>X.$.parseSchema(q))}},defaultables:{child:(U)=>U.map((X)=>X[0]),parse:(U,X)=>{if(U.length===0)return;return U.map((q)=>{let Z=X.$.parseSchema(q[0]);return P2(Z,q[1],null),[Z,q[1]]})},serialize:(U)=>U.map((X)=>[X[0].collapsibleJson,F0(X[1])]),reduceIo:(U,X,q)=>{if(U==="in"){X.optionals=q.map((Z)=>Z[0].rawIn);return}X.prefix=q.map((Z)=>Z[0].rawOut);return}},variadic:{child:!0,parse:(U,X)=>X.$.parseSchema(U,X)},minVariadicLength:{parse:(U)=>U===0?void 0:U},postfix:{child:!0,parse:(U,X)=>{if(U.length===0)return;return U.map((q)=>X.$.parseSchema(q))}}},normalize:(U)=>{if(typeof U==="string")return{variadic:U};if("variadic"in U||"prefix"in U||"defaultables"in U||"optionals"in U||"postfix"in U||"minVariadicLength"in U){if(U.postfix?.length){if(!U.variadic)return F(v5);if(U.optionals?.length||U.defaultables?.length)return F(DU)}if(U.minVariadicLength&&!U.variadic)return F("minVariadicLength may not be specified without a variadic element");return U}return{variadic:U}},reduce:(U,X)=>{let q=U.minVariadicLength??0,Z=U.prefix?.slice()??[],Q=U.defaultables?.slice()??[],G=U.optionals?.slice()??[],Y=U.postfix?.slice()??[];if(U.variadic){while(G[G.length-1]?.equals(U.variadic))G.pop();if(G.length===0&&Q.length===0)while(Z[Z.length-1]?.equals(U.variadic))Z.pop(),q++;while(Y[0]?.equals(U.variadic))Y.shift(),q++}else if(G.length===0&&Q.length===0)Z.push(...Y.splice(0));if(q!==U.minVariadicLength||U.prefix&&U.prefix.length!==Z.length)return X.node("sequence",{...U,prefix:Z,defaultables:Q,optionals:G,postfix:Y,minVariadicLength:q},{prereduced:!0})},defaults:{description:(U)=>{if(U.isVariadicOnly)return`${U.variadic.nestableExpression}[]`;return`[${U.tuple.map((q)=>q.kind==="defaultables"?`${q.node.nestableExpression} = ${E(q.default)}`:q.kind==="optionals"?`${q.node.nestableExpression}?`:q.kind==="variadic"?`...${q.node.nestableExpression}[]`:q.node.expression).join(", ")}]`}},intersections:{sequence:(U,X,q)=>{let Z=C2({l:U.tuple,r:X.tuple,disjoint:new T,result:[],fixedVariants:[],ctx:q}),Q=Z.disjoint.length===0?[Z,...Z.fixedVariants]:Z.fixedVariants;return Q.length===0?Z.disjoint:Q.length===1?q.$.node("sequence",hq(Q[0].result)):q.$.node("union",Q.map((G)=>({proto:Array,sequence:hq(G.result)})))}}});class mq extends A0{impliedBasis=O.intrinsic.Array.internal;tuple=k5(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((U)=>{if(U.kind==="defaultables"||U.kind==="optionals")return this.defaultablesAndOptionals.push(U.node),!0;return U.kind==="prefix"});variadicOrPostfix=f0(this.variadic&&[this.variadic],this.postfix);flatRefs=this.addFlatRefs();addFlatRefs(){return o4(this.flatRefs,this.prevariadic.flatMap((U,X)=>y(U.node.flatRefs.map((q)=>P0([`${X}`,...q.path],q.node)),P0([`${X}`],U.node)))),o4(this.flatRefs,this.variadicOrPostfix.flatMap((U)=>y(U.flatRefs.map((X)=>P0([O.intrinsic.nonNegativeIntegerString.internal,...X.path],X.node)),P0([O.intrinsic.nonNegativeIntegerString.internal],U)))),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=g5(this);defaultValueMorphsReference=this.defaultValueMorphs.length?d(this.defaultValueMorphs):void 0;elementAtIndex(U,X){if(X<this.prevariadic.length)return this.tuple[X];let q=U.length-this.postfixLength;if(X>=q)return{kind:"postfix",node:this.postfix[X-q]};return{kind:"variadic",node:this.variadic??g(`Unexpected attempt to access index ${X} on ${this}`)}}traverseAllows=(U,X)=>{for(let q=0;q<U.length;q++)if(!this.elementAtIndex(U,q).node.traverseAllows(U[q],X))return!1;return!0};traverseApply=(U,X)=>{let q=0;for(;q<U.length;q++)J0(q,()=>this.elementAtIndex(U,q).node.traverseApply(U[q],X),X)};get element(){return this.cacheGetter("element",this.$.node("union",this.children))}compile(U){if(this.prefix)for(let[X,q]of this.prefix.entries())U.traverseKey(`${X}`,`data[${X}]`,q);for(let[X,q]of this.defaultablesAndOptionals.entries()){let Z=`${X+this.prefixLength}`;U.if(`${Z} >= data.length`,()=>U.traversalKind==="Allows"?U.return(!0):U.return()),U.traverseKey(Z,`data[${Z}]`,q)}if(this.variadic){if(this.postfix)U.const("firstPostfixIndex",`data.length${this.postfix?`- ${this.postfix.length}`:""}`);if(U.for(`i < ${this.postfix?"firstPostfixIndex":"data.length"}`,()=>U.traverseKey("i","data[i]",this.variadic),this.prevariadic.length),this.postfix)for(let[X,q]of this.postfix.entries()){let Z=`firstPostfixIndex + ${X}`;U.traverseKey(Z,`data[${Z}]`,q)}}if(U.traversalKind==="Allows")U.return(!0)}_transform(U,X){X.path.push(O.intrinsic.nonNegativeIntegerString.internal);let q=super._transform(U,X);return X.path.pop(),q}expression=this.description;reduceJsonSchema(U,X){let q=X.target==="draft-07";if(this.prevariadic.length){let Z=this.prevariadic.map((Q)=>{let G=Q.node.toJsonSchemaRecurse(X);if(Q.kind==="defaultables"){let Y=typeof Q.default==="function"?Q.default():Q.default;G.default=O.intrinsic.jsonData.allows(Y)?Y:X.fallback.defaultValue({code:"defaultValue",base:G,value:Y})}return G});if(q)U.items=Z;else U.prefixItems=Z}if(this.minLength)U.minItems=this.minLength;if(this.variadic){let Z=this.variadic.toJsonSchemaRecurse(X);if(q&&this.prevariadic.length)U.additionalItems=Z;else U.items=Z;if(this.maxLength)U.maxItems=this.maxLength;if(this.postfix){let Q=this.postfix.map((G)=>G.toJsonSchemaRecurse(X));U=X.fallback.arrayPostfix({code:"arrayPostfix",base:U,elements:Q})}}else{if(q)U.additionalItems=!1;else U.items=!1;delete U.maxItems}return U}}var y5={},g5=(U)=>{if(!U.defaultables)return[];let X=[],q="[",Z=U.prefixLength+U.defaultablesLength-1;for(let Q=U.prefixLength;Q<=Z;Q++){let[G,Y]=U.defaultables[Q-U.prefixLength];X.push(LU(Q,G,Y)),q+=`${Q}: ${G.id} = ${F0(Y)}, `}return q+="]",y5[q]??=X},RU={implementation:f5,Node:mq},k5=(U)=>{let X=[];if(U.prefix)for(let q of U.prefix)X.push({kind:"prefix",node:q});if(U.defaultables)for(let[q,Z]of U.defaultables)X.push({kind:"defaultables",node:q,default:Z});if(U.optionals)for(let q of U.optionals)X.push({kind:"optionals",node:q});if(U.variadic)X.push({kind:"variadic",node:U.variadic});if(U.postfix)for(let q of U.postfix)X.push({kind:"postfix",node:q});return X},hq=(U)=>U.reduce((X,q)=>{if(q.kind==="variadic")X.variadic=q.node;else if(q.kind==="defaultables")X.defaultables=y(X.defaultables,[[q.node,q.default]]);else X[q.kind]=y(X[q.kind],q.node);return X},{}),DU="A postfix required element cannot follow an optional or defaultable element",v5="A postfix element requires a variadic element",C2=(U)=>{let[X,...q]=U.l,[Z,...Q]=U.r;if(!X||!Z)return U;let G=q[q.length-1]?.kind==="postfix",Y=Q[Q.length-1]?.kind==="postfix",H=X.kind==="prefix"||Z.kind==="prefix"?"prefix":X.kind==="postfix"||Z.kind==="postfix"?"postfix":X.kind==="variadic"&&Z.kind==="variadic"?"variadic":G||Y?"prefix":X.kind==="defaultables"||Z.kind==="defaultables"?"defaultables":"optionals";if(X.kind==="prefix"&&Z.kind==="variadic"&&Y){let _=C2({...U,fixedVariants:[],r:Q.map((L)=>({...L,kind:"prefix"}))});if(_.disjoint.length===0)U.fixedVariants.push(_)}else if(Z.kind==="prefix"&&X.kind==="variadic"&&G){let _=C2({...U,fixedVariants:[],l:q.map((L)=>({...L,kind:"prefix"}))});if(_.disjoint.length===0)U.fixedVariants.push(_)}let J=u(X.node,Z.node,U.ctx);if(J instanceof T)if(H==="prefix"||H==="postfix")U.disjoint.push(...J.withPrefixKey(H==="prefix"?U.result.length:`-${q.length+1}`,uq(X)&&uq(Z)?"required":"optional")),U.result=[...U.result,{kind:H,node:O.intrinsic.never.internal}];else if(H==="optionals"||H==="defaultables")return U;else return C2({...U,fixedVariants:[],l:q.map((_)=>({..._,kind:"prefix"})),r:q.map((_)=>({..._,kind:"prefix"}))});else if(H==="defaultables"){if(X.kind==="defaultables"&&Z.kind==="defaultables"&&X.default!==Z.default)F($U(X.default,Z.default));U.result=[...U.result,{kind:H,node:J,default:X.kind==="defaultables"?X.default:Z.kind==="defaultables"?Z.default:g(`Unexpected defaultable intersection from ${X.kind} and ${Z.kind} elements.`)}]}else U.result=[...U.result,{kind:H,node:J}];let W=U.l.length,$=U.r.length;if(X.kind!=="variadic"||W>=$&&(Z.kind==="variadic"||$===1))U.l=q;if(Z.kind!=="variadic"||$>=W&&(X.kind==="variadic"||W===1))U.r=Q;return C2(U)},uq=(U)=>U.kind==="prefix"||U.kind==="postfix";var cq=(U)=>(X)=>{if(X.props.length||X.index){let q=X.index?.map((Q)=>Q[U])??[];for(let Q of X.props)q.push(Q[U]);if(X.undeclared)q.push(`+ (undeclared): ${X.undeclared}`);let Z=`{ ${q.join(", ")} }`;return X.sequence?`${Z} & ${X.sequence.description}`:Z}return X.sequence?.description??"{}"},x5=cq("description"),h5=cq("expression"),pq=(U,X,q)=>{let Z=U.required?"required":"optional";if(!X.signature.allows(U.key))return null;let Q=W0(U.value,X.value,q);if(Q instanceof T)return Z==="optional"?q.node("optional",{key:U.key,value:O.intrinsic.never.internal}):Q.withPrefixKey(U.key,U.kind);return null},u5=b({kind:"structure",hasAssociatedError:!1,normalize:(U)=>U,applyConfig:(U,X)=>{if(!U.undeclared&&X.onUndeclaredKey!=="ignore")return{...U,undeclared:X.onUndeclaredKey};return U},keys:{required:{child:!0,parse:U0("required"),reduceIo:(U,X,q)=>{X.required=y(X.required,q.map((Z)=>U==="in"?Z.rawIn:Z.rawOut));return}},optional:{child:!0,parse:U0("optional"),reduceIo:(U,X,q)=>{if(U==="in"){X.optional=q.map((Z)=>Z.rawIn);return}for(let Z of q)X[Z.outProp.kind]=y(X[Z.outProp.kind],Z.outProp.rawOut)}},index:{child:!0,parse:U0("index")},sequence:{child:!0,parse:U0("sequence")},undeclared:{parse:(U)=>U==="ignore"?void 0:U,reduceIo:(U,X,q)=>{if(q==="reject"){X.undeclared="reject";return}if(U==="in")delete X.undeclared;else X.undeclared="reject"}}},defaults:{description:x5},intersections:{structure:(U,X,q)=>{let Z={...U.inner},Q={...X.inner},G=new T;if(U.undeclared){let J=U.keyof();for(let W of X.requiredKeys)if(!J.allows(W))G.add("presence",O.intrinsic.never.internal,X.propsByKey[W].value,{path:[W]});if(Q.optional)Q.optional=Q.optional.filter((W)=>J.allows(W.key));if(Q.index)Q.index=Q.index.flatMap((W)=>{if(W.signature.extends(J))return W;let $=W0(J,W.signature,q.$);if($ instanceof T)return[];let _=M6($,W.value,q.$);if(_.required)Q.required=f0(Q.required,_.required);if(_.optional)Q.optional=f0(Q.optional,_.optional);return _.index??[]})}if(X.undeclared){let J=X.keyof();for(let W of U.requiredKeys)if(!J.allows(W))G.add("presence",U.propsByKey[W].value,O.intrinsic.never.internal,{path:[W]});if(Z.optional)Z.optional=Z.optional.filter((W)=>J.allows(W.key));if(Z.index)Z.index=Z.index.flatMap((W)=>{if(W.signature.extends(J))return W;let $=W0(J,W.signature,q.$);if($ instanceof T)return[];let _=M6($,W.value,q.$);if(_.required)Z.required=f0(Z.required,_.required);if(_.optional)Z.optional=f0(Z.optional,_.optional);return _.index??[]})}let Y={};if(U.undeclared||X.undeclared)Y.undeclared=U.undeclared==="reject"||X.undeclared==="reject"?"reject":"delete";let H=b1({kind:"structure",baseInner:Y,l:j1(Z),r:j1(Q),roots:[],ctx:q});if(H instanceof T)G.push(...H);if(G.length)return G;return H}},reduce:(U,X)=>{if(!U.required&&!U.optional)return;let q={},Z=!1,Q=U.optional?[...U.optional]:[];if(U.required)for(let G=0;G<U.required.length;G++){let Y=U.required[G];if(Y.key in q)F(dq(Y.key));if(q[Y.key]=!0,U.index)for(let H of U.index){let J=pq(Y,H,X);if(J instanceof T)return J}}if(U.optional)for(let G=0;G<U.optional.length;G++){let Y=U.optional[G];if(Y.key in q)F(dq(Y.key));if(q[Y.key]=!0,U.index)for(let H of U.index){let J=pq(Y,H,X);if(J instanceof T)return J;if(J!==null)Q[G]=J,Z=!0}}if(Z)return X.node("structure",{...U,optional:Q},{prereduced:!0})}});class iq extends A0{impliedBasis=O.intrinsic.object.internal;impliedSiblings=this.children.flatMap((U)=>U.impliedSiblings??[]);props=f0(this.required,this.optional);propsByKey=S(this.props,(U,X)=>[X.key,X]);propsByKeyReference=d(this.propsByKey);expression=h5(this);requiredKeys=this.required?.map((U)=>U.key)??[];optionalKeys=this.optional?.map((U)=>U.key)??[];literalKeys=[...this.requiredKeys,...this.optionalKeys];_keyof;keyof(){if(this._keyof)return this._keyof;let U=this.$.units(this.literalKeys).branches;if(this.index)for(let{signature:X}of this.index)U=U.concat(X.branches);return this._keyof=this.$.node("union",U)}map(U){return this.$.node("structure",this.props.flatMap(U).reduce((X,q)=>{let Z=this.propsByKey[q.key];if(h(q)){if(q.kind!=="required"&&q.kind!=="optional")return F(`Map result must have kind "required" or "optional" (was ${q.kind})`);return X[q.kind]=y(X[q.kind],q),X}let Q=q.kind??Z?.kind??"required",G=S(q,(Y,H)=>(Y in w2.implementation.keys)?[Y,H]:[]);return X[Q]=y(X[Q],this.$.node(Q,G)),X},{}))}assertHasKeys(U){let X=U.filter((q)=>!I2(q,this.keyof()));if(X.length)return F(lq(this.expression,X))}get(U,...X){let q,Z=!1,Q=d5(U);if((typeof Q==="string"||typeof Q==="symbol")&&this.propsByKey[Q])q=this.propsByKey[Q].value,Z=this.propsByKey[Q].required;if(this.index){for(let Y of this.index)if(I2(Q,Y.signature))q=q?.and(Y.value)??Y.value}if(this.sequence&&I2(Q,O.intrinsic.nonNegativeIntegerString))if(M(Q,"root")){if(this.sequence.variadic)q=q?.and(this.sequence.element)??this.sequence.element}else{let Y=Number.parseInt(Q);if(Y<this.sequence.prevariadic.length){let H=this.sequence.prevariadic[Y].node;q=q?.and(H)??H,Z||=Y<this.sequence.prefixLength}else if(this.sequence.variadic){let H=this.$.node("union",this.sequence.variadicOrPostfix);q=q?.and(H)??H}}if(!q){if(this.sequence?.variadic&&M(Q,"root")&&Q.extends(O.intrinsic.number))return F(c5(Q.expression,this.sequence.expression));return F(lq(this.expression,[Q]))}let G=q.get(...X);return Z?G:G.or(O.intrinsic.undefined)}pick(...U){return this.assertHasKeys(U),this.$.node("structure",this.filterKeys("pick",U))}omit(...U){return this.assertHasKeys(U),this.$.node("structure",this.filterKeys("omit",U))}optionalize(){let{required:U,...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:U,...X}=this.inner;return this.$.node("structure",{...X,required:this.props.map((q)=>q.hasKind("optional")?{key:q.key,value:q.value}:q)})}merge(U){let X=this.filterKeys("omit",[U.keyof()]);if(U.required)X.required=y(X.required,U.required);if(U.optional)X.optional=y(X.optional,U.optional);if(U.index)X.index=y(X.index,U.index);if(U.sequence)X.sequence=U.sequence;if(U.undeclared)X.undeclared=U.undeclared;else delete X.undeclared;return this.$.node("structure",X)}filterKeys(U,X){let q=$6(this.inner),Z=(Q)=>{let G=X.some((Y)=>I2(Q,Y));return U==="pick"?G:!G};if(q.required)q.required=q.required.filter((Q)=>Z(Q.key));if(q.optional)q.optional=q.optional.filter((Q)=>Z(Q.key));if(q.index)q.index=q.index.filter((Q)=>Z(Q.signature));return q}traverseAllows=(U,X)=>this._traverse("Allows",U,X);traverseApply=(U,X)=>this._traverse("Apply",U,X);_traverse=(U,X,q)=>{let Z=q?.currentErrorCount??0;for(let Q=0;Q<this.props.length;Q++)if(U==="Allows"){if(!this.props[Q].traverseAllows(X,q))return!1}else if(this.props[Q].traverseApply(X,q),q.failFast&&q.currentErrorCount>Z)return!1;if(this.sequence){if(U==="Allows"){if(!this.sequence.traverseAllows(X,q))return!1}else if(this.sequence.traverseApply(X,q),q.failFast&&q.currentErrorCount>Z)return!1}if(this.index||this.undeclared==="reject"){let Q=Object.keys(X);Q.push(...Object.getOwnPropertySymbols(X));for(let G=0;G<Q.length;G++){let Y=Q[G];if(this.index){for(let H of this.index)if(H.signature.traverseAllows(Y,q)){if(U==="Allows"){if(!J0(Y,()=>H.value.traverseAllows(X[Y],q),q))return!1}else if(J0(Y,()=>H.value.traverseApply(X[Y],q),q),q.failFast&&q.currentErrorCount>Z)return!1}}if(this.undeclared==="reject"&&!this.declaresKey(Y)){if(U==="Allows")return!1;if(q.errorFromNodeContext({code:"predicate",expected:"removed",actual:"",relativePath:[Y],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((U)=>U.hasDefault())??[])}declaresKey=(U)=>(U in this.propsByKey)||this.index?.some((X)=>X.signature.allows(U))||this.sequence!==void 0&&O.intrinsic.nonNegativeIntegerString.allows(U);_compileDeclaresKey(U){let X=[];if(this.props.length)X.push(`k in ${this.propsByKeyReference}`);if(this.index)for(let q of this.index)X.push(U.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",p5(this))}structuralMorphRef=this.structuralMorph&&d(this.structuralMorph);compile(U){if(U.traversalKind==="Apply")U.initializeErrorCount();for(let X of this.props)if(U.check(X),U.traversalKind==="Apply")U.returnIfFailFast();if(this.sequence){if(U.check(this.sequence),U.traversalKind==="Apply")U.returnIfFailFast()}if(this.index||this.undeclared==="reject")U.const("keys","Object.keys(data)"),U.line("keys.push(...Object.getOwnPropertySymbols(data))"),U.for("i < keys.length",()=>this.compileExhaustiveEntry(U));if(U.traversalKind==="Allows")return U.return(!0);if(this.structuralMorphRef)U.if("ctx && !ctx.hasError()",()=>{return U.line("ctx.queueMorphs(["),l5(U,this),U.line("])")})}compileExhaustiveEntry(U){if(U.const("k","keys[i]"),this.index)for(let X of this.index)U.if(`${U.invoke(X.signature,{arg:"k",kind:"Allows"})}`,()=>U.traverseKey("k","data[k]",X.value));if(this.undeclared==="reject")U.if(`!(${this._compileDeclaresKey(U)})`,()=>{if(U.traversalKind==="Allows")return U.return(!1);return U.line(`ctx.errorFromNodeContext({ code: "predicate", expected: "removed", actual: "", relativePath: [k], meta: ${this.compiledMeta} })`).if("ctx.failFast",()=>U.return())});return U}reduceJsonSchema(U,X){switch(U.type){case"object":return this.reduceObjectJsonSchema(U,X);case"array":let q=this.sequence?.reduceJsonSchema(U,X)??U;if(this.props.length||this.index)return X.fallback.arrayObject({code:"arrayObject",base:q,object:this.reduceObjectJsonSchema({type:"object"},X)});return q;default:return p.throwInternalOperandError("structure",U)}}reduceObjectJsonSchema(U,X){if(this.props.length){U.properties={};for(let q of this.props){let Z=q.value.toJsonSchemaRecurse(X);if(typeof q.key==="symbol"){X.fallback.symbolKey({code:"symbolKey",base:U,key:q.key,value:Z,optional:q.optional});continue}if(q.hasDefault()){let Q=typeof q.default==="function"?q.default():q.default;Z.default=O.intrinsic.jsonData.allows(Q)?Q:X.fallback.defaultValue({code:"defaultValue",base:Z,value:Q})}U.properties[q.key]=Z}if(this.requiredKeys.length&&U.properties)U.required=this.requiredKeys.filter((q)=>typeof q==="string"&&(q in U.properties))}if(this.index)for(let q of this.index){let Z=q.value.toJsonSchemaRecurse(X);if(q.signature.equals(O.intrinsic.string)){U.additionalProperties=Z;continue}for(let Q of q.signature.branches){if(!Q.extends(O.intrinsic.string)){U=X.fallback.symbolKey({code:"symbolKey",base:U,key:null,value:Z,optional:!1});continue}let G={type:"string"};if(Q.hasKind("morph"))G=X.fallback.morph({code:"morph",base:Q.rawIn.toJsonSchemaRecurse(X),out:Q.rawOut.toJsonSchemaRecurse(X)});if(!Q.hasKind("intersection"))return g(`Unexpected index branch kind ${Q.kind}.`);let{pattern:Y}=Q.inner;if(Y){let H=Object.assign(G,{pattern:Y[0].rule});for(let J=1;J<Y.length;J++)G=X.fallback.patternIntersection({code:"patternIntersection",base:H,pattern:Y[J].rule});U.patternProperties??={},U.patternProperties[H.pattern]=Z}}}if(this.undeclared&&!U.additionalProperties)U.additionalProperties=!1;return U}}var MU={},m5=(U)=>{let X="";for(let q=0;q<U.defaultable.length;q++)X+=U.defaultable[q].defaultValueMorphRef;if(U.sequence?.defaultValueMorphsReference)X+=U.sequence?.defaultValueMorphsReference;if(U.undeclared==="delete"){if(X+="delete !(",U.required)for(let q of U.required)X+=q.compiledKey+" | ";if(U.optional)for(let q of U.optional)X+=q.compiledKey+" | ";if(U.index)for(let q of U.index)X+=q.signature.id+" | ";if(U.sequence)if(U.sequence.maxLength===null)X+=I.nonNegativeIntegerString.id;else for(let q=0;q<U.sequence.tuple.length;q++)X+=q+" | ";X+=")"}return X},p5=(U)=>{let X=m5(U);if(!X)return;if(MU[X])return MU[X];let q=(Z,Q)=>{for(let G=0;G<U.defaultable.length;G++)if(!(U.defaultable[G].key in Z))U.defaultable[G].defaultValueMorph(Z,Q);if(U.sequence?.defaultables)for(let G=Z.length-U.sequence.prefixLength;G<U.sequence.defaultables.length;G++)U.sequence.defaultValueMorphs[G](Z,Q);if(U.undeclared==="delete"){for(let G in Z)if(!U.declaresKey(G))delete Z[G]}return Z};return MU[X]=q},l5=(U,X)=>{let Z=`(data${X.defaultable.some((Q)=>Q.defaultValueMorph.length===2)||X.sequence?.defaultValueMorphs.some((Q)=>Q.length===2)?", ctx":""})`;return U.block(`${Z} => `,(Q)=>{for(let G=0;G<X.defaultable.length;G++){let{serializedKey:Y,defaultValueMorphRef:H}=X.defaultable[G];Q.if(`!(${Y} in data)`,(J)=>J.line(`${H}${Z}`))}if(X.sequence?.defaultables)Q.for(`i < ${X.sequence.defaultables.length}`,(G)=>G.set("data[i]",5),`data.length - ${X.sequence.prefixLength}`);if(X.undeclared==="delete")Q.forIn("data",(G)=>G.if(`!(${X._compileDeclaresKey(G)})`,(Y)=>Y.line("delete data[k]")));return Q.return("data")})},wU={implementation:u5,Node:iq},d5=(U)=>{if(M(U,"root")&&U.hasKind("unit"))U=U.unit;if(typeof U==="number")U=`${U}`;return U},c5=(U,X)=>`${U} is not allowed as an array index on ${X}. Use the 'nonNegativeIntegerString' keyword instead.`,M6=(U,X,q)=>{let[Z,Q]=JX(U.branches,(Y)=>Y.hasKind("unit"));if(!Z.length)return{index:q.node("index",{signature:U,value:X})};let G={};for(let Y of Z){let H=q.node("required",{key:Y.unit,value:X});G[H.kind]=y(G[H.kind],H)}if(Q.length)G.index=q.node("index",{signature:Q,value:X});return G},i5=(U)=>M(U,"root")?U.expression:E(U),lq=(U,X)=>`Key${X.length===1?"":"s"} ${X.map(i5).join(", ")} ${X.length===1?"does":"do"} not exist on ${U}`,dq=(U)=>`Duplicate key ${M0(U)}`;var y1={...Lq,alias:K2.implementation,domain:D6.implementation,unit:VU.implementation,proto:N2.implementation,union:OU.implementation,morph:FU.implementation,intersection:zU.implementation,divisor:e4.implementation,pattern:HU.implementation,predicate:t4.implementation,required:BU.implementation,optional:w2.implementation,index:TU.implementation,sequence:RU.implementation,structure:wU.implementation};O.defaultConfig=VX(Object.assign(S(y1,(U,X)=>[U,X.defaults]),{jitless:wX(),clone:RX,onUndeclaredKey:"ignore",exactOptionalPropertyTypes:!0,numberAllowsNaN:!1,dateAllowsInvalid:!1,onFail:null,keywords:{},toJsonSchema:p.defaultConfig}));O.resolvedConfig=O2(O.defaultConfig,O.config);var Tq={...zq,alias:K2.Node,domain:D6.Node,unit:VU.Node,proto:N2.Node,union:OU.Node,morph:FU.Node,intersection:zU.Node,divisor:e4.Node,pattern:HU.Node,predicate:t4.Node,required:BU.Node,optional:w2.Node,index:TU.Node,sequence:RU.Node,structure:wU.Node};class v1 extends f4{get[X0](){return"module"}}var PU=(U,X)=>new v1(S(U,(q,Z)=>[q,M(Z,"module")?PU(Z,X):X.bindReference(Z)]));var s5=(U)=>x(U)?U:("branches"in U)&&x(U.branches)?U.branches:void 0,o5=(U,X)=>F(`Node of kind ${X} is not valid as a ${U} definition`),sq=(U)=>`#${U} duplicates public alias ${U}`,IU={};O.ambient??={};var oq,aq="function $",r5=(U)=>nq(U,tq(U)),nq=(U,X)=>{let q=X.write(aq,4),Z=X.compile()();for(let Q of U){if(Q.precompilation)continue;if(Q.traverseAllows=Z[`${Q.id}Allows`].bind(Z),Q.isRoot()&&!Q.allowsRequiresContext)Q.allows=Q.traverseAllows;if(Q.traverseApply=Z[`${Q.id}Apply`].bind(Z),Z[`${Q.id}Optimistic`])Q.traverseOptimistic=Z[`${Q.id}Optimistic`].bind(Z);Q.precompilation=q}},tq=(U)=>new _6().return(U.reduce((X,q)=>{let Z=new A2({kind:"Allows"}).indent();q.compile(Z);let Q=Z.write(`${q.id}Allows`),G=new A2({kind:"Apply"}).indent();q.compile(G);let Y=G.write(`${q.id}Apply`),H=`${X}${Q},
|
|
180
180
|
${Y},
|
|
181
|
-
`;if(!q.hasKind("union"))return H;let J=new
|
|
181
|
+
`;if(!q.hasKind("union"))return H;let J=new A2({kind:"Allows",optimistic:!0}).indent();q.compile(J);let W=J.write(`${q.id}Optimistic`);return`${H}${W},
|
|
182
182
|
`},`{
|
|
183
|
-
`)+"}");class B6{config;resolvedConfig;name;get[X0](){return"scope"}referencesById={};references=[];resolutions={};exportedNames=[];aliases={};resolved=!1;nodesByHash={};intrinsic;constructor(U,X){if(this.config=_2(T.config,X),this.resolvedConfig=_2(T.resolvedConfig,X),this.name=this.resolvedConfig.name??`anonymousScope${Object.keys(B4).length}`,this.name in B4)F(`A Scope already named ${this.name} already exists`);B4[this.name]=this;let q=Object.entries(U).map((Z)=>this.preparseOwnAliasEntry(...Z));for(let[Z,Q]of q){let G=Z;if(Z[0]==="#"){if(G=Z.slice(1),G in this.aliases)F(uq(G));this.aliases[G]=Q}else{if(G in this.aliases)F(uq(Z));this.aliases[G]=Q,this.exportedNames.push(G)}if(!M(Q,"module")&&!M(Q,"generic")&&!l0(Q)){let Y=this.preparseOwnDefinitionFormat(Q,{alias:G});this.resolutions[G]=M(Y,"root")?this.bindReference(Y):this.createParseContext(Y).id}}mq??=this.node("union",{branches:["string","number","object","bigint","symbol",{unit:!0},{unit:!1},{unit:void 0},{unit:null}]},{prereduced:!0}),this.nodesByHash[mq.hash]=this.node("intersection",{},{prereduced:!0}),this.intrinsic=T.intrinsic?S(T.intrinsic,(Z,Q)=>Z.startsWith("json")?[]:[Z,this.bindReference(Q)]):{}}cacheGetter(U,X){return Object.defineProperty(this,U,{value:X}),X}get internal(){return this}_json;get json(){if(!this._json)this.export();return this._json}defineSchema(U){return U}generic=(...U)=>{let X=this;return(q,Z)=>new s0(U,Z?new _6(q):q,X,X,Z??null)};units=(U,X)=>{let q=[];for(let Q of U)if(!q.includes(Q))q.push(Q);let Z=q.map((Q)=>this.node("unit",{unit:Q},X));return this.node("union",Z,{...X,prereduced:!0})};lazyResolutions=[];lazilyResolve(U,X){let q=this.node("alias",{reference:X??"synthetic",resolve:U},{prereduced:!0});if(!this.resolved)this.lazyResolutions.push(q);return q}schema=(U,X)=>this.finalize(this.parseSchema(U,X));parseSchema=(U,X)=>this.node(A2(U),U,X);preparseNode(U,X,q){let Z=typeof U==="string"?U:A2(X,U);if(h(X)&&X.kind===Z)return X;if(Z==="alias"&&!q?.prereduced){let{reference:Y}=D2.implementation.normalize(X,this);if(Y.startsWith("$")){let H=this.resolveRoot(Y.slice(1));X=H,Z=H.kind}}else if(Z==="union"&&Q0(X,"object")){let Y=m5(X);if(Y?.length===1)X=Y[0],Z=A2(X)}if(h(X)&&X.kind===Z)return X;let G=f1[Z].normalize?.(X,this)??X;if(h(G))return G.kind===Z?G:p5(Z,G.kind);return{...q,$:this,kind:Z,def:G,prefix:q.alias??Z}}bindReference(U){let X;if(h(U))X=U.$===this?U:new U.constructor(U.attachments,this);else X=U.$===this?U:new s0(U.params,U.bodyDef,U.$,this,U.hkt);if(!this.resolved)Object.assign(this.referencesById,X.referencesById);return X}resolveRoot(U){return this.maybeResolveRoot(U)??F(M4(U))}maybeResolveRoot(U){let X=this.maybeResolve(U);if(M(X,"generic"))return;return X}maybeResolveSubalias(U){return R4(this.aliases,U)??R4(this.ambient,U)}get ambient(){return T.ambient}maybeResolve(U){let X=this.resolutions[U];if(X){if(typeof X!=="string")return this.bindReference(X);let Z=q0[X];if(M(Z,"root"))return this.resolutions[U]=Z;if(M(Z,"context")){if(Z.phase==="resolving")return this.node("alias",{reference:`$${U}`},{prereduced:!0});if(Z.phase==="resolved")return y(`Unexpected resolved context for was uncached by its scope: ${E(Z)}`);Z.phase="resolving";let Q=this.bindReference(this.parseOwnDefinitionFormat(Z.def,Z));return Z.phase="resolved",q0[Q.id]=Q,q0[Z.id]=Q,this.resolutions[U]=Q}return y(`Unexpected nodesById entry for ${X}: ${E(Z)}`)}let q=this.aliases[U]??this.ambient?.[U];if(!q)return this.maybeResolveSubalias(U);if(q=this.normalizeRootScopeValue(q),M(q,"generic"))return this.resolutions[U]=this.bindReference(q);if(M(q,"module")){if(!q.root)F(sq(U));return this.resolutions[U]=this.bindReference(q.root)}return this.resolutions[U]=this.parse(q,{alias:U})}createParseContext(U){let X=U.id??q4(U.prefix);return q0[X]=Object.assign(U,{[X0]:"context",$:this,id:X,phase:"unresolved"})}traversal(U){return new M0(U,this.resolvedConfig)}import(...U){return new k1(S(this.export(...U),(X,q)=>[`#${X}`,q]))}precompilation;_exportedResolutions;_exports;export(...U){if(!this._exports){this._exports={};for(let q of this.exportedNames){let Z=this.aliases[q];this._exports[q]=M(Z,"module")?V4(Z,this):pq(this.maybeResolve(q))}for(let q of this.lazyResolutions)q.resolution;if(this._exportedResolutions=oq(this,this._exports),this._json=iq(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(lq,4),dq(this.references,q)}this.resolved=!0}let X=U.length?U:this.exportedNames;return new k1(S(X,(q,Z)=>[Z,this._exports[Z]]))}resolve(U){return this.export()[U]}node=(U,X,q={})=>{let Z=this.preparseNode(U,X,q);if(h(Z))return this.bindReference(Z);let Q=this.createParseContext(Z),G=Z4(Q),Y=this.bindReference(G);return q0[Q.id]=Y};parse=(U,X={})=>this.finalize(this.parseDefinition(U,X));parseDefinition(U,X={}){if(M(U,"root"))return this.bindReference(U);let q=this.preparseOwnDefinitionFormat(U,X);if(M(q,"root"))return this.bindReference(q);let Z=this.createParseContext(q);q0[Z.id]=Z;let Q=this.bindReference(this.parseOwnDefinitionFormat(U,Z));if(Q.isCyclic)Q=Lq(Q,Z.id);return q0[Z.id]=Q,Q}finalize(U){if(pq(U),!U.precompilation&&!this.resolvedConfig.jitless)l5(U.references);return U}}class D4 extends B6{parseOwnDefinitionFormat(U,X){return Z4(X)}preparseOwnDefinitionFormat(U,X){return this.preparseNode(A2(U),U,X)}preparseOwnAliasEntry(U,X){return[U,X]}normalizeRootScopeValue(U){return U}}var pq=(U)=>{let X=U.references.filter((q)=>q.hasKind("alias"));for(let q of X){Object.assign(q.referencesById,q.resolution.referencesById);for(let Z of U.references)if(q.id in Z.referencesById)Object.assign(Z.referencesById,q.referencesById)}return U},iq=(U)=>S(U,(X,q)=>[X,M(q,"root")||M(q,"generic")?q.json:M(q,"module")?iq(q):y(`Unexpected resolution ${E(q)}`)]),R4=(U,X)=>{let q=X.indexOf(".");if(q===-1)return;let Z=X.slice(0,q),Q=U[Z];if(Q===void 0)return;if(!M(Q,"module"))return F(d5(Z));let G=X.slice(q+1),Y=Q[G];if(Y===void 0)return R4(Q,G);if(M(Y,"root")||M(Y,"generic"))return Y;if(M(Y,"module"))return Y.root??F(sq(X));y(`Unexpected resolution for alias '${X}': ${E(Y)}`)},R6=(U,X)=>new D4(U,X),P2=new D4({});var oq=(U,X)=>{let q={};for(let Z in X){let Q=X[Z];if(M(Q,"module")){let G=oq(U,Q),Y=S(G,(H,J)=>[`${Z}.${H}`,J]);Object.assign(q,Y)}else if(M(Q,"root")||M(Q,"generic"))q[Z]=Q;else y(`Unexpected scope resolution ${E(Q)}`)}return q},M4=(U)=>`'${U}' is unresolvable`,d5=(U)=>`'${U}' must reference a module to be accessed using dot syntax`,sq=(U)=>`Reference to submodule '${U}' must specify an alias`;P2.export();var{schema:v,node:v1,defineSchema:Ww,generic:O0}=P2;var w4="^(?:0|[1-9]\\d*)$",c5=new RegExp(w4),$w=d(c5);var rq=R6({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={...rq};var nq=R6({integer:{domain:"number",divisor:1},lengthBoundable:["string",Array],key:["string","symbol"],nonNegativeIntegerString:{domain:"string",pattern:w4}},{prereducedAliases:!0}).export();Object.assign(T.intrinsic,nq);var i5=R6({jsonPrimitive:["string","number",{unit:!0},{unit:!1},{unit:null}],jsonObject:{domain:"object",index:{signature:"string",value:"$jsonData"}},jsonData:["$jsonPrimitive","$jsonObject"]},{prereducedAliases:!0}).export(),I={...rq,...nq,...i5,emptyStructure:v1("structure",{},{prereduced:!0})};T.intrinsic={...I};var D6=(U,X)=>new RegExp(U,X);Object.assign(D6,{as:D6});var tq=(U)=>typeof U==="string"&&U[0]==="d"&&(U[1]==="'"||U[1]==='"')&&U[U.length-1]===U[1],aq=(U)=>U.toString()!=="Invalid Date",eq=(U)=>U.slice(2,-1),P4=(U)=>`'${U}' could not be parsed by the Date constructor`,UZ=(U,X)=>o5(U,X),o5=(U,X)=>{let q=new Date(U);if(aq(q))return q;let Z=KX(U);if(Z!==void 0){let Q=new Date(Z);if(aq(Q))return Q}return X?F(X===!0?P4(U):X):void 0};var s5=v({proto:"Array",sequence:"string",required:{key:"groups",value:["object",{unit:void 0}]}}),M6=(U,X)=>{let q=U.scanner.shiftUntilEscapable(n5[ZZ[X]]);if(U.scanner.lookahead==="")return U.error(t5(q,X));if(U.scanner.shift(),X in qZ){let Z;try{Z=new RegExp(q)}catch(Q){F(String(Q))}if(U.root=U.ctx.$.node("intersection",{domain:"string",pattern:q},{prereduced:!0}),X==="x/")U.root=U.ctx.$.node("morph",{in:U.root,morphs:(Q)=>Z.exec(Q),declaredOut:s5})}else if(n(X,I4))U.root=U.ctx.$.node("unit",{unit:q});else{let Z=UZ(q,P4(q));U.root=U.ctx.$.node("unit",{meta:q,unit:Z})}},I4={"'":1,'"':1},XZ={"/":1,"'":1,'"':1},r5={"d'":"'",'d"':'"',"'":"'",'"':'"'},qZ={"/":"/","x/":"/"},ZZ={...r5,...qZ},n5={"'":(U)=>U.lookahead==="'",'"':(U)=>U.lookahead==='"',"/":(U)=>U.lookahead==="/"},a5={'"':"double-quote","'":"single-quote","/":"forward slash"},t5=(U,X)=>`${X}${U} requires a closing ${a5[ZZ[X]]}`;var QZ=(U)=>`Private type references should not include '#'. Use '${U}' instead.`,w6="Optional definitions like 'string?' are only valid as properties in an object or tuple",P6="Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple";var E0={"<":1,">":1,"=":1,"|":1,"&":1,")":1,"[":1,"%":1,",":1,":":1,"?":1,"#":1,...d0};var GZ=(U,X)=>U===">"?X[0]==="="?X[1]==="=":X.trimStart()===""||n(X.trimStart()[0],E0):U==="="?X[0]!=="=":U===","||U==="?";var YZ=(U,X,q)=>HZ(U,X,q,[]),HZ=(U,X,q,Z)=>{let Q=q.parseUntilFinalizer();if(Z.push(Q.root),Q.finalizer===">"){if(Z.length!==X.params.length)return q.error(K4(U,X.names,Z.map((G)=>G.expression)));return Z}if(Q.finalizer===",")return HZ(U,X,q,Z);return Q.error(G6(">"))},K4=(U,X,q)=>`${U}<${X.join(", ")}> requires exactly ${X.length} args (got ${q.length}${q.length===0?"":`: ${q.join(", ")}`})`;var I6=(U)=>{let X=U.scanner.shiftUntilLookahead(E0);if(X==="keyof")U.addPrefix("keyof");else U.root=UY(U,X)},e5=(U,X,q)=>{if(q.scanner.shiftUntilNonWhitespace(),q.scanner.shift()!=="<")return q.error(K4(U,X.names,[]));let Q=YZ(U,X,q);return X(...Q)},UY=(U,X)=>XY(U,X)??qY(U,X)??U.error(X===""?U.scanner.lookahead==="#"?QZ(U.shiftedBy(1).scanner.shiftUntilLookahead(E0)):N4(U):M4(X)),XY=(U,X)=>{if(U.ctx.args?.[X]){let Z=U.ctx.args[X];if(typeof Z!=="string")return Z;return U.ctx.$.node("alias",{reference:Z},{prereduced:!0})}let q=U.ctx.$.maybeResolve(X);if(M(q,"root"))return q;if(q===void 0)return;if(M(q,"generic"))return e5(X,q,U);return F(`Unexpected resolution ${E(q)}`)},qY=(U,X)=>{let q=NX(X);if(q!==void 0)return U.ctx.$.node("unit",{unit:q});let Z=SX(X);if(Z!==void 0)return U.ctx.$.node("unit",{unit:Z})},N4=(U)=>{let X=U.previousOperator();return X?C4(X,U.scanner.unscanned):ZY(U.scanner.unscanned)},C4=(U,X="")=>`Token '${U}' requires a right operand${X?` before '${X}'`:""}`,ZY=(U)=>`Expected an expression${U?` before '${U}'`:""}`;var S4=(U)=>U.scanner.lookahead===""?U.error(N4(U)):U.scanner.lookahead==="("?U.shiftedBy(1).reduceGroupOpen():U.scanner.lookaheadIsIn(XZ)?M6(U,U.scanner.shift()):U.scanner.lookaheadIsIn(d0)?S4(U.shiftedBy(1)):U.scanner.lookahead==="d"?U.scanner.nextLookahead in I4?M6(U,`${U.scanner.shift()}${U.scanner.shift()}`):I6(U):U.scanner.lookahead==="x"?U.scanner.nextLookahead==="/"?U.shiftedBy(2)&&M6(U,"x/"):I6(U):I6(U);var JZ={">":!0,">=":!0},WZ={"<":!0,"<=":!0};var x1={"<":">",">":"<","<=":">=",">=":"<=","==":"=="},LZ=(U,X)=>`Left bounds are only valid when paired with right bounds (try ...${X}${U})`,K6=(U)=>`Left-bounded expressions must specify their limits using < or <= (was ${U})`,_Z=(U,X,q,Z)=>`An expression may have at most one left bound (parsed ${U}${x1[X]}, ${q}${x1[Z]})`;var zZ=(U,X)=>{let q=QY(U,X);if(U.root.hasKind("unit")){if(typeof U.root.unit==="number"){U.reduceLeftBound(U.root.unit,q),U.unsetRoot();return}if(U.root.unit instanceof Date){let Z=`d'${U.root.description??U.root.unit.toISOString()}'`;U.unsetRoot(),U.reduceLeftBound(Z,q);return}}return YY(U,q)},FZ={"<":1,">":1,"=":1},QY=(U,X)=>U.scanner.lookaheadIs("=")?`${X}${U.scanner.shift()}`:X;var $Z=(U,X,q,Z)=>{if(q.extends(T.intrinsic.number)){if(typeof X!=="number")return F(E4(U,X,Z));return U==="=="?["min","max"]:U[0]===">"?["min"]:["max"]}if(q.extends(T.intrinsic.lengthBoundable)){if(typeof X!=="number")return F(E4(U,X,Z));return U==="=="?["exactLength"]:U[0]===">"?["minLength"]:["maxLength"]}if(q.extends(T.intrinsic.Date))return U==="=="?["after","before"]:U[0]===">"?["after"]:["before"];return F(aX(q.expression))},GY=(U)=>({rule:tq(U.limit)?eq(U.limit):U.limit,exclusive:U.comparator.length===1}),YY=(U,X)=>{let q=U.unsetRoot(),Z=U.scanner.location;U.parseOperand();let Q=U.unsetRoot(),G=U.scanner.sliceChars(Z,U.scanner.location);if(U.root=q,!Q.hasKind("unit")||typeof Q.unit!=="number"&&!(Q.unit instanceof Date))return U.error(E4(X,G,"right"));let Y=Q.unit,H=X.length===1,J=$Z(X,typeof Y==="number"?Y:G,q,"right");for(let _ of J)U.constrainRoot(_,X==="=="?{rule:Y}:{rule:Y,exclusive:H});if(!U.branches.leftBound)return;if(!n(X,WZ))return U.error(K6(X));let W=$Z(U.branches.leftBound.comparator,U.branches.leftBound.limit,q,"left");U.constrainRoot(W[0],GY(U.branches.leftBound)),U.branches.leftBound=null},E4=(U,X,q)=>`Comparator ${q==="left"?x1[U]:U} must be ${q==="left"?"preceded":"followed"} by a corresponding literal (was ${X})`;var AZ=(U)=>{U.scanner.shiftUntilNonWhitespace();let X=U.scanner.shiftUntilLookahead(E0);U.root=U.root.brand(X)};var OZ=(U)=>{U.scanner.shiftUntilNonWhitespace();let X=U.scanner.shiftUntilLookahead(E0),q=CX(X,{errorOnFail:TZ(X)});if(q===0)U.error(TZ(0));U.root=U.root.constrain("divisor",q)},TZ=(U)=>`% operator must be followed by a non-zero integer literal (was ${U})`;var b4=(U)=>{let X=U.scanner.shift();return X===""?U.finalize(""):X==="["?U.scanner.shift()==="]"?U.setRoot(U.root.array()):U.error(HY):X==="|"?U.scanner.lookahead===">"?U.shiftedBy(1).pushRootToBranch("|>"):U.pushRootToBranch(X):X==="&"?U.pushRootToBranch(X):X===")"?U.finalizeGroup():GZ(X,U.scanner.unscanned)?U.finalize(X):n(X,FZ)?zZ(U,X):X==="%"?OZ(U):X==="#"?AZ(U):(X in d0)?b4(U):U.error(N6(X))},N6=(U,X="")=>`'${U}' is not allowed here${X&&` (should be ${X})`}`,HY="Missing expected ']'";var VZ=(U)=>{let X=U.unsetRoot();U.parseOperand();let q=U.unsetRoot();if(!q.hasKind("unit"))return U.error(JY(q.expression));let Z=q.unit instanceof Date?()=>new Date(q.unit):q.unit;return[X,"=",Z]},JY=(U)=>`Default value '${U}' must be a literal value`;var j4=(U,X)=>{let q=X.$.maybeResolveRoot(U);if(q)return q;if(U.endsWith("[]")){let G=X.$.maybeResolveRoot(U.slice(0,-2));if(G)return G.array()}let Z=new h1(new W2(U),X),Q=WY(Z);if(Z.finalizer===">")F(N6(">"));return Q},WY=(U)=>{U.parseOperand();let X=I2(U).root;if(!X)return y(`Root was unexpectedly unset after parsing string '${U.scanner.scanned}'`);if(U.finalizer==="=")X=VZ(U);else if(U.finalizer==="?")X=[X,"?"];if(U.scanner.shiftUntilNonWhitespace(),U.scanner.lookahead)F(N6(U.scanner.lookahead));return X},I2=(U)=>{while(U.finalizer===void 0)LY(U);return U},LY=(U)=>U.hasRoot()?U.parseOperator():U.parseOperand();class h1{root;branches={prefixes:[],leftBound:null,intersection:null,union:null,pipe:null};finalizer;groups=[];scanner;ctx;constructor(U,X){this.scanner=U,this.ctx=X}error(U){return F(U)}hasRoot(){return this.root!==void 0}setRoot(U){this.root=U}unsetRoot(){let U=this.root;return this.root=void 0,U}constrainRoot(...U){this.root=this.root.constrain(U[0],U[1])}finalize(U){if(this.groups.length)return this.error(G6(")"));this.finalizeBranches(),this.finalizer=U}reduceLeftBound(U,X){let q=x1[X];if(!n(q,JZ))return this.error(K6(X));if(this.branches.leftBound)return this.error(_Z(this.branches.leftBound.limit,this.branches.leftBound.comparator,U,q));this.branches.leftBound={comparator:q,limit:U}}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 U=this.groups.pop();if(!U)return this.error(fX(")",this.scanner.unscanned));this.branches=U}addPrefix(U){this.branches.prefixes.push(U)}applyPrefixes(){while(this.branches.prefixes.length){let U=this.branches.prefixes.pop();this.root=U==="keyof"?this.root.keyof():y(`Unexpected prefix '${U}'`)}}pushRootToBranch(U){this.assertRangeUnset(),this.applyPrefixes();let X=this.root;if(this.root=void 0,this.branches.intersection=this.branches.intersection?.rawAnd(X)??X,U==="&")return;if(this.branches.union=this.branches.union?.rawOr(this.branches.intersection)??this.branches.intersection,this.branches.intersection=null,U==="|")return;this.branches.pipe=this.branches.pipe?.rawPipeOnce(this.branches.union)??this.branches.union,this.branches.union=null}parseUntilFinalizer(){return I2(new h1(this.scanner,this.ctx))}parseOperator(){return b4(this)}parseOperand(){return S4(this)}assertRangeUnset(){if(this.branches.leftBound)return this.error(LZ(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(U){return this.scanner.jumpForward(U),this}}var _Y="An empty string is not a valid generic parameter name",C6=(U,X,q)=>{U.shiftUntilNonWhitespace();let Z=U.shiftUntilLookahead(E0);if(Z===""){if(U.lookahead===""&&X.length)return X;return F(_Y)}return U.shiftUntilNonWhitespace(),$Y(U,Z,X,q)},BZ="extends ",$Y=(U,X,q,Z)=>{if(U.shiftUntilNonWhitespace(),U.unscanned.startsWith(BZ))U.jumpForward(BZ.length);else{if(U.lookahead===",")U.shift();return q.push(X),C6(U,q,Z)}let Q=I2(new h1(U,Z));return q.push([X,Q.root]),C6(U,q,Z)};class f4 extends H0{constructor(U){let X={$:U,raw:U.fn};super((...q)=>{let Z=q.indexOf(":"),Q=Z===-1?q.length-1:Z-1,G=q.slice(0,Q+1),Y=U.parse(G).assertHasKind("intersection"),H=U.intrinsic.unknown;if(Z!==-1){if(Z!==q.length-2)return F(zY);H=U.parse(q[Z+1])}return(J)=>new RZ(J,Y,H)},{attach:X})}}class RZ extends H0{raw;params;returns;expression;constructor(U,X,q){let Z=`typed ${U.name}`,Q={[Z]:(...Y)=>{let H=X.assert(Y),J=U(...H);return q.assert(J)}}[Z];super(Q);this.raw=U,this.params=X,this.returns=q;let G=X.expression;if(G[0]==="["&&G[G.length-1]==="]")G=G.slice(1,-1);else if(G.endsWith("[]"))G=`...${G}`;this.expression=`(${G}) => ${q?.expression??"unknown"}`}}var zY=`":" must be followed by exactly one return type e.g:
|
|
184
|
-
fn("string", ":", "number")(s => s.length)`;class g4 extends H0{$;constructor(U){super((...X)=>new K2(U)(...X),{bind:U});this.$=U}in(U){return new K2(this.$,U===void 0?void 0:this.$.parse(U))}at(U,X){return new K2(this.$).at(U,X)}case(U,X){return new K2(this.$).case(U,X)}}class K2 extends H0{$;in;key;branches=[];constructor(U,X){super((q)=>this.caseEntries(Object.entries(q).map(([Z,Q])=>Z==="default"?[Z,Q]:[this.$.parse(Z),Q])));this.$=U,this.in=X}at(U,X){if(this.key)F(AY);if(this.branches.length)F(FY);return this.key=U,X?this.match(X):this}case(U,X){return this.caseEntry(this.$.parse(U),X)}caseEntry(U,X){let Z=(this.key?this.$.parse({[this.key]:U}):U).pipe(X);return this.branches.push(Z),this}match(U){return this(U)}strings(U){return this.caseEntries(Object.entries(U).map(([X,q])=>X==="default"?[X,q]:[this.$.node("unit",{unit:X}),q]))}caseEntries(U){for(let X=0;X<U.length;X++){let[q,Z]=U[X];if(q==="default"){if(X!==U.length-1)F("default may only be specified as the last key of a switch definition");return this.default(Z)}if(typeof Z!=="function")return F(`Value for case "${q}" must be a function (was ${r(Z)})`);this.caseEntry(q,Z)}return this}default(U){if(typeof U==="function")this.case(I.unknown,U);let X={branches:this.branches,ordered:!0};if(U==="never"||U==="assert")X.meta={onFail:DZ};let q=this.$.node("union",X);if(!this.in)return this.$.finalize(q);let Z=this.in.pipe(q);if(U==="never"||U==="assert")Z=Z.configureReferences({onFail:DZ},"self");return this.$.finalize(Z)}}var DZ=(U)=>U.throw(),FY="A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')",AY="At most one key matcher may be specified per expression";var S6=(U,X)=>{if(x(U)){if(U[1]==="=")return[X.$.parseOwnDefinitionFormat(U[0],X),"=",U[2]];if(U[1]==="?")return[X.$.parseOwnDefinitionFormat(U[0],X),"?"]}return E6(U,X)},MZ="Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }",wZ="Only required keys may specify default values, e.g. { value: 'number = 0' }";var PZ=(U,X)=>{let q,Z={},Q=Y1(U);for(let[Y,H]of Q){let J=VY(Y);if(J.kind==="spread"){if(!C0(Z))return F(OY);let A=X.$.parseOwnDefinitionFormat(H,X);if(A.equals(I.object))continue;if(!A.hasKind("intersection")||!A.basis?.equals(I.object))return F(BY(A.expression));q=A.structure;continue}if(J.kind==="undeclared"){if(H!=="reject"&&H!=="delete"&&H!=="ignore")F(TY(H));Z.undeclared=H;continue}let W=S6(H,X),_=J;if(J.kind==="required"){if(!x(W))y4(Z,"required",{key:J.normalized,value:W},X);else y4(Z,"optional",W[1]==="="?{key:J.normalized,value:W[0],default:W[2]}:{key:J.normalized,value:W[0]},X);continue}if(x(W)){if(W[1]==="?")F(MZ);if(W[1]==="=")F(wZ)}if(J.kind==="optional"){y4(Z,"optional",{key:J.normalized,value:W},X);continue}let L=X.$.parseOwnDefinitionFormat(_.normalized,X),$=V6(L,W,X.$);if($.index)Z.index=g(Z.index,$.index);if($.required)Z.required=g(Z.required,$.required)}let G=X.$.node("structure",Z);return X.$.parseSchema({domain:"object",structure:q?.merge(G)??G})},y4=(U,X,q,Z)=>{U[X]=g(U[X],Z.$.node(X,q))},TY=(U)=>`Value of '+' key must be 'reject', 'delete', or 'ignore' (was ${E(U)})`,OY="Spread operator may only be used as the first key in an object",VY=(U)=>typeof U==="symbol"?{kind:"required",normalized:U}:U[U.length-1]==="?"?U[U.length-2]===J1?{kind:"required",normalized:`${U.slice(0,-2)}?`}:{kind:"optional",normalized:U.slice(0,-1)}:U[0]==="["&&U[U.length-1]==="]"?{kind:"index",normalized:U.slice(1,-1)}:U[0]===J1&&U[1]==="["&&U[U.length-1]==="]"?{kind:"required",normalized:U.slice(1)}:U==="..."?{kind:"spread"}:U==="+"?{kind:"undeclared"}:{kind:"required",normalized:U==="\\..."?"...":U==="\\+"?"+":U},BY=(U)=>`Spread operand must resolve to an object literal type (was ${U})`;var KZ=(U,X)=>SY(U)?EZ[U[0]](U,X):NY(U)?SZ[U[1]](U,X):null,RY=(U,X)=>X.$.parseOwnDefinitionFormat(U[1],X).keyof(),k4=(U,X)=>{if(U[2]===void 0)return F(C4(U[1],""));let q=X.$.parseOwnDefinitionFormat(U[0],X),Z=X.$.parseOwnDefinitionFormat(U[2],X);if(U[1]==="|")return X.$.node("union",{branches:[q,Z]});let Q=U[1]==="&"?L0(q,Z,X.$):F2(q,Z,X.$);if(Q instanceof V)return Q.throw();return Q},DY=(U,X)=>X.$.parseOwnDefinitionFormat(U[0],X).array(),MY=(U,X)=>{if(typeof U[2]!=="function")return F(NZ("=>",U[2]));return X.$.parseOwnDefinitionFormat(U[0],X).pipe(U[2])},NZ=(U,X)=>`${U===":"?"Narrow":"Morph"} expression requires a function following '${U}' (was ${typeof X})`,wY=(U,X)=>{if(typeof U[2]!=="function")return F(NZ(":",U[2]));return X.$.parseOwnDefinitionFormat(U[0],X).constrain("predicate",U[2])},PY=(U,X)=>X.$.parseOwnDefinitionFormat(U[0],X).configure(U[2],U[3]),CZ=(U)=>U,IY=CZ({"[]":DY,"?":()=>F(w6)}),KY=CZ({"|":k4,"&":k4,":":wY,"=>":MY,"|>":k4,"@":PY,"=":()=>F(P6)}),SZ={...IY,...KY},NY=(U)=>SZ[U[1]]!==void 0,CY=(U)=>U,EZ=CY({keyof:RY,instanceof:(U,X)=>{if(typeof U[1]!=="function")return F(IZ(q2(U[1])));let q=U.slice(1).map((Z)=>typeof Z==="function"?X.$.node("proto",{proto:Z}):F(IZ(q2(Z))));return q.length===1?q[0]:X.$.node("union",{branches:q})},"===":(U,X)=>X.$.units(U.slice(1))}),SY=(U)=>EZ[U[0]]!==void 0,IZ=(U)=>`Expected a constructor following 'instanceof' operator (was ${U})`;var fZ=(U,X)=>{let q=[{}],Z=0;while(Z<U.length){let Q=!1;if(U[Z]==="..."&&Z<U.length-1)Q=!0,Z++;let G=S6(U[Z],X),[Y,H,J]=!x(G)?[G]:G;if(Z++,Q){if(!Y.extends(T.intrinsic.Array))return F(jY(Y.expression));q=q.flatMap((W)=>Y.distribute((_)=>bY(H6(W),_)))}else q=q.map((W)=>{if(H==="?")return gZ(W,Y);if(H==="=")return EY(W,Y,J);return v4(W,Y)})}return X.$.parseSchema(q.map((Q)=>C0(Q)?{proto:Array,exactLength:0}:{proto:Array,sequence:Q}))},v4=(U,X)=>{if(U.defaultables||U.optionals)return F(U.variadic?A4:fY);if(U.variadic)U.postfix=g(U.postfix,X);else U.prefix=g(U.prefix,X);return U},gZ=(U,X)=>{if(U.variadic)return F(yZ);return U.optionals=g(U.optionals,X),U},EY=(U,X,q)=>{if(U.variadic)return F(yZ);if(U.optionals)return F(gY);return U.defaultables=g(U.defaultables,[[X,q]]),U},bZ=(U,X)=>{if(U.postfix)F(jZ);if(U.variadic){if(!U.variadic.equals(X))F(jZ)}else U.variadic=X.internal;return U},bY=(U,X)=>{let q=X.select({method:"find",kind:"sequence"});if(!q)return bZ(U,T.intrinsic.unknown);if(q.prefix)for(let Z of q.prefix)v4(U,Z);if(q.optionals)for(let Z of q.optionals)gZ(U,Z);if(q.variadic)bZ(U,q.variadic);if(q.postfix)for(let Z of q.postfix)v4(U,Z);return U},jY=(U)=>`Spread element must be an array (was ${U})`,jZ="A tuple may have at most one variadic element",fY="A required element may not follow an optional element",yZ="An optional element may not follow a variadic element";var gY="A defaultable element may not follow an optional element without a default";var yY={},E6=(U,X)=>{if(typeof U==="string"){if(X.args&&Object.keys(X.args).some((Z)=>U.includes(Z)))return j4(U,X);let q=yY[X.$.name]??={};return q[U]??=j4(U,X)}return Q0(U,"object")?kY(U,X):F(x4(r(U)))},kY=(U,X)=>{let q=X2(U);switch(q){case void 0:if(M(U,"root"))return U;if("~standard"in U)return vY(U,X);return PZ(U,X);case"Array":return xY(U,X);case"RegExp":return X.$.node("intersection",{domain:"string",pattern:U},{prereduced:!0});case"Function":{let Z=l0(U)?U():U;if(M(Z,"root"))return Z;return F(x4("Function"))}default:return F(x4(q??E(U)))}},vY=(U,X)=>X.$.intrinsic.unknown.pipe((q,Z)=>{let Q=U["~standard"].validate(q);if(!Q.issues)return Q.value;for(let{message:G,path:Y}of Q.issues)if(Y)if(Y.length)Z.error({problem:RX(G),relativePath:Y.map((H)=>typeof H==="object"?H.key:H)});else Z.error({message:G});else Z.error({message:G})}),xY=(U,X)=>KZ(U,X)??fZ(U,X),x4=(U)=>`Type definitions must be strings or objects (was ${U})`;class h4 extends H0{constructor(U){let X=Object.assign({errors:J0,hkt:e,$:U,raw:U.parse,module:U.constructor.module,scope:U.constructor.scope,declare:U.declare,define:U.define,match:U.match,generic:U.generic,schema:U.schema,keywords:U.ambient,unit:U.unit,enumerated:U.enumerated,instanceOf:U.instanceOf,valueOf:U.valueOf,or:U.or,and:U.and,merge:U.merge,pipe:U.pipe,fn:U.fn},U.ambientAttachments);super((...q)=>{if(q.length===1)return U.parse(q[0]);if(q.length===2&&typeof q[0]==="string"&&q[0][0]==="<"&&q[0][q[0].length-1]===">"){let Z=q[0].slice(1,-1),Q=U.parseGenericParams(Z,{});return new s0(Q,q[1],U,U,null)}return U.parse(q)},{attach:X})}}var u1=T;class b6 extends B6{get ambientAttachments(){if(!u1.typeAttachments)return;return this.cacheGetter("ambientAttachments",S(u1.typeAttachments,(U,X)=>[U,this.bindReference(X)]))}preparseOwnAliasEntry(U,X){let q=U.indexOf("<");if(q===-1){if(M(X,"module")||M(X,"generic"))return[U,X];let G=this.name==="ark"?U:U==="root"?this.name:`${this.name}.${U}`,Y=this.resolvedConfig.keywords?.[G];if(Y)X=[X,"@",Y];return[U,X]}if(U[U.length-1]!==">")F("'>' must be the last character of a generic declaration in a scope");let Z=U.slice(0,q),Q=U.slice(q+1,-1);return[Z,()=>{let G=this.parseGenericParams(Q,{alias:Z});return sX(G,X,this)}]}parseGenericParams(U,X){return C6(new W2(U),[],this.createParseContext({...X,def:U,prefix:"generic"}))}normalizeRootScopeValue(U){if(l0(U)&&!M(U,"generic"))return U();return U}preparseOwnDefinitionFormat(U,X){return{...X,def:U,prefix:X.alias??"type"}}parseOwnDefinitionFormat(U,X){if(!(X.alias&&(X.alias in this.aliases))&&!X.args)X.args={this:X.id};let Z=E6(U,X);if(x(Z)){if(Z[1]==="=")return F(P6);if(Z[1]==="?")return F(w6)}return Z}unit=(U)=>this.units([U]);valueOf=(U)=>this.units(_X(U));enumerated=(...U)=>this.units(U);instanceOf=(U)=>this.node("proto",{proto:U},{prereduced:!0});or=(...U)=>this.schema(U.map((X)=>this.parse(X)));and=(...U)=>U.reduce((X,q)=>X.and(this.parse(q)),this.intrinsic.unknown);merge=(...U)=>U.reduce((X,q)=>X.merge(this.parse(q)),this.intrinsic.object);pipe=(...U)=>this.intrinsic.unknown.pipe(...U);fn=new f4(this);match=new g4(this);declare=()=>({type:this.type});define(U){return U}type=new h4(this);static scope=(U,X={})=>new b6(U,X);static module=(U,X={})=>this.scope(U,X).export()}var N2=Object.assign(b6.scope,{define:(U)=>U}),f=b6;class kZ extends e{description='merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'}var hY=O0(["base",I.object],["props",I.object])((U)=>U.base.merge(U.props),kZ),vZ=f.module({Key:I.key,Merge:hY});class xZ extends e{}var uY=O0("element")((U)=>{let X=U.element.exclude(I.Array),q=X.array();return X.rawOr(q).pipe(p0).distribute((Z)=>Z.assertHasKind("morph").declareOut(q),v)},xZ),hZ=f.module({root:I.Array,readonly:"root",index:I.nonNegativeIntegerString,liftFrom:uY},{name:"Array"});var u4=v(["string",W1.FileConstructor]),mY=u4.rawOr(u4.array()),uZ=v({meta:"an object representing parsed form data",domain:"object",index:{signature:"string",value:mY}}),mZ=f.module({root:["instanceof",FormData],value:u4,parsed:uZ,parse:v({in:FormData,morphs:(U)=>{let X={};for(let[q,Z]of U)if(q in X){let Q=X[q];if(typeof Q==="string"||Q instanceof W1.FileConstructor)X[q]=[Q,Z];else Q.push(Z)}else X[q]=Z;return X},declaredOut:uZ})},{name:"FormData"});var pZ=f.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 pY={Boolean:1,Number:1,String:1},lZ=f.module({...S({...CU,...EU},(U,X)=>(U in pY)?[]:[U,["instanceof",X]]),Array:hZ,TypedArray:pZ,FormData:mZ});var lY=v({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"}),dY=v({domain:"number",divisor:1}),j6=f.module({root:I.number,integer:dY,epoch:lY,safe:v({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 l=(U,X,q)=>{let Z={domain:"string",pattern:{rule:U.source,flags:U.flags,meta:X}};if(q)Z.meta={format:q};return v1("intersection",Z)},dZ=l(Q2,"a well-formed integer string"),q8=f.module({root:dZ,parse:v({in:dZ,morphs:(U,X)=>{let q=Number.parseInt(U);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"}),cY=l(/^[\dA-Fa-f]+$/,"hex characters only"),iY=f.module({root:l(/^(?:[\d+/A-Za-z]{4})*(?:[\d+/A-Za-z]{2}==|[\d+/A-Za-z]{3}=)?$/,"base64-encoded"),url:l(/^(?:[\w-]{4})*(?:[\w-]{2}(?:==|%3D%3D)?|[\w-]{3}(?:=|%3D)?)?$/,"base64url-encoded")},{name:"string.base64"}),cZ=l(/^[A-Z].*$/,"capitalized"),oY=f.module({root:v({in:"string",morphs:(U)=>U.charAt(0).toUpperCase()+U.slice(1),declaredOut:cZ}),preformatted:cZ},{name:"string.capitalize"}),sY=(U)=>{let X=U.replace(/[ -]+/g,""),q=0,Z,Q,G=!1;for(let Y=X.length-1;Y>=0;Y--){if(Z=X.substring(Y,Y+1),Q=Number.parseInt(Z,10),G)Q*=2,q+=Q>=10?Q%10+1:Q;else q+=Q;G=!G}return!!(q%10===0?X:!1)},rY=/^(?: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}))$/,nY=v({domain:"string",pattern:{meta:"a credit card number",rule:rY.source},predicate:{meta:"a credit card number",predicate:sY}});var aY=/^([+-]?\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)?)?)?)?$/;var tY=(U)=>!Number.isNaN(new Date(U).valueOf()),iZ=v({domain:"string",predicate:{meta:"a parsable date",predicate:tY}}).assertHasKind("intersection"),oZ=q8.root.internal.narrow((U,X)=>{let q=Number.parseInt(U),Z=j6.epoch(q);if(Z instanceof J0)return X.errors.merge(Z),!1;return!0}).configure({description:"an integer string representing a safe Unix timestamp"},"self").assertHasKind("intersection"),eY=f.module({root:oZ,parse:v({in:oZ,morphs:(U)=>new Date(U),declaredOut:I.Date})},{name:"string.date.epoch"}),sZ=l(aY,"an ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) date").internal.assertHasKind("intersection"),U7=f.module({root:sZ,parse:v({in:sZ,morphs:(U)=>new Date(U),declaredOut:I.Date})},{name:"string.date.iso"}),X7=f.module({root:iZ,parse:v({declaredIn:iZ,in:"string",morphs:(U,X)=>{let q=new Date(U);if(Number.isNaN(q.valueOf()))return X.error("a parsable date");return q},declaredOut:I.Date}),iso:U7,epoch:eY},{name:"string.date"}),q7=l(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/,"an email address","email"),rZ="(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",r0=`(${rZ}[.]){3}${rZ}`,Z7=new RegExp(`^${r0}$`),c="(?:[0-9a-fA-F]{1,4})",Q7=new RegExp(`^((?:${c}:){7}(?:${c}|:)|(?:${c}:){6}(?:${r0}|:${c}|:)|(?:${c}:){5}(?::${r0}|(:${c}){1,2}|:)|(?:${c}:){4}(?:(:${c}){0,1}:${r0}|(:${c}){1,3}|:)|(?:${c}:){3}(?:(:${c}){0,2}:${r0}|(:${c}){1,4}|:)|(?:${c}:){2}(?:(:${c}){0,3}:${r0}|(:${c}){1,5}|:)|(?:${c}:){1}(?:(:${c}){0,4}:${r0}|(:${c}){1,6}|:)|(?::((?::${c}){0,5}:${r0}|(?::${c}){1,7}|:)))(%[0-9a-zA-Z.]{1,})?$`),G7=f.module({root:["v4 | v6","@","an IP address"],v4:l(Z7,"an IPv4 address","ipv4"),v6:l(Q7,"an IPv6 address","ipv6")},{name:"string.ip"}),m1="a JSON string",Z8=(U)=>{if(!(U instanceof SyntaxError))throw U;return`must be ${m1} (${U})`},Y7=v({meta:m1,domain:"string",predicate:{meta:m1,predicate:(U,X)=>{try{return JSON.parse(U),!0}catch(q){return X.reject({code:"predicate",expected:m1,problem:Z8(q)})}}}}),H7=(U,X)=>{if(U.length===0)return X.error({code:"predicate",expected:m1,actual:"empty"});try{return JSON.parse(U)}catch(q){return X.error({code:"predicate",expected:m1,problem:Z8(q)})}},J7=f.module({root:Y7,parse:v({meta:"safe JSON string parser",in:"string",morphs:H7,declaredOut:I.jsonObject})},{name:"string.json"}),nZ=l(/^[a-z]*$/,"only lowercase letters"),W7=f.module({root:v({in:"string",morphs:(U)=>U.toLowerCase(),declaredOut:nZ}),preformatted:nZ},{name:"string.lower"}),Q8=["NFC","NFD","NFKC","NFKD"],C2=S(Q8,(U,X)=>[X,v({domain:"string",predicate:(q)=>q.normalize(X)===q,meta:`${X}-normalized unicode`})]),f6=S(Q8,(U,X)=>[X,v({in:"string",morphs:(q)=>q.normalize(X),declaredOut:C2[X]})]),L7=f.module({root:f6.NFC,preformatted:C2.NFC},{name:"string.normalize.NFC"}),_7=f.module({root:f6.NFD,preformatted:C2.NFD},{name:"string.normalize.NFD"}),$7=f.module({root:f6.NFKC,preformatted:C2.NFKC},{name:"string.normalize.NFKC"}),z7=f.module({root:f6.NFKD,preformatted:C2.NFKD},{name:"string.normalize.NFKD"}),F7=f.module({root:"NFC",NFC:L7,NFD:_7,NFKC:$7,NFKD:z7},{name:"string.normalize"}),aZ=l(Z6,"a well-formed numeric string"),A7=f.module({root:aZ,parse:v({in:aZ,morphs:(U)=>Number.parseFloat(U),declaredOut:I.number})},{name:"string.numeric"}),tZ="a regex pattern",T7=v({domain:"string",predicate:{meta:tZ,predicate:(U,X)=>{try{return new RegExp(U),!0}catch(q){return X.reject({code:"predicate",expected:tZ,problem:String(q)})}}},meta:{format:"regex"}}),O7=/^(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-]+)*))?$/,V7=l(O7,"a semantic version (see https://semver.org/)"),eZ=l(/^\S.*\S$|^\S?$/,"trimmed"),B7=f.module({root:v({in:"string",morphs:(U)=>U.trim(),declaredOut:eZ}),preformatted:eZ},{name:"string.trim"}),U8=l(/^[A-Z]*$/,"only uppercase letters"),R7=f.module({root:v({in:"string",morphs:(U)=>U.toUpperCase(),declaredOut:U8}),preformatted:U8},{name:"string.upper"}),D7=(U)=>URL.canParse(U),X8=v({domain:"string",predicate:{meta:"a URL string",predicate:D7},meta:{format:"uri"}}),M7=f.module({root:X8,parse:v({declaredIn:X8,in:"string",morphs:(U,X)=>{try{return new URL(U)}catch{return X.error("a URL string")}},declaredOut:v(URL)})},{name:"string.url"}),w7=f.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:l(/^[\da-f]{8}-[\da-f]{4}-1[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv1"),v2:l(/^[\da-f]{8}-[\da-f]{4}-2[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv2"),v3:l(/^[\da-f]{8}-[\da-f]{4}-3[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv3"),v4:l(/^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv4"),v5:l(/^[\da-f]{8}-[\da-f]{4}-5[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv5"),v6:l(/^[\da-f]{8}-[\da-f]{4}-6[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv6"),v7:l(/^[\da-f]{8}-[\da-f]{4}-7[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv7"),v8:l(/^[\da-f]{8}-[\da-f]{4}-8[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv8")},{name:"string.uuid"}),G8=f.module({root:I.string,alpha:l(/^[A-Za-z]*$/,"only letters"),alphanumeric:l(/^[\dA-Za-z]*$/,"only letters and digits 0-9"),hex:cY,base64:iY,capitalize:oY,creditCard:nY,date:X7,digits:l(/^\d*$/,"only digits 0-9"),email:q7,integer:q8,ip:G7,json:J7,lower:W7,normalize:F7,numeric:A7,regex:T7,semver:V7,trim:B7,upper:R7,url:M7,uuid:w7},{name:"string"});var Y8=f.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}),H8=f.module({root:I.unknown,any:I.unknown},{name:"unknown"}),P7=f.module({root:I.jsonObject,stringify:v1("morph",{in:I.jsonObject,morphs:(U)=>JSON.stringify(U),declaredOut:I.string})},{name:"object.json"}),J8=f.module({root:I.object,json:P7},{name:"object"});class W8 extends e{description='instantiate an object from an index signature and corresponding value type like `Record("string", "number")`'}var I7=O0(["K",I.key],"V")((U)=>({domain:"object",index:{signature:U.K,value:U.V}}),W8);class L8 extends e{description='pick a set of properties from an object like `Pick(User, "name | age")`'}var K7=O0(["T",I.object],["K",I.key])((U)=>U.T.pick(U.K),L8);class _8 extends e{description='omit a set of properties from an object like `Omit(User, "age")`'}var N7=O0(["T",I.object],["K",I.key])((U)=>U.T.omit(U.K),_8);class $8 extends e{description="make all named properties of an object optional like `Partial(User)`"}var C7=O0(["T",I.object])((U)=>U.T.partial(),$8);class z8 extends e{description="make all named properties of an object required like `Required(User)`"}var S7=O0(["T",I.object])((U)=>U.T.required(),z8);class F8 extends e{description='exclude branches of a union like `Exclude("boolean", "true")`'}var E7=O0("T","U")((U)=>U.T.exclude(U.U),F8);class A8 extends e{description='extract branches of a union like `Extract("0 | false | 1", "number")`'}var b7=O0("T","U")((U)=>U.T.extract(U.U),A8),T8=f.module({Exclude:E7,Extract:b7,Omit:N7,Partial:C7,Pick:K7,Record:I7,Required:S7});var x0=N2({...Y8,...T8,...lZ,...vZ,string:G8,number:j6,object:J8,unknown:H8},{prereducedAliases:!0,name:"ark"}),a=x0.export();Object.assign(u1.ambient,a);u1.typeAttachments={string:a.string.root,number:a.number.root,bigint:a.bigint,boolean:a.boolean,symbol:a.symbol,undefined:a.undefined,null:a.null,object:a.object.root,unknown:a.unknown.root,false:a.false,true:a.true,never:a.never,arrayIndex:a.Array.index,Key:a.Key,Record:a.Record,Array:a.Array.root,Date:a.Date};var m4=Object.assign(x0.type,u1.typeAttachments),j7=x0.match,f7=x0.fn,g7=x0.generic,dK=x0.schema,y7=x0.define,k7=x0.declare;var $1=N2({Operator:"'EQ' | '==' | 'NEQ' | '!=' | 'GT' | '>' | 'GTE' | '>=' | 'LT' | '<' | 'LTE' | '<=' | 'IN' | 'NOT_IN' | 'CONTAINS' | 'MATCHES' | 'RANGE' | 'SINCE' | 'AFTER' | 'BEFORE' | 'UNTIL'",Condition:"RangeCondition | ListCondition | ContainsCondition | NumericCondition | RegexCondition | 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'",value:"string | unknown[]"},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","probability?":"0 <= number <= 1"},ActionGroup:{"mode?":"'ALL' | 'EITHER' | 'SEQUENCE'",actions:"(Action | ActionGroup)[] >= 1"},RuleAction:"Action | ActionGroup",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[]","comment?":"string"}}).export(),JN=$1.Operator,WN=$1.Condition,LN=$1.ConditionGroup,_N=$1.RuleCondition,$N=$1.Action,zN=$1.ActionGroup,v7=$1.TriggerRule;class x7{static validate(U){let X=v7(U);if(X instanceof m4.errors){let Q=[];for(let G of X){let Y=G.path.join("."),H=G.message,J=void 0;if(Y.endsWith("on")&&(H.includes("string")||H.includes("must be")))if(typeof U==="object"&&U&&U.on===!0)H="The 'on' field is incorrect (boolean true found).",J=`In YAML, 'on' is a boolean keyword (true). Quote it: "on": "EventName"`;else J="Ensure 'on' is a string event name.";Q.push({path:Y,message:H,suggestion:J,severity:"error"})}return{valid:!1,issues:Q}}let q=X,Z=[];if(this.validateConditionsRecursive(q.if,Z,"if"),Z.length>0)return{valid:!1,issues:Z};return{valid:!0,rule:q}}static validateConditionsRecursive(U,X,q){if(!U)return;if(Array.isArray(U)){U.forEach((Z,Q)=>{this.validateConditionsRecursive(Z,X,`${q}.${Q}`)});return}if("conditions"in U&&Array.isArray(U.conditions)){U.conditions.forEach((Z,Q)=>{this.validateConditionsRecursive(Z,X,`${q}.conditions.${Q}`)});return}if("operator"in U&&"value"in U)this.validateConditionValue(U,X,q)}static validateConditionValue(U,X,q){let{operator:Z,value:Q}=U;if(["IN","NOT_IN","RANGE","CONTAINS"].includes(Z)){if(Z==="CONTAINS"){if(typeof Q!=="string"&&!Array.isArray(Q))X.push({path:`${q}.value`,message:`Incorrect value type: Operator 'CONTAINS' expects a String or List (Array), but received ${typeof Q}.`,suggestion:"Use a substring or a list of items.",severity:"error"});return}if(!Array.isArray(Q)){X.push({path:`${q}.value`,message:`Incorrect value type: Operator '${Z}' expects a List (Array), but received ${typeof Q}.`,suggestion:Z==="RANGE"?"Use format [min, max]":"Use format [item1, item2]",severity:"error"});return}if(Z==="RANGE"){if(Q.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 Q[0]!=="number"&&typeof Q[0]!=="string")X.push({path:`${q}.value`,message:"Incorrect range type: Range values must be numbers or expression strings.",severity:"error"})}}else if(Z==="MATCHES")if(typeof Q!=="string")X.push({path:`${q}.value`,message:`Incorrect value type: Operator 'MATCHES' expects a string (regex pattern), but received ${typeof Q}.`,severity:"error"});else try{new RegExp(Q)}catch(G){X.push({path:`${q}.value`,message:`Invalid Regex pattern: ${G.message}`,severity:"error"})}else if(["GT","GTE","LT","LTE",">",">=","<","<="].includes(Z)){if(typeof Q!=="number"&&typeof Q!=="string")X.push({path:`${q}.value`,message:`Incorrect value type: Operator '${Z}' expects a number or expression string, but received ${typeof Q}.`,severity:"error"})}}}class g6{conditions=[];op="AND";constructor(U="AND"){this.op=U}where(U,X,q){return this.conditions.push({field:U,operator:X,value:q}),this}and(U){let X=new g6("AND");return this.conditions.push(U(X).build()),this}or(U){let X=new g6("OR");return this.conditions.push(U(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 O8{actions=[];mode="ALL";setMode(U){return this.mode=U,this}add(U,X,q){return this.actions.push({type:U,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 h7{rule={enabled:!0,priority:0};withId(U){return this.rule.id=U,this}withName(U){return this.rule.name=U,this}withDescription(U){return this.rule.description=U,this}withPriority(U){return this.rule.priority=U,this}withCooldown(U){return this.rule.cooldown=U,this}withTags(U){return this.rule.tags=U,this}on(U){return this.rule.on=U,this}if(U,X,q){if(!this.rule.if)this.rule.if={field:U,operator:X,value:q};else if(Array.isArray(this.rule.if))this.rule.if.push({field:U,operator:X,value:q});else this.rule.if=[this.rule.if,{field:U,operator:X,value:q}];return this}ifComplex(U){let X=new g6,q=U(X).build();return this.rule.if=q,this}do(U,X,q){let Z={type:U,params:X,...q};if(!this.rule.do)this.rule.do=Z;else if(Array.isArray(this.rule.do))this.rule.do.push(Z);else if(this.rule.do&&typeof this.rule.do==="object"&&"actions"in this.rule.do)this.rule.do.actions.push(Z);else this.rule.do=[this.rule.do,Z];return this}doComplex(U){let X=new O8,q=U(X).build();return this.rule.do=q,this}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");return this.rule}}var NQ=MU(KQ(),1);class hA{static toYaml(U){let X=Array.isArray(U)?U:[U];return NQ.default.stringify(X)}static async saveToFile(U,X){let q=this.toYaml(U);if(typeof process<"u"&&process.versions&&process.versions.node){let Z=await import("fs/promises"),G=(await import("path")).dirname(X);await Z.mkdir(G,{recursive:!0}),await Z.writeFile(X,q,"utf8")}else throw Error("saveToFile is only supported in Node.js/Bun environments")}}export{M1 as triggerEmitter,tA as engineEvents,x7 as TriggerValidator,U6 as TriggerUtils,v7 as TriggerRuleSchema,vQ as TriggerEngine,IU as TriggerEmitter,K0 as StateManager,hA as RuleExporter,kQ as RuleEngine,_N as RuleConditionSchema,h7 as RuleBuilder,wU as InMemoryPersistence,Z0 as ExpressionEngine,fQ as EventQueue,PU as EngineEvent,yQ as ContextAdapter,WN as ConditionSchema,LN as ConditionGroupSchema,g6 as ConditionBuilder,JN as ComparisonOperatorSchema,gQ as BrowserPersistence,$N as ActionSchema,e2 as ActionRegistry,zN as ActionGroupSchema,O8 as ActionBuilder};
|
|
183
|
+
`)+"}");class w6{config;resolvedConfig;name;get[X0](){return"scope"}referencesById={};references=[];resolutions={};exportedNames=[];aliases={};resolved=!1;nodesByHash={};intrinsic;constructor(U,X){if(this.config=O2(O.config,X),this.resolvedConfig=O2(O.resolvedConfig,X),this.name=this.resolvedConfig.name??`anonymousScope${Object.keys(IU).length}`,this.name in IU)F(`A Scope already named ${this.name} already exists`);IU[this.name]=this;let q=Object.entries(U).map((Z)=>this.preparseOwnAliasEntry(...Z));for(let[Z,Q]of q){let G=Z;if(Z[0]==="#"){if(G=Z.slice(1),G in this.aliases)F(sq(G));this.aliases[G]=Q}else{if(G in this.aliases)F(sq(Z));this.aliases[G]=Q,this.exportedNames.push(G)}if(!M(Q,"module")&&!M(Q,"generic")&&!l0(Q)){let Y=this.preparseOwnDefinitionFormat(Q,{alias:G});this.resolutions[G]=M(Y,"root")?this.bindReference(Y):this.createParseContext(Y).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?S(O.intrinsic,(Z,Q)=>Z.startsWith("json")?[]:[Z,this.bindReference(Q)]):{}}cacheGetter(U,X){return Object.defineProperty(this,U,{value:X}),X}get internal(){return this}_json;get json(){if(!this._json)this.export();return this._json}defineSchema(U){return U}generic=(...U)=>{let X=this;return(q,Z)=>new o0(U,Z?new A6(q):q,X,X,Z??null)};units=(U,X)=>{let q=[];for(let Q of U)if(!q.includes(Q))q.push(Q);let Z=q.map((Q)=>this.node("unit",{unit:Q},X));return this.node("union",Z,{...X,prereduced:!0})};lazyResolutions=[];lazilyResolve(U,X){let q=this.node("alias",{reference:X??"synthetic",resolve:U},{prereduced:!0});if(!this.resolved)this.lazyResolutions.push(q);return q}schema=(U,X)=>this.finalize(this.parseSchema(U,X));parseSchema=(U,X)=>this.node(R2(U),U,X);preparseNode(U,X,q){let Z=typeof U==="string"?U:R2(X,U);if(h(X)&&X.kind===Z)return X;if(Z==="alias"&&!q?.prereduced){let{reference:Y}=K2.implementation.normalize(X,this);if(Y.startsWith("$")){let H=this.resolveRoot(Y.slice(1));X=H,Z=H.kind}}else if(Z==="union"&&Z0(X,"object")){let Y=s5(X);if(Y?.length===1)X=Y[0],Z=R2(X)}if(h(X)&&X.kind===Z)return X;let G=y1[Z].normalize?.(X,this)??X;if(h(G))return G.kind===Z?G:o5(Z,G.kind);return{...q,$:this,kind:Z,def:G,prefix:q.alias??Z}}bindReference(U){let X;if(h(U))X=U.$===this?U:new U.constructor(U.attachments,this);else X=U.$===this?U:new o0(U.params,U.bodyDef,U.$,this,U.hkt);if(!this.resolved)Object.assign(this.referencesById,X.referencesById);return X}resolveRoot(U){return this.maybeResolveRoot(U)??F(CU(U))}maybeResolveRoot(U){let X=this.maybeResolve(U);if(M(X,"generic"))return;return X}maybeResolveSubalias(U){return KU(this.aliases,U)??KU(this.ambient,U)}get ambient(){return O.ambient}maybeResolve(U){let X=this.resolutions[U];if(X){if(typeof X!=="string")return this.bindReference(X);let Z=q0[X];if(M(Z,"root"))return this.resolutions[U]=Z;if(M(Z,"context")){if(Z.phase==="resolving")return this.node("alias",{reference:`$${U}`},{prereduced:!0});if(Z.phase==="resolved")return g(`Unexpected resolved context for was uncached by its scope: ${E(Z)}`);Z.phase="resolving";let Q=this.bindReference(this.parseOwnDefinitionFormat(Z.def,Z));return Z.phase="resolved",q0[Q.id]=Q,q0[Z.id]=Q,this.resolutions[U]=Q}return g(`Unexpected nodesById entry for ${X}: ${E(Z)}`)}let q=this.aliases[U]??this.ambient?.[U];if(!q)return this.maybeResolveSubalias(U);if(q=this.normalizeRootScopeValue(q),M(q,"generic"))return this.resolutions[U]=this.bindReference(q);if(M(q,"module")){if(!q.root)F(XZ(U));return this.resolutions[U]=this.bindReference(q.root)}return this.resolutions[U]=this.parse(q,{alias:U})}createParseContext(U){let X=U.id??JU(U.prefix);return q0[X]=Object.assign(U,{[X0]:"context",$:this,id:X,phase:"unresolved"})}traversal(U){return new w0(U,this.resolvedConfig)}import(...U){return new v1(S(this.export(...U),(X,q)=>[`#${X}`,q]))}precompilation;_exportedResolutions;_exports;export(...U){if(!this._exports){this._exports={};for(let q of this.exportedNames){let Z=this.aliases[q];this._exports[q]=M(Z,"module")?PU(Z,this):rq(this.maybeResolve(q))}for(let q of this.lazyResolutions)q.resolution;if(this._exportedResolutions=UZ(this,this._exports),this._json=eq(this._exportedResolutions),Object.assign(this.resolutions,this._exportedResolutions),this.references=Object.values(this.referencesById),!this.resolvedConfig.jitless){let q=tq(this.references);this.precompilation=q.write(aq,4),nq(this.references,q)}this.resolved=!0}let X=U.length?U:this.exportedNames;return new v1(S(X,(q,Z)=>[Z,this._exports[Z]]))}resolve(U){return this.export()[U]}node=(U,X,q={})=>{let Z=this.preparseNode(U,X,q);if(h(Z))return this.bindReference(Z);let Q=this.createParseContext(Z),G=WU(Q),Y=this.bindReference(G);return q0[Q.id]=Y};parse=(U,X={})=>this.finalize(this.parseDefinition(U,X));parseDefinition(U,X={}){if(M(U,"root"))return this.bindReference(U);let q=this.preparseOwnDefinitionFormat(U,X);if(M(q,"root"))return this.bindReference(q);let Z=this.createParseContext(q);q0[Z.id]=Z;let Q=this.bindReference(this.parseOwnDefinitionFormat(U,Z));if(Q.isCyclic)Q=Vq(Q,Z.id);return q0[Z.id]=Q,Q}finalize(U){if(rq(U),!U.precompilation&&!this.resolvedConfig.jitless)r5(U.references);return U}}class NU extends w6{parseOwnDefinitionFormat(U,X){return WU(X)}preparseOwnDefinitionFormat(U,X){return this.preparseNode(R2(U),U,X)}preparseOwnAliasEntry(U,X){return[U,X]}normalizeRootScopeValue(U){return U}}var rq=(U)=>{let X=U.references.filter((q)=>q.hasKind("alias"));for(let q of X){Object.assign(q.referencesById,q.resolution.referencesById);for(let Z of U.references)if(q.id in Z.referencesById)Object.assign(Z.referencesById,q.referencesById)}return U},eq=(U)=>S(U,(X,q)=>[X,M(q,"root")||M(q,"generic")?q.json:M(q,"module")?eq(q):g(`Unexpected resolution ${E(q)}`)]),KU=(U,X)=>{let q=X.indexOf(".");if(q===-1)return;let Z=X.slice(0,q),Q=U[Z];if(Q===void 0)return;if(!M(Q,"module"))return F(a5(Z));let G=X.slice(q+1),Y=Q[G];if(Y===void 0)return KU(Q,G);if(M(Y,"root")||M(Y,"generic"))return Y;if(M(Y,"module"))return Y.root??F(XZ(X));g(`Unexpected resolution for alias '${X}': ${E(Y)}`)},P6=(U,X)=>new NU(U,X),S2=new NU({});var UZ=(U,X)=>{let q={};for(let Z in X){let Q=X[Z];if(M(Q,"module")){let G=UZ(U,Q),Y=S(G,(H,J)=>[`${Z}.${H}`,J]);Object.assign(q,Y)}else if(M(Q,"root")||M(Q,"generic"))q[Z]=Q;else g(`Unexpected scope resolution ${E(Q)}`)}return q},CU=(U)=>`'${U}' is unresolvable`,a5=(U)=>`'${U}' must reference a module to be accessed using dot syntax`,XZ=(U)=>`Reference to submodule '${U}' must specify an alias`;S2.export();var{schema:v,node:x1,defineSchema:Kw,generic:V0}=S2;var SU="^(?:0|[1-9]\\d*)$",n5=new RegExp(SU),Sw=d(n5);var qZ=P6({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={...qZ};var ZZ=P6({integer:{domain:"number",divisor:1},lengthBoundable:["string",Array],key:["string","symbol"],nonNegativeIntegerString:{domain:"string",pattern:SU}},{prereducedAliases:!0}).export();Object.assign(O.intrinsic,ZZ);var t5=P6({jsonPrimitive:["string","number",{unit:!0},{unit:!1},{unit:null}],jsonObject:{domain:"object",index:{signature:"string",value:"$jsonData"}},jsonData:["$jsonPrimitive","$jsonObject"]},{prereducedAliases:!0}).export(),I={...qZ,...ZZ,...t5,emptyStructure:x1("structure",{},{prereduced:!0})};O.intrinsic={...I};var I6=(U,X)=>new RegExp(U,X);Object.assign(I6,{as:I6});var GZ=(U)=>typeof U==="string"&&U[0]==="d"&&(U[1]==="'"||U[1]==='"')&&U[U.length-1]===U[1],QZ=(U)=>U.toString()!=="Invalid Date",YZ=(U)=>U.slice(2,-1),EU=(U)=>`'${U}' could not be parsed by the Date constructor`,HZ=(U,X)=>e5(U,X),e5=(U,X)=>{let q=new Date(U);if(QZ(q))return q;let Z=fX(U);if(Z!==void 0){let Q=new Date(Z);if(QZ(Q))return Q}return X?F(X===!0?EU(U):X):void 0};var UY=v({proto:"Array",sequence:"string",required:{key:"groups",value:["object",{unit:void 0}]}}),K6=(U,X)=>{let q=U.scanner.shiftUntilEscapable(qY[_Z[X]]);if(U.scanner.lookahead==="")return U.error(QY(q,X));if(U.scanner.shift(),X in WZ){let Z;try{Z=new RegExp(q)}catch(Q){F(String(Q))}if(U.root=U.ctx.$.node("intersection",{domain:"string",pattern:q},{prereduced:!0}),X==="x/")U.root=U.ctx.$.node("morph",{in:U.root,morphs:(Q)=>Z.exec(Q),declaredOut:UY})}else if(a(X,bU))U.root=U.ctx.$.node("unit",{unit:q});else{let Z=HZ(q,EU(q));U.root=U.ctx.$.node("unit",{meta:q,unit:Z})}},bU={"'":1,'"':1},JZ={"/":1,"'":1,'"':1},XY={"d'":"'",'d"':'"',"'":"'",'"':'"'},WZ={"/":"/","x/":"/"},_Z={...XY,...WZ},qY={"'":(U)=>U.lookahead==="'",'"':(U)=>U.lookahead==='"',"/":(U)=>U.lookahead==="/"},ZY={'"':"double-quote","'":"single-quote","/":"forward slash"},QY=(U,X)=>`${X}${U} requires a closing ${ZY[_Z[X]]}`;var $Z=(U)=>`Private type references should not include '#'. Use '${U}' instead.`,N6="Optional definitions like 'string?' are only valid as properties in an object or tuple",C6="Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple";var E0={"<":1,">":1,"=":1,"|":1,"&":1,")":1,"[":1,"%":1,",":1,":":1,"?":1,"#":1,...d0};var LZ=(U,X)=>U===">"?X[0]==="="?X[1]==="=":X.trimStart()===""||a(X.trimStart()[0],E0):U==="="?X[0]!=="=":U===","||U==="?";var zZ=(U,X,q)=>FZ(U,X,q,[]),FZ=(U,X,q,Z)=>{let Q=q.parseUntilFinalizer();if(Z.push(Q.root),Q.finalizer===">"){if(Z.length!==X.params.length)return q.error(jU(U,X.names,Z.map((G)=>G.expression)));return Z}if(Q.finalizer===",")return FZ(U,X,q,Z);return Q.error(W6(">"))},jU=(U,X,q)=>`${U}<${X.join(", ")}> requires exactly ${X.length} args (got ${q.length}${q.length===0?"":`: ${q.join(", ")}`})`;var S6=(U)=>{let X=U.scanner.shiftUntilLookahead(E0);if(X==="keyof")U.addPrefix("keyof");else U.root=YY(U,X)},GY=(U,X,q)=>{if(q.scanner.shiftUntilNonWhitespace(),q.scanner.shift()!=="<")return q.error(jU(U,X.names,[]));let Q=zZ(U,X,q);return X(...Q)},YY=(U,X)=>HY(U,X)??JY(U,X)??U.error(X===""?U.scanner.lookahead==="#"?$Z(U.shiftedBy(1).scanner.shiftUntilLookahead(E0)):fU(U):CU(X)),HY=(U,X)=>{if(U.ctx.args?.[X]){let Z=U.ctx.args[X];if(typeof Z!=="string")return Z;return U.ctx.$.node("alias",{reference:Z},{prereduced:!0})}let q=U.ctx.$.maybeResolve(X);if(M(q,"root"))return q;if(q===void 0)return;if(M(q,"generic"))return GY(X,q,U);return F(`Unexpected resolution ${E(q)}`)},JY=(U,X)=>{let q=yX(X);if(q!==void 0)return U.ctx.$.node("unit",{unit:q});let Z=kX(X);if(Z!==void 0)return U.ctx.$.node("unit",{unit:Z})},fU=(U)=>{let X=U.previousOperator();return X?yU(X,U.scanner.unscanned):WY(U.scanner.unscanned)},yU=(U,X="")=>`Token '${U}' requires a right operand${X?` before '${X}'`:""}`,WY=(U)=>`Expected an expression${U?` before '${U}'`:""}`;var gU=(U)=>U.scanner.lookahead===""?U.error(fU(U)):U.scanner.lookahead==="("?U.shiftedBy(1).reduceGroupOpen():U.scanner.lookaheadIsIn(JZ)?K6(U,U.scanner.shift()):U.scanner.lookaheadIsIn(d0)?gU(U.shiftedBy(1)):U.scanner.lookahead==="d"?U.scanner.nextLookahead in bU?K6(U,`${U.scanner.shift()}${U.scanner.shift()}`):S6(U):U.scanner.lookahead==="x"?U.scanner.nextLookahead==="/"?U.shiftedBy(2)&&K6(U,"x/"):S6(U):S6(U);var AZ={">":!0,">=":!0},OZ={"<":!0,"<=":!0};var h1={"<":">",">":"<","<=":">=",">=":"<=","==":"=="},VZ=(U,X)=>`Left bounds are only valid when paired with right bounds (try ...${X}${U})`,E6=(U)=>`Left-bounded expressions must specify their limits using < or <= (was ${U})`,TZ=(U,X,q,Z)=>`An expression may have at most one left bound (parsed ${U}${h1[X]}, ${q}${h1[Z]})`;var RZ=(U,X)=>{let q=_Y(U,X);if(U.root.hasKind("unit")){if(typeof U.root.unit==="number"){U.reduceLeftBound(U.root.unit,q),U.unsetRoot();return}if(U.root.unit instanceof Date){let Z=`d'${U.root.description??U.root.unit.toISOString()}'`;U.unsetRoot(),U.reduceLeftBound(Z,q);return}}return LY(U,q)},DZ={"<":1,">":1,"=":1},_Y=(U,X)=>U.scanner.lookaheadIs("=")?`${X}${U.scanner.shift()}`:X;var BZ=(U,X,q,Z)=>{if(q.extends(O.intrinsic.number)){if(typeof X!=="number")return F(kU(U,X,Z));return U==="=="?["min","max"]:U[0]===">"?["min"]:["max"]}if(q.extends(O.intrinsic.lengthBoundable)){if(typeof X!=="number")return F(kU(U,X,Z));return U==="=="?["exactLength"]:U[0]===">"?["minLength"]:["maxLength"]}if(q.extends(O.intrinsic.Date))return U==="=="?["after","before"]:U[0]===">"?["after"]:["before"];return F(Qq(q.expression))},$Y=(U)=>({rule:GZ(U.limit)?YZ(U.limit):U.limit,exclusive:U.comparator.length===1}),LY=(U,X)=>{let q=U.unsetRoot(),Z=U.scanner.location;U.parseOperand();let Q=U.unsetRoot(),G=U.scanner.sliceChars(Z,U.scanner.location);if(U.root=q,!Q.hasKind("unit")||typeof Q.unit!=="number"&&!(Q.unit instanceof Date))return U.error(kU(X,G,"right"));let Y=Q.unit,H=X.length===1,J=BZ(X,typeof Y==="number"?Y:G,q,"right");for(let $ of J)U.constrainRoot($,X==="=="?{rule:Y}:{rule:Y,exclusive:H});if(!U.branches.leftBound)return;if(!a(X,OZ))return U.error(E6(X));let W=BZ(U.branches.leftBound.comparator,U.branches.leftBound.limit,q,"left");U.constrainRoot(W[0],$Y(U.branches.leftBound)),U.branches.leftBound=null},kU=(U,X,q)=>`Comparator ${q==="left"?h1[U]:U} must be ${q==="left"?"preceded":"followed"} by a corresponding literal (was ${X})`;var MZ=(U)=>{U.scanner.shiftUntilNonWhitespace();let X=U.scanner.shiftUntilLookahead(E0);U.root=U.root.brand(X)};var PZ=(U)=>{U.scanner.shiftUntilNonWhitespace();let X=U.scanner.shiftUntilLookahead(E0),q=gX(X,{errorOnFail:wZ(X)});if(q===0)U.error(wZ(0));U.root=U.root.constrain("divisor",q)},wZ=(U)=>`% operator must be followed by a non-zero integer literal (was ${U})`;var vU=(U)=>{let X=U.scanner.shift();return X===""?U.finalize(""):X==="["?U.scanner.shift()==="]"?U.setRoot(U.root.array()):U.error(zY):X==="|"?U.scanner.lookahead===">"?U.shiftedBy(1).pushRootToBranch("|>"):U.pushRootToBranch(X):X==="&"?U.pushRootToBranch(X):X===")"?U.finalizeGroup():LZ(X,U.scanner.unscanned)?U.finalize(X):a(X,DZ)?RZ(U,X):X==="%"?PZ(U):X==="#"?MZ(U):(X in d0)?vU(U):U.error(b6(X))},b6=(U,X="")=>`'${U}' is not allowed here${X&&` (should be ${X})`}`,zY="Missing expected ']'";var IZ=(U)=>{let X=U.unsetRoot();U.parseOperand();let q=U.unsetRoot();if(!q.hasKind("unit"))return U.error(FY(q.expression));let Z=q.unit instanceof Date?()=>new Date(q.unit):q.unit;return[X,"=",Z]},FY=(U)=>`Default value '${U}' must be a literal value`;var xU=(U,X)=>{let q=X.$.maybeResolveRoot(U);if(q)return q;if(U.endsWith("[]")){let G=X.$.maybeResolveRoot(U.slice(0,-2));if(G)return G.array()}let Z=new u1(new F2(U),X),Q=AY(Z);if(Z.finalizer===">")F(b6(">"));return Q},AY=(U)=>{U.parseOperand();let X=E2(U).root;if(!X)return g(`Root was unexpectedly unset after parsing string '${U.scanner.scanned}'`);if(U.finalizer==="=")X=IZ(U);else if(U.finalizer==="?")X=[X,"?"];if(U.scanner.shiftUntilNonWhitespace(),U.scanner.lookahead)F(b6(U.scanner.lookahead));return X},E2=(U)=>{while(U.finalizer===void 0)OY(U);return U},OY=(U)=>U.hasRoot()?U.parseOperator():U.parseOperand();class u1{root;branches={prefixes:[],leftBound:null,intersection:null,union:null,pipe:null};finalizer;groups=[];scanner;ctx;constructor(U,X){this.scanner=U,this.ctx=X}error(U){return F(U)}hasRoot(){return this.root!==void 0}setRoot(U){this.root=U}unsetRoot(){let U=this.root;return this.root=void 0,U}constrainRoot(...U){this.root=this.root.constrain(U[0],U[1])}finalize(U){if(this.groups.length)return this.error(W6(")"));this.finalizeBranches(),this.finalizer=U}reduceLeftBound(U,X){let q=h1[X];if(!a(q,AZ))return this.error(E6(X));if(this.branches.leftBound)return this.error(TZ(this.branches.leftBound.limit,this.branches.leftBound.comparator,U,q));this.branches.leftBound={comparator:q,limit:U}}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 U=this.groups.pop();if(!U)return this.error(uX(")",this.scanner.unscanned));this.branches=U}addPrefix(U){this.branches.prefixes.push(U)}applyPrefixes(){while(this.branches.prefixes.length){let U=this.branches.prefixes.pop();this.root=U==="keyof"?this.root.keyof():g(`Unexpected prefix '${U}'`)}}pushRootToBranch(U){this.assertRangeUnset(),this.applyPrefixes();let X=this.root;if(this.root=void 0,this.branches.intersection=this.branches.intersection?.rawAnd(X)??X,U==="&")return;if(this.branches.union=this.branches.union?.rawOr(this.branches.intersection)??this.branches.intersection,this.branches.intersection=null,U==="|")return;this.branches.pipe=this.branches.pipe?.rawPipeOnce(this.branches.union)??this.branches.union,this.branches.union=null}parseUntilFinalizer(){return E2(new u1(this.scanner,this.ctx))}parseOperator(){return vU(this)}parseOperand(){return gU(this)}assertRangeUnset(){if(this.branches.leftBound)return this.error(VZ(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(U){return this.scanner.jumpForward(U),this}}var VY="An empty string is not a valid generic parameter name",j6=(U,X,q)=>{U.shiftUntilNonWhitespace();let Z=U.shiftUntilLookahead(E0);if(Z===""){if(U.lookahead===""&&X.length)return X;return F(VY)}return U.shiftUntilNonWhitespace(),TY(U,Z,X,q)},KZ="extends ",TY=(U,X,q,Z)=>{if(U.shiftUntilNonWhitespace(),U.unscanned.startsWith(KZ))U.jumpForward(KZ.length);else{if(U.lookahead===",")U.shift();return q.push(X),j6(U,q,Z)}let Q=E2(new u1(U,Z));return q.push([X,Q.root]),j6(U,q,Z)};class hU extends Y0{constructor(U){let X={$:U,raw:U.fn};super((...q)=>{let Z=q.indexOf(":"),Q=Z===-1?q.length-1:Z-1,G=q.slice(0,Q+1),Y=U.parse(G).assertHasKind("intersection"),H=U.intrinsic.unknown;if(Z!==-1){if(Z!==q.length-2)return F(BY);H=U.parse(q[Z+1])}return(J)=>new NZ(J,Y,H)},{attach:X})}}class NZ extends Y0{raw;params;returns;expression;constructor(U,X,q){let Z=`typed ${U.name}`,Q={[Z]:(...Y)=>{let H=X.assert(Y),J=U(...H);return q.assert(J)}}[Z];super(Q);this.raw=U,this.params=X,this.returns=q;let G=X.expression;if(G[0]==="["&&G[G.length-1]==="]")G=G.slice(1,-1);else if(G.endsWith("[]"))G=`...${G}`;this.expression=`(${G}) => ${q?.expression??"unknown"}`}}var BY=`":" must be followed by exactly one return type e.g:
|
|
184
|
+
fn("string", ":", "number")(s => s.length)`;class uU extends Y0{$;constructor(U){super((...X)=>new b2(U)(...X),{bind:U});this.$=U}in(U){return new b2(this.$,U===void 0?void 0:this.$.parse(U))}at(U,X){return new b2(this.$).at(U,X)}case(U,X){return new b2(this.$).case(U,X)}}class b2 extends Y0{$;in;key;branches=[];constructor(U,X){super((q)=>this.caseEntries(Object.entries(q).map(([Z,Q])=>Z==="default"?[Z,Q]:[this.$.parse(Z),Q])));this.$=U,this.in=X}at(U,X){if(this.key)F(DY);if(this.branches.length)F(RY);return this.key=U,X?this.match(X):this}case(U,X){return this.caseEntry(this.$.parse(U),X)}caseEntry(U,X){let Z=(this.key?this.$.parse({[this.key]:U}):U).pipe(X);return this.branches.push(Z),this}match(U){return this(U)}strings(U){return this.caseEntries(Object.entries(U).map(([X,q])=>X==="default"?[X,q]:[this.$.node("unit",{unit:X}),q]))}caseEntries(U){for(let X=0;X<U.length;X++){let[q,Z]=U[X];if(q==="default"){if(X!==U.length-1)F("default may only be specified as the last key of a switch definition");return this.default(Z)}if(typeof Z!=="function")return F(`Value for case "${q}" must be a function (was ${r(Z)})`);this.caseEntry(q,Z)}return this}default(U){if(typeof U==="function")this.case(I.unknown,U);let X={branches:this.branches,ordered:!0};if(U==="never"||U==="assert")X.meta={onFail:CZ};let q=this.$.node("union",X);if(!this.in)return this.$.finalize(q);let Z=this.in.pipe(q);if(U==="never"||U==="assert")Z=Z.configureReferences({onFail:CZ},"self");return this.$.finalize(Z)}}var CZ=(U)=>U.throw(),RY="A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')",DY="At most one key matcher may be specified per expression";var f6=(U,X)=>{if(x(U)){if(U[1]==="=")return[X.$.parseOwnDefinitionFormat(U[0],X),"=",U[2]];if(U[1]==="?")return[X.$.parseOwnDefinitionFormat(U[0],X),"?"]}return y6(U,X)},SZ="Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }",EZ="Only required keys may specify default values, e.g. { value: 'number = 0' }";var bZ=(U,X)=>{let q,Z={},Q=H1(U);for(let[Y,H]of Q){let J=PY(Y);if(J.kind==="spread"){if(!C0(Z))return F(wY);let A=X.$.parseOwnDefinitionFormat(H,X);if(A.equals(I.object))continue;if(!A.hasKind("intersection")||!A.basis?.equals(I.object))return F(IY(A.expression));q=A.structure;continue}if(J.kind==="undeclared"){if(H!=="reject"&&H!=="delete"&&H!=="ignore")F(MY(H));Z.undeclared=H;continue}let W=f6(H,X),$=J;if(J.kind==="required"){if(!x(W))mU(Z,"required",{key:J.normalized,value:W},X);else mU(Z,"optional",W[1]==="="?{key:J.normalized,value:W[0],default:W[2]}:{key:J.normalized,value:W[0]},X);continue}if(x(W)){if(W[1]==="?")F(SZ);if(W[1]==="=")F(EZ)}if(J.kind==="optional"){mU(Z,"optional",{key:J.normalized,value:W},X);continue}let _=X.$.parseOwnDefinitionFormat($.normalized,X),L=M6(_,W,X.$);if(L.index)Z.index=y(Z.index,L.index);if(L.required)Z.required=y(Z.required,L.required)}let G=X.$.node("structure",Z);return X.$.parseSchema({domain:"object",structure:q?.merge(G)??G})},mU=(U,X,q,Z)=>{U[X]=y(U[X],Z.$.node(X,q))},MY=(U)=>`Value of '+' key must be 'reject', 'delete', or 'ignore' (was ${E(U)})`,wY="Spread operator may only be used as the first key in an object",PY=(U)=>typeof U==="symbol"?{kind:"required",normalized:U}:U[U.length-1]==="?"?U[U.length-2]===W1?{kind:"required",normalized:`${U.slice(0,-2)}?`}:{kind:"optional",normalized:U.slice(0,-1)}:U[0]==="["&&U[U.length-1]==="]"?{kind:"index",normalized:U.slice(1,-1)}:U[0]===W1&&U[1]==="["&&U[U.length-1]==="]"?{kind:"required",normalized:U.slice(1)}:U==="..."?{kind:"spread"}:U==="+"?{kind:"undeclared"}:{kind:"required",normalized:U==="\\..."?"...":U==="\\+"?"+":U},IY=(U)=>`Spread operand must resolve to an object literal type (was ${U})`;var fZ=(U,X)=>gY(U)?vZ[U[0]](U,X):fY(U)?kZ[U[1]](U,X):null,KY=(U,X)=>X.$.parseOwnDefinitionFormat(U[1],X).keyof(),pU=(U,X)=>{if(U[2]===void 0)return F(yU(U[1],""));let q=X.$.parseOwnDefinitionFormat(U[0],X),Z=X.$.parseOwnDefinitionFormat(U[2],X);if(U[1]==="|")return X.$.node("union",{branches:[q,Z]});let Q=U[1]==="&"?W0(q,Z,X.$):B2(q,Z,X.$);if(Q instanceof T)return Q.throw();return Q},NY=(U,X)=>X.$.parseOwnDefinitionFormat(U[0],X).array(),CY=(U,X)=>{if(typeof U[2]!=="function")return F(yZ("=>",U[2]));return X.$.parseOwnDefinitionFormat(U[0],X).pipe(U[2])},yZ=(U,X)=>`${U===":"?"Narrow":"Morph"} expression requires a function following '${U}' (was ${typeof X})`,SY=(U,X)=>{if(typeof U[2]!=="function")return F(yZ(":",U[2]));return X.$.parseOwnDefinitionFormat(U[0],X).constrain("predicate",U[2])},EY=(U,X)=>X.$.parseOwnDefinitionFormat(U[0],X).configure(U[2],U[3]),gZ=(U)=>U,bY=gZ({"[]":NY,"?":()=>F(N6)}),jY=gZ({"|":pU,"&":pU,":":SY,"=>":CY,"|>":pU,"@":EY,"=":()=>F(C6)}),kZ={...bY,...jY},fY=(U)=>kZ[U[1]]!==void 0,yY=(U)=>U,vZ=yY({keyof:KY,instanceof:(U,X)=>{if(typeof U[1]!=="function")return F(jZ(H2(U[1])));let q=U.slice(1).map((Z)=>typeof Z==="function"?X.$.node("proto",{proto:Z}):F(jZ(H2(Z))));return q.length===1?q[0]:X.$.node("union",{branches:q})},"===":(U,X)=>X.$.units(U.slice(1))}),gY=(U)=>vZ[U[0]]!==void 0,jZ=(U)=>`Expected a constructor following 'instanceof' operator (was ${U})`;var uZ=(U,X)=>{let q=[{}],Z=0;while(Z<U.length){let Q=!1;if(U[Z]==="..."&&Z<U.length-1)Q=!0,Z++;let G=f6(U[Z],X),[Y,H,J]=!x(G)?[G]:G;if(Z++,Q){if(!Y.extends(O.intrinsic.Array))return F(xY(Y.expression));q=q.flatMap((W)=>Y.distribute(($)=>vY($6(W),$)))}else q=q.map((W)=>{if(H==="?")return mZ(W,Y);if(H==="=")return kY(W,Y,J);return lU(W,Y)})}return X.$.parseSchema(q.map((Q)=>C0(Q)?{proto:Array,exactLength:0}:{proto:Array,sequence:Q}))},lU=(U,X)=>{if(U.defaultables||U.optionals)return F(U.variadic?DU:hY);if(U.variadic)U.postfix=y(U.postfix,X);else U.prefix=y(U.prefix,X);return U},mZ=(U,X)=>{if(U.variadic)return F(pZ);return U.optionals=y(U.optionals,X),U},kY=(U,X,q)=>{if(U.variadic)return F(pZ);if(U.optionals)return F(uY);return U.defaultables=y(U.defaultables,[[X,q]]),U},xZ=(U,X)=>{if(U.postfix)F(hZ);if(U.variadic){if(!U.variadic.equals(X))F(hZ)}else U.variadic=X.internal;return U},vY=(U,X)=>{let q=X.select({method:"find",kind:"sequence"});if(!q)return xZ(U,O.intrinsic.unknown);if(q.prefix)for(let Z of q.prefix)lU(U,Z);if(q.optionals)for(let Z of q.optionals)mZ(U,Z);if(q.variadic)xZ(U,q.variadic);if(q.postfix)for(let Z of q.postfix)lU(U,Z);return U},xY=(U)=>`Spread element must be an array (was ${U})`,hZ="A tuple may have at most one variadic element",hY="A required element may not follow an optional element",pZ="An optional element may not follow a variadic element";var uY="A defaultable element may not follow an optional element without a default";var mY={},y6=(U,X)=>{if(typeof U==="string"){if(X.args&&Object.keys(X.args).some((Z)=>U.includes(Z)))return xU(U,X);let q=mY[X.$.name]??={};return q[U]??=xU(U,X)}return Z0(U,"object")?pY(U,X):F(dU(r(U)))},pY=(U,X)=>{let q=Y2(U);switch(q){case void 0:if(M(U,"root"))return U;if("~standard"in U)return lY(U,X);return bZ(U,X);case"Array":return dY(U,X);case"RegExp":return X.$.node("intersection",{domain:"string",pattern:U},{prereduced:!0});case"Function":{let Z=l0(U)?U():U;if(M(Z,"root"))return Z;return F(dU("Function"))}default:return F(dU(q??E(U)))}},lY=(U,X)=>X.$.intrinsic.unknown.pipe((q,Z)=>{let Q=U["~standard"].validate(q);if(!Q.issues)return Q.value;for(let{message:G,path:Y}of Q.issues)if(Y)if(Y.length)Z.error({problem:NX(G),relativePath:Y.map((H)=>typeof H==="object"?H.key:H)});else Z.error({message:G});else Z.error({message:G})}),dY=(U,X)=>fZ(U,X)??uZ(U,X),dU=(U)=>`Type definitions must be strings or objects (was ${U})`;class cU extends Y0{constructor(U){let X=Object.assign({errors:H0,hkt:e,$:U,raw:U.parse,module:U.constructor.module,scope:U.constructor.scope,declare:U.declare,define:U.define,match:U.match,generic:U.generic,schema:U.schema,keywords:U.ambient,unit:U.unit,enumerated:U.enumerated,instanceOf:U.instanceOf,valueOf:U.valueOf,or:U.or,and:U.and,merge:U.merge,pipe:U.pipe,fn:U.fn},U.ambientAttachments);super((...q)=>{if(q.length===1)return U.parse(q[0]);if(q.length===2&&typeof q[0]==="string"&&q[0][0]==="<"&&q[0][q[0].length-1]===">"){let Z=q[0].slice(1,-1),Q=U.parseGenericParams(Z,{});return new o0(Q,q[1],U,U,null)}return U.parse(q)},{attach:X})}}var m1=O;class g6 extends w6{get ambientAttachments(){if(!m1.typeAttachments)return;return this.cacheGetter("ambientAttachments",S(m1.typeAttachments,(U,X)=>[U,this.bindReference(X)]))}preparseOwnAliasEntry(U,X){let q=U.indexOf("<");if(q===-1){if(M(X,"module")||M(X,"generic"))return[U,X];let G=this.name==="ark"?U:U==="root"?this.name:`${this.name}.${U}`,Y=this.resolvedConfig.keywords?.[G];if(Y)X=[X,"@",Y];return[U,X]}if(U[U.length-1]!==">")F("'>' must be the last character of a generic declaration in a scope");let Z=U.slice(0,q),Q=U.slice(q+1,-1);return[Z,()=>{let G=this.parseGenericParams(Q,{alias:Z});return Xq(G,X,this)}]}parseGenericParams(U,X){return j6(new F2(U),[],this.createParseContext({...X,def:U,prefix:"generic"}))}normalizeRootScopeValue(U){if(l0(U)&&!M(U,"generic"))return U();return U}preparseOwnDefinitionFormat(U,X){return{...X,def:U,prefix:X.alias??"type"}}parseOwnDefinitionFormat(U,X){if(!(X.alias&&(X.alias in this.aliases))&&!X.args)X.args={this:X.id};let Z=y6(U,X);if(x(Z)){if(Z[1]==="=")return F(C6);if(Z[1]==="?")return F(N6)}return Z}unit=(U)=>this.units([U]);valueOf=(U)=>this.units(TX(U));enumerated=(...U)=>this.units(U);instanceOf=(U)=>this.node("proto",{proto:U},{prereduced:!0});or=(...U)=>this.schema(U.map((X)=>this.parse(X)));and=(...U)=>U.reduce((X,q)=>X.and(this.parse(q)),this.intrinsic.unknown);merge=(...U)=>U.reduce((X,q)=>X.merge(this.parse(q)),this.intrinsic.object);pipe=(...U)=>this.intrinsic.unknown.pipe(...U);fn=new hU(this);match=new uU(this);declare=()=>({type:this.type});define(U){return U}type=new cU(this);static scope=(U,X={})=>new g6(U,X);static module=(U,X={})=>this.scope(U,X).export()}var j2=Object.assign(g6.scope,{define:(U)=>U}),f=g6;class lZ extends e{description='merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'}var cY=V0(["base",I.object],["props",I.object])((U)=>U.base.merge(U.props),lZ),dZ=f.module({Key:I.key,Merge:cY});class cZ extends e{}var iY=V0("element")((U)=>{let X=U.element.exclude(I.Array),q=X.array();return X.rawOr(q).pipe(p0).distribute((Z)=>Z.assertHasKind("morph").declareOut(q),v)},cZ),iZ=f.module({root:I.Array,readonly:"root",index:I.nonNegativeIntegerString,liftFrom:iY},{name:"Array"});var iU=v(["string",_1.FileConstructor]),sY=iU.rawOr(iU.array()),sZ=v({meta:"an object representing parsed form data",domain:"object",index:{signature:"string",value:sY}}),oZ=f.module({root:["instanceof",FormData],value:iU,parsed:sZ,parse:v({in:FormData,morphs:(U)=>{let X={};for(let[q,Z]of U)if(q in X){let Q=X[q];if(typeof Q==="string"||Q instanceof _1.FileConstructor)X[q]=[Q,Z];else Q.push(Z)}else X[q]=Z;return X},declaredOut:sZ})},{name:"FormData"});var rZ=f.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 oY={Boolean:1,Number:1,String:1},aZ=f.module({...S({...y4,...k4},(U,X)=>(U in oY)?[]:[U,["instanceof",X]]),Array:iZ,TypedArray:rZ,FormData:oZ});var rY=v({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"}),aY=v({domain:"number",divisor:1}),k6=f.module({root:I.number,integer:aY,epoch:rY,safe:v({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 l=(U,X,q)=>{let Z={domain:"string",pattern:{rule:U.source,flags:U.flags,meta:X}};if(q)Z.meta={format:q};return x1("intersection",Z)},nZ=l(W2,"a well-formed integer string"),W8=f.module({root:nZ,parse:v({in:nZ,morphs:(U,X)=>{let q=Number.parseInt(U);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"}),nY=l(/^[\dA-Fa-f]+$/,"hex characters only"),tY=f.module({root:l(/^(?:[\d+/A-Za-z]{4})*(?:[\d+/A-Za-z]{2}==|[\d+/A-Za-z]{3}=)?$/,"base64-encoded"),url:l(/^(?:[\w-]{4})*(?:[\w-]{2}(?:==|%3D%3D)?|[\w-]{3}(?:=|%3D)?)?$/,"base64url-encoded")},{name:"string.base64"}),tZ=l(/^[A-Z].*$/,"capitalized"),eY=f.module({root:v({in:"string",morphs:(U)=>U.charAt(0).toUpperCase()+U.slice(1),declaredOut:tZ}),preformatted:tZ},{name:"string.capitalize"}),U7=(U)=>{let X=U.replace(/[ -]+/g,""),q=0,Z,Q,G=!1;for(let Y=X.length-1;Y>=0;Y--){if(Z=X.substring(Y,Y+1),Q=Number.parseInt(Z,10),G)Q*=2,q+=Q>=10?Q%10+1:Q;else q+=Q;G=!G}return!!(q%10===0?X:!1)},X7=/^(?: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}))$/,q7=v({domain:"string",pattern:{meta:"a credit card number",rule:X7.source},predicate:{meta:"a credit card number",predicate:U7}});var Z7=/^([+-]?\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)?)?)?)?$/;var Q7=(U)=>!Number.isNaN(new Date(U).valueOf()),eZ=v({domain:"string",predicate:{meta:"a parsable date",predicate:Q7}}).assertHasKind("intersection"),U8=W8.root.internal.narrow((U,X)=>{let q=Number.parseInt(U),Z=k6.epoch(q);if(Z instanceof H0)return X.errors.merge(Z),!1;return!0}).configure({description:"an integer string representing a safe Unix timestamp"},"self").assertHasKind("intersection"),G7=f.module({root:U8,parse:v({in:U8,morphs:(U)=>new Date(U),declaredOut:I.Date})},{name:"string.date.epoch"}),X8=l(Z7,"an ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) date").internal.assertHasKind("intersection"),Y7=f.module({root:X8,parse:v({in:X8,morphs:(U)=>new Date(U),declaredOut:I.Date})},{name:"string.date.iso"}),H7=f.module({root:eZ,parse:v({declaredIn:eZ,in:"string",morphs:(U,X)=>{let q=new Date(U);if(Number.isNaN(q.valueOf()))return X.error("a parsable date");return q},declaredOut:I.Date}),iso:Y7,epoch:G7},{name:"string.date"}),J7=l(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/,"an email address","email"),q8="(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",r0=`(${q8}[.]){3}${q8}`,W7=new RegExp(`^${r0}$`),c="(?:[0-9a-fA-F]{1,4})",_7=new RegExp(`^((?:${c}:){7}(?:${c}|:)|(?:${c}:){6}(?:${r0}|:${c}|:)|(?:${c}:){5}(?::${r0}|(:${c}){1,2}|:)|(?:${c}:){4}(?:(:${c}){0,1}:${r0}|(:${c}){1,3}|:)|(?:${c}:){3}(?:(:${c}){0,2}:${r0}|(:${c}){1,4}|:)|(?:${c}:){2}(?:(:${c}){0,3}:${r0}|(:${c}){1,5}|:)|(?:${c}:){1}(?:(:${c}){0,4}:${r0}|(:${c}){1,6}|:)|(?::((?::${c}){0,5}:${r0}|(?::${c}){1,7}|:)))(%[0-9a-zA-Z.]{1,})?$`),$7=f.module({root:["v4 | v6","@","an IP address"],v4:l(W7,"an IPv4 address","ipv4"),v6:l(_7,"an IPv6 address","ipv6")},{name:"string.ip"}),p1="a JSON string",_8=(U)=>{if(!(U instanceof SyntaxError))throw U;return`must be ${p1} (${U})`},L7=v({meta:p1,domain:"string",predicate:{meta:p1,predicate:(U,X)=>{try{return JSON.parse(U),!0}catch(q){return X.reject({code:"predicate",expected:p1,problem:_8(q)})}}}}),z7=(U,X)=>{if(U.length===0)return X.error({code:"predicate",expected:p1,actual:"empty"});try{return JSON.parse(U)}catch(q){return X.error({code:"predicate",expected:p1,problem:_8(q)})}},F7=f.module({root:L7,parse:v({meta:"safe JSON string parser",in:"string",morphs:z7,declaredOut:I.jsonObject})},{name:"string.json"}),Z8=l(/^[a-z]*$/,"only lowercase letters"),A7=f.module({root:v({in:"string",morphs:(U)=>U.toLowerCase(),declaredOut:Z8}),preformatted:Z8},{name:"string.lower"}),$8=["NFC","NFD","NFKC","NFKD"],f2=S($8,(U,X)=>[X,v({domain:"string",predicate:(q)=>q.normalize(X)===q,meta:`${X}-normalized unicode`})]),v6=S($8,(U,X)=>[X,v({in:"string",morphs:(q)=>q.normalize(X),declaredOut:f2[X]})]),O7=f.module({root:v6.NFC,preformatted:f2.NFC},{name:"string.normalize.NFC"}),V7=f.module({root:v6.NFD,preformatted:f2.NFD},{name:"string.normalize.NFD"}),T7=f.module({root:v6.NFKC,preformatted:f2.NFKC},{name:"string.normalize.NFKC"}),B7=f.module({root:v6.NFKD,preformatted:f2.NFKD},{name:"string.normalize.NFKD"}),R7=f.module({root:"NFC",NFC:O7,NFD:V7,NFKC:T7,NFKD:B7},{name:"string.normalize"}),Q8=l(H6,"a well-formed numeric string"),D7=f.module({root:Q8,parse:v({in:Q8,morphs:(U)=>Number.parseFloat(U),declaredOut:I.number})},{name:"string.numeric"}),G8="a regex pattern",M7=v({domain:"string",predicate:{meta:G8,predicate:(U,X)=>{try{return new RegExp(U),!0}catch(q){return X.reject({code:"predicate",expected:G8,problem:String(q)})}}},meta:{format:"regex"}}),w7=/^(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-]+)*))?$/,P7=l(w7,"a semantic version (see https://semver.org/)"),Y8=l(/^\S.*\S$|^\S?$/,"trimmed"),I7=f.module({root:v({in:"string",morphs:(U)=>U.trim(),declaredOut:Y8}),preformatted:Y8},{name:"string.trim"}),H8=l(/^[A-Z]*$/,"only uppercase letters"),K7=f.module({root:v({in:"string",morphs:(U)=>U.toUpperCase(),declaredOut:H8}),preformatted:H8},{name:"string.upper"}),N7=(U)=>URL.canParse(U),J8=v({domain:"string",predicate:{meta:"a URL string",predicate:N7},meta:{format:"uri"}}),C7=f.module({root:J8,parse:v({declaredIn:J8,in:"string",morphs:(U,X)=>{try{return new URL(U)}catch{return X.error("a URL string")}},declaredOut:v(URL)})},{name:"string.url"}),S7=f.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:l(/^[\da-f]{8}-[\da-f]{4}-1[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv1"),v2:l(/^[\da-f]{8}-[\da-f]{4}-2[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv2"),v3:l(/^[\da-f]{8}-[\da-f]{4}-3[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv3"),v4:l(/^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv4"),v5:l(/^[\da-f]{8}-[\da-f]{4}-5[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv5"),v6:l(/^[\da-f]{8}-[\da-f]{4}-6[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv6"),v7:l(/^[\da-f]{8}-[\da-f]{4}-7[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv7"),v8:l(/^[\da-f]{8}-[\da-f]{4}-8[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv8")},{name:"string.uuid"}),L8=f.module({root:I.string,alpha:l(/^[A-Za-z]*$/,"only letters"),alphanumeric:l(/^[\dA-Za-z]*$/,"only letters and digits 0-9"),hex:nY,base64:tY,capitalize:eY,creditCard:q7,date:H7,digits:l(/^\d*$/,"only digits 0-9"),email:J7,integer:W8,ip:$7,json:F7,lower:A7,normalize:R7,numeric:D7,regex:M7,semver:P7,trim:I7,upper:K7,url:C7,uuid:S7},{name:"string"});var z8=f.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}),F8=f.module({root:I.unknown,any:I.unknown},{name:"unknown"}),E7=f.module({root:I.jsonObject,stringify:x1("morph",{in:I.jsonObject,morphs:(U)=>JSON.stringify(U),declaredOut:I.string})},{name:"object.json"}),A8=f.module({root:I.object,json:E7},{name:"object"});class O8 extends e{description='instantiate an object from an index signature and corresponding value type like `Record("string", "number")`'}var b7=V0(["K",I.key],"V")((U)=>({domain:"object",index:{signature:U.K,value:U.V}}),O8);class V8 extends e{description='pick a set of properties from an object like `Pick(User, "name | age")`'}var j7=V0(["T",I.object],["K",I.key])((U)=>U.T.pick(U.K),V8);class T8 extends e{description='omit a set of properties from an object like `Omit(User, "age")`'}var f7=V0(["T",I.object],["K",I.key])((U)=>U.T.omit(U.K),T8);class B8 extends e{description="make all named properties of an object optional like `Partial(User)`"}var y7=V0(["T",I.object])((U)=>U.T.partial(),B8);class R8 extends e{description="make all named properties of an object required like `Required(User)`"}var g7=V0(["T",I.object])((U)=>U.T.required(),R8);class D8 extends e{description='exclude branches of a union like `Exclude("boolean", "true")`'}var k7=V0("T","U")((U)=>U.T.exclude(U.U),D8);class M8 extends e{description='extract branches of a union like `Extract("0 | false | 1", "number")`'}var v7=V0("T","U")((U)=>U.T.extract(U.U),M8),w8=f.module({Exclude:k7,Extract:v7,Omit:f7,Partial:y7,Pick:j7,Record:b7,Required:g7});var x0=j2({...z8,...w8,...aZ,...dZ,string:L8,number:k6,object:A8,unknown:F8},{prereducedAliases:!0,name:"ark"}),n=x0.export();Object.assign(m1.ambient,n);m1.typeAttachments={string:n.string.root,number:n.number.root,bigint:n.bigint,boolean:n.boolean,symbol:n.symbol,undefined:n.undefined,null:n.null,object:n.object.root,unknown:n.unknown.root,false:n.false,true:n.true,never:n.never,arrayIndex:n.Array.index,Key:n.Key,Record:n.Record,Array:n.Array.root,Date:n.Date};var sU=Object.assign(x0.type,m1.typeAttachments),x7=x0.match,h7=x0.fn,u7=x0.generic,HN=x0.schema,m7=x0.define,p7=x0.declare;var z1=j2({Operator:"'EQ' | '==' | 'NEQ' | '!=' | 'GT' | '>' | 'GTE' | '>=' | 'LT' | '<' | 'LTE' | '<=' | 'IN' | 'NOT_IN' | 'CONTAINS' | 'MATCHES' | 'RANGE' | 'SINCE' | 'AFTER' | 'BEFORE' | 'UNTIL'",Condition:"RangeCondition | ListCondition | ContainsCondition | NumericCondition | RegexCondition | 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'",value:"string | unknown[]"},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","probability?":"0 <= number <= 1"},ActionGroup:{"mode?":"'ALL' | 'EITHER' | 'SEQUENCE'",actions:"(Action | ActionGroup)[] >= 1"},RuleAction:"Action | ActionGroup",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[]","comment?":"string"}}).export(),IN=z1.Operator,KN=z1.Condition,NN=z1.ConditionGroup,CN=z1.RuleCondition,SN=z1.Action,EN=z1.ActionGroup,l7=z1.TriggerRule;class d7{static validate(U){let X=l7(U);if(X instanceof sU.errors){let Q=[];for(let G of X){let Y=G.path.join("."),H=G.message,J=void 0;if(Y.endsWith("on")&&(H.includes("string")||H.includes("must be")))if(typeof U==="object"&&U&&U.on===!0)H="The 'on' field is incorrect (boolean true found).",J=`In YAML, 'on' is a boolean keyword (true). Quote it: "on": "EventName"`;else J="Ensure 'on' is a string event name.";Q.push({path:Y,message:H,suggestion:J,severity:"error"})}return{valid:!1,issues:Q}}let q=X,Z=[];if(this.validateConditionsRecursive(q.if,Z,"if"),Z.length>0)return{valid:!1,issues:Z};return{valid:!0,rule:q}}static validateConditionsRecursive(U,X,q){if(!U)return;if(Array.isArray(U)){U.forEach((Z,Q)=>{this.validateConditionsRecursive(Z,X,`${q}.${Q}`)});return}if("conditions"in U&&Array.isArray(U.conditions)){U.conditions.forEach((Z,Q)=>{this.validateConditionsRecursive(Z,X,`${q}.conditions.${Q}`)});return}if("operator"in U&&"value"in U)this.validateConditionValue(U,X,q)}static validateConditionValue(U,X,q){let{operator:Z,value:Q}=U;if(["IN","NOT_IN","RANGE","CONTAINS"].includes(Z)){if(Z==="CONTAINS"){if(typeof Q!=="string"&&!Array.isArray(Q))X.push({path:`${q}.value`,message:`Incorrect value type: Operator 'CONTAINS' expects a String or List (Array), but received ${typeof Q}.`,suggestion:"Use a substring or a list of items.",severity:"error"});return}if(!Array.isArray(Q)){X.push({path:`${q}.value`,message:`Incorrect value type: Operator '${Z}' expects a List (Array), but received ${typeof Q}.`,suggestion:Z==="RANGE"?"Use format [min, max]":"Use format [item1, item2]",severity:"error"});return}if(Z==="RANGE"){if(Q.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 Q[0]!=="number"&&typeof Q[0]!=="string")X.push({path:`${q}.value`,message:"Incorrect range type: Range values must be numbers or expression strings.",severity:"error"})}}else if(Z==="MATCHES")if(typeof Q!=="string")X.push({path:`${q}.value`,message:`Incorrect value type: Operator 'MATCHES' expects a string (regex pattern), but received ${typeof Q}.`,severity:"error"});else try{new RegExp(Q)}catch(G){X.push({path:`${q}.value`,message:`Invalid Regex pattern: ${G.message}`,severity:"error"})}else if(["GT","GTE","LT","LTE",">",">=","<","<="].includes(Z)){if(typeof Q!=="number"&&typeof Q!=="string")X.push({path:`${q}.value`,message:`Incorrect value type: Operator '${Z}' expects a number or expression string, but received ${typeof Q}.`,severity:"error"})}}}class x6{conditions=[];op="AND";constructor(U="AND"){this.op=U}where(U,X,q){return this.conditions.push({field:U,operator:X,value:q}),this}and(U){let X=new x6("AND");return this.conditions.push(U(X).build()),this}or(U){let X=new x6("OR");return this.conditions.push(U(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 P8{actions=[];mode="ALL";setMode(U){return this.mode=U,this}add(U,X,q){return this.actions.push({type:U,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 c7{rule={enabled:!0,priority:0};withId(U){return this.rule.id=U,this}withName(U){return this.rule.name=U,this}withDescription(U){return this.rule.description=U,this}withPriority(U){return this.rule.priority=U,this}withCooldown(U){return this.rule.cooldown=U,this}withTags(U){return this.rule.tags=U,this}on(U){return this.rule.on=U,this}if(U,X,q){if(!this.rule.if)this.rule.if={field:U,operator:X,value:q};else if(Array.isArray(this.rule.if))this.rule.if.push({field:U,operator:X,value:q});else this.rule.if=[this.rule.if,{field:U,operator:X,value:q}];return this}ifComplex(U){let X=new x6,q=U(X).build();return this.rule.if=q,this}do(U,X,q){let Z={type:U,params:X,...q};if(!this.rule.do)this.rule.do=Z;else if(Array.isArray(this.rule.do))this.rule.do.push(Z);else if(this.rule.do&&typeof this.rule.do==="object"&&"actions"in this.rule.do)this.rule.do.actions.push(Z);else this.rule.do=[this.rule.do,Z];return this}doComplex(U){let X=new P8,q=U(X).build();return this.rule.do=q,this}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");return this.rule}}var yQ=N4(fQ(),1);class cA{static toYaml(U){let X=Array.isArray(U)?U:[U];return yQ.default.stringify(X)}static async saveToFile(U,X){let q=this.toYaml(U);if(typeof process<"u"&&process.versions&&process.versions.node){let Z=await import("fs/promises"),G=(await import("path")).dirname(X);await Z.mkdir(G,{recursive:!0}),await Z.writeFile(X,q,"utf8")}else throw Error("saveToFile is only supported in Node.js/Bun environments")}}export{G1 as triggerEmitter,YO as engineEvents,d7 as TriggerValidator,U2 as TriggerUtils,l7 as TriggerRuleSchema,Z2 as TriggerEngine,E4 as TriggerEmitter,R0 as StateManager,cA as RuleExporter,b4 as RuleEngine,CN as RuleConditionSchema,c7 as RuleBuilder,S4 as InMemoryPersistence,$0 as ExpressionEngine,mQ as EventQueue,Q6 as EngineEvent,Z2 as Engine,lQ as ContextAdapter,KN as ConditionSchema,NN as ConditionGroupSchema,x6 as ConditionBuilder,IN as ComparisonOperatorSchema,pQ as BrowserPersistence,b4 as AdvancedRuleEngine,SN as ActionSchema,w1 as ActionRegistry,EN as ActionGroupSchema,P8 as ActionBuilder};
|
|
185
185
|
|
|
186
|
-
//# debugId=
|
|
186
|
+
//# debugId=6EAE525B11800D5464756E2164756E21
|