trigger_system 1.0.1 → 1.0.4
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 +15 -13
- package/dist/core/base-engine.d.ts +19 -0
- package/dist/core/base-engine.d.ts.map +1 -0
- package/dist/core/context-adapter.d.ts +8 -4
- package/dist/core/context-adapter.d.ts.map +1 -1
- package/dist/core/dependency-graph.d.ts.map +1 -1
- package/dist/core/engine.d.ts +2 -2
- package/dist/core/engine.d.ts.map +1 -1
- package/dist/core/expression-engine.d.ts +2 -2
- 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/persistence.d.ts +4 -4
- package/dist/core/persistence.d.ts.map +1 -1
- package/dist/core/rule-engine-new.d.ts +52 -0
- package/dist/core/rule-engine-new.d.ts.map +1 -0
- package/dist/core/rule-engine.d.ts +1 -1
- package/dist/core/rule-engine.d.ts.map +1 -1
- package/dist/core/state-manager.d.ts +3 -3
- package/dist/core/state-manager.d.ts.map +1 -1
- package/dist/core/trigger-engine.d.ts +86 -0
- package/dist/core/trigger-engine.d.ts.map +1 -0
- package/dist/domain/validator.d.ts +1 -1
- package/dist/domain/validator.d.ts.map +1 -1
- package/dist/index.browser.d.ts +1 -1
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/lsp/completions.d.ts.map +1 -1
- package/dist/lsp/data-context.d.ts +4 -4
- package/dist/lsp/data-context.d.ts.map +1 -1
- package/dist/node/index.js +120 -120
- package/dist/node/index.js.map +16 -14
- package/dist/node/node.js +145 -145
- package/dist/node/node.js.map +17 -15
- package/dist/sdk/builder.d.ts +5 -5
- package/dist/sdk/builder.d.ts.map +1 -1
- package/dist/types.d.ts +47 -17
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/emitter.d.ts +9 -3
- package/dist/utils/emitter.d.ts.map +1 -1
- package/dist/utils/utils.d.ts +3 -3
- package/dist/utils/utils.d.ts.map +1 -1
- package/package.json +1 -1
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 pQ}from"node:module";var vQ=Object.create;var{getPrototypeOf:xQ,defineProperty:N4,getOwnPropertyNames:hQ}=Object;var uQ=Object.prototype.hasOwnProperty;var C4=(U,X,q)=>{q=U!=null?vQ(xQ(U)):{};let Z=X||!U||!U.__esModule?N4(q,"default",{value:U,enumerable:!0}):q;for(let Q of hQ(U))if(!uQ.call(Z,Q))N4(Z,Q,{get:()=>U[Q],enumerable:!0});return Z};var R=(U,X)=>()=>(X||U((X={exports:{}}).exports,X),X.exports);var mQ=(U,X)=>{for(var q in X)N4(U,q,{get:X[q],enumerable:!0,configurable:!0,set:(Z)=>X[q]=()=>Z})};var JX=(U,X)=>()=>(U&&(X=U(U=0)),X);var M1=pQ(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||typeof Z!=="object"||!(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 E4{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 E4}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 WX={};mQ(WX,{ActionRegistry:()=>P1});class P1{static instance;handlers=new Map;constructor(){this.registerDefaults()}static getInstance(){if(!this.instance)this.instance=new P1;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=typeof q==="string"?$0.interpolate(q,X):String(q);return console.log(`[TriggerLog] ${Z}`),{message:Z}}),this.register("response",(U,X)=>{let q=U.params?.content||U.params?.body||"",Z=typeof q==="string"?$0.interpolate(q,X):String(q);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=typeof q==="string"?$0.interpolate(q,X):String(q);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=typeof q==="string"?$0.interpolate(q,X):String(q),Q=String(U.params?.method||"POST");try{let G=await fetch(Z,{method:Q,headers:{"Content-Type":"application/json",...typeof U.params?.headers==="object"&&U.params.headers!==null&&!Array.isArray(U.params.headers)?U.params.headers:{}},body:JSON.stringify(X.data)});return{url:Z,method:Q,status:G.status,headers:(()=>{let Y={};return G.headers.forEach((J,H)=>Y[H]=J),Y})(),body:await G.text()}}catch(G){return{url:Z,method:Q,error:String(G)}}}),this.register("STATE_SET",async(U,X)=>{let q=String(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=String(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=JX(()=>{X2()});var k=R((XJ)=>{var rU=Symbol.for("yaml.alias"),N8=Symbol.for("yaml.document"),u6=Symbol.for("yaml.map"),C8=Symbol.for("yaml.pair"),aU=Symbol.for("yaml.scalar"),m6=Symbol.for("yaml.seq"),u0=Symbol.for("yaml.node.type"),o7=(U)=>!!U&&typeof U==="object"&&U[u0]===rU,r7=(U)=>!!U&&typeof U==="object"&&U[u0]===N8,a7=(U)=>!!U&&typeof U==="object"&&U[u0]===u6,n7=(U)=>!!U&&typeof U==="object"&&U[u0]===C8,S8=(U)=>!!U&&typeof U==="object"&&U[u0]===aU,t7=(U)=>!!U&&typeof U==="object"&&U[u0]===m6;function E8(U){if(U&&typeof U==="object")switch(U[u0]){case u6:case m6:return!0}return!1}function e7(U){if(U&&typeof U==="object")switch(U[u0]){case rU:case u6:case aU:case m6:return!0}return!1}var UJ=(U)=>(S8(U)||E8(U))&&!!U.anchor;XJ.ALIAS=rU;XJ.DOC=N8;XJ.MAP=u6;XJ.NODE_TYPE=u0;XJ.PAIR=C8;XJ.SCALAR=aU;XJ.SEQ=m6;XJ.hasAnchor=UJ;XJ.isAlias=o7;XJ.isCollection=E8;XJ.isDocument=r7;XJ.isMap=a7;XJ.isNode=e7;XJ.isPair=n7;XJ.isScalar=S8;XJ.isSeq=t7});var y2=R((BJ)=>{var t=k(),_0=Symbol("break visit"),b8=Symbol("skip children"),j0=Symbol("remove node");function p6(U,X){let q=j8(X);if(t.isDocument(U)){if(l1(null,U.contents,q,Object.freeze([U]))===j0)U.contents=null}else l1(null,U,q,Object.freeze([]))}p6.BREAK=_0;p6.SKIP=b8;p6.REMOVE=j0;function l1(U,X,q,Z){let Q=f8(U,X,q,Z);if(t.isNode(Q)||t.isPair(Q))return y8(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===j0)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===j0)X.key=null;let Y=l1("value",X.value,q,Z);if(Y===_0)return _0;else if(Y===j0)X.value=null}}return Q}async function l6(U,X){let q=j8(X);if(t.isDocument(U)){if(await d1(null,U.contents,q,Object.freeze([U]))===j0)U.contents=null}else await d1(null,U,q,Object.freeze([]))}l6.BREAK=_0;l6.SKIP=b8;l6.REMOVE=j0;async function d1(U,X,q,Z){let Q=await f8(U,X,q,Z);if(t.isNode(Q)||t.isPair(Q))return y8(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===j0)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===j0)X.key=null;let Y=await d1("value",X.value,q,Z);if(Y===_0)return _0;else if(Y===j0)X.value=null}}return Q}function j8(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 f8(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 y8(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`)}}BJ.visit=p6;BJ.visitAsync=l6});var nU=R((wJ)=>{var g8=k(),DJ=y2(),MJ={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},PJ=(U)=>U.replace(/[!,[\]{}]/g,(X)=>MJ[X]);class B0{constructor(U,X){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},B0.defaultYaml,U),this.tags=Object.assign({},B0.defaultTags,X)}clone(){let U=new B0(this.yaml,this.tags);return U.docStart=this.docStart,U}atDocument(){let U=new B0(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:B0.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},B0.defaultTags);break}return U}add(U,X){if(this.atNextDocument)this.yaml={explicit:B0.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},B0.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+PJ(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&&g8.isNode(U.contents)){let Q={};DJ.visit(U.contents,(G,Y)=>{if(g8.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
|
+
`)}}B0.defaultYaml={explicit:!1,version:"1.2"};B0.defaultTags={"!!":"tag:yaml.org,2002:"};wJ.Directives=B0});var d6=R((SJ)=>{var k8=k(),KJ=y2();function NJ(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 v8(U){let X=new Set;return KJ.visit(U,{Value(q,Z){if(Z.anchor)X.add(Z.anchor)}}),X}function x8(U,X){for(let q=1;;++q){let Z=`${U}${q}`;if(!X.has(Z))return Z}}function CJ(U,X){let q=[],Z=new Map,Q=null;return{onAnchor:(G)=>{q.push(G),Q??(Q=v8(U));let Y=x8(X,Q);return Q.add(Y),Y},setAnchors:()=>{for(let G of q){let Y=Z.get(G);if(typeof Y==="object"&&Y.anchor&&(k8.isScalar(Y.node)||k8.isCollection(Y.node)))Y.node.anchor=Y.anchor;else{let J=Error("Failed to resolve repeated object (this should not happen)");throw J.source=G,J}}},sourceObjects:Z}}SJ.anchorIsValid=NJ;SJ.anchorNames=v8;SJ.createNodeAnchors=CJ;SJ.findNewAnchor=x8});var tU=R((yJ)=>{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],J=g2(U,Z,String(Q),Y);if(J===void 0)delete Z[Q];else if(J!==Y)Z[Q]=J}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)}yJ.applyReviver=g2});var n0=R((vJ)=>{var kJ=k();function h8(U,X,q){if(Array.isArray(U))return U.map((Z,Q)=>h8(Z,String(Q),q));if(U&&typeof U.toJSON==="function"){if(!q||!kJ.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}vJ.toJS=h8});var c6=R((mJ)=>{var hJ=tU(),u8=k(),uJ=n0();class m8{constructor(U){Object.defineProperty(this,u8.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(!u8.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=uJ.toJS(this,"",G);if(typeof Z==="function")for(let{count:J,res:H}of G.anchors.values())Z(H,J);return typeof Q==="function"?hJ.applyReviver(Q,{"":Y},"",Y):Y}}mJ.NodeBase=m8});var k2=R((sJ)=>{var lJ=d6(),dJ=y2(),c1=k(),cJ=c6(),iJ=n0();class p8 extends cJ.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=[],dJ.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 J=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(J)}let Y=q.get(G);if(!Y)iJ.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=i6(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(lJ.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 i6(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=i6(U,Q,q);if(G>Z)Z=G}return Z}else if(c1.isPair(X)){let Z=i6(U,X.key,q),Q=i6(U,X.value,q);return Math.max(Z,Q)}return 1}sJ.Alias=p8});var i=R((eJ)=>{var rJ=k(),aJ=c6(),nJ=n0(),tJ=(U)=>!U||typeof U!=="function"&&typeof U!=="object";class F1 extends aJ.NodeBase{constructor(U){super(rJ.SCALAR);this.value=U}toJSON(U,X){return X?.keep?this.value:nJ.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";eJ.Scalar=F1;eJ.isScalarValue=tJ});var v2=R((YH)=>{var qH=k2(),A1=k(),l8=i(),ZH="tag:yaml.org,2002:";function QH(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 GH(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:J}=q,H=void 0;if(Z&&U&&typeof U==="object")if(H=J.get(U),H)return H.anchor??(H.anchor=Q(U)),new qH.Alias(H.anchor);else H={anchor:null,node:null},J.set(U,H);if(X?.startsWith("!!"))X=ZH+X.slice(2);let W=QH(U,X,Y.tags);if(!W){if(U&&typeof U.toJSON==="function")U=U.toJSON();if(!U||typeof U!=="object"){let _=new l8.Scalar(U);if(H)H.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 l8.Scalar(U);if(X)$.tag=X;else if(!W.default)$.tag=W.tag;if(H)H.node=$;return $}YH.createNode=GH});var s6=R((_H)=>{var HH=v2(),f0=k(),WH=c6();function eU(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 HH.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 d8=(U)=>U==null||typeof U==="object"&&!!U[Symbol.iterator]().next().done;class c8 extends WH.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)=>f0.isNode(q)||f0.isPair(q)?q.clone(U):q),this.range)X.range=this.range.slice();return X}addIn(U,X){if(d8(U))this.add(X);else{let[q,...Z]=U,Q=this.get(q,!0);if(f0.isCollection(Q))Q.addIn(Z,X);else if(Q===void 0&&this.schema)this.set(q,eU(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(f0.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&&f0.isScalar(Q)?Q.value:Q;else return f0.isCollection(Q)?Q.getIn(Z,X):void 0}hasAllNullValues(U){return this.items.every((X)=>{if(!f0.isPair(X))return!1;let q=X.value;return q==null||U&&f0.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 f0.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(f0.isCollection(Q))Q.setIn(Z,X);else if(Q===void 0&&this.schema)this.set(q,eU(this.schema,Z,X));else throw Error(`Expected YAML collection at ${q}. Remaining path: ${Z}`)}}}_H.Collection=c8;_H.collectionFromPath=eU;_H.isEmptyPath=d8});var x2=R((VH)=>{var FH=(U)=>U.replace(/^(?!$)(?: $)?/gm,"#");function U9(U,X){if(/^\n+$/.test(U))return U.substring(1);return X?U.replace(/^(?! *$)/gm,X):U}var AH=(U,X,q)=>U.endsWith(`
|
|
3
|
+
`)?U9(q,X):q.includes(`
|
|
4
4
|
`)?`
|
|
5
|
-
`+
|
|
6
|
-
`){if(q==="block")z=
|
|
5
|
+
`+U9(q,X):(U.endsWith(" ")?"":" ")+q;VH.indentComment=U9;VH.lineComment=AH;VH.stringifyComment=FH});var s8=R((DH)=>{function RH(U,X,q="flow",{indentAtStart:Z,lineWidth:Q=80,minContentWidth:G=20,onFold:Y,onOverflow:J}={}){if(!Q||Q<0)return U;if(Q<G)G=0;let H=Math.max(1+G,1+Q-X.length);if(U.length<=H)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,T=!1,z=-1,O=-1,D=-1;if(q==="block"){if(z=i8(U,z,X.length),z!==-1)_=z+H}for(let K;K=U[z+=1];){if(q==="quoted"&&K==="\\"){switch(O=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=i8(U,z,X.length);_=z+X.length+H,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
|
|
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+H,L=void 0;else if(q==="quoted"){while(A===" "||A==="\t")A=K,K=U[z+=1],T=!0;let C=z>D+1?z-2:O-1;if($[C])return U;W.push(C),$[C]=!0,_=C+H,L=void 0}else T=!0}A=K}if(T&&J)J();if(W.length===0)return U;if(Y)Y();let w=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)w=`
|
|
9
|
+
${X}${U.slice(0,N)}`;else{if(q==="quoted"&&$[C])w+=`${U[C]}\\`;w+=`
|
|
10
|
+
${X}${U.slice(C+1,N)}`}}return w}function i8(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}DH.FOLD_BLOCK="block";DH.FOLD_FLOW="flow";DH.FOLD_QUOTED="quoted";DH.foldFlowLines=RH});var u2=R((SH)=>{var I0=i(),t0=s8(),r6=(U,X)=>({indentAtStart:X?U.indent.length:U.indentAtStart,lineWidth:U.options.lineWidth,minContentWidth:U.options.minContentWidth}),a6=(U)=>/^(%|---|\.\.\.)/m.test(U);function KH(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||(a6(U)?" ":""),Y="",J=0;for(let H=0,W=q[H];W;W=q[++H]){if(W===" "&&q[H+1]==="\\"&&q[H+2]==="n")Y+=q.slice(J,H)+"\\ ",H+=1,J=H,W="\\";if(W==="\\")switch(q[H+1]){case"u":{Y+=q.slice(J,H);let $=q.substr(H+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(H,6)}H+=5,J=H+1}break;case"n":if(Z||q[H+2]==='"'||q.length<Q)H+=1;else{Y+=q.slice(J,H)+`
|
|
13
13
|
|
|
14
|
-
`;while(q[
|
|
15
|
-
`,
|
|
16
|
-
`)||/[ \t]\n|\n[ \t]/.test(U))return
|
|
17
|
-
${q}`)+"'";return X.implicitKey?Z:
|
|
14
|
+
`;while(q[H+2]==="\\"&&q[H+3]==="n"&&q[H+4]!=='"')Y+=`
|
|
15
|
+
`,H+=2;if(Y+=G,q[H+2]===" ")Y+="\\";H+=1,J=H+1}break;default:H+=1}}return Y=J?Y+q.slice(J):q,Z?Y:t0.foldFlowLines(Y,G,t0.FOLD_QUOTED,r6(X,!1))}function X9(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||(a6(U)?" ":""),Z="'"+U.replace(/'/g,"''").replace(/\n+/g,`$&
|
|
17
|
+
${q}`)+"'";return X.implicitKey?Z:t0.foldFlowLines(Z,q,t0.FOLD_FLOW,r6(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=X9;else if(G&&!Q)Z=h2;else Z=q?X9:h2}return Z(U,X)}var q9;try{q9=new RegExp(`(^|(?<!
|
|
18
18
|
))
|
|
19
19
|
+(?!
|
|
20
|
-
|$)`,"g")}catch{
|
|
20
|
+
|$)`,"g")}catch{q9=/\n+(?!\n|$)/g}function o6({comment:U,type:X,value:q},Z,Q,G){let{blockQuote:Y,commentString:J,lineWidth:H}=Z.options;if(!Y||/\n[\t ]+$/.test(q))return i1(q,Z);let W=Z.indent||(Z.forceBlockIndent||a6(q)?" ":""),$=Y==="literal"?!0:Y==="folded"||X===I0.Scalar.BLOCK_FOLDED?!1:X===I0.Scalar.BLOCK_LITERAL?!0:!KH(q,H,W.length);if(!q)return $?`|
|
|
21
21
|
`:`>
|
|
22
|
-
`;let L
|
|
23
|
-
`&&N!=="\t"&&N!==" ")break}let A=q.substring(
|
|
24
|
-
`);if(
|
|
25
|
-
`)A=A.slice(0,-1);A=A.replace(
|
|
26
|
-
`)D=O;else break}let
|
|
27
|
-
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${W}`),j=!1,m=
|
|
28
|
-
${W}${
|
|
29
|
-
${W}${
|
|
30
|
-
`)
|
|
31
|
-
`)?
|
|
32
|
-
`))return
|
|
33
|
-
${
|
|
34
|
-
${X.indent}${
|
|
35
|
-
${
|
|
36
|
-
`:"",
|
|
37
|
-
${
|
|
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),T=A.indexOf(`
|
|
24
|
+
`);if(T===-1)_="-";else if(q===A||T!==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(q9,`$&${W}`)}let z=!1,O,D=-1;for(O=0;O<q.length;++O){let N=q[O];if(N===" ")z=!0;else if(N===`
|
|
26
|
+
`)D=O;else break}let w=q.substring(0,D<O?D+1:O);if(w)q=q.substring(w.length),w=w.replace(/\n+/g,`$&${W}`);let C=(z?W?"2":"1":"")+_;if(U){if(C+=" "+J(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=r6(Z,!0);if(Y!=="folded"&&X!==I0.Scalar.BLOCK_FOLDED)m.onOverflow=()=>{j=!0};let P=t0.foldFlowLines(`${w}${N}${A}`,W,t0.FOLD_BLOCK,m);if(!j)return`>${C}
|
|
28
|
+
${W}${P}`}return q=q.replace(/\n+/g,`$&${W}`),`|${C}
|
|
29
|
+
${W}${w}${q}${A}`}function NH(U,X,q,Z){let{type:Q,value:G}=U,{actualString:Y,implicitKey:J,indent:H,indentStep:W,inFlow:$}=X;if(J&&G.includes(`
|
|
30
|
+
`)||$&&/[[\]{},]/.test(G))return i1(G,X);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(G))return J||$||!G.includes(`
|
|
31
|
+
`)?i1(G,X):o6(U,X,q,Z);if(!J&&!$&&Q!==I0.Scalar.PLAIN&&G.includes(`
|
|
32
|
+
`))return o6(U,X,q,Z);if(a6(G)){if(H==="")return X.forceBlockIndent=!0,o6(U,X,q,Z);else if(J&&H===W)return i1(G,X)}let _=G.replace(/\n+/g,`$&
|
|
33
|
+
${H}`);if(Y){let L=(z)=>z.default&&z.tag!=="tag:yaml.org,2002:str"&&z.test?.test(_),{compat:A,tags:T}=X.doc.schema;if(T.some(L)||A?.some(L))return i1(G,X)}return J?_:t0.foldFlowLines(_,H,t0.FOLD_FLOW,r6(X,!1))}function CH(U,X,q,Z){let{implicitKey:Q,inFlow:G}=X,Y=typeof U.value==="string"?U:Object.assign({},U,{value:String(U.value)}),{type:J}=U;if(J!==I0.Scalar.QUOTE_DOUBLE){if(/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(Y.value))J=I0.Scalar.QUOTE_DOUBLE}let H=($)=>{switch($){case I0.Scalar.BLOCK_FOLDED:case I0.Scalar.BLOCK_LITERAL:return Q||G?i1(Y.value,X):o6(Y,X,q,Z);case I0.Scalar.QUOTE_DOUBLE:return h2(Y.value,X);case I0.Scalar.QUOTE_SINGLE:return X9(Y.value,X);case I0.Scalar.PLAIN:return NH(Y,X,q,Z);default:return null}},W=H(J);if(W===null){let{defaultKeyType:$,defaultStringType:_}=X.options,L=Q&&$||_;if(W=H(L),W===null)throw Error(`Unsupported default string type ${L}`)}return W}SH.stringifyString=CH});var m2=R((xH)=>{var bH=d6(),e0=k(),jH=x2(),fH=u2();function yH(U,X){let q=Object.assign({blockQuote:!0,commentString:jH.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 gH(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(e0.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 kH(U,X,{anchors:q,doc:Z}){if(!Z.directives)return"";let Q=[],G=(e0.isScalar(U)||e0.isCollection(U))&&U.anchor;if(G&&bH.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 vH(U,X,q,Z){if(e0.isPair(U))return U.toString(X,q,Z);if(e0.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=e0.isNode(U)?U:X.doc.createNode(U,{onTagObj:(H)=>Q=H});Q??(Q=gH(X.doc.schema.tags,G));let Y=kH(G,Q,X);if(Y.length>0)X.indentAtStart=(X.indentAtStart??0)+Y.length+1;let J=typeof Q.stringify==="function"?Q.stringify(G,X,q,Z):e0.isScalar(G)?fH.stringifyString(G,X,q,Z):G.toString(X,q,Z);if(!Y)return J;return e0.isScalar(G)||J[0]==="{"||J[0]==="["?`${Y} ${J}`:`${Y}
|
|
34
|
+
${X.indent}${J}`}xH.createStringifyContext=yH;xH.stringify=vH});var a8=R((pH)=>{var m0=k(),o8=i(),r8=m2(),p2=x2();function mH({key:U,value:X},q,Z,Q){let{allNullValues:G,doc:Y,indent:J,indentStep:H,options:{commentString:W,indentSeq:$,simpleKeys:_}}=q,L=m0.isNode(U)&&U.comment||null;if(_){if(L)throw Error("With simple keys, key nodes cannot have comments");if(m0.isCollection(U)||!m0.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||m0.isCollection(U)||(m0.isScalar(U)?U.type===o8.Scalar.BLOCK_FOLDED||U.type===o8.Scalar.BLOCK_LITERAL:typeof U==="object"));q=Object.assign({},q,{allNullValues:!1,implicitKey:!A&&(_||!G),indent:J+H});let T=!1,z=!1,O=r8.stringify(U,q,()=>T=!0,()=>z=!0);if(!A&&!q.inFlow&&O.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(T&&Z)Z();return O===""?"?":A?`? ${O}`:O}}else if(G&&!_||X==null&&A){if(O=`? ${O}`,L&&!T)O+=p2.lineComment(O,q.indent,W(L));else if(z&&Q)Q();return O}if(T)L=null;if(A){if(L)O+=p2.lineComment(O,q.indent,W(L));O=`? ${O}
|
|
35
|
+
${J}:`}else if(O=`${O}:`,L)O+=p2.lineComment(O,q.indent,W(L));let D,w,K;if(m0.isNode(X))D=!!X.spaceBefore,w=X.commentBefore,K=X.comment;else if(D=!1,w=null,K=null,X&&typeof X==="object")X=Y.createNode(X);if(q.implicitKey=!1,!A&&!L&&m0.isScalar(X))q.indentAtStart=O.length+1;if(z=!1,!$&&H.length>=2&&!q.inFlow&&!A&&m0.isSeq(X)&&!X.flow&&!X.tag&&!X.anchor)q.indent=q.indent.substring(2);let C=!1,N=r8.stringify(X,q,()=>C=!0,()=>z=!0),j=" ";if(L||D||w){if(j=D?`
|
|
36
|
+
`:"",w){let m=W(w);j+=`
|
|
37
|
+
${p2.indentComment(m,q.indent)}`}if(N===""&&!q.inFlow){if(j===`
|
|
38
38
|
`&&K)j=`
|
|
39
39
|
|
|
40
40
|
`}else j+=`
|
|
41
|
-
${q.indent}`}else if(!A&&
|
|
42
|
-
`),
|
|
41
|
+
${q.indent}`}else if(!A&&m0.isCollection(X)){let m=N[0],P=N.indexOf(`
|
|
42
|
+
`),s=P!==-1,p0=q.inFlow??X.flow??X.items.length===0;if(s||!p0){let D1=!1;if(s&&(m==="&"||m==="!")){let o=N.indexOf(" ");if(m==="&"&&o!==-1&&o<P&&N[o+1]==="!")o=N.indexOf(" ",o+1);if(o===-1||P<o)D1=!0}if(!D1)j=`
|
|
43
43
|
${q.indent}`}}else if(N===""||N[0]===`
|
|
44
|
-
`)j="";if(O+=j+N,q.inFlow){if(C&&Z)Z()}else if(K&&!C)O+=
|
|
45
|
-
${
|
|
44
|
+
`)j="";if(O+=j+N,q.inFlow){if(C&&Z)Z()}else if(K&&!C)O+=p2.lineComment(O,q.indent,W(K));else if(z&&Q)Q();return O}pH.stringifyPair=mH});var Z9=R((iH)=>{var n8=M1("process");function dH(U,...X){if(U==="debug")console.log(...X)}function cH(U,X){if(U==="debug"||U==="warn")if(typeof n8.emitWarning==="function")n8.emitWarning(X);else console.warn(X)}iH.debug=dH;iH.warn=cH});var e6=R((aH)=>{var l2=k(),t8=i(),n6="<<",t6={identify:(U)=>U===n6||typeof U==="symbol"&&U.description===n6,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new t8.Scalar(Symbol(n6)),{addToJSMap:e8}),stringify:()=>n6},rH=(U,X)=>(t6.identify(X)||l2.isScalar(X)&&(!X.type||X.type===t8.Scalar.PLAIN)&&t6.identify(X.value))&&U?.doc.schema.tags.some((q)=>q.tag===t6.tag&&q.default);function e8(U,X,q){if(q=U&&l2.isAlias(q)?q.resolve(U.doc):q,l2.isSeq(q))for(let Z of q.items)Q9(U,X,Z);else if(Array.isArray(q))for(let Z of q)Q9(U,X,Z);else Q9(U,X,q)}function Q9(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}aH.addMergeToJSMap=e8;aH.isMergeKey=rH;aH.merge=t6});var Y9=R((QW)=>{var UW=Z9(),U3=e6(),XW=m2(),X3=k(),G9=n0();function qW(U,X,{key:q,value:Z}){if(X3.isNode(q)&&q.addToJSMap)q.addToJSMap(U,X,Z);else if(U3.isMergeKey(U,q))U3.addMergeToJSMap(U,X,Z);else{let Q=G9.toJS(q,"",U);if(X instanceof Map)X.set(Q,G9.toJS(Z,Q,U));else if(X instanceof Set)X.add(Q);else{let G=ZW(q,Q,U),Y=G9.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 ZW(U,X,q){if(X===null)return"";if(typeof X!=="object")return String(X);if(X3.isNode(U)&&q?.doc){let Z=XW.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)+'..."';UW.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=qW});var U1=R((WW)=>{var q3=v2(),YW=a8(),JW=Y9(),U4=k();function HW(U,X,q){let Z=q3.createNode(U,void 0,q),Q=q3.createNode(X,void 0,q);return new X4(Z,Q)}class X4{constructor(U,X=null){Object.defineProperty(this,U4.NODE_TYPE,{value:U4.PAIR}),this.key=U,this.value=X}clone(U){let{key:X,value:q}=this;if(U4.isNode(X))X=X.clone(U);if(U4.isNode(q))q=q.clone(U);return new X4(X,q)}toJSON(U,X){let q=X?.mapAsMap?new Map:{};return JW.addPairToJSMap(X,q,this)}toString(U,X,q){return U?.doc?YW.stringifyPair(this,U,X,q):JSON.stringify(this)}}WW.Pair=X4;WW.createPair=HW});var J9=R((AW)=>{var V1=k(),Z3=m2(),q4=x2();function LW(U,X,q){return(X.inFlow??U.flow?FW:zW)(U,X,q)}function zW({comment:U,items:X},q,{blockItemPrefix:Z,flowChars:Q,itemIndent:G,onChompKeep:Y,onComment:J}){let{indent:H,options:{commentString:W}}=q,$=Object.assign({},q,{indent:G,type:null}),_=!1,L=[];for(let T=0;T<X.length;++T){let z=X[T],O=null;if(V1.isNode(z)){if(!_&&z.spaceBefore)L.push("");if(Z4(q,L,z.commentBefore,_),z.comment)O=z.comment}else if(V1.isPair(z)){let w=V1.isNode(z.key)?z.key:null;if(w){if(!_&&w.spaceBefore)L.push("");Z4(q,L,w.commentBefore,_)}}_=!1;let D=Z3.stringify(z,$,()=>O=null,()=>_=!0);if(O)D+=q4.lineComment(D,G,W(O));if(_&&O)_=!1;L.push(Z+D)}let A;if(L.length===0)A=Q.start+Q.end;else{A=L[0];for(let T=1;T<L.length;++T){let z=L[T];A+=z?`
|
|
45
|
+
${H}${z}`:`
|
|
46
46
|
`}}if(U){if(A+=`
|
|
47
|
-
`+
|
|
48
|
-
`)))W=!0;
|
|
47
|
+
`+q4.indentComment(W(U),H),J)J()}else if(_&&Y)Y();return A}function FW({items:U},X,{flowChars:q,itemIndent:Z}){let{indent:Q,indentStep:G,flowCollectionPadding:Y,options:{commentString:J}}=X;Z+=G;let H=Object.assign({},X,{indent:Z,inFlow:!0,type:null}),W=!1,$=0,_=[];for(let T=0;T<U.length;++T){let z=U[T],O=null;if(V1.isNode(z)){if(z.spaceBefore)_.push("");if(Z4(X,_,z.commentBefore,!1),z.comment)O=z.comment}else if(V1.isPair(z)){let w=V1.isNode(z.key)?z.key:null;if(w){if(w.spaceBefore)_.push("");if(Z4(X,_,w.commentBefore,!1),w.comment)W=!0}let K=V1.isNode(z.value)?z.value:null;if(K){if(K.comment)O=K.comment;if(K.commentBefore)W=!0}else if(z.value==null&&w?.comment)O=w.comment}if(O)W=!0;let D=Z3.stringify(z,H,()=>O=null);if(T<U.length-1)D+=",";if(O)D+=q4.lineComment(D,Z,J(O));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 T=_.reduce((z,O)=>z+O.length+2,2);W=X.options.lineWidth>0&&T>X.options.lineWidth}if(W){let T=L;for(let z of _)T+=z?`
|
|
49
49
|
${G}${Q}${z}`:`
|
|
50
|
-
`;return`${
|
|
51
|
-
${Q}${A}`}else return`${
|
|
52
|
-
`:" ")}return
|
|
50
|
+
`;return`${T}
|
|
51
|
+
${Q}${A}`}else return`${L}${Y}${_.join(" ")}${Y}${A}`}}function Z4({indent:U,options:{commentString:X}},q,Z,Q){if(Z&&Q)Z=Z.replace(/^\n+/,"");if(Z){let G=q4.indentComment(X(Z),U);q.push(G.trimStart())}}AW.stringifyCollection=LW});var q1=R((DW)=>{var OW=J9(),BW=Y9(),TW=s6(),X1=k(),Q4=U1(),RW=i();function d2(U,X){let q=X1.isScalar(X)?X.value:X;for(let Z of U)if(X1.isPair(Z)){if(Z.key===X||Z.key===q)return Z;if(X1.isScalar(Z.key)&&Z.key.value===q)return Z}return}class Q3 extends TW.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(U){super(X1.MAP,U);this.items=[]}static from(U,X,q){let{keepUndefined:Z,replacer:Q}=q,G=new this(U),Y=(J,H)=>{if(typeof Q==="function")H=Q.call(X,J,H);else if(Array.isArray(Q)&&!Q.includes(J))return;if(H!==void 0||Z)G.items.push(Q4.createPair(J,H,q))};if(X instanceof Map)for(let[J,H]of X)Y(J,H);else if(X&&typeof X==="object")for(let J of Object.keys(X))Y(J,X[J]);if(typeof U.sortMapEntries==="function")G.items.sort(U.sortMapEntries);return G}add(U,X){let q;if(X1.isPair(U))q=U;else if(!U||typeof U!=="object"||!("key"in U))q=new Q4.Pair(U,U?.value);else q=new Q4.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(X1.isScalar(Z.value)&&RW.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&&X1.isScalar(Z)?Z.value:Z)??void 0}has(U){return!!d2(this.items,U)}set(U,X){this.add(new Q4.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)BW.addPairToJSMap(X,Z,Q);return Z}toString(U,X,q){if(!U)return JSON.stringify(this);for(let Z of this.items)if(!X1.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 OW.stringifyCollection(this,U,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:U.indent||"",onChompKeep:q,onComment:X})}}DW.YAMLMap=Q3;DW.findPair=d2});var s1=R((KW)=>{var wW=k(),G3=q1(),IW={collection:"map",default:!0,nodeClass:G3.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(U,X){if(!wW.isMap(U))X("Expected a mapping for this tag");return U},createNode:(U,X,q)=>G3.YAMLMap.from(U,X,q)};KW.map=IW});var Z1=R((fW)=>{var CW=v2(),SW=J9(),EW=s6(),Y4=k(),bW=i(),jW=n0();class Y3 extends EW.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(U){super(Y4.SEQ,U);this.items=[]}add(U){this.items.push(U)}delete(U){let X=G4(U);if(typeof X!=="number")return!1;return this.items.splice(X,1).length>0}get(U,X){let q=G4(U);if(typeof q!=="number")return;let Z=this.items[q];return!X&&Y4.isScalar(Z)?Z.value:Z}has(U){let X=G4(U);return typeof X==="number"&&X<this.items.length}set(U,X){let q=G4(U);if(typeof q!=="number")throw Error(`Expected a valid index, not ${U}.`);let Z=this.items[q];if(Y4.isScalar(Z)&&bW.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(jW.toJS(Q,String(Z++),X));return q}toString(U,X,q){if(!U)return JSON.stringify(this);return SW.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 J=X instanceof Set?Y:String(G++);Y=Z.call(X,J,Y)}Q.items.push(CW.createNode(Y,void 0,q))}}return Q}}function G4(U){let X=Y4.isScalar(U)?U.value:U;if(X&&typeof X==="string")X=Number(X);return typeof X==="number"&&Number.isInteger(X)&&X>=0?X:null}fW.YAMLSeq=Y3});var o1=R((vW)=>{var gW=k(),J3=Z1(),kW={collection:"seq",default:!0,nodeClass:J3.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(U,X){if(!gW.isSeq(U))X("Expected a sequence for this tag");return U},createNode:(U,X,q)=>J3.YAMLSeq.from(U,X,q)};vW.seq=kW});var c2=R((mW)=>{var hW=u2(),uW={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),hW.stringifyString(U,X,q,Z)}};mW.string=uW});var J4=R((lW)=>{var H3=i(),W3={identify:(U)=>U==null,createNode:()=>new H3.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new H3.Scalar(null),stringify:({source:U},X)=>typeof U==="string"&&W3.test.test(U)?U:X.options.nullStr};lW.nullTag=W3});var H9=R((iW)=>{var cW=i(),_3={identify:(U)=>typeof U==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:(U)=>new cW.Scalar(U[0]==="t"||U[0]==="T"),stringify({source:U,value:X},q){if(U&&_3.test.test(U)){let Z=U[0]==="t"||U[0]==="T";if(X===Z)return U}return X?q.options.trueStr:q.options.falseStr}};iW.boolTag=_3});var r1=R((rW)=>{function oW({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 J=X-(G.length-Y-1);while(J-- >0)G+="0"}return G}rW.stringifyNumber=oW});var _9=R((X_)=>{var nW=i(),W9=r1(),tW={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:W9.stringifyNumber},eW={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():W9.stringifyNumber(U)}},U_={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 nW.Scalar(parseFloat(U)),q=U.indexOf(".");if(q!==-1&&U[U.length-1]==="0")X.minFractionDigits=U.length-q-1;return X},stringify:W9.stringifyNumber};X_.float=U_;X_.floatExp=eW;X_.floatNaN=tW});var L9=R((H_)=>{var $3=r1(),H4=(U)=>typeof U==="bigint"||Number.isInteger(U),$9=(U,X,q,{intAsBigInt:Z})=>Z?BigInt(U):parseInt(U.substring(X),q);function L3(U,X,q){let{value:Z}=U;if(H4(Z)&&Z>=0)return q+Z.toString(X);return $3.stringifyNumber(U)}var G_={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)=>L3(U,8,"0o")},Y_={identify:H4,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(U,X,q)=>$9(U,0,10,q),stringify:$3.stringifyNumber},J_={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)=>L3(U,16,"0x")};H_.int=Y_;H_.intHex=J_;H_.intOct=G_});var z3=R((B_)=>{var L_=s1(),z_=J4(),F_=o1(),A_=c2(),V_=H9(),z9=_9(),F9=L9(),O_=[L_.map,F_.seq,A_.string,z_.nullTag,V_.boolTag,F9.intOct,F9.int,F9.intHex,z9.floatNaN,z9.floatExp,z9.float];B_.schema=O_});var A3=R((K_)=>{var R_=i(),D_=s1(),M_=o1();function F3(U){return typeof U==="bigint"||Number.isInteger(U)}var W4=({value:U})=>JSON.stringify(U),P_=[{identify:(U)=>typeof U==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(U)=>U,stringify:W4},{identify:(U)=>U==null,createNode:()=>new R_.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:W4},{identify:(U)=>typeof U==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:(U)=>U==="true",stringify:W4},{identify:F3,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})=>F3(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:W4}],w_={default:!0,tag:"",test:/^/,resolve(U,X){return X(`Unresolved plain scalar ${JSON.stringify(U)}`),U}},I_=[D_.map,M_.seq].concat(P_,w_);K_.schema=I_});var V9=R((E_)=>{var i2=M1("buffer"),A9=i(),C_=u2(),S_={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,J;if(typeof i2.Buffer==="function")J=Y instanceof i2.Buffer?Y.toString("base64"):i2.Buffer.from(Y.buffer).toString("base64");else if(typeof btoa==="function"){let H="";for(let W=0;W<Y.length;++W)H+=String.fromCharCode(Y[W]);J=btoa(H)}else throw Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(X??(X=A9.Scalar.BLOCK_LITERAL),X!==A9.Scalar.QUOTE_DOUBLE){let H=Math.max(Z.options.lineWidth-Z.indent.length,Z.options.minContentWidth),W=Math.ceil(J.length/H),$=Array(W);for(let _=0,L=0;_<W;++_,L+=H)$[_]=J.substr(L,H);J=$.join(X===A9.Scalar.BLOCK_LITERAL?`
|
|
52
|
+
`:" ")}return C_.stringifyString({comment:U,type:X,value:J},Z,Q,G)}};E_.binary=S_});var $4=R((g_)=>{var _4=k(),O9=U1(),j_=i(),f_=Z1();function V3(U,X){if(_4.isSeq(U))for(let q=0;q<U.items.length;++q){let Z=U.items[q];if(_4.isPair(Z))continue;else if(_4.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 j_.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]=_4.isPair(Z)?Z:new O9.Pair(Z)}else X("Expected a sequence for this tag");return U}function O3(U,X,q){let{replacer:Z}=q,Q=new f_.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 J,H;if(Array.isArray(Y))if(Y.length===2)J=Y[0],H=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)J=W[0],H=Y[J];else throw TypeError(`Expected tuple with one key, not ${W.length} keys`)}else J=Y;Q.items.push(O9.createPair(J,H,q))}return Q}var y_={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:V3,createNode:O3};g_.createPairs=O3;g_.pairs=y_;g_.resolvePairs=V3});var T9=R((m_)=>{var B3=k(),B9=n0(),s2=q1(),h_=Z1(),T3=$4();class O1 extends h_.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=O1.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(B3.isPair(Z))Q=B9.toJS(Z.key,"",X),G=B9.toJS(Z.value,Q,X);else Q=B9.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=T3.createPairs(U,X,q),Q=new this;return Q.items=Z.items,Q}}O1.tag="tag:yaml.org,2002:omap";var u_={collection:"seq",identify:(U)=>U instanceof Map,nodeClass:O1,default:!1,tag:"tag:yaml.org,2002:omap",resolve(U,X){let q=T3.resolvePairs(U,X),Z=[];for(let{key:Q}of q.items)if(B3.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 O1,q)},createNode:(U,X,q)=>O1.from(U,X,q)};m_.YAMLOMap=O1;m_.omap=u_});var w3=R((d_)=>{var R3=i();function D3({value:U,source:X},q){if(X&&(U?M3:P3).test.test(X))return X;return U?q.options.trueStr:q.options.falseStr}var M3={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 R3.Scalar(!0),stringify:D3},P3={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 R3.Scalar(!1),stringify:D3};d_.falseTag=P3;d_.trueTag=M3});var I3=R((n_)=>{var s_=i(),R9=r1(),o_={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:R9.stringifyNumber},r_={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():R9.stringifyNumber(U)}},a_={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 s_.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:R9.stringifyNumber};n_.float=a_;n_.floatExp=r_;n_.floatNaN=o_});var N3=R((G$)=>{var K3=r1(),o2=(U)=>typeof U==="bigint"||Number.isInteger(U);function L4(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 D9(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 K3.stringifyNumber(U)}var X$={identify:o2,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(U,X,q)=>L4(U,2,2,q),stringify:(U)=>D9(U,2,"0b")},q$={identify:o2,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(U,X,q)=>L4(U,1,8,q),stringify:(U)=>D9(U,8,"0")},Z$={identify:o2,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(U,X,q)=>L4(U,0,10,q),stringify:K3.stringifyNumber},Q$={identify:o2,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(U,X,q)=>L4(U,2,16,q),stringify:(U)=>D9(U,16,"0x")};G$.int=Z$;G$.intBin=X$;G$.intHex=Q$;G$.intOct=q$});var M9=R(($$)=>{var A4=k(),z4=U1(),F4=q1();class B1 extends F4.YAMLMap{constructor(U){super(U);this.tag=B1.tag}add(U){let X;if(A4.isPair(U))X=U;else if(U&&typeof U==="object"&&"key"in U&&"value"in U&&U.value===null)X=new z4.Pair(U.key,null);else X=new z4.Pair(U,null);if(!F4.findPair(this.items,X.key))this.items.push(X)}get(U,X){let q=F4.findPair(this.items,U);return!X&&A4.isPair(q)?A4.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=F4.findPair(this.items,U);if(q&&!X)this.items.splice(this.items.indexOf(q),1);else if(!q&&X)this.items.push(new z4.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(z4.createPair(G,null,q))}return Q}}B1.tag="tag:yaml.org,2002:set";var _$={collection:"map",identify:(U)=>U instanceof Set,nodeClass:B1,default:!1,tag:"tag:yaml.org,2002:set",createNode:(U,X,q)=>B1.from(U,X,q),resolve(U,X){if(A4.isMap(U))if(U.hasAllNullValues(!0))return Object.assign(new B1,U);else X("Set items must all have null values");else X("Expected a mapping for this tag");return U}};$$.YAMLSet=B1;$$.set=_$});var w9=R((O$)=>{var F$=r1();function P9(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,J)=>Y*Q(60)+Q(J),Q(0));return q==="-"?Q(-1)*G:G}function C3(U){let{value:X}=U,q=(Y)=>Y;if(typeof X==="bigint")q=(Y)=>BigInt(Y);else if(isNaN(X)||!isFinite(X))return F$.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 A$={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})=>P9(U,q),stringify:C3},V$={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)=>P9(U,!1),stringify:C3},S3={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(S3.test);if(!X)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,q,Z,Q,G,Y,J]=X.map(Number),H=X[7]?Number((X[7]+"00").substr(1,3)):0,W=Date.UTC(q,Z-1,Q,G||0,Y||0,J||0,H),$=X[8];if($&&$!=="Z"){let _=P9($,!1);if(Math.abs(_)<30)_*=60;W-=60000*_}return new Date(W)},stringify:({value:U})=>U?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};O$.floatTime=V$;O$.intTime=A$;O$.timestamp=S3});var b3=R((b$)=>{var D$=s1(),M$=J4(),P$=o1(),w$=c2(),I$=V9(),E3=w3(),I9=I3(),V4=N3(),K$=e6(),N$=T9(),C$=$4(),S$=M9(),K9=w9(),E$=[D$.map,P$.seq,w$.string,M$.nullTag,E3.trueTag,E3.falseTag,V4.intBin,V4.intOct,V4.int,V4.intHex,I9.floatNaN,I9.floatExp,I9.float,I$.binary,K$.merge,N$.omap,C$.pairs,S$.set,K9.intTime,K9.floatTime,K9.timestamp];b$.schema=E$});var m3=R((u$)=>{var g3=s1(),f$=J4(),k3=o1(),y$=c2(),g$=H9(),N9=_9(),C9=L9(),k$=z3(),v$=A3(),v3=V9(),r2=e6(),x3=T9(),h3=$4(),j3=b3(),u3=M9(),O4=w9(),f3=new Map([["core",k$.schema],["failsafe",[g3.map,k3.seq,y$.string]],["json",v$.schema],["yaml11",j3.schema],["yaml-1.1",j3.schema]]),y3={binary:v3.binary,bool:g$.boolTag,float:N9.float,floatExp:N9.floatExp,floatNaN:N9.floatNaN,floatTime:O4.floatTime,int:C9.int,intHex:C9.intHex,intOct:C9.intOct,intTime:O4.intTime,map:g3.map,merge:r2.merge,null:f$.nullTag,omap:x3.omap,pairs:h3.pairs,seq:k3.seq,set:u3.set,timestamp:O4.timestamp},x$={"tag:yaml.org,2002:binary":v3.binary,"tag:yaml.org,2002:merge":r2.merge,"tag:yaml.org,2002:omap":x3.omap,"tag:yaml.org,2002:pairs":h3.pairs,"tag:yaml.org,2002:set":u3.set,"tag:yaml.org,2002:timestamp":O4.timestamp};function h$(U,X,q){let Z=f3.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(f3.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 J=typeof Y==="string"?y3[Y]:Y;if(!J){let H=JSON.stringify(Y),W=Object.keys(y3).map(($)=>JSON.stringify($)).join(", ");throw Error(`Unknown custom tag ${H}; use one of ${W}`)}if(!G.includes(J))G.push(J);return G},[])}u$.coreKnownTags=x$;u$.getTags=h$});var b9=R((s$)=>{var S9=k(),l$=s1(),d$=o1(),c$=c2(),B4=m3(),i$=(U,X)=>U.key<X.key?-1:U.key>X.key?1:0;class E9{constructor({compat:U,customTags:X,merge:q,resolveKnownTags:Z,schema:Q,sortMapEntries:G,toStringDefaults:Y}){this.compat=Array.isArray(U)?B4.getTags(U,"compat"):U?B4.getTags(null,U):null,this.name=typeof Q==="string"&&Q||"core",this.knownTags=Z?B4.coreKnownTags:{},this.tags=B4.getTags(X,this.name,q),this.toStringOptions=Y??null,Object.defineProperty(this,S9.MAP,{value:l$.map}),Object.defineProperty(this,S9.SCALAR,{value:c$.string}),Object.defineProperty(this,S9.SEQ,{value:d$.seq}),this.sortMapEntries=typeof G==="function"?G:G===!0?i$:null}clone(){let U=Object.create(E9.prototype,Object.getOwnPropertyDescriptors(this));return U.tags=this.tags.slice(),U}}s$.Schema=E9});var p3=R((n$)=>{var r$=k(),j9=m2(),a2=x2();function a$(U,X){let q=[],Z=X.directives===!0;if(X.directives!==!1&&U.directives){let H=U.directives.toString(U);if(H)q.push(H),Z=!0;else if(U.directives.docStart)Z=!0}if(Z)q.push("---");let Q=j9.createStringifyContext(U,X),{commentString:G}=Q.options;if(U.commentBefore){if(q.length!==1)q.unshift("");let H=G(U.commentBefore);q.unshift(a2.indentComment(H,""))}let Y=!1,J=null;if(U.contents){if(r$.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,J=U.contents.comment}let H=J?void 0:()=>Y=!0,W=j9.stringify(U.contents,Q,()=>J=null,H);if(J)W+=a2.lineComment(W,"",G(J));if((W[0]==="|"||W[0]===">")&&q[q.length-1]==="---")q[q.length-1]=`--- ${W}`;else q.push(W)}else q.push(j9.stringify(U.contents,Q));if(U.directives?.docEnd)if(U.comment){let H=G(U.comment);if(H.includes(`
|
|
55
|
+
`))q.push("..."),q.push(a2.indentComment(H,""));else q.push(`... ${H}`)}else q.push("...");else{let H=U.comment;if(H&&Y)H=H.replace(/^\n+/,"");if(H){if((!Y||J)&&q[q.length-1]!=="")q.push("");q.push(a2.indentComment(G(H),""))}}return q.join(`
|
|
56
56
|
`)+`
|
|
57
|
-
`}
|
|
58
|
-
`;Y=
|
|
57
|
+
`}n$.stringifyDocument=a$});var n2=R((YL)=>{var e$=k2(),a1=s6(),T0=k(),UL=U1(),XL=n0(),qL=b9(),ZL=p3(),f9=d6(),QL=tU(),GL=v2(),y9=nU();class g9{constructor(U,X,q){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,T0.NODE_TYPE,{value:T0.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 y9.Directives({version:G});this.setSchema(G,q),this.contents=U===void 0?null:this.createNode(U,Z,q)}clone(){let U=Object.create(g9.prototype,{[T0.NODE_TYPE]:{value:T0.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=T0.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=f9.anchorNames(this);U.anchor=!X||q.has(X)?f9.findNewAnchor(X||"a",q):X}return new e$.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,O=X.filter(z).map(String);if(O.length>0)X=X.concat(O);Z=X}else if(q===void 0&&X)q=X,X=void 0;let{aliasDuplicateObjects:Q,anchorPrefix:G,flow:Y,keepUndefined:J,onTagObj:H,tag:W}=q??{},{onAnchor:$,setAnchors:_,sourceObjects:L}=f9.createNodeAnchors(this,G||"a"),A={aliasDuplicateObjects:Q??!0,keepUndefined:J??!1,onAnchor:$,onTagObj:H,replacer:Z,schema:this.schema,sourceObjects:L},T=GL.createNode(U,W,A);if(Y&&T0.isCollection(T))T.flow=!0;return _(),T}createPair(U,X,q={}){let Z=this.createNode(U,null,q),Q=this.createNode(X,null,q);return new UL.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 T0.isCollection(this.contents)?this.contents.get(U,X):void 0}getIn(U,X){if(a1.isEmptyPath(U))return!X&&T0.isScalar(this.contents)?this.contents.value:this.contents;return T0.isCollection(this.contents)?this.contents.getIn(U,X):void 0}has(U){return T0.isCollection(this.contents)?this.contents.has(U):!1}hasIn(U){if(a1.isEmptyPath(U))return this.contents!==void 0;return T0.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 y9.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 y9.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 qL.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},J=XL.toJS(this.contents,X??"",Y);if(typeof Q==="function")for(let{count:H,res:W}of Y.anchors.values())Q(W,H);return typeof G==="function"?QL.applyReviver(G,{"":J},"",J):J}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 ZL.stringifyDocument(this,U)}}function n1(U){if(T0.isCollection(U))return!0;throw Error("Expected a YAML collection as document contents")}YL.Document=g9});var t2=R((WL)=>{class T4 extends Error{constructor(U,X,q,Z){super();this.name=U,this.code=q,this.message=Z,this.pos=X}}class l3 extends T4{constructor(U,X,q){super("YAMLParseError",U,X,q)}}class d3 extends T4{constructor(U,X,q){super("YAMLWarning",U,X,q)}}var HL=(U,X)=>(q)=>{if(q.pos[0]===-1)return;q.linePos=q.pos.map((J)=>X.linePos(J));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 J=Math.min(G-39,Y.length-79);Y="…"+Y.substring(J),G-=J-1}if(Y.length>80)Y=Y.substring(0,79)+"…";if(Z>1&&/^ *$/.test(Y.substring(0,G))){let J=U.substring(X.lineStarts[Z-2],X.lineStarts[Z-1]);if(J.length>80)J=J.substring(0,79)+`…
|
|
58
|
+
`;Y=J+Y}if(/[^ ]/.test(Y)){let J=1,H=q.linePos[1];if(H?.line===Z&&H.col>Q)J=Math.max(1,Math.min(H.col-Q,80-G));let W=" ".repeat(G)+"^".repeat(J);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
|
|
65
|
-
`+K.comment;else
|
|
66
|
-
`+j.comment;else W.comment=j.comment;
|
|
67
|
-
`+m;else
|
|
68
|
-
`+
|
|
69
|
-
`+O.comment;else W.comment=O.comment;W.range=[Z.offset,z,O.offset]}else W.range=[Z.offset,z,z];return W}
|
|
70
|
-
`.repeat(Math.max(1,Y.length-1)):"",O=Z+Q.length;if(X.source)O+=X.source.length;return{value:z,type:G,comment:Q.comment,range:[Z,O,O]}}let
|
|
71
|
-
`;for(let z
|
|
72
|
-
`;else if(O.length>
|
|
73
|
-
`;else if(!A
|
|
74
|
-
`)
|
|
62
|
+
`}};WL.YAMLError=T4;WL.YAMLParseError=l3;WL.YAMLWarning=d3;WL.prettifyError=HL});var e2=R((AL)=>{function FL(U,{flow:X,indicator:q,next:Z,offset:Q,onError:G,parentIndent:Y,startOnNewline:J}){let H=!1,W=J,$=J,_="",L="",A=!1,T=!1,z=null,O=null,D=null,w=null,K=null,C=null,N=null;for(let P of U){if(T){if(P.type!=="space"&&P.type!=="newline"&&P.type!=="comma")G(P.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");T=!1}if(z){if(W&&P.type!=="comment"&&P.type!=="newline")G(z,"TAB_AS_INDENT","Tabs are not allowed as indentation");z=null}switch(P.type){case"space":if(!X&&(q!=="doc-start"||Z?.type!=="flow-collection")&&P.source.includes("\t"))z=P;$=!0;break;case"comment":{if(!$)G(P,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let s=P.source.substring(1)||" ";if(!_)_=s;else _+=L+s;L="",W=!1;break}case"newline":if(W){if(_)_+=P.source;else if(!C||q!=="seq-item-ind")H=!0}else L+=P.source;if(W=!0,A=!0,O||D)w=P;$=!0;break;case"anchor":if(O)G(P,"MULTIPLE_ANCHORS","A node can have at most one anchor");if(P.source.endsWith(":"))G(P.offset+P.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0);O=P,N??(N=P.offset),W=!1,$=!1,T=!0;break;case"tag":{if(D)G(P,"MULTIPLE_TAGS","A node can have at most one tag");D=P,N??(N=P.offset),W=!1,$=!1,T=!0;break}case q:if(O||D)G(P,"BAD_PROP_ORDER",`Anchors and tags must be after the ${P.source} indicator`);if(C)G(P,"UNEXPECTED_TOKEN",`Unexpected ${P.source} in ${X??"collection"}`);C=P,W=q==="seq-item-ind"||q==="explicit-key-ind",$=!1;break;case"comma":if(X){if(K)G(P,"UNEXPECTED_TOKEN",`Unexpected , in ${X}`);K=P,W=!1,$=!1;break}default:G(P,"UNEXPECTED_TOKEN",`Unexpected ${P.type} token`),W=!1,$=!1}}let j=U[U.length-1],m=j?j.offset+j.source.length:Q;if(T&&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:H,comment:_,hasNewline:A,anchor:O,tag:D,newlineAfterProp:w,end:m,start:N??m}}AL.resolveProps=FL});var R4=R((OL)=>{function k9(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(k9(X.key)||k9(X.value))return!0}return!1;default:return!0}}OL.containsNewline=k9});var v9=R((DL)=>{var TL=R4();function RL(U,X,q){if(X?.type==="flow-collection"){let Z=X.end[0];if(Z.indent===U&&(Z.source==="]"||Z.source==="}")&&TL.containsNewline(X))q(Z,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}DL.flowIndentCheck=RL});var x9=R((wL)=>{var c3=k();function PL(U,X,q){let{uniqueKeys:Z}=U.options;if(Z===!1)return!1;let Q=typeof Z==="function"?Z:(G,Y)=>G===Y||c3.isScalar(G)&&c3.isScalar(Y)&&G.value===Y.value;return X.some((G)=>Q(G.key,q))}wL.mapIncludes=PL});var a3=R((EL)=>{var i3=U1(),KL=q1(),s3=e2(),NL=R4(),o3=v9(),CL=x9(),r3="All mapping items must start at the same column";function SL({composeNode:U,composeEmptyNode:X},q,Z,Q,G){let J=new(G?.nodeClass??KL.YAMLMap)(q.schema);if(q.atRoot)q.atRoot=!1;let H=Z.offset,W=null;for(let $ of Z.items){let{start:_,key:L,sep:A,value:T}=$,z=s3.resolveProps(_,{indicator:"explicit-key-ind",next:L??A?.[0],offset:H,onError:Q,parentIndent:Z.indent,startOnNewline:!0}),O=!z.found;if(O){if(L){if(L.type==="block-seq")Q(H,"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(H,"BAD_INDENT",r3)}if(!z.anchor&&!z.tag&&!A){if(W=z.end,z.comment)if(J.comment)J.comment+=`
|
|
64
|
+
`+z.comment;else J.comment=z.comment;continue}if(z.newlineAfterProp||NL.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(H,"BAD_INDENT",r3);q.atKey=!0;let D=z.end,w=L?U(q,L,z,Q):X(q,D,_,null,z,Q);if(q.schema.compat)o3.flowIndentCheck(Z.indent,L,Q);if(q.atKey=!1,CL.mapIncludes(q,J.items,w))Q(D,"DUPLICATE_KEY","Map keys must be unique");let K=s3.resolveProps(A??[],{indicator:"map-value-ind",next:T,offset:w.range[2],onError:Q,parentIndent:Z.indent,startOnNewline:!L||L.type==="block-scalar"});if(H=K.end,K.found){if(O){if(T?.type==="block-map"&&!K.hasNewline)Q(H,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings");if(q.options.strict&&z.start<K.found.offset-1024)Q(w.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key")}let C=T?U(q,T,K,Q):X(q,H,A,null,K,Q);if(q.schema.compat)o3.flowIndentCheck(Z.indent,T,Q);H=C.range[2];let N=new i3.Pair(w,C);if(q.options.keepSourceTokens)N.srcToken=$;J.items.push(N)}else{if(O)Q(w.range,"MISSING_CHAR","Implicit map keys need to be followed by map values");if(K.comment)if(w.comment)w.comment+=`
|
|
65
|
+
`+K.comment;else w.comment=K.comment;let C=new i3.Pair(w);if(q.options.keepSourceTokens)C.srcToken=$;J.items.push(C)}}if(W&&W<H)Q(W,"IMPOSSIBLE","Map comment with trailing content");return J.range=[Z.offset,H,W??H],J}EL.resolveBlockMap=SL});var n3=R((kL)=>{var jL=Z1(),fL=e2(),yL=v9();function gL({composeNode:U,composeEmptyNode:X},q,Z,Q,G){let J=new(G?.nodeClass??jL.YAMLSeq)(q.schema);if(q.atRoot)q.atRoot=!1;if(q.atKey)q.atKey=!1;let H=Z.offset,W=null;for(let{start:$,value:_}of Z.items){let L=fL.resolveProps($,{indicator:"seq-item-ind",next:_,offset:H,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(H,"MISSING_CHAR","Sequence item without - indicator");else{if(W=L.end,L.comment)J.comment=L.comment;continue}let A=_?U(q,_,L,Q):X(q,L.end,$,null,L,Q);if(q.schema.compat)yL.flowIndentCheck(Z.indent,_,Q);H=A.range[2],J.items.push(A)}return J.range=[Z.offset,H,W??H],J}kL.resolveBlockSeq=gL});var t1=R((hL)=>{function xL(U,X,q,Z){let Q="";if(U){let G=!1,Y="";for(let J of U){let{source:H,type:W}=J;switch(W){case"space":G=!0;break;case"comment":{if(q&&!G)Z(J,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let $=H.substring(1)||" ";if(!Q)Q=$;else Q+=Y+$;Y="";break}case"newline":if(Q)Y+=H;G=!0;break;default:Z(J,"UNEXPECTED_TOKEN",`Unexpected ${W} at node end`)}X+=H.length}}return{comment:Q,offset:X}}hL.resolveEnd=xL});var UQ=R((oL)=>{var mL=k(),pL=U1(),t3=q1(),lL=Z1(),dL=t1(),e3=e2(),cL=R4(),iL=x9(),h9="Block collections are not allowed within flow collections",u9=(U)=>U&&(U.type==="block-map"||U.type==="block-seq");function sL({composeNode:U,composeEmptyNode:X},q,Z,Q,G){let Y=Z.start.source==="{",J=Y?"flow map":"flow sequence",W=new(G?.nodeClass??(Y?t3.YAMLMap:lL.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 O=0;O<Z.items.length;++O){let D=Z.items[O],{start:w,key:K,sep:C,value:N}=D,j=e3.resolveProps(w,{flow:J,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(O===0&&j.comma)Q(j.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${J}`);else if(O<Z.items.length-1)Q(j.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${J}`);if(j.comment)if(W.comment)W.comment+=`
|
|
66
|
+
`+j.comment;else W.comment=j.comment;_=j.end;continue}if(!Y&&q.options.strict&&cL.containsNewline(K))Q(K,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(O===0){if(j.comma)Q(j.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${J}`)}else{if(!j.comma)Q(j.start,"MISSING_CHAR",`Missing , between ${J} items`);if(j.comment){let m="";U:for(let P of w)switch(P.type){case"comma":case"space":break;case"comment":m=P.source.substring(1);break U;default:break U}if(m){let P=W.items[W.items.length-1];if(mL.isPair(P))P=P.value??P.key;if(P.comment)P.comment+=`
|
|
67
|
+
`+m;else P.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],u9(N))Q(m.range,"BLOCK_IN_FLOW",h9)}else{q.atKey=!0;let m=j.end,P=K?U(q,K,j,Q):X(q,m,w,null,j,Q);if(u9(K))Q(P.range,"BLOCK_IN_FLOW",h9);q.atKey=!1;let s=e3.resolveProps(C??[],{flow:J,indicator:"map-value-ind",next:N,offset:P.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 ${J}`);else Q(s.start,"MISSING_CHAR",`Missing , or : between ${J} items`);let p0=N?U(q,N,s,Q):s.found?X(q,s.end,C,null,s,Q):null;if(p0){if(u9(N))Q(p0.range,"BLOCK_IN_FLOW",h9)}else if(s.comment)if(P.comment)P.comment+=`
|
|
68
|
+
`+s.comment;else P.comment=s.comment;let D1=new pL.Pair(P,p0);if(q.options.keepSourceTokens)D1.srcToken=D;if(Y){let o=W;if(iL.mapIncludes(q,o.items,P))Q(m,"DUPLICATE_KEY","Map keys must be unique");o.items.push(D1)}else{let o=new t3.YAMLMap(q.schema);o.flow=!0,o.items.push(D1);let YX=(p0??P).range;o.range=[P.range[0],YX[1],YX[2]],W.items.push(o)}_=p0?p0.range[2]:s.end}}let L=Y?"}":"]",[A,...T]=Z.end,z=_;if(A?.source===L)z=A.offset+A.source.length;else{let O=J[0].toUpperCase()+J.substring(1),D=$?`${O} must end with a ${L}`:`${O} in block collection must be sufficiently indented and end with a ${L}`;if(Q(_,$?"MISSING_CHAR":"BAD_INDENT",D),A&&A.source.length!==1)T.unshift(A)}if(T.length>0){let O=dL.resolveEnd(T,z,q.options.strict,Q);if(O.comment)if(W.comment)W.comment+=`
|
|
69
|
+
`+O.comment;else W.comment=O.comment;W.range=[Z.offset,z,O.offset]}else W.range=[Z.offset,z,z];return W}oL.resolveFlowCollection=sL});var XQ=R((Qz)=>{var aL=k(),nL=i(),tL=q1(),eL=Z1(),Uz=a3(),Xz=n3(),qz=UQ();function m9(U,X,q,Z,Q,G){let Y=q.type==="block-map"?Uz.resolveBlockMap(U,X,q,Z,G):q.type==="block-seq"?Xz.resolveBlockSeq(U,X,q,Z,G):qz.resolveFlowCollection(U,X,q,Z,G),J=Y.constructor;if(Q==="!"||Q===J.tagName)return Y.tag=J.tagName,Y;if(Q)Y.tag=Q;return Y}function Zz(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,T=L&&G?L.offset>G.offset?L:G:L??G;if(T&&(!A||A.offset<T.offset))Q(T,"MISSING_CHAR","Missing newline after block sequence props")}let J=q.type==="block-map"?"map":q.type==="block-seq"?"seq":q.start.source==="{"?"map":"seq";if(!G||!Y||Y==="!"||Y===tL.YAMLMap.tagName&&J==="map"||Y===eL.YAMLSeq.tagName&&J==="seq")return m9(U,X,q,Q,Y);let H=X.schema.tags.find((L)=>L.tag===Y&&L.collection===J);if(!H){let L=X.schema.knownTags[Y];if(L?.collection===J)X.schema.tags.push(Object.assign({},L,{default:!1})),H=L;else{if(L)Q(G,"BAD_COLLECTION_TYPE",`${L.tag} used for ${J} collection, but expects ${L.collection??"scalar"}`,!0);else Q(G,"TAG_RESOLVE_FAILED",`Unresolved tag: ${Y}`,!0);return m9(U,X,q,Q,Y)}}let W=m9(U,X,q,Q,Y,H),$=H.resolve?.(W,(L)=>Q(G,"TAG_RESOLVE_FAILED",L),X.options)??W,_=aL.isNode($)?$:new nL.Scalar($);if(_.range=W.range,_.tag=Y,H?.format)_.format=H.format;return _}Qz.composeCollection=Zz});var l9=R((Wz)=>{var p9=i();function Yz(U,X,q){let Z=X.offset,Q=Jz(X,U.options.strict,q);if(!Q)return{value:"",type:null,comment:"",range:[Z,Z,Z]};let G=Q.mode===">"?p9.Scalar.BLOCK_FOLDED:p9.Scalar.BLOCK_LITERAL,Y=X.source?Hz(X.source):[],J=Y.length;for(let z=Y.length-1;z>=0;--z){let O=Y[z][1];if(O===""||O==="\r")J=z;else break}if(J===0){let z=Q.chomp==="+"&&Y.length>0?`
|
|
70
|
+
`.repeat(Math.max(1,Y.length-1)):"",O=Z+Q.length;if(X.source)O+=X.source.length;return{value:z,type:G,comment:Q.comment,range:[Z,O,O]}}let H=X.indent+Q.indent,W=X.offset+Q.length,$=0;for(let z=0;z<J;++z){let[O,D]=Y[z];if(D===""||D==="\r"){if(Q.indent===0&&O.length>H)H=O.length}else{if(O.length<H)q(W+O.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator");if(Q.indent===0)H=O.length;if($=z,H===0&&!U.atRoot)q(W,"BAD_INDENT","Block scalar values in collections must be indented");break}W+=O.length+D.length+1}for(let z=Y.length-1;z>=J;--z)if(Y[z][0].length>H)J=z+1;let _="",L="",A=!1;for(let z=0;z<$;++z)_+=Y[z][0].slice(H)+`
|
|
71
|
+
`;for(let z=$;z<J;++z){let[O,D]=Y[z];W+=O.length+D.length+1;let w=D[D.length-1]==="\r";if(w)D=D.slice(0,-1);if(D&&O.length<H){let C=`Block scalar lines must not be less indented than their ${Q.indent?"explicit indentation indicator":"first line"}`;q(W-D.length-(w?2:1),"BAD_INDENT",C),O=""}if(G===p9.Scalar.BLOCK_LITERAL)_+=L+O.slice(H)+D,L=`
|
|
72
|
+
`;else if(O.length>H||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(
|
|
82
|
-
`)
|
|
83
|
-
`;break;default:
|
|
84
|
-
`}let
|
|
76
|
+
`;_+=L+O.slice(H)+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=J;z<Y.length;++z)_+=`
|
|
81
|
+
`+Y[z][0].slice(H);if(_[_.length-1]!==`
|
|
82
|
+
`)_+=`
|
|
83
|
+
`;break;default:_+=`
|
|
84
|
+
`}let T=Z+Q.length+X.source.length;return{value:_,type:G,comment:Q.comment,range:[Z,T,T]}}function Jz({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,J="",H=-1;for(let L=1;L<Q.length;++L){let A=Q[L];if(!J&&(A==="-"||A==="+"))J=A;else{let T=Number(A);if(!Y&&T)Y=T;else if(H===-1)H=U+L}}if(H!==-1)Z(H,"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 T=`Unexpected token in block scalar header: ${A.type}`;Z(A,"UNEXPECTED_TOKEN",T);let z=A.source;if(z&&typeof z==="string")_+=z.length}}}return{mode:G,indent:Y,chomp:J,comment:$,length:_}}function Hz(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}Wz.resolveBlockScalar=Yz});var c9=R((Tz)=>{var d9=i(),$z=t1();function Lz(U,X,q){let{offset:Z,type:Q,source:G,end:Y}=U,J,H,W=(L,A,T)=>q(Z+L,A,T);switch(Q){case"scalar":J=d9.Scalar.PLAIN,H=zz(G,W);break;case"single-quoted-scalar":J=d9.Scalar.QUOTE_SINGLE,H=Fz(G,W);break;case"double-quoted-scalar":J=d9.Scalar.QUOTE_DOUBLE,H=Az(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,_=$z.resolveEnd(Y,$,X,q);return{value:H,type:J,comment:_.comment,range:[Z,$,_.offset]}}function zz(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 qQ(U)}function Fz(U,X){if(U[U.length-1]!=="'"||U.length===1)X(U.length,"MISSING_CHAR","Missing closing 'quote");return qQ(U.slice(1,-1)).replace(/''/g,"'")}function qQ(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
|
|
88
|
+
`;else Q+=G+Z[1],G=" ";Y=q.lastIndex}let J=/[ \t]*(.*)/sy;return J.lastIndex=Y,Z=J.exec(U),Q+G+(Z?.[1]??"")}function Az(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}=Vz(U,Z);q+=G,Z=Y}else if(Q==="\\"){let G=U[++Z],Y=Oz[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
|
|
92
|
+
`){G=U[++Z+1];while(G===" "||G==="\t")G=U[++Z+1]}else if(G==="x"||G==="u"||G==="U"){let J={x:2,u:4,U:8}[G];q+=Bz(U,Z+1,J,X),Z+=J}else{let J=U.substr(Z-1,2);X(Z-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${J}`),q+=J}}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 Vz(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 Oz={"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 Bz(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 J=U.substr(X-2,q+2);return Z(X-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${J}`),J}return String.fromCodePoint(Y)}Tz.resolveFlowScalar=Lz});var QQ=R((Kz)=>{var T1=k(),ZQ=i(),Dz=l9(),Mz=c9();function Pz(U,X,q,Z){let{value:Q,type:G,comment:Y,range:J}=X.type==="block-scalar"?Dz.resolveBlockScalar(U,X,Z):Mz.resolveFlowScalar(X,U.options.strict,Z),H=q?U.directives.tagName(q.source,(_)=>Z(q,"TAG_RESOLVE_FAILED",_)):null,W;if(U.options.stringKeys&&U.atKey)W=U.schema[T1.SCALAR];else if(H)W=wz(U.schema,Q,H,q,Z);else if(X.type==="scalar")W=Iz(U,Q,X,Z);else W=U.schema[T1.SCALAR];let $;try{let _=W.resolve(Q,(L)=>Z(q??X,"TAG_RESOLVE_FAILED",L),U.options);$=T1.isScalar(_)?_:new ZQ.Scalar(_)}catch(_){let L=_ instanceof Error?_.message:String(_);Z(q??X,"TAG_RESOLVE_FAILED",L),$=new ZQ.Scalar(Q)}if($.range=J,$.source=Q,G)$.type=G;if(H)$.tag=H;if(W.format)$.format=W.format;if(Y)$.comment=Y;return $}function wz(U,X,q,Z,Q){if(q==="!")return U[T1.SCALAR];let G=[];for(let J of U.tags)if(!J.collection&&J.tag===q)if(J.default&&J.test)G.push(J);else return J;for(let J of G)if(J.test?.test(X))return J;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[T1.SCALAR]}function Iz({atKey:U,directives:X,schema:q},Z,Q,G){let Y=q.tags.find((J)=>(J.default===!0||U&&J.default==="key")&&J.test?.test(Z))||q[T1.SCALAR];if(q.compat){let J=q.compat.find((H)=>H.default&&H.test?.test(Z))??q[T1.SCALAR];if(Y.tag!==J.tag){let H=X.tagString(Y.tag),W=X.tagString(J.tag),$=`Value may be parsed as either ${H} or ${W}`;G(Q,"TAG_RESOLVE_FAILED",$,!0)}}return Y}Kz.composeScalar=Pz});var GQ=R((Sz)=>{function Cz(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}Sz.emptyScalarPosition=Cz});var HQ=R((xz)=>{var bz=k2(),jz=k(),fz=XQ(),YQ=QQ(),yz=t1(),gz=GQ(),kz={composeNode:JQ,composeEmptyNode:i9};function JQ(U,X,q,Z){let Q=U.atKey,{spaceBefore:G,comment:Y,anchor:J,tag:H}=q,W,$=!0;switch(X.type){case"alias":if(W=vz(U,X,Z),J||H)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=YQ.composeScalar(U,X,H,Z),J)W.anchor=J.source.substring(1);break;case"block-map":case"block-seq":case"flow-collection":if(W=fz.composeCollection(kz,U,X,q,Z),J)W.anchor=J.source.substring(1);break;default:{let _=X.type==="error"?X.message:`Unsupported token (type: ${X.type})`;Z(X,"UNEXPECTED_TOKEN",_),W=i9(U,X.offset,void 0,null,q,Z),$=!1}}if(J&&W.anchor==="")Z(J,"BAD_ALIAS","Anchor cannot be an empty string");if(Q&&U.options.stringKeys&&(!jz.isScalar(W)||typeof W.value!=="string"||W.tag&&W.tag!=="tag:yaml.org,2002:str"))Z(H??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 i9(U,X,q,Z,{spaceBefore:Q,comment:G,anchor:Y,tag:J,end:H},W){let $={type:"scalar",offset:gz.emptyScalarPosition(X,q,Z),indent:-1,source:""},_=YQ.composeScalar(U,$,J,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]=H;return _}function vz({options:U},{offset:X,source:q,end:Z},Q){let G=new bz.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,J=yz.resolveEnd(Z,Y,U.strict,Q);if(G.range=[X,Y,J.offset],J.comment)G.comment=J.comment;return G}xz.composeEmptyNode=i9;xz.composeNode=JQ});var _Q=R((cz)=>{var mz=n2(),WQ=HQ(),pz=t1(),lz=e2();function dz(U,X,{offset:q,start:Z,value:Q,end:G},Y){let J=Object.assign({_directives:X},U),H=new mz.Document(void 0,J),W={atKey:!1,atRoot:!0,directives:H.directives,options:H.options,schema:H.schema},$=lz.resolveProps(Z,{indicator:"doc-start",next:Q??G?.[0],offset:q,onError:Y,parentIndent:0,startOnNewline:!0});if($.found){if(H.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")}H.contents=Q?WQ.composeNode(W,Q,$,Y):WQ.composeEmptyNode(W,$.end,Z,null,$,Y);let _=H.contents.range[2],L=pz.resolveEnd(G,_,!1,Y);if(L.comment)H.comment=L.comment;return H.range=[q,_,L.offset],H}cz.composeDoc=dz});var s9=R((tz)=>{var sz=M1("process"),oz=nU(),rz=n2(),U6=t2(),$Q=k(),az=_Q(),nz=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 LQ(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 zQ{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 oz.Directives({version:U.version||"1.2"}),this.options=U}decorate(U,X){let{comment:q,afterEmptyLine:Z}=LQ(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($Q.isCollection(Q)&&!Q.flow&&Q.items.length>0){let G=Q.items[0];if($Q.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
|
|
107
|
-
`}];switch(
|
|
108
|
-
`)
|
|
109
|
-
|
|
110
|
-
`});return{type:"block-scalar",offset:G,indent:Z,props
|
|
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:LQ(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(sz.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=az.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=nz.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 rz.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}}}tz.Composer=zQ});var VQ=R((JF)=>{var UF=l9(),XF=c9(),qF=t2(),FQ=u2();function ZF(U,X=!0,q){if(U){let Z=(Q,G,Y)=>{let J=typeof Q==="number"?Q:Array.isArray(Q)?Q[0]:Q.offset;if(q)q(J,G,Y);else throw new qF.YAMLParseError([J,J+1],G,Y)};switch(U.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return XF.resolveFlowScalar(U,X,Z);case"block-scalar":return UF.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,J=FQ.stringifyString({type:Y,value:U},{implicitKey:q,indent:Z>0?" ".repeat(Z):"",inFlow:Q,options:{blockQuote:!0,lineWidth:-1}}),H=X.end??[{type:"newline",offset:-1,indent:Z,source:`
|
|
107
|
+
`}];switch(J[0]){case"|":case">":{let W=J.indexOf(`
|
|
108
|
+
`),$=J.substring(0,W),_=J.substring(W+1)+`
|
|
109
|
+
`,L=[{type:"block-scalar-header",offset:G,indent:Z,source:$}];if(!AQ(L,H))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:J,end:H};case"'":return{type:"single-quoted-scalar",offset:G,indent:Z,source:J,end:H};default:return{type:"scalar",offset:G,indent:Z,source:J,end:H}}}function GF(U,X,q={}){let{afterKey:Z=!1,implicitKey:Q=!1,inFlow:G=!1,type:Y}=q,J="indent"in U?U.indent:null;if(Z&&typeof J==="number")J+=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 H=FQ.stringifyString({type:Y,value:X},{implicitKey:Q||J===null,indent:J!==null&&J>0?" ".repeat(J):"",inFlow:G,options:{blockQuote:!0,lineWidth:-1}});switch(H[0]){case"|":case">":YF(U,H);break;case'"':o9(U,H,"double-quoted-scalar");break;case"'":o9(U,H,"single-quoted-scalar");break;default:o9(U,H,"scalar")}}function YF(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,
|
|
113
|
-
`});for(let
|
|
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,J=[{type:"block-scalar-header",offset:G,indent:Y,source:Z}];if(!AQ(J,"end"in U?U.end:void 0))J.push({type:"newline",offset:-1,indent:Y,source:`
|
|
113
|
+
`});for(let H of Object.keys(U))if(H!=="type"&&H!=="offset")delete U[H];Object.assign(U,{type:"block-scalar",indent:Y,props:J,source:Q})}}function AQ(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 o9(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})}}}JF.createScalarToken=QF;JF.resolveAsScalar=ZF;JF.setScalarValue=GF});var OQ=R((LF)=>{var $F=(U)=>("type"in U)?M4(U):D4(U);function M4(U){switch(U.type){case"block-scalar":{let X="";for(let q of U.props)X+=M4(q);return X+U.source}case"block-map":case"block-seq":{let X="";for(let q of U.items)X+=D4(q);return X}case"flow-collection":{let X=U.start.source;for(let q of U.items)X+=D4(q);for(let q of U.end)X+=q.source;return X}case"document":{let X=D4(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 D4({start:U,key:X,sep:q,value:Z}){let Q="";for(let G of U)Q+=G.source;if(X)Q+=M4(X);if(q)for(let G of q)Q+=G.source;if(Z)Q+=M4(Z);return Q}LF.stringify=$F});var RQ=R((AF)=>{var r9=Symbol("break visit"),FF=Symbol("skip children"),BQ=Symbol("remove item");function R1(U,X){if("type"in U&&U.type==="document")U={start:U.start,value:U.value};TQ(Object.freeze([]),U,X)}R1.BREAK=r9;R1.SKIP=FF;R1.REMOVE=BQ;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 TQ(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 J=TQ(Object.freeze(U.concat([[Q,Y]])),G.items[Y],q);if(typeof J==="number")Y=J-1;else if(J===r9)return r9;else if(J===BQ)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}AF.visit=R1});var P4=R((PF)=>{var a9=VQ(),OF=OQ(),BF=RQ(),n9="\uFEFF",t9="\x02",e9="\x18",UX="\x1F",TF=(U)=>!!U&&("items"in U),RF=(U)=>!!U&&(U.type==="scalar"||U.type==="single-quoted-scalar"||U.type==="double-quoted-scalar"||U.type==="block-scalar");function DF(U){switch(U){case n9:return"<BOM>";case t9:return"<DOC>";case e9:return"<FLOW_END>";case UX:return"<SCALAR>";default:return JSON.stringify(U)}}function MF(U){switch(U){case n9:return"byte-order-mark";case t9:return"doc-mode";case e9:return"flow-error-end";case UX: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}PF.createScalarToken=a9.createScalarToken;PF.resolveAsScalar=a9.resolveAsScalar;PF.setScalarValue=a9.setScalarValue;PF.stringify=OF.stringify;PF.visit=BF.visit;PF.BOM=n9;PF.DOCUMENT=t9;PF.FLOW_END=e9;PF.SCALAR=UX;PF.isCollection=TF;PF.isScalar=RF;PF.prettyToken=DF;PF.tokenType=MF});var qX=R((hF)=>{var q6=P4();function K0(U){switch(U){case void 0:case" ":case`
|
|
117
|
+
`:case"\r":case"\t":return!0;default:return!1}}var DQ=new Set("0123456789ABCDEFabcdef"),vF=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),w4=new Set(",[]{}"),xF=new Set(` ,[]{}
|
|
118
|
+
\r `),XX=(U)=>!U||xF.has(U);class MQ{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(XX),"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(XX),"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(XX))+(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(vF.has(X))X=this.buffer[++U];else if(X==="%"&&DQ.has(this.buffer[U+1])&&DQ.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)}}hF.Lexer=MQ});var ZX=R((mF)=>{class PQ{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}}}}mF.LineCounter=PQ});var QX=R((cF)=>{var lF=M1("process"),wQ=P4(),dF=qX();function Q1(U,X){for(let q=0;q<U.length;++q)if(U[q].type===X)return!0;return!1}function IQ(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 NQ(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 I4(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 KQ(U){if(U.start.type==="flow-seq-start"){for(let X of U.items)if(X.sep&&!X.value&&!Q1(X.start,"explicit-key-ind")&&!Q1(X.sep,"map-value-ind")){if(X.key)X.value=X.key;if(delete X.key,NQ(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 CQ{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 dF.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,lF.env.LOG_TOKENS)console.log("|",wQ.prettyToken(U));if(this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=U.length;return}let X=wQ.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")KQ(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&&IQ(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(IQ(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=I4(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
|
|
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 J=X.sep[Y];switch(J.type){case"newline":G.push(Y);break;case"space":break;case"comment":if(J.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(Q1(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(Q1(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(NQ(X.key)&&!Q1(X.sep,"newline")){let G=e1(X.start),Y=X.key,J=X.sep;J.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:J}]})}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(Q1(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&&!Q1(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||Q1(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=I4(q),Q=e1(Z);KQ(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=I4(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=I4(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()}}}cF.Parser=CQ});var fQ=R((UA)=>{var SQ=s9(),sF=n2(),Z6=t2(),oF=Z9(),rF=k(),aF=ZX(),EQ=QX();function bQ(U){let X=U.prettyErrors!==!1;return{lineCounter:U.lineCounter||X&&new aF.LineCounter||null,prettyErrors:X}}function nF(U,X={}){let{lineCounter:q,prettyErrors:Z}=bQ(X),Q=new EQ.Parser(q?.addNewLine),G=new SQ.Composer(X),Y=Array.from(G.compose(Q.parse(U)));if(Z&&q)for(let J of Y)J.errors.forEach(Z6.prettifyError(U,q)),J.warnings.forEach(Z6.prettifyError(U,q));if(Y.length>0)return Y;return Object.assign([],{empty:!0},G.streamInfo())}function jQ(U,X={}){let{lineCounter:q,prettyErrors:Z}=bQ(X),Q=new EQ.Parser(q?.addNewLine),G=new SQ.Composer(X),Y=null;for(let J of G.compose(Q.parse(U),!0,U.length))if(!Y)Y=J;else if(Y.options.logLevel!=="silent"){Y.errors.push(new Z6.YAMLParseError(J.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 tF(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=jQ(U,q);if(!Q)return null;if(Q.warnings.forEach((G)=>oF.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 eF(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(rF.isDocument(U)&&!Z)return U.toString(q);return new sF.Document(U,Z,q).toString(q)}UA.parse=tF;UA.parseAllDocuments=nF;UA.parseDocument=jQ;UA.stringify=eF});var gQ=R((OA)=>{var GA=s9(),YA=n2(),JA=b9(),GX=t2(),HA=k2(),G1=k(),WA=U1(),_A=i(),$A=q1(),LA=Z1(),zA=P4(),FA=qX(),AA=ZX(),VA=QX(),K4=fQ(),yQ=y2();OA.Composer=GA.Composer;OA.Document=YA.Document;OA.Schema=JA.Schema;OA.YAMLError=GX.YAMLError;OA.YAMLParseError=GX.YAMLParseError;OA.YAMLWarning=GX.YAMLWarning;OA.Alias=HA.Alias;OA.isAlias=G1.isAlias;OA.isCollection=G1.isCollection;OA.isDocument=G1.isDocument;OA.isMap=G1.isMap;OA.isNode=G1.isNode;OA.isPair=G1.isPair;OA.isScalar=G1.isScalar;OA.isSeq=G1.isSeq;OA.Pair=WA.Pair;OA.Scalar=_A.Scalar;OA.YAMLMap=$A.YAMLMap;OA.YAMLSeq=LA.YAMLSeq;OA.CST=zA;OA.Lexer=FA.Lexer;OA.LineCounter=AA.LineCounter;OA.Parser=VA.Parser;OA.parse=K4.parse;OA.parseAllDocuments=K4.parseAllDocuments;OA.parseDocument=K4.parseDocument;OA.stringify=K4.stringify;OA.visit=yQ.visit;OA.visitAsync=yQ.visitAsync});class lQ{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 dQ{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;if(typeof Z==="object"&&Z!==null&&Q in Z)Z=Z[Q];else return}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.some((Z)=>Z===U);case"NOT_IN":return Array.isArray(q)&&!q.some((Z)=>Z===U);case"CONTAINS":if(Array.isArray(U)||typeof U==="string")return U.includes(q);return!1;case"MATCHES":if(typeof q==="string")return new RegExp(q).test(String(U));return!1;case"RANGE":if(Array.isArray(q)&&q.length===2){let Z=Number(U),Q=Number(q[0]),G=Number(q[1]);return!isNaN(Z)&&!isNaN(Q)&&!isNaN(G)&&Z>=Q&&Z<=G}return!1;default:return console.warn(`Unknown operator: ${X}`),!1}}}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 HX;((Z)=>{Z.RULE_ADDED="rule:added";Z.RULE_REMOVED="rule:removed";Z.RULE_UPDATED="rule:updated"})(HX||={});var XV=Q6,G6=HX;class b4{static instance;handlers=new Map;constructor(){}static getInstance(){if(!this.instance)this.instance=new b4;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 N0=b4.getInstance();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){let X=this.getRules(),q=new Set(X.map((Y)=>Y.id)),Z=new Set(U.map((Y)=>Y.id)),Q=U.filter((Y)=>!q.has(Y.id)),G=X.filter((Y)=>!Z.has(Y.id));this.rules=[...U],this.sortRules(),Q.forEach((Y)=>{this.emitRuleEvent(G6.RULE_ADDED,{ruleId:Y.id,timestamp:Date.now()})}),G.forEach((Y)=>{this.emitRuleEvent(G6.RULE_REMOVED,{ruleId:Y.id,timestamp:Date.now()})}),this.emitRuleEvent(G6.RULE_UPDATED,{count:U.length,added:Q.length,removed:G.length,unchanged:U.length-Q.length,timestamp:Date.now()})}emitRuleEvent(U,X){try{if(N0)N0.emit(U,{...X,timestamp:Date.now()})}catch(q){console.warn(`Could not emit event ${U}:`,q)}}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((H,W)=>H+(W.probability||1),0),Y=Math.random()*G,J;for(let H of Z){let W=H.probability||1;if(Y-=W,Y<=0){J=H;break}}if(!J&&Z.length>0)J=Z[Z.length-1];if(J)Z=[J];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(),WX)),G=Q.getInstance().get(U.type);if(G)q=(Y)=>G({...U,params:Y},X)}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&&!Array.isArray(Q))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();class j4 extends Z2{actionRegistry;stateManager;constructor(U){super(U);this.actionRegistry=P1.getInstance(),this.stateManager=R0.getInstance()}async processEvent(U){let X=[];if(U.state=this.stateManager.getAll(),N0.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}`);N0.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 N0.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(this.isActionGroup(U)){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}isActionGroup(U){return typeof U==="object"&&U!==null&&"mode"in U&&"actions"in U}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 N0.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),N0.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 cQ{static create(U,X,q={}){return{event:U,timestamp:Date.now(),data:typeof X==="object"&&X!==null?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)=>typeof U==="string"?JSON.parse(U):null,jsonStringify:(U)=>JSON.stringify(U)}}}X2();q2();X2();var l0=(U)=>Array.isArray(U)?U:[U],_X=(U,X)=>{let q=[[],[]];for(let Z of U)if(X(Z))q[0].push(Z);else q[1].push(Z);return q},Y6=Array,z0=(U,X)=>U.includes(X),$X=(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},y0=(U,X)=>{if(X===void 0||X===null)return U??[];if(U===void 0||U===null)return l0(X);return U.concat(X)},LX=(...U)=>U.reduce(y0,[]),C0=(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 l0(X))if(!U.some((G)=>Z(G,Q)))U.push(Q);return U},zX=(U,X)=>U.reduce((q,Z)=>{let Q=Z[X];return q[Q]=y(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 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"},FX={...Q0,function:"a function"};class AX extends Error{}var g=(U)=>Y1(U,AX),Y1=(U,X=Error)=>{throw new X(U)};class Q2 extends Error{name="ParseError"}var F=(U)=>Y1(U,Q2),D0=(U)=>` ${U}`,VX="";var S=(U,X)=>{let q={},Z=Array.isArray(U),Q=!1;for(let[G,Y]of Object.entries(U).entries()){let J=Z?X(G,Y[1]):X(...Y,G);Q||=typeof J[0]==="number";let H=Array.isArray(J[0])||J.length===0?J:[J];for(let[W,$]of H)if(typeof W==="object")q[W.group]=y(q[W.group],$);else q[W]=$}return Q?Object.values(q):q};var f4=Object.entries;var a=(U,X)=>(U in X),w1=(U,X)=>(X in U);class y4{constructor(U){Object.assign(this,U)}}var OX=class{};class G2 extends OX{}var iQ=(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 J6=(U,X)=>iQ(U,X)[1],S0=(U)=>Object.keys(U).length===0,J1=(U)=>[...Object.entries(U),...Object.getOwnPropertySymbols(U).map((X)=>[X,U[X]])],BX=(U,X)=>Object.defineProperties(U,Object.getOwnPropertyDescriptors(X)),TX=(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${VX}`),RX=(U)=>Object.values(U).filter((X)=>{if(typeof X==="number")return!0;return typeof U[X]!=="number"});var g4={Array,Boolean,Date,Error,Function,Map,Number,Promise,RegExp,Set,String,WeakMap,WeakSet},k4=globalThis.File??Blob,v4={ArrayBuffer,Blob,File:k4,FormData,Headers,Request,Response,URL},sQ={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array},H1={...g4,...v4,...sQ,String,Number,Boolean},Y2=(U)=>{let X=Object.getPrototypeOf(U);while(X?.constructor&&(!a(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},J2=(U)=>typeof U==="object"&&U!==null?Y2(U)??"object":r(U);var x=Array.isArray,oQ={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"},rQ={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"},aQ={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"},DX={...oQ,...rQ,...aQ},H2=(U)=>{let X=Object(U).name??null;return X&&a(X,H1)&&H1[X]===U?X:null};var x4=(U,X)=>{let q=U.prototype;while(q!==null){if(q===X.prototype)return!0;q=Object.getPrototypeOf(q)}return!1};var MX=(U)=>PX(U,new Map),PX=(U,X)=>{if(typeof U!=="object"||U===null)return U;if(X?.has(U))return X.get(U);let q=H2(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=PX(Y.value,X)}}return Object.defineProperties(Z,Q),Z};var nQ=(U)=>{let X=G0;return()=>X===G0?X=U():X},d0=(U)=>typeof U==="function"&&U.length===0;var wX=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 IX=nQ(()=>{try{return Function("return false")()}catch{return!0}});var GO=D0("brand");var KX=D0("arkInferred");var HO=D0("args");class e{constructor(){}}var tQ=()=>{try{return((Error().stack?.split(`
|
|
144
|
+
`)[2]?.trim()||"").match(/\(?(.+?)(?::\d+:\d+)?\)?$/)?.[1]||"unknown").replace(/^file:\/\//,"")}catch{return"unknown"}},eQ=globalThis.process?.env??{},NX={fileName:tQ,env:eQ};var CX=(U)=>U[0].toUpperCase()+U.slice(1),SX=(U)=>U[0].toLowerCase()+U.slice(1),h4=(U)=>new RegExp(UG(U),typeof U==="string"?"":U.flags);var UG=(U)=>{return`^(?:${typeof U==="string"?U:U.source})$`};var k0={negativeLookahead:(U)=>`(?!${U})`,nonCapturingGroup:(U)=>`(?:${U})`},W1="\\",c0={" ":1,"\n":1,"\t":1};var XG=/^-0\.?0*$/.source,bX=/[1-9]\d*/.source,qG=/\.\d+/.source,ZG=/\.\d*[1-9]/.source,jX=(U)=>h4(k0.negativeLookahead(XG)+k0.nonCapturingGroup("-?"+k0.nonCapturingGroup(k0.nonCapturingGroup("0|"+bX)+k0.nonCapturingGroup(U.decimalPattern)+"?")+(U.allowDecimalOnly?"|"+U.decimalPattern:"")+"?")),EX=jX({decimalPattern:ZG,allowDecimalOnly:!1}),QG=EX.test.bind(EX),H6=jX({decimalPattern:qG,allowDecimalOnly:!0}),AO=H6.test.bind(H6),GG=/^-?\d*\.?\d*$/,YG=(U)=>U.length!==0&&GG.test(U),W2=h4(k0.negativeLookahead("^-0$")+"-?"+k0.nonCapturingGroup(k0.nonCapturingGroup("0|"+bX))),JG=W2.test.bind(W2),u4=/^-?\d+$/,HG=u4.test.bind(u4),fX={number:"a number",bigint:"a bigint",integer:"an integer"},yX=(U,X)=>`'${U}' was parsed as ${fX[X]} but could not be narrowed to a literal value. Avoid unnecessary leading or trailing zeros and other abnormal notation`,WG=(U,X)=>X==="number"?QG(U):JG(U),_G=(U,X)=>X==="number"?Number(U):Number.parseInt(U),$G=(U,X)=>X==="number"?YG(U):HG(U),gX=(U,X)=>m4(U,"number",X),kX=(U,X)=>m4(U,"number",{...X,strict:!0}),vX=(U,X)=>m4(U,"integer",X),m4=(U,X,q)=>{let Z=_G(U,X);if(!Number.isNaN(Z)){if($G(U,X)){if(q?.strict)return WG(U,X)?Z:F(yX(U,X));return Z}}return q?.errorOnFail?F(q?.errorOnFail===!0?`Failed to parse ${fX[X]} from '${U}'`:q?.errorOnFail):void 0},xX=(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(u4.test(X))return F(yX(U,"bigint"))};var LG="0.56.0",zG={version:LG,filename:NX.fileName(),FileConstructor:k4},_1=zG,hX=new Map,p4=Object.create(null),_2=(U)=>{let X=hX.get(U);if(X)return X;let q=FG(U);if(p4[q])q=`${q}${p4[q]++}`;else p4[q]=1;return _1[q]=U,hX.set(U,q),q},i0=(U)=>/^[$A-Z_a-z][\w$]*$/.test(U),FG=(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 i0(U.name)?U.name:"fn";case"symbol":return U.description&&i0(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 uX=(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?W6(q,X?.indent??0,""):JSON.stringify(L2(q,I1,[]),null,X?.indent):W6(q,X?.indent??0,"");case"symbol":return I1.onSymbol(U);default:return $2(U)}},W6=(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)=>W6(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=J1(U).map(([Y,J])=>{let H=typeof Y==="symbol"?I1.onSymbol(Y):i0(Y)?Y:JSON.stringify(Y),W=W6(J,X,Z);return`${Z}${H}: ${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(),J=U.getMilliseconds();if(q===0&&Z===1&&Q===0&&G===0&&Y===0&&J===0)return`${X}`;let H=`${AG[q]} ${Z}, ${X}`;if(Q===0&&G===0&&Y===0&&J===0)return H;let W=U.toLocaleTimeString(),$=W.endsWith(" AM")||W.endsWith(" PM")?W.slice(-3):"";if($)W=W.slice(0,-$.length);if(J)W+=`.${OG(J,3)}`;else if(VG.test(W))W=W.slice(0,-3);return`${W+$}, ${H}`},AG=["January","February","March","April","May","June","July","August","September","October","November","December"],VG=/:\d\d:00$/,OG=(U,X)=>String(U).padStart(X,"0");var mX=(U,X,...[q])=>{let Z=q?.stringifySymbol??E,Q=U;switch(typeof X){case"string":Q=i0(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},v0=(U,...X)=>U.reduce((q,Z)=>mX(q,Z,...X),"");class z2 extends Y6{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=v0(this)}stringifyAncestors(){if(this.cache.stringifyAncestors)return this.cache.stringifyAncestors;let U="",X=[U];for(let q of this)U=mX(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 c0))}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 pX=(U,X)=>`Unmatched ${U}${X===""?"":` before ${X}`}`,_6=(U)=>`Missing ${U}`;var uO=D0("implementedTraits");var l4="$ark",BG=2;while(l4 in globalThis)l4=`$ark${BG++}`;var lX=l4;globalThis[lX]=_1;var V=_1,TG=(U)=>`${lX}.${U}`,d=(U)=>TG(_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 d4(U,X)}index(U,X=!1){return dX(`${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 wX(...this.argNames,this.body)}}var M0=(U)=>Z0(U,"object")||typeof U==="symbol"?d(U):$2(U),d4=(U,X=!1)=>{if(typeof U==="string"&&i0(U))return`${X?"?":""}.${U}`;return dX(RG(U),X)},RG=(U)=>typeof U==="symbol"?d(U):JSON.stringify(U),dX=(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 L6=(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 cX=["unit","proto","domain"],K1=["required","optional","index","sequence"],c4=["pattern","divisor","exactLength","max","min","maxLength","minLength","before","after"],i4=[...c4,"structure","predicate"],z6=[...i4,...K1],N1=["alias","union","morph","unit","intersection","proto","domain"],DG=[...N1,...z6],F6=S(z6,(U,X)=>[X,1]),iX=S([...K1,"undeclared"],(U,X)=>[X,1]),sX=S(DG,(U,X)=>[X,U]),C1=(U)=>typeof U==="string"&&(U in sX);var S1=(U)=>sX[U],A6=(U)=>N1.slice(S1(U)+1),PB=[...A6("union"),"alias"],wB=[...A6("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)},s0=(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 oX 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 MG={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:oX,throw:(...U)=>{throw new p.Error(...U)},throwInternalOperandError:(U,X)=>g(`Unexpected JSON Schema input for ${U}: ${E(X)}`),defaultConfig:MG};V.config??={};var V2=(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]=s4(U.toJsonSchema,X.toJsonSchema);else if(C1(Z))q[Z]={...U[Z],...X[Z]};else q[Z]=X[Z]}return q},PG={"draft-2020-12":"https://json-schema.org/draft/2020-12/schema","draft-07":"http://json-schema.org/draft-07/schema#"},s4=(U,X)=>{if(!U)return rX(X??{},void 0);if(!X)return U;let q={...U},Z;for(Z in X)if(Z==="fallback")q.fallback=wG(U.fallback,X.fallback);else q[Z]=X[Z];return rX(q,X)},rX=(U,X)=>{if(X?.dialect!==void 0)return U;if(X?.target!==void 0)return{...U,dialect:PG[X.target]};return U},wG=(U,X)=>{U=aX(U),X=aX(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},aX=(U)=>typeof U==="function"?{default:U}:U??{};class o0 extends G2{[X0]="error";path;data;nodeConfig;input;ctx;constructor({prefixPath:U,relativePath:X,...q},Z){super();this.input=q,this.ctx=Z,BX(this,q);let Q=Z.data;if(q.code==="union")q.errors=q.errors.flatMap((Y)=>{let J=Y.hasCode("union")?Y.errors:[Y];if(!U&&!X)return J;return J.map((H)=>H.transform((W)=>({...W,path:LX(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 o0(U({data:this.data,path:this.path,...this.input}),this.ctx)}hasCode(U){return this.code===U}get propString(){return v0(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 J0 extends Y6{[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 o4(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 o0({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 J0(this.ctx);for(let q of this)X.add(U(q));return X}merge(U){for(let X of U)this.add(new o0({...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 o4 extends Error{name="TraversalError";constructor(U){if(U.length===1)super(U.summary);else super(`
|
|
155
|
+
`+U.map((X)=>` • ${IG(X)}`).join(`
|
|
156
|
+
`));Object.defineProperty(this,"arkErrors",{value:U,enumerable:!1})}}var IG=(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 P0{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 v0(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 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 H0=(U,X,q)=>{if(!q)return X();q.path.push(U);let Z=X();return q.path.pop(),Z};class B2 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)=>SG(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((J)=>tX(J,Y))){this.flatRefs.push(Y);for(let J of Y.node.branches)if(J.hasKind("morph")||J.hasKind("intersection")&&J.structure?.structuralMorph!==void 0)this.flatMorphs.push({path:Y.path,propString:Y.propString,node:J})}}}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 P0(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 P0(X,this.$.resolvedConfig);return this.traverseApply(X,Z),Z.finalize(q)};case"contextual":return(X,q)=>{let Z=new P0(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 P0(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=CG(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(cX,this.kind)}isConstraint(){return z0(z6,this.kind)}isStructural(){return z0(K1,this.kind)}isRefinement(){return z0(i4,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=O2.normalize(U);return this._select(X)}_select(U){let X=O2.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 O2.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 J=Object.keys(Y);if((J.length===0||J.length===1&&J[0]==="meta")&&!S0(this.inner))return null;if((this.kind==="required"||this.kind==="optional"||this.kind==="index")&&!("value"in Y))return X.undeclaredKeyHandling?{...Y,value:V.intrinsic.unknown}:null;if(this.kind==="morph")Y.in??=V.intrinsic.unknown;return Z=q.node(this.kind,Y,X.parseOptions)}configureReferences(U,X="references"){let q=O2.normalize(X),Z=typeof U==="string"?(J,H)=>({...H,meta:{...H.meta,description:U}}):typeof U==="function"?(J,H)=>({...H,meta:U(H.meta)}):(J,H)=>({...H,meta:{...H.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&&l0(Q),Y=q.boundary==="child"?(J,H)=>H.root.children.includes(J):q.boundary==="shallow"?(J)=>J.kind!=="structure":()=>!0;return this.$.finalize(this.transform(Z,{shouldTransform:Y,selected:G}))}}var O2={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(nX(X,q));return U},find:(U)=>U[0],assertFind:(U,X,q)=>{if(U.length===0)Y1(nX(X,q));return U[0]}},normalize:(U)=>typeof U==="function"?{boundary:"references",method:"filter",where:U}:typeof U==="string"?a(U,O2.applyBoundary)?{method:"filter",boundary:U}:{boundary:"references",method:"filter",kind:U}:{boundary:"references",method:"filter",...U}},nX=(U,X)=>`${U} had no references matching ${E(X)}.`,KG=(U)=>v0(U,{stringifyNonKey:(X)=>X.expression}),NG=/"(\$ark\.[^"]+)"/g,CG=(U)=>JSON.stringify(U).replace(NG,"$1"),w0=(U,X)=>({path:U,node:X,propString:KG(U)}),tX=(U,X)=>U.propString===X.propString&&U.node.equals(X.node),r4=(U,X)=>C0(U,X,{isEqual:tX}),SG=(U,X)=>C0(U,X,{isEqual:(q,Z)=>q.equals(Z)});class B extends Array{static init(U,X,q,Z){return new B({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=v0(U);return n4(`Intersection${Z&&` at ${Z}`} of ${eX(X,q)}`)}return`The following intersections result in unsatisfiable types:
|
|
159
|
+
• ${this.map(({path:U,l:X,r:q})=>`${U}: ${eX(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 B))return new B(...U);return U}withPrefixKey(U,X){return this.map((q)=>({...q,path:[U,...q.path],optional:q.optional||X==="optional"}))}toNeverIfDisjoint(){return V.intrinsic.never}}var eX=(U,X)=>`${a4(U)} and ${a4(X)}`,a4=(U)=>h(U)?U.expression:x(U)?U.map(a4).join(" | ")||"never":String(U),n4=(U)=>`${U} results in an unsatisfiable type`;var E1={},W0=(U,X,q)=>u(U,X,{$:q,invert:!1,pipe:!1}),T2=(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 J=`${X.hash}${Z}${U.hash}`;if(E1[J]!==void 0){let H=E1[J],W=H instanceof B?H.invert():H;return E1[Q]=W,W}}let G=!q.pipe||!U.includesTransform&&!X.includesTransform;if(G&&U.equals(X))return U;let Y=G?t4(U,X,q):U.hasKindIn(...N1)?EG(U,X,q):t4(U,X,q);if(h(Y)){if(U.equals(Y))Y=U;else if(X.equals(Y))Y=X}return E1[Q]=Y,Y},t4=(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 B)G=G.invert();return G}},EG=(U,X,q)=>U.includesTransform||X.includesTransform?q.invert?Uq(X,U,q):Uq(U,X,q):t4(U,X,q),Uq=(U,X,q)=>U.distribute((Z)=>bG(Z,X,q),(Z)=>{let Q=Z.filter(h);if(Q.length===0)return B.init("union",U.branches,X.branches);if(Q.length<U.branches.length||!U.branches.every((J,H)=>J.rawIn.equals(Q[H].rawIn)))return q.$.parseSchema(Q);let G;if(Q.length===1){let J=Q[0];if(!G)return J;return q.$.node("morph",{...J.inner,in:J.rawIn.configure(G,"self")})}let Y={branches:Q};if(G)Y.meta=G;return q.$.parseSchema(Y)}),bG=(U,X,q)=>{if(U.hasKind("morph")){let Q=[...U.morphs];if(U.lastMorphIfNode){let G=u(U.lastMorphIfNode,X,q);if(G instanceof B)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 B)return Q;return q.$.node("morph",{morphs:[X],in:Q})}return q.$.node("morph",{morphs:[X],in:U})};class A0 extends B2{constructor(U,X){super(U,X);Object.defineProperty(this,X0,{value:"constraint",enumerable:!1})}impliedSiblings;intersect(U){return W0(this,U,this.$)}}class x0 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 s0(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"?V.intrinsic.unknown.internal:U.ctx.$.node(U.kind,Object.assign(U.baseInner,jG(U.l)),{prereduced:!0});for(let Q of U.roots){if(Z instanceof B)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 B)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)C0(U.r,Z)}return b1(U)},j1=(U)=>{return Object.entries(U).flatMap(([q,Z])=>(q in F6)?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)},jG=(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},Xq=(...U)=>F(qq(...U)),qq=(U,X,q)=>{let Z=q.hasKind("morph")?"a morph":q.isUnknown()?"unknown":q.exclude(X).defaultShortDescription;return`${CX(U)} operand must be ${X.description} (was ${Z})`};var Zq=(U,X,q)=>new r0(U,X,q,q,null);class V6 extends Y0{}class r0 extends Y0{[X0]="generic";paramDefs;bodyDef;$;arg$;baseInstantiation;hkt;description;constructor(U,X,q,Z,Q){super((...G)=>{let Y=S(this.names,(J,H)=>{let W=this.arg$.parse(G[J]);if(!W.extends(this.constraints[J]))F(fG(H,this.constraints[J].expression,W.expression));return[H,W]});if(this.defIsLazy()){let J=this.bodyDef(Y);return this.$.parse(J)}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 V6}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:uX(this.bodyDef)})}get params(){return this.cacheGetter("params",this.paramDefs.map((U)=>typeof U==="string"?[U,V.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 fG=(U,X,q)=>`${U} must be assignable to ${X} (was ${q})`;var yG=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=s0(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 e4={implementation:yG,Node:Qq};var gG=b({kind:"divisor",collapsibleKey:"rule",keys:{rule:{parse:(U)=>Number.isInteger(U)?U:F(kG(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/vG(U.rule,X.rule))})},obviatesBasisDescription:!0});class Gq extends x0{traverseAllows=(U)=>U%this.rule===0;compiledCondition=`data % ${this.rule} === 0`;compiledNegation=`data % ${this.rule} !== 0`;impliedBasis=V.intrinsic.number.internal;expression=`% ${this.rule}`;reduceJsonSchema(U){if(U.type="integer",this.rule===1)return U;return U.multipleOf=this.rule,U}}var UU={implementation:gG,Node:Gq};var kG=(U)=>`divisor must be an integer (was ${U})`,vG=(U,X)=>{let q,Z=U,Q=X;while(Q!==0)q=Q,Q=Z%Q,Z=q;return Z};class L0 extends x0{boundOperandKind=mG[this.kind];compiledActual=this.boundOperandKind==="value"?"data":this.boundOperandKind==="length"?"data.length":"data.valueOf()";comparator=pG(this.kind,this.exclusive);numericLimit=this.rule.valueOf();expression=`${this.comparator} ${this.rule}`;compiledCondition=`${this.compiledActual} ${this.comparator} ${this.numericLimit}`;compiledNegation=`${this.compiledActual} ${xG[this.comparator]} ${this.numericLimit}`;stringLimit=this.boundOperandKind==="date"?lG(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 xG={"<":">=","<=":">",">":"<=",">=":"<"},hG={min:"max",minLength:"maxLength",after:"before"},O6={parse:(U)=>U||void 0},B6=(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},R6=(U)=>typeof U==="string"||typeof U==="number"?new Date(U):U,uG=(U,X)=>`${U} bound must be a positive integer (was ${X})`,f1=(U)=>(X)=>{if(!Number.isInteger(X)||X<0)F(uG(U,X));return X},mG={min:"value",max:"value",minLength:"length",maxLength:"length",after:"date",before:"date"},pG=(U,X)=>`${a(U,hG)?">":"<"}${X?"":"="}`,lG=(U)=>typeof U==="string"?U:new Date(U).toLocaleString(),Yq=(U)=>`Bounded expression ${U} must be exactly one of number, string, Array, or Date`;var dG=b({kind:"after",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:R6,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 Jq extends L0{impliedBasis=V.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 XU={implementation:dG,Node:Jq};var cG=b({kind:"before",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:R6,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:B.init("range",U,X)}});class Hq extends L0{collapsibleLimitString=$1(this.rule);traverseAllows=(U)=>U<=this.rule;impliedBasis=V.intrinsic.Date.internal;reduceJsonSchema(U,X){return X.fallback.date({code:"date",base:U,before:this.rule})}}var qU={implementation:cG,Node:Hq};var iG=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)=>B.init("unit",q.$.node("unit",{unit:U.rule}),q.$.node("unit",{unit:X.rule}),{path:["length"]}),minLength:(U,X)=>U.rule>=X.rule?U:B.init("range",U,X),maxLength:(U,X)=>U.rule<=X.rule?U:B.init("range",U,X)}});class Wq extends x0{traverseAllows=(U)=>U.length===this.rule;compiledCondition=`data.length === ${this.rule}`;compiledNegation=`data.length !== ${this.rule}`;impliedBasis=V.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 ZU={implementation:iG,Node:Wq};var sG=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:B.init("range",U,X)},obviatesBasisDescription:!0});class _q extends L0{impliedBasis=V.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 QU={implementation:sG,Node:_q};var oG=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:B6("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:B.init("range",U,X)}});class $q extends L0{impliedBasis=V.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 GU={implementation:oG,Node:$q};var rG=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 Lq extends L0{impliedBasis=V.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 YU={implementation:rG,Node:Lq};var aG=b({kind:"minLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:f1("minLength")}},reduce:(U)=>U.rule===0?V.intrinsic.unknown:void 0,normalize:B6("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 zq extends L0{impliedBasis=V.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 JU={implementation:aG,Node:zq};var Fq={min:YU.implementation,max:QU.implementation,minLength:JU.implementation,maxLength:GU.implementation,exactLength:ZU.implementation,after:XU.implementation,before:qU.implementation},Aq={min:YU.Node,max:QU.Node,minLength:JU.Node,maxLength:GU.Node,exactLength:ZU.Node,after:XU.Node,before:qU.Node};var nG=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 Vq extends x0{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=V.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:nG,Node:Vq};var R2=(U,X)=>{let q=tG(U);if(X&&!X.includes(q))return F(`Root of kind ${q} should be one of ${X}`);return q},tG=(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(Oq(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 F6)))return"intersection";if("proto"in U)return"proto";if("domain"in U)return"domain";return F(Oq(U))},Oq=(U)=>`${E(U)} is not a valid type schema`,Bq={},eG=(U)=>x(U)?U.map((X)=>X.collapsibleJson):U.collapsibleJson,q0={};V.nodesByRegisteredId=q0;var WU=(U)=>{return Bq[U]??=0,`${U}${++Bq[U]}`},_U=(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,J=f4(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 J){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 B)return W.throw();return U5(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],J=f4(q),H=[],W={};for(let[D,w]of J){let K=Y.keys[D],C=K.serialize??(K.child?eG:F0);if(W[D]=C(w),K.child===!0){let N=w;if(x(N))H.push(...N);else H.push(N)}else if(typeof K.child==="function")H.push(...K.child(w))}if(Y.finalizeInnerJson)W=Y.finalizeInnerJson(W);let $={...W},_={};if(!S0(Z))_=S(Z,(D,w)=>[D,D==="examples"?w:F0(w)]),$.meta=D6(_,"description",!0);W=D6(W,Y.collapsibleKey,!1);let L=JSON.stringify({kind:X,...W});$=D6($,Y.collapsibleKey,!1);let A=D6($,Y.collapsibleKey,!0),T=JSON.stringify({kind:X,...$});if(Q.nodesByHash[T]&&!G)return Q.nodesByHash[T];let z={id:U,kind:X,impl:Y,inner:q,innerEntries:J,innerJson:W,innerHash:L,meta:Z,metaJson:_,json:$,hash:T,collapsibleJson:A,children:H};if(X!=="intersection"){for(let D in q)if(D!=="in"&&D!=="out")z[D]=q[D]}let O=new Rq[X](z,Q);return Q.nodesByHash[T]=O},Tq=(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})},U5=(U,X,q)=>{if(q&&h(q0[q]))g(`Unexpected attempt to overwrite node id ${q}`);return $U({id:q??WU(X.alias??U.kind),kind:U.kind,inner:U.inner,meta:X,$:U.$})},D6=(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 B)if(G==="optional")Q=V.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(LU(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=V.intrinsic.object.internal;serializedKey=M0(this.key);compiledKey=typeof this.key==="string"?this.key:this.serializedKey;flatRefs=y(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 H0(this.key,()=>this.value.traverseAllows(U[this.key],X),X);return this.optional};traverseApply=(U,X)=>{if(this.key in U)H0(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 LU=(U,X)=>`Invalid intersection of default values ${E(U)} & ${E(X)}`;var X5=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 Dq extends M2{constructor(...U){super(...U);if("default"in this.inner)w2(this.value,this.inner.default,this.key)}get rawIn(){let U=super.rawIn;if(!this.hasDefault())return U;return this.$.node("optional",J6(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=Z5(this);defaultValueMorphRef=this.defaultValueMorph&&d(this.defaultValueMorph)}var P2={implementation:X5,Node:Dq},q5={},Z5=(U)=>{if(!U.hasDefault())return;let X=`{${U.compiledKey}: ${U.value.id} = ${F0(U.default)}}`;return q5[X]??=zU(U.key,U.value,U.default)},zU=(U,X,q)=>{if(typeof q==="function")return X.includesTransform?(Q,G)=>{return H0(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 H0(U,()=>X(Q[U]=q,G),G),Q}:(Q)=>{return Q[U]=Z,Q}},w2=(U,X,q)=>{let Z=d0(X);if(Z0(X,"object")&&!Z)F(Q5(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((J)=>({...J,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 V0 extends B2{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:Mq(U.target),...U.libraryOptions}),output:(U)=>this.rawOut.toJsonSchema({target:Mq(U.target),...U.libraryOptions})}}}as(){return this}brand(U){if(U==="")return F(G5);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=s4(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 B)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 B?X.throw():X}rawAnd(U){let X=this.rawIntersect(U);return X instanceof B?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(),V.intrinsic.unknown.internal);if(U.branches.length===0)F(n4(`keyof ${this.expression}`));return this._keyof=this.$.finalize(U)}get props(){if(this.branches.length!==1)return F(J5(this.expression));return[...this.applyStructuralOperation("props",[])[0]]}merge(U){let X=this.$.parseDefinition(U);return this.$.schema(X.distribute((q)=>this.applyStructuralOperation("merge",[Pq(q)??F(wq("merge",q.expression))])))}applyStructuralOperation(U,X){return this.distribute((q)=>{if(q.equals(V.intrinsic.object)&&U!=="merge")return q;let Z=Pq(q);if(!Z)F(wq(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 B)}extends(U){if(this.isNever())return!0;let X=this.intersect(U);return!(X instanceof B)&&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 w2(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=T2(this,U,this.$);if(X instanceof B)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 Xq(X,Z.impliedBasis,this);let G=this.$.node("intersection",{[Z.kind]:Z}),Y=U==="out"?T2(this,G,this.$):W0(this,G,this.$);if(Y instanceof B)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"?J6(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(!g0(this.shallowMorphs,U.shallowMorphs))return!1;if(!g0(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 G5="Expected a non-empty brand name after #",Iq=["draft-2020-12","draft-07"],Y5=(U)=>`JSONSchema target '${U}' is not supported (must be ${Iq.map((X)=>`"${X}"`).join(" or ")})`,Mq=(U)=>{if(!z0(Iq,U))F(Y5(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,Pq=(U)=>{if(U.hasKind("morph"))return null;if(U.hasKind("intersection"))return U.inner.structure??(U.basis?.domain==="object"?U.$.bindReference(V.intrinsic.emptyStructure):null);if(U.isBasis()&&U.domain==="object")return U.$.bindReference(V.intrinsic.emptyStructure);return null},J5=(U)=>`Props cannot be extracted from a union. Use .distribute to extract props from each branch instead. Received:
|
|
163
|
+
${U}`,wq=(U,X)=>`${U} operand must be an object (was ${X})`;var E0=(U,X)=>S(A6(U),(q,Z)=>[Z,X]);var H5=(U)=>typeof U==="string"?{reference:U}:U,Kq=(U)=>U instanceof B?V.intrinsic.never.internal:U,W5=b({kind:"alias",hasAssociatedError:!1,collapsibleKey:"reference",keys:{reference:{serialize:(U)=>U.startsWith("$")?U:`$ark.${U}`},resolve:{}},normalize:H5,defaults:{description:(U)=>U.reference},intersections:{alias:(U,X,q)=>q.$.lazilyResolve(()=>Kq(u(U.resolution,X.resolution,q)),`${U.reference}${q.pipe?"=>":"&"}${X.reference}`),...E0("alias",(U,X,q)=>{if(X.isUnknown())return U;if(X.isNever())return X;if(X.isBasis()&&!X.overlaps(V.intrinsic.object))return B.init("assignability",V.intrinsic.object,X);return q.$.lazilyResolve(()=>Kq(u(U.resolution,X,q)),`${U.reference}${q.pipe?"=>":"&"}${X.id}`)})}});class Nq extends V0{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(_5(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 _5=(U,X)=>`Alias '${U}' has a shallow resolution cycle: ${[...X,U].join("->")}`,K2={implementation:W5,Node:Nq};class L1 extends V0{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 s0(this.errorContext)}compile(U){if(U.traversalKind==="Allows")U.return(this.compiledCondition);else U.if(this.compiledNegation,()=>U.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}}var $5=b({kind:"domain",hasAssociatedError:!0,collapsibleKey:"domain",keys:{domain:{},numberAllowsNaN:{}},normalize:(U)=>typeof U==="string"?{domain:U}:w1(U,"numberAllowsNaN")&&U.domain!=="number"?F(M6.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:B.init("domain",U,X)}});class Cq 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 M6={implementation:$5,Node:Cq,writeBadAllowNanMessage:(U)=>`numberAllowsNaN may only be specified with domain "number" (was ${U})`};var L5=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,J)=>{if(a(Y,iX)){if(Z)F(`Flattened structure key ${Y} cannot be specified alongside a root 'structure' key.`);return Q[Y]=J,[]}return[Y,J]});if(M(Q,"constraint")||!S0(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)=>Sq({},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)=>Sq(U.inner,X.inner,q),...E0("intersection",(U,X,q)=>{if(U.children.length===0)return X;let{domain:Z,proto:Q,...G}=U.inner,Y=Q??Z,J=Y?u(Y,X,q):X;return J instanceof B?J:U?.basis?.equals(J)?U:U.$.node("intersection",{...G,[J.kind]:J},{prereduced:!0})})}});class Eq extends V0{basis=this.inner.domain??this.inner.proto??null;prestructurals=[];refinements=this.children.filter((U)=>{if(!U.isRefinement())return!1;if(z0(c4,U.kind))this.prestructurals.push(U);return!0});structure=this.inner.structure;expression=z5(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 FU={implementation:L5,Node:Eq},z5=(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"},Sq=(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 B)return Y;if(Y)Z[Y.kind]=Y;return b1({kind:"intersection",baseInner:Z,l:j1(U),r:j1(X),roots:[],ctx:q})};var F5=b({kind:"morph",hasAssociatedError:!1,keys:{in:{child:!0,parse:(U,X)=>X.$.parseSchema(U)},morphs:{parse:l0,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(A5(U.expression,X.expression));let Z=u(U.rawIn,X.rawIn,q);if(Z instanceof B)return Z;let Q={morphs:U.morphs};if(U.declaredIn||X.declaredIn){let G=u(U.rawIn,X.rawIn,q);if(G instanceof B)return G.throw();else Q.declaredIn=G}if(U.declaredOut||X.declaredOut){let G=u(U.rawOut,X.rawOut,q);if(G instanceof B)return G.throw();else Q.declaredOut=G}return Z.distribute((G)=>q.$.node("morph",{...Q,in:G}),q.$.parseSchema)},...E0("morph",(U,X,q)=>{let Z=U.inner.in?u(U.inner.in,X,q):X;return Z instanceof B?Z:Z.equals(U.inner.in)?U:q.$.node("morph",{...U.inner,in:Z})})}});class bq extends V0{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??V.intrinsic.unknown.internal}get rawOut(){return this.declaredOut??this.introspectableOut??V.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 g0(this.morphs,U.morphs,{isEqual:(X,q)=>X===q||M(X,"root")&&M(q,"root")&&X.equals(q)})}}var AU={implementation:F5,Node:bq},A5=(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 V5=b({kind:"proto",hasAssociatedError:!0,collapsibleKey:"proto",keys:{proto:{serialize:(U)=>H2(U)??F0(U)},dateAllowsInvalid:{}},normalize:(U)=>{let X=typeof U==="string"?{proto:H1[U]}:typeof U==="function"?h(U)?U:{proto:U}:typeof U.proto==="string"?{...U,proto:H1[U.proto]}:U;if(typeof X.proto!=="function")F(N2.writeInvalidSchemaMessage(X.proto));if(w1(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?DX[U.builtinName]:`an instance of ${U.proto.name}`,actual:(U)=>U instanceof Date&&U.toString()==="Invalid Date"?"an invalid Date":J2(U)},intersections:{proto:(U,X)=>U.proto===Date&&X.proto===Date?U.dateAllowsInvalid?X:U:x4(U.proto,X.proto)?U:x4(X.proto,U.proto)?X:B.init("proto",U,X),domain:(U,X)=>X.domain==="object"?U:B.init("domain",V.intrinsic.object.internal,X)}});class jq extends L1{builtinName=H2(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:V5,Node:jq,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 O5=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((J)=>J.hasKind("morph")&&J.hasEqualMorphs(G));if(Y===-1)q.push(G);else{let J=q[Y];q[Y]=X.$.node("morph",{...J.inner,in:J.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=N5(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=zX(U.errors,"propString"),q=Object.entries(X).map(([Z,Q])=>{let G=[];for(let H of Q)C0(G,H.expected);let Y=k1(G),J=Q.every((H)=>H.actual===Q[0].actual)?Q[0].actual:E(Q[0].data);return`${Z&&`${Z} `}must be ${Y}${J&&` (was ${J})`}`});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 B.init("presence",U,X);let Z;if(U.ordered){if(X.ordered)F(S5(U.expression,X.expression));if(Z=VU(X.branches,U.branches,q),Z instanceof B)Z.invert()}else Z=VU(U.branches,X.branches,q);if(Z instanceof B)return Z;return q.$.parseSchema(U.ordered||X.ordered?{branches:Z,ordered:!0}:{branches:Z})},...E0("union",(U,X,q)=>{let Z=VU(U.branches,[X],q);if(Z instanceof B)return Z;if(Z.length===1)return Z[0];return q.$.parseSchema(U.ordered?{branches:Z,ordered:!0}:{branches:Z})})}});class gq extends V0{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]=V.intrinsic.boolean;continue}U.push(q)}return U}unitBranches=this.branches.filter((U)=>U.rawIn.hasKind("unit"));discriminant=this.discriminate();discriminantJson=this.discriminant?w5(this.discriminant):null;expression=this.distribute((U)=>U.nestableExpression,K5);createBranchedOptimisticRootApply(){return(U,X)=>{let q=this.traverseOptimistic(U);if(q!==G0)return q;let Z=new P0(U,this.$.resolvedConfig);return this.traverseApply(U,Z),Z.finalize(X)}}get shallowMorphs(){return this.branches.reduce((U,X)=>C0(U,X.shallowMorphs),[])}get defaultShortDescription(){return this.distribute((U)=>U.defaultShortDescription,k1)}innerToJsonSchema(U){if(this.branchGroups.length===1&&this.branchGroups[0].equals(V.intrinsic.boolean))return{type:"boolean"};let X=this.branchGroups.map((q)=>q.toJsonSchemaRecurse(U));if(X.every((q)=>Object.keys(q).length===1&&w1(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)),J=JSON.stringify(G),H=this.discriminant.kind==="domain"?`${M5}[${X}]`:`${P5}(${X})`;U.line(`ctx.errorFromNodeContext({
|
|
170
170
|
code: "predicate",
|
|
171
|
-
expected: ${
|
|
172
|
-
actual: ${
|
|
171
|
+
expected: ${J},
|
|
172
|
+
actual: ${H},
|
|
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 J=this.branches[Y],H=W0(G.rawIn,J.rawIn,G.$);if(!(H instanceof B))continue;for(let W of H){if(!W.kind||W.optional)continue;let $,_;if(W.kind==="domain"){let{l:A,r:T}=W;$=`"${typeof A==="string"?A:A.domain}"`,_=`"${typeof T==="string"?T:T.domain}"`}else if(W.kind==="unit")$=W.l.serializedValue,_=W.r.serializedValue;else continue;let L=U.find((A)=>g0(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=C0(L.cases[$].branchIndices,Q);else L.cases[$]??={branchIndices:[Q],condition:W.l};if(L.cases[_])L.cases[_].branchIndices=C0(L.cases[_].branchIndices,Y);else L.cases[_]??={branchIndices:[Y],condition:W.r}}}}}let X=this.ordered?R5(U,this.branches):U;if(!X.length)return null;let q=B5(X,this),Z={};for(let Q in q.best.cases){let G=T5(q,Q);if(G===null){Z[Q]=!0;continue}if(G.length===this.branches.length)return null;if(this.ordered)G.sort((H,W)=>H.originalIndex-W.originalIndex);let Y=G.map((H)=>H.branch),J=Y.length===1?Y[0]:this.$.node("union",this.ordered?{branches:Y,ordered:!0}:Y);Object.assign(this.referencesById,J.referencesById),Z[Q]=J}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 B5=(U,X)=>{let Z=U.sort((Y,J)=>Y.path.length===J.path.length?Object.keys(J.cases).length-Object.keys(Y.cases).length:Y.path.length-J.path.length)[0],Q={kind:Z.kind,path:Z.path,optionallyChainedPropString:kq(Z.path)},G=X.branches.map((Y,J)=>({originalIndex:J,branch:Y}));return{best:Z,location:Q,defaultEntries:G,node:X}},T5=(U,X)=>{let q=U.best.cases[X],Z=D5(q.condition,U.location.path,U.node.$),Q=[],G=[];for(let Y=0;Y<U.defaultEntries.length;Y++){let J=U.defaultEntries[Y];if(q.branchIndices.includes(J.originalIndex)){let H=fq(U.node.branches[J.originalIndex],U.location);if(H===null)Q=null;else Q?.push({originalIndex:J.originalIndex,branch:H})}else if(J.branch.hasKind("alias")&&Z.hasKind("domain")&&Z.domain==="object")Q?.push(J);else{if(J.branch.rawIn.overlaps(Z)){let H=fq(J.branch,U.location);Q?.push({originalIndex:J.originalIndex,branch:H})}G.push(J)}}return U.defaultEntries=G,Q},R5=(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 J=G+1;J<Q.length;J++){let H=Q[J];for(let W of Y)for(let $ of H)if(W>$){if(X[W].overlaps(X[$]))return!1}}}return!0})},D5=(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:[...$X(G).map((Y)=>({})),Z]}:{domain:"object",required:[{key:G,value:Z}]})}return Z},kq=(U)=>U.reduce((X,q)=>X+d4(q,!0),"data"),M5=d(FX),P5=d(E),OU={implementation:O5,Node:gq},w5=(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])}),I5={delimiter:" | ",finalDelimiter:" | "},K5=(U)=>k1(U,I5),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((J)=>Q[J]?!1:Q[J]=!0),Y=G.pop();return`${G.join(q)}${G.length?Z:""}${Y}`},VU=(U,X,q)=>{let Z=X.map(()=>[]);for(let G=0;G<U.length;G++){let Y={};for(let J=0;J<X.length;J++){if(Z[J]===null)continue;if(U[G].equals(X[J])){Z[J]=null,Y={};break}let H=u(U[G],X[J],q);if(H instanceof B)continue;if(H.equals(U[G])){Z[J].push(U[G]),Y={};break}if(H.equals(X[J]))Z[J]=null;else Y[J]=H}for(let J in Y)Z[J][G]=Y[J]}let Q=Z.flatMap((G,Y)=>G?.flatMap((J)=>J.branches)??X[Y]);return Q.length===0?B.init("union",U,X):Q},N5=({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 B)continue;if(!X)C5(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])},C5=(U,X)=>{if(!U.includesTransform&&!X.includesTransform)return;if(!g0(U.shallowMorphs,X.shallowMorphs))F(yq(U.expression,X.expression));if(!g0(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(yq(U.expression,X.expression))},fq=(U,X)=>U.transform((q,Z)=>{if(q==="domain"||q==="unit")return null;return Z},{shouldTransform:(q,Z)=>{let Q=kq(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"}}),yq=(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}`,S5=(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 E5=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)=>B.init("unit",U,X),...E0("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:V.intrinsic.object;if(U.domain!==Z.domain){let Q=U.domain==="undefined"||U.domain==="null"||U.domain==="boolean"?U.domain:V.intrinsic[U.domain];return B.init("domain",Q,Z)}}return B.init("assignability",U,X.hasKind("intersection")?X.children.find((Z)=>!Z.allows(U.unit)):X)})}});class xq extends L1{compiledValue=this.json.unit;serializedValue=typeof this.unit==="string"||this.unit instanceof Date?JSON.stringify(this.compiledValue):`${this.compiledValue}`;compiledCondition=vq(this.unit,this.serializedValue);compiledNegation=vq(this.unit,this.serializedValue,"negated");expression=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"}:V.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 BU={implementation:E5,Node:xq},vq=(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 b5=b({kind:"index",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{signature:{child:!0,parse:(U,X)=>{let q=X.$.parseSchema(U);if(!q.extends(V.intrinsic.key))return F(f5(q.expression));let Z=q.branches.filter((Q)=>Q.hasKind("unit"));if(Z.length)return F(j5(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 B?V.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 hq extends A0{impliedBasis=V.intrinsic.object.internal;expression=`[${this.signature.expression}]: ${this.value.expression}`;flatRefs=y(this.value.flatRefs.map((U)=>w0([this.signature,...U.path],U.node)),w0([this.signature],this.value));traverseAllows=(U,X)=>J1(U).every((q)=>{if(this.signature.traverseAllows(q[0],X))return H0(q[0],()=>this.value.traverseAllows(q[1],X),X);return!0});traverseApply=(U,X)=>{for(let q of J1(U))if(this.signature.traverseAllows(q[0],X))H0(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:b5,Node:hq},j5=(U)=>`Index keys ${U.join(", ")} should be specified as named props.`,f5=(U)=>`Indexed key definition '${U}' must be a string or symbol`;var y5=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 uq extends M2{expression=`${this.compiledKey}: ${this.value.expression}`;errorContext=Object.freeze({code:"required",missingValueDescription:this.value.defaultShortDescription,relativePath:[this.key],meta:this.meta});compiledErrorContext=s0(this.errorContext)}var RU={implementation:y5,Node:uq};var g5=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 w2(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(h5);if(U.optionals?.length||U.defaultables?.length)return F(MU)}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 B,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",mq(Q[0].result)):q.$.node("union",Q.map((G)=>({proto:Array,sequence:mq(G.result)})))}}});class lq extends A0{impliedBasis=V.intrinsic.Array.internal;tuple=x5(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=y0(this.variadic&&[this.variadic],this.postfix);flatRefs=this.addFlatRefs();addFlatRefs(){return r4(this.flatRefs,this.prevariadic.flatMap((U,X)=>y(U.node.flatRefs.map((q)=>w0([`${X}`,...q.path],q.node)),w0([`${X}`],U.node)))),r4(this.flatRefs,this.variadicOrPostfix.flatMap((U)=>y(U.flatRefs.map((X)=>w0([V.intrinsic.nonNegativeIntegerString.internal,...X.path],X.node)),w0([V.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=v5(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++)H0(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(V.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=V.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 k5={},v5=(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(zU(Q,G,Y)),q+=`${Q}: ${G.id} = ${F0(Y)}, `}return q+="]",k5[q]??=X},DU={implementation:g5,Node:lq},x5=(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},mq=(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},{}),MU="A postfix required element cannot follow an optional or defaultable element",h5="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",J=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 H=u(X.node,Z.node,U.ctx);if(H instanceof B)if(J==="prefix"||J==="postfix")U.disjoint.push(...H.withPrefixKey(J==="prefix"?U.result.length:`-${q.length+1}`,pq(X)&&pq(Z)?"required":"optional")),U.result=[...U.result,{kind:J,node:V.intrinsic.never.internal}];else if(J==="optionals"||J==="defaultables")return U;else return C2({...U,fixedVariants:[],l:q.map((_)=>({..._,kind:"prefix"})),r:q.map((_)=>({..._,kind:"prefix"}))});else if(J==="defaultables"){if(X.kind==="defaultables"&&Z.kind==="defaultables"&&X.default!==Z.default)F(LU(X.default,Z.default));U.result=[...U.result,{kind:J,node:H,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:J,node:H}];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)},pq=(U)=>U.kind==="prefix"||U.kind==="postfix";var sq=(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??"{}"},u5=sq("description"),m5=sq("expression"),dq=(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 B)return Z==="optional"?q.node("optional",{key:U.key,value:V.intrinsic.never.internal}):Q.withPrefixKey(U.key,U.kind);return null},p5=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:u5},intersections:{structure:(U,X,q)=>{let Z={...U.inner},Q={...X.inner},G=new B;if(U.undeclared){let H=U.keyof();for(let W of X.requiredKeys)if(!H.allows(W))G.add("presence",V.intrinsic.never.internal,X.propsByKey[W].value,{path:[W]});if(Q.optional)Q.optional=Q.optional.filter((W)=>H.allows(W.key));if(Q.index)Q.index=Q.index.flatMap((W)=>{if(W.signature.extends(H))return W;let $=W0(H,W.signature,q.$);if($ instanceof B)return[];let _=P6($,W.value,q.$);if(_.required)Q.required=y0(Q.required,_.required);if(_.optional)Q.optional=y0(Q.optional,_.optional);return _.index??[]})}if(X.undeclared){let H=X.keyof();for(let W of U.requiredKeys)if(!H.allows(W))G.add("presence",U.propsByKey[W].value,V.intrinsic.never.internal,{path:[W]});if(Z.optional)Z.optional=Z.optional.filter((W)=>H.allows(W.key));if(Z.index)Z.index=Z.index.flatMap((W)=>{if(W.signature.extends(H))return W;let $=W0(H,W.signature,q.$);if($ instanceof B)return[];let _=P6($,W.value,q.$);if(_.required)Z.required=y0(Z.required,_.required);if(_.optional)Z.optional=y0(Z.optional,_.optional);return _.index??[]})}let Y={};if(U.undeclared||X.undeclared)Y.undeclared=U.undeclared==="reject"||X.undeclared==="reject"?"reject":"delete";let J=b1({kind:"structure",baseInner:Y,l:j1(Z),r:j1(Q),roots:[],ctx:q});if(J instanceof B)G.push(...J);if(G.length)return G;return J}},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(iq(Y.key));if(q[Y.key]=!0,U.index)for(let J of U.index){let H=dq(Y,J,X);if(H instanceof B)return H}}if(U.optional)for(let G=0;G<U.optional.length;G++){let Y=U.optional[G];if(Y.key in q)F(iq(Y.key));if(q[Y.key]=!0,U.index)for(let J of U.index){let H=dq(Y,J,X);if(H instanceof B)return H;if(H!==null)Q[G]=H,Z=!0}}if(Z)return X.node("structure",{...U,optional:Q},{prereduced:!0})}});class oq extends A0{impliedBasis=V.intrinsic.object.internal;impliedSiblings=this.children.flatMap((U)=>U.impliedSiblings??[]);props=y0(this.required,this.optional);propsByKey=S(this.props,(U,X)=>[X.key,X]);propsByKeyReference=d(this.propsByKey);expression=m5(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,J)=>(Y in P2.implementation.keys)?[Y,J]:[]);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(cq(this.expression,X))}get(U,...X){let q,Z=!1,Q=i5(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,V.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 J=this.sequence.prevariadic[Y].node;q=q?.and(J)??J,Z||=Y<this.sequence.prefixLength}else if(this.sequence.variadic){let J=this.$.node("union",this.sequence.variadicOrPostfix);q=q?.and(J)??J}}if(!q){if(this.sequence?.variadic&&M(Q,"root")&&Q.extends(V.intrinsic.number))return F(s5(Q.expression,this.sequence.expression));return F(cq(this.expression,[Q]))}let G=q.get(...X);return Z?G:G.or(V.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=L6(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 J of this.index)if(J.signature.traverseAllows(Y,q)){if(U==="Allows"){if(!H0(Y,()=>J.value.traverseAllows(X[Y],q),q))return!1}else if(H0(Y,()=>J.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&&V.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",d5(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(["),c5(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=V.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(V.intrinsic.string)){U.additionalProperties=Z;continue}for(let Q of q.signature.branches){if(!Q.extends(V.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 J=Object.assign(G,{pattern:Y[0].rule});for(let H=1;H<Y.length;H++)G=X.fallback.patternIntersection({code:"patternIntersection",base:J,pattern:Y[H].rule});U.patternProperties??={},U.patternProperties[J.pattern]=Z}}}if(this.undeclared&&!U.additionalProperties)U.additionalProperties=!1;return U}}var PU={},l5=(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},d5=(U)=>{let X=l5(U);if(!X)return;if(PU[X])return PU[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 PU[X]=q},c5=(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:J}=X.defaultable[G];Q.if(`!(${Y} in data)`,(H)=>H.line(`${J}${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:p5,Node:oq},i5=(U)=>{if(M(U,"root")&&U.hasKind("unit"))U=U.unit;if(typeof U==="number")U=`${U}`;return U},s5=(U,X)=>`${U} is not allowed as an array index on ${X}. Use the 'nonNegativeIntegerString' keyword instead.`,P6=(U,X,q)=>{let[Z,Q]=_X(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 J=q.node("required",{key:Y.unit,value:X});G[J.kind]=y(G[J.kind],J)}if(Q.length)G.index=q.node("index",{signature:Q,value:X});return G},o5=(U)=>M(U,"root")?U.expression:E(U),cq=(U,X)=>`Key${X.length===1?"":"s"} ${X.map(o5).join(", ")} ${X.length===1?"does":"do"} not exist on ${U}`,iq=(U)=>`Duplicate key ${M0(U)}`;var y1={...Fq,alias:K2.implementation,domain:M6.implementation,unit:BU.implementation,proto:N2.implementation,union:OU.implementation,morph:AU.implementation,intersection:FU.implementation,divisor:UU.implementation,pattern:HU.implementation,predicate:e4.implementation,required:RU.implementation,optional:P2.implementation,index:TU.implementation,sequence:DU.implementation,structure:wU.implementation};V.defaultConfig=TX(Object.assign(S(y1,(U,X)=>[U,X.defaults]),{jitless:IX(),clone:MX,onUndeclaredKey:"ignore",exactOptionalPropertyTypes:!0,numberAllowsNaN:!1,dateAllowsInvalid:!1,onFail:null,keywords:{},toJsonSchema:p.defaultConfig}));V.resolvedConfig=V2(V.defaultConfig,V.config);var Rq={...Aq,alias:K2.Node,domain:M6.Node,unit:BU.Node,proto:N2.Node,union:OU.Node,morph:AU.Node,intersection:FU.Node,divisor:UU.Node,pattern:HU.Node,predicate:e4.Node,required:RU.Node,optional:P2.Node,index:TU.Node,sequence:DU.Node,structure:wU.Node};class v1 extends y4{get[X0](){return"module"}}var IU=(U,X)=>new v1(S(U,(q,Z)=>[q,M(Z,"module")?IU(Z,X):X.bindReference(Z)]));var r5=(U)=>x(U)?U:("branches"in U)&&x(U.branches)?U.branches:void 0,a5=(U,X)=>F(`Node of kind ${X} is not valid as a ${U} definition`),rq=(U)=>`#${U} duplicates public alias ${U}`,KU={};V.ambient??={};var aq,tq="function $",n5=(U)=>eq(U,UZ(U)),eq=(U,X)=>{let q=X.write(tq,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}},UZ=(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`),J=`${X}${Q},
|
|
180
180
|
${Y},
|
|
181
|
-
`;if(!q.hasKind("union"))return
|
|
181
|
+
`;if(!q.hasKind("union"))return J;let H=new A2({kind:"Allows",optimistic:!0}).indent();q.compile(H);let W=H.write(`${q.id}Optimistic`);return`${J}${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=V2(V.config,X),this.resolvedConfig=V2(V.resolvedConfig,X),this.name=this.resolvedConfig.name??`anonymousScope${Object.keys(KU).length}`,this.name in KU)F(`A Scope already named ${this.name} already exists`);KU[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(rq(G));this.aliases[G]=Q}else{if(G in this.aliases)F(rq(Z));this.aliases[G]=Q,this.exportedNames.push(G)}if(!M(Q,"module")&&!M(Q,"generic")&&!d0(Q)){let Y=this.preparseOwnDefinitionFormat(Q,{alias:G});this.resolutions[G]=M(Y,"root")?this.bindReference(Y):this.createParseContext(Y).id}}aq??=this.node("union",{branches:["string","number","object","bigint","symbol",{unit:!0},{unit:!1},{unit:void 0},{unit:null}]},{prereduced:!0}),this.nodesByHash[aq.hash]=this.node("intersection",{},{prereduced:!0}),this.intrinsic=V.intrinsic?S(V.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 r0(U,Z?new V6(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 J=this.resolveRoot(Y.slice(1));X=J,Z=J.kind}}else if(Z==="union"&&Z0(X,"object")){let Y=r5(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:a5(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 r0(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(SU(U))}maybeResolveRoot(U){let X=this.maybeResolve(U);if(M(X,"generic"))return;return X}maybeResolveSubalias(U){return NU(this.aliases,U)??NU(this.ambient,U)}get ambient(){return V.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(ZZ(U));return this.resolutions[U]=this.bindReference(q.root)}return this.resolutions[U]=this.parse(q,{alias:U})}createParseContext(U){let X=U.id??WU(U.prefix);return q0[X]=Object.assign(U,{[X0]:"context",$:this,id:X,phase:"unresolved"})}traversal(U){return new P0(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")?IU(Z,this):nq(this.maybeResolve(q))}for(let q of this.lazyResolutions)q.resolution;if(this._exportedResolutions=qZ(this,this._exports),this._json=XZ(this._exportedResolutions),Object.assign(this.resolutions,this._exportedResolutions),this.references=Object.values(this.referencesById),!this.resolvedConfig.jitless){let q=UZ(this.references);this.precompilation=q.write(tq,4),eq(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=_U(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=Tq(Q,Z.id);return q0[Z.id]=Q,Q}finalize(U){if(nq(U),!U.precompilation&&!this.resolvedConfig.jitless)n5(U.references);return U}}class CU extends w6{parseOwnDefinitionFormat(U,X){return _U(X)}preparseOwnDefinitionFormat(U,X){return this.preparseNode(R2(U),U,X)}preparseOwnAliasEntry(U,X){return[U,X]}normalizeRootScopeValue(U){return U}}var nq=(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},XZ=(U)=>S(U,(X,q)=>[X,M(q,"root")||M(q,"generic")?q.json:M(q,"module")?XZ(q):g(`Unexpected resolution ${E(q)}`)]),NU=(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(t5(Z));let G=X.slice(q+1),Y=Q[G];if(Y===void 0)return NU(Q,G);if(M(Y,"root")||M(Y,"generic"))return Y;if(M(Y,"module"))return Y.root??F(ZZ(X));g(`Unexpected resolution for alias '${X}': ${E(Y)}`)},I6=(U,X)=>new CU(U,X),S2=new CU({});var qZ=(U,X)=>{let q={};for(let Z in X){let Q=X[Z];if(M(Q,"module")){let G=qZ(U,Q),Y=S(G,(J,H)=>[`${Z}.${J}`,H]);Object.assign(q,Y)}else if(M(Q,"root")||M(Q,"generic"))q[Z]=Q;else g(`Unexpected scope resolution ${E(Q)}`)}return q},SU=(U)=>`'${U}' is unresolvable`,t5=(U)=>`'${U}' must reference a module to be accessed using dot syntax`,ZZ=(U)=>`Reference to submodule '${U}' must specify an alias`;S2.export();var{schema:v,node:x1,defineSchema:EP,generic:O0}=S2;var EU="^(?:0|[1-9]\\d*)$",e5=new RegExp(EU),fP=d(e5);var QZ=I6({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();V.intrinsic={...QZ};var GZ=I6({integer:{domain:"number",divisor:1},lengthBoundable:["string",Array],key:["string","symbol"],nonNegativeIntegerString:{domain:"string",pattern:EU}},{prereducedAliases:!0}).export();Object.assign(V.intrinsic,GZ);var UY=I6({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,...GZ,...UY,emptyStructure:x1("structure",{},{prereduced:!0})};V.intrinsic={...I};var K6=(U,X)=>new RegExp(U,X);Object.assign(K6,{as:K6});var JZ=(U)=>typeof U==="string"&&U[0]==="d"&&(U[1]==="'"||U[1]==='"')&&U[U.length-1]===U[1],YZ=(U)=>U.toString()!=="Invalid Date",HZ=(U)=>U.slice(2,-1),bU=(U)=>`'${U}' could not be parsed by the Date constructor`,WZ=(U,X)=>XY(U,X),XY=(U,X)=>{let q=new Date(U);if(YZ(q))return q;let Z=gX(U);if(Z!==void 0){let Q=new Date(Z);if(YZ(Q))return Q}return X?F(X===!0?bU(U):X):void 0};var qY=v({proto:"Array",sequence:"string",required:{key:"groups",value:["object",{unit:void 0}]}}),N6=(U,X)=>{let q=U.scanner.shiftUntilEscapable(QY[LZ[X]]);if(U.scanner.lookahead==="")return U.error(YY(q,X));if(U.scanner.shift(),X in $Z){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:qY})}else if(a(X,jU))U.root=U.ctx.$.node("unit",{unit:q});else{let Z=WZ(q,bU(q));U.root=U.ctx.$.node("unit",{meta:q,unit:Z})}},jU={"'":1,'"':1},_Z={"/":1,"'":1,'"':1},ZY={"d'":"'",'d"':'"',"'":"'",'"':'"'},$Z={"/":"/","x/":"/"},LZ={...ZY,...$Z},QY={"'":(U)=>U.lookahead==="'",'"':(U)=>U.lookahead==='"',"/":(U)=>U.lookahead==="/"},GY={'"':"double-quote","'":"single-quote","/":"forward slash"},YY=(U,X)=>`${X}${U} requires a closing ${GY[LZ[X]]}`;var zZ=(U)=>`Private type references should not include '#'. Use '${U}' instead.`,C6="Optional definitions like 'string?' are only valid as properties in an object or tuple",S6="Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple";var b0={"<":1,">":1,"=":1,"|":1,"&":1,")":1,"[":1,"%":1,",":1,":":1,"?":1,"#":1,...c0};var FZ=(U,X)=>U===">"?X[0]==="="?X[1]==="=":X.trimStart()===""||a(X.trimStart()[0],b0):U==="="?X[0]!=="=":U===","||U==="?";var AZ=(U,X,q)=>VZ(U,X,q,[]),VZ=(U,X,q,Z)=>{let Q=q.parseUntilFinalizer();if(Z.push(Q.root),Q.finalizer===">"){if(Z.length!==X.params.length)return q.error(fU(U,X.names,Z.map((G)=>G.expression)));return Z}if(Q.finalizer===",")return VZ(U,X,q,Z);return Q.error(_6(">"))},fU=(U,X,q)=>`${U}<${X.join(", ")}> requires exactly ${X.length} args (got ${q.length}${q.length===0?"":`: ${q.join(", ")}`})`;var E6=(U)=>{let X=U.scanner.shiftUntilLookahead(b0);if(X==="keyof")U.addPrefix("keyof");else U.root=HY(U,X)},JY=(U,X,q)=>{if(q.scanner.shiftUntilNonWhitespace(),q.scanner.shift()!=="<")return q.error(fU(U,X.names,[]));let Q=AZ(U,X,q);return X(...Q)},HY=(U,X)=>WY(U,X)??_Y(U,X)??U.error(X===""?U.scanner.lookahead==="#"?zZ(U.shiftedBy(1).scanner.shiftUntilLookahead(b0)):yU(U):SU(X)),WY=(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 JY(X,q,U);return F(`Unexpected resolution ${E(q)}`)},_Y=(U,X)=>{let q=kX(X);if(q!==void 0)return U.ctx.$.node("unit",{unit:q});let Z=xX(X);if(Z!==void 0)return U.ctx.$.node("unit",{unit:Z})},yU=(U)=>{let X=U.previousOperator();return X?gU(X,U.scanner.unscanned):$Y(U.scanner.unscanned)},gU=(U,X="")=>`Token '${U}' requires a right operand${X?` before '${X}'`:""}`,$Y=(U)=>`Expected an expression${U?` before '${U}'`:""}`;var kU=(U)=>U.scanner.lookahead===""?U.error(yU(U)):U.scanner.lookahead==="("?U.shiftedBy(1).reduceGroupOpen():U.scanner.lookaheadIsIn(_Z)?N6(U,U.scanner.shift()):U.scanner.lookaheadIsIn(c0)?kU(U.shiftedBy(1)):U.scanner.lookahead==="d"?U.scanner.nextLookahead in jU?N6(U,`${U.scanner.shift()}${U.scanner.shift()}`):E6(U):U.scanner.lookahead==="x"?U.scanner.nextLookahead==="/"?U.shiftedBy(2)&&N6(U,"x/"):E6(U):E6(U);var OZ={">":!0,">=":!0},BZ={"<":!0,"<=":!0};var h1={"<":">",">":"<","<=":">=",">=":"<=","==":"=="},TZ=(U,X)=>`Left bounds are only valid when paired with right bounds (try ...${X}${U})`,b6=(U)=>`Left-bounded expressions must specify their limits using < or <= (was ${U})`,RZ=(U,X,q,Z)=>`An expression may have at most one left bound (parsed ${U}${h1[X]}, ${q}${h1[Z]})`;var MZ=(U,X)=>{let q=LY(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 FY(U,q)},PZ={"<":1,">":1,"=":1},LY=(U,X)=>U.scanner.lookaheadIs("=")?`${X}${U.scanner.shift()}`:X;var DZ=(U,X,q,Z)=>{if(q.extends(V.intrinsic.number)){if(typeof X!=="number")return F(vU(U,X,Z));return U==="=="?["min","max"]:U[0]===">"?["min"]:["max"]}if(q.extends(V.intrinsic.lengthBoundable)){if(typeof X!=="number")return F(vU(U,X,Z));return U==="=="?["exactLength"]:U[0]===">"?["minLength"]:["maxLength"]}if(q.extends(V.intrinsic.Date))return U==="=="?["after","before"]:U[0]===">"?["after"]:["before"];return F(Yq(q.expression))},zY=(U)=>({rule:JZ(U.limit)?HZ(U.limit):U.limit,exclusive:U.comparator.length===1}),FY=(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(vU(X,G,"right"));let Y=Q.unit,J=X.length===1,H=DZ(X,typeof Y==="number"?Y:G,q,"right");for(let $ of H)U.constrainRoot($,X==="=="?{rule:Y}:{rule:Y,exclusive:J});if(!U.branches.leftBound)return;if(!a(X,BZ))return U.error(b6(X));let W=DZ(U.branches.leftBound.comparator,U.branches.leftBound.limit,q,"left");U.constrainRoot(W[0],zY(U.branches.leftBound)),U.branches.leftBound=null},vU=(U,X,q)=>`Comparator ${q==="left"?h1[U]:U} must be ${q==="left"?"preceded":"followed"} by a corresponding literal (was ${X})`;var wZ=(U)=>{U.scanner.shiftUntilNonWhitespace();let X=U.scanner.shiftUntilLookahead(b0);U.root=U.root.brand(X)};var KZ=(U)=>{U.scanner.shiftUntilNonWhitespace();let X=U.scanner.shiftUntilLookahead(b0),q=vX(X,{errorOnFail:IZ(X)});if(q===0)U.error(IZ(0));U.root=U.root.constrain("divisor",q)},IZ=(U)=>`% operator must be followed by a non-zero integer literal (was ${U})`;var xU=(U)=>{let X=U.scanner.shift();return X===""?U.finalize(""):X==="["?U.scanner.shift()==="]"?U.setRoot(U.root.array()):U.error(AY):X==="|"?U.scanner.lookahead===">"?U.shiftedBy(1).pushRootToBranch("|>"):U.pushRootToBranch(X):X==="&"?U.pushRootToBranch(X):X===")"?U.finalizeGroup():FZ(X,U.scanner.unscanned)?U.finalize(X):a(X,PZ)?MZ(U,X):X==="%"?KZ(U):X==="#"?wZ(U):(X in c0)?xU(U):U.error(j6(X))},j6=(U,X="")=>`'${U}' is not allowed here${X&&` (should be ${X})`}`,AY="Missing expected ']'";var NZ=(U)=>{let X=U.unsetRoot();U.parseOperand();let q=U.unsetRoot();if(!q.hasKind("unit"))return U.error(VY(q.expression));let Z=q.unit instanceof Date?()=>new Date(q.unit):q.unit;return[X,"=",Z]},VY=(U)=>`Default value '${U}' must be a literal value`;var hU=(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=OY(Z);if(Z.finalizer===">")F(j6(">"));return Q},OY=(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=NZ(U);else if(U.finalizer==="?")X=[X,"?"];if(U.scanner.shiftUntilNonWhitespace(),U.scanner.lookahead)F(j6(U.scanner.lookahead));return X},E2=(U)=>{while(U.finalizer===void 0)BY(U);return U},BY=(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(_6(")"));this.finalizeBranches(),this.finalizer=U}reduceLeftBound(U,X){let q=h1[X];if(!a(q,OZ))return this.error(b6(X));if(this.branches.leftBound)return this.error(RZ(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(pX(")",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 xU(this)}parseOperand(){return kU(this)}assertRangeUnset(){if(this.branches.leftBound)return this.error(TZ(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 TY="An empty string is not a valid generic parameter name",f6=(U,X,q)=>{U.shiftUntilNonWhitespace();let Z=U.shiftUntilLookahead(b0);if(Z===""){if(U.lookahead===""&&X.length)return X;return F(TY)}return U.shiftUntilNonWhitespace(),RY(U,Z,X,q)},CZ="extends ",RY=(U,X,q,Z)=>{if(U.shiftUntilNonWhitespace(),U.unscanned.startsWith(CZ))U.jumpForward(CZ.length);else{if(U.lookahead===",")U.shift();return q.push(X),f6(U,q,Z)}let Q=E2(new u1(U,Z));return q.push([X,Q.root]),f6(U,q,Z)};class uU 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"),J=U.intrinsic.unknown;if(Z!==-1){if(Z!==q.length-2)return F(DY);J=U.parse(q[Z+1])}return(H)=>new SZ(H,Y,J)},{attach:X})}}class SZ extends Y0{raw;params;returns;expression;constructor(U,X,q){let Z=`typed ${U.name}`,Q={[Z]:(...Y)=>{let J=X.assert(Y),H=U(...J);return q.assert(H)}}[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 DY=`":" must be followed by exactly one return type e.g:
|
|
184
|
+
fn("string", ":", "number")(s => s.length)`;class mU 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(PY);if(this.branches.length)F(MY);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:EZ};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:EZ},"self");return this.$.finalize(Z)}}var EZ=(U)=>U.throw(),MY="A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')",PY="At most one key matcher may be specified per expression";var y6=(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 g6(U,X)},bZ="Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }",jZ="Only required keys may specify default values, e.g. { value: 'number = 0' }";var fZ=(U,X)=>{let q,Z={},Q=J1(U);for(let[Y,J]of Q){let H=KY(Y);if(H.kind==="spread"){if(!S0(Z))return F(IY);let A=X.$.parseOwnDefinitionFormat(J,X);if(A.equals(I.object))continue;if(!A.hasKind("intersection")||!A.basis?.equals(I.object))return F(NY(A.expression));q=A.structure;continue}if(H.kind==="undeclared"){if(J!=="reject"&&J!=="delete"&&J!=="ignore")F(wY(J));Z.undeclared=J;continue}let W=y6(J,X),$=H;if(H.kind==="required"){if(!x(W))pU(Z,"required",{key:H.normalized,value:W},X);else pU(Z,"optional",W[1]==="="?{key:H.normalized,value:W[0],default:W[2]}:{key:H.normalized,value:W[0]},X);continue}if(x(W)){if(W[1]==="?")F(bZ);if(W[1]==="=")F(jZ)}if(H.kind==="optional"){pU(Z,"optional",{key:H.normalized,value:W},X);continue}let _=X.$.parseOwnDefinitionFormat($.normalized,X),L=P6(_,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})},pU=(U,X,q,Z)=>{U[X]=y(U[X],Z.$.node(X,q))},wY=(U)=>`Value of '+' key must be 'reject', 'delete', or 'ignore' (was ${E(U)})`,IY="Spread operator may only be used as the first key in an object",KY=(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},NY=(U)=>`Spread operand must resolve to an object literal type (was ${U})`;var gZ=(U,X)=>vY(U)?hZ[U[0]](U,X):gY(U)?xZ[U[1]](U,X):null,CY=(U,X)=>X.$.parseOwnDefinitionFormat(U[1],X).keyof(),lU=(U,X)=>{if(U[2]===void 0)return F(gU(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.$):T2(q,Z,X.$);if(Q instanceof B)return Q.throw();return Q},SY=(U,X)=>X.$.parseOwnDefinitionFormat(U[0],X).array(),EY=(U,X)=>{if(typeof U[2]!=="function")return F(kZ("=>",U[2]));return X.$.parseOwnDefinitionFormat(U[0],X).pipe(U[2])},kZ=(U,X)=>`${U===":"?"Narrow":"Morph"} expression requires a function following '${U}' (was ${typeof X})`,bY=(U,X)=>{if(typeof U[2]!=="function")return F(kZ(":",U[2]));return X.$.parseOwnDefinitionFormat(U[0],X).constrain("predicate",U[2])},jY=(U,X)=>X.$.parseOwnDefinitionFormat(U[0],X).configure(U[2],U[3]),vZ=(U)=>U,fY=vZ({"[]":SY,"?":()=>F(C6)}),yY=vZ({"|":lU,"&":lU,":":bY,"=>":EY,"|>":lU,"@":jY,"=":()=>F(S6)}),xZ={...fY,...yY},gY=(U)=>xZ[U[1]]!==void 0,kY=(U)=>U,hZ=kY({keyof:CY,instanceof:(U,X)=>{if(typeof U[1]!=="function")return F(yZ(J2(U[1])));let q=U.slice(1).map((Z)=>typeof Z==="function"?X.$.node("proto",{proto:Z}):F(yZ(J2(Z))));return q.length===1?q[0]:X.$.node("union",{branches:q})},"===":(U,X)=>X.$.units(U.slice(1))}),vY=(U)=>hZ[U[0]]!==void 0,yZ=(U)=>`Expected a constructor following 'instanceof' operator (was ${U})`;var pZ=(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=y6(U[Z],X),[Y,J,H]=!x(G)?[G]:G;if(Z++,Q){if(!Y.extends(V.intrinsic.Array))return F(uY(Y.expression));q=q.flatMap((W)=>Y.distribute(($)=>hY(L6(W),$)))}else q=q.map((W)=>{if(J==="?")return lZ(W,Y);if(J==="=")return xY(W,Y,H);return dU(W,Y)})}return X.$.parseSchema(q.map((Q)=>S0(Q)?{proto:Array,exactLength:0}:{proto:Array,sequence:Q}))},dU=(U,X)=>{if(U.defaultables||U.optionals)return F(U.variadic?MU:mY);if(U.variadic)U.postfix=y(U.postfix,X);else U.prefix=y(U.prefix,X);return U},lZ=(U,X)=>{if(U.variadic)return F(dZ);return U.optionals=y(U.optionals,X),U},xY=(U,X,q)=>{if(U.variadic)return F(dZ);if(U.optionals)return F(pY);return U.defaultables=y(U.defaultables,[[X,q]]),U},uZ=(U,X)=>{if(U.postfix)F(mZ);if(U.variadic){if(!U.variadic.equals(X))F(mZ)}else U.variadic=X.internal;return U},hY=(U,X)=>{let q=X.select({method:"find",kind:"sequence"});if(!q)return uZ(U,V.intrinsic.unknown);if(q.prefix)for(let Z of q.prefix)dU(U,Z);if(q.optionals)for(let Z of q.optionals)lZ(U,Z);if(q.variadic)uZ(U,q.variadic);if(q.postfix)for(let Z of q.postfix)dU(U,Z);return U},uY=(U)=>`Spread element must be an array (was ${U})`,mZ="A tuple may have at most one variadic element",mY="A required element may not follow an optional element",dZ="An optional element may not follow a variadic element";var pY="A defaultable element may not follow an optional element without a default";var lY={},g6=(U,X)=>{if(typeof U==="string"){if(X.args&&Object.keys(X.args).some((Z)=>U.includes(Z)))return hU(U,X);let q=lY[X.$.name]??={};return q[U]??=hU(U,X)}return Z0(U,"object")?dY(U,X):F(cU(r(U)))},dY=(U,X)=>{let q=Y2(U);switch(q){case void 0:if(M(U,"root"))return U;if("~standard"in U)return cY(U,X);return fZ(U,X);case"Array":return iY(U,X);case"RegExp":return X.$.node("intersection",{domain:"string",pattern:U},{prereduced:!0});case"Function":{let Z=d0(U)?U():U;if(M(Z,"root"))return Z;return F(cU("Function"))}default:return F(cU(q??E(U)))}},cY=(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:SX(G),relativePath:Y.map((J)=>typeof J==="object"?J.key:J)});else Z.error({message:G});else Z.error({message:G})}),iY=(U,X)=>gZ(U,X)??pZ(U,X),cU=(U)=>`Type definitions must be strings or objects (was ${U})`;class iU extends Y0{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 r0(Q,q[1],U,U,null)}return U.parse(q)},{attach:X})}}var m1=V;class k6 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 Zq(G,X,this)}]}parseGenericParams(U,X){return f6(new F2(U),[],this.createParseContext({...X,def:U,prefix:"generic"}))}normalizeRootScopeValue(U){if(d0(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=g6(U,X);if(x(Z)){if(Z[1]==="=")return F(S6);if(Z[1]==="?")return F(C6)}return Z}unit=(U)=>this.units([U]);valueOf=(U)=>this.units(RX(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 uU(this);match=new mU(this);declare=()=>({type:this.type});define(U){return U}type=new iU(this);static scope=(U,X={})=>new k6(U,X);static module=(U,X={})=>this.scope(U,X).export()}var j2=Object.assign(k6.scope,{define:(U)=>U}),f=k6;class cZ extends e{description='merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'}var sY=O0(["base",I.object],["props",I.object])((U)=>U.base.merge(U.props),cZ),iZ=f.module({Key:I.key,Merge:sY});class sZ extends e{}var oY=O0("element")((U)=>{let X=U.element.exclude(I.Array),q=X.array();return X.rawOr(q).pipe(l0).distribute((Z)=>Z.assertHasKind("morph").declareOut(q),v)},sZ),oZ=f.module({root:I.Array,readonly:"root",index:I.nonNegativeIntegerString,liftFrom:oY},{name:"Array"});var sU=v(["string",_1.FileConstructor]),rY=sU.rawOr(sU.array()),rZ=v({meta:"an object representing parsed form data",domain:"object",index:{signature:"string",value:rY}}),aZ=f.module({root:["instanceof",FormData],value:sU,parsed:rZ,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:rZ})},{name:"FormData"});var nZ=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 aY={Boolean:1,Number:1,String:1},tZ=f.module({...S({...g4,...v4},(U,X)=>(U in aY)?[]:[U,["instanceof",X]]),Array:oZ,TypedArray:nZ,FormData:aZ});var nY=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"}),tY=v({domain:"number",divisor:1}),v6=f.module({root:I.number,integer:tY,epoch:nY,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)},eZ=l(W2,"a well-formed integer string"),$8=f.module({root:eZ,parse:v({in:eZ,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"}),eY=l(/^[\dA-Fa-f]+$/,"hex characters only"),U7=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"}),U8=l(/^[A-Z].*$/,"capitalized"),X7=f.module({root:v({in:"string",morphs:(U)=>U.charAt(0).toUpperCase()+U.slice(1),declaredOut:U8}),preformatted:U8},{name:"string.capitalize"}),q7=(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)},Z7=/^(?: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:Z7.source},predicate:{meta:"a credit card number",predicate:q7}});var G7=/^([+-]?\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 Y7=(U)=>!Number.isNaN(new Date(U).valueOf()),X8=v({domain:"string",predicate:{meta:"a parsable date",predicate:Y7}}).assertHasKind("intersection"),q8=$8.root.internal.narrow((U,X)=>{let q=Number.parseInt(U),Z=v6.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"),J7=f.module({root:q8,parse:v({in:q8,morphs:(U)=>new Date(U),declaredOut:I.Date})},{name:"string.date.epoch"}),Z8=l(G7,"an ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) date").internal.assertHasKind("intersection"),H7=f.module({root:Z8,parse:v({in:Z8,morphs:(U)=>new Date(U),declaredOut:I.Date})},{name:"string.date.iso"}),W7=f.module({root:X8,parse:v({declaredIn:X8,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:H7,epoch:J7},{name:"string.date"}),_7=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])",a0=`(${Q8}[.]){3}${Q8}`,$7=new RegExp(`^${a0}$`),c="(?:[0-9a-fA-F]{1,4})",L7=new RegExp(`^((?:${c}:){7}(?:${c}|:)|(?:${c}:){6}(?:${a0}|:${c}|:)|(?:${c}:){5}(?::${a0}|(:${c}){1,2}|:)|(?:${c}:){4}(?:(:${c}){0,1}:${a0}|(:${c}){1,3}|:)|(?:${c}:){3}(?:(:${c}){0,2}:${a0}|(:${c}){1,4}|:)|(?:${c}:){2}(?:(:${c}){0,3}:${a0}|(:${c}){1,5}|:)|(?:${c}:){1}(?:(:${c}){0,4}:${a0}|(:${c}){1,6}|:)|(?::((?::${c}){0,5}:${a0}|(?::${c}){1,7}|:)))(%[0-9a-zA-Z.]{1,})?$`),z7=f.module({root:["v4 | v6","@","an IP address"],v4:l($7,"an IPv4 address","ipv4"),v6:l(L7,"an IPv6 address","ipv6")},{name:"string.ip"}),p1="a JSON string",L8=(U)=>{if(!(U instanceof SyntaxError))throw U;return`must be ${p1} (${U})`},F7=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:L8(q)})}}}}),A7=(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:L8(q)})}},V7=f.module({root:F7,parse:v({meta:"safe JSON string parser",in:"string",morphs:A7,declaredOut:I.jsonObject})},{name:"string.json"}),G8=l(/^[a-z]*$/,"only lowercase letters"),O7=f.module({root:v({in:"string",morphs:(U)=>U.toLowerCase(),declaredOut:G8}),preformatted:G8},{name:"string.lower"}),z8=["NFC","NFD","NFKC","NFKD"],f2=S(z8,(U,X)=>[X,v({domain:"string",predicate:(q)=>q.normalize(X)===q,meta:`${X}-normalized unicode`})]),x6=S(z8,(U,X)=>[X,v({in:"string",morphs:(q)=>q.normalize(X),declaredOut:f2[X]})]),B7=f.module({root:x6.NFC,preformatted:f2.NFC},{name:"string.normalize.NFC"}),T7=f.module({root:x6.NFD,preformatted:f2.NFD},{name:"string.normalize.NFD"}),R7=f.module({root:x6.NFKC,preformatted:f2.NFKC},{name:"string.normalize.NFKC"}),D7=f.module({root:x6.NFKD,preformatted:f2.NFKD},{name:"string.normalize.NFKD"}),M7=f.module({root:"NFC",NFC:B7,NFD:T7,NFKC:R7,NFKD:D7},{name:"string.normalize"}),Y8=l(H6,"a well-formed numeric string"),P7=f.module({root:Y8,parse:v({in:Y8,morphs:(U)=>Number.parseFloat(U),declaredOut:I.number})},{name:"string.numeric"}),J8="a regex pattern",w7=v({domain:"string",predicate:{meta:J8,predicate:(U,X)=>{try{return new RegExp(U),!0}catch(q){return X.reject({code:"predicate",expected:J8,problem:String(q)})}}},meta:{format:"regex"}}),I7=/^(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-]+)*))?$/,K7=l(I7,"a semantic version (see https://semver.org/)"),H8=l(/^\S.*\S$|^\S?$/,"trimmed"),N7=f.module({root:v({in:"string",morphs:(U)=>U.trim(),declaredOut:H8}),preformatted:H8},{name:"string.trim"}),W8=l(/^[A-Z]*$/,"only uppercase letters"),C7=f.module({root:v({in:"string",morphs:(U)=>U.toUpperCase(),declaredOut:W8}),preformatted:W8},{name:"string.upper"}),S7=(U)=>URL.canParse(U),_8=v({domain:"string",predicate:{meta:"a URL string",predicate:S7},meta:{format:"uri"}}),E7=f.module({root:_8,parse:v({declaredIn:_8,in:"string",morphs:(U,X)=>{try{return new URL(U)}catch{return X.error("a URL string")}},declaredOut:v(URL)})},{name:"string.url"}),b7=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"}),F8=f.module({root:I.string,alpha:l(/^[A-Za-z]*$/,"only letters"),alphanumeric:l(/^[\dA-Za-z]*$/,"only letters and digits 0-9"),hex:eY,base64:U7,capitalize:X7,creditCard:Q7,date:W7,digits:l(/^\d*$/,"only digits 0-9"),email:_7,integer:$8,ip:z7,json:V7,lower:O7,normalize:M7,numeric:P7,regex:w7,semver:K7,trim:N7,upper:C7,url:E7,uuid:b7},{name:"string"});var A8=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}),V8=f.module({root:I.unknown,any:I.unknown},{name:"unknown"}),j7=f.module({root:I.jsonObject,stringify:x1("morph",{in:I.jsonObject,morphs:(U)=>JSON.stringify(U),declaredOut:I.string})},{name:"object.json"}),O8=f.module({root:I.object,json:j7},{name:"object"});class B8 extends e{description='instantiate an object from an index signature and corresponding value type like `Record("string", "number")`'}var f7=O0(["K",I.key],"V")((U)=>({domain:"object",index:{signature:U.K,value:U.V}}),B8);class T8 extends e{description='pick a set of properties from an object like `Pick(User, "name | age")`'}var y7=O0(["T",I.object],["K",I.key])((U)=>U.T.pick(U.K),T8);class R8 extends e{description='omit a set of properties from an object like `Omit(User, "age")`'}var g7=O0(["T",I.object],["K",I.key])((U)=>U.T.omit(U.K),R8);class D8 extends e{description="make all named properties of an object optional like `Partial(User)`"}var k7=O0(["T",I.object])((U)=>U.T.partial(),D8);class M8 extends e{description="make all named properties of an object required like `Required(User)`"}var v7=O0(["T",I.object])((U)=>U.T.required(),M8);class P8 extends e{description='exclude branches of a union like `Exclude("boolean", "true")`'}var x7=O0("T","U")((U)=>U.T.exclude(U.U),P8);class w8 extends e{description='extract branches of a union like `Extract("0 | false | 1", "number")`'}var h7=O0("T","U")((U)=>U.T.extract(U.U),w8),I8=f.module({Exclude:x7,Extract:h7,Omit:g7,Partial:k7,Pick:y7,Record:f7,Required:v7});var h0=j2({...A8,...I8,...tZ,...iZ,string:F8,number:v6,object:O8,unknown:V8},{prereducedAliases:!0,name:"ark"}),n=h0.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 oU=Object.assign(h0.type,m1.typeAttachments),u7=h0.match,m7=h0.fn,p7=h0.generic,$N=h0.schema,l7=h0.define,d7=h0.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(),SN=z1.Operator,EN=z1.Condition,bN=z1.ConditionGroup,jN=z1.RuleCondition,fN=z1.Action,yN=z1.ActionGroup,c7=z1.TriggerRule;class i7{static validate(U){let X=c7(U);if(X instanceof oU.errors){let Q=[];for(let G of X){let Y=G.path.join("."),J=G.message,H=void 0;if(Y.endsWith("on")&&(J.includes("string")||J.includes("must be")))if(typeof U==="object"&&U!==null&&"on"in U&&U.on===!0)J="The 'on' field is incorrect (boolean true found).",H=`In YAML, 'on' is a boolean keyword (true). Quote it: "on": "EventName"`;else H="Ensure 'on' is a string event name.";Q.push({path:Y,message:J,suggestion:H,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(typeof U==="object"&&U!==null&&"conditions"in U&&Array.isArray(U.conditions)){U.conditions.forEach((Z,Q)=>{this.validateConditionsRecursive(Z,X,`${q}.conditions.${Q}`)});return}if(typeof U==="object"&&U!==null&&"operator"in U&&"value"in U)this.validateConditionValue(U,X,q)}static validateConditionValue(U,X,q){let{operator:Z,value:Q}=U;if(typeof Z==="string"&&["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(typeof Z==="string"&&["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 h6{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 h6("AND");return this.conditions.push(U(X).build()),this}or(U){let X=new h6("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 K8{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 s7{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 h6,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 K8,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 kQ=C4(gQ(),1);class sA{static toYaml(U){let X=Array.isArray(U)?U:[U];return kQ.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{N0 as triggerEmitter,G6 as ruleEvents,XV as engineEvents,i7 as TriggerValidator,U2 as TriggerUtils,c7 as TriggerRuleSchema,Z2 as TriggerEngine,b4 as TriggerEmitter,R0 as StateManager,sA as RuleExporter,HX as RuleEvent,j4 as RuleEngine,jN as RuleConditionSchema,s7 as RuleBuilder,E4 as InMemoryPersistence,$0 as ExpressionEngine,lQ as EventQueue,Q6 as EngineEvent,Z2 as Engine,cQ as ContextAdapter,EN as ConditionSchema,bN as ConditionGroupSchema,h6 as ConditionBuilder,SN as ComparisonOperatorSchema,dQ as BrowserPersistence,j4 as AdvancedRuleEngine,fN as ActionSchema,P1 as ActionRegistry,yN as ActionGroupSchema,K8 as ActionBuilder};
|
|
185
185
|
|
|
186
|
-
//# debugId=
|
|
186
|
+
//# debugId=7205CBF5182177C664756E2164756E21
|