trigger_system 1.0.2 → 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 +23 -23
- package/dist/browser/index.browser.js.map +14 -14
- package/dist/core/base-engine.d.ts +3 -3
- package/dist/core/base-engine.d.ts.map +1 -1
- 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/persistence.d.ts +4 -4
- package/dist/core/persistence.d.ts.map +1 -1
- package/dist/core/rule-engine-new.d.ts +5 -4
- package/dist/core/rule-engine-new.d.ts.map +1 -1
- 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 +10 -7
- package/dist/core/trigger-engine.d.ts.map +1 -1
- 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 +107 -107
- package/dist/node/index.js.map +15 -15
- package/dist/node/node.js +103 -103
- package/dist/node/node.js.map +16 -16
- 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/node.js
CHANGED
|
@@ -1,187 +1,187 @@
|
|
|
1
|
-
import{createRequire as cQ}from"node:module";var uQ=Object.create;var{getPrototypeOf:mQ,defineProperty:S4,getOwnPropertyNames:pQ}=Object;var lQ=Object.prototype.hasOwnProperty;var Y6=(X,U,q)=>{q=X!=null?uQ(mQ(X)):{};let Z=U||!X||!X.__esModule?S4(q,"default",{value:X,enumerable:!0}):q;for(let Q of pQ(X))if(!lQ.call(Z,Q))S4(Z,Q,{get:()=>X[Q],enumerable:!0});return Z};var R=(X,U)=>()=>(U||X((U={exports:{}}).exports,U),U.exports);var dQ=(X,U)=>{for(var q in U)S4(X,q,{get:U[q],enumerable:!0,configurable:!0,set:(Z)=>U[q]=()=>Z})};var _U=(X,U)=>()=>(X&&(U=X(X=0)),U);var w1=cQ(import.meta.url);class $0{static evaluate(X,U){try{if(X.includes("${")){let q=this.interpolate(X,U);if(!isNaN(Number(q))&&q.trim()!=="")return Number(q);return q}return this.evaluateExpression(X,U)}catch(q){return console.error(`Error evaluating expression: ${X}`,q),null}}static interpolate(X,U){return X.replace(/\$\{([^}]+)\}/g,(q,Z)=>{try{let Q=this.evaluateExpression(Z,U);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(X){try{return Function("Math",`return ${X}`)(Math)}catch(U){throw Error(`Error evaluando expresión matemática: ${X}`)}}static evaluateExpression(X,U){if(/^(data|globals|request|computed)(\.[a-zA-Z0-9_]+)+$/.test(X))return this.getNestedValue(X,U);try{return Function("context","with(context) { return "+X+" }")(U)}catch(q){return console.error(`ERROR evaluating expression '${X}':`,q),X}}static getNestedValue(X,U){let q=X.split("."),Z=U;for(let Q of q){if(Z===null||Z===void 0||!(Q in Z))return;Z=Z[Q]}return Z}static evaluateMath(X,U){let q=X;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,U);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: ${X}`,Z),NaN}}}class b4{store=new Map;async loadState(){return new Map(this.store)}async saveState(X,U){this.store.set(X,U)}async deleteState(X){this.store.delete(X)}async clearState(){this.store.clear()}}class R0{static instance;state;persistence;constructor(){this.state=new Map,this.persistence=new b4}static getInstance(){if(!R0.instance)R0.instance=new R0;return R0.instance}setPersistence(X){this.persistence=X}async initialize(){let X=await this.persistence.loadState();this.state=X,console.log(`[StateManager] Initialized with ${this.state.size} keys.`)}get(X){return this.state.get(X)}async set(X,U){this.state.set(X,U),await this.persistence.saveState(X,U)}async increment(X,U=1){let q=this.get(X)||0,Z=Number(q)+U;return await this.set(X,Z),Z}async decrement(X,U=1){return this.increment(X,-U)}async delete(X){let U=this.state.delete(X);if(U)await this.persistence.deleteState(X);return U}async clear(){this.state.clear(),await this.persistence.clearState()}getAll(){return Object.fromEntries(this.state)}}var Z2=()=>{};var $U={};dQ($U,{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(X,U){this.handlers.set(X.toUpperCase(),U)}get(X){return this.handlers.get(X.toUpperCase())}registerDefaults(){this.register("log",(X,U)=>{let q=X.params?.message||X.params?.content||"Log Trigger",Z=$0.interpolate(q,U);return console.log(`[TriggerLog] ${Z}`),{message:Z}}),this.register("response",(X,U)=>{let q=X.params?.content||X.params?.body||"",Z=$0.interpolate(q,U);return{statusCode:X.params?.statusCode||200,headers:X.params?.headers||{"Content-Type":"application/json"},body:Z}}),this.register("execute",async(X,U)=>{let q=X.params?.command||X.params?.content||"",Z=$0.interpolate(q,U);if(!X.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(X,U)=>{let q=X.params?.url||"",Z=$0.interpolate(q,U),Q=X.params?.method||"POST";try{let G=await fetch(Z,{method:Q,headers:{"Content-Type":"application/json",...X.params?.headers},body:JSON.stringify(U.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(X,U)=>{let q=X.params?.key,Z=X.params?.value;if(!q)return{error:"Missing key for STATE_SET"};let Q=Z;if(typeof Z==="string"&&Z.includes("${"))Q=$0.interpolate(Z,U);return await R0.getInstance().set(q,Q),{key:q,value:Q}}),this.register("STATE_INCREMENT",async(X,U)=>{let q=X.params?.key,Z=Number(X.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",(X,U)=>{return{event:X.params?.event,payload:X.params?.data||{}}})}}var Q2=_U(()=>{Z2()});var k=R((ZH)=>{var n9=Symbol.for("yaml.alias"),S8=Symbol.for("yaml.document"),p6=Symbol.for("yaml.map"),E8=Symbol.for("yaml.pair"),t9=Symbol.for("yaml.scalar"),l6=Symbol.for("yaml.seq"),h0=Symbol.for("yaml.node.type"),a7=(X)=>!!X&&typeof X==="object"&&X[h0]===n9,n7=(X)=>!!X&&typeof X==="object"&&X[h0]===S8,t7=(X)=>!!X&&typeof X==="object"&&X[h0]===p6,e7=(X)=>!!X&&typeof X==="object"&&X[h0]===E8,b8=(X)=>!!X&&typeof X==="object"&&X[h0]===t9,XH=(X)=>!!X&&typeof X==="object"&&X[h0]===l6;function j8(X){if(X&&typeof X==="object")switch(X[h0]){case p6:case l6:return!0}return!1}function UH(X){if(X&&typeof X==="object")switch(X[h0]){case n9:case p6:case t9:case l6:return!0}return!1}var qH=(X)=>(b8(X)||j8(X))&&!!X.anchor;ZH.ALIAS=n9;ZH.DOC=S8;ZH.MAP=p6;ZH.NODE_TYPE=h0;ZH.PAIR=E8;ZH.SCALAR=t9;ZH.SEQ=l6;ZH.hasAnchor=qH;ZH.isAlias=a7;ZH.isCollection=j8;ZH.isDocument=n7;ZH.isMap=t7;ZH.isNode=UH;ZH.isPair=e7;ZH.isScalar=b8;ZH.isSeq=XH});var k2=R((RH)=>{var t=k(),_0=Symbol("break visit"),f8=Symbol("skip children"),b0=Symbol("remove node");function d6(X,U){let q=y8(U);if(t.isDocument(X)){if(d1(null,X.contents,q,Object.freeze([X]))===b0)X.contents=null}else d1(null,X,q,Object.freeze([]))}d6.BREAK=_0;d6.SKIP=f8;d6.REMOVE=b0;function d1(X,U,q,Z){let Q=g8(X,U,q,Z);if(t.isNode(Q)||t.isPair(Q))return k8(X,Z,Q),d1(X,Q,q,Z);if(typeof Q!=="symbol"){if(t.isCollection(U)){Z=Object.freeze(Z.concat(U));for(let G=0;G<U.items.length;++G){let Y=d1(G,U.items[G],q,Z);if(typeof Y==="number")G=Y-1;else if(Y===_0)return _0;else if(Y===b0)U.items.splice(G,1),G-=1}}else if(t.isPair(U)){Z=Object.freeze(Z.concat(U));let G=d1("key",U.key,q,Z);if(G===_0)return _0;else if(G===b0)U.key=null;let Y=d1("value",U.value,q,Z);if(Y===_0)return _0;else if(Y===b0)U.value=null}}return Q}async function c6(X,U){let q=y8(U);if(t.isDocument(X)){if(await c1(null,X.contents,q,Object.freeze([X]))===b0)X.contents=null}else await c1(null,X,q,Object.freeze([]))}c6.BREAK=_0;c6.SKIP=f8;c6.REMOVE=b0;async function c1(X,U,q,Z){let Q=await g8(X,U,q,Z);if(t.isNode(Q)||t.isPair(Q))return k8(X,Z,Q),c1(X,Q,q,Z);if(typeof Q!=="symbol"){if(t.isCollection(U)){Z=Object.freeze(Z.concat(U));for(let G=0;G<U.items.length;++G){let Y=await c1(G,U.items[G],q,Z);if(typeof Y==="number")G=Y-1;else if(Y===_0)return _0;else if(Y===b0)U.items.splice(G,1),G-=1}}else if(t.isPair(U)){Z=Object.freeze(Z.concat(U));let G=await c1("key",U.key,q,Z);if(G===_0)return _0;else if(G===b0)U.key=null;let Y=await c1("value",U.value,q,Z);if(Y===_0)return _0;else if(Y===b0)U.value=null}}return Q}function y8(X){if(typeof X==="object"&&(X.Collection||X.Node||X.Value))return Object.assign({Alias:X.Node,Map:X.Node,Scalar:X.Node,Seq:X.Node},X.Value&&{Map:X.Value,Scalar:X.Value,Seq:X.Value},X.Collection&&{Map:X.Collection,Seq:X.Collection},X);return X}function g8(X,U,q,Z){if(typeof q==="function")return q(X,U,Z);if(t.isMap(U))return q.Map?.(X,U,Z);if(t.isSeq(U))return q.Seq?.(X,U,Z);if(t.isPair(U))return q.Pair?.(X,U,Z);if(t.isScalar(U))return q.Scalar?.(X,U,Z);if(t.isAlias(U))return q.Alias?.(X,U,Z);return}function k8(X,U,q){let Z=U[U.length-1];if(t.isCollection(Z))Z.items[X]=q;else if(t.isPair(Z))if(X==="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`)}}RH.visit=d6;RH.visitAsync=c6});var e9=R((KH)=>{var v8=k(),wH=k2(),PH={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},IH=(X)=>X.replace(/[!,[\]{}]/g,(U)=>PH[U]);class B0{constructor(X,U){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},B0.defaultYaml,X),this.tags=Object.assign({},B0.defaultTags,U)}clone(){let X=new B0(this.yaml,this.tags);return X.docStart=this.docStart,X}atDocument(){let X=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 X}add(X,U){if(this.atNextDocument)this.yaml={explicit:B0.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},B0.defaultTags),this.atNextDocument=!1;let q=X.trim().split(/[ \t]+/),Z=q.shift();switch(Z){case"%TAG":{if(q.length!==2){if(U(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 U(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 U(6,`Unsupported YAML version ${Q}`,G),!1}}default:return U(0,`Unknown directive ${Z}`,!0),!1}}tagName(X,U){if(X==="!")return"!";if(X[0]!=="!")return U(`Not a valid tag: ${X}`),null;if(X[1]==="<"){let G=X.slice(2,-1);if(G==="!"||G==="!!")return U(`Verbatim tags aren't resolved, so ${X} is invalid.`),null;if(X[X.length-1]!==">")U("Verbatim tags must end with a >");return G}let[,q,Z]=X.match(/^(.*!)([^!]*)$/s);if(!Z)U(`The ${X} tag has no suffix`);let Q=this.tags[q];if(Q)try{return Q+decodeURIComponent(Z)}catch(G){return U(String(G)),null}if(q==="!")return X;return U(`Could not resolve tag: ${X}`),null}tagString(X){for(let[U,q]of Object.entries(this.tags))if(X.startsWith(q))return U+IH(X.substring(q.length));return X[0]==="!"?X:`!<${X}>`}toString(X){let U=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],q=Object.entries(this.tags),Z;if(X&&q.length>0&&v8.isNode(X.contents)){let Q={};wH.visit(X.contents,(G,Y)=>{if(v8.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(!X||Z.some((Y)=>Y.startsWith(G)))U.push(`%TAG ${Q} ${G}`)}return U.join(`
|
|
2
|
-
`)}}B0.defaultYaml={explicit:!1,version:"1.2"};B0.defaultTags={"!!":"tag:yaml.org,2002:"};
|
|
3
|
-
`)?
|
|
1
|
+
import{createRequire as sQ}from"node:module";var pQ=Object.create;var{getPrototypeOf:lQ,defineProperty:E4,getOwnPropertyNames:dQ}=Object;var cQ=Object.prototype.hasOwnProperty;var Y6=(X,U,q)=>{q=X!=null?pQ(lQ(X)):{};let Z=U||!X||!X.__esModule?E4(q,"default",{value:X,enumerable:!0}):q;for(let Q of dQ(X))if(!cQ.call(Z,Q))E4(Z,Q,{get:()=>X[Q],enumerable:!0});return Z};var R=(X,U)=>()=>(U||X((U={exports:{}}).exports,U),U.exports);var iQ=(X,U)=>{for(var q in U)E4(X,q,{get:U[q],enumerable:!0,configurable:!0,set:(Z)=>U[q]=()=>Z})};var $U=(X,U)=>()=>(X&&(U=X(X=0)),U);var w1=sQ(import.meta.url);class $0{static evaluate(X,U){try{if(X.includes("${")){let q=this.interpolate(X,U);if(!isNaN(Number(q))&&q.trim()!=="")return Number(q);return q}return this.evaluateExpression(X,U)}catch(q){return console.error(`Error evaluating expression: ${X}`,q),null}}static interpolate(X,U){return X.replace(/\$\{([^}]+)\}/g,(q,Z)=>{try{let Q=this.evaluateExpression(Z,U);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(X){try{return Function("Math",`return ${X}`)(Math)}catch(U){throw Error(`Error evaluando expresión matemática: ${X}`)}}static evaluateExpression(X,U){if(/^(data|globals|request|computed)(\.[a-zA-Z0-9_]+)+$/.test(X))return this.getNestedValue(X,U);try{return Function("context","with(context) { return "+X+" }")(U)}catch(q){return console.error(`ERROR evaluating expression '${X}':`,q),X}}static getNestedValue(X,U){let q=X.split("."),Z=U;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(X,U){let q=X;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,U);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: ${X}`,Z),NaN}}}class j4{store=new Map;async loadState(){return new Map(this.store)}async saveState(X,U){this.store.set(X,U)}async deleteState(X){this.store.delete(X)}async clearState(){this.store.clear()}}class R0{static instance;state;persistence;constructor(){this.state=new Map,this.persistence=new j4}static getInstance(){if(!R0.instance)R0.instance=new R0;return R0.instance}setPersistence(X){this.persistence=X}async initialize(){let X=await this.persistence.loadState();this.state=X,console.log(`[StateManager] Initialized with ${this.state.size} keys.`)}get(X){return this.state.get(X)}async set(X,U){this.state.set(X,U),await this.persistence.saveState(X,U)}async increment(X,U=1){let q=this.get(X)||0,Z=Number(q)+U;return await this.set(X,Z),Z}async decrement(X,U=1){return this.increment(X,-U)}async delete(X){let U=this.state.delete(X);if(U)await this.persistence.deleteState(X);return U}async clear(){this.state.clear(),await this.persistence.clearState()}getAll(){return Object.fromEntries(this.state)}}var Z2=()=>{};var zU={};iQ(zU,{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(X,U){this.handlers.set(X.toUpperCase(),U)}get(X){return this.handlers.get(X.toUpperCase())}registerDefaults(){this.register("log",(X,U)=>{let q=X.params?.message||X.params?.content||"Log Trigger",Z=typeof q==="string"?$0.interpolate(q,U):String(q);return console.log(`[TriggerLog] ${Z}`),{message:Z}}),this.register("response",(X,U)=>{let q=X.params?.content||X.params?.body||"",Z=typeof q==="string"?$0.interpolate(q,U):String(q);return{statusCode:X.params?.statusCode||200,headers:X.params?.headers||{"Content-Type":"application/json"},body:Z}}),this.register("execute",async(X,U)=>{let q=X.params?.command||X.params?.content||"",Z=typeof q==="string"?$0.interpolate(q,U):String(q);if(!X.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(X,U)=>{let q=X.params?.url||"",Z=typeof q==="string"?$0.interpolate(q,U):String(q),Q=String(X.params?.method||"POST");try{let G=await fetch(Z,{method:Q,headers:{"Content-Type":"application/json",...typeof X.params?.headers==="object"&&X.params.headers!==null&&!Array.isArray(X.params.headers)?X.params.headers:{}},body:JSON.stringify(U.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(X,U)=>{let q=String(X.params?.key||""),Z=X.params?.value;if(!q)return{error:"Missing key for STATE_SET"};let Q=Z;if(typeof Z==="string"&&Z.includes("${"))Q=$0.interpolate(Z,U);return await R0.getInstance().set(q,Q),{key:q,value:Q}}),this.register("STATE_INCREMENT",async(X,U)=>{let q=String(X.params?.key||""),Z=Number(X.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",(X,U)=>{return{event:X.params?.event,payload:X.params?.data||{}}})}}var Q2=$U(()=>{Z2()});var k=R((GJ)=>{var t9=Symbol.for("yaml.alias"),b8=Symbol.for("yaml.document"),l6=Symbol.for("yaml.map"),j8=Symbol.for("yaml.pair"),e9=Symbol.for("yaml.scalar"),d6=Symbol.for("yaml.seq"),u0=Symbol.for("yaml.node.type"),t7=(X)=>!!X&&typeof X==="object"&&X[u0]===t9,e7=(X)=>!!X&&typeof X==="object"&&X[u0]===b8,XJ=(X)=>!!X&&typeof X==="object"&&X[u0]===l6,UJ=(X)=>!!X&&typeof X==="object"&&X[u0]===j8,f8=(X)=>!!X&&typeof X==="object"&&X[u0]===e9,qJ=(X)=>!!X&&typeof X==="object"&&X[u0]===d6;function y8(X){if(X&&typeof X==="object")switch(X[u0]){case l6:case d6:return!0}return!1}function ZJ(X){if(X&&typeof X==="object")switch(X[u0]){case t9:case l6:case e9:case d6:return!0}return!1}var QJ=(X)=>(f8(X)||y8(X))&&!!X.anchor;GJ.ALIAS=t9;GJ.DOC=b8;GJ.MAP=l6;GJ.NODE_TYPE=u0;GJ.PAIR=j8;GJ.SCALAR=e9;GJ.SEQ=d6;GJ.hasAnchor=QJ;GJ.isAlias=t7;GJ.isCollection=y8;GJ.isDocument=e7;GJ.isMap=XJ;GJ.isNode=ZJ;GJ.isPair=UJ;GJ.isScalar=f8;GJ.isSeq=qJ});var k2=R((MJ)=>{var t=k(),_0=Symbol("break visit"),g8=Symbol("skip children"),j0=Symbol("remove node");function c6(X,U){let q=k8(U);if(t.isDocument(X)){if(d1(null,X.contents,q,Object.freeze([X]))===j0)X.contents=null}else d1(null,X,q,Object.freeze([]))}c6.BREAK=_0;c6.SKIP=g8;c6.REMOVE=j0;function d1(X,U,q,Z){let Q=v8(X,U,q,Z);if(t.isNode(Q)||t.isPair(Q))return x8(X,Z,Q),d1(X,Q,q,Z);if(typeof Q!=="symbol"){if(t.isCollection(U)){Z=Object.freeze(Z.concat(U));for(let G=0;G<U.items.length;++G){let Y=d1(G,U.items[G],q,Z);if(typeof Y==="number")G=Y-1;else if(Y===_0)return _0;else if(Y===j0)U.items.splice(G,1),G-=1}}else if(t.isPair(U)){Z=Object.freeze(Z.concat(U));let G=d1("key",U.key,q,Z);if(G===_0)return _0;else if(G===j0)U.key=null;let Y=d1("value",U.value,q,Z);if(Y===_0)return _0;else if(Y===j0)U.value=null}}return Q}async function i6(X,U){let q=k8(U);if(t.isDocument(X)){if(await c1(null,X.contents,q,Object.freeze([X]))===j0)X.contents=null}else await c1(null,X,q,Object.freeze([]))}i6.BREAK=_0;i6.SKIP=g8;i6.REMOVE=j0;async function c1(X,U,q,Z){let Q=await v8(X,U,q,Z);if(t.isNode(Q)||t.isPair(Q))return x8(X,Z,Q),c1(X,Q,q,Z);if(typeof Q!=="symbol"){if(t.isCollection(U)){Z=Object.freeze(Z.concat(U));for(let G=0;G<U.items.length;++G){let Y=await c1(G,U.items[G],q,Z);if(typeof Y==="number")G=Y-1;else if(Y===_0)return _0;else if(Y===j0)U.items.splice(G,1),G-=1}}else if(t.isPair(U)){Z=Object.freeze(Z.concat(U));let G=await c1("key",U.key,q,Z);if(G===_0)return _0;else if(G===j0)U.key=null;let Y=await c1("value",U.value,q,Z);if(Y===_0)return _0;else if(Y===j0)U.value=null}}return Q}function k8(X){if(typeof X==="object"&&(X.Collection||X.Node||X.Value))return Object.assign({Alias:X.Node,Map:X.Node,Scalar:X.Node,Seq:X.Node},X.Value&&{Map:X.Value,Scalar:X.Value,Seq:X.Value},X.Collection&&{Map:X.Collection,Seq:X.Collection},X);return X}function v8(X,U,q,Z){if(typeof q==="function")return q(X,U,Z);if(t.isMap(U))return q.Map?.(X,U,Z);if(t.isSeq(U))return q.Seq?.(X,U,Z);if(t.isPair(U))return q.Pair?.(X,U,Z);if(t.isScalar(U))return q.Scalar?.(X,U,Z);if(t.isAlias(U))return q.Alias?.(X,U,Z);return}function x8(X,U,q){let Z=U[U.length-1];if(t.isCollection(Z))Z.items[X]=q;else if(t.isPair(Z))if(X==="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`)}}MJ.visit=c6;MJ.visitAsync=i6});var XX=R((CJ)=>{var h8=k(),IJ=k2(),KJ={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},NJ=(X)=>X.replace(/[!,[\]{}]/g,(U)=>KJ[U]);class B0{constructor(X,U){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},B0.defaultYaml,X),this.tags=Object.assign({},B0.defaultTags,U)}clone(){let X=new B0(this.yaml,this.tags);return X.docStart=this.docStart,X}atDocument(){let X=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 X}add(X,U){if(this.atNextDocument)this.yaml={explicit:B0.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},B0.defaultTags),this.atNextDocument=!1;let q=X.trim().split(/[ \t]+/),Z=q.shift();switch(Z){case"%TAG":{if(q.length!==2){if(U(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 U(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 U(6,`Unsupported YAML version ${Q}`,G),!1}}default:return U(0,`Unknown directive ${Z}`,!0),!1}}tagName(X,U){if(X==="!")return"!";if(X[0]!=="!")return U(`Not a valid tag: ${X}`),null;if(X[1]==="<"){let G=X.slice(2,-1);if(G==="!"||G==="!!")return U(`Verbatim tags aren't resolved, so ${X} is invalid.`),null;if(X[X.length-1]!==">")U("Verbatim tags must end with a >");return G}let[,q,Z]=X.match(/^(.*!)([^!]*)$/s);if(!Z)U(`The ${X} tag has no suffix`);let Q=this.tags[q];if(Q)try{return Q+decodeURIComponent(Z)}catch(G){return U(String(G)),null}if(q==="!")return X;return U(`Could not resolve tag: ${X}`),null}tagString(X){for(let[U,q]of Object.entries(this.tags))if(X.startsWith(q))return U+NJ(X.substring(q.length));return X[0]==="!"?X:`!<${X}>`}toString(X){let U=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],q=Object.entries(this.tags),Z;if(X&&q.length>0&&h8.isNode(X.contents)){let Q={};IJ.visit(X.contents,(G,Y)=>{if(h8.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(!X||Z.some((Y)=>Y.startsWith(G)))U.push(`%TAG ${Q} ${G}`)}return U.join(`
|
|
2
|
+
`)}}B0.defaultYaml={explicit:!1,version:"1.2"};B0.defaultTags={"!!":"tag:yaml.org,2002:"};CJ.Directives=B0});var s6=R((fJ)=>{var u8=k(),EJ=k2();function bJ(X){if(/[\x00-\x19\s,[\]{}]/.test(X)){let q=`Anchor must not contain whitespace or control characters: ${JSON.stringify(X)}`;throw Error(q)}return!0}function m8(X){let U=new Set;return EJ.visit(X,{Value(q,Z){if(Z.anchor)U.add(Z.anchor)}}),U}function p8(X,U){for(let q=1;;++q){let Z=`${X}${q}`;if(!U.has(Z))return Z}}function jJ(X,U){let q=[],Z=new Map,Q=null;return{onAnchor:(G)=>{q.push(G),Q??(Q=m8(X));let Y=p8(U,Q);return Q.add(Y),Y},setAnchors:()=>{for(let G of q){let Y=Z.get(G);if(typeof Y==="object"&&Y.anchor&&(u8.isScalar(Y.node)||u8.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}}fJ.anchorIsValid=bJ;fJ.anchorNames=m8;fJ.createNodeAnchors=jJ;fJ.findNewAnchor=p8});var UX=R((xJ)=>{function v2(X,U,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=v2(X,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=v2(X,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=v2(X,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=v2(X,Z,Q,G);if(Y===void 0)delete Z[Q];else if(Y!==G)Z[Q]=Y}return X.call(U,q,Z)}xJ.applyReviver=v2});var n0=R((mJ)=>{var uJ=k();function l8(X,U,q){if(Array.isArray(X))return X.map((Z,Q)=>l8(Z,String(Q),q));if(X&&typeof X.toJSON==="function"){if(!q||!uJ.hasAnchor(X))return X.toJSON(U,q);let Z={aliasCount:0,count:1,res:void 0};q.anchors.set(X,Z),q.onCreate=(G)=>{Z.res=G,delete q.onCreate};let Q=X.toJSON(U,q);if(q.onCreate)q.onCreate(Q);return Q}if(typeof X==="bigint"&&!q?.keep)return Number(X);return X}mJ.toJS=l8});var o6=R((cJ)=>{var lJ=UX(),d8=k(),dJ=n0();class c8{constructor(X){Object.defineProperty(this,d8.NODE_TYPE,{value:X})}clone(){let X=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(this.range)X.range=this.range.slice();return X}toJS(X,{mapAsMap:U,maxAliasCount:q,onAnchor:Z,reviver:Q}={}){if(!d8.isDocument(X))throw TypeError("A document argument is required");let G={anchors:new Map,doc:X,keep:!0,mapAsMap:U===!0,mapKeyWarned:!1,maxAliasCount:typeof q==="number"?q:100},Y=dJ.toJS(this,"",G);if(typeof Z==="function")for(let{count:J,res:H}of G.anchors.values())Z(H,J);return typeof Q==="function"?lJ.applyReviver(Q,{"":Y},"",Y):Y}}cJ.NodeBase=c8});var x2=R((nJ)=>{var sJ=s6(),oJ=k2(),i1=k(),rJ=o6(),aJ=n0();class i8 extends rJ.NodeBase{constructor(X){super(i1.ALIAS);this.source=X,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(X,U){let q;if(U?.aliasResolveCache)q=U.aliasResolveCache;else if(q=[],oJ.visit(X,{Node:(Q,G)=>{if(i1.isAlias(G)||i1.hasAnchor(G))q.push(G)}}),U)U.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(X,U){if(!U)return{source:this.source};let{anchors:q,doc:Z,maxAliasCount:Q}=U,G=this.resolve(Z,U);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)aJ.toJS(G,null,U),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=r6(Z,G,q);if(Y.count*Y.aliasCount>Q)throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return Y.res}toString(X,U,q){let Z=`*${this.source}`;if(X){if(sJ.anchorIsValid(this.source),X.options.verifyAliasOrder&&!X.anchors.has(this.source)){let Q=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(Q)}if(X.implicitKey)return`${Z} `}return Z}}function r6(X,U,q){if(i1.isAlias(U)){let Z=U.resolve(X),Q=q&&Z&&q.get(Z);return Q?Q.count*Q.aliasCount:0}else if(i1.isCollection(U)){let Z=0;for(let Q of U.items){let G=r6(X,Q,q);if(G>Z)Z=G}return Z}else if(i1.isPair(U)){let Z=r6(X,U.key,q),Q=r6(X,U.value,q);return Math.max(Z,Q)}return 1}nJ.Alias=i8});var i=R((ZH)=>{var eJ=k(),XH=o6(),UH=n0(),qH=(X)=>!X||typeof X!=="function"&&typeof X!=="object";class F1 extends XH.NodeBase{constructor(X){super(eJ.SCALAR);this.value=X}toJSON(X,U){return U?.keep?this.value:UH.toJS(this.value,X,U)}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";ZH.Scalar=F1;ZH.isScalarValue=qH});var h2=R((_H)=>{var YH=x2(),A1=k(),s8=i(),JH="tag:yaml.org,2002:";function HH(X,U,q){if(U){let Z=q.filter((G)=>G.tag===U),Q=Z.find((G)=>!G.format)??Z[0];if(!Q)throw Error(`Tag ${U} not found`);return Q}return q.find((Z)=>Z.identify?.(X)&&!Z.format)}function WH(X,U,q){if(A1.isDocument(X))X=X.contents;if(A1.isNode(X))return X;if(A1.isPair(X)){let _=q.schema[A1.MAP].createNode?.(q.schema,null,q);return _.items.push(X),_}if(X instanceof String||X instanceof Number||X instanceof Boolean||typeof BigInt<"u"&&X instanceof BigInt)X=X.valueOf();let{aliasDuplicateObjects:Z,onAnchor:Q,onTagObj:G,schema:Y,sourceObjects:J}=q,H=void 0;if(Z&&X&&typeof X==="object")if(H=J.get(X),H)return H.anchor??(H.anchor=Q(X)),new YH.Alias(H.anchor);else H={anchor:null,node:null},J.set(X,H);if(U?.startsWith("!!"))U=JH+U.slice(2);let W=HH(X,U,Y.tags);if(!W){if(X&&typeof X.toJSON==="function")X=X.toJSON();if(!X||typeof X!=="object"){let _=new s8.Scalar(X);if(H)H.node=_;return _}W=X instanceof Map?Y[A1.MAP]:(Symbol.iterator in Object(X))?Y[A1.SEQ]:Y[A1.MAP]}if(G)G(W),delete q.onTagObj;let $=W?.createNode?W.createNode(q.schema,X,q):typeof W?.nodeClass?.from==="function"?W.nodeClass.from(q.schema,X,q):new s8.Scalar(X);if(U)$.tag=U;else if(!W.default)$.tag=W.tag;if(H)H.node=$;return $}_H.createNode=WH});var a6=R((FH)=>{var LH=h2(),f0=k(),zH=o6();function qX(X,U,q){let Z=q;for(let Q=U.length-1;Q>=0;--Q){let G=U[Q];if(typeof G==="number"&&Number.isInteger(G)&&G>=0){let Y=[];Y[G]=Z,Z=Y}else Z=new Map([[G,Z]])}return LH.createNode(Z,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:X,sourceObjects:new Map})}var o8=(X)=>X==null||typeof X==="object"&&!!X[Symbol.iterator]().next().done;class r8 extends zH.NodeBase{constructor(X,U){super(X);Object.defineProperty(this,"schema",{value:U,configurable:!0,enumerable:!1,writable:!0})}clone(X){let U=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(X)U.schema=X;if(U.items=U.items.map((q)=>f0.isNode(q)||f0.isPair(q)?q.clone(X):q),this.range)U.range=this.range.slice();return U}addIn(X,U){if(o8(X))this.add(U);else{let[q,...Z]=X,Q=this.get(q,!0);if(f0.isCollection(Q))Q.addIn(Z,U);else if(Q===void 0&&this.schema)this.set(q,qX(this.schema,Z,U));else throw Error(`Expected YAML collection at ${q}. Remaining path: ${Z}`)}}deleteIn(X){let[U,...q]=X;if(q.length===0)return this.delete(U);let Z=this.get(U,!0);if(f0.isCollection(Z))return Z.deleteIn(q);else throw Error(`Expected YAML collection at ${U}. Remaining path: ${q}`)}getIn(X,U){let[q,...Z]=X,Q=this.get(q,!0);if(Z.length===0)return!U&&f0.isScalar(Q)?Q.value:Q;else return f0.isCollection(Q)?Q.getIn(Z,U):void 0}hasAllNullValues(X){return this.items.every((U)=>{if(!f0.isPair(U))return!1;let q=U.value;return q==null||X&&f0.isScalar(q)&&q.value==null&&!q.commentBefore&&!q.comment&&!q.tag})}hasIn(X){let[U,...q]=X;if(q.length===0)return this.has(U);let Z=this.get(U,!0);return f0.isCollection(Z)?Z.hasIn(q):!1}setIn(X,U){let[q,...Z]=X;if(Z.length===0)this.set(q,U);else{let Q=this.get(q,!0);if(f0.isCollection(Q))Q.setIn(Z,U);else if(Q===void 0&&this.schema)this.set(q,qX(this.schema,Z,U));else throw Error(`Expected YAML collection at ${q}. Remaining path: ${Z}`)}}}FH.Collection=r8;FH.collectionFromPath=qX;FH.isEmptyPath=o8});var u2=R((RH)=>{var BH=(X)=>X.replace(/^(?!$)(?: $)?/gm,"#");function ZX(X,U){if(/^\n+$/.test(X))return X.substring(1);return U?X.replace(/^(?! *$)/gm,U):X}var TH=(X,U,q)=>X.endsWith(`
|
|
3
|
+
`)?ZX(q,U):q.includes(`
|
|
4
4
|
`)?`
|
|
5
|
-
`+
|
|
6
|
-
`){if(q==="block")z=
|
|
5
|
+
`+ZX(q,U):(X.endsWith(" ")?"":" ")+q;RH.indentComment=ZX;RH.lineComment=TH;RH.stringifyComment=BH});var n8=R((IH)=>{function PH(X,U,q="flow",{indentAtStart:Z,lineWidth:Q=80,minContentWidth:G=20,onFold:Y,onOverflow:J}={}){if(!Q||Q<0)return X;if(Q<G)G=0;let H=Math.max(1+G,1+Q-U.length);if(X.length<=H)return X;let W=[],$={},_=Q-U.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=a8(X,z,U.length),z!==-1)_=z+H}for(let K;K=X[z+=1];){if(q==="quoted"&&K==="\\"){switch(O=z,X[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=a8(X,z,U.length);_=z+U.length+H,L=void 0}else{if(K===" "&&A&&A!==" "&&A!==`
|
|
7
7
|
`&&A!=="\t"){let C=X[z+1];if(C&&C!==" "&&C!==`
|
|
8
|
-
`&&C!=="\t")L=z}if(z>=_)if(L)W.push(L),_=L+
|
|
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=X[z+=1],T=!0;let C=z>D+1?z-2:O-1;if($[C])return X;W.push(C),$[C]=!0,_=C+H,L=void 0}else T=!0}A=K}if(T&&J)J();if(W.length===0)return X;if(Y)Y();let P=X.slice(0,W[0]);for(let K=0;K<W.length;++K){let C=W[K],N=W[K+1]||X.length;if(C===0)P=`
|
|
9
9
|
${U}${X.slice(0,N)}`;else{if(q==="quoted"&&$[C])P+=`${X[C]}\\`;P+=`
|
|
10
|
-
${U}${X.slice(C+1,N)}`}}return P}function
|
|
11
|
-
`);Z=U,Q=U+1,G=X[Q]}return Z}
|
|
12
|
-
`){if(G-Y>Z)return!0;if(Y=G+1,Q-Y<=Z)return!1}return!0}function m2(X,U){let q=JSON.stringify(X);if(U.options.doubleQuotedAsJSON)return q;let{implicitKey:Z}=U,Q=U.options.doubleQuotedMinMultiLineLength,G=U.indent||(
|
|
10
|
+
${U}${X.slice(C+1,N)}`}}return P}function a8(X,U,q){let Z=U,Q=U+1,G=X[Q];while(G===" "||G==="\t")if(U<Q+q)G=X[++U];else{do G=X[++U];while(G&&G!==`
|
|
11
|
+
`);Z=U,Q=U+1,G=X[Q]}return Z}IH.FOLD_BLOCK="block";IH.FOLD_FLOW="flow";IH.FOLD_QUOTED="quoted";IH.foldFlowLines=PH});var p2=R((fH)=>{var I0=i(),t0=n8(),t6=(X,U)=>({indentAtStart:U?X.indent.length:X.indentAtStart,lineWidth:X.options.lineWidth,minContentWidth:X.options.minContentWidth}),e6=(X)=>/^(%|---|\.\.\.)/m.test(X);function EH(X,U,q){if(!U||U<0)return!1;let Z=U-q,Q=X.length;if(Q<=Z)return!1;for(let G=0,Y=0;G<Q;++G)if(X[G]===`
|
|
12
|
+
`){if(G-Y>Z)return!0;if(Y=G+1,Q-Y<=Z)return!1}return!0}function m2(X,U){let q=JSON.stringify(X);if(U.options.doubleQuotedAsJSON)return q;let{implicitKey:Z}=U,Q=U.options.doubleQuotedMinMultiLineLength,G=U.indent||(e6(X)?" ":""),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(X))return m2(X,U);let q=U.indent||(
|
|
17
|
-
${q}`)+"'";return U.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,t6(U,!1))}function QX(X,U){if(U.options.singleQuote===!1||U.implicitKey&&X.includes(`
|
|
16
|
+
`)||/[ \t]\n|\n[ \t]/.test(X))return m2(X,U);let q=U.indent||(e6(X)?" ":""),Z="'"+X.replace(/'/g,"''").replace(/\n+/g,`$&
|
|
17
|
+
${q}`)+"'";return U.implicitKey?Z:t0.foldFlowLines(Z,q,t0.FOLD_FLOW,t6(U,!1))}function s1(X,U){let{singleQuote:q}=U.options,Z;if(q===!1)Z=m2;else{let Q=X.includes('"'),G=X.includes("'");if(Q&&!G)Z=QX;else if(G&&!Q)Z=m2;else Z=q?QX:m2}return Z(X,U)}var GX;try{GX=new RegExp(`(^|(?<!
|
|
18
18
|
))
|
|
19
19
|
+(?!
|
|
20
|
-
|$)`,"g")}catch{
|
|
20
|
+
|$)`,"g")}catch{GX=/\n+(?!\n|$)/g}function n6({comment:X,type:U,value:q},Z,Q,G){let{blockQuote:Y,commentString:J,lineWidth:H}=Z.options;if(!Y||/\n[\t ]+$/.test(q))return s1(q,Z);let W=Z.indent||(Z.forceBlockIndent||e6(q)?" ":""),$=Y==="literal"?!0:Y==="folded"||U===I0.Scalar.BLOCK_FOLDED?!1:U===I0.Scalar.BLOCK_LITERAL?!0:!EH(q,H,W.length);if(!q)return $?`|
|
|
21
21
|
`:`>
|
|
22
22
|
`;let _,L;for(L=q.length;L>0;--L){let N=q[L-1];if(N!==`
|
|
23
23
|
`&&N!=="\t"&&N!==" ")break}let A=q.substring(L),T=A.indexOf(`
|
|
24
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(
|
|
26
|
-
`)D=O;else break}let P=q.substring(0,D<O?D+1:O);if(P)q=q.substring(P.length),P=P.replace(/\n+/g,`$&${W}`);let C=(z?W?"2":"1":"")+_;if(X){if(C+=" "+
|
|
27
|
-
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${W}`),j=!1,m=
|
|
25
|
+
`)A=A.slice(0,-1);A=A.replace(GX,`$&${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 P=q.substring(0,D<O?D+1:O);if(P)q=q.substring(P.length),P=P.replace(/\n+/g,`$&${W}`);let C=(z?W?"2":"1":"")+_;if(X){if(C+=" "+J(X.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=t6(Z,!0);if(Y!=="folded"&&U!==I0.Scalar.BLOCK_FOLDED)m.onOverflow=()=>{j=!0};let w=t0.foldFlowLines(`${P}${N}${A}`,W,t0.FOLD_BLOCK,m);if(!j)return`>${C}
|
|
28
28
|
${W}${w}`}return q=q.replace(/\n+/g,`$&${W}`),`|${C}
|
|
29
|
-
${W}${P}${q}${A}`}function
|
|
30
|
-
`)||$&&/[[\]{},]/.test(G))return s1(G,U);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(G))return
|
|
31
|
-
`)?s1(G,U):
|
|
32
|
-
`))return
|
|
33
|
-
${
|
|
34
|
-
${U.indent}${
|
|
35
|
-
${
|
|
29
|
+
${W}${P}${q}${A}`}function bH(X,U,q,Z){let{type:Q,value:G}=X,{actualString:Y,implicitKey:J,indent:H,indentStep:W,inFlow:$}=U;if(J&&G.includes(`
|
|
30
|
+
`)||$&&/[[\]{},]/.test(G))return s1(G,U);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(G))return J||$||!G.includes(`
|
|
31
|
+
`)?s1(G,U):n6(X,U,q,Z);if(!J&&!$&&Q!==I0.Scalar.PLAIN&&G.includes(`
|
|
32
|
+
`))return n6(X,U,q,Z);if(e6(G)){if(H==="")return U.forceBlockIndent=!0,n6(X,U,q,Z);else if(J&&H===W)return s1(G,U)}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}=U.doc.schema;if(T.some(L)||A?.some(L))return s1(G,U)}return J?_:t0.foldFlowLines(_,H,t0.FOLD_FLOW,t6(U,!1))}function jH(X,U,q,Z){let{implicitKey:Q,inFlow:G}=U,Y=typeof X.value==="string"?X:Object.assign({},X,{value:String(X.value)}),{type:J}=X;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?s1(Y.value,U):n6(Y,U,q,Z);case I0.Scalar.QUOTE_DOUBLE:return m2(Y.value,U);case I0.Scalar.QUOTE_SINGLE:return QX(Y.value,U);case I0.Scalar.PLAIN:return bH(Y,U,q,Z);default:return null}},W=H(J);if(W===null){let{defaultKeyType:$,defaultStringType:_}=U.options,L=Q&&$||_;if(W=H(L),W===null)throw Error(`Unsupported default string type ${L}`)}return W}fH.stringifyString=jH});var l2=R((pH)=>{var gH=s6(),e0=k(),kH=u2(),vH=p2();function xH(X,U){let q=Object.assign({blockQuote:!0,commentString:kH.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},X.schema.toStringOptions,U),Z;switch(q.collectionStyle){case"block":Z=!1;break;case"flow":Z=!0;break;default:Z=null}return{anchors:new Set,doc:X,flowCollectionPadding:q.flowCollectionPadding?" ":"",indent:"",indentStep:typeof q.indent==="number"?" ".repeat(q.indent):" ",inFlow:Z,options:q}}function hH(X,U){if(U.tag){let Q=X.filter((G)=>G.tag===U.tag);if(Q.length>0)return Q.find((G)=>G.format===U.format)??Q[0]}let q=void 0,Z;if(e0.isScalar(U)){Z=U.value;let Q=X.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===U.format)??Q.find((G)=>!G.format)}else Z=U,q=X.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 uH(X,U,{anchors:q,doc:Z}){if(!Z.directives)return"";let Q=[],G=(e0.isScalar(X)||e0.isCollection(X))&&X.anchor;if(G&&gH.anchorIsValid(G))q.add(G),Q.push(`&${G}`);let Y=X.tag??(U.default?null:U.tag);if(Y)Q.push(Z.directives.tagString(Y));return Q.join(" ")}function mH(X,U,q,Z){if(e0.isPair(X))return X.toString(U,q,Z);if(e0.isAlias(X)){if(U.doc.directives)return X.toString(U);if(U.resolvedAliases?.has(X))throw TypeError("Cannot stringify circular structure without alias nodes");else{if(U.resolvedAliases)U.resolvedAliases.add(X);else U.resolvedAliases=new Set([X]);X=X.resolve(U.doc)}}let Q=void 0,G=e0.isNode(X)?X:U.doc.createNode(X,{onTagObj:(H)=>Q=H});Q??(Q=hH(U.doc.schema.tags,G));let Y=uH(G,Q,U);if(Y.length>0)U.indentAtStart=(U.indentAtStart??0)+Y.length+1;let J=typeof Q.stringify==="function"?Q.stringify(G,U,q,Z):e0.isScalar(G)?vH.stringifyString(G,U,q,Z):G.toString(U,q,Z);if(!Y)return J;return e0.isScalar(G)||J[0]==="{"||J[0]==="["?`${Y} ${J}`:`${Y}
|
|
34
|
+
${U.indent}${J}`}pH.createStringifyContext=xH;pH.stringify=mH});var X3=R((iH)=>{var m0=k(),t8=i(),e8=l2(),d2=u2();function cH({key:X,value:U},q,Z,Q){let{allNullValues:G,doc:Y,indent:J,indentStep:H,options:{commentString:W,indentSeq:$,simpleKeys:_}}=q,L=m0.isNode(X)&&X.comment||null;if(_){if(L)throw Error("With simple keys, key nodes cannot have comments");if(m0.isCollection(X)||!m0.isNode(X)&&typeof X==="object")throw Error("With simple keys, collection cannot be used as a key value")}let A=!_&&(!X||L&&U==null&&!q.inFlow||m0.isCollection(X)||(m0.isScalar(X)?X.type===t8.Scalar.BLOCK_FOLDED||X.type===t8.Scalar.BLOCK_LITERAL:typeof X==="object"));q=Object.assign({},q,{allNullValues:!1,implicitKey:!A&&(_||!G),indent:J+H});let T=!1,z=!1,O=e8.stringify(X,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||U==null){if(T&&Z)Z();return O===""?"?":A?`? ${O}`:O}}else if(G&&!_||U==null&&A){if(O=`? ${O}`,L&&!T)O+=d2.lineComment(O,q.indent,W(L));else if(z&&Q)Q();return O}if(T)L=null;if(A){if(L)O+=d2.lineComment(O,q.indent,W(L));O=`? ${O}
|
|
35
|
+
${J}:`}else if(O=`${O}:`,L)O+=d2.lineComment(O,q.indent,W(L));let D,P,K;if(m0.isNode(U))D=!!U.spaceBefore,P=U.commentBefore,K=U.comment;else if(D=!1,P=null,K=null,U&&typeof U==="object")U=Y.createNode(U);if(q.implicitKey=!1,!A&&!L&&m0.isScalar(U))q.indentAtStart=O.length+1;if(z=!1,!$&&H.length>=2&&!q.inFlow&&!A&&m0.isSeq(U)&&!U.flow&&!U.tag&&!U.anchor)q.indent=q.indent.substring(2);let C=!1,N=e8.stringify(U,q,()=>C=!0,()=>z=!0),j=" ";if(L||D||P){if(j=D?`
|
|
36
36
|
`:"",P){let m=W(P);j+=`
|
|
37
37
|
${d2.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
|
-
`),s=w!==-1,
|
|
41
|
+
${q.indent}`}else if(!A&&m0.isCollection(U)){let m=N[0],w=N.indexOf(`
|
|
42
|
+
`),s=w!==-1,p0=q.inFlow??U.flow??U.items.length===0;if(s||!p0){let M1=!1;if(s&&(m==="&"||m==="!")){let o=N.indexOf(" ");if(m==="&"&&o!==-1&&o<w&&N[o+1]==="!")o=N.indexOf(" ",o+1);if(o===-1||w<o)M1=!0}if(!M1)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+=d2.lineComment(O,q.indent,W(K));else if(z&&Q)Q();return O}
|
|
45
|
-
${
|
|
44
|
+
`)j="";if(O+=j+N,q.inFlow){if(C&&Z)Z()}else if(K&&!C)O+=d2.lineComment(O,q.indent,W(K));else if(z&&Q)Q();return O}iH.stringifyPair=cH});var YX=R((aH)=>{var U3=w1("process");function oH(X,...U){if(X==="debug")console.log(...U)}function rH(X,U){if(X==="debug"||X==="warn")if(typeof U3.emitWarning==="function")U3.emitWarning(U);else console.warn(U)}aH.debug=oH;aH.warn=rH});var q4=R((XW)=>{var c2=k(),q3=i(),X4="<<",U4={identify:(X)=>X===X4||typeof X==="symbol"&&X.description===X4,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new q3.Scalar(Symbol(X4)),{addToJSMap:Z3}),stringify:()=>X4},eH=(X,U)=>(U4.identify(U)||c2.isScalar(U)&&(!U.type||U.type===q3.Scalar.PLAIN)&&U4.identify(U.value))&&X?.doc.schema.tags.some((q)=>q.tag===U4.tag&&q.default);function Z3(X,U,q){if(q=X&&c2.isAlias(q)?q.resolve(X.doc):q,c2.isSeq(q))for(let Z of q.items)JX(X,U,Z);else if(Array.isArray(q))for(let Z of q)JX(X,U,Z);else JX(X,U,q)}function JX(X,U,q){let Z=X&&c2.isAlias(q)?q.resolve(X.doc):q;if(!c2.isMap(Z))throw Error("Merge sources must be maps or map aliases");let Q=Z.toJSON(null,X,Map);for(let[G,Y]of Q)if(U instanceof Map){if(!U.has(G))U.set(G,Y)}else if(U instanceof Set)U.add(G);else if(!Object.prototype.hasOwnProperty.call(U,G))Object.defineProperty(U,G,{value:Y,writable:!0,enumerable:!0,configurable:!0});return U}XW.addMergeToJSMap=Z3;XW.isMergeKey=eH;XW.merge=U4});var WX=R((HW)=>{var QW=YX(),Q3=q4(),GW=l2(),G3=k(),HX=n0();function YW(X,U,{key:q,value:Z}){if(G3.isNode(q)&&q.addToJSMap)q.addToJSMap(X,U,Z);else if(Q3.isMergeKey(X,q))Q3.addMergeToJSMap(X,U,Z);else{let Q=HX.toJS(q,"",X);if(U instanceof Map)U.set(Q,HX.toJS(Z,Q,X));else if(U instanceof Set)U.add(Q);else{let G=JW(q,Q,X),Y=HX.toJS(Z,G,X);if(G in U)Object.defineProperty(U,G,{value:Y,writable:!0,enumerable:!0,configurable:!0});else U[G]=Y}}return U}function JW(X,U,q){if(U===null)return"";if(typeof U!=="object")return String(U);if(G3.isNode(X)&&q?.doc){let Z=GW.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=X.toString(Z);if(!q.mapKeyWarned){let G=JSON.stringify(Q);if(G.length>40)G=G.substring(0,36)+'..."';QW.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(U)}HW.addPairToJSMap=YW});var X1=R((zW)=>{var Y3=h2(),_W=X3(),$W=WX(),Z4=k();function LW(X,U,q){let Z=Y3.createNode(X,void 0,q),Q=Y3.createNode(U,void 0,q);return new Q4(Z,Q)}class Q4{constructor(X,U=null){Object.defineProperty(this,Z4.NODE_TYPE,{value:Z4.PAIR}),this.key=X,this.value=U}clone(X){let{key:U,value:q}=this;if(Z4.isNode(U))U=U.clone(X);if(Z4.isNode(q))q=q.clone(X);return new Q4(U,q)}toJSON(X,U){let q=U?.mapAsMap?new Map:{};return $W.addPairToJSMap(U,q,this)}toString(X,U,q){return X?.doc?_W.stringifyPair(this,X,U,q):JSON.stringify(this)}}zW.Pair=Q4;zW.createPair=LW});var _X=R((TW)=>{var V1=k(),J3=l2(),G4=u2();function VW(X,U,q){return(U.inFlow??X.flow?BW:OW)(X,U,q)}function OW({comment:X,items:U},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<U.length;++T){let z=U[T],O=null;if(V1.isNode(z)){if(!_&&z.spaceBefore)L.push("");if(Y4(q,L,z.commentBefore,_),z.comment)O=z.comment}else if(V1.isPair(z)){let P=V1.isNode(z.key)?z.key:null;if(P){if(!_&&P.spaceBefore)L.push("");Y4(q,L,P.commentBefore,_)}}_=!1;let D=J3.stringify(z,$,()=>O=null,()=>_=!0);if(O)D+=G4.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(X){if(A+=`
|
|
47
|
-
`+
|
|
47
|
+
`+G4.indentComment(W(X),H),J)J()}else if(_&&Y)Y();return A}function BW({items:X},U,{flowChars:q,itemIndent:Z}){let{indent:Q,indentStep:G,flowCollectionPadding:Y,options:{commentString:J}}=U;Z+=G;let H=Object.assign({},U,{indent:Z,inFlow:!0,type:null}),W=!1,$=0,_=[];for(let T=0;T<X.length;++T){let z=X[T],O=null;if(V1.isNode(z)){if(z.spaceBefore)_.push("");if(Y4(U,_,z.commentBefore,!1),z.comment)O=z.comment}else if(V1.isPair(z)){let P=V1.isNode(z.key)?z.key:null;if(P){if(P.spaceBefore)_.push("");if(Y4(U,_,P.commentBefore,!1),P.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&&P?.comment)O=P.comment}if(O)W=!0;let D=J3.stringify(z,H,()=>O=null);if(T<X.length-1)D+=",";if(O)D+=G4.lineComment(D,Z,J(O));if(!W&&(_.length>$||D.includes(`
|
|
48
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=U.options.lineWidth>0&&T>U.options.lineWidth}if(W){let T=L;for(let z of _)T+=z?`
|
|
49
49
|
${G}${Q}${z}`:`
|
|
50
50
|
`;return`${T}
|
|
51
|
-
${Q}${A}`}else return`${L}${Y}${_.join(" ")}${Y}${A}`}}function
|
|
52
|
-
`:" ")}return
|
|
51
|
+
${Q}${A}`}else return`${L}${Y}${_.join(" ")}${Y}${A}`}}function Y4({indent:X,options:{commentString:U}},q,Z,Q){if(Z&&Q)Z=Z.replace(/^\n+/,"");if(Z){let G=G4.indentComment(U(Z),X);q.push(G.trimStart())}}TW.stringifyCollection=VW});var q1=R((IW)=>{var DW=_X(),MW=WX(),wW=a6(),U1=k(),J4=X1(),PW=i();function i2(X,U){let q=U1.isScalar(U)?U.value:U;for(let Z of X)if(U1.isPair(Z)){if(Z.key===U||Z.key===q)return Z;if(U1.isScalar(Z.key)&&Z.key.value===q)return Z}return}class H3 extends wW.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(X){super(U1.MAP,X);this.items=[]}static from(X,U,q){let{keepUndefined:Z,replacer:Q}=q,G=new this(X),Y=(J,H)=>{if(typeof Q==="function")H=Q.call(U,J,H);else if(Array.isArray(Q)&&!Q.includes(J))return;if(H!==void 0||Z)G.items.push(J4.createPair(J,H,q))};if(U instanceof Map)for(let[J,H]of U)Y(J,H);else if(U&&typeof U==="object")for(let J of Object.keys(U))Y(J,U[J]);if(typeof X.sortMapEntries==="function")G.items.sort(X.sortMapEntries);return G}add(X,U){let q;if(U1.isPair(X))q=X;else if(!X||typeof X!=="object"||!("key"in X))q=new J4.Pair(X,X?.value);else q=new J4.Pair(X.key,X.value);let Z=i2(this.items,q.key),Q=this.schema?.sortMapEntries;if(Z){if(!U)throw Error(`Key ${q.key} already set`);if(U1.isScalar(Z.value)&&PW.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(X){let U=i2(this.items,X);if(!U)return!1;return this.items.splice(this.items.indexOf(U),1).length>0}get(X,U){let Z=i2(this.items,X)?.value;return(!U&&U1.isScalar(Z)?Z.value:Z)??void 0}has(X){return!!i2(this.items,X)}set(X,U){this.add(new J4.Pair(X,U),!0)}toJSON(X,U,q){let Z=q?new q:U?.mapAsMap?new Map:{};if(U?.onCreate)U.onCreate(Z);for(let Q of this.items)MW.addPairToJSMap(U,Z,Q);return Z}toString(X,U,q){if(!X)return JSON.stringify(this);for(let Z of this.items)if(!U1.isPair(Z))throw Error(`Map items must all be pairs; found ${JSON.stringify(Z)} instead`);if(!X.allNullValues&&this.hasAllNullValues(!1))X=Object.assign({},X,{allNullValues:!0});return DW.stringifyCollection(this,X,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:X.indent||"",onChompKeep:q,onComment:U})}}IW.YAMLMap=H3;IW.findPair=i2});var o1=R((EW)=>{var CW=k(),W3=q1(),SW={collection:"map",default:!0,nodeClass:W3.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(X,U){if(!CW.isMap(X))U("Expected a mapping for this tag");return X},createNode:(X,U,q)=>W3.YAMLMap.from(X,U,q)};EW.map=SW});var Z1=R((vW)=>{var jW=h2(),fW=_X(),yW=a6(),W4=k(),gW=i(),kW=n0();class _3 extends yW.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(X){super(W4.SEQ,X);this.items=[]}add(X){this.items.push(X)}delete(X){let U=H4(X);if(typeof U!=="number")return!1;return this.items.splice(U,1).length>0}get(X,U){let q=H4(X);if(typeof q!=="number")return;let Z=this.items[q];return!U&&W4.isScalar(Z)?Z.value:Z}has(X){let U=H4(X);return typeof U==="number"&&U<this.items.length}set(X,U){let q=H4(X);if(typeof q!=="number")throw Error(`Expected a valid index, not ${X}.`);let Z=this.items[q];if(W4.isScalar(Z)&&gW.isScalarValue(U))Z.value=U;else this.items[q]=U}toJSON(X,U){let q=[];if(U?.onCreate)U.onCreate(q);let Z=0;for(let Q of this.items)q.push(kW.toJS(Q,String(Z++),U));return q}toString(X,U,q){if(!X)return JSON.stringify(this);return fW.stringifyCollection(this,X,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(X.indent||"")+" ",onChompKeep:q,onComment:U})}static from(X,U,q){let{replacer:Z}=q,Q=new this(X);if(U&&Symbol.iterator in Object(U)){let G=0;for(let Y of U){if(typeof Z==="function"){let J=U instanceof Set?Y:String(G++);Y=Z.call(U,J,Y)}Q.items.push(jW.createNode(Y,void 0,q))}}return Q}}function H4(X){let U=W4.isScalar(X)?X.value:X;if(U&&typeof U==="string")U=Number(U);return typeof U==="number"&&Number.isInteger(U)&&U>=0?U:null}vW.YAMLSeq=_3});var r1=R((mW)=>{var hW=k(),$3=Z1(),uW={collection:"seq",default:!0,nodeClass:$3.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(X,U){if(!hW.isSeq(X))U("Expected a sequence for this tag");return X},createNode:(X,U,q)=>$3.YAMLSeq.from(X,U,q)};mW.seq=uW});var s2=R((cW)=>{var lW=p2(),dW={identify:(X)=>typeof X==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(X)=>X,stringify(X,U,q,Z){return U=Object.assign({actualString:!0},U),lW.stringifyString(X,U,q,Z)}};cW.string=dW});var _4=R((sW)=>{var L3=i(),z3={identify:(X)=>X==null,createNode:()=>new L3.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new L3.Scalar(null),stringify:({source:X},U)=>typeof X==="string"&&z3.test.test(X)?X:U.options.nullStr};sW.nullTag=z3});var $X=R((aW)=>{var rW=i(),F3={identify:(X)=>typeof X==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:(X)=>new rW.Scalar(X[0]==="t"||X[0]==="T"),stringify({source:X,value:U},q){if(X&&F3.test.test(X)){let Z=X[0]==="t"||X[0]==="T";if(U===Z)return X}return U?q.options.trueStr:q.options.falseStr}};aW.boolTag=F3});var a1=R((eW)=>{function tW({format:X,minFractionDigits:U,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(!X&&U&&(!q||q==="tag:yaml.org,2002:float")&&/^\d/.test(G)){let Y=G.indexOf(".");if(Y<0)Y=G.length,G+=".";let J=U-(G.length-Y-1);while(J-- >0)G+="0"}return G}eW.stringifyNumber=tW});var zX=R((G_)=>{var U_=i(),LX=a1(),q_={identify:(X)=>typeof X==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(X)=>X.slice(-3).toLowerCase()==="nan"?NaN:X[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:LX.stringifyNumber},Z_={identify:(X)=>typeof X==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:(X)=>parseFloat(X),stringify(X){let U=Number(X.value);return isFinite(U)?U.toExponential():LX.stringifyNumber(X)}},Q_={identify:(X)=>typeof X==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(X){let U=new U_.Scalar(parseFloat(X)),q=X.indexOf(".");if(q!==-1&&X[X.length-1]==="0")U.minFractionDigits=X.length-q-1;return U},stringify:LX.stringifyNumber};G_.float=Q_;G_.floatExp=Z_;G_.floatNaN=q_});var AX=R((L_)=>{var A3=a1(),$4=(X)=>typeof X==="bigint"||Number.isInteger(X),FX=(X,U,q,{intAsBigInt:Z})=>Z?BigInt(X):parseInt(X.substring(U),q);function V3(X,U,q){let{value:Z}=X;if($4(Z)&&Z>=0)return q+Z.toString(U);return A3.stringifyNumber(X)}var W_={identify:(X)=>$4(X)&&X>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(X,U,q)=>FX(X,2,8,q),stringify:(X)=>V3(X,8,"0o")},__={identify:$4,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(X,U,q)=>FX(X,0,10,q),stringify:A3.stringifyNumber},$_={identify:(X)=>$4(X)&&X>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(X,U,q)=>FX(X,2,16,q),stringify:(X)=>V3(X,16,"0x")};L_.int=__;L_.intHex=$_;L_.intOct=W_});var O3=R((M_)=>{var V_=o1(),O_=_4(),B_=r1(),T_=s2(),R_=$X(),VX=zX(),OX=AX(),D_=[V_.map,B_.seq,T_.string,O_.nullTag,R_.boolTag,OX.intOct,OX.int,OX.intHex,VX.floatNaN,VX.floatExp,VX.float];M_.schema=D_});var T3=R((E_)=>{var P_=i(),I_=o1(),K_=r1();function B3(X){return typeof X==="bigint"||Number.isInteger(X)}var L4=({value:X})=>JSON.stringify(X),N_=[{identify:(X)=>typeof X==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(X)=>X,stringify:L4},{identify:(X)=>X==null,createNode:()=>new P_.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:L4},{identify:(X)=>typeof X==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:(X)=>X==="true",stringify:L4},{identify:B3,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(X,U,{intAsBigInt:q})=>q?BigInt(X):parseInt(X,10),stringify:({value:X})=>B3(X)?X.toString():JSON.stringify(X)},{identify:(X)=>typeof X==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:(X)=>parseFloat(X),stringify:L4}],C_={default:!0,tag:"",test:/^/,resolve(X,U){return U(`Unresolved plain scalar ${JSON.stringify(X)}`),X}},S_=[I_.map,K_.seq].concat(N_,C_);E_.schema=S_});var TX=R((y_)=>{var o2=w1("buffer"),BX=i(),j_=p2(),f_={identify:(X)=>X instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(X,U){if(typeof o2.Buffer==="function")return o2.Buffer.from(X,"base64");else if(typeof atob==="function"){let q=atob(X.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 U("This environment does not support reading binary tags; either Buffer or atob is required"),X},stringify({comment:X,type:U,value:q},Z,Q,G){if(!q)return"";let Y=q,J;if(typeof o2.Buffer==="function")J=Y instanceof o2.Buffer?Y.toString("base64"):o2.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(U??(U=BX.Scalar.BLOCK_LITERAL),U!==BX.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(U===BX.Scalar.BLOCK_LITERAL?`
|
|
52
|
+
`:" ")}return j_.stringifyString({comment:X,type:U,value:J},Z,Q,G)}};y_.binary=f_});var F4=R((h_)=>{var z4=k(),RX=X1(),k_=i(),v_=Z1();function R3(X,U){if(z4.isSeq(X))for(let q=0;q<X.items.length;++q){let Z=X.items[q];if(z4.isPair(Z))continue;else if(z4.isMap(Z)){if(Z.items.length>1)U("Each pair must have its own sequence indicator");let Q=Z.items[0]||new RX.Pair(new k_.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}X.items[q]=L4.isPair(Z)?Z:new TX.Pair(Z)}else U("Expected a sequence for this tag");return X}function T3(X,U,q){let{replacer:Z}=q,Q=new g_.YAMLSeq(X);Q.tag="tag:yaml.org,2002:pairs";let G=0;if(U&&Symbol.iterator in Object(U))for(let Y of U){if(typeof Z==="function")Y=Z.call(U,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(TX.createPair(H,J,q))}return Q}var k_={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:B3,createNode:T3};v_.createPairs=T3;v_.pairs=k_;v_.resolvePairs=B3});var DX=R((l_)=>{var R3=k(),RX=a0(),r2=U1(),m_=q1(),D3=z4();class O1 extends m_.YAMLSeq{constructor(){super();this.add=r2.YAMLMap.prototype.add.bind(this),this.delete=r2.YAMLMap.prototype.delete.bind(this),this.get=r2.YAMLMap.prototype.get.bind(this),this.has=r2.YAMLMap.prototype.has.bind(this),this.set=r2.YAMLMap.prototype.set.bind(this),this.tag=O1.tag}toJSON(X,U){if(!U)return super.toJSON(X);let q=new Map;if(U?.onCreate)U.onCreate(q);for(let Z of this.items){let Q,G;if(R3.isPair(Z))Q=RX.toJS(Z.key,"",U),G=RX.toJS(Z.value,Q,U);else Q=RX.toJS(Z,"",U);if(q.has(Q))throw Error("Ordered maps must not include duplicate keys");q.set(Q,G)}return q}static from(X,U,q){let Z=D3.createPairs(X,U,q),Q=new this;return Q.items=Z.items,Q}}O1.tag="tag:yaml.org,2002:omap";var p_={collection:"seq",identify:(X)=>X instanceof Map,nodeClass:O1,default:!1,tag:"tag:yaml.org,2002:omap",resolve(X,U){let q=D3.resolvePairs(X,U),Z=[];for(let{key:Q}of q.items)if(R3.isScalar(Q))if(Z.includes(Q.value))U(`Ordered maps must not include duplicate keys: ${Q.value}`);else Z.push(Q.value);return Object.assign(new O1,q)},createNode:(X,U,q)=>O1.from(X,U,q)};l_.YAMLOMap=O1;l_.omap=p_});var K3=R((i_)=>{var M3=i();function w3({value:X,source:U},q){if(U&&(X?P3:I3).test.test(U))return U;return X?q.options.trueStr:q.options.falseStr}var P3={identify:(X)=>X===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new M3.Scalar(!0),stringify:w3},I3={identify:(X)=>X===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new M3.Scalar(!1),stringify:w3};i_.falseTag=I3;i_.trueTag=P3});var N3=R((e_)=>{var r_=i(),MX=a1(),a_={identify:(X)=>typeof X==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(X)=>X.slice(-3).toLowerCase()==="nan"?NaN:X[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:MX.stringifyNumber},n_={identify:(X)=>typeof X==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:(X)=>parseFloat(X.replace(/_/g,"")),stringify(X){let U=Number(X.value);return isFinite(U)?U.toExponential():MX.stringifyNumber(X)}},t_={identify:(X)=>typeof X==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(X){let U=new r_.Scalar(parseFloat(X.replace(/_/g,""))),q=X.indexOf(".");if(q!==-1){let Z=X.substring(q+1).replace(/_/g,"");if(Z[Z.length-1]==="0")U.minFractionDigits=Z.length}return U},stringify:MX.stringifyNumber};e_.float=t_;e_.floatExp=n_;e_.floatNaN=a_});var S3=R((H$)=>{var C3=a1(),a2=(X)=>typeof X==="bigint"||Number.isInteger(X);function F4(X,U,q,{intAsBigInt:Z}){let Q=X[0];if(Q==="-"||Q==="+")U+=1;if(X=X.substring(U).replace(/_/g,""),Z){switch(q){case 2:X=`0b${X}`;break;case 8:X=`0o${X}`;break;case 16:X=`0x${X}`;break}let Y=BigInt(X);return Q==="-"?BigInt(-1)*Y:Y}let G=parseInt(X,q);return Q==="-"?-1*G:G}function wX(X,U,q){let{value:Z}=X;if(a2(Z)){let Q=Z.toString(U);return Z<0?"-"+q+Q.substr(1):q+Q}return C3.stringifyNumber(X)}var Z$={identify:a2,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(X,U,q)=>F4(X,2,2,q),stringify:(X)=>wX(X,2,"0b")},Q$={identify:a2,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(X,U,q)=>F4(X,1,8,q),stringify:(X)=>wX(X,8,"0")},G$={identify:a2,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(X,U,q)=>F4(X,0,10,q),stringify:C3.stringifyNumber},Y$={identify:a2,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(X,U,q)=>F4(X,2,16,q),stringify:(X)=>wX(X,16,"0x")};H$.int=G$;H$.intBin=Z$;H$.intHex=Y$;H$.intOct=Q$});var PX=R((z$)=>{var O4=k(),A4=e0(),V4=U1();class B1 extends V4.YAMLMap{constructor(X){super(X);this.tag=B1.tag}add(X){let U;if(O4.isPair(X))U=X;else if(X&&typeof X==="object"&&"key"in X&&"value"in X&&X.value===null)U=new A4.Pair(X.key,null);else U=new A4.Pair(X,null);if(!V4.findPair(this.items,U.key))this.items.push(U)}get(X,U){let q=V4.findPair(this.items,X);return!U&&O4.isPair(q)?O4.isScalar(q.key)?q.key.value:q.key:q}set(X,U){if(typeof U!=="boolean")throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof U}`);let q=V4.findPair(this.items,X);if(q&&!U)this.items.splice(this.items.indexOf(q),1);else if(!q&&U)this.items.push(new A4.Pair(X))}toJSON(X,U){return super.toJSON(X,U,Set)}toString(X,U,q){if(!X)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},X,{allNullValues:!0}),U,q);else throw Error("Set items must all have null values")}static from(X,U,q){let{replacer:Z}=q,Q=new this(X);if(U&&Symbol.iterator in Object(U))for(let G of U){if(typeof Z==="function")G=Z.call(U,G,G);Q.items.push(A4.createPair(G,null,q))}return Q}}B1.tag="tag:yaml.org,2002:set";var L$={collection:"map",identify:(X)=>X instanceof Set,nodeClass:B1,default:!1,tag:"tag:yaml.org,2002:set",createNode:(X,U,q)=>B1.from(X,U,q),resolve(X,U){if(O4.isMap(X))if(X.hasAllNullValues(!0))return Object.assign(new B1,X);else U("Set items must all have null values");else U("Expected a mapping for this tag");return X}};z$.YAMLSet=B1;z$.set=L$});var KX=R((T$)=>{var V$=a1();function IX(X,U){let q=X[0],Z=q==="-"||q==="+"?X.substring(1):X,Q=(Y)=>U?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 E3(X){let{value:U}=X,q=(Y)=>Y;if(typeof U==="bigint")q=(Y)=>BigInt(Y);else if(isNaN(U)||!isFinite(U))return V$.stringifyNumber(X);let Z="";if(U<0)Z="-",U*=q(-1);let Q=q(60),G=[U%Q];if(U<60)G.unshift(0);else if(U=(U-G[0])/Q,G.unshift(U%Q),U>=60)U=(U-G[0])/Q,G.unshift(U);return Z+G.map((Y)=>String(Y).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var O$={identify:(X)=>typeof X==="bigint"||Number.isInteger(X),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(X,U,{intAsBigInt:q})=>IX(X,q),stringify:E3},B$={identify:(X)=>typeof X==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:(X)=>IX(X,!1),stringify:E3},b3={identify:(X)=>X 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(X){let U=X.match(b3.test);if(!U)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,q,Z,Q,G,Y,H]=U.map(Number),J=U[7]?Number((U[7]+"00").substr(1,3)):0,W=Date.UTC(q,Z-1,Q,G||0,Y||0,H||0,J),$=U[8];if($&&$!=="Z"){let _=IX($,!1);if(Math.abs(_)<30)_*=60;W-=60000*_}return new Date(W)},stringify:({value:X})=>X?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};T$.floatTime=B$;T$.intTime=O$;T$.timestamp=b3});var f3=R((f$)=>{var w$=o1(),P$=W4(),I$=r1(),K$=s2(),N$=BX(),j3=K3(),NX=N3(),B4=S3(),C$=U4(),S$=DX(),E$=z4(),b$=PX(),CX=KX(),j$=[w$.map,I$.seq,K$.string,P$.nullTag,j3.trueTag,j3.falseTag,B4.intBin,B4.intOct,B4.int,B4.intHex,NX.floatNaN,NX.floatExp,NX.float,N$.binary,C$.merge,S$.omap,E$.pairs,b$.set,CX.intTime,CX.floatTime,CX.timestamp];f$.schema=j$});var l3=R((p$)=>{var v3=o1(),g$=W4(),x3=r1(),k$=s2(),v$=_X(),SX=LX(),EX=FX(),x$=A3(),h$=O3(),h3=BX(),n2=U4(),u3=DX(),m3=z4(),y3=f3(),p3=PX(),T4=KX(),g3=new Map([["core",x$.schema],["failsafe",[v3.map,x3.seq,k$.string]],["json",h$.schema],["yaml11",y3.schema],["yaml-1.1",y3.schema]]),k3={binary:h3.binary,bool:v$.boolTag,float:SX.float,floatExp:SX.floatExp,floatNaN:SX.floatNaN,floatTime:T4.floatTime,int:EX.int,intHex:EX.intHex,intOct:EX.intOct,intTime:T4.intTime,map:v3.map,merge:n2.merge,null:g$.nullTag,omap:u3.omap,pairs:m3.pairs,seq:x3.seq,set:p3.set,timestamp:T4.timestamp},u$={"tag:yaml.org,2002:binary":h3.binary,"tag:yaml.org,2002:merge":n2.merge,"tag:yaml.org,2002:omap":u3.omap,"tag:yaml.org,2002:pairs":m3.pairs,"tag:yaml.org,2002:set":p3.set,"tag:yaml.org,2002:timestamp":T4.timestamp};function m$(X,U,q){let Z=g3.get(U);if(Z&&!X)return q&&!Z.includes(n2.merge)?Z.concat(n2.merge):Z.slice();let Q=Z;if(!Q)if(Array.isArray(X))Q=[];else{let G=Array.from(g3.keys()).filter((Y)=>Y!=="yaml11").map((Y)=>JSON.stringify(Y)).join(", ");throw Error(`Unknown schema "${U}"; use one of ${G} or define customTags array`)}if(Array.isArray(X))for(let G of X)Q=Q.concat(G);else if(typeof X==="function")Q=X(Q.slice());if(q)Q=Q.concat(n2.merge);return Q.reduce((G,Y)=>{let H=typeof Y==="string"?k3[Y]:Y;if(!H){let J=JSON.stringify(Y),W=Object.keys(k3).map(($)=>JSON.stringify($)).join(", ");throw Error(`Unknown custom tag ${J}; use one of ${W}`)}if(!G.includes(H))G.push(H);return G},[])}p$.coreKnownTags=u$;p$.getTags=m$});var fX=R((r$)=>{var bX=k(),c$=o1(),i$=r1(),s$=s2(),R4=l3(),o$=(X,U)=>X.key<U.key?-1:X.key>U.key?1:0;class jX{constructor({compat:X,customTags:U,merge:q,resolveKnownTags:Z,schema:Q,sortMapEntries:G,toStringDefaults:Y}){this.compat=Array.isArray(X)?R4.getTags(X,"compat"):X?R4.getTags(null,X):null,this.name=typeof Q==="string"&&Q||"core",this.knownTags=Z?R4.coreKnownTags:{},this.tags=R4.getTags(U,this.name,q),this.toStringOptions=Y??null,Object.defineProperty(this,bX.MAP,{value:c$.map}),Object.defineProperty(this,bX.SCALAR,{value:s$.string}),Object.defineProperty(this,bX.SEQ,{value:i$.seq}),this.sortMapEntries=typeof G==="function"?G:G===!0?o$:null}clone(){let X=Object.create(jX.prototype,Object.getOwnPropertyDescriptors(this));return X.tags=this.tags.slice(),X}}r$.Schema=jX});var d3=R((e$)=>{var n$=k(),yX=l2(),t2=u2();function t$(X,U){let q=[],Z=U.directives===!0;if(U.directives!==!1&&X.directives){let J=X.directives.toString(X);if(J)q.push(J),Z=!0;else if(X.directives.docStart)Z=!0}if(Z)q.push("---");let Q=yX.createStringifyContext(X,U),{commentString:G}=Q.options;if(X.commentBefore){if(q.length!==1)q.unshift("");let J=G(X.commentBefore);q.unshift(t2.indentComment(J,""))}let Y=!1,H=null;if(X.contents){if(n$.isNode(X.contents)){if(X.contents.spaceBefore&&Z)q.push("");if(X.contents.commentBefore){let $=G(X.contents.commentBefore);q.push(t2.indentComment($,""))}Q.forceBlockIndent=!!X.comment,H=X.contents.comment}let J=H?void 0:()=>Y=!0,W=yX.stringify(X.contents,Q,()=>H=null,J);if(H)W+=t2.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(yX.stringify(X.contents,Q));if(X.directives?.docEnd)if(X.comment){let J=G(X.comment);if(J.includes(`
|
|
55
|
-
`))q.push("..."),q.push(t2.indentComment(
|
|
54
|
+
${G.comment}`:Z.comment}Z=Q}X.items[q]=z4.isPair(Z)?Z:new RX.Pair(Z)}else U("Expected a sequence for this tag");return X}function D3(X,U,q){let{replacer:Z}=q,Q=new v_.YAMLSeq(X);Q.tag="tag:yaml.org,2002:pairs";let G=0;if(U&&Symbol.iterator in Object(U))for(let Y of U){if(typeof Z==="function")Y=Z.call(U,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(RX.createPair(J,H,q))}return Q}var x_={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:R3,createNode:D3};h_.createPairs=D3;h_.pairs=x_;h_.resolvePairs=R3});var MX=R((c_)=>{var M3=k(),DX=n0(),r2=q1(),l_=Z1(),w3=F4();class O1 extends l_.YAMLSeq{constructor(){super();this.add=r2.YAMLMap.prototype.add.bind(this),this.delete=r2.YAMLMap.prototype.delete.bind(this),this.get=r2.YAMLMap.prototype.get.bind(this),this.has=r2.YAMLMap.prototype.has.bind(this),this.set=r2.YAMLMap.prototype.set.bind(this),this.tag=O1.tag}toJSON(X,U){if(!U)return super.toJSON(X);let q=new Map;if(U?.onCreate)U.onCreate(q);for(let Z of this.items){let Q,G;if(M3.isPair(Z))Q=DX.toJS(Z.key,"",U),G=DX.toJS(Z.value,Q,U);else Q=DX.toJS(Z,"",U);if(q.has(Q))throw Error("Ordered maps must not include duplicate keys");q.set(Q,G)}return q}static from(X,U,q){let Z=w3.createPairs(X,U,q),Q=new this;return Q.items=Z.items,Q}}O1.tag="tag:yaml.org,2002:omap";var d_={collection:"seq",identify:(X)=>X instanceof Map,nodeClass:O1,default:!1,tag:"tag:yaml.org,2002:omap",resolve(X,U){let q=w3.resolvePairs(X,U),Z=[];for(let{key:Q}of q.items)if(M3.isScalar(Q))if(Z.includes(Q.value))U(`Ordered maps must not include duplicate keys: ${Q.value}`);else Z.push(Q.value);return Object.assign(new O1,q)},createNode:(X,U,q)=>O1.from(X,U,q)};c_.YAMLOMap=O1;c_.omap=d_});var C3=R((o_)=>{var P3=i();function I3({value:X,source:U},q){if(U&&(X?K3:N3).test.test(U))return U;return X?q.options.trueStr:q.options.falseStr}var K3={identify:(X)=>X===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new P3.Scalar(!0),stringify:I3},N3={identify:(X)=>X===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new P3.Scalar(!1),stringify:I3};o_.falseTag=N3;o_.trueTag=K3});var S3=R((U$)=>{var n_=i(),wX=a1(),t_={identify:(X)=>typeof X==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(X)=>X.slice(-3).toLowerCase()==="nan"?NaN:X[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:wX.stringifyNumber},e_={identify:(X)=>typeof X==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:(X)=>parseFloat(X.replace(/_/g,"")),stringify(X){let U=Number(X.value);return isFinite(U)?U.toExponential():wX.stringifyNumber(X)}},X$={identify:(X)=>typeof X==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(X){let U=new n_.Scalar(parseFloat(X.replace(/_/g,""))),q=X.indexOf(".");if(q!==-1){let Z=X.substring(q+1).replace(/_/g,"");if(Z[Z.length-1]==="0")U.minFractionDigits=Z.length}return U},stringify:wX.stringifyNumber};U$.float=X$;U$.floatExp=e_;U$.floatNaN=t_});var b3=R((W$)=>{var E3=a1(),a2=(X)=>typeof X==="bigint"||Number.isInteger(X);function A4(X,U,q,{intAsBigInt:Z}){let Q=X[0];if(Q==="-"||Q==="+")U+=1;if(X=X.substring(U).replace(/_/g,""),Z){switch(q){case 2:X=`0b${X}`;break;case 8:X=`0o${X}`;break;case 16:X=`0x${X}`;break}let Y=BigInt(X);return Q==="-"?BigInt(-1)*Y:Y}let G=parseInt(X,q);return Q==="-"?-1*G:G}function PX(X,U,q){let{value:Z}=X;if(a2(Z)){let Q=Z.toString(U);return Z<0?"-"+q+Q.substr(1):q+Q}return E3.stringifyNumber(X)}var G$={identify:a2,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(X,U,q)=>A4(X,2,2,q),stringify:(X)=>PX(X,2,"0b")},Y$={identify:a2,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(X,U,q)=>A4(X,1,8,q),stringify:(X)=>PX(X,8,"0")},J$={identify:a2,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(X,U,q)=>A4(X,0,10,q),stringify:E3.stringifyNumber},H$={identify:a2,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(X,U,q)=>A4(X,2,16,q),stringify:(X)=>PX(X,16,"0x")};W$.int=J$;W$.intBin=G$;W$.intHex=H$;W$.intOct=Y$});var IX=R((A$)=>{var B4=k(),V4=X1(),O4=q1();class B1 extends O4.YAMLMap{constructor(X){super(X);this.tag=B1.tag}add(X){let U;if(B4.isPair(X))U=X;else if(X&&typeof X==="object"&&"key"in X&&"value"in X&&X.value===null)U=new V4.Pair(X.key,null);else U=new V4.Pair(X,null);if(!O4.findPair(this.items,U.key))this.items.push(U)}get(X,U){let q=O4.findPair(this.items,X);return!U&&B4.isPair(q)?B4.isScalar(q.key)?q.key.value:q.key:q}set(X,U){if(typeof U!=="boolean")throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof U}`);let q=O4.findPair(this.items,X);if(q&&!U)this.items.splice(this.items.indexOf(q),1);else if(!q&&U)this.items.push(new V4.Pair(X))}toJSON(X,U){return super.toJSON(X,U,Set)}toString(X,U,q){if(!X)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},X,{allNullValues:!0}),U,q);else throw Error("Set items must all have null values")}static from(X,U,q){let{replacer:Z}=q,Q=new this(X);if(U&&Symbol.iterator in Object(U))for(let G of U){if(typeof Z==="function")G=Z.call(U,G,G);Q.items.push(V4.createPair(G,null,q))}return Q}}B1.tag="tag:yaml.org,2002:set";var F$={collection:"map",identify:(X)=>X instanceof Set,nodeClass:B1,default:!1,tag:"tag:yaml.org,2002:set",createNode:(X,U,q)=>B1.from(X,U,q),resolve(X,U){if(B4.isMap(X))if(X.hasAllNullValues(!0))return Object.assign(new B1,X);else U("Set items must all have null values");else U("Expected a mapping for this tag");return X}};A$.YAMLSet=B1;A$.set=F$});var NX=R((D$)=>{var B$=a1();function KX(X,U){let q=X[0],Z=q==="-"||q==="+"?X.substring(1):X,Q=(Y)=>U?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 j3(X){let{value:U}=X,q=(Y)=>Y;if(typeof U==="bigint")q=(Y)=>BigInt(Y);else if(isNaN(U)||!isFinite(U))return B$.stringifyNumber(X);let Z="";if(U<0)Z="-",U*=q(-1);let Q=q(60),G=[U%Q];if(U<60)G.unshift(0);else if(U=(U-G[0])/Q,G.unshift(U%Q),U>=60)U=(U-G[0])/Q,G.unshift(U);return Z+G.map((Y)=>String(Y).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var T$={identify:(X)=>typeof X==="bigint"||Number.isInteger(X),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(X,U,{intAsBigInt:q})=>KX(X,q),stringify:j3},R$={identify:(X)=>typeof X==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:(X)=>KX(X,!1),stringify:j3},f3={identify:(X)=>X 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(X){let U=X.match(f3.test);if(!U)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,q,Z,Q,G,Y,J]=U.map(Number),H=U[7]?Number((U[7]+"00").substr(1,3)):0,W=Date.UTC(q,Z-1,Q,G||0,Y||0,J||0,H),$=U[8];if($&&$!=="Z"){let _=KX($,!1);if(Math.abs(_)<30)_*=60;W-=60000*_}return new Date(W)},stringify:({value:X})=>X?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};D$.floatTime=R$;D$.intTime=T$;D$.timestamp=f3});var g3=R((g$)=>{var I$=o1(),K$=_4(),N$=r1(),C$=s2(),S$=TX(),y3=C3(),CX=S3(),T4=b3(),E$=q4(),b$=MX(),j$=F4(),f$=IX(),SX=NX(),y$=[I$.map,N$.seq,C$.string,K$.nullTag,y3.trueTag,y3.falseTag,T4.intBin,T4.intOct,T4.int,T4.intHex,CX.floatNaN,CX.floatExp,CX.float,S$.binary,E$.merge,b$.omap,j$.pairs,f$.set,SX.intTime,SX.floatTime,SX.timestamp];g$.schema=y$});var c3=R((d$)=>{var h3=o1(),v$=_4(),u3=r1(),x$=s2(),h$=$X(),EX=zX(),bX=AX(),u$=O3(),m$=T3(),m3=TX(),n2=q4(),p3=MX(),l3=F4(),k3=g3(),d3=IX(),R4=NX(),v3=new Map([["core",u$.schema],["failsafe",[h3.map,u3.seq,x$.string]],["json",m$.schema],["yaml11",k3.schema],["yaml-1.1",k3.schema]]),x3={binary:m3.binary,bool:h$.boolTag,float:EX.float,floatExp:EX.floatExp,floatNaN:EX.floatNaN,floatTime:R4.floatTime,int:bX.int,intHex:bX.intHex,intOct:bX.intOct,intTime:R4.intTime,map:h3.map,merge:n2.merge,null:v$.nullTag,omap:p3.omap,pairs:l3.pairs,seq:u3.seq,set:d3.set,timestamp:R4.timestamp},p$={"tag:yaml.org,2002:binary":m3.binary,"tag:yaml.org,2002:merge":n2.merge,"tag:yaml.org,2002:omap":p3.omap,"tag:yaml.org,2002:pairs":l3.pairs,"tag:yaml.org,2002:set":d3.set,"tag:yaml.org,2002:timestamp":R4.timestamp};function l$(X,U,q){let Z=v3.get(U);if(Z&&!X)return q&&!Z.includes(n2.merge)?Z.concat(n2.merge):Z.slice();let Q=Z;if(!Q)if(Array.isArray(X))Q=[];else{let G=Array.from(v3.keys()).filter((Y)=>Y!=="yaml11").map((Y)=>JSON.stringify(Y)).join(", ");throw Error(`Unknown schema "${U}"; use one of ${G} or define customTags array`)}if(Array.isArray(X))for(let G of X)Q=Q.concat(G);else if(typeof X==="function")Q=X(Q.slice());if(q)Q=Q.concat(n2.merge);return Q.reduce((G,Y)=>{let J=typeof Y==="string"?x3[Y]:Y;if(!J){let H=JSON.stringify(Y),W=Object.keys(x3).map(($)=>JSON.stringify($)).join(", ");throw Error(`Unknown custom tag ${H}; use one of ${W}`)}if(!G.includes(J))G.push(J);return G},[])}d$.coreKnownTags=p$;d$.getTags=l$});var yX=R((n$)=>{var jX=k(),s$=o1(),o$=r1(),r$=s2(),D4=c3(),a$=(X,U)=>X.key<U.key?-1:X.key>U.key?1:0;class fX{constructor({compat:X,customTags:U,merge:q,resolveKnownTags:Z,schema:Q,sortMapEntries:G,toStringDefaults:Y}){this.compat=Array.isArray(X)?D4.getTags(X,"compat"):X?D4.getTags(null,X):null,this.name=typeof Q==="string"&&Q||"core",this.knownTags=Z?D4.coreKnownTags:{},this.tags=D4.getTags(U,this.name,q),this.toStringOptions=Y??null,Object.defineProperty(this,jX.MAP,{value:s$.map}),Object.defineProperty(this,jX.SCALAR,{value:r$.string}),Object.defineProperty(this,jX.SEQ,{value:o$.seq}),this.sortMapEntries=typeof G==="function"?G:G===!0?a$:null}clone(){let X=Object.create(fX.prototype,Object.getOwnPropertyDescriptors(this));return X.tags=this.tags.slice(),X}}n$.Schema=fX});var i3=R((UL)=>{var e$=k(),gX=l2(),t2=u2();function XL(X,U){let q=[],Z=U.directives===!0;if(U.directives!==!1&&X.directives){let H=X.directives.toString(X);if(H)q.push(H),Z=!0;else if(X.directives.docStart)Z=!0}if(Z)q.push("---");let Q=gX.createStringifyContext(X,U),{commentString:G}=Q.options;if(X.commentBefore){if(q.length!==1)q.unshift("");let H=G(X.commentBefore);q.unshift(t2.indentComment(H,""))}let Y=!1,J=null;if(X.contents){if(e$.isNode(X.contents)){if(X.contents.spaceBefore&&Z)q.push("");if(X.contents.commentBefore){let $=G(X.contents.commentBefore);q.push(t2.indentComment($,""))}Q.forceBlockIndent=!!X.comment,J=X.contents.comment}let H=J?void 0:()=>Y=!0,W=gX.stringify(X.contents,Q,()=>J=null,H);if(J)W+=t2.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(gX.stringify(X.contents,Q));if(X.directives?.docEnd)if(X.comment){let H=G(X.comment);if(H.includes(`
|
|
55
|
+
`))q.push("..."),q.push(t2.indentComment(H,""));else q.push(`... ${H}`)}else q.push("...");else{let H=X.comment;if(H&&Y)H=H.replace(/^\n+/,"");if(H){if((!Y||J)&&q[q.length-1]!=="")q.push("");q.push(t2.indentComment(G(H),""))}}return q.join(`
|
|
56
56
|
`)+`
|
|
57
|
-
`}
|
|
58
|
-
`;Y=
|
|
57
|
+
`}UL.stringifyDocument=XL});var e2=R((_L)=>{var ZL=x2(),n1=a6(),T0=k(),QL=X1(),GL=n0(),YL=yX(),JL=i3(),kX=s6(),HL=UX(),WL=h2(),vX=XX();class xX{constructor(X,U,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 U==="function"||Array.isArray(U))Z=U;else if(q===void 0&&U)q=U,U=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 vX.Directives({version:G});this.setSchema(G,q),this.contents=X===void 0?null:this.createNode(X,Z,q)}clone(){let X=Object.create(xX.prototype,{[T0.NODE_TYPE]:{value:T0.DOC}});if(X.commentBefore=this.commentBefore,X.comment=this.comment,X.errors=this.errors.slice(),X.warnings=this.warnings.slice(),X.options=Object.assign({},this.options),this.directives)X.directives=this.directives.clone();if(X.schema=this.schema.clone(),X.contents=T0.isNode(this.contents)?this.contents.clone(X.schema):this.contents,this.range)X.range=this.range.slice();return X}add(X){if(t1(this.contents))this.contents.add(X)}addIn(X,U){if(t1(this.contents))this.contents.addIn(X,U)}createAlias(X,U){if(!X.anchor){let q=kX.anchorNames(this);X.anchor=!U||q.has(U)?kX.findNewAnchor(U||"a",q):U}return new ZL.Alias(X.anchor)}createNode(X,U,q){let Z=void 0;if(typeof U==="function")X=U.call({"":X},"",X),Z=U;else if(Array.isArray(U)){let z=(D)=>typeof D==="number"||D instanceof String||D instanceof Number,O=U.filter(z).map(String);if(O.length>0)U=U.concat(O);Z=U}else if(q===void 0&&U)q=U,U=void 0;let{aliasDuplicateObjects:Q,anchorPrefix:G,flow:Y,keepUndefined:J,onTagObj:H,tag:W}=q??{},{onAnchor:$,setAnchors:_,sourceObjects:L}=kX.createNodeAnchors(this,G||"a"),A={aliasDuplicateObjects:Q??!0,keepUndefined:J??!1,onAnchor:$,onTagObj:H,replacer:Z,schema:this.schema,sourceObjects:L},T=WL.createNode(X,W,A);if(Y&&T0.isCollection(T))T.flow=!0;return _(),T}createPair(X,U,q={}){let Z=this.createNode(X,null,q),Q=this.createNode(U,null,q);return new QL.Pair(Z,Q)}delete(X){return t1(this.contents)?this.contents.delete(X):!1}deleteIn(X){if(n1.isEmptyPath(X)){if(this.contents==null)return!1;return this.contents=null,!0}return t1(this.contents)?this.contents.deleteIn(X):!1}get(X,U){return T0.isCollection(this.contents)?this.contents.get(X,U):void 0}getIn(X,U){if(n1.isEmptyPath(X))return!U&&T0.isScalar(this.contents)?this.contents.value:this.contents;return T0.isCollection(this.contents)?this.contents.getIn(X,U):void 0}has(X){return T0.isCollection(this.contents)?this.contents.has(X):!1}hasIn(X){if(n1.isEmptyPath(X))return this.contents!==void 0;return T0.isCollection(this.contents)?this.contents.hasIn(X):!1}set(X,U){if(this.contents==null)this.contents=n1.collectionFromPath(this.schema,[X],U);else if(t1(this.contents))this.contents.set(X,U)}setIn(X,U){if(n1.isEmptyPath(X))this.contents=U;else if(this.contents==null)this.contents=n1.collectionFromPath(this.schema,Array.from(X),U);else if(t1(this.contents))this.contents.setIn(X,U)}setSchema(X,U={}){if(typeof X==="number")X=String(X);let q;switch(X){case"1.1":if(this.directives)this.directives.yaml.version="1.1";else this.directives=new vX.Directives({version:"1.1"});q={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":if(this.directives)this.directives.yaml.version=X;else this.directives=new vX.Directives({version:X});q={resolveKnownTags:!0,schema:"core"};break;case null:if(this.directives)delete this.directives;q=null;break;default:{let Z=JSON.stringify(X);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${Z}`)}}if(U.schema instanceof Object)this.schema=U.schema;else if(q)this.schema=new YL.Schema(Object.assign(q,U));else throw Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:X,jsonArg:U,mapAsMap:q,maxAliasCount:Z,onAnchor:Q,reviver:G}={}){let Y={anchors:new Map,doc:this,keep:!X,mapAsMap:q===!0,mapKeyWarned:!1,maxAliasCount:typeof Z==="number"?Z:100},J=GL.toJS(this.contents,U??"",Y);if(typeof Q==="function")for(let{count:H,res:W}of Y.anchors.values())Q(W,H);return typeof G==="function"?HL.applyReviver(G,{"":J},"",J):J}toJSON(X,U){return this.toJS({json:!0,jsonArg:X,mapAsMap:!1,onAnchor:U})}toString(X={}){if(this.errors.length>0)throw Error("Document with errors cannot be stringified");if("indent"in X&&(!Number.isInteger(X.indent)||Number(X.indent)<=0)){let U=JSON.stringify(X.indent);throw Error(`"indent" option must be a positive integer, not ${U}`)}return JL.stringifyDocument(this,X)}}function t1(X){if(T0.isCollection(X))return!0;throw Error("Expected a YAML collection as document contents")}_L.Document=xX});var X6=R((zL)=>{class M4 extends Error{constructor(X,U,q,Z){super();this.name=X,this.code=q,this.message=Z,this.pos=U}}class s3 extends M4{constructor(X,U,q){super("YAMLParseError",X,U,q)}}class o3 extends M4{constructor(X,U,q){super("YAMLWarning",X,U,q)}}var LL=(X,U)=>(q)=>{if(q.pos[0]===-1)return;q.linePos=q.pos.map((J)=>U.linePos(J));let{line:Z,col:Q}=q.linePos[0];q.message+=` at line ${Z}, column ${Q}`;let G=Q-1,Y=X.substring(U.lineStarts[Z-1],U.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=X.substring(U.lineStarts[Z-2],U.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(X.end){for(let U of X.end)if(U.type==="newline")return!0}return!1;case"flow-collection":for(let U of X.items){for(let q of U.start)if(q.type==="newline")return!0;if(U.sep){for(let q of U.sep)if(q.type==="newline")return!0}if(
|
|
64
|
-
`+z.comment;else
|
|
65
|
-
`+K.comment;else P.comment=K.comment;let C=new
|
|
66
|
-
`+j.comment;else W.comment=j.comment;_=j.end;continue}if(!Y&&q.options.strict&&
|
|
67
|
-
`+m;else w.comment=m;j.comment=j.comment.substring(m.length+1)}}}if(!Y&&!C&&!j.found){let m=N?X(q,N,j,Q):U(q,j.end,C,null,j,Q);if(W.items.push(m),_=m.range[2],
|
|
68
|
-
`+s.comment;else w.comment=s.comment;let M1=new
|
|
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(U.source)O+=U.source.length;return{value:z,type:G,comment:Q.comment,range:[Z,O,O]}}let
|
|
71
|
-
`;for(let z=$;z<
|
|
72
|
-
`;else if(O.length>
|
|
62
|
+
`}};zL.YAMLError=M4;zL.YAMLParseError=s3;zL.YAMLWarning=o3;zL.prettifyError=LL});var U6=R((TL)=>{function BL(X,{flow:U,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,P=null,K=null,C=null,N=null;for(let w of X){if(T){if(w.type!=="space"&&w.type!=="newline"&&w.type!=="comma")G(w.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");T=!1}if(z){if(W&&w.type!=="comment"&&w.type!=="newline")G(z,"TAB_AS_INDENT","Tabs are not allowed as indentation");z=null}switch(w.type){case"space":if(!U&&(q!=="doc-start"||Z?.type!=="flow-collection")&&w.source.includes("\t"))z=w;$=!0;break;case"comment":{if(!$)G(w,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let s=w.source.substring(1)||" ";if(!_)_=s;else _+=L+s;L="",W=!1;break}case"newline":if(W){if(_)_+=w.source;else if(!C||q!=="seq-item-ind")H=!0}else L+=w.source;if(W=!0,A=!0,O||D)P=w;$=!0;break;case"anchor":if(O)G(w,"MULTIPLE_ANCHORS","A node can have at most one anchor");if(w.source.endsWith(":"))G(w.offset+w.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0);O=w,N??(N=w.offset),W=!1,$=!1,T=!0;break;case"tag":{if(D)G(w,"MULTIPLE_TAGS","A node can have at most one tag");D=w,N??(N=w.offset),W=!1,$=!1,T=!0;break}case q:if(O||D)G(w,"BAD_PROP_ORDER",`Anchors and tags must be after the ${w.source} indicator`);if(C)G(w,"UNEXPECTED_TOKEN",`Unexpected ${w.source} in ${U??"collection"}`);C=w,W=q==="seq-item-ind"||q==="explicit-key-ind",$=!1;break;case"comma":if(U){if(K)G(w,"UNEXPECTED_TOKEN",`Unexpected , in ${U}`);K=w,W=!1,$=!1;break}default:G(w,"UNEXPECTED_TOKEN",`Unexpected ${w.type} token`),W=!1,$=!1}}let j=X[X.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:P,end:m,start:N??m}}TL.resolveProps=BL});var w4=R((DL)=>{function hX(X){if(!X)return null;switch(X.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(X.source.includes(`
|
|
63
|
+
`))return!0;if(X.end){for(let U of X.end)if(U.type==="newline")return!0}return!1;case"flow-collection":for(let U of X.items){for(let q of U.start)if(q.type==="newline")return!0;if(U.sep){for(let q of U.sep)if(q.type==="newline")return!0}if(hX(U.key)||hX(U.value))return!0}return!1;default:return!0}}DL.containsNewline=hX});var uX=R((IL)=>{var wL=w4();function PL(X,U,q){if(U?.type==="flow-collection"){let Z=U.end[0];if(Z.indent===X&&(Z.source==="]"||Z.source==="}")&&wL.containsNewline(U))q(Z,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}IL.flowIndentCheck=PL});var mX=R((CL)=>{var r3=k();function NL(X,U,q){let{uniqueKeys:Z}=X.options;if(Z===!1)return!1;let Q=typeof Z==="function"?Z:(G,Y)=>G===Y||r3.isScalar(G)&&r3.isScalar(Y)&&G.value===Y.value;return U.some((G)=>Q(G.key,q))}CL.mapIncludes=NL});var XQ=R((yL)=>{var a3=X1(),EL=q1(),n3=U6(),bL=w4(),t3=uX(),jL=mX(),e3="All mapping items must start at the same column";function fL({composeNode:X,composeEmptyNode:U},q,Z,Q,G){let J=new(G?.nodeClass??EL.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=n3.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",e3)}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||bL.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",e3);q.atKey=!0;let D=z.end,P=L?X(q,L,z,Q):U(q,D,_,null,z,Q);if(q.schema.compat)t3.flowIndentCheck(Z.indent,L,Q);if(q.atKey=!1,jL.mapIncludes(q,J.items,P))Q(D,"DUPLICATE_KEY","Map keys must be unique");let K=n3.resolveProps(A??[],{indicator:"map-value-ind",next:T,offset:P.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(P.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key")}let C=T?X(q,T,K,Q):U(q,H,A,null,K,Q);if(q.schema.compat)t3.flowIndentCheck(Z.indent,T,Q);H=C.range[2];let N=new a3.Pair(P,C);if(q.options.keepSourceTokens)N.srcToken=$;J.items.push(N)}else{if(O)Q(P.range,"MISSING_CHAR","Implicit map keys need to be followed by map values");if(K.comment)if(P.comment)P.comment+=`
|
|
65
|
+
`+K.comment;else P.comment=K.comment;let C=new a3.Pair(P);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}yL.resolveBlockMap=fL});var UQ=R((uL)=>{var kL=Z1(),vL=U6(),xL=uX();function hL({composeNode:X,composeEmptyNode:U},q,Z,Q,G){let J=new(G?.nodeClass??kL.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=vL.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=_?X(q,_,L,Q):U(q,L.end,$,null,L,Q);if(q.schema.compat)xL.flowIndentCheck(Z.indent,_,Q);H=A.range[2],J.items.push(A)}return J.range=[Z.offset,H,W??H],J}uL.resolveBlockSeq=hL});var e1=R((lL)=>{function pL(X,U,q,Z){let Q="";if(X){let G=!1,Y="";for(let J of X){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`)}U+=H.length}}return{comment:Q,offset:U}}lL.resolveEnd=pL});var QQ=R((tL)=>{var cL=k(),iL=X1(),qQ=q1(),sL=Z1(),oL=e1(),ZQ=U6(),rL=w4(),aL=mX(),pX="Block collections are not allowed within flow collections",lX=(X)=>X&&(X.type==="block-map"||X.type==="block-seq");function nL({composeNode:X,composeEmptyNode:U},q,Z,Q,G){let Y=Z.start.source==="{",J=Y?"flow map":"flow sequence",W=new(G?.nodeClass??(Y?qQ.YAMLMap:sL.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:P,key:K,sep:C,value:N}=D,j=ZQ.resolveProps(P,{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&&rL.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="";X:for(let w of P)switch(w.type){case"comma":case"space":break;case"comment":m=w.source.substring(1);break X;default:break X}if(m){let w=W.items[W.items.length-1];if(cL.isPair(w))w=w.value??w.key;if(w.comment)w.comment+=`
|
|
67
|
+
`+m;else w.comment=m;j.comment=j.comment.substring(m.length+1)}}}if(!Y&&!C&&!j.found){let m=N?X(q,N,j,Q):U(q,j.end,C,null,j,Q);if(W.items.push(m),_=m.range[2],lX(N))Q(m.range,"BLOCK_IN_FLOW",pX)}else{q.atKey=!0;let m=j.end,w=K?X(q,K,j,Q):U(q,m,P,null,j,Q);if(lX(K))Q(w.range,"BLOCK_IN_FLOW",pX);q.atKey=!1;let s=ZQ.resolveProps(C??[],{flow:J,indicator:"map-value-ind",next:N,offset:w.range[2],onError:Q,parentIndent:Z.indent,startOnNewline:!1});if(s.found){if(!Y&&!j.found&&q.options.strict){if(C)for(let o of C){if(o===s.found)break;if(o.type==="newline"){Q(o,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}if(j.start<s.found.offset-1024)Q(s.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else if(N)if("source"in N&&N.source?.[0]===":")Q(N,"MISSING_CHAR",`Missing space after : in ${J}`);else Q(s.start,"MISSING_CHAR",`Missing , or : between ${J} items`);let p0=N?X(q,N,s,Q):s.found?U(q,s.end,C,null,s,Q):null;if(p0){if(lX(N))Q(p0.range,"BLOCK_IN_FLOW",pX)}else if(s.comment)if(w.comment)w.comment+=`
|
|
68
|
+
`+s.comment;else w.comment=s.comment;let M1=new iL.Pair(w,p0);if(q.options.keepSourceTokens)M1.srcToken=D;if(Y){let o=W;if(aL.mapIncludes(q,o.items,w))Q(m,"DUPLICATE_KEY","Map keys must be unique");o.items.push(M1)}else{let o=new qQ.YAMLMap(q.schema);o.flow=!0,o.items.push(M1);let _U=(p0??w).range;o.range=[w.range[0],_U[1],_U[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=oL.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}tL.resolveFlowCollection=nL});var GQ=R((Hz)=>{var Xz=k(),Uz=i(),qz=q1(),Zz=Z1(),Qz=XQ(),Gz=UQ(),Yz=QQ();function dX(X,U,q,Z,Q,G){let Y=q.type==="block-map"?Qz.resolveBlockMap(X,U,q,Z,G):q.type==="block-seq"?Gz.resolveBlockSeq(X,U,q,Z,G):Yz.resolveFlowCollection(X,U,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 Jz(X,U,q,Z,Q){let G=Z.tag,Y=!G?null:U.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===qz.YAMLMap.tagName&&J==="map"||Y===Zz.YAMLSeq.tagName&&J==="seq")return dX(X,U,q,Q,Y);let H=U.schema.tags.find((L)=>L.tag===Y&&L.collection===J);if(!H){let L=U.schema.knownTags[Y];if(L?.collection===J)U.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 dX(X,U,q,Q,Y)}}let W=dX(X,U,q,Q,Y,H),$=H.resolve?.(W,(L)=>Q(G,"TAG_RESOLVE_FAILED",L),U.options)??W,_=Xz.isNode($)?$:new Uz.Scalar($);if(_.range=W.range,_.tag=Y,H?.format)_.format=H.format;return _}Hz.composeCollection=Jz});var iX=R((zz)=>{var cX=i();function _z(X,U,q){let Z=U.offset,Q=$z(U,X.options.strict,q);if(!Q)return{value:"",type:null,comment:"",range:[Z,Z,Z]};let G=Q.mode===">"?cX.Scalar.BLOCK_FOLDED:cX.Scalar.BLOCK_LITERAL,Y=U.source?Lz(U.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(U.source)O+=U.source.length;return{value:z,type:G,comment:Q.comment,range:[Z,O,O]}}let H=U.indent+Q.indent,W=U.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&&!X.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 P=D[D.length-1]==="\r";if(P)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-(P?2:1),"BAD_INDENT",C),O=""}if(G===cX.Scalar.BLOCK_LITERAL)_+=L+O.slice(H)+D,L=`
|
|
72
|
+
`;else if(O.length>H||D[0]==="\t"){if(L===" ")L=`
|
|
73
73
|
`;else if(!A&&L===`
|
|
74
74
|
`)L=`
|
|
75
75
|
|
|
76
|
-
`;_+=L+O.slice(
|
|
76
|
+
`;_+=L+O.slice(H)+D,L=`
|
|
77
77
|
`,A=!0}else if(D==="")if(L===`
|
|
78
78
|
`)_+=`
|
|
79
79
|
`;else L=`
|
|
80
|
-
`;else _+=L+D,L=" ",A=!1}switch(Q.chomp){case"-":break;case"+":for(let z=
|
|
81
|
-
`+Y[z][0].slice(
|
|
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
82
|
`)_+=`
|
|
83
83
|
`;break;default:_+=`
|
|
84
|
-
`}let T=Z+Q.length+U.source.length;return{value:_,type:G,comment:Q.comment,range:[Z,T,T]}}function
|
|
84
|
+
`}let T=Z+Q.length+U.source.length;return{value:_,type:G,comment:Q.comment,range:[Z,T,T]}}function $z({offset:X,props:U},q,Z){if(U[0].type!=="block-scalar-header")return Z(U[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:Q}=U[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=X+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<U.length;++L){let A=U[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 Lz(X){let U=X.split(/\n( *)/),q=U[0],Z=q.match(/^( *)/),G=[Z?.[1]?[Z[1],q.slice(Z[1].length)]:["",q]];for(let Y=1;Y<U.length;Y+=2)G.push([U[Y],U[Y+1]]);return G}zz.resolveBlockScalar=_z});var oX=R((wz)=>{var sX=i(),Az=e1();function Vz(X,U,q){let{offset:Z,type:Q,source:G,end:Y}=X,J,H,W=(L,A,T)=>q(Z+L,A,T);switch(Q){case"scalar":J=sX.Scalar.PLAIN,H=Oz(G,W);break;case"single-quoted-scalar":J=sX.Scalar.QUOTE_SINGLE,H=Bz(G,W);break;case"double-quoted-scalar":J=sX.Scalar.QUOTE_DOUBLE,H=Tz(G,W);break;default:return q(X,"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,_=Az.resolveEnd(Y,$,U,q);return{value:H,type:J,comment:_.comment,range:[Z,$,_.offset]}}function Oz(X,U){let q="";switch(X[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 ${X[0]}`;break}case"@":case"`":{q=`reserved character ${X[0]}`;break}}if(q)U(0,"BAD_SCALAR_START",`Plain value cannot start with ${q}`);return YQ(X)}function Bz(X,U){if(X[X.length-1]!=="'"||X.length===1)U(X.length,"MISSING_CHAR","Missing closing 'quote");return YQ(X.slice(1,-1)).replace(/''/g,"'")}function YQ(X){let U,q;try{U=new RegExp(`(.*?)(?<![ ])[ ]*\r?
|
|
85
85
|
`,"sy"),q=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
|
|
86
86
|
`,"sy")}catch{U=/(.*?)[ \t]*\r?\n/sy,q=/[ \t]*(.*?)[ \t]*\r?\n/sy}let Z=U.exec(X);if(!Z)return X;let Q=Z[1],G=" ",Y=U.lastIndex;q.lastIndex=Y;while(Z=q.exec(X)){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(X),Q+G+(Z?.[1]??"")}function Tz(X,U){let q="";for(let Z=1;Z<X.length-1;++Z){let Q=X[Z];if(Q==="\r"&&X[Z+1]===`
|
|
89
89
|
`)continue;if(Q===`
|
|
90
|
-
`){let{fold:G,offset:Y}=
|
|
90
|
+
`){let{fold:G,offset:Y}=Rz(X,Z);q+=G,Z=Y}else if(Q==="\\"){let G=X[++Z],Y=Dz[G];if(Y)q+=Y;else if(G===`
|
|
91
91
|
`){G=X[Z+1];while(G===" "||G==="\t")G=X[++Z+1]}else if(G==="\r"&&X[Z+1]===`
|
|
92
|
-
`){G=X[++Z+1];while(G===" "||G==="\t")G=X[++Z+1]}else if(G==="x"||G==="u"||G==="U"){let
|
|
92
|
+
`){G=X[++Z+1];while(G===" "||G==="\t")G=X[++Z+1]}else if(G==="x"||G==="u"||G==="U"){let J={x:2,u:4,U:8}[G];q+=Mz(X,Z+1,J,U),Z+=J}else{let J=X.substr(Z-1,2);U(Z-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${J}`),q+=J}}else if(Q===" "||Q==="\t"){let G=Z,Y=X[Z+1];while(Y===" "||Y==="\t")Y=X[++Z+1];if(Y!==`
|
|
93
93
|
`&&!(Y==="\r"&&X[Z+2]===`
|
|
94
|
-
`))q+=Z>G?X.slice(G,Z+1):Q}else q+=Q}if(X[X.length-1]!=='"'||X.length===1)U(X.length,"MISSING_CHAR",'Missing closing "quote');return q}function
|
|
94
|
+
`))q+=Z>G?X.slice(G,Z+1):Q}else q+=Q}if(X[X.length-1]!=='"'||X.length===1)U(X.length,"MISSING_CHAR",'Missing closing "quote');return q}function Rz(X,U){let q="",Z=X[U+1];while(Z===" "||Z==="\t"||Z===`
|
|
95
95
|
`||Z==="\r"){if(Z==="\r"&&X[U+2]!==`
|
|
96
96
|
`)break;if(Z===`
|
|
97
97
|
`)q+=`
|
|
98
|
-
`;U+=1,Z=X[U+1]}if(!q)q=" ";return{fold:q,offset:U}}var
|
|
99
|
-
`,r:"\r",t:"\t",v:"\v",N:"
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function
|
|
98
|
+
`;U+=1,Z=X[U+1]}if(!q)q=" ";return{fold:q,offset:U}}var Dz={"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 Mz(X,U,q,Z){let Q=X.substr(U,q),Y=Q.length===q&&/^[0-9a-fA-F]+$/.test(Q)?parseInt(Q,16):NaN;if(isNaN(Y)){let J=X.substr(U-2,q+2);return Z(U-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${J}`),J}return String.fromCodePoint(Y)}wz.resolveFlowScalar=Vz});var HQ=R((Ez)=>{var T1=k(),JQ=i(),Iz=iX(),Kz=oX();function Nz(X,U,q,Z){let{value:Q,type:G,comment:Y,range:J}=U.type==="block-scalar"?Iz.resolveBlockScalar(X,U,Z):Kz.resolveFlowScalar(U,X.options.strict,Z),H=q?X.directives.tagName(q.source,(_)=>Z(q,"TAG_RESOLVE_FAILED",_)):null,W;if(X.options.stringKeys&&X.atKey)W=X.schema[T1.SCALAR];else if(H)W=Cz(X.schema,Q,H,q,Z);else if(U.type==="scalar")W=Sz(X,Q,U,Z);else W=X.schema[T1.SCALAR];let $;try{let _=W.resolve(Q,(L)=>Z(q??U,"TAG_RESOLVE_FAILED",L),X.options);$=T1.isScalar(_)?_:new JQ.Scalar(_)}catch(_){let L=_ instanceof Error?_.message:String(_);Z(q??U,"TAG_RESOLVE_FAILED",L),$=new JQ.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 Cz(X,U,q,Z,Q){if(q==="!")return X[T1.SCALAR];let G=[];for(let J of X.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(U))return J;let Y=X.knownTags[q];if(Y&&!Y.collection)return X.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"),X[T1.SCALAR]}function Sz({atKey:X,directives:U,schema:q},Z,Q,G){let Y=q.tags.find((J)=>(J.default===!0||X&&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=U.tagString(Y.tag),W=U.tagString(J.tag),$=`Value may be parsed as either ${H} or ${W}`;G(Q,"TAG_RESOLVE_FAILED",$,!0)}}return Y}Ez.composeScalar=Nz});var WQ=R((fz)=>{function jz(X,U,q){if(U){q??(q=U.length);for(let Z=q-1;Z>=0;--Z){let Q=U[Z];switch(Q.type){case"space":case"comment":case"newline":X-=Q.source.length;continue}Q=U[++Z];while(Q?.type==="space")X+=Q.source.length,Q=U[++Z];break}}return X}fz.emptyScalarPosition=jz});var LQ=R((pz)=>{var gz=x2(),kz=k(),vz=GQ(),_Q=HQ(),xz=e1(),hz=WQ(),uz={composeNode:$Q,composeEmptyNode:rX};function $Q(X,U,q,Z){let Q=X.atKey,{spaceBefore:G,comment:Y,anchor:J,tag:H}=q,W,$=!0;switch(U.type){case"alias":if(W=mz(X,U,Z),J||H)Z(U,"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=_Q.composeScalar(X,U,H,Z),J)W.anchor=J.source.substring(1);break;case"block-map":case"block-seq":case"flow-collection":if(W=vz.composeCollection(uz,X,U,q,Z),J)W.anchor=J.source.substring(1);break;default:{let _=U.type==="error"?U.message:`Unsupported token (type: ${U.type})`;Z(U,"UNEXPECTED_TOKEN",_),W=rX(X,U.offset,void 0,null,q,Z),$=!1}}if(J&&W.anchor==="")Z(J,"BAD_ALIAS","Anchor cannot be an empty string");if(Q&&X.options.stringKeys&&(!kz.isScalar(W)||typeof W.value!=="string"||W.tag&&W.tag!=="tag:yaml.org,2002:str"))Z(H??U,"NON_STRING_KEY","With stringKeys, all keys must be strings");if(G)W.spaceBefore=!0;if(Y)if(U.type==="scalar"&&U.source==="")W.comment=Y;else W.commentBefore=Y;if(X.options.keepSourceTokens&&$)W.srcToken=U;return W}function rX(X,U,q,Z,{spaceBefore:Q,comment:G,anchor:Y,tag:J,end:H},W){let $={type:"scalar",offset:hz.emptyScalarPosition(U,q,Z),indent:-1,source:""},_=_Q.composeScalar(X,$,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 mz({options:X},{offset:U,source:q,end:Z},Q){let G=new gz.Alias(q.substring(1));if(G.source==="")Q(U,"BAD_ALIAS","Alias cannot be an empty string");if(G.source.endsWith(":"))Q(U+q.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let Y=U+q.length,J=xz.resolveEnd(Z,Y,X.strict,Q);if(G.range=[U,Y,J.offset],J.comment)G.comment=J.comment;return G}pz.composeEmptyNode=rX;pz.composeNode=$Q});var FQ=R((rz)=>{var cz=e2(),zQ=LQ(),iz=e1(),sz=U6();function oz(X,U,{offset:q,start:Z,value:Q,end:G},Y){let J=Object.assign({_directives:U},X),H=new cz.Document(void 0,J),W={atKey:!1,atRoot:!0,directives:H.directives,options:H.options,schema:H.schema},$=sz.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?zQ.composeNode(W,Q,$,Y):zQ.composeEmptyNode(W,$.end,Z,null,$,Y);let _=H.contents.range[2],L=iz.resolveEnd(G,_,!1,Y);if(L.comment)H.comment=L.comment;return H.range=[q,_,L.offset],H}rz.composeDoc=oz});var aX=R((qF)=>{var nz=w1("process"),tz=XX(),ez=e2(),q6=X6(),AQ=k(),XF=FQ(),UF=e1();function Z6(X){if(typeof X==="number")return[X,X+1];if(Array.isArray(X))return X.length===2?X:[X[0],X[1]];let{offset:U,source:q}=X;return[U,U+(typeof q==="string"?q.length:1)]}function VQ(X){let U="",q=!1,Z=!1;for(let Q=0;Q<X.length;++Q){let G=X[Q];switch(G[0]){case"#":U+=(U===""?"":Z?`
|
|
100
100
|
|
|
101
101
|
`:`
|
|
102
|
-
`)+(G.substring(1)||" "),q=!0,Z=!1;break;case"%":if(X[Q+1]?.[0]!=="#")Q+=1;q=!1;break;default:if(!q)Z=!0;q=!1}}return{comment:U,afterEmptyLine:Z}}class
|
|
103
|
-
${q}`:q;else if(Z||X.directives.docStart||!Q)X.commentBefore=q;else if(
|
|
102
|
+
`)+(G.substring(1)||" "),q=!0,Z=!1;break;case"%":if(X[Q+1]?.[0]!=="#")Q+=1;q=!1;break;default:if(!q)Z=!0;q=!1}}return{comment:U,afterEmptyLine:Z}}class OQ{constructor(X={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(U,q,Z,Q)=>{let G=Z6(U);if(Q)this.warnings.push(new q6.YAMLWarning(G,q,Z));else this.errors.push(new q6.YAMLParseError(G,q,Z))},this.directives=new tz.Directives({version:X.version||"1.2"}),this.options=X}decorate(X,U){let{comment:q,afterEmptyLine:Z}=VQ(this.prelude);if(q){let Q=X.contents;if(U)X.comment=X.comment?`${X.comment}
|
|
103
|
+
${q}`:q;else if(Z||X.directives.docStart||!Q)X.commentBefore=q;else if(AQ.isCollection(Q)&&!Q.flow&&Q.items.length>0){let G=Q.items[0];if(AQ.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(U)Array.prototype.push.apply(X.errors,this.errors),Array.prototype.push.apply(X.warnings,this.warnings);else X.errors=this.errors,X.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:
|
|
106
|
-
${U.comment}`:U.comment}this.doc.range[2]=U.offset;break}default:this.errors.push(new q6.YAMLParseError(Z6(X),"UNEXPECTED_TOKEN",`Unsupported token ${X.type}`))}}*end(X=!1,U=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(X){let q=Object.assign({_directives:this.directives},this.options),Z=new
|
|
107
|
-
`}];switch(
|
|
108
|
-
`),$=
|
|
109
|
-
`,L=[{type:"block-scalar-header",offset:G,indent:Z,source:$}];if(!
|
|
110
|
-
`});return{type:"block-scalar",offset:G,indent:Z,props:L,source:_}}case'"':return{type:"double-quoted-scalar",offset:G,indent:Z,source:
|
|
105
|
+
${G}`:q}}if(U)Array.prototype.push.apply(X.errors,this.errors),Array.prototype.push.apply(X.warnings,this.warnings);else X.errors=this.errors,X.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:VQ(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(X,U=!1,q=-1){for(let Z of X)yield*this.next(Z);yield*this.end(U,q)}*next(X){if(nz.env.LOG_STREAM)console.dir(X,{depth:null});switch(X.type){case"directive":this.directives.add(X.source,(U,q,Z)=>{let Q=Z6(X);Q[0]+=U,this.onError(Q,"BAD_DIRECTIVE",q,Z)}),this.prelude.push(X.source),this.atDirectives=!0;break;case"document":{let U=XF.composeDoc(this.options,this.directives,X,this.onError);if(this.atDirectives&&!U.directives.docStart)this.onError(X,"MISSING_CHAR","Missing directives-end/doc-start indicator line");if(this.decorate(U,!1),this.doc)yield this.doc;this.doc=U,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(X.source);break;case"error":{let U=X.source?`${X.message}: ${JSON.stringify(X.source)}`:X.message,q=new q6.YAMLParseError(Z6(X),"UNEXPECTED_TOKEN",U);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 q6.YAMLParseError(Z6(X),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let U=UF.resolveEnd(X.end,X.offset+X.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),U.comment){let q=this.doc.comment;this.doc.comment=q?`${q}
|
|
106
|
+
${U.comment}`:U.comment}this.doc.range[2]=U.offset;break}default:this.errors.push(new q6.YAMLParseError(Z6(X),"UNEXPECTED_TOKEN",`Unsupported token ${X.type}`))}}*end(X=!1,U=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(X){let q=Object.assign({_directives:this.directives},this.options),Z=new ez.Document(void 0,q);if(this.atDirectives)this.onError(U,"MISSING_CHAR","Missing directives-end indicator line");Z.range=[0,U,U],this.decorate(Z,!1),yield Z}}}qF.Composer=OQ});var RQ=R(($F)=>{var QF=iX(),GF=oX(),YF=X6(),BQ=p2();function JF(X,U=!0,q){if(X){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 YF.YAMLParseError([J,J+1],G,Y)};switch(X.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return GF.resolveFlowScalar(X,U,Z);case"block-scalar":return QF.resolveBlockScalar({options:{strict:U}},X,Z)}}return null}function HF(X,U){let{implicitKey:q=!1,indent:Z,inFlow:Q=!1,offset:G=-1,type:Y="PLAIN"}=U,J=BQ.stringifyString({type:Y,value:X},{implicitKey:q,indent:Z>0?" ".repeat(Z):"",inFlow:Q,options:{blockQuote:!0,lineWidth:-1}}),H=U.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(!TQ(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 WF(X,U,q={}){let{afterKey:Z=!1,implicitKey:Q=!1,inFlow:G=!1,type:Y}=q,J="indent"in X?X.indent:null;if(Z&&typeof J==="number")J+=2;if(!Y)switch(X.type){case"single-quoted-scalar":Y="QUOTE_SINGLE";break;case"double-quoted-scalar":Y="QUOTE_DOUBLE";break;case"block-scalar":{let W=X.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=BQ.stringifyString({type:Y,value:U},{implicitKey:Q||J===null,indent:J!==null&&J>0?" ".repeat(J):"",inFlow:G,options:{blockQuote:!0,lineWidth:-1}});switch(H[0]){case"|":case">":_F(X,H);break;case'"':nX(X,H,"double-quoted-scalar");break;case"'":nX(X,H,"single-quoted-scalar");break;default:nX(X,H,"scalar")}}function _F(X,U){let q=U.indexOf(`
|
|
111
111
|
`),Z=U.substring(0,q),Q=U.substring(q+1)+`
|
|
112
|
-
`;if(X.type==="block-scalar"){let G=X.props[0];if(G.type!=="block-scalar-header")throw Error("Invalid block scalar header");G.source=Z,X.source=Q}else{let{offset:G}=X,Y="indent"in X?X.indent:-1,
|
|
113
|
-
`});for(let
|
|
114
|
-
`};delete X.items,Object.assign(X,{type:q,source:U,end:[Q]});break}default:{let Z="indent"in X?X.indent:-1,Q="end"in X&&Array.isArray(X.end)?X.end.filter((G)=>G.type==="space"||G.type==="comment"||G.type==="newline"):[];for(let G of Object.keys(X))if(G!=="type"&&G!=="offset")delete X[G];Object.assign(X,{type:q,indent:Z,source:U,end:Q})}}}
|
|
112
|
+
`;if(X.type==="block-scalar"){let G=X.props[0];if(G.type!=="block-scalar-header")throw Error("Invalid block scalar header");G.source=Z,X.source=Q}else{let{offset:G}=X,Y="indent"in X?X.indent:-1,J=[{type:"block-scalar-header",offset:G,indent:Y,source:Z}];if(!TQ(J,"end"in X?X.end:void 0))J.push({type:"newline",offset:-1,indent:Y,source:`
|
|
113
|
+
`});for(let H of Object.keys(X))if(H!=="type"&&H!=="offset")delete X[H];Object.assign(X,{type:"block-scalar",indent:Y,props:J,source:Q})}}function TQ(X,U){if(U)for(let q of U)switch(q.type){case"space":case"comment":X.push(q);break;case"newline":return X.push(q),!0}return!1}function nX(X,U,q){switch(X.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":X.type=q,X.source=U;break;case"block-scalar":{let Z=X.props.slice(1),Q=U.length;if(X.props[0].type==="block-scalar-header")Q-=X.props[0].source.length;for(let G of Z)G.offset+=Q;delete X.props,Object.assign(X,{type:q,source:U,end:Z});break}case"block-map":case"block-seq":{let Q={type:"newline",offset:X.offset+U.length,indent:X.indent,source:`
|
|
114
|
+
`};delete X.items,Object.assign(X,{type:q,source:U,end:[Q]});break}default:{let Z="indent"in X?X.indent:-1,Q="end"in X&&Array.isArray(X.end)?X.end.filter((G)=>G.type==="space"||G.type==="comment"||G.type==="newline"):[];for(let G of Object.keys(X))if(G!=="type"&&G!=="offset")delete X[G];Object.assign(X,{type:q,indent:Z,source:U,end:Q})}}}$F.createScalarToken=HF;$F.resolveAsScalar=JF;$F.setScalarValue=WF});var DQ=R((VF)=>{var AF=(X)=>("type"in X)?I4(X):P4(X);function I4(X){switch(X.type){case"block-scalar":{let U="";for(let q of X.props)U+=I4(q);return U+X.source}case"block-map":case"block-seq":{let U="";for(let q of X.items)U+=P4(q);return U}case"flow-collection":{let U=X.start.source;for(let q of X.items)U+=P4(q);for(let q of X.end)U+=q.source;return U}case"document":{let U=P4(X);if(X.end)for(let q of X.end)U+=q.source;return U}default:{let U=X.source;if("end"in X&&X.end)for(let q of X.end)U+=q.source;return U}}}function P4({start:X,key:U,sep:q,value:Z}){let Q="";for(let G of X)Q+=G.source;if(U)Q+=I4(U);if(q)for(let G of q)Q+=G.source;if(Z)Q+=I4(Z);return Q}VF.stringify=AF});var PQ=R((TF)=>{var tX=Symbol("break visit"),BF=Symbol("skip children"),MQ=Symbol("remove item");function R1(X,U){if("type"in X&&X.type==="document")X={start:X.start,value:X.value};wQ(Object.freeze([]),X,U)}R1.BREAK=tX;R1.SKIP=BF;R1.REMOVE=MQ;R1.itemAtPath=(X,U)=>{let q=X;for(let[Z,Q]of U){let G=q?.[Z];if(G&&"items"in G)q=G.items[Q];else return}return q};R1.parentCollection=(X,U)=>{let q=R1.itemAtPath(X,U.slice(0,-1)),Z=U[U.length-1][0],Q=q?.[Z];if(Q&&"items"in Q)return Q;throw Error("Parent collection not found")};function wQ(X,U,q){let Z=q(U,X);if(typeof Z==="symbol")return Z;for(let Q of["key","value"]){let G=U[Q];if(G&&"items"in G){for(let Y=0;Y<G.items.length;++Y){let J=wQ(Object.freeze(X.concat([[Q,Y]])),G.items[Y],q);if(typeof J==="number")Y=J-1;else if(J===tX)return tX;else if(J===MQ)G.items.splice(Y,1),Y-=1}if(typeof Z==="function"&&Q==="key")Z=Z(U,X)}}return typeof Z==="function"?Z(U,X):Z}TF.visit=R1});var K4=R((NF)=>{var eX=RQ(),DF=DQ(),MF=PQ(),XU="\uFEFF",UU="\x02",qU="\x18",ZU="\x1F",wF=(X)=>!!X&&("items"in X),PF=(X)=>!!X&&(X.type==="scalar"||X.type==="single-quoted-scalar"||X.type==="double-quoted-scalar"||X.type==="block-scalar");function IF(X){switch(X){case XU:return"<BOM>";case UU:return"<DOC>";case qU:return"<FLOW_END>";case ZU:return"<SCALAR>";default:return JSON.stringify(X)}}function KF(X){switch(X){case XU:return"byte-order-mark";case UU:return"doc-mode";case qU:return"flow-error-end";case ZU: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(X[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(X[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}NF.createScalarToken=eX.createScalarToken;NF.resolveAsScalar=eX.resolveAsScalar;NF.setScalarValue=eX.setScalarValue;NF.stringify=DF.stringify;NF.visit=MF.visit;NF.BOM=XU;NF.DOCUMENT=UU;NF.FLOW_END=qU;NF.SCALAR=ZU;NF.isCollection=wF;NF.isScalar=PF;NF.prettyToken=IF;NF.tokenType=KF});var GU=R((lF)=>{var Q6=K4();function K0(X){switch(X){case void 0:case" ":case`
|
|
117
|
+
`:case"\r":case"\t":return!0;default:return!1}}var IQ=new Set("0123456789ABCDEFabcdef"),mF=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),N4=new Set(",[]{}"),pF=new Set(` ,[]{}
|
|
118
|
+
\r `),QU=(X)=>!X||pF.has(X);class KQ{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(X,U=!1){if(X){if(typeof X!=="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+X:X,this.lineEndPos=null}this.atEnd=!U;let q=this.next??"stream";while(q&&(U||this.hasChars(1)))q=yield*this.parseNext(q)}atLineEnd(){let X=this.pos,U=this.buffer[X];while(U===" "||U==="\t")U=this.buffer[++X];if(!U||U==="#"||U===`
|
|
119
119
|
`)return!0;if(U==="\r")return this.buffer[X+1]===`
|
|
120
120
|
`;return!1}charAt(X){return this.buffer[this.pos+X]}continueScalar(X){let U=this.buffer[X];if(this.indentNext>0){let q=0;while(U===" ")U=this.buffer[++q+X];if(U==="\r"){let Z=this.buffer[q+X+1];if(Z===`
|
|
121
121
|
`||!Z&&!this.atEnd)return X+q+1}return U===`
|
|
122
122
|
`||q>=this.indentNext||!U&&!this.atEnd?X+q:-1}if(U==="-"||U==="."){let q=this.buffer.substr(X,3);if((q==="---"||q==="...")&&K0(this.buffer[X+3]))return-1}return X}getLine(){let X=this.lineEndPos;if(typeof X!=="number"||X!==-1&&X<this.pos)X=this.buffer.indexOf(`
|
|
123
|
-
`,this.pos),this.lineEndPos=X;if(X===-1)return this.atEnd?this.buffer.substring(this.pos):null;if(this.buffer[X-1]==="\r")X-=1;return this.buffer.substring(this.pos,X)}hasChars(X){return this.pos+X<=this.buffer.length}setNext(X){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=X,null}peek(X){return this.buffer.substr(this.pos,X)}*parseNext(X){switch(X){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 X=this.getLine();if(X===null)return this.setNext("stream");if(X[0]===Q6.BOM)yield*this.pushCount(1),X=X.substring(1);if(X[0]==="%"){let U=X.length,q=X.indexOf("#");while(q!==-1){let Q=X[q-1];if(Q===" "||Q==="\t"){U=q-1;break}else q=X.indexOf("#",q+1)}while(!0){let Q=X[U-1];if(Q===" "||Q==="\t")U-=1;else break}let Z=(yield*this.pushCount(U))+(yield*this.pushSpaces(!0));return yield*this.pushCount(X.length-Z),this.pushNewline(),"stream"}if(this.atLineEnd()){let U=yield*this.pushSpaces(!0);return yield*this.pushCount(X.length-U),yield*this.pushNewline(),"stream"}return yield Q6.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let X=this.charAt(0);if(!X&&!this.atEnd)return this.setNext("line-start");if(X==="-"||X==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let U=this.peek(3);if((U==="---"||U==="...")&&K0(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,U==="---"?"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[X,U]=this.peek(2);if(!U&&!this.atEnd)return this.setNext("block-start");if((X==="-"||X==="?"||X===":")&&K0(U)){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 X=this.getLine();if(X===null)return this.setNext("doc");let U=yield*this.pushIndicators();switch(X[U]){case"#":yield*this.pushCount(X.length-U);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(
|
|
123
|
+
`,this.pos),this.lineEndPos=X;if(X===-1)return this.atEnd?this.buffer.substring(this.pos):null;if(this.buffer[X-1]==="\r")X-=1;return this.buffer.substring(this.pos,X)}hasChars(X){return this.pos+X<=this.buffer.length}setNext(X){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=X,null}peek(X){return this.buffer.substr(this.pos,X)}*parseNext(X){switch(X){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 X=this.getLine();if(X===null)return this.setNext("stream");if(X[0]===Q6.BOM)yield*this.pushCount(1),X=X.substring(1);if(X[0]==="%"){let U=X.length,q=X.indexOf("#");while(q!==-1){let Q=X[q-1];if(Q===" "||Q==="\t"){U=q-1;break}else q=X.indexOf("#",q+1)}while(!0){let Q=X[U-1];if(Q===" "||Q==="\t")U-=1;else break}let Z=(yield*this.pushCount(U))+(yield*this.pushSpaces(!0));return yield*this.pushCount(X.length-Z),this.pushNewline(),"stream"}if(this.atLineEnd()){let U=yield*this.pushSpaces(!0);return yield*this.pushCount(X.length-U),yield*this.pushNewline(),"stream"}return yield Q6.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let X=this.charAt(0);if(!X&&!this.atEnd)return this.setNext("line-start");if(X==="-"||X==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let U=this.peek(3);if((U==="---"||U==="...")&&K0(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,U==="---"?"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[X,U]=this.peek(2);if(!U&&!this.atEnd)return this.setNext("block-start");if((X==="-"||X==="?"||X===":")&&K0(U)){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 X=this.getLine();if(X===null)return this.setNext("doc");let U=yield*this.pushIndicators();switch(X[U]){case"#":yield*this.pushCount(X.length-U);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(QU),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return U+=yield*this.parseBlockScalarHeader(),U+=yield*this.pushSpaces(!0),yield*this.pushCount(X.length-U),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let X,U,q=-1;do{if(X=yield*this.pushNewline(),X>0)U=yield*this.pushSpaces(!1),this.indentValue=q=U;else U=0;U+=yield*this.pushSpaces(!0)}while(X+U>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(QU),"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 X=this.charAt(0),U=this.buffer.indexOf(X,this.pos+1);if(X==="'")while(U!==-1&&this.buffer[U+1]==="'")U=this.buffer.indexOf("'",U+2);else while(U!==-1){let Q=0;while(this.buffer[U-1-Q]==="\\")Q+=1;if(Q%2===0)break;U=this.buffer.indexOf('"',U+1)}let q=this.buffer.substring(0,U),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
125
|
`,Q)}if(Z!==-1)U=Z-(q[Z-1]==="\r"?2:1)}if(U===-1){if(!this.atEnd)return this.setNext("quoted-scalar");U=this.buffer.length}return yield*this.pushToIndex(U+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let X=this.pos;while(!0){let U=this.buffer[++X];if(U==="+")this.blockScalarKeep=!0;else if(U>"0"&&U<="9")this.blockScalarIndent=Number(U)-1;else if(U!=="-")break}return yield*this.pushUntil((U)=>K0(U)||U==="#")}*parseBlockScalar(){let X=this.pos-1,U=0,q;X:for(let Q=this.pos;q=this.buffer[Q];++Q)switch(q){case" ":U+=1;break;case`
|
|
126
126
|
`:X=Q,U=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 X}if(!q&&!this.atEnd)return this.setNext("block-scalar");if(U>=this.indentNext){if(this.blockScalarIndent===-1)this.indentNext=U;else this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let Q=this.continueScalar(X+1);if(Q===-1)break;X=this.buffer.indexOf(`
|
|
128
128
|
`,Q)}while(X!==-1);if(X===-1){if(!this.atEnd)return this.setNext("block-scalar");X=this.buffer.length}}let Z=X+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];X=Z-1}else if(!this.blockScalarKeep)do{let Q=X-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+U>Y)X=Q;else break}while(!0);return yield Q6.SCALAR,yield*this.pushToIndex(X+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let X=this.flowLevel>0,U=this.pos-1,q=this.pos-1,Z;while(Z=this.buffer[++q])if(Z===":"){let Q=this.buffer[q+1];if(K0(Q)||X&&
|
|
130
|
+
`&&Q>=this.pos&&Q+1+U>Y)X=Q;else break}while(!0);return yield Q6.SCALAR,yield*this.pushToIndex(X+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let X=this.flowLevel>0,U=this.pos-1,q=this.pos-1,Z;while(Z=this.buffer[++q])if(Z===":"){let Q=this.buffer[q+1];if(K0(Q)||X&&N4.has(Q))break;U=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 U=q;if(Q==="#"||X&&
|
|
133
|
-
`){let G=this.continueScalar(q+1);if(G===-1)break;q=Math.max(q,G-2)}}else{if(X&&
|
|
132
|
+
`,Q=this.buffer[q+1];else U=q;if(Q==="#"||X&&N4.has(Q))break;if(Z===`
|
|
133
|
+
`){let G=this.continueScalar(q+1);if(G===-1)break;q=Math.max(q,G-2)}}else{if(X&&N4.has(Z))break;U=q}if(!Z&&!this.atEnd)return this.setNext("plain-scalar");return yield Q6.SCALAR,yield*this.pushToIndex(U+1,!0),X?"flow":"doc"}*pushCount(X){if(X>0)return yield this.buffer.substr(this.pos,X),this.pos+=X,X;return 0}*pushToIndex(X,U){let q=this.buffer.slice(this.pos,X);if(q)return yield q,this.pos+=q.length,q.length;else if(U)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(QU))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let X=this.flowLevel>0,U=this.charAt(1);if(K0(U)||X&&N4.has(U)){if(!X)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 X=this.pos+2,U=this.buffer[X];while(!K0(U)&&U!==">")U=this.buffer[++X];return yield*this.pushToIndex(U===">"?X+1:X,!1)}else{let X=this.pos+1,U=this.buffer[X];while(U)if(mF.has(U))U=this.buffer[++X];else if(U==="%"&&IQ.has(this.buffer[X+1])&&IQ.has(this.buffer[X+2]))U=this.buffer[X+=3];else break;return yield*this.pushToIndex(X,!1)}}*pushNewline(){let X=this.buffer[this.pos];if(X===`
|
|
134
134
|
`)return yield*this.pushCount(1);else if(X==="\r"&&this.charAt(1)===`
|
|
135
|
-
`)return yield*this.pushCount(2);else return 0}*pushSpaces(X){let U=this.pos-1,q;do q=this.buffer[++U];while(q===" "||X&&q==="\t");let Z=U-this.pos;if(Z>0)yield this.buffer.substr(this.pos,Z),this.pos=U;return Z}*pushUntil(X){let U=this.pos,q=this.buffer[U];while(!X(q))q=this.buffer[++U];return yield*this.pushToIndex(U,!1)}}
|
|
135
|
+
`)return yield*this.pushCount(2);else return 0}*pushSpaces(X){let U=this.pos-1,q;do q=this.buffer[++U];while(q===" "||X&&q==="\t");let Z=U-this.pos;if(Z>0)yield this.buffer.substr(this.pos,Z),this.pos=U;return Z}*pushUntil(X){let U=this.pos,q=this.buffer[U];while(!X(q))q=this.buffer[++U];return yield*this.pushToIndex(U,!1)}}lF.Lexer=KQ});var YU=R((cF)=>{class NQ{constructor(){this.lineStarts=[],this.addNewLine=(X)=>this.lineStarts.push(X),this.linePos=(X)=>{let U=0,q=this.lineStarts.length;while(U<q){let Q=U+q>>1;if(this.lineStarts[Q]<X)U=Q+1;else q=Q}if(this.lineStarts[U]===X)return{line:U+1,col:1};if(U===0)return{line:0,col:X};let Z=this.lineStarts[U-1];return{line:U,col:X-Z+1}}}}cF.LineCounter=NQ});var JU=R((rF)=>{var sF=w1("process"),CQ=K4(),oF=GU();function Q1(X,U){for(let q=0;q<X.length;++q)if(X[q].type===U)return!0;return!1}function SQ(X){for(let U=0;U<X.length;++U)switch(X[U].type){case"space":case"comment":case"newline":break;default:return U}return-1}function bQ(X){switch(X?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function C4(X){switch(X.type){case"document":return X.start;case"block-map":{let U=X.items[X.items.length-1];return U.sep??U.start}case"block-seq":return X.items[X.items.length-1].start;default:return[]}}function X2(X){if(X.length===0)return[];let U=X.length;X:while(--U>=0)switch(X[U].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break X}while(X[++U]?.type==="space");return X.splice(U,X.length)}function EQ(X){if(X.start.type==="flow-seq-start"){for(let U of X.items)if(U.sep&&!U.value&&!Q1(U.start,"explicit-key-ind")&&!Q1(U.sep,"map-value-ind")){if(U.key)U.value=U.key;if(delete U.key,bQ(U.value))if(U.value.end)Array.prototype.push.apply(U.value.end,U.sep);else U.value.end=U.sep;else Array.prototype.push.apply(U.start,U.sep);delete U.sep}}}class jQ{constructor(X){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new oF.Lexer,this.onNewLine=X}*parse(X,U=!1){if(this.onNewLine&&this.offset===0)this.onNewLine(0);for(let q of this.lexer.lex(X,U))yield*this.next(q);if(!U)yield*this.end()}*next(X){if(this.source=X,sF.env.LOG_TOKENS)console.log("|",CQ.prettyToken(X));if(this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=X.length;return}let U=CQ.tokenType(X);if(!U){let q=`Not a YAML token: ${X}`;yield*this.pop({type:"error",offset:this.offset,message:q,source:X}),this.offset+=X.length}else if(U==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=U,yield*this.step(),U){case"newline":if(this.atNewLine=!0,this.indent=0,this.onNewLine)this.onNewLine(this.offset+X.length);break;case"space":if(this.atNewLine&&X[0]===" ")this.indent+=X.length;break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":if(this.atNewLine)this.indent+=X.length;break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=X.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 X=this.peek(1);if(this.type==="doc-end"&&X?.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(!X)return yield*this.stream();switch(X.type){case"document":return yield*this.document(X);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(X);case"block-scalar":return yield*this.blockScalar(X);case"block-map":return yield*this.blockMap(X);case"block-seq":return yield*this.blockSequence(X);case"flow-collection":return yield*this.flowCollection(X);case"doc-end":return yield*this.documentEnd(X)}yield*this.pop()}peek(X){return this.stack[this.stack.length-X]}*pop(X){let U=X??this.stack.pop();if(!U)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield U;else{let q=this.peek(1);if(U.type==="block-scalar")U.indent="indent"in q?q.indent:0;else if(U.type==="flow-collection"&&q.type==="document")U.indent=0;if(U.type==="flow-collection")EQ(U);switch(q.type){case"document":q.value=U;break;case"block-scalar":q.props.push(U);break;case"block-map":{let Z=q.items[q.items.length-1];if(Z.value){q.items.push({start:[],key:U,sep:[]}),this.onKeyLine=!0;return}else if(Z.sep)Z.value=U;else{Object.assign(Z,{key:U,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:U});else Z.value=U;break}case"flow-collection":{let Z=q.items[q.items.length-1];if(!Z||Z.value)q.items.push({start:[],key:U,sep:[]});else if(Z.sep)Z.value=U;else Object.assign(Z,{key:U,sep:[]});return}default:yield*this.pop(),yield*this.pop(U)}if((q.type==="document"||q.type==="block-map"||q.type==="block-seq")&&(U.type==="block-map"||U.type==="block-seq")){let Z=U.items[U.items.length-1];if(Z&&!Z.sep&&!Z.value&&Z.start.length>0&&SQ(Z.start)===-1&&(U.indent===0||Z.start.every((Q)=>Q.type!=="comment"||Q.indent<U.indent))){if(q.type==="document")q.end=Z.start;else q.items.push({start:Z.start});U.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 X={type:"document",offset:this.offset,start:[]};if(this.type==="doc-start")X.start.push(this.sourceToken);this.stack.push(X);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(X){if(X.value)return yield*this.lineEnd(X);switch(this.type){case"doc-start":{if(SQ(X.start)!==-1)yield*this.pop(),yield*this.step();else X.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":X.start.push(this.sourceToken);return}let U=this.startBlockValue(X);if(U)this.stack.push(U);else yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(X){if(this.type==="map-value-ind"){let U=C4(this.peek(2)),q=X2(U),Z;if(X.end)Z=X.end,Z.push(this.sourceToken),delete X.end;else Z=[this.sourceToken];let Q={type:"block-map",offset:X.offset,indent:X.indent,items:[{start:q,key:X,sep:Z}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=Q}else yield*this.lineEnd(X)}*blockScalar(X){switch(this.type){case"space":case"comment":case"newline":X.props.push(this.sourceToken);return;case"scalar":if(X.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let U=this.source.indexOf(`
|
|
136
136
|
`)+1;while(U!==0)this.onNewLine(this.offset+U),U=this.source.indexOf(`
|
|
137
|
-
`,U)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(X){let U=X.items[X.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,U.value){let q="end"in U.value?U.value.end:void 0;if((Array.isArray(q)?q[q.length-1]:void 0)?.type==="comment")q?.push(this.sourceToken);else X.items.push({start:[this.sourceToken]})}else if(U.sep)U.sep.push(this.sourceToken);else U.start.push(this.sourceToken);return;case"space":case"comment":if(U.value)X.items.push({start:[this.sourceToken]});else if(U.sep)U.sep.push(this.sourceToken);else{if(this.atIndentedComment(U.start,X.indent)){let Z=X.items[X.items.length-2]?.value?.end;if(Array.isArray(Z)){Array.prototype.push.apply(Z,U.start),Z.push(this.sourceToken),X.items.pop();return}}U.start.push(this.sourceToken)}return}if(this.indent>=X.indent){let q=!this.onKeyLine&&this.indent===X.indent,Z=q&&(U.sep||U.explicitKey)&&this.type!=="seq-item-ind",Q=[];if(Z&&U.sep&&!U.value){let G=[];for(let Y=0;Y<U.sep.length;++Y){let
|
|
137
|
+
`,U)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(X){let U=X.items[X.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,U.value){let q="end"in U.value?U.value.end:void 0;if((Array.isArray(q)?q[q.length-1]:void 0)?.type==="comment")q?.push(this.sourceToken);else X.items.push({start:[this.sourceToken]})}else if(U.sep)U.sep.push(this.sourceToken);else U.start.push(this.sourceToken);return;case"space":case"comment":if(U.value)X.items.push({start:[this.sourceToken]});else if(U.sep)U.sep.push(this.sourceToken);else{if(this.atIndentedComment(U.start,X.indent)){let Z=X.items[X.items.length-2]?.value?.end;if(Array.isArray(Z)){Array.prototype.push.apply(Z,U.start),Z.push(this.sourceToken),X.items.pop();return}}U.start.push(this.sourceToken)}return}if(this.indent>=X.indent){let q=!this.onKeyLine&&this.indent===X.indent,Z=q&&(U.sep||U.explicitKey)&&this.type!=="seq-item-ind",Q=[];if(Z&&U.sep&&!U.value){let G=[];for(let Y=0;Y<U.sep.length;++Y){let J=U.sep[Y];switch(J.type){case"newline":G.push(Y);break;case"space":break;case"comment":if(J.indent>X.indent)G.length=0;break;default:G.length=0}}if(G.length>=2)Q=U.sep.splice(G[1])}switch(this.type){case"anchor":case"tag":if(Z||U.value)Q.push(this.sourceToken),X.items.push({start:Q}),this.onKeyLine=!0;else if(U.sep)U.sep.push(this.sourceToken);else U.start.push(this.sourceToken);return;case"explicit-key-ind":if(!U.sep&&!U.explicitKey)U.start.push(this.sourceToken),U.explicitKey=!0;else if(Z||U.value)Q.push(this.sourceToken),X.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(U.explicitKey)if(!U.sep)if(Q1(U.start,"newline"))Object.assign(U,{key:null,sep:[this.sourceToken]});else{let G=X2(U.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:G,key:null,sep:[this.sourceToken]}]})}else if(U.value)X.items.push({start:[],key:null,sep:[this.sourceToken]});else if(Q1(U.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(bQ(U.key)&&!Q1(U.sep,"newline")){let G=X2(U.start),Y=U.key,J=U.sep;J.push(this.sourceToken),delete U.key,delete U.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)U.sep=U.sep.concat(Q,this.sourceToken);else U.sep.push(this.sourceToken);else if(!U.sep)Object.assign(U,{key:null,sep:[this.sourceToken]});else if(U.value||Z)X.items.push({start:Q,key:null,sep:[this.sourceToken]});else if(Q1(U.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]});else U.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||U.value)X.items.push({start:Q,key:G,sep:[]}),this.onKeyLine=!0;else if(U.sep)this.stack.push(G);else Object.assign(U,{key:G,sep:[]}),this.onKeyLine=!0;return}default:{let G=this.startBlockValue(X);if(G){if(G.type==="block-seq"){if(!U.explicitKey&&U.sep&&!Q1(U.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)X.items.push({start:Q});this.stack.push(G);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(X){let U=X.items[X.items.length-1];switch(this.type){case"newline":if(U.value){let q="end"in U.value?U.value.end:void 0;if((Array.isArray(q)?q[q.length-1]:void 0)?.type==="comment")q?.push(this.sourceToken);else X.items.push({start:[this.sourceToken]})}else U.start.push(this.sourceToken);return;case"space":case"comment":if(U.value)X.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(U.start,X.indent)){let Z=X.items[X.items.length-2]?.value?.end;if(Array.isArray(Z)){Array.prototype.push.apply(Z,U.start),Z.push(this.sourceToken),X.items.pop();return}}U.start.push(this.sourceToken)}return;case"anchor":case"tag":if(U.value||this.indent<=X.indent)break;U.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==X.indent)break;if(U.value||Q1(U.start,"seq-item-ind"))X.items.push({start:[this.sourceToken]});else U.start.push(this.sourceToken);return}if(this.indent>X.indent){let q=this.startBlockValue(X);if(q){this.stack.push(q);return}}yield*this.pop(),yield*this.step()}*flowCollection(X){let U=X.items[X.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(X.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":if(!U||U.sep)X.items.push({start:[this.sourceToken]});else U.start.push(this.sourceToken);return;case"map-value-ind":if(!U||U.value)X.items.push({start:[],key:null,sep:[this.sourceToken]});else if(U.sep)U.sep.push(this.sourceToken);else Object.assign(U,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":if(!U||U.value)X.items.push({start:[this.sourceToken]});else if(U.sep)U.sep.push(this.sourceToken);else U.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let Z=this.flowScalar(this.type);if(!U||U.value)X.items.push({start:[],key:Z,sep:[]});else if(U.sep)this.stack.push(Z);else Object.assign(U,{key:Z,sep:[]});return}case"flow-map-end":case"flow-seq-end":X.end.push(this.sourceToken);return}let q=this.startBlockValue(X);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===X.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=C4(q),Q=X2(Z);EQ(X);let G=X.end.splice(1,X.end.length);G.push(this.sourceToken);let Y={type:"block-map",offset:X.offset,indent:X.indent,items:[{start:Q,key:X,sep:G}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=Y}else yield*this.lineEnd(X)}}flowScalar(X){if(this.onNewLine){let U=this.source.indexOf(`
|
|
138
138
|
`)+1;while(U!==0)this.onNewLine(this.offset+U),U=this.source.indexOf(`
|
|
139
|
-
`,U)+1}return{type:X,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(X){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 U=N4(X),q=X2(U);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 U=N4(X),q=X2(U);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:q,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(X,U){if(this.type!=="comment")return!1;if(this.indent<=U)return!1;return X.every((q)=>q.type==="newline"||q.type==="space")}*documentEnd(X){if(this.type!=="doc-mode"){if(X.end)X.end.push(this.sourceToken);else X.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd(X){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(X.end)X.end.push(this.sourceToken);else X.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}sF.Parser=EQ});var gQ=R((qA)=>{var bQ=rX(),rF=e2(),G6=X6(),aF=GX(),nF=k(),tF=GU(),jQ=YU();function fQ(X){let U=X.prettyErrors!==!1;return{lineCounter:X.lineCounter||U&&new tF.LineCounter||null,prettyErrors:U}}function eF(X,U={}){let{lineCounter:q,prettyErrors:Z}=fQ(U),Q=new jQ.Parser(q?.addNewLine),G=new bQ.Composer(U),Y=Array.from(G.compose(Q.parse(X)));if(Z&&q)for(let H of Y)H.errors.forEach(G6.prettifyError(X,q)),H.warnings.forEach(G6.prettifyError(X,q));if(Y.length>0)return Y;return Object.assign([],{empty:!0},G.streamInfo())}function yQ(X,U={}){let{lineCounter:q,prettyErrors:Z}=fQ(U),Q=new jQ.Parser(q?.addNewLine),G=new bQ.Composer(U),Y=null;for(let H of G.compose(Q.parse(X),!0,X.length))if(!Y)Y=H;else if(Y.options.logLevel!=="silent"){Y.errors.push(new G6.YAMLParseError(H.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(Z&&q)Y.errors.forEach(G6.prettifyError(X,q)),Y.warnings.forEach(G6.prettifyError(X,q));return Y}function XA(X,U,q){let Z=void 0;if(typeof U==="function")Z=U;else if(q===void 0&&U&&typeof U==="object")q=U;let Q=yQ(X,q);if(!Q)return null;if(Q.warnings.forEach((G)=>aF.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 UA(X,U,q){let Z=null;if(typeof U==="function"||Array.isArray(U))Z=U;else if(q===void 0&&U)q=U;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(X===void 0){let{keepUndefined:Q}=q??U??{};if(!Q)return}if(nF.isDocument(X)&&!Z)return X.toString(q);return new rF.Document(X,Z,q).toString(q)}qA.parse=XA;qA.parseAllDocuments=eF;qA.parseDocument=yQ;qA.stringify=UA});var JU=R((TA)=>{var HA=rX(),JA=e2(),WA=fX(),HU=X6(),_A=x2(),Q1=k(),$A=e0(),LA=i(),zA=U1(),FA=q1(),AA=I4(),VA=QU(),OA=GU(),BA=YU(),C4=gQ(),kQ=k2();TA.Composer=HA.Composer;TA.Document=JA.Document;TA.Schema=WA.Schema;TA.YAMLError=HU.YAMLError;TA.YAMLParseError=HU.YAMLParseError;TA.YAMLWarning=HU.YAMLWarning;TA.Alias=_A.Alias;TA.isAlias=Q1.isAlias;TA.isCollection=Q1.isCollection;TA.isDocument=Q1.isDocument;TA.isMap=Q1.isMap;TA.isNode=Q1.isNode;TA.isPair=Q1.isPair;TA.isScalar=Q1.isScalar;TA.isSeq=Q1.isSeq;TA.Pair=$A.Pair;TA.Scalar=LA.Scalar;TA.YAMLMap=zA.YAMLMap;TA.YAMLSeq=FA.YAMLSeq;TA.CST=AA;TA.Lexer=VA.Lexer;TA.LineCounter=OA.LineCounter;TA.Parser=BA.Parser;TA.parse=C4.parse;TA.parseAllDocuments=C4.parseAllDocuments;TA.parseDocument=C4.parseDocument;TA.stringify=C4.stringify;TA.visit=kQ.visit;TA.visitAsync=kQ.visitAsync});class iQ{queue=[];engine;config;timer=null;isProcessing=!1;constructor(X,U={maxBatchSize:10,flushIntervalMs:100}){this.engine=X,this.config=U}push(X){if(this.queue.push(X),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 X=this.queue.splice(0,this.config.maxBatchSize);if(X.length===0){this.isProcessing=!1;return}console.debug(`[EventQueue] Processing batch of ${X.length} events.`);for(let U of X)try{await this.engine.evaluateContext(U)}catch(q){console.error(`[EventQueue] Error processing event ${U.event}:`,q)}if(this.queue.length>0)setTimeout(()=>this.processQueue(),0);this.isProcessing=!1}getQueueLength(){return this.queue.length}}class sQ{keyPrefix;cache=new Map;isLoaded=!1;constructor(X="trigger_system:"){this.keyPrefix=X}isAvailable(){return typeof window<"u"&&typeof window.localStorage<"u"}ensureLoaded(){if(this.isLoaded)return;if(this.isAvailable())try{let X=window.localStorage.getItem(this.keyPrefix+"state");if(X){let U=JSON.parse(X);this.cache=new Map(Object.entries(U))}}catch(X){console.error("[BrowserPersistence] Failed to load from localStorage:",X)}this.isLoaded=!0}persist(){if(this.isAvailable())try{let X=Object.fromEntries(this.cache);window.localStorage.setItem(this.keyPrefix+"state",JSON.stringify(X))}catch(X){console.error("[BrowserPersistence] Failed to save to localStorage:",X)}}async loadState(){return this.ensureLoaded(),new Map(this.cache)}async saveState(X,U){this.ensureLoaded(),this.cache.set(X,U),this.persist()}async deleteState(X){this.ensureLoaded(),this.cache.delete(X),this.persist()}async clearState(){this.cache.clear(),this.persist()}}class q2{static getNestedValue(X,U){let q=X.split("."),Z=U;for(let Q of q){if(Z===null||Z===void 0)return;Z=Z[Q]}return Z}static interpolate(X,U){if(typeof X!=="string")return X;return X.replace(/\$\{([^}]+)\}/g,(q,Z)=>{let Q=this.getNestedValue(Z,U);if(Q!==void 0)return String(Q);return q})}static compare(X,U,q){switch(U){case"EQ":case"==":return X==q;case"NEQ":case"!=":return X!=q;case"GT":case">":return Number(X)>Number(q);case"GTE":case">=":return Number(X)>=Number(q);case"LT":case"<":return Number(X)<Number(q);case"LTE":case"<=":return Number(X)<=Number(q);case"IN":return Array.isArray(q)&&q.includes(X);case"NOT_IN":return Array.isArray(q)&&!q.includes(X);case"CONTAINS":if(Array.isArray(X)||typeof X==="string")return X.includes(q);return!1;case"MATCHES":return new RegExp(q).test(String(X));case"RANGE":if(Array.isArray(q)&&q.length===2){let Z=Number(X);return Z>=q[0]&&Z<=q[1]}return!1;default:return console.warn(`Unknown operator: ${U}`),!1}}}class G2{_rules=[];actionHandlers=new Map;lastExecution=new Map;_config;constructor(X=[]){if(Array.isArray(X))this._rules=X;else this._config=X,this._rules=[...X.rules];this.sortRules()}sortRules(){this._rules.sort((X,U)=>(U.priority||0)-(X.priority||0))}registerAction(X,U){this.actionHandlers.set(X,U)}async processEvent(X){let U=[],q=this._rules.filter((Z)=>Z.enabled!==!1&&Z.on===X.event);for(let Z of q){if(Z.cooldown&&this.checkCooldown(Z.id,Z.cooldown))continue;if(this.evaluateConditions(Z.if,X)){let Q=await this.executeRuleActions(Z.do,X);if(this.lastExecution.set(Z.id,Date.now()),U.push({ruleId:Z.id,success:!0,executedActions:Q}),!this.shouldEvaluateAll())break}}return U}async processEventSimple(X,U={},q={}){let Z={event:X,data:U,globals:q,timestamp:Date.now(),state:this.getStateContext?this.getStateContext():{}};return this.processEvent(Z)}updateRules(X){this.rules=[...X],this.sortRules()}getRules(){return[...this.rules]}checkCooldown(X,U){let q=this.lastExecution.get(X);if(!q)return!1;return Date.now()-q<U}shouldEvaluateAll(){return this.config?.globalSettings?.evaluateAll??!0}getStateContext(){return{}}evaluateConditions(X,U){if(!X)return!0;if(Array.isArray(X))return X.every((q)=>this.evaluateSingleCondition(q,U));return this.evaluateSingleCondition(X,U)}evaluateSingleCondition(X,U){if("operator"in X&&"conditions"in X){let G=X;if(G.operator==="OR")return G.conditions.some((Y)=>this.evaluateSingleCondition(Y,U));else return G.conditions.every((Y)=>this.evaluateSingleCondition(Y,U))}let q=X,Z=q2.getNestedValue(q.field,U),Q=q.value;if(typeof Q==="string"&&Q.includes("${"))Q=$0.interpolate(Q,U);return q2.compare(Z,q.operator,Q)}async executeRuleActions(X,U){let q=[],Z=[],Q="ALL";if(Array.isArray(X))Z=X;else if("mode"in X&&"actions"in X){let G=X;Q=G.mode,Z=G.actions}else Z=[X];if(Q==="EITHER"&&Z.length>0){let G=Z.reduce((J,W)=>J+(W.probability||1),0),Y=Math.random()*G,H;for(let J of Z){let W=J.probability||1;if(Y-=W,Y<=0){H=J;break}}if(!H&&Z.length>0)H=Z[Z.length-1];if(H)Z=[H];else Z=[]}for(let G of Z){let Y=await this.executeSingleAction(G,U);q.push(Y)}return q}async executeSingleAction(X,U){if(X.probability!==void 0&&Math.random()>X.probability)return{type:X.type,timestamp:Date.now(),result:{skipped:"probability check failed"}};if(X.delay&&X.delay>0)await new Promise((q)=>setTimeout(q,X.delay));try{let q;try{let{ActionRegistry:Q}=await Promise.resolve().then(() => (Q2(),$U));q=Q.getInstance().get(X.type)}catch{q=this.actionHandlers.get(X.type)}let Z;if(q)Z=await q(X.params||{},U);else{let Q=`No handler registered for action type: ${X.type}`;console.warn(Q),Z={warning:Q}}return{type:X.type,result:Z,timestamp:Date.now()}}catch(q){return console.error(`Error executing action ${X.type}:`,q),{type:X.type,error:String(q),timestamp:Date.now()}}}interpolateParams(X,U){let q={};for(let[Z,Q]of Object.entries(X))if(typeof Q==="string")q[Z]=$0.interpolate(Q,U);else if(typeof Q==="object"&&Q!==null)q[Z]=this.interpolateDeep(Q,U);else q[Z]=Q;return q}interpolateDeep(X,U){if(typeof X==="string")return $0.interpolate(X,U);if(Array.isArray(X))return X.map((q)=>this.interpolateDeep(q,U));if(typeof X==="object"&&X!==null){let q={};for(let Z in X)q[Z]=this.interpolateDeep(X[Z],U);return q}return X}get rules(){return[...this._rules]}get config(){return this._config}set rules(X){this._rules=[...X],this.sortRules()}}Q2();Z2();var H6;((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"})(H6||={});var VV=H6;class j4{static instance;handlers=new Map;constructor(){}static getInstance(){if(!this.instance)this.instance=new j4;return this.instance}on(X,U){let q=X;if(!this.handlers.has(q))this.handlers.set(q,new Set);return this.handlers.get(q).add(U),()=>this.off(q,U)}off(X,U){let q=X,Z=this.handlers.get(q);if(Z)Z.delete(U)}emit(X,U){let q=X,Z=this.handlers.get(q);if(Z)Z.forEach((Q)=>{try{Q(U)}catch(G){console.error(`Error in event handler for ${q}:`,G)}})}}var G1=j4.getInstance();class f4 extends G2{actionRegistry;stateManager;constructor(X){super(X);this.actionRegistry=P1.getInstance(),this.stateManager=R0.getInstance()}async processEvent(X){let U=[];if(X.state=this.stateManager.getAll(),G1.emit("engine:start",{context:X,rulesCount:this.rules.length}),this.config?.globalSettings?.debugMode)console.log(`[RuleEngine] Evaluating context with ${this.rules.length} rules for event: ${X.event}`);let q=this.rules.filter((Z)=>Z.enabled!==!1&&Z.on===X.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,X)){if(this.config?.globalSettings?.debugMode)console.log(`[RuleEngine] Executing rule: ${Z.name||Z.id}`);G1.emit("rule:match",{rule:Z,context:X});let G=await this.executeRuleActionsWithRegistry(Z.do,X);if(U.push({ruleId:Z.id,executedActions:G,success:!0}),this.updateLastExecution(Z.id),!this.shouldEvaluateAll())break}}return G1.emit("engine:done",{results:U,context:X}),U}async processEventSimple(X,U={},q={}){let Z={event:X,data:U,globals:q,timestamp:Date.now(),state:this.stateManager.getAll()};return this.processEvent(Z)}async executeRuleActionsWithRegistry(X,U){let q=[],Z=[],Q="ALL";if(Array.isArray(X))Z=X;else if(X.mode&&X.actions){let G=X;Q=G.mode,Z=G.actions}else Z=[X];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,U);q.push(Y)}else for(let G of Z){let Y=await this.executeSingleActionWithRegistry(G,U);q.push(Y)}return q}async executeSingleActionWithRegistry(X,U){if(X.probability!==void 0&&Math.random()>X.probability)return{type:X.type,timestamp:Date.now(),result:{skipped:"probability check failed"}};if(X.delay&&X.delay>0)await new Promise((q)=>setTimeout(q,X.delay));try{let q=this.actionRegistry.get(X.type),Z;if(q)Z=await q(X,U);else{let Q=`Generic or unknown action type: ${X.type}`;if(this.config?.globalSettings?.strictActions)throw Error(Q);console.warn(Q),Z={warning:`Generic action executed: ${X.type}`}}return G1.emit("action:success",{action:X,context:U,result:Z}),{type:X.type,result:Z,timestamp:Date.now()}}catch(q){return console.error("Error executing action:",X,q),G1.emit("action:error",{action:X,context:U,error:String(q)}),{type:X.type,error:String(q),timestamp:Date.now()}}}updateLastExecution(X){this.lastExecution.set(X,Date.now())}getStateContext(){return this.stateManager.getAll()}shouldEvaluateAll(){return this.config?.globalSettings?.evaluateAll??!0}async executeRuleActions(X,U){return this.executeRuleActionsWithRegistry(X,U)}async executeSingleAction(X,U){return this.executeSingleActionWithRegistry(X,U)}}Q2();class oQ{static create(X,U,q={}){return{event:X,timestamp:Date.now(),data:typeof U==="object"?U:{value:U},globals:q,helpers:this.getDefaultHelpers()}}static fromRequest(X,U,q={}){let Z=new URL(X.url);return{event:"HTTP_REQUEST",timestamp:Date.now(),data:{method:X.method,path:Z.pathname,query:Object.fromEntries(Z.searchParams),headers:(()=>{let Q={};return X.headers.forEach((G,Y)=>Q[Y]=G),Q})(),body:U||{}},globals:{...q,ip:X.headers.get("x-forwarded-for")||"unknown"},helpers:this.getDefaultHelpers()}}static fromWebhook(X,U,q,Z={}){return{event:`WEBHOOK_${X.toUpperCase()}_${U.toUpperCase()}`,timestamp:Date.now(),data:q,globals:{...Z,provider:X},helpers:this.getDefaultHelpers()}}static getDefaultHelpers(){return{now:()=>Date.now(),uuid:()=>crypto.randomUUID(),jsonParse:(X)=>JSON.parse(X),jsonStringify:(X)=>JSON.stringify(X)}}}Z2();Q2();Z2();var p0=(X)=>Array.isArray(X)?X:[X],LU=(X,U)=>{let q=[[],[]];for(let Z of X)if(U(Z))q[0].push(Z);else q[1].push(Z);return q},J6=Array,z0=(X,U)=>X.includes(U),zU=(X,U=0)=>[...Array(X)].map((q,Z)=>Z+U),y=(X,U,q)=>{if(X===void 0)return U===void 0?[]:Array.isArray(U)?U:[U];if(q?.prepend)if(Array.isArray(U))X.unshift(...U);else X.unshift(U);else if(Array.isArray(U))X.push(...U);else X.push(U);return X},f0=(X,U)=>{if(U===void 0||U===null)return X??[];if(X===void 0||X===null)return p0(U);return X.concat(U)},FU=(...X)=>X.reduce(f0,[]),N0=(X,U,q)=>{if(X===void 0)return Array.isArray(U)?U:[U];let Z=q?.isEqual??((Q,G)=>Q===G);for(let Q of p0(U))if(!X.some((G)=>Z(G,Q)))X.push(Q);return X},AU=(X,U)=>X.reduce((q,Z)=>{let Q=Z[U];return q[Q]=y(q[Q],Z),q},{}),y0=(X,U,q)=>X.length===U.length&&X.every(q?.isEqual?(Z,Q)=>q.isEqual(Z,U[Q]):(Z,Q)=>Z===U[Q]);var Z0=(X,U)=>r(X)===U,r=(X)=>{let U=typeof X;return U==="object"?X===null?"null":"object":U==="function"?"object":U},Q0={boolean:"boolean",null:"null",undefined:"undefined",bigint:"a bigint",number:"a number",object:"an object",string:"a string",symbol:"a symbol"},VU={...Q0,function:"a function"};class OU extends Error{}var g=(X)=>Y1(X,OU),Y1=(X,U=Error)=>{throw new U(X)};class Y2 extends Error{name="ParseError"}var F=(X)=>Y1(X,Y2),D0=(X)=>` ${X}`,BU="";var S=(X,U)=>{let q={},Z=Array.isArray(X),Q=!1;for(let[G,Y]of Object.entries(X).entries()){let H=Z?U(G,Y[1]):U(...Y,G);Q||=typeof H[0]==="number";let J=Array.isArray(H[0])||H.length===0?H:[H];for(let[W,$]of J)if(typeof W==="object")q[W.group]=y(q[W.group],$);else q[W]=$}return Q?Object.values(q):q};var y4=Object.entries;var a=(X,U)=>(X in U),I1=(X,U)=>(U in X);class g4{constructor(X){Object.assign(this,X)}}var TU=class{};class H2 extends TU{}var rQ=(X,U)=>{let q={},Z={},Q;for(Q in X)if(Q in U)q[Q]=X[Q];else Z[Q]=X[Q];return[q,Z]};var W6=(X,U)=>rQ(X,U)[1],C0=(X)=>Object.keys(X).length===0,H1=(X)=>[...Object.entries(X),...Object.getOwnPropertySymbols(X).map((U)=>[U,X[U]])],RU=(X,U)=>Object.defineProperties(X,Object.getOwnPropertyDescriptors(U)),DU=(X)=>{let U=Object.keys(X).sort(),q={};for(let Z=0;Z<U.length;Z++)q[U[Z]]=X[U[Z]];return q};var G0=D0(`unset${BU}`),MU=(X)=>Object.values(X).filter((U)=>{if(typeof U==="number")return!0;return typeof X[U]!=="number"});var k4={Array,Boolean,Date,Error,Function,Map,Number,Promise,RegExp,Set,String,WeakMap,WeakSet},v4=globalThis.File??Blob,x4={ArrayBuffer,Blob,File:v4,FormData,Headers,Request,Response,URL},aQ={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array},J1={...k4,...x4,...aQ,String,Number,Boolean},J2=(X)=>{let U=Object.getPrototypeOf(X);while(U?.constructor&&(!a(U.constructor.name,J1)||!(X instanceof J1[U.constructor.name])))U=Object.getPrototypeOf(U);let q=U?.constructor?.name;if(q===void 0||q==="Object")return;return q},W2=(X)=>typeof X==="object"&&X!==null?J2(X)??"object":r(X);var x=Array.isArray,nQ={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"},tQ={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"},eQ={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"},wU={...nQ,...tQ,...eQ},_2=(X)=>{let U=Object(X).name??null;return U&&a(U,J1)&&J1[U]===X?U:null};var h4=(X,U)=>{let q=X.prototype;while(q!==null){if(q===U.prototype)return!0;q=Object.getPrototypeOf(q)}return!1};var PU=(X)=>IU(X,new Map),IU=(X,U)=>{if(typeof X!=="object"||X===null)return X;if(U?.has(X))return U.get(X);let q=_2(X.constructor);if(q==="Date")return new Date(X.getTime());if(q&&q!=="Array")return X;let Z=Array.isArray(X)?X.slice():Object.create(Object.getPrototypeOf(X)),Q=Object.getOwnPropertyDescriptors(X);if(U){U.set(X,Z);for(let G in Q){let Y=Q[G];if("get"in Y||"set"in Y)continue;Y.value=IU(Y.value,U)}}return Object.defineProperties(Z,Q),Z};var XG=(X)=>{let U=G0;return()=>U===G0?U=X():U},l0=(X)=>typeof X==="function"&&X.length===0;var KU=class extends Function{constructor(...X){let U=X.slice(0,-1),q=X[X.length-1];try{super(...U,q)}catch(Z){return g(`Encountered an unexpected error while compiling your definition:
|
|
139
|
+
`,U)+1}return{type:X,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(X){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 U=C4(X),q=X2(U);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 U=C4(X),q=X2(U);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:q,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(X,U){if(this.type!=="comment")return!1;if(this.indent<=U)return!1;return X.every((q)=>q.type==="newline"||q.type==="space")}*documentEnd(X){if(this.type!=="doc-mode"){if(X.end)X.end.push(this.sourceToken);else X.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd(X){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(X.end)X.end.push(this.sourceToken);else X.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}rF.Parser=jQ});var vQ=R((QA)=>{var fQ=aX(),nF=e2(),G6=X6(),tF=YX(),eF=k(),XA=YU(),yQ=JU();function gQ(X){let U=X.prettyErrors!==!1;return{lineCounter:X.lineCounter||U&&new XA.LineCounter||null,prettyErrors:U}}function UA(X,U={}){let{lineCounter:q,prettyErrors:Z}=gQ(U),Q=new yQ.Parser(q?.addNewLine),G=new fQ.Composer(U),Y=Array.from(G.compose(Q.parse(X)));if(Z&&q)for(let J of Y)J.errors.forEach(G6.prettifyError(X,q)),J.warnings.forEach(G6.prettifyError(X,q));if(Y.length>0)return Y;return Object.assign([],{empty:!0},G.streamInfo())}function kQ(X,U={}){let{lineCounter:q,prettyErrors:Z}=gQ(U),Q=new yQ.Parser(q?.addNewLine),G=new fQ.Composer(U),Y=null;for(let J of G.compose(Q.parse(X),!0,X.length))if(!Y)Y=J;else if(Y.options.logLevel!=="silent"){Y.errors.push(new G6.YAMLParseError(J.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(Z&&q)Y.errors.forEach(G6.prettifyError(X,q)),Y.warnings.forEach(G6.prettifyError(X,q));return Y}function qA(X,U,q){let Z=void 0;if(typeof U==="function")Z=U;else if(q===void 0&&U&&typeof U==="object")q=U;let Q=kQ(X,q);if(!Q)return null;if(Q.warnings.forEach((G)=>tF.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 ZA(X,U,q){let Z=null;if(typeof U==="function"||Array.isArray(U))Z=U;else if(q===void 0&&U)q=U;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(X===void 0){let{keepUndefined:Q}=q??U??{};if(!Q)return}if(eF.isDocument(X)&&!Z)return X.toString(q);return new nF.Document(X,Z,q).toString(q)}QA.parse=qA;QA.parseAllDocuments=UA;QA.parseDocument=kQ;QA.stringify=ZA});var WU=R((DA)=>{var WA=aX(),_A=e2(),$A=yX(),HU=X6(),LA=x2(),G1=k(),zA=X1(),FA=i(),AA=q1(),VA=Z1(),OA=K4(),BA=GU(),TA=YU(),RA=JU(),S4=vQ(),xQ=k2();DA.Composer=WA.Composer;DA.Document=_A.Document;DA.Schema=$A.Schema;DA.YAMLError=HU.YAMLError;DA.YAMLParseError=HU.YAMLParseError;DA.YAMLWarning=HU.YAMLWarning;DA.Alias=LA.Alias;DA.isAlias=G1.isAlias;DA.isCollection=G1.isCollection;DA.isDocument=G1.isDocument;DA.isMap=G1.isMap;DA.isNode=G1.isNode;DA.isPair=G1.isPair;DA.isScalar=G1.isScalar;DA.isSeq=G1.isSeq;DA.Pair=zA.Pair;DA.Scalar=FA.Scalar;DA.YAMLMap=AA.YAMLMap;DA.YAMLSeq=VA.YAMLSeq;DA.CST=OA;DA.Lexer=BA.Lexer;DA.LineCounter=TA.LineCounter;DA.Parser=RA.Parser;DA.parse=S4.parse;DA.parseAllDocuments=S4.parseAllDocuments;DA.parseDocument=S4.parseDocument;DA.stringify=S4.stringify;DA.visit=xQ.visit;DA.visitAsync=xQ.visitAsync});class oQ{queue=[];engine;config;timer=null;isProcessing=!1;constructor(X,U={maxBatchSize:10,flushIntervalMs:100}){this.engine=X,this.config=U}push(X){if(this.queue.push(X),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 X=this.queue.splice(0,this.config.maxBatchSize);if(X.length===0){this.isProcessing=!1;return}console.debug(`[EventQueue] Processing batch of ${X.length} events.`);for(let U of X)try{await this.engine.evaluateContext(U)}catch(q){console.error(`[EventQueue] Error processing event ${U.event}:`,q)}if(this.queue.length>0)setTimeout(()=>this.processQueue(),0);this.isProcessing=!1}getQueueLength(){return this.queue.length}}class rQ{keyPrefix;cache=new Map;isLoaded=!1;constructor(X="trigger_system:"){this.keyPrefix=X}isAvailable(){return typeof window<"u"&&typeof window.localStorage<"u"}ensureLoaded(){if(this.isLoaded)return;if(this.isAvailable())try{let X=window.localStorage.getItem(this.keyPrefix+"state");if(X){let U=JSON.parse(X);this.cache=new Map(Object.entries(U))}}catch(X){console.error("[BrowserPersistence] Failed to load from localStorage:",X)}this.isLoaded=!0}persist(){if(this.isAvailable())try{let X=Object.fromEntries(this.cache);window.localStorage.setItem(this.keyPrefix+"state",JSON.stringify(X))}catch(X){console.error("[BrowserPersistence] Failed to save to localStorage:",X)}}async loadState(){return this.ensureLoaded(),new Map(this.cache)}async saveState(X,U){this.ensureLoaded(),this.cache.set(X,U),this.persist()}async deleteState(X){this.ensureLoaded(),this.cache.delete(X),this.persist()}async clearState(){this.cache.clear(),this.persist()}}class q2{static getNestedValue(X,U){let q=X.split("."),Z=U;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(X,U){if(typeof X!=="string")return X;return X.replace(/\$\{([^}]+)\}/g,(q,Z)=>{let Q=this.getNestedValue(Z,U);if(Q!==void 0)return String(Q);return q})}static compare(X,U,q){switch(U){case"EQ":case"==":return X==q;case"NEQ":case"!=":return X!=q;case"GT":case">":return Number(X)>Number(q);case"GTE":case">=":return Number(X)>=Number(q);case"LT":case"<":return Number(X)<Number(q);case"LTE":case"<=":return Number(X)<=Number(q);case"IN":return Array.isArray(q)&&q.some((Z)=>Z===X);case"NOT_IN":return Array.isArray(q)&&!q.some((Z)=>Z===X);case"CONTAINS":if(Array.isArray(X)||typeof X==="string")return X.includes(q);return!1;case"MATCHES":if(typeof q==="string")return new RegExp(q).test(String(X));return!1;case"RANGE":if(Array.isArray(q)&&q.length===2){let Z=Number(X),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: ${U}`),!1}}}var J6;((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"})(J6||={});var LU;((Z)=>{Z.RULE_ADDED="rule:added";Z.RULE_REMOVED="rule:removed";Z.RULE_UPDATED="rule:updated"})(LU||={});var $V=J6,H6=LU;class f4{static instance;handlers=new Map;constructor(){}static getInstance(){if(!this.instance)this.instance=new f4;return this.instance}on(X,U){let q=X;if(!this.handlers.has(q))this.handlers.set(q,new Set);return this.handlers.get(q).add(U),()=>this.off(q,U)}off(X,U){let q=X,Z=this.handlers.get(q);if(Z)Z.delete(U)}emit(X,U){let q=X,Z=this.handlers.get(q);if(Z)Z.forEach((Q)=>{try{Q(U)}catch(G){console.error(`Error in event handler for ${q}:`,G)}})}}var N0=f4.getInstance();class G2{_rules=[];actionHandlers=new Map;lastExecution=new Map;_config;constructor(X=[]){if(Array.isArray(X))this._rules=X;else this._config=X,this._rules=[...X.rules];this.sortRules()}sortRules(){this._rules.sort((X,U)=>(U.priority||0)-(X.priority||0))}registerAction(X,U){this.actionHandlers.set(X,U)}async processEvent(X){let U=[],q=this._rules.filter((Z)=>Z.enabled!==!1&&Z.on===X.event);for(let Z of q){if(Z.cooldown&&this.checkCooldown(Z.id,Z.cooldown))continue;if(this.evaluateConditions(Z.if,X)){let Q=await this.executeRuleActions(Z.do,X);if(this.lastExecution.set(Z.id,Date.now()),U.push({ruleId:Z.id,success:!0,executedActions:Q}),!this.shouldEvaluateAll())break}}return U}async processEventSimple(X,U={},q={}){let Z={event:X,data:U,globals:q,timestamp:Date.now(),state:this.getStateContext?this.getStateContext():{}};return this.processEvent(Z)}updateRules(X){let U=this.getRules(),q=new Set(U.map((Y)=>Y.id)),Z=new Set(X.map((Y)=>Y.id)),Q=X.filter((Y)=>!q.has(Y.id)),G=U.filter((Y)=>!Z.has(Y.id));this.rules=[...X],this.sortRules(),Q.forEach((Y)=>{this.emitRuleEvent(H6.RULE_ADDED,{ruleId:Y.id,timestamp:Date.now()})}),G.forEach((Y)=>{this.emitRuleEvent(H6.RULE_REMOVED,{ruleId:Y.id,timestamp:Date.now()})}),this.emitRuleEvent(H6.RULE_UPDATED,{count:X.length,added:Q.length,removed:G.length,unchanged:X.length-Q.length,timestamp:Date.now()})}emitRuleEvent(X,U){try{if(N0)N0.emit(X,{...U,timestamp:Date.now()})}catch(q){console.warn(`Could not emit event ${X}:`,q)}}getRules(){return[...this.rules]}checkCooldown(X,U){let q=this.lastExecution.get(X);if(!q)return!1;return Date.now()-q<U}shouldEvaluateAll(){return this.config?.globalSettings?.evaluateAll??!0}getStateContext(){return{}}evaluateConditions(X,U){if(!X)return!0;if(Array.isArray(X))return X.every((q)=>this.evaluateSingleCondition(q,U));return this.evaluateSingleCondition(X,U)}evaluateSingleCondition(X,U){if("operator"in X&&"conditions"in X){let G=X;if(G.operator==="OR")return G.conditions.some((Y)=>this.evaluateSingleCondition(Y,U));else return G.conditions.every((Y)=>this.evaluateSingleCondition(Y,U))}let q=X,Z=q2.getNestedValue(q.field,U),Q=q.value;if(typeof Q==="string"&&Q.includes("${"))Q=$0.interpolate(Q,U);return q2.compare(Z,q.operator,Q)}async executeRuleActions(X,U){let q=[],Z=[],Q="ALL";if(Array.isArray(X))Z=X;else if("mode"in X&&"actions"in X){let G=X;Q=G.mode,Z=G.actions}else Z=[X];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,U);q.push(Y)}return q}async executeSingleAction(X,U){if(X.probability!==void 0&&Math.random()>X.probability)return{type:X.type,timestamp:Date.now(),result:{skipped:"probability check failed"}};if(X.delay&&X.delay>0)await new Promise((q)=>setTimeout(q,X.delay));try{let q;try{let{ActionRegistry:Q}=await Promise.resolve().then(() => (Q2(),zU)),G=Q.getInstance().get(X.type);if(G)q=(Y)=>G({...X,params:Y},U)}catch{q=this.actionHandlers.get(X.type)}let Z;if(q)Z=await q(X.params||{},U);else{let Q=`No handler registered for action type: ${X.type}`;console.warn(Q),Z={warning:Q}}return{type:X.type,result:Z,timestamp:Date.now()}}catch(q){return console.error(`Error executing action ${X.type}:`,q),{type:X.type,error:String(q),timestamp:Date.now()}}}interpolateParams(X,U){let q={};for(let[Z,Q]of Object.entries(X))if(typeof Q==="string")q[Z]=$0.interpolate(Q,U);else if(typeof Q==="object"&&Q!==null&&!Array.isArray(Q))q[Z]=this.interpolateDeep(Q,U);else q[Z]=Q;return q}interpolateDeep(X,U){if(typeof X==="string")return $0.interpolate(X,U);if(Array.isArray(X))return X.map((q)=>this.interpolateDeep(q,U));if(typeof X==="object"&&X!==null){let q={};for(let Z in X)q[Z]=this.interpolateDeep(X[Z],U);return q}return X}get rules(){return[...this._rules]}get config(){return this._config}set rules(X){this._rules=[...X],this.sortRules()}}Q2();Z2();class y4 extends G2{actionRegistry;stateManager;constructor(X){super(X);this.actionRegistry=P1.getInstance(),this.stateManager=R0.getInstance()}async processEvent(X){let U=[];if(X.state=this.stateManager.getAll(),N0.emit("engine:start",{context:X,rulesCount:this.rules.length}),this.config?.globalSettings?.debugMode)console.log(`[RuleEngine] Evaluating context with ${this.rules.length} rules for event: ${X.event}`);let q=this.rules.filter((Z)=>Z.enabled!==!1&&Z.on===X.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,X)){if(this.config?.globalSettings?.debugMode)console.log(`[RuleEngine] Executing rule: ${Z.name||Z.id}`);N0.emit("rule:match",{rule:Z,context:X});let G=await this.executeRuleActionsWithRegistry(Z.do,X);if(U.push({ruleId:Z.id,executedActions:G,success:!0}),this.updateLastExecution(Z.id),!this.shouldEvaluateAll())break}}return N0.emit("engine:done",{results:U,context:X}),U}async processEventSimple(X,U={},q={}){let Z={event:X,data:U,globals:q,timestamp:Date.now(),state:this.stateManager.getAll()};return this.processEvent(Z)}async executeRuleActionsWithRegistry(X,U){let q=[],Z=[],Q="ALL";if(Array.isArray(X))Z=X;else if(this.isActionGroup(X)){let G=X;Q=G.mode,Z=G.actions}else Z=[X];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,U);q.push(Y)}else for(let G of Z){let Y=await this.executeSingleActionWithRegistry(G,U);q.push(Y)}return q}isActionGroup(X){return typeof X==="object"&&X!==null&&"mode"in X&&"actions"in X}async executeSingleActionWithRegistry(X,U){if(X.probability!==void 0&&Math.random()>X.probability)return{type:X.type,timestamp:Date.now(),result:{skipped:"probability check failed"}};if(X.delay&&X.delay>0)await new Promise((q)=>setTimeout(q,X.delay));try{let q=this.actionRegistry.get(X.type),Z;if(q)Z=await q(X,U);else{let Q=`Generic or unknown action type: ${X.type}`;if(this.config?.globalSettings?.strictActions)throw Error(Q);console.warn(Q),Z={warning:`Generic action executed: ${X.type}`}}return N0.emit("action:success",{action:X,context:U,result:Z}),{type:X.type,result:Z,timestamp:Date.now()}}catch(q){return console.error("Error executing action:",X,q),N0.emit("action:error",{action:X,context:U,error:String(q)}),{type:X.type,error:String(q),timestamp:Date.now()}}}updateLastExecution(X){this.lastExecution.set(X,Date.now())}getStateContext(){return this.stateManager.getAll()}shouldEvaluateAll(){return this.config?.globalSettings?.evaluateAll??!0}async executeRuleActions(X,U){return this.executeRuleActionsWithRegistry(X,U)}async executeSingleAction(X,U){return this.executeSingleActionWithRegistry(X,U)}}Q2();class aQ{static create(X,U,q={}){return{event:X,timestamp:Date.now(),data:typeof U==="object"&&U!==null?U:{value:U},globals:q,helpers:this.getDefaultHelpers()}}static fromRequest(X,U,q={}){let Z=new URL(X.url);return{event:"HTTP_REQUEST",timestamp:Date.now(),data:{method:X.method,path:Z.pathname,query:Object.fromEntries(Z.searchParams),headers:(()=>{let Q={};return X.headers.forEach((G,Y)=>Q[Y]=G),Q})(),body:U||{}},globals:{...q,ip:X.headers.get("x-forwarded-for")||"unknown"},helpers:this.getDefaultHelpers()}}static fromWebhook(X,U,q,Z={}){return{event:`WEBHOOK_${X.toUpperCase()}_${U.toUpperCase()}`,timestamp:Date.now(),data:q,globals:{...Z,provider:X},helpers:this.getDefaultHelpers()}}static getDefaultHelpers(){return{now:()=>Date.now(),uuid:()=>crypto.randomUUID(),jsonParse:(X)=>typeof X==="string"?JSON.parse(X):null,jsonStringify:(X)=>JSON.stringify(X)}}}Z2();Q2();Z2();var l0=(X)=>Array.isArray(X)?X:[X],FU=(X,U)=>{let q=[[],[]];for(let Z of X)if(U(Z))q[0].push(Z);else q[1].push(Z);return q},W6=Array,z0=(X,U)=>X.includes(U),AU=(X,U=0)=>[...Array(X)].map((q,Z)=>Z+U),y=(X,U,q)=>{if(X===void 0)return U===void 0?[]:Array.isArray(U)?U:[U];if(q?.prepend)if(Array.isArray(U))X.unshift(...U);else X.unshift(U);else if(Array.isArray(U))X.push(...U);else X.push(U);return X},y0=(X,U)=>{if(U===void 0||U===null)return X??[];if(X===void 0||X===null)return l0(U);return X.concat(U)},VU=(...X)=>X.reduce(y0,[]),C0=(X,U,q)=>{if(X===void 0)return Array.isArray(U)?U:[U];let Z=q?.isEqual??((Q,G)=>Q===G);for(let Q of l0(U))if(!X.some((G)=>Z(G,Q)))X.push(Q);return X},OU=(X,U)=>X.reduce((q,Z)=>{let Q=Z[U];return q[Q]=y(q[Q],Z),q},{}),g0=(X,U,q)=>X.length===U.length&&X.every(q?.isEqual?(Z,Q)=>q.isEqual(Z,U[Q]):(Z,Q)=>Z===U[Q]);var Z0=(X,U)=>r(X)===U,r=(X)=>{let U=typeof X;return U==="object"?X===null?"null":"object":U==="function"?"object":U},Q0={boolean:"boolean",null:"null",undefined:"undefined",bigint:"a bigint",number:"a number",object:"an object",string:"a string",symbol:"a symbol"},BU={...Q0,function:"a function"};class TU extends Error{}var g=(X)=>Y1(X,TU),Y1=(X,U=Error)=>{throw new U(X)};class Y2 extends Error{name="ParseError"}var F=(X)=>Y1(X,Y2),D0=(X)=>` ${X}`,RU="";var S=(X,U)=>{let q={},Z=Array.isArray(X),Q=!1;for(let[G,Y]of Object.entries(X).entries()){let J=Z?U(G,Y[1]):U(...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 g4=Object.entries;var a=(X,U)=>(X in U),I1=(X,U)=>(U in X);class k4{constructor(X){Object.assign(this,X)}}var DU=class{};class J2 extends DU{}var nQ=(X,U)=>{let q={},Z={},Q;for(Q in X)if(Q in U)q[Q]=X[Q];else Z[Q]=X[Q];return[q,Z]};var _6=(X,U)=>nQ(X,U)[1],S0=(X)=>Object.keys(X).length===0,J1=(X)=>[...Object.entries(X),...Object.getOwnPropertySymbols(X).map((U)=>[U,X[U]])],MU=(X,U)=>Object.defineProperties(X,Object.getOwnPropertyDescriptors(U)),wU=(X)=>{let U=Object.keys(X).sort(),q={};for(let Z=0;Z<U.length;Z++)q[U[Z]]=X[U[Z]];return q};var G0=D0(`unset${RU}`),PU=(X)=>Object.values(X).filter((U)=>{if(typeof U==="number")return!0;return typeof X[U]!=="number"});var v4={Array,Boolean,Date,Error,Function,Map,Number,Promise,RegExp,Set,String,WeakMap,WeakSet},x4=globalThis.File??Blob,h4={ArrayBuffer,Blob,File:x4,FormData,Headers,Request,Response,URL},tQ={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array},H1={...v4,...h4,...tQ,String,Number,Boolean},H2=(X)=>{let U=Object.getPrototypeOf(X);while(U?.constructor&&(!a(U.constructor.name,H1)||!(X instanceof H1[U.constructor.name])))U=Object.getPrototypeOf(U);let q=U?.constructor?.name;if(q===void 0||q==="Object")return;return q},W2=(X)=>typeof X==="object"&&X!==null?H2(X)??"object":r(X);var x=Array.isArray,eQ={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"},XG={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"},UG={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"},IU={...eQ,...XG,...UG},_2=(X)=>{let U=Object(X).name??null;return U&&a(U,H1)&&H1[U]===X?U:null};var u4=(X,U)=>{let q=X.prototype;while(q!==null){if(q===U.prototype)return!0;q=Object.getPrototypeOf(q)}return!1};var KU=(X)=>NU(X,new Map),NU=(X,U)=>{if(typeof X!=="object"||X===null)return X;if(U?.has(X))return U.get(X);let q=_2(X.constructor);if(q==="Date")return new Date(X.getTime());if(q&&q!=="Array")return X;let Z=Array.isArray(X)?X.slice():Object.create(Object.getPrototypeOf(X)),Q=Object.getOwnPropertyDescriptors(X);if(U){U.set(X,Z);for(let G in Q){let Y=Q[G];if("get"in Y||"set"in Y)continue;Y.value=NU(Y.value,U)}}return Object.defineProperties(Z,Q),Z};var qG=(X)=>{let U=G0;return()=>U===G0?U=X():U},d0=(X)=>typeof X==="function"&&X.length===0;var CU=class extends Function{constructor(...X){let U=X.slice(0,-1),q=X[X.length-1];try{super(...U,q)}catch(Z){return g(`Encountered an unexpected error while compiling your definition:
|
|
140
140
|
Message: ${Z}
|
|
141
141
|
Source: (${X.slice(0,-1)}) => {
|
|
142
142
|
${X[X.length-1]}
|
|
143
|
-
}`)}}};class Y0{constructor(X,...[U]){return Object.assign(Object.setPrototypeOf(X.bind(U?.bind??this),this.constructor.prototype),U?.attach)}}var
|
|
144
|
-
`)[2]?.trim()||"").match(/\(?(.+?)(?::\d+:\d+)?\)?$/)?.[1]||"unknown").replace(/^file:\/\//,"")}catch{return"unknown"}},
|
|
143
|
+
}`)}}};class Y0{constructor(X,...[U]){return Object.assign(Object.setPrototypeOf(X.bind(U?.bind??this),this.constructor.prototype),U?.attach)}}var SU=qG(()=>{try{return Function("return false")()}catch{return!0}});var AO=D0("brand");var EU=D0("arkInferred");var BO=D0("args");class e{constructor(){}}var ZG=()=>{try{return((Error().stack?.split(`
|
|
144
|
+
`)[2]?.trim()||"").match(/\(?(.+?)(?::\d+:\d+)?\)?$/)?.[1]||"unknown").replace(/^file:\/\//,"")}catch{return"unknown"}},QG=globalThis.process?.env??{},bU={fileName:ZG,env:QG};var jU=(X)=>X[0].toUpperCase()+X.slice(1),fU=(X)=>X[0].toLowerCase()+X.slice(1),m4=(X)=>new RegExp(GG(X),typeof X==="string"?"":X.flags);var GG=(X)=>{return`^(?:${typeof X==="string"?X:X.source})$`};var k0={negativeLookahead:(X)=>`(?!${X})`,nonCapturingGroup:(X)=>`(?:${X})`},W1="\\",c0={" ":1,"\n":1,"\t":1};var YG=/^-0\.?0*$/.source,gU=/[1-9]\d*/.source,JG=/\.\d+/.source,HG=/\.\d*[1-9]/.source,kU=(X)=>m4(k0.negativeLookahead(YG)+k0.nonCapturingGroup("-?"+k0.nonCapturingGroup(k0.nonCapturingGroup("0|"+gU)+k0.nonCapturingGroup(X.decimalPattern)+"?")+(X.allowDecimalOnly?"|"+X.decimalPattern:"")+"?")),yU=kU({decimalPattern:HG,allowDecimalOnly:!1}),WG=yU.test.bind(yU),$6=kU({decimalPattern:JG,allowDecimalOnly:!0}),IO=$6.test.bind($6),_G=/^-?\d*\.?\d*$/,$G=(X)=>X.length!==0&&_G.test(X),$2=m4(k0.negativeLookahead("^-0$")+"-?"+k0.nonCapturingGroup(k0.nonCapturingGroup("0|"+gU))),LG=$2.test.bind($2),p4=/^-?\d+$/,zG=p4.test.bind(p4),vU={number:"a number",bigint:"a bigint",integer:"an integer"},xU=(X,U)=>`'${X}' was parsed as ${vU[U]} but could not be narrowed to a literal value. Avoid unnecessary leading or trailing zeros and other abnormal notation`,FG=(X,U)=>U==="number"?WG(X):LG(X),AG=(X,U)=>U==="number"?Number(X):Number.parseInt(X),VG=(X,U)=>U==="number"?$G(X):zG(X),hU=(X,U)=>l4(X,"number",U),uU=(X,U)=>l4(X,"number",{...U,strict:!0}),mU=(X,U)=>l4(X,"integer",U),l4=(X,U,q)=>{let Z=AG(X,U);if(!Number.isNaN(Z)){if(VG(X,U)){if(q?.strict)return FG(X,U)?Z:F(xU(X,U));return Z}}return q?.errorOnFail?F(q?.errorOnFail===!0?`Failed to parse ${vU[U]} from '${X}'`:q?.errorOnFail):void 0},pU=(X)=>{if(X[X.length-1]!=="n")return;let U=X.slice(0,-1),q;try{q=BigInt(U)}catch{return}if($2.test(U))return q;if(p4.test(U))return F(xU(X,"bigint"))};var OG="0.56.0",BG={version:OG,filename:bU.fileName(),FileConstructor:x4},_1=BG,lU=new Map,d4=Object.create(null),L2=(X)=>{let U=lU.get(X);if(U)return U;let q=TG(X);if(d4[q])q=`${q}${d4[q]++}`;else d4[q]=1;return _1[q]=X,lU.set(X,q),q},i0=(X)=>/^[$A-Z_a-z][\w$]*$/.test(X),TG=(X)=>{switch(typeof X){case"object":{if(X===null)break;let U=H2(X)??"object";return U[0].toLowerCase()+U.slice(1)}case"function":return i0(X.name)?X.name:"fn";case"symbol":return X.description&&i0(X.description)?X.description:"symbol"}return g(`Unexpected attempt to register serializable value of type ${r(X)}`)};var z2=(X)=>typeof X==="string"?JSON.stringify(X):typeof X==="bigint"?`${X}n`:`${X}`;var dU=(X,U={})=>F2(X,{onUndefined:"$ark.undefined",onBigInt:(q)=>`$ark.bigint-${q}`,...U},[]);var E=(X,U)=>{switch(r(X)){case"object":let q=X,Z=q.constructor?.name??"Object";return Z==="Object"||Z==="Array"?U?.quoteKeys===!1?L6(q,U?.indent??0,""):JSON.stringify(F2(q,K1,[]),null,U?.indent):L6(q,U?.indent??0,"");case"symbol":return K1.onSymbol(X);default:return z2(X)}},L6=(X,U,q)=>{if(typeof X==="function")return K1.onFunction(X);if(typeof X!=="object"||X===null)return z2(X);let Z=q+" ".repeat(U);if(Array.isArray(X)){if(X.length===0)return"[]";let G=X.map((Y)=>L6(Y,U,Z)).join(`,
|
|
145
145
|
`+Z);return U?`[
|
|
146
146
|
${Z}${G}
|
|
147
|
-
${q}]`:`[${G}]`}let Q=X.constructor?.name??"Object";if(Q==="Object"){let G=
|
|
147
|
+
${q}]`:`[${G}]`}let Q=X.constructor?.name??"Object";if(Q==="Object"){let G=J1(X).map(([Y,J])=>{let H=typeof Y==="symbol"?K1.onSymbol(Y):i0(Y)?Y:JSON.stringify(Y),W=L6(J,U,Z);return`${Z}${H}: ${W}`});if(G.length===0)return"{}";return U?`{
|
|
148
148
|
${G.join(`,
|
|
149
149
|
`)}
|
|
150
|
-
${q}}`:`{${G.join(", ")}}`}if(X instanceof Date)return $1(X);if("expression"in X&&typeof X.expression==="string")return X.expression;return Q},K1={onCycle:()=>"(cycle)",onSymbol:(X)=>`Symbol(${L2(X)})`,onFunction:(X)=>`Function(${L2(X)})`},F2=(X,U,q)=>{switch(r(X)){case"object":{let Z=X;if("toJSON"in Z&&typeof Z.toJSON==="function")return Z.toJSON();if(typeof Z==="function")return K1.onFunction(Z);if(q.includes(Z))return"(cycle)";let Q=[...q,Z];if(Array.isArray(Z))return Z.map((Y)=>F2(Y,U,Q));if(Z instanceof Date)return Z.toDateString();let G={};for(let Y in Z)G[Y]=F2(Z[Y],U,Q);for(let Y of Object.getOwnPropertySymbols(Z))G[U.onSymbol?.(Y)??Y.toString()]=F2(Z[Y],U,Q);return G}case"symbol":return K1.onSymbol(X);case"bigint":return U.onBigInt?.(X)??`${X}n`;case"undefined":return U.onUndefined??"undefined";case"string":return X.replace(/\\/g,"\\\\");default:return X}},$1=(X)=>{let U=X.getFullYear(),q=X.getMonth(),Z=X.getDate(),Q=X.getHours(),G=X.getMinutes(),Y=X.getSeconds(),
|
|
150
|
+
${q}}`:`{${G.join(", ")}}`}if(X instanceof Date)return $1(X);if("expression"in X&&typeof X.expression==="string")return X.expression;return Q},K1={onCycle:()=>"(cycle)",onSymbol:(X)=>`Symbol(${L2(X)})`,onFunction:(X)=>`Function(${L2(X)})`},F2=(X,U,q)=>{switch(r(X)){case"object":{let Z=X;if("toJSON"in Z&&typeof Z.toJSON==="function")return Z.toJSON();if(typeof Z==="function")return K1.onFunction(Z);if(q.includes(Z))return"(cycle)";let Q=[...q,Z];if(Array.isArray(Z))return Z.map((Y)=>F2(Y,U,Q));if(Z instanceof Date)return Z.toDateString();let G={};for(let Y in Z)G[Y]=F2(Z[Y],U,Q);for(let Y of Object.getOwnPropertySymbols(Z))G[U.onSymbol?.(Y)??Y.toString()]=F2(Z[Y],U,Q);return G}case"symbol":return K1.onSymbol(X);case"bigint":return U.onBigInt?.(X)??`${X}n`;case"undefined":return U.onUndefined??"undefined";case"string":return X.replace(/\\/g,"\\\\");default:return X}},$1=(X)=>{let U=X.getFullYear(),q=X.getMonth(),Z=X.getDate(),Q=X.getHours(),G=X.getMinutes(),Y=X.getSeconds(),J=X.getMilliseconds();if(q===0&&Z===1&&Q===0&&G===0&&Y===0&&J===0)return`${U}`;let H=`${RG[q]} ${Z}, ${U}`;if(Q===0&&G===0&&Y===0&&J===0)return H;let W=X.toLocaleTimeString(),$=W.endsWith(" AM")||W.endsWith(" PM")?W.slice(-3):"";if($)W=W.slice(0,-$.length);if(J)W+=`.${MG(J,3)}`;else if(DG.test(W))W=W.slice(0,-3);return`${W+$}, ${H}`},RG=["January","February","March","April","May","June","July","August","September","October","November","December"],DG=/:\d\d:00$/,MG=(X,U)=>String(X).padStart(U,"0");var cU=(X,U,...[q])=>{let Z=q?.stringifySymbol??E,Q=X;switch(typeof U){case"string":Q=i0(U)?X===""?U:`${X}.${U}`:`${X}[${JSON.stringify(U)}]`;break;case"number":Q=`${X}[${U}]`;break;case"symbol":Q=`${X}[${Z(U)}]`;break;default:if(q?.stringifyNonKey)Q=`${X}[${q.stringifyNonKey(U)}]`;else F(`${E(U)} must be a PropertyKey or stringifyNonKey must be passed to options`)}return Q},v0=(X,...U)=>X.reduce((q,Z)=>cU(q,Z,...U),"");class A2 extends W6{cache={};constructor(...X){super();this.push(...X)}toJSON(){if(this.cache.json)return this.cache.json;this.cache.json=[];for(let X=0;X<this.length;X++)this.cache.json.push(typeof this[X]==="symbol"?E(this[X]):this[X]);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 X="",U=[X];for(let q of this)X=cU(X,q),U.push(X);return this.cache.stringifyAncestors=U}}class V2{chars;i;def;constructor(X){this.def=X,this.chars=[...X],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(X){let U="";while(this.lookahead)if(X(this,U))break;else U+=this.shift();return U}shiftUntilEscapable(X){let U="";while(this.lookahead)if(this.lookahead===W1)if(this.shift(),X(this,U))U+=this.shift();else if(this.lookahead===W1)U+=this.shift();else U+=`${W1}${this.shift()}`;else if(X(this,U))break;else U+=this.shift();return U}shiftUntilLookahead(X){return typeof X==="string"?this.shiftUntil((U)=>U.lookahead===X):this.shiftUntil((U)=>(U.lookahead in X))}shiftUntilNonWhitespace(){return this.shiftUntil(()=>!(this.lookahead in c0))}jumpToIndex(X){this.i=X<0?this.length+X:X}jumpForward(X){this.i+=X}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(X,U){return this.chars.slice(X,U).join("")}lookaheadIs(X){return this.lookahead===X}lookaheadIsIn(X){return this.lookahead in X}}var iU=(X,U)=>`Unmatched ${X}${U===""?"":` before ${U}`}`,z6=(X)=>`Missing ${X}`;var aO=D0("implementedTraits");var c4="$ark",wG=2;while(c4 in globalThis)c4=`$ark${wG++}`;var sU=c4;globalThis[sU]=_1;var V=_1,PG=(X)=>`${sU}.${X}`,d=(X)=>PG(L2(X));class F6 extends J2{argNames;body="";constructor(...X){super();this.argNames=X;for(let U of X){if(U in this)throw Error(`Arg name '${U}' would overwrite an existing property on FunctionBody`);this[U]=U}}indentation=0;indent(){return this.indentation+=4,this}dedent(){return this.indentation-=4,this}prop(X,U=!1){return i4(X,U)}index(X,U=!1){return oU(`${X}`,U)}line(X){return this.body+=`${" ".repeat(this.indentation)}${X}
|
|
151
151
|
`,this}const(X,U){return this.line(`const ${X} = ${U}`),this}let(X,U){return this.line(`let ${X} = ${U}`)}set(X,U){return this.line(`${X} = ${U}`)}if(X,U){return this.block(`if (${X})`,U)}elseIf(X,U){return this.block(`else if (${X})`,U)}else(X){return this.block("else",X)}for(X,U,q=0){return this.block(`for (let i = ${q}; ${X}; i++)`,U)}forIn(X,U){return this.block(`for (const k in ${X})`,U)}block(X,U,q=""){return this.line(`${X} {`),this.indent(),U(this),this.dedent(),this.line(`}${q}`)}return(X=""){return this.line(`return ${X}`)}write(X="anonymous",U=0){return`${X}(${this.argNames.join(", ")}) { ${U?this.body.split(`
|
|
152
152
|
`).map((q)=>" ".repeat(U)+`${q}`).join(`
|
|
153
|
-
`):this.body} }`}compile(){return new
|
|
154
|
-
`)}addAncestorPaths(X){for(let U of X.path.stringifyAncestors())this.byAncestorPath[U]=y(this.byAncestorPath[U],X)}}class
|
|
155
|
-
`+X.map((U)=>` • ${
|
|
156
|
-
`));Object.defineProperty(this,"arkErrors",{value:X,enumerable:!1})}}var
|
|
153
|
+
`):this.body} }`}compile(){return new CU(...this.argNames,this.body)}}var M0=(X)=>Z0(X,"object")||typeof X==="symbol"?d(X):z2(X),i4=(X,U=!1)=>{if(typeof X==="string"&&i0(X))return`${U?"?":""}.${X}`;return oU(IG(X),U)},IG=(X)=>typeof X==="symbol"?d(X):JSON.stringify(X),oU=(X,U=!1)=>`${U?"?.":""}[${X}]`;class O2 extends F6{traversalKind;optimistic;constructor(X){super("data","ctx");this.traversalKind=X.kind,this.optimistic=X.optimistic===!0}invoke(X,U){let q=U?.arg??this.data,Z=typeof X==="string"?!0:this.requiresContextFor(X),Q=typeof X==="string"?X:X.id;if(Z)return`${this.referenceToId(Q,U)}(${q}, ${this.ctx})`;return`${this.referenceToId(Q,U)}(${q})`}referenceToId(X,U){let q=U?.kind??this.traversalKind,Z=`this.${X}${q}`;return U?.bind?`${Z}.bind(${U?.bind})`:Z}requiresContextFor(X){return this.traversalKind==="Apply"||X.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(X,U,q){let Z=this.requiresContextFor(q);if(Z)this.line(`${this.ctx}.path.push(${X})`);if(this.check(q,{arg:U}),Z)this.line(`${this.ctx}.path.pop()`);return this}check(X,U){return this.traversalKind==="Allows"?this.if(`!${this.invoke(X,U)}`,()=>this.return(!1)):this.line(this.invoke(X,U))}}var A6=(X)=>S(X,(U,q)=>[U,x(q)?[...q]:q]),U0=D0("arkKind"),M=(X,U)=>X?.[U0]===U,h=(X)=>M(X,"root")||M(X,"constraint");var rU=["unit","proto","domain"],N1=["required","optional","index","sequence"],s4=["pattern","divisor","exactLength","max","min","maxLength","minLength","before","after"],o4=[...s4,"structure","predicate"],V6=[...o4,...N1],C1=["alias","union","morph","unit","intersection","proto","domain"],KG=[...C1,...V6],O6=S(V6,(X,U)=>[U,1]),aU=S([...N1,"undeclared"],(X,U)=>[U,1]),nU=S(KG,(X,U)=>[U,X]),S1=(X)=>typeof X==="string"&&(X in nU);var E1=(X)=>nU[X],B6=(X)=>C1.slice(E1(X)+1),fB=[...B6("union"),"alias"],yB=[...B6("morph"),"alias"],F0=(X)=>{if(typeof X==="string"||typeof X==="boolean"||X===null)return X;if(typeof X==="number"){if(Number.isNaN(X))return"NaN";if(X===Number.POSITIVE_INFINITY)return"Infinity";if(X===Number.NEGATIVE_INFINITY)return"-Infinity";return X}return M0(X)},s0=(X)=>{let U="{ ";for(let[q,Z]of Object.entries(X))U+=`${q}: ${M0(Z)}, `;return U+" }"},b=(X)=>{let U=X;if(U.hasAssociatedError)U.defaults.expected??=(q)=>("description"in q)?q.description:U.defaults.description(q),U.defaults.actual??=(q)=>E(q),U.defaults.problem??=(q)=>`must be ${q.expected}${q.actual?` (was ${q.actual})`:""}`,U.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 U};class tU extends Error{name="ToJsonSchemaError";code;context;constructor(X,U){super(E(U,{quoteKeys:!1,indent:4}));this.code=X,this.context=U}hasCode(X){return this.code===X}}var NG={target:"draft-2020-12",dialect:"https://json-schema.org/draft/2020-12/schema",useRefs:!1,fallback:{arrayObject:(X)=>p.throw("arrayObject",X),arrayPostfix:(X)=>p.throw("arrayPostfix",X),defaultValue:(X)=>p.throw("defaultValue",X),domain:(X)=>p.throw("domain",X),morph:(X)=>p.throw("morph",X),patternIntersection:(X)=>p.throw("patternIntersection",X),predicate:(X)=>p.throw("predicate",X),proto:(X)=>p.throw("proto",X),symbolKey:(X)=>p.throw("symbolKey",X),unit:(X)=>p.throw("unit",X),date:(X)=>p.throw("date",X)}},p={Error:tU,throw:(...X)=>{throw new p.Error(...X)},throwInternalOperandError:(X,U)=>g(`Unexpected JSON Schema input for ${X}: ${E(U)}`),defaultConfig:NG};V.config??={};var B2=(X,U)=>{if(!U)return X;let q={...X},Z;for(Z in U){let Q={...X.keywords};if(Z==="keywords"){for(let G in U[Z]){let Y=U.keywords[G];if(Y===void 0)continue;Q[G]=typeof Y==="string"?{description:Y}:Y}q.keywords=Q}else if(Z==="toJsonSchema")q[Z]=r4(X.toJsonSchema,U.toJsonSchema);else if(S1(Z))q[Z]={...X[Z],...U[Z]};else q[Z]=U[Z]}return q},CG={"draft-2020-12":"https://json-schema.org/draft/2020-12/schema","draft-07":"http://json-schema.org/draft-07/schema#"},r4=(X,U)=>{if(!X)return eU(U??{},void 0);if(!U)return X;let q={...X},Z;for(Z in U)if(Z==="fallback")q.fallback=SG(X.fallback,U.fallback);else q[Z]=U[Z];return eU(q,U)},eU=(X,U)=>{if(U?.dialect!==void 0)return X;if(U?.target!==void 0)return{...X,dialect:CG[U.target]};return X},SG=(X,U)=>{X=Xq(X),U=Xq(U);let q={},Z;for(Z in p.defaultConfig.fallback)q[Z]=U[Z]??U.default??X[Z]??X.default??p.defaultConfig.fallback[Z];return q},Xq=(X)=>typeof X==="function"?{default:X}:X??{};class o0 extends J2{[U0]="error";path;data;nodeConfig;input;ctx;constructor({prefixPath:X,relativePath:U,...q},Z){super();this.input=q,this.ctx=Z,MU(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(!X&&!U)return J;return J.map((H)=>H.transform((W)=>({...W,path:VU(X,W.path,U)})))});this.nodeConfig=Z.config[this.code];let G=[...q.path??Z.path];if(U)G.push(...U);if(X)G.unshift(...X);this.path=new A2(...G),this.data="data"in q?q.data:Q}transform(X){return new o0(X({data:this.data,path:this.path,...this.input}),this.ctx)}hasCode(X){return this.code===X}get propString(){return v0(this.path)}get expected(){if(this.input.expected)return this.input.expected;let X=this.meta?.expected??this.nodeConfig.expected;return typeof X==="function"?X(this.input):X}get actual(){if(this.input.actual)return this.input.actual;let X=this.meta?.actual??this.nodeConfig.actual;return typeof X==="function"?X(this.data):X}get problem(){if(this.input.problem)return this.input.problem;let X=this.meta?.problem??this.nodeConfig.problem;return typeof X==="function"?X(this):X}get message(){if(this.input.message)return this.input.message;let X=this.meta?.message??this.nodeConfig.message;return typeof X==="function"?X(this):X}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 W6{[U0]="errors";ctx;constructor(X){super();this.ctx=X}byPath=Object.create(null);get flatByPath(){return S(this.byPath,(X,U)=>[X,U.flat])}get flatProblemsByPath(){return S(this.byPath,(X,U)=>[X,U.flat.map((q)=>q.problem)])}byAncestorPath=Object.create(null);count=0;mutable=this;throw(){throw this.toTraversalError()}toTraversalError(){return new a4(this)}add(X){let U=this.byPath[X.propString];if(U){if(X===U)return;if(U.hasCode("union")&&U.errors.length===0)return;let q=X.hasCode("union")&&X.errors.length===0?X:new o0({code:"intersection",errors:U.hasCode("intersection")?[...U.errors,X]:[U,X]},this.ctx),Z=this.indexOf(U);this.mutable[Z===-1?this.length:Z]=q,this.byPath[X.propString]=q,this.addAncestorPaths(X)}else this.byPath[X.propString]=X,this.addAncestorPaths(X),this.mutable.push(X);this.count++}transform(X){let U=new J0(this.ctx);for(let q of this)U.add(X(q));return U}merge(X){for(let U of X)this.add(new o0({...U,path:[...this.ctx.path,...U.path]},this.ctx))}affectsPath(X){if(this.length===0)return!1;return X.stringifyAncestors().some((U)=>(U in this.byPath))||X.stringify()in this.byAncestorPath}get summary(){return this.toString()}get issues(){return this}toJSON(){return[...this.map((X)=>X.toJSON())]}toString(){return this.join(`
|
|
154
|
+
`)}addAncestorPaths(X){for(let U of X.path.stringifyAncestors())this.byAncestorPath[U]=y(this.byAncestorPath[U],X)}}class a4 extends Error{name="TraversalError";constructor(X){if(X.length===1)super(X.summary);else super(`
|
|
155
|
+
`+X.map((U)=>` • ${EG(U)}`).join(`
|
|
156
|
+
`));Object.defineProperty(this,"arkErrors",{value:X,enumerable:!1})}}var EG=(X)=>X.toString().split(`
|
|
157
157
|
`).join(`
|
|
158
|
-
`);class w0{path=[];errors=new H0(this);root;config;queuedMorphs=[];branches=[];seen={};constructor(X,U){this.root=X,this.config=U}get data(){let X=this.root;for(let U of this.path)X=X?.[U];return X}get propString(){return k0(this.path)}reject(X){return this.error(X),!1}mustBe(X){return this.error(X),!1}error(X){let U=typeof X==="object"?X.code?X:{...X,code:"predicate"}:{code:"predicate",expected:X};return this.errorFromContext(U)}hasError(){return this.currentErrorCount!==0}get currentBranch(){return this.branches[this.branches.length-1]}queueMorphs(X){let U={path:new A2(...this.path),morphs:X};if(this.currentBranch)this.currentBranch.queuedMorphs.push(U);else this.queuedMorphs.push(U)}finalize(X){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 X?X(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(X){return this.errorFromContext(X)}errorFromContext(X){let U=new s0(X,this);if(this.currentBranch)this.currentBranch.error=U;else this.errors.add(U);return U}applyQueuedMorphs(){while(this.queuedMorphs.length){let X=this.queuedMorphs;this.queuedMorphs=[];for(let{path:U,morphs:q}of X){if(this.errors.affectsPath(U))continue;this.applyMorphsAtPath(U,q)}}}applyMorphsAtPath(X,U){let q=X[X.length-1],Z;if(q!==void 0){Z=this.root;for(let Q=0;Q<X.length-1;Q++)Z=Z[X[Q]]}for(let Q of U){this.path=[...X];let G=h(Q),Y=Q(Z===void 0?this.root:Z[q],this);if(Y instanceof s0){if(!this.errors.includes(Y))this.errors.add(Y);break}if(Y instanceof H0){if(!G)this.errors.merge(Y);this.queuedMorphs=[];break}if(Z===void 0)this.root=Y;else Z[q]=Y;this.applyQueuedMorphs()}}}var J0=(X,U,q)=>{if(!q)return U();q.path.push(X);let Z=U();return q.path.pop(),Z};class R2 extends Y0{attachments;$;onFail;includesTransform;includesContextualPredicate;isCyclic;allowsRequiresContext;rootApplyStrategy;contextFreeMorph;rootApply;referencesById;shallowReferences;flatRefs;flatMorphs;allows;get shallowMorphs(){return[]}constructor(X,U){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:X});this.attachments=X,this.$=U,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)=>jG(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)=>Xq(H,Y))){this.flatRefs.push(Y);for(let H of Y.node.branches)if(H.hasKind("morph")||H.hasKind("intersection")&&H.structure?.structuralMorph!==void 0)this.flatMorphs.push({path:Y.path,propString:Y.propString,node:H})}}}Object.assign(this.referencesById,this.children[Z].referencesById)}this.flatRefs.sort((Z,Q)=>Z.path.length>Q.path.length?1:Z.path.length<Q.path.length?-1:Z.propString>Q.propString?1:Z.propString<Q.propString?-1:Z.node.expression<Q.node.expression?-1:1),this.allowsRequiresContext=this.includesContextualPredicate||this.isCyclic,this.rootApplyStrategy=!this.allowsRequiresContext&&this.flatMorphs.length===0?this.shallowMorphs.length===0?"allows":this.shallowMorphs.every((Z)=>Z.length===1||Z.name==="$arkStructuralMorph")?this.hasKind("union")?this.branches.some((Z)=>Z.shallowMorphs.length>1)?"contextual":"branchedOptimistic":this.shallowMorphs.length>1?"contextual":"optimistic":"contextual":"contextual",this.rootApply=this.createRootApply(),this.allows=this.allowsRequiresContext?(Z)=>this.traverseAllows(Z,new w0(Z,this.$.resolvedConfig)):(Z)=>this.traverseAllows(Z)}createRootApply(){switch(this.rootApplyStrategy){case"allows":return(U,q)=>{if(this.allows(U))return U;let Z=new w0(U,this.$.resolvedConfig);return this.traverseApply(U,Z),Z.finalize(q)};case"contextual":return(U,q)=>{let Z=new w0(U,this.$.resolvedConfig);return this.traverseApply(U,Z),Z.finalize(q)};case"optimistic":this.contextFreeMorph=this.shallowMorphs[0];let X=this.$.resolvedConfig.clone;return(U,q)=>{if(this.allows(U))return this.contextFreeMorph(X&&(typeof U==="object"&&U!==null||typeof U==="function")?X(U):U);let Z=new w0(U,this.$.resolvedConfig);return this.traverseApply(U,Z),Z.finalize(q)};case"branchedOptimistic":return this.createBranchedOptimisticRootApply();default:return this.rootApplyStrategy,g(`Unexpected rootApplyStrategy ${this.rootApplyStrategy}`)}}compiledMeta=bG(this.metaJson);cacheGetter(X,U){return Object.defineProperty(this,X,{value:U}),U}get description(){return this.cacheGetter("description",this.meta?.description??this.$.resolvedConfig[this.kind].description(this))}get references(){return Object.values(this.referencesById)}precedence=E1(this.kind);precompilation;assert=(X,U)=>this(X,U,(q)=>q.throw());traverse(X,U){return this(X,U,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(X){if(!this.includesTransform)return this;let U={};for(let[q,Z]of this.innerEntries){let Q=this.impl.keys[q];if(Q.reduceIo)Q.reduceIo(X,U,Z);else if(Q.child){let G=Z;U[q]=x(G)?G.map((Y)=>X==="in"?Y.rawIn:Y.rawOut):X==="in"?G.rawIn:G.rawOut}else U[q]=Z}return this.$.node(this.kind,U)}toJSON(){return this.json}toString(){return`Type<${this.expression}>`}equals(X){let U=h(X)?X:this.$.parseDefinition(X);return this.innerHash===U.innerHash}ifEquals(X){return this.equals(X)?this:void 0}hasKind(X){return this.kind===X}assertHasKind(X){if(this.kind!==X)Y1(`${this.kind} node was not of asserted kind ${X}`);return this}hasKindIn(...X){return X.includes(this.kind)}assertHasKindIn(...X){if(!z0(X,this.kind))Y1(`${this.kind} node was not one of asserted kinds ${X}`);return this}isBasis(){return z0(sU,this.kind)}isConstraint(){return z0(A6,this.kind)}isStructural(){return z0(N1,this.kind)}isRefinement(){return z0(s4,this.kind)}isRoot(){return z0(C1,this.kind)}isUnknown(){return this.hasKind("intersection")&&this.children.length===0}isNever(){return this.hasKind("union")&&this.children.length===0}hasUnit(X){return this.hasKind("unit")&&this.allows(X)}hasOpenIntersection(){return this.impl.intersectionIsOpen}get nestableExpression(){return this.expression}select(X){let U=T2.normalize(X);return this._select(U)}_select(X){let U=T2.applyBoundary[X.boundary??"references"](this);if(X.kind)U=U.filter((q)=>q.kind===X.kind);if(X.where)U=U.filter(X.where);return T2.applyMethod[X.method??"filter"](U,this,X)}transform(X,U){return this._transform(X,this._createTransformContext(U))}_createTransformContext(X){return{root:this,selected:void 0,seen:{},path:[],parseOptions:{prereduced:X?.prereduced??!1},undeclaredKeyHandling:void 0,...X}}_transform(X,U){let q=U.bindScope??this.$;if(U.seen[this.id])return this.$.lazilyResolve(U.seen[this.id]);if(U.shouldTransform?.(this,U)===!1)return this;let Z;if(U.seen[this.id]=()=>Z,this.hasKind("structure")&&this.undeclared!==U.undeclaredKeyHandling)U={...U,undeclaredKeyHandling:this.undeclared};let Q=S(this.inner,(W,$)=>{if(!this.impl.keys[W].child)return[W,$];let _=$;if(!x(_)){let A=_._transform(X,U);return A?[W,A]:[]}if(_.length===0)return[W,$];let L=_.flatMap((A)=>{return A._transform(X,U)??[]});return L.length?[W,L]:[]});delete U.seen[this.id];let G=Object.assign(Q,{meta:this.meta}),Y=U.selected&&!U.selected.includes(this)?G:X(this.kind,G,U);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 U.undeclaredKeyHandling?{...Y,value:V.intrinsic.unknown}:null;if(this.kind==="morph")Y.in??=V.intrinsic.unknown;return Z=q.node(this.kind,Y,U.parseOptions)}configureReferences(X,U="references"){let q=T2.normalize(U),Z=typeof X==="string"?(H,J)=>({...J,meta:{...J.meta,description:X}}):typeof X==="function"?(H,J)=>({...J,meta:X(J.meta)}):(H,J)=>({...J,meta:{...J.meta,...X}});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 T2={applyBoundary:{self:(X)=>[X],child:(X)=>[...X.children],shallow:(X)=>[...X.shallowReferences],references:(X)=>[...X.references]},applyMethod:{filter:(X)=>X,assertFilter:(X,U,q)=>{if(X.length===0)Y1(eU(U,q));return X},find:(X)=>X[0],assertFind:(X,U,q)=>{if(X.length===0)Y1(eU(U,q));return X[0]}},normalize:(X)=>typeof X==="function"?{boundary:"references",method:"filter",where:X}:typeof X==="string"?a(X,T2.applyBoundary)?{method:"filter",boundary:X}:{boundary:"references",method:"filter",kind:X}:{boundary:"references",method:"filter",...X}},eU=(X,U)=>`${X} had no references matching ${E(U)}.`,SG=(X)=>k0(X,{stringifyNonKey:(U)=>U.expression}),EG=/"(\$ark\.[^"]+)"/g,bG=(X)=>JSON.stringify(X).replace(EG,"$1"),P0=(X,U)=>({path:X,node:U,propString:SG(X)}),Xq=(X,U)=>X.propString===U.propString&&X.node.equals(U.node),a4=(X,U)=>N0(X,U,{isEqual:Xq}),jG=(X,U)=>N0(X,U,{isEqual:(q,Z)=>q.equals(Z)});class B extends Array{static init(X,U,q,Z){return new B({kind:X,l:U,r:q,path:Z?.path??[],optional:Z?.optional??!1})}add(X,U,q,Z){return this.push({kind:X,l:U,r:q,path:Z?.path??[],optional:Z?.optional??!1}),this}get summary(){return this.describeReasons()}describeReasons(){if(this.length===1){let{path:X,l:U,r:q}=this[0],Z=k0(X);return t4(`Intersection${Z&&` at ${Z}`} of ${Uq(U,q)}`)}return`The following intersections result in unsatisfiable types:
|
|
159
|
-
• ${this.map(({path:X,l:U,r:q})=>`${X}: ${
|
|
160
|
-
• `)}`}throw(){return F(this.describeReasons())}invert(){let X=this.map((U)=>({...U,l:U.r,r:U.l}));if(!(X instanceof B))return new B(...X);return X}withPrefixKey(X,U){return this.map((q)=>({...q,path:[X,...q.path],optional:q.optional||U==="optional"}))}toNeverIfDisjoint(){return V.intrinsic.never}}var Uq=(X,U)=>`${n4(X)} and ${n4(U)}`,n4=(X)=>h(X)?X.expression:x(X)?X.map(n4).join(" | ")||"never":String(X),t4=(X)=>`${X} results in an unsatisfiable type`;var b1={},W0=(X,U,q)=>u(X,U,{$:q,invert:!1,pipe:!1}),D2=(X,U,q)=>u(X,U,{$:q,invert:!1,pipe:!0}),u=(X,U,q)=>{let Z=q.pipe?"|>":"&",Q=`${X.hash}${Z}${U.hash}`;if(b1[Q]!==void 0)return b1[Q];if(!q.pipe){let H=`${U.hash}${Z}${X.hash}`;if(b1[H]!==void 0){let J=b1[H],W=J instanceof B?J.invert():J;return b1[Q]=W,W}}let G=!q.pipe||!X.includesTransform&&!U.includesTransform;if(G&&X.equals(U))return X;let Y=G?e4(X,U,q):X.hasKindIn(...C1)?fG(X,U,q):e4(X,U,q);if(h(Y)){if(X.equals(Y))Y=X;else if(U.equals(Y))Y=U}return b1[Q]=Y,Y},e4=(X,U,q)=>{let Z=X.precedence<U.precedence?X.kind:U.kind,Q=X.impl.intersections[U.kind]??U.impl.intersections[X.kind];if(Q===void 0)return null;else if(Z===X.kind)return Q(X,U,q);else{let G=Q(U,X,{...q,invert:!q.invert});if(G instanceof B)G=G.invert();return G}},fG=(X,U,q)=>X.includesTransform||U.includesTransform?q.invert?qq(U,X,q):qq(X,U,q):e4(X,U,q),qq=(X,U,q)=>X.distribute((Z)=>yG(Z,U,q),(Z)=>{let Q=Z.filter(h);if(Q.length===0)return B.init("union",X.branches,U.branches);if(Q.length<X.branches.length||!X.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)}),yG=(X,U,q)=>{if(X.hasKind("morph")){let Q=[...X.morphs];if(X.lastMorphIfNode){let G=u(X.lastMorphIfNode,U,q);if(G instanceof B)return G;Q[Q.length-1]=G}else Q.push(U);return q.$.node("morph",{morphs:Q,in:X.inner.in})}if(U.hasKind("morph")){let Q=u(X,U.rawIn,q);if(Q instanceof B)return Q;return q.$.node("morph",{morphs:[U],in:Q})}return q.$.node("morph",{morphs:[U],in:X})};class A0 extends R2{constructor(X,U){super(X,U);Object.defineProperty(this,U0,{value:"constraint",enumerable:!1})}impliedSiblings;intersect(X){return W0(this,X,this.$)}}class v0 extends A0{traverseApply=(X,U)=>{if(!this.traverseAllows(X,U))U.errorFromNodeContext(this.errorContext)};compile(X){if(X.traversalKind==="Allows")X.return(this.compiledCondition);else X.if(this.compiledNegation,()=>X.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 X0=(X)=>(U,q)=>{if(x(U)){if(U.length===0)return;let Q=U.map((G)=>q.$.node(X,G));if(X==="predicate")return Q;return Q.sort((G,Y)=>G.hash<Y.hash?-1:1)}let Z=q.$.node(X,U);return Z.hasOpenIntersection()?[Z]:Z},j1=(X)=>{let U=X.r.shift();if(!U){let Z=X.l.length===0&&X.kind==="structure"?V.intrinsic.unknown.internal:X.ctx.$.node(X.kind,Object.assign(X.baseInner,gG(X.l)),{prereduced:!0});for(let Q of X.roots){if(Z instanceof B)return Z;Z=u(Q,Z,X.ctx)}return Z}let q=!1;for(let Z=0;Z<X.l.length;Z++){let Q=u(X.l[Z],U,X.ctx);if(Q===null)continue;if(Q instanceof B)return Q;if(Q.isRoot())return X.roots.push(Q),X.l.splice(Z),j1(X);if(!q)X.l[Z]=Q,q=!0;else if(!X.l.includes(Q))return g(`Unexpectedly encountered multiple distinct intersection results for refinement ${U}`)}if(!q)X.l.push(U);if(X.kind==="intersection"){if(U.impliedSiblings)for(let Z of U.impliedSiblings)N0(X.r,Z)}return j1(X)},f1=(X)=>{return Object.entries(X).flatMap(([q,Z])=>(q in V6)?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)},gG=(X)=>{let U={};for(let q of X)if(q.hasOpenIntersection())U[q.kind]=y(U[q.kind],q);else{if(U[q.kind])return g(`Unexpected intersection of closed refinements of kind ${q.kind}`);U[q.kind]=q}return U},Zq=(...X)=>F(Qq(...X)),Qq=(X,U,q)=>{let Z=q.hasKind("morph")?"a morph":q.isUnknown()?"unknown":q.exclude(U).defaultShortDescription;return`${EU(X)} operand must be ${U.description} (was ${Z})`};var Gq=(X,U,q)=>new o0(X,U,q,q,null);class B6 extends Y0{}class o0 extends Y0{[U0]="generic";paramDefs;bodyDef;$;arg$;baseInstantiation;hkt;description;constructor(X,U,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(kG(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(U,{args:Y})});this.paramDefs=X,this.bodyDef=U,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 B6}cacheGetter(X,U){return Object.defineProperty(this,X,{value:U}),U}get json(){return this.cacheGetter("json",{params:this.params.map((X)=>X[1].isUnknown()?X[0]:[X[0],X[1].json]),body:pU(this.bodyDef)})}get params(){return this.cacheGetter("params",this.paramDefs.map((X)=>typeof X==="string"?[X,V.intrinsic.unknown]:[X[0],this.$.parse(X[1])]))}get names(){return this.cacheGetter("names",this.params.map((X)=>X[0]))}get constraints(){return this.cacheGetter("constraints",this.params.map((X)=>X[1]))}get internal(){return this}get referencesById(){return this.baseInstantiation.internal.referencesById}get references(){return this.baseInstantiation.internal.references}}var kG=(X,U,q)=>`${X} must be assignable to ${U} (was ${q})`;var vG=b({kind:"predicate",hasAssociatedError:!0,collapsibleKey:"predicate",keys:{predicate:{}},normalize:(X)=>typeof X==="function"?{predicate:X}:X,defaults:{description:(X)=>`valid according to ${X.predicate.name||"an anonymous predicate"}`},intersectionIsOpen:!0,intersections:{predicate:()=>null}});class Yq 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=(X,U)=>{let q=U.currentErrorCount;if(!this.predicate(X,U.external)&&U.currentErrorCount===q)U.errorFromNodeContext(this.errorContext)};compile(X){if(X.traversalKind==="Allows"){X.return(this.compiledCondition);return}X.initializeErrorCount(),X.if(`${this.compiledNegation} && ctx.currentErrorCount === errorCount`,()=>X.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}reduceJsonSchema(X,U){return U.fallback.predicate({code:"predicate",base:X,predicate:this.predicate})}}var X9={implementation:vG,Node:Yq};var xG=b({kind:"divisor",collapsibleKey:"rule",keys:{rule:{parse:(X)=>Number.isInteger(X)?X:F(hG(X))}},normalize:(X)=>typeof X==="number"?{rule:X}:X,hasAssociatedError:!0,defaults:{description:(X)=>X.rule===1?"an integer":X.rule===2?"even":`a multiple of ${X.rule}`},intersections:{divisor:(X,U,q)=>q.$.node("divisor",{rule:Math.abs(X.rule*U.rule/uG(X.rule,U.rule))})},obviatesBasisDescription:!0});class Hq extends v0{traverseAllows=(X)=>X%this.rule===0;compiledCondition=`data % ${this.rule} === 0`;compiledNegation=`data % ${this.rule} !== 0`;impliedBasis=V.intrinsic.number.internal;expression=`% ${this.rule}`;reduceJsonSchema(X){if(X.type="integer",this.rule===1)return X;return X.multipleOf=this.rule,X}}var U9={implementation:xG,Node:Hq};var hG=(X)=>`divisor must be an integer (was ${X})`,uG=(X,U)=>{let q,Z=X,Q=U;while(Q!==0)q=Q,Q=Z%Q,Z=q;return Z};class L0 extends v0{boundOperandKind=dG[this.kind];compiledActual=this.boundOperandKind==="value"?"data":this.boundOperandKind==="length"?"data.length":"data.valueOf()";comparator=cG(this.kind,this.exclusive);numericLimit=this.rule.valueOf();expression=`${this.comparator} ${this.rule}`;compiledCondition=`${this.compiledActual} ${this.comparator} ${this.numericLimit}`;compiledNegation=`${this.compiledActual} ${mG[this.comparator]} ${this.numericLimit}`;stringLimit=this.boundOperandKind==="date"?iG(this.numericLimit):`${this.numericLimit}`;limitKind=this.comparator["0"]==="<"?"upper":"lower";isStricterThan(X){return(this.limitKind==="upper"?this.numericLimit<X.numericLimit:this.numericLimit>X.numericLimit)||this.numericLimit===X.numericLimit&&this.exclusive===!0&&!X.exclusive}overlapsRange(X){if(this.isStricterThan(X))return!1;if(this.numericLimit===X.numericLimit&&(this.exclusive||X.exclusive))return!1;return!0}overlapIsUnit(X){return this.numericLimit===X.numericLimit&&!this.exclusive&&!X.exclusive}}var mG={"<":">=","<=":">",">":"<=",">=":"<"},pG={min:"max",minLength:"maxLength",after:"before"},T6={parse:(X)=>X||void 0},R6=(X)=>(U)=>{if(typeof U==="number")return{rule:U};let{exclusive:q,...Z}=U;return q?{...Z,rule:X==="minLength"?Z.rule+1:Z.rule-1}:Z},D6=(X)=>(U)=>{if(typeof U==="number"||typeof U==="string"||U instanceof Date)return{rule:U};let{exclusive:q,...Z}=U;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:X==="after"?Q+1:Q-1}:Z},M6=(X)=>typeof X==="string"||typeof X==="number"?new Date(X):X,lG=(X,U)=>`${X} bound must be a positive integer (was ${U})`,y1=(X)=>(U)=>{if(!Number.isInteger(U)||U<0)F(lG(X,U));return U},dG={min:"value",max:"value",minLength:"length",maxLength:"length",after:"date",before:"date"},cG=(X,U)=>`${a(X,pG)?">":"<"}${U?"":"="}`,iG=(X)=>typeof X==="string"?X:new Date(X).toLocaleString(),Jq=(X)=>`Bounded expression ${X} must be exactly one of number, string, Array, or Date`;var sG=b({kind:"after",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:M6,serialize:(X)=>X.toISOString()}},normalize:D6("after"),defaults:{description:(X)=>`${X.collapsibleLimitString} or later`,actual:$1},intersections:{after:(X,U)=>X.isStricterThan(U)?X:U}});class Wq extends L0{impliedBasis=V.intrinsic.Date.internal;collapsibleLimitString=$1(this.rule);traverseAllows=(X)=>X>=this.rule;reduceJsonSchema(X,U){return U.fallback.date({code:"date",base:X,after:this.rule})}}var q9={implementation:sG,Node:Wq};var oG=b({kind:"before",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:M6,serialize:(X)=>X.toISOString()}},normalize:D6("before"),defaults:{description:(X)=>`${X.collapsibleLimitString} or earlier`,actual:$1},intersections:{before:(X,U)=>X.isStricterThan(U)?X:U,after:(X,U,q)=>X.overlapsRange(U)?X.overlapIsUnit(U)?q.$.node("unit",{unit:X.rule}):null:B.init("range",X,U)}});class _q extends L0{collapsibleLimitString=$1(this.rule);traverseAllows=(X)=>X<=this.rule;impliedBasis=V.intrinsic.Date.internal;reduceJsonSchema(X,U){return U.fallback.date({code:"date",base:X,before:this.rule})}}var Z9={implementation:oG,Node:_q};var rG=b({kind:"exactLength",collapsibleKey:"rule",keys:{rule:{parse:y1("exactLength")}},normalize:(X)=>typeof X==="number"?{rule:X}:X,hasAssociatedError:!0,defaults:{description:(X)=>`exactly length ${X.rule}`,actual:(X)=>`${X.length}`},intersections:{exactLength:(X,U,q)=>B.init("unit",q.$.node("unit",{unit:X.rule}),q.$.node("unit",{unit:U.rule}),{path:["length"]}),minLength:(X,U)=>X.rule>=U.rule?X:B.init("range",X,U),maxLength:(X,U)=>X.rule<=U.rule?X:B.init("range",X,U)}});class $q extends v0{traverseAllows=(X)=>X.length===this.rule;compiledCondition=`data.length === ${this.rule}`;compiledNegation=`data.length !== ${this.rule}`;impliedBasis=V.intrinsic.lengthBoundable.internal;expression=`== ${this.rule}`;reduceJsonSchema(X){switch(X.type){case"string":return X.minLength=this.rule,X.maxLength=this.rule,X;case"array":return X.minItems=this.rule,X.maxItems=this.rule,X;default:return p.throwInternalOperandError("exactLength",X)}}}var Q9={implementation:rG,Node:$q};var aG=b({kind:"max",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:T6},normalize:(X)=>typeof X==="number"?{rule:X}:X,defaults:{description:(X)=>{if(X.rule===0)return X.exclusive?"negative":"non-positive";return`${X.exclusive?"less than":"at most"} ${X.rule}`}},intersections:{max:(X,U)=>X.isStricterThan(U)?X:U,min:(X,U,q)=>X.overlapsRange(U)?X.overlapIsUnit(U)?q.$.node("unit",{unit:X.rule}):null:B.init("range",X,U)},obviatesBasisDescription:!0});class Lq extends L0{impliedBasis=V.intrinsic.number.internal;traverseAllows=this.exclusive?(X)=>X<this.rule:(X)=>X<=this.rule;reduceJsonSchema(X){if(this.exclusive)X.exclusiveMaximum=this.rule;else X.maximum=this.rule;return X}}var G9={implementation:aG,Node:Lq};var nG=b({kind:"maxLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:y1("maxLength")}},reduce:(X,U)=>X.rule===0?U.node("exactLength",X):void 0,normalize:R6("maxLength"),defaults:{description:(X)=>`at most length ${X.rule}`,actual:(X)=>`${X.length}`},intersections:{maxLength:(X,U)=>X.isStricterThan(U)?X:U,minLength:(X,U,q)=>X.overlapsRange(U)?X.overlapIsUnit(U)?q.$.node("exactLength",{rule:X.rule}):null:B.init("range",X,U)}});class zq extends L0{impliedBasis=V.intrinsic.lengthBoundable.internal;traverseAllows=(X)=>X.length<=this.rule;reduceJsonSchema(X){switch(X.type){case"string":return X.maxLength=this.rule,X;case"array":return X.maxItems=this.rule,X;default:return p.throwInternalOperandError("maxLength",X)}}}var Y9={implementation:nG,Node:zq};var tG=b({kind:"min",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:T6},normalize:(X)=>typeof X==="number"?{rule:X}:X,defaults:{description:(X)=>{if(X.rule===0)return X.exclusive?"positive":"non-negative";return`${X.exclusive?"more than":"at least"} ${X.rule}`}},intersections:{min:(X,U)=>X.isStricterThan(U)?X:U},obviatesBasisDescription:!0});class Fq extends L0{impliedBasis=V.intrinsic.number.internal;traverseAllows=this.exclusive?(X)=>X>this.rule:(X)=>X>=this.rule;reduceJsonSchema(X){if(this.exclusive)X.exclusiveMinimum=this.rule;else X.minimum=this.rule;return X}}var H9={implementation:tG,Node:Fq};var eG=b({kind:"minLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:y1("minLength")}},reduce:(X)=>X.rule===0?V.intrinsic.unknown:void 0,normalize:R6("minLength"),defaults:{description:(X)=>X.rule===1?"non-empty":`at least length ${X.rule}`,actual:(X)=>X.length===0?"":`${X.length}`},intersections:{minLength:(X,U)=>X.isStricterThan(U)?X:U}});class Aq extends L0{impliedBasis=V.intrinsic.lengthBoundable.internal;traverseAllows=(X)=>X.length>=this.rule;reduceJsonSchema(X){switch(X.type){case"string":return X.minLength=this.rule,X;case"array":return X.minItems=this.rule,X;default:return p.throwInternalOperandError("minLength",X)}}}var J9={implementation:eG,Node:Aq};var Vq={min:H9.implementation,max:G9.implementation,minLength:J9.implementation,maxLength:Y9.implementation,exactLength:Q9.implementation,after:q9.implementation,before:Z9.implementation},Oq={min:H9.Node,max:G9.Node,minLength:J9.Node,maxLength:Y9.Node,exactLength:Q9.Node,after:q9.Node,before:Z9.Node};var X5=b({kind:"pattern",collapsibleKey:"rule",keys:{rule:{},flags:{}},normalize:(X)=>typeof X==="string"?{rule:X}:X instanceof RegExp?X.flags?{rule:X.source,flags:X.flags}:{rule:X.source}:X,obviatesBasisDescription:!0,obviatesBasisExpression:!0,hasAssociatedError:!0,intersectionIsOpen:!0,defaults:{description:(X)=>`matched by ${X.rule}`},intersections:{pattern:()=>null}});class Bq 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=V.intrinsic.string.internal;reduceJsonSchema(X,U){if(X.pattern)return U.fallback.patternIntersection({code:"patternIntersection",base:X,pattern:this.rule});return X.pattern=this.rule,X}}var W9={implementation:X5,Node:Bq};var M2=(X,U)=>{let q=U5(X);if(U&&!U.includes(q))return F(`Root of kind ${q} should be one of ${U}`);return q},U5=(X)=>{if(M(X,"root"))return X.kind;if(typeof X==="string")return X[0]==="$"?"alias":(X in Q0)?"domain":"proto";if(typeof X==="function")return"proto";if(typeof X!=="object"||X===null)return F(Tq(X));if("morphs"in X)return"morph";if("branches"in X||x(X))return"union";if("unit"in X)return"unit";if("reference"in X)return"alias";let U=Object.keys(X);if(U.length===0||U.some((q)=>(q in V6)))return"intersection";if("proto"in X)return"proto";if("domain"in X)return"domain";return F(Tq(X))},Tq=(X)=>`${E(X)} is not a valid type schema`,Rq={},q5=(X)=>x(X)?X.map((U)=>U.collapsibleJson):X.collapsibleJson,q0={};V.nodesByRegisteredId=q0;var _9=(X)=>{return Rq[X]??=0,`${X}${++Rq[X]}`},$9=(X)=>{let U=g1[X.kind],q=U.applyConfig?.(X.def,X.$.resolvedConfig)??X.def,Z={},{meta:Q,...G}=q,Y=Q===void 0?{}:typeof Q==="string"?{description:Q}:Q,H=y4(G).sort(([W],[$])=>S1(W)?S1($)?E1(W)-E1($):1:S1($)?-1:W<$?-1:1).filter(([W,$])=>{if(W.startsWith("meta.")){let _=W.slice(5);return Y[_]=$,!1}return!0});for(let W of H){let $=W[0],_=U.keys[$];if(!_)return F(`Key ${$} is not valid on ${X.kind} schema`);let L=_.parse?_.parse(W[1],X):W[1];if(L!==G0&&(L!==void 0||_.preserveUndefined))Z[$]=L}if(U.reduce&&!X.prereduced){let W=U.reduce(Z,X.$);if(W){if(W instanceof B)return W.throw();return Z5(W,Y)}}return L9({id:X.id,kind:X.kind,inner:Z,meta:Y,$:X.$})},L9=({id:X,kind:U,inner:q,meta:Z,$:Q,ignoreCache:G})=>{let Y=g1[U],H=y4(q),J=[],W={};for(let[D,P]of H){let K=Y.keys[D],C=K.serialize??(K.child?q5:F0);if(W[D]=C(P),K.child===!0){let N=P;if(x(N))J.push(...N);else J.push(N)}else if(typeof K.child==="function")J.push(...K.child(P))}if(Y.finalizeInnerJson)W=Y.finalizeInnerJson(W);let $={...W},_={};if(!C0(Z))_=S(Z,(D,P)=>[D,D==="examples"?P:F0(P)]),$.meta=w6(_,"description",!0);W=w6(W,Y.collapsibleKey,!1);let L=JSON.stringify({kind:U,...W});$=w6($,Y.collapsibleKey,!1);let A=w6($,Y.collapsibleKey,!0),T=JSON.stringify({kind:U,...$});if(Q.nodesByHash[T]&&!G)return Q.nodesByHash[T];let z={id:X,kind:U,impl:Y,inner:q,innerEntries:H,innerJson:W,innerHash:L,meta:Z,metaJson:_,json:$,hash:T,collapsibleJson:A,children:J};if(U!=="intersection"){for(let D in q)if(D!=="in"&&D!=="out")z[D]=q[D]}let O=new Mq[U](z,Q);return Q.nodesByHash[T]=O},Dq=(X,U)=>{if(X.id===U)return X;if(h(q0[U]))g(`Unexpected attempt to overwrite node id ${U}`);return L9({id:U,kind:X.kind,inner:X.inner,meta:X.meta,$:X.$,ignoreCache:!0})},Z5=(X,U,q)=>{if(q&&h(q0[q]))g(`Unexpected attempt to overwrite node id ${q}`);return L9({id:q??_9(U.alias??X.kind),kind:X.kind,inner:X.inner,meta:U,$:X.$})},w6=(X,U,q)=>{let Z=Object.keys(X);if(Z.length===1&&Z[0]===U){let Q=X[U];if(q)return Q;if(Z0(Q,"object")&&(Object.keys(Q).length===1||Array.isArray(Q)))return Q}return X};var w2=(X,U,q)=>{if(X.key!==U.key)return null;let Z=X.key,Q=u(X.value,U.value,q),G=X.required||U.required?"required":"optional";if(Q instanceof B)if(G==="optional")Q=V.intrinsic.never.internal;else return Q.withPrefixKey(X.key,X.required&&U.required?"required":"optional");if(G==="required")return q.$.node("required",{key:Z,value:Q});let Y=X.hasDefault()?U.hasDefault()?X.default===U.default?X.default:F(z9(X.default,U.default)):X.default:U.hasDefault()?U.default:G0;return q.$.node("optional",{key:Z,value:Q,default:Y})};class P2 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((X)=>P0([this.key,...X.path],X.node)),P0([this.key],this.value));_transform(X,U){U.path.push(this.key);let q=super._transform(X,U);return U.path.pop(),q}hasDefault(){return"default"in this.inner}traverseAllows=(X,U)=>{if(this.key in X)return J0(this.key,()=>this.value.traverseAllows(X[this.key],U),U);return this.optional};traverseApply=(X,U)=>{if(this.key in X)J0(this.key,()=>this.value.traverseApply(X[this.key],U),U);else if(this.hasKind("required"))U.errorFromNodeContext(this.errorContext)};compile(X){if(X.if(`${this.serializedKey} in data`,()=>X.traverseKey(this.serializedKey,`data${X.prop(this.key)}`,this.value)),this.hasKind("required"))X.else(()=>X.traversalKind==="Apply"?X.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`):X.return(!1));if(X.traversalKind==="Allows")X.return(!0)}}var z9=(X,U)=>`Invalid intersection of default values ${E(X)} & ${E(U)}`;var Q5=b({kind:"optional",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(X,U)=>U.$.parseSchema(X)},default:{preserveUndefined:!0}},normalize:(X)=>X,reduce:(X,U)=>{if(U.resolvedConfig.exactOptionalPropertyTypes===!1){if(!X.value.allows(void 0))return U.node("optional",{...X,value:X.value.or(I.undefined)},{prereduced:!0})}},defaults:{description:(X)=>`${X.compiledKey}?: ${X.value.description}`},intersections:{optional:w2}});class wq extends P2{constructor(...X){super(...X);if("default"in this.inner)K2(this.value,this.inner.default,this.key)}get rawIn(){let X=super.rawIn;if(!this.hasDefault())return X;return this.$.node("optional",W6(X.inner,{default:!0}),{prereduced:!0})}get outProp(){if(!this.hasDefault())return this;let{default:X,...U}=this.inner;return this.cacheGetter("outProp",this.$.node("required",U,{prereduced:!0}))}expression=this.hasDefault()?`${this.compiledKey}: ${this.value.expression} = ${E(this.inner.default)}`:`${this.compiledKey}?: ${this.value.expression}`;defaultValueMorph=Y5(this);defaultValueMorphRef=this.defaultValueMorph&&d(this.defaultValueMorph)}var I2={implementation:Q5,Node:wq},G5={},Y5=(X)=>{if(!X.hasDefault())return;let U=`{${X.compiledKey}: ${X.value.id} = ${F0(X.default)}}`;return G5[U]??=F9(X.key,X.value,X.default)},F9=(X,U,q)=>{if(typeof q==="function")return U.includesTransform?(Q,G)=>{return J0(X,()=>U(Q[X]=q(),G),G),Q}:(Q)=>{return Q[X]=q(),Q};let Z=U.includesTransform?U.assert(q):q;return Z0(Z,"object")?(Q,G)=>{return J0(X,()=>U(Q[X]=q,G),G),Q}:(Q)=>{return Q[X]=Z,Q}},K2=(X,U,q)=>{let Z=l0(U);if(Z0(U,"object")&&!Z)F(H5(q));let Q=X.in(Z?U():U);if(Q instanceof H0){if(q===null)F(`Default ${Q.summary}`);let G=Q.transform((Y)=>Y.transform((H)=>({...H,prefixPath:[q]})));F(`Default for ${G.summary}`)}return U},H5=(X)=>{return`Non-primitive default ${X===null?"":typeof X==="number"?`for value at [${X}] `:`for ${M0(X)} `}must be specified as a function like () => ({my: 'object'})`};class V0 extends R2{constructor(X,U){super(X,U);Object.defineProperty(this,U0,{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:(X)=>{let U=this(X);if(U instanceof H0)return U;return{value:U}},jsonSchema:{input:(X)=>this.rawIn.toJsonSchema({target:Pq(X.target),...X.libraryOptions}),output:(X)=>this.rawOut.toJsonSchema({target:Pq(X.target),...X.libraryOptions})}}}as(){return this}brand(X){if(X==="")return F(J5);return this}readonly(){return this}branches=this.hasKind("union")?this.inner.branches:[this];distribute(X,U){let q=this.branches.map(X);return U?.(q)??q}get shortDescription(){return this.meta.description??this.defaultShortDescription}toJsonSchema(X={}){let U=o4(this.$.resolvedConfig.toJsonSchema,X);U.useRefs||=this.isCyclic;let q=typeof U.dialect==="string"?{$schema:U.dialect}:{};if(Object.assign(q,this.toJsonSchemaRecurse(U)),U.useRefs){let Z=S(this.references,(Q,G)=>G.isRoot()&&!G.alwaysExpandJsonSchema?[G.id,G.toResolvedJsonSchema(U)]:[]);if(U.target==="draft-07")Object.assign(q,{definitions:Z});else q.$defs=Z}return q}toJsonSchemaRecurse(X){if(X.useRefs&&!this.alwaysExpandJsonSchema)return{$ref:`#/${X.target==="draft-07"?"definitions":"$defs"}/${this.id}`};return this.toResolvedJsonSchema(X)}get alwaysExpandJsonSchema(){return this.isBasis()||this.kind==="alias"||this.hasKind("union")&&this.isBoolean}toResolvedJsonSchema(X){let U=this.innerToJsonSchema(X);return Object.assign(U,this.metaJson)}intersect(X){let U=this.$.parseDefinition(X),q=this.rawIntersect(U);if(q instanceof B)return q;return this.$.finalize(q)}rawIntersect(X){return W0(this,X,this.$)}toNeverIfDisjoint(){return this}and(X){let U=this.intersect(X);return U instanceof B?U.throw():U}rawAnd(X){let U=this.rawIntersect(X);return U instanceof B?U.throw():U}or(X){let U=this.$.parseDefinition(X);return this.$.finalize(this.rawOr(U))}rawOr(X){let U=[...this.branches,...X.branches];return this.$.node("union",U)}map(X){return this.$.schema(this.applyStructuralOperation("map",[X]))}pick(...X){return this.$.schema(this.applyStructuralOperation("pick",X))}omit(...X){return this.$.schema(this.applyStructuralOperation("omit",X))}required(){return this.$.schema(this.applyStructuralOperation("required",[]))}partial(){return this.$.schema(this.applyStructuralOperation("partial",[]))}_keyof;keyof(){if(this._keyof)return this._keyof;let X=this.applyStructuralOperation("keyof",[]).reduce((U,q)=>U.intersect(q).toNeverIfDisjoint(),V.intrinsic.unknown.internal);if(X.branches.length===0)F(t4(`keyof ${this.expression}`));return this._keyof=this.$.finalize(X)}get props(){if(this.branches.length!==1)return F(_5(this.expression));return[...this.applyStructuralOperation("props",[])[0]]}merge(X){let U=this.$.parseDefinition(X);return this.$.schema(U.distribute((q)=>this.applyStructuralOperation("merge",[Iq(q)??F(Kq("merge",q.expression))])))}applyStructuralOperation(X,U){return this.distribute((q)=>{if(q.equals(V.intrinsic.object)&&X!=="merge")return q;let Z=Iq(q);if(!Z)F(Kq(X,q.expression));if(X==="keyof")return Z.keyof();if(X==="get")return Z.get(...U);if(X==="props")return Z.props;let Q=X==="required"?"require":X==="partial"?"optionalize":X;return this.$.node("intersection",{domain:"object",structure:Z[Q](...U)})})}get(...X){if(X[0]===void 0)return this;return this.$.schema(this.applyStructuralOperation("get",X))}extract(X){let U=this.$.parseDefinition(X);return this.$.schema(this.branches.filter((q)=>q.extends(U)))}exclude(X){let U=this.$.parseDefinition(X);return this.$.schema(this.branches.filter((q)=>!q.extends(U)))}array(){return this.$.schema(this.isUnknown()?{proto:Array}:{proto:Array,sequence:this},{prereduced:!0})}overlaps(X){return!(this.intersect(X)instanceof B)}extends(X){if(this.isNever())return!0;let U=this.intersect(X);return!(U instanceof B)&&this.equals(U)}ifExtends(X){return this.extends(X)?this:void 0}subsumes(X){return this.$.parseDefinition(X).extends(this)}configure(X,U="shallow"){return this.configureReferences(X,U)}describe(X,U="shallow"){return this.configure({description:X},U)}optional(){return[this,"?"]}default(X){return K2(this,X,null),[this,"=",X]}from(X){return this.assert(X)}_pipe(...X){let U=X.reduce((q,Z)=>q.rawPipeOnce(Z),this);return this.$.finalize(U)}tryPipe(...X){let U=X.reduce((q,Z)=>q.rawPipeOnce(M(Z,"root")?Z:(Q,G)=>{try{return Z(Q,G)}catch(Y){return G.error({code:"predicate",predicate:Z,actual:`aborted due to error:
|
|
158
|
+
`);class w0{path=[];errors=new J0(this);root;config;queuedMorphs=[];branches=[];seen={};constructor(X,U){this.root=X,this.config=U}get data(){let X=this.root;for(let U of this.path)X=X?.[U];return X}get propString(){return v0(this.path)}reject(X){return this.error(X),!1}mustBe(X){return this.error(X),!1}error(X){let U=typeof X==="object"?X.code?X:{...X,code:"predicate"}:{code:"predicate",expected:X};return this.errorFromContext(U)}hasError(){return this.currentErrorCount!==0}get currentBranch(){return this.branches[this.branches.length-1]}queueMorphs(X){let U={path:new A2(...this.path),morphs:X};if(this.currentBranch)this.currentBranch.queuedMorphs.push(U);else this.queuedMorphs.push(U)}finalize(X){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 X?X(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(X){return this.errorFromContext(X)}errorFromContext(X){let U=new o0(X,this);if(this.currentBranch)this.currentBranch.error=U;else this.errors.add(U);return U}applyQueuedMorphs(){while(this.queuedMorphs.length){let X=this.queuedMorphs;this.queuedMorphs=[];for(let{path:U,morphs:q}of X){if(this.errors.affectsPath(U))continue;this.applyMorphsAtPath(U,q)}}}applyMorphsAtPath(X,U){let q=X[X.length-1],Z;if(q!==void 0){Z=this.root;for(let Q=0;Q<X.length-1;Q++)Z=Z[X[Q]]}for(let Q of U){this.path=[...X];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=(X,U,q)=>{if(!q)return U();q.path.push(X);let Z=U();return q.path.pop(),Z};class R2 extends Y0{attachments;$;onFail;includesTransform;includesContextualPredicate;isCyclic;allowsRequiresContext;rootApplyStrategy;contextFreeMorph;rootApply;referencesById;shallowReferences;flatRefs;flatMorphs;allows;get shallowMorphs(){return[]}constructor(X,U){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:X});this.attachments=X,this.$=U,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)=>yG(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)=>qq(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 w0(Z,this.$.resolvedConfig)):(Z)=>this.traverseAllows(Z)}createRootApply(){switch(this.rootApplyStrategy){case"allows":return(U,q)=>{if(this.allows(U))return U;let Z=new w0(U,this.$.resolvedConfig);return this.traverseApply(U,Z),Z.finalize(q)};case"contextual":return(U,q)=>{let Z=new w0(U,this.$.resolvedConfig);return this.traverseApply(U,Z),Z.finalize(q)};case"optimistic":this.contextFreeMorph=this.shallowMorphs[0];let X=this.$.resolvedConfig.clone;return(U,q)=>{if(this.allows(U))return this.contextFreeMorph(X&&(typeof U==="object"&&U!==null||typeof U==="function")?X(U):U);let Z=new w0(U,this.$.resolvedConfig);return this.traverseApply(U,Z),Z.finalize(q)};case"branchedOptimistic":return this.createBranchedOptimisticRootApply();default:return this.rootApplyStrategy,g(`Unexpected rootApplyStrategy ${this.rootApplyStrategy}`)}}compiledMeta=fG(this.metaJson);cacheGetter(X,U){return Object.defineProperty(this,X,{value:U}),U}get description(){return this.cacheGetter("description",this.meta?.description??this.$.resolvedConfig[this.kind].description(this))}get references(){return Object.values(this.referencesById)}precedence=E1(this.kind);precompilation;assert=(X,U)=>this(X,U,(q)=>q.throw());traverse(X,U){return this(X,U,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(X){if(!this.includesTransform)return this;let U={};for(let[q,Z]of this.innerEntries){let Q=this.impl.keys[q];if(Q.reduceIo)Q.reduceIo(X,U,Z);else if(Q.child){let G=Z;U[q]=x(G)?G.map((Y)=>X==="in"?Y.rawIn:Y.rawOut):X==="in"?G.rawIn:G.rawOut}else U[q]=Z}return this.$.node(this.kind,U)}toJSON(){return this.json}toString(){return`Type<${this.expression}>`}equals(X){let U=h(X)?X:this.$.parseDefinition(X);return this.innerHash===U.innerHash}ifEquals(X){return this.equals(X)?this:void 0}hasKind(X){return this.kind===X}assertHasKind(X){if(this.kind!==X)Y1(`${this.kind} node was not of asserted kind ${X}`);return this}hasKindIn(...X){return X.includes(this.kind)}assertHasKindIn(...X){if(!z0(X,this.kind))Y1(`${this.kind} node was not one of asserted kinds ${X}`);return this}isBasis(){return z0(rU,this.kind)}isConstraint(){return z0(V6,this.kind)}isStructural(){return z0(N1,this.kind)}isRefinement(){return z0(o4,this.kind)}isRoot(){return z0(C1,this.kind)}isUnknown(){return this.hasKind("intersection")&&this.children.length===0}isNever(){return this.hasKind("union")&&this.children.length===0}hasUnit(X){return this.hasKind("unit")&&this.allows(X)}hasOpenIntersection(){return this.impl.intersectionIsOpen}get nestableExpression(){return this.expression}select(X){let U=T2.normalize(X);return this._select(U)}_select(X){let U=T2.applyBoundary[X.boundary??"references"](this);if(X.kind)U=U.filter((q)=>q.kind===X.kind);if(X.where)U=U.filter(X.where);return T2.applyMethod[X.method??"filter"](U,this,X)}transform(X,U){return this._transform(X,this._createTransformContext(U))}_createTransformContext(X){return{root:this,selected:void 0,seen:{},path:[],parseOptions:{prereduced:X?.prereduced??!1},undeclaredKeyHandling:void 0,...X}}_transform(X,U){let q=U.bindScope??this.$;if(U.seen[this.id])return this.$.lazilyResolve(U.seen[this.id]);if(U.shouldTransform?.(this,U)===!1)return this;let Z;if(U.seen[this.id]=()=>Z,this.hasKind("structure")&&this.undeclared!==U.undeclaredKeyHandling)U={...U,undeclaredKeyHandling:this.undeclared};let Q=S(this.inner,(W,$)=>{if(!this.impl.keys[W].child)return[W,$];let _=$;if(!x(_)){let A=_._transform(X,U);return A?[W,A]:[]}if(_.length===0)return[W,$];let L=_.flatMap((A)=>{return A._transform(X,U)??[]});return L.length?[W,L]:[]});delete U.seen[this.id];let G=Object.assign(Q,{meta:this.meta}),Y=U.selected&&!U.selected.includes(this)?G:X(this.kind,G,U);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 U.undeclaredKeyHandling?{...Y,value:V.intrinsic.unknown}:null;if(this.kind==="morph")Y.in??=V.intrinsic.unknown;return Z=q.node(this.kind,Y,U.parseOptions)}configureReferences(X,U="references"){let q=T2.normalize(U),Z=typeof X==="string"?(J,H)=>({...H,meta:{...H.meta,description:X}}):typeof X==="function"?(J,H)=>({...H,meta:X(H.meta)}):(J,H)=>({...H,meta:{...H.meta,...X}});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 T2={applyBoundary:{self:(X)=>[X],child:(X)=>[...X.children],shallow:(X)=>[...X.shallowReferences],references:(X)=>[...X.references]},applyMethod:{filter:(X)=>X,assertFilter:(X,U,q)=>{if(X.length===0)Y1(Uq(U,q));return X},find:(X)=>X[0],assertFind:(X,U,q)=>{if(X.length===0)Y1(Uq(U,q));return X[0]}},normalize:(X)=>typeof X==="function"?{boundary:"references",method:"filter",where:X}:typeof X==="string"?a(X,T2.applyBoundary)?{method:"filter",boundary:X}:{boundary:"references",method:"filter",kind:X}:{boundary:"references",method:"filter",...X}},Uq=(X,U)=>`${X} had no references matching ${E(U)}.`,bG=(X)=>v0(X,{stringifyNonKey:(U)=>U.expression}),jG=/"(\$ark\.[^"]+)"/g,fG=(X)=>JSON.stringify(X).replace(jG,"$1"),P0=(X,U)=>({path:X,node:U,propString:bG(X)}),qq=(X,U)=>X.propString===U.propString&&X.node.equals(U.node),n4=(X,U)=>C0(X,U,{isEqual:qq}),yG=(X,U)=>C0(X,U,{isEqual:(q,Z)=>q.equals(Z)});class B extends Array{static init(X,U,q,Z){return new B({kind:X,l:U,r:q,path:Z?.path??[],optional:Z?.optional??!1})}add(X,U,q,Z){return this.push({kind:X,l:U,r:q,path:Z?.path??[],optional:Z?.optional??!1}),this}get summary(){return this.describeReasons()}describeReasons(){if(this.length===1){let{path:X,l:U,r:q}=this[0],Z=v0(X);return e4(`Intersection${Z&&` at ${Z}`} of ${Zq(U,q)}`)}return`The following intersections result in unsatisfiable types:
|
|
159
|
+
• ${this.map(({path:X,l:U,r:q})=>`${X}: ${Zq(U,q)}`).join(`
|
|
160
|
+
• `)}`}throw(){return F(this.describeReasons())}invert(){let X=this.map((U)=>({...U,l:U.r,r:U.l}));if(!(X instanceof B))return new B(...X);return X}withPrefixKey(X,U){return this.map((q)=>({...q,path:[X,...q.path],optional:q.optional||U==="optional"}))}toNeverIfDisjoint(){return V.intrinsic.never}}var Zq=(X,U)=>`${t4(X)} and ${t4(U)}`,t4=(X)=>h(X)?X.expression:x(X)?X.map(t4).join(" | ")||"never":String(X),e4=(X)=>`${X} results in an unsatisfiable type`;var b1={},W0=(X,U,q)=>u(X,U,{$:q,invert:!1,pipe:!1}),D2=(X,U,q)=>u(X,U,{$:q,invert:!1,pipe:!0}),u=(X,U,q)=>{let Z=q.pipe?"|>":"&",Q=`${X.hash}${Z}${U.hash}`;if(b1[Q]!==void 0)return b1[Q];if(!q.pipe){let J=`${U.hash}${Z}${X.hash}`;if(b1[J]!==void 0){let H=b1[J],W=H instanceof B?H.invert():H;return b1[Q]=W,W}}let G=!q.pipe||!X.includesTransform&&!U.includesTransform;if(G&&X.equals(U))return X;let Y=G?X9(X,U,q):X.hasKindIn(...C1)?gG(X,U,q):X9(X,U,q);if(h(Y)){if(X.equals(Y))Y=X;else if(U.equals(Y))Y=U}return b1[Q]=Y,Y},X9=(X,U,q)=>{let Z=X.precedence<U.precedence?X.kind:U.kind,Q=X.impl.intersections[U.kind]??U.impl.intersections[X.kind];if(Q===void 0)return null;else if(Z===X.kind)return Q(X,U,q);else{let G=Q(U,X,{...q,invert:!q.invert});if(G instanceof B)G=G.invert();return G}},gG=(X,U,q)=>X.includesTransform||U.includesTransform?q.invert?Qq(U,X,q):Qq(X,U,q):X9(X,U,q),Qq=(X,U,q)=>X.distribute((Z)=>kG(Z,U,q),(Z)=>{let Q=Z.filter(h);if(Q.length===0)return B.init("union",X.branches,U.branches);if(Q.length<X.branches.length||!X.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)}),kG=(X,U,q)=>{if(X.hasKind("morph")){let Q=[...X.morphs];if(X.lastMorphIfNode){let G=u(X.lastMorphIfNode,U,q);if(G instanceof B)return G;Q[Q.length-1]=G}else Q.push(U);return q.$.node("morph",{morphs:Q,in:X.inner.in})}if(U.hasKind("morph")){let Q=u(X,U.rawIn,q);if(Q instanceof B)return Q;return q.$.node("morph",{morphs:[U],in:Q})}return q.$.node("morph",{morphs:[U],in:X})};class A0 extends R2{constructor(X,U){super(X,U);Object.defineProperty(this,U0,{value:"constraint",enumerable:!1})}impliedSiblings;intersect(X){return W0(this,X,this.$)}}class x0 extends A0{traverseApply=(X,U)=>{if(!this.traverseAllows(X,U))U.errorFromNodeContext(this.errorContext)};compile(X){if(X.traversalKind==="Allows")X.return(this.compiledCondition);else X.if(this.compiledNegation,()=>X.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 X0=(X)=>(U,q)=>{if(x(U)){if(U.length===0)return;let Q=U.map((G)=>q.$.node(X,G));if(X==="predicate")return Q;return Q.sort((G,Y)=>G.hash<Y.hash?-1:1)}let Z=q.$.node(X,U);return Z.hasOpenIntersection()?[Z]:Z},j1=(X)=>{let U=X.r.shift();if(!U){let Z=X.l.length===0&&X.kind==="structure"?V.intrinsic.unknown.internal:X.ctx.$.node(X.kind,Object.assign(X.baseInner,vG(X.l)),{prereduced:!0});for(let Q of X.roots){if(Z instanceof B)return Z;Z=u(Q,Z,X.ctx)}return Z}let q=!1;for(let Z=0;Z<X.l.length;Z++){let Q=u(X.l[Z],U,X.ctx);if(Q===null)continue;if(Q instanceof B)return Q;if(Q.isRoot())return X.roots.push(Q),X.l.splice(Z),j1(X);if(!q)X.l[Z]=Q,q=!0;else if(!X.l.includes(Q))return g(`Unexpectedly encountered multiple distinct intersection results for refinement ${U}`)}if(!q)X.l.push(U);if(X.kind==="intersection"){if(U.impliedSiblings)for(let Z of U.impliedSiblings)C0(X.r,Z)}return j1(X)},f1=(X)=>{return Object.entries(X).flatMap(([q,Z])=>(q in O6)?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)},vG=(X)=>{let U={};for(let q of X)if(q.hasOpenIntersection())U[q.kind]=y(U[q.kind],q);else{if(U[q.kind])return g(`Unexpected intersection of closed refinements of kind ${q.kind}`);U[q.kind]=q}return U},Gq=(...X)=>F(Yq(...X)),Yq=(X,U,q)=>{let Z=q.hasKind("morph")?"a morph":q.isUnknown()?"unknown":q.exclude(U).defaultShortDescription;return`${jU(X)} operand must be ${U.description} (was ${Z})`};var Jq=(X,U,q)=>new r0(X,U,q,q,null);class T6 extends Y0{}class r0 extends Y0{[U0]="generic";paramDefs;bodyDef;$;arg$;baseInstantiation;hkt;description;constructor(X,U,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(xG(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(U,{args:Y})});this.paramDefs=X,this.bodyDef=U,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 T6}cacheGetter(X,U){return Object.defineProperty(this,X,{value:U}),U}get json(){return this.cacheGetter("json",{params:this.params.map((X)=>X[1].isUnknown()?X[0]:[X[0],X[1].json]),body:dU(this.bodyDef)})}get params(){return this.cacheGetter("params",this.paramDefs.map((X)=>typeof X==="string"?[X,V.intrinsic.unknown]:[X[0],this.$.parse(X[1])]))}get names(){return this.cacheGetter("names",this.params.map((X)=>X[0]))}get constraints(){return this.cacheGetter("constraints",this.params.map((X)=>X[1]))}get internal(){return this}get referencesById(){return this.baseInstantiation.internal.referencesById}get references(){return this.baseInstantiation.internal.references}}var xG=(X,U,q)=>`${X} must be assignable to ${U} (was ${q})`;var hG=b({kind:"predicate",hasAssociatedError:!0,collapsibleKey:"predicate",keys:{predicate:{}},normalize:(X)=>typeof X==="function"?{predicate:X}:X,defaults:{description:(X)=>`valid according to ${X.predicate.name||"an anonymous predicate"}`},intersectionIsOpen:!0,intersections:{predicate:()=>null}});class Hq 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=(X,U)=>{let q=U.currentErrorCount;if(!this.predicate(X,U.external)&&U.currentErrorCount===q)U.errorFromNodeContext(this.errorContext)};compile(X){if(X.traversalKind==="Allows"){X.return(this.compiledCondition);return}X.initializeErrorCount(),X.if(`${this.compiledNegation} && ctx.currentErrorCount === errorCount`,()=>X.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}reduceJsonSchema(X,U){return U.fallback.predicate({code:"predicate",base:X,predicate:this.predicate})}}var U9={implementation:hG,Node:Hq};var uG=b({kind:"divisor",collapsibleKey:"rule",keys:{rule:{parse:(X)=>Number.isInteger(X)?X:F(mG(X))}},normalize:(X)=>typeof X==="number"?{rule:X}:X,hasAssociatedError:!0,defaults:{description:(X)=>X.rule===1?"an integer":X.rule===2?"even":`a multiple of ${X.rule}`},intersections:{divisor:(X,U,q)=>q.$.node("divisor",{rule:Math.abs(X.rule*U.rule/pG(X.rule,U.rule))})},obviatesBasisDescription:!0});class Wq extends x0{traverseAllows=(X)=>X%this.rule===0;compiledCondition=`data % ${this.rule} === 0`;compiledNegation=`data % ${this.rule} !== 0`;impliedBasis=V.intrinsic.number.internal;expression=`% ${this.rule}`;reduceJsonSchema(X){if(X.type="integer",this.rule===1)return X;return X.multipleOf=this.rule,X}}var q9={implementation:uG,Node:Wq};var mG=(X)=>`divisor must be an integer (was ${X})`,pG=(X,U)=>{let q,Z=X,Q=U;while(Q!==0)q=Q,Q=Z%Q,Z=q;return Z};class L0 extends x0{boundOperandKind=iG[this.kind];compiledActual=this.boundOperandKind==="value"?"data":this.boundOperandKind==="length"?"data.length":"data.valueOf()";comparator=sG(this.kind,this.exclusive);numericLimit=this.rule.valueOf();expression=`${this.comparator} ${this.rule}`;compiledCondition=`${this.compiledActual} ${this.comparator} ${this.numericLimit}`;compiledNegation=`${this.compiledActual} ${lG[this.comparator]} ${this.numericLimit}`;stringLimit=this.boundOperandKind==="date"?oG(this.numericLimit):`${this.numericLimit}`;limitKind=this.comparator["0"]==="<"?"upper":"lower";isStricterThan(X){return(this.limitKind==="upper"?this.numericLimit<X.numericLimit:this.numericLimit>X.numericLimit)||this.numericLimit===X.numericLimit&&this.exclusive===!0&&!X.exclusive}overlapsRange(X){if(this.isStricterThan(X))return!1;if(this.numericLimit===X.numericLimit&&(this.exclusive||X.exclusive))return!1;return!0}overlapIsUnit(X){return this.numericLimit===X.numericLimit&&!this.exclusive&&!X.exclusive}}var lG={"<":">=","<=":">",">":"<=",">=":"<"},dG={min:"max",minLength:"maxLength",after:"before"},R6={parse:(X)=>X||void 0},D6=(X)=>(U)=>{if(typeof U==="number")return{rule:U};let{exclusive:q,...Z}=U;return q?{...Z,rule:X==="minLength"?Z.rule+1:Z.rule-1}:Z},M6=(X)=>(U)=>{if(typeof U==="number"||typeof U==="string"||U instanceof Date)return{rule:U};let{exclusive:q,...Z}=U;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:X==="after"?Q+1:Q-1}:Z},w6=(X)=>typeof X==="string"||typeof X==="number"?new Date(X):X,cG=(X,U)=>`${X} bound must be a positive integer (was ${U})`,y1=(X)=>(U)=>{if(!Number.isInteger(U)||U<0)F(cG(X,U));return U},iG={min:"value",max:"value",minLength:"length",maxLength:"length",after:"date",before:"date"},sG=(X,U)=>`${a(X,dG)?">":"<"}${U?"":"="}`,oG=(X)=>typeof X==="string"?X:new Date(X).toLocaleString(),_q=(X)=>`Bounded expression ${X} must be exactly one of number, string, Array, or Date`;var rG=b({kind:"after",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:w6,serialize:(X)=>X.toISOString()}},normalize:M6("after"),defaults:{description:(X)=>`${X.collapsibleLimitString} or later`,actual:$1},intersections:{after:(X,U)=>X.isStricterThan(U)?X:U}});class $q extends L0{impliedBasis=V.intrinsic.Date.internal;collapsibleLimitString=$1(this.rule);traverseAllows=(X)=>X>=this.rule;reduceJsonSchema(X,U){return U.fallback.date({code:"date",base:X,after:this.rule})}}var Z9={implementation:rG,Node:$q};var aG=b({kind:"before",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:w6,serialize:(X)=>X.toISOString()}},normalize:M6("before"),defaults:{description:(X)=>`${X.collapsibleLimitString} or earlier`,actual:$1},intersections:{before:(X,U)=>X.isStricterThan(U)?X:U,after:(X,U,q)=>X.overlapsRange(U)?X.overlapIsUnit(U)?q.$.node("unit",{unit:X.rule}):null:B.init("range",X,U)}});class Lq extends L0{collapsibleLimitString=$1(this.rule);traverseAllows=(X)=>X<=this.rule;impliedBasis=V.intrinsic.Date.internal;reduceJsonSchema(X,U){return U.fallback.date({code:"date",base:X,before:this.rule})}}var Q9={implementation:aG,Node:Lq};var nG=b({kind:"exactLength",collapsibleKey:"rule",keys:{rule:{parse:y1("exactLength")}},normalize:(X)=>typeof X==="number"?{rule:X}:X,hasAssociatedError:!0,defaults:{description:(X)=>`exactly length ${X.rule}`,actual:(X)=>`${X.length}`},intersections:{exactLength:(X,U,q)=>B.init("unit",q.$.node("unit",{unit:X.rule}),q.$.node("unit",{unit:U.rule}),{path:["length"]}),minLength:(X,U)=>X.rule>=U.rule?X:B.init("range",X,U),maxLength:(X,U)=>X.rule<=U.rule?X:B.init("range",X,U)}});class zq extends x0{traverseAllows=(X)=>X.length===this.rule;compiledCondition=`data.length === ${this.rule}`;compiledNegation=`data.length !== ${this.rule}`;impliedBasis=V.intrinsic.lengthBoundable.internal;expression=`== ${this.rule}`;reduceJsonSchema(X){switch(X.type){case"string":return X.minLength=this.rule,X.maxLength=this.rule,X;case"array":return X.minItems=this.rule,X.maxItems=this.rule,X;default:return p.throwInternalOperandError("exactLength",X)}}}var G9={implementation:nG,Node:zq};var tG=b({kind:"max",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:R6},normalize:(X)=>typeof X==="number"?{rule:X}:X,defaults:{description:(X)=>{if(X.rule===0)return X.exclusive?"negative":"non-positive";return`${X.exclusive?"less than":"at most"} ${X.rule}`}},intersections:{max:(X,U)=>X.isStricterThan(U)?X:U,min:(X,U,q)=>X.overlapsRange(U)?X.overlapIsUnit(U)?q.$.node("unit",{unit:X.rule}):null:B.init("range",X,U)},obviatesBasisDescription:!0});class Fq extends L0{impliedBasis=V.intrinsic.number.internal;traverseAllows=this.exclusive?(X)=>X<this.rule:(X)=>X<=this.rule;reduceJsonSchema(X){if(this.exclusive)X.exclusiveMaximum=this.rule;else X.maximum=this.rule;return X}}var Y9={implementation:tG,Node:Fq};var eG=b({kind:"maxLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:y1("maxLength")}},reduce:(X,U)=>X.rule===0?U.node("exactLength",X):void 0,normalize:D6("maxLength"),defaults:{description:(X)=>`at most length ${X.rule}`,actual:(X)=>`${X.length}`},intersections:{maxLength:(X,U)=>X.isStricterThan(U)?X:U,minLength:(X,U,q)=>X.overlapsRange(U)?X.overlapIsUnit(U)?q.$.node("exactLength",{rule:X.rule}):null:B.init("range",X,U)}});class Aq extends L0{impliedBasis=V.intrinsic.lengthBoundable.internal;traverseAllows=(X)=>X.length<=this.rule;reduceJsonSchema(X){switch(X.type){case"string":return X.maxLength=this.rule,X;case"array":return X.maxItems=this.rule,X;default:return p.throwInternalOperandError("maxLength",X)}}}var J9={implementation:eG,Node:Aq};var X5=b({kind:"min",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:R6},normalize:(X)=>typeof X==="number"?{rule:X}:X,defaults:{description:(X)=>{if(X.rule===0)return X.exclusive?"positive":"non-negative";return`${X.exclusive?"more than":"at least"} ${X.rule}`}},intersections:{min:(X,U)=>X.isStricterThan(U)?X:U},obviatesBasisDescription:!0});class Vq extends L0{impliedBasis=V.intrinsic.number.internal;traverseAllows=this.exclusive?(X)=>X>this.rule:(X)=>X>=this.rule;reduceJsonSchema(X){if(this.exclusive)X.exclusiveMinimum=this.rule;else X.minimum=this.rule;return X}}var H9={implementation:X5,Node:Vq};var U5=b({kind:"minLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:y1("minLength")}},reduce:(X)=>X.rule===0?V.intrinsic.unknown:void 0,normalize:D6("minLength"),defaults:{description:(X)=>X.rule===1?"non-empty":`at least length ${X.rule}`,actual:(X)=>X.length===0?"":`${X.length}`},intersections:{minLength:(X,U)=>X.isStricterThan(U)?X:U}});class Oq extends L0{impliedBasis=V.intrinsic.lengthBoundable.internal;traverseAllows=(X)=>X.length>=this.rule;reduceJsonSchema(X){switch(X.type){case"string":return X.minLength=this.rule,X;case"array":return X.minItems=this.rule,X;default:return p.throwInternalOperandError("minLength",X)}}}var W9={implementation:U5,Node:Oq};var Bq={min:H9.implementation,max:Y9.implementation,minLength:W9.implementation,maxLength:J9.implementation,exactLength:G9.implementation,after:Z9.implementation,before:Q9.implementation},Tq={min:H9.Node,max:Y9.Node,minLength:W9.Node,maxLength:J9.Node,exactLength:G9.Node,after:Z9.Node,before:Q9.Node};var q5=b({kind:"pattern",collapsibleKey:"rule",keys:{rule:{},flags:{}},normalize:(X)=>typeof X==="string"?{rule:X}:X instanceof RegExp?X.flags?{rule:X.source,flags:X.flags}:{rule:X.source}:X,obviatesBasisDescription:!0,obviatesBasisExpression:!0,hasAssociatedError:!0,intersectionIsOpen:!0,defaults:{description:(X)=>`matched by ${X.rule}`},intersections:{pattern:()=>null}});class Rq 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(X,U){if(X.pattern)return U.fallback.patternIntersection({code:"patternIntersection",base:X,pattern:this.rule});return X.pattern=this.rule,X}}var _9={implementation:q5,Node:Rq};var M2=(X,U)=>{let q=Z5(X);if(U&&!U.includes(q))return F(`Root of kind ${q} should be one of ${U}`);return q},Z5=(X)=>{if(M(X,"root"))return X.kind;if(typeof X==="string")return X[0]==="$"?"alias":(X in Q0)?"domain":"proto";if(typeof X==="function")return"proto";if(typeof X!=="object"||X===null)return F(Dq(X));if("morphs"in X)return"morph";if("branches"in X||x(X))return"union";if("unit"in X)return"unit";if("reference"in X)return"alias";let U=Object.keys(X);if(U.length===0||U.some((q)=>(q in O6)))return"intersection";if("proto"in X)return"proto";if("domain"in X)return"domain";return F(Dq(X))},Dq=(X)=>`${E(X)} is not a valid type schema`,Mq={},Q5=(X)=>x(X)?X.map((U)=>U.collapsibleJson):X.collapsibleJson,q0={};V.nodesByRegisteredId=q0;var $9=(X)=>{return Mq[X]??=0,`${X}${++Mq[X]}`},L9=(X)=>{let U=g1[X.kind],q=U.applyConfig?.(X.def,X.$.resolvedConfig)??X.def,Z={},{meta:Q,...G}=q,Y=Q===void 0?{}:typeof Q==="string"?{description:Q}:Q,J=g4(G).sort(([W],[$])=>S1(W)?S1($)?E1(W)-E1($):1:S1($)?-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],_=U.keys[$];if(!_)return F(`Key ${$} is not valid on ${X.kind} schema`);let L=_.parse?_.parse(W[1],X):W[1];if(L!==G0&&(L!==void 0||_.preserveUndefined))Z[$]=L}if(U.reduce&&!X.prereduced){let W=U.reduce(Z,X.$);if(W){if(W instanceof B)return W.throw();return G5(W,Y)}}return z9({id:X.id,kind:X.kind,inner:Z,meta:Y,$:X.$})},z9=({id:X,kind:U,inner:q,meta:Z,$:Q,ignoreCache:G})=>{let Y=g1[U],J=g4(q),H=[],W={};for(let[D,P]of J){let K=Y.keys[D],C=K.serialize??(K.child?Q5:F0);if(W[D]=C(P),K.child===!0){let N=P;if(x(N))H.push(...N);else H.push(N)}else if(typeof K.child==="function")H.push(...K.child(P))}if(Y.finalizeInnerJson)W=Y.finalizeInnerJson(W);let $={...W},_={};if(!S0(Z))_=S(Z,(D,P)=>[D,D==="examples"?P:F0(P)]),$.meta=P6(_,"description",!0);W=P6(W,Y.collapsibleKey,!1);let L=JSON.stringify({kind:U,...W});$=P6($,Y.collapsibleKey,!1);let A=P6($,Y.collapsibleKey,!0),T=JSON.stringify({kind:U,...$});if(Q.nodesByHash[T]&&!G)return Q.nodesByHash[T];let z={id:X,kind:U,impl:Y,inner:q,innerEntries:J,innerJson:W,innerHash:L,meta:Z,metaJson:_,json:$,hash:T,collapsibleJson:A,children:H};if(U!=="intersection"){for(let D in q)if(D!=="in"&&D!=="out")z[D]=q[D]}let O=new Pq[U](z,Q);return Q.nodesByHash[T]=O},wq=(X,U)=>{if(X.id===U)return X;if(h(q0[U]))g(`Unexpected attempt to overwrite node id ${U}`);return z9({id:U,kind:X.kind,inner:X.inner,meta:X.meta,$:X.$,ignoreCache:!0})},G5=(X,U,q)=>{if(q&&h(q0[q]))g(`Unexpected attempt to overwrite node id ${q}`);return z9({id:q??$9(U.alias??X.kind),kind:X.kind,inner:X.inner,meta:U,$:X.$})},P6=(X,U,q)=>{let Z=Object.keys(X);if(Z.length===1&&Z[0]===U){let Q=X[U];if(q)return Q;if(Z0(Q,"object")&&(Object.keys(Q).length===1||Array.isArray(Q)))return Q}return X};var w2=(X,U,q)=>{if(X.key!==U.key)return null;let Z=X.key,Q=u(X.value,U.value,q),G=X.required||U.required?"required":"optional";if(Q instanceof B)if(G==="optional")Q=V.intrinsic.never.internal;else return Q.withPrefixKey(X.key,X.required&&U.required?"required":"optional");if(G==="required")return q.$.node("required",{key:Z,value:Q});let Y=X.hasDefault()?U.hasDefault()?X.default===U.default?X.default:F(F9(X.default,U.default)):X.default:U.hasDefault()?U.default:G0;return q.$.node("optional",{key:Z,value:Q,default:Y})};class P2 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((X)=>P0([this.key,...X.path],X.node)),P0([this.key],this.value));_transform(X,U){U.path.push(this.key);let q=super._transform(X,U);return U.path.pop(),q}hasDefault(){return"default"in this.inner}traverseAllows=(X,U)=>{if(this.key in X)return H0(this.key,()=>this.value.traverseAllows(X[this.key],U),U);return this.optional};traverseApply=(X,U)=>{if(this.key in X)H0(this.key,()=>this.value.traverseApply(X[this.key],U),U);else if(this.hasKind("required"))U.errorFromNodeContext(this.errorContext)};compile(X){if(X.if(`${this.serializedKey} in data`,()=>X.traverseKey(this.serializedKey,`data${X.prop(this.key)}`,this.value)),this.hasKind("required"))X.else(()=>X.traversalKind==="Apply"?X.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`):X.return(!1));if(X.traversalKind==="Allows")X.return(!0)}}var F9=(X,U)=>`Invalid intersection of default values ${E(X)} & ${E(U)}`;var Y5=b({kind:"optional",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(X,U)=>U.$.parseSchema(X)},default:{preserveUndefined:!0}},normalize:(X)=>X,reduce:(X,U)=>{if(U.resolvedConfig.exactOptionalPropertyTypes===!1){if(!X.value.allows(void 0))return U.node("optional",{...X,value:X.value.or(I.undefined)},{prereduced:!0})}},defaults:{description:(X)=>`${X.compiledKey}?: ${X.value.description}`},intersections:{optional:w2}});class Iq extends P2{constructor(...X){super(...X);if("default"in this.inner)K2(this.value,this.inner.default,this.key)}get rawIn(){let X=super.rawIn;if(!this.hasDefault())return X;return this.$.node("optional",_6(X.inner,{default:!0}),{prereduced:!0})}get outProp(){if(!this.hasDefault())return this;let{default:X,...U}=this.inner;return this.cacheGetter("outProp",this.$.node("required",U,{prereduced:!0}))}expression=this.hasDefault()?`${this.compiledKey}: ${this.value.expression} = ${E(this.inner.default)}`:`${this.compiledKey}?: ${this.value.expression}`;defaultValueMorph=H5(this);defaultValueMorphRef=this.defaultValueMorph&&d(this.defaultValueMorph)}var I2={implementation:Y5,Node:Iq},J5={},H5=(X)=>{if(!X.hasDefault())return;let U=`{${X.compiledKey}: ${X.value.id} = ${F0(X.default)}}`;return J5[U]??=A9(X.key,X.value,X.default)},A9=(X,U,q)=>{if(typeof q==="function")return U.includesTransform?(Q,G)=>{return H0(X,()=>U(Q[X]=q(),G),G),Q}:(Q)=>{return Q[X]=q(),Q};let Z=U.includesTransform?U.assert(q):q;return Z0(Z,"object")?(Q,G)=>{return H0(X,()=>U(Q[X]=q,G),G),Q}:(Q)=>{return Q[X]=Z,Q}},K2=(X,U,q)=>{let Z=d0(U);if(Z0(U,"object")&&!Z)F(W5(q));let Q=X.in(Z?U():U);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 U},W5=(X)=>{return`Non-primitive default ${X===null?"":typeof X==="number"?`for value at [${X}] `:`for ${M0(X)} `}must be specified as a function like () => ({my: 'object'})`};class V0 extends R2{constructor(X,U){super(X,U);Object.defineProperty(this,U0,{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:(X)=>{let U=this(X);if(U instanceof J0)return U;return{value:U}},jsonSchema:{input:(X)=>this.rawIn.toJsonSchema({target:Kq(X.target),...X.libraryOptions}),output:(X)=>this.rawOut.toJsonSchema({target:Kq(X.target),...X.libraryOptions})}}}as(){return this}brand(X){if(X==="")return F(_5);return this}readonly(){return this}branches=this.hasKind("union")?this.inner.branches:[this];distribute(X,U){let q=this.branches.map(X);return U?.(q)??q}get shortDescription(){return this.meta.description??this.defaultShortDescription}toJsonSchema(X={}){let U=r4(this.$.resolvedConfig.toJsonSchema,X);U.useRefs||=this.isCyclic;let q=typeof U.dialect==="string"?{$schema:U.dialect}:{};if(Object.assign(q,this.toJsonSchemaRecurse(U)),U.useRefs){let Z=S(this.references,(Q,G)=>G.isRoot()&&!G.alwaysExpandJsonSchema?[G.id,G.toResolvedJsonSchema(U)]:[]);if(U.target==="draft-07")Object.assign(q,{definitions:Z});else q.$defs=Z}return q}toJsonSchemaRecurse(X){if(X.useRefs&&!this.alwaysExpandJsonSchema)return{$ref:`#/${X.target==="draft-07"?"definitions":"$defs"}/${this.id}`};return this.toResolvedJsonSchema(X)}get alwaysExpandJsonSchema(){return this.isBasis()||this.kind==="alias"||this.hasKind("union")&&this.isBoolean}toResolvedJsonSchema(X){let U=this.innerToJsonSchema(X);return Object.assign(U,this.metaJson)}intersect(X){let U=this.$.parseDefinition(X),q=this.rawIntersect(U);if(q instanceof B)return q;return this.$.finalize(q)}rawIntersect(X){return W0(this,X,this.$)}toNeverIfDisjoint(){return this}and(X){let U=this.intersect(X);return U instanceof B?U.throw():U}rawAnd(X){let U=this.rawIntersect(X);return U instanceof B?U.throw():U}or(X){let U=this.$.parseDefinition(X);return this.$.finalize(this.rawOr(U))}rawOr(X){let U=[...this.branches,...X.branches];return this.$.node("union",U)}map(X){return this.$.schema(this.applyStructuralOperation("map",[X]))}pick(...X){return this.$.schema(this.applyStructuralOperation("pick",X))}omit(...X){return this.$.schema(this.applyStructuralOperation("omit",X))}required(){return this.$.schema(this.applyStructuralOperation("required",[]))}partial(){return this.$.schema(this.applyStructuralOperation("partial",[]))}_keyof;keyof(){if(this._keyof)return this._keyof;let X=this.applyStructuralOperation("keyof",[]).reduce((U,q)=>U.intersect(q).toNeverIfDisjoint(),V.intrinsic.unknown.internal);if(X.branches.length===0)F(e4(`keyof ${this.expression}`));return this._keyof=this.$.finalize(X)}get props(){if(this.branches.length!==1)return F(L5(this.expression));return[...this.applyStructuralOperation("props",[])[0]]}merge(X){let U=this.$.parseDefinition(X);return this.$.schema(U.distribute((q)=>this.applyStructuralOperation("merge",[Nq(q)??F(Cq("merge",q.expression))])))}applyStructuralOperation(X,U){return this.distribute((q)=>{if(q.equals(V.intrinsic.object)&&X!=="merge")return q;let Z=Nq(q);if(!Z)F(Cq(X,q.expression));if(X==="keyof")return Z.keyof();if(X==="get")return Z.get(...U);if(X==="props")return Z.props;let Q=X==="required"?"require":X==="partial"?"optionalize":X;return this.$.node("intersection",{domain:"object",structure:Z[Q](...U)})})}get(...X){if(X[0]===void 0)return this;return this.$.schema(this.applyStructuralOperation("get",X))}extract(X){let U=this.$.parseDefinition(X);return this.$.schema(this.branches.filter((q)=>q.extends(U)))}exclude(X){let U=this.$.parseDefinition(X);return this.$.schema(this.branches.filter((q)=>!q.extends(U)))}array(){return this.$.schema(this.isUnknown()?{proto:Array}:{proto:Array,sequence:this},{prereduced:!0})}overlaps(X){return!(this.intersect(X)instanceof B)}extends(X){if(this.isNever())return!0;let U=this.intersect(X);return!(U instanceof B)&&this.equals(U)}ifExtends(X){return this.extends(X)?this:void 0}subsumes(X){return this.$.parseDefinition(X).extends(this)}configure(X,U="shallow"){return this.configureReferences(X,U)}describe(X,U="shallow"){return this.configure({description:X},U)}optional(){return[this,"?"]}default(X){return K2(this,X,null),[this,"=",X]}from(X){return this.assert(X)}_pipe(...X){let U=X.reduce((q,Z)=>q.rawPipeOnce(Z),this);return this.$.finalize(U)}tryPipe(...X){let U=X.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(U)}pipe=Object.assign(this._pipe.bind(this),{try:this.tryPipe.bind(this)});to(X){return this.$.finalize(this.toNode(this.$.parseDefinition(X)))}toNode(X){let U=D2(this,X,this.$);if(U instanceof B)return U.throw();return U}rawPipeOnce(X){if(M(X,"root"))return this.toNode(X);return this.distribute((U)=>U.hasKind("morph")?this.$.node("morph",{in:U.inner.in,morphs:[...U.morphs,X]}):this.$.node("morph",{in:U,morphs:[X]}),this.$.parseSchema)}narrow(X){return this.constrainOut("predicate",X)}constrain(X,U){return this._constrain("root",X,U)}constrainIn(X,U){return this._constrain("in",X,U)}constrainOut(X,U){return this._constrain("out",X,U)}_constrain(X,U,q){let Z=this.$.node(U,q);if(Z.isRoot())return Z.isUnknown()?this:g(`Unexpected constraint node ${Z}`);let Q=X==="root"?this:X==="in"?this.rawIn:this.rawOut;if(Q.hasKind("morph")||Z.impliedBasis&&!Q.extends(Z.impliedBasis))return
|
|
163
|
-
${X}`,
|
|
162
|
+
`})}}),this);return this.$.finalize(U)}pipe=Object.assign(this._pipe.bind(this),{try:this.tryPipe.bind(this)});to(X){return this.$.finalize(this.toNode(this.$.parseDefinition(X)))}toNode(X){let U=D2(this,X,this.$);if(U instanceof B)return U.throw();return U}rawPipeOnce(X){if(M(X,"root"))return this.toNode(X);return this.distribute((U)=>U.hasKind("morph")?this.$.node("morph",{in:U.inner.in,morphs:[...U.morphs,X]}):this.$.node("morph",{in:U,morphs:[X]}),this.$.parseSchema)}narrow(X){return this.constrainOut("predicate",X)}constrain(X,U){return this._constrain("root",X,U)}constrainIn(X,U){return this._constrain("in",X,U)}constrainOut(X,U){return this._constrain("out",X,U)}_constrain(X,U,q){let Z=this.$.node(U,q);if(Z.isRoot())return Z.isUnknown()?this:g(`Unexpected constraint node ${Z}`);let Q=X==="root"?this:X==="in"?this.rawIn:this.rawOut;if(Q.hasKind("morph")||Z.impliedBasis&&!Q.extends(Z.impliedBasis))return Gq(U,Z.impliedBasis,this);let G=this.$.node("intersection",{[Z.kind]:Z}),Y=X==="out"?D2(this,G,this.$):W0(this,G,this.$);if(Y instanceof B)Y.throw();return this.$.finalize(Y)}onUndeclaredKey(X){let U=typeof X==="string"?X:X.rule,q=typeof X==="string"?!1:X.deep;return this.$.finalize(this.transform((Z,Q)=>Z==="structure"?U==="ignore"?_6(Q,{undeclared:1}):{...Q,undeclared:U}:Q,q?void 0:{shouldTransform:(Z)=>!z0(N1,Z.kind)}))}hasEqualMorphs(X){if(!this.includesTransform&&!X.includesTransform)return!0;if(!g0(this.shallowMorphs,X.shallowMorphs))return!1;if(!g0(this.flatMorphs,X.flatMorphs,{isEqual:(U,q)=>U.propString===q.propString&&(U.node.hasKind("morph")&&q.node.hasKind("morph")?U.node.hasEqualMorphs(q.node):U.node.hasKind("intersection")&&q.node.hasKind("intersection")?U.node.structure?.structuralMorphRef===q.node.structure?.structuralMorphRef:!1)}))return!1;return!0}onDeepUndeclaredKey(X){return this.onUndeclaredKey({rule:X,deep:!0})}filter(X){return this.constrainIn("predicate",X)}divisibleBy(X){return this.constrain("divisor",X)}matching(X){return this.constrain("pattern",X)}atLeast(X){return this.constrain("min",X)}atMost(X){return this.constrain("max",X)}moreThan(X){return this.constrain("min",k1(X))}lessThan(X){return this.constrain("max",k1(X))}atLeastLength(X){return this.constrain("minLength",X)}atMostLength(X){return this.constrain("maxLength",X)}moreThanLength(X){return this.constrain("minLength",k1(X))}lessThanLength(X){return this.constrain("maxLength",k1(X))}exactlyLength(X){return this.constrain("exactLength",X)}atOrAfter(X){return this.constrain("after",X)}atOrBefore(X){return this.constrain("before",X)}laterThan(X){return this.constrain("after",k1(X))}earlierThan(X){return this.constrain("before",k1(X))}}var _5="Expected a non-empty brand name after #",Sq=["draft-2020-12","draft-07"],$5=(X)=>`JSONSchema target '${X}' is not supported (must be ${Sq.map((U)=>`"${U}"`).join(" or ")})`,Kq=(X)=>{if(!z0(Sq,X))F($5(X));return X},k1=(X)=>typeof X==="object"&&!(X instanceof Date)?{...X,exclusive:!0}:{rule:X,exclusive:!0},N2=(X,U)=>M(U,"root")?M(X,"root")?X.extends(U):U.allows(X):M(X,"root")?X.hasUnit(U):U===X,Nq=(X)=>{if(X.hasKind("morph"))return null;if(X.hasKind("intersection"))return X.inner.structure??(X.basis?.domain==="object"?X.$.bindReference(V.intrinsic.emptyStructure):null);if(X.isBasis()&&X.domain==="object")return X.$.bindReference(V.intrinsic.emptyStructure);return null},L5=(X)=>`Props cannot be extracted from a union. Use .distribute to extract props from each branch instead. Received:
|
|
163
|
+
${X}`,Cq=(X,U)=>`${X} operand must be an object (was ${U})`;var E0=(X,U)=>S(B6(X),(q,Z)=>[Z,U]);var z5=(X)=>typeof X==="string"?{reference:X}:X,Eq=(X)=>X instanceof B?V.intrinsic.never.internal:X,F5=b({kind:"alias",hasAssociatedError:!1,collapsibleKey:"reference",keys:{reference:{serialize:(X)=>X.startsWith("$")?X:`$ark.${X}`},resolve:{}},normalize:z5,defaults:{description:(X)=>X.reference},intersections:{alias:(X,U,q)=>q.$.lazilyResolve(()=>Eq(u(X.resolution,U.resolution,q)),`${X.reference}${q.pipe?"=>":"&"}${U.reference}`),...E0("alias",(X,U,q)=>{if(U.isUnknown())return X;if(U.isNever())return U;if(U.isBasis()&&!U.overlaps(V.intrinsic.object))return B.init("assignability",V.intrinsic.object,U);return q.$.lazilyResolve(()=>Eq(u(X.resolution,U,q)),`${X.reference}${q.pipe?"=>":"&"}${U.id}`)})}});class bq extends V0{expression=this.reference;structure=void 0;get resolution(){let X=this._resolve();return q0[this.id]=X}_resolve(){if(this.resolve)return this.resolve();if(this.reference[0]==="$")return this.$.resolveRoot(this.reference.slice(1));let X=this.reference,U=q0[X],q=[];while(M(U,"context")){if(q.includes(U.id))return F(A5(U.id,q));q.push(U.id),U=q0[U.id]}if(!M(U,"root"))return g(`Unexpected resolution for reference ${this.reference}
|
|
164
164
|
Seen: [${q.join("->")}]
|
|
165
|
-
Resolution: ${E(U)}`);return U}get resolutionId(){if(this.reference.includes("&")||this.reference.includes("=>"))return this.resolution.id;if(this.reference[0]!=="$")return this.reference;let X=this.reference.slice(1),U=this.$.resolutions[X];if(typeof U==="string")return U;if(M(U,"root"))return U.id;return g(`Unexpected resolution for reference ${this.reference}: ${E(U)}`)}get defaultShortDescription(){return Q0.object}innerToJsonSchema(X){return this.resolution.toJsonSchemaRecurse(X)}traverseAllows=(X,U)=>{let q=U.seen[this.reference];if(q?.includes(X))return!0;return U.seen[this.reference]=y(q,X),this.resolution.traverseAllows(X,U)};traverseApply=(X,U)=>{let q=U.seen[this.reference];if(q?.includes(X))return;U.seen[this.reference]=y(q,X),this.resolution.traverseApply(X,U)};compile(X){let U=this.resolutionId;X.if(`ctx.seen.${U} && ctx.seen.${U}.includes(data)`,()=>X.return(!0)),X.if(`!ctx.seen.${U}`,()=>X.line(`ctx.seen.${U} = []`)),X.line(`ctx.seen.${U}.push(data)`),X.return(X.invoke(U))}}var
|
|
165
|
+
Resolution: ${E(U)}`);return U}get resolutionId(){if(this.reference.includes("&")||this.reference.includes("=>"))return this.resolution.id;if(this.reference[0]!=="$")return this.reference;let X=this.reference.slice(1),U=this.$.resolutions[X];if(typeof U==="string")return U;if(M(U,"root"))return U.id;return g(`Unexpected resolution for reference ${this.reference}: ${E(U)}`)}get defaultShortDescription(){return Q0.object}innerToJsonSchema(X){return this.resolution.toJsonSchemaRecurse(X)}traverseAllows=(X,U)=>{let q=U.seen[this.reference];if(q?.includes(X))return!0;return U.seen[this.reference]=y(q,X),this.resolution.traverseAllows(X,U)};traverseApply=(X,U)=>{let q=U.seen[this.reference];if(q?.includes(X))return;U.seen[this.reference]=y(q,X),this.resolution.traverseApply(X,U)};compile(X){let U=this.resolutionId;X.if(`ctx.seen.${U} && ctx.seen.${U}.includes(data)`,()=>X.return(!0)),X.if(`!ctx.seen.${U}`,()=>X.line(`ctx.seen.${U} = []`)),X.line(`ctx.seen.${U}.push(data)`),X.return(X.invoke(U))}}var A5=(X,U)=>`Alias '${X}' has a shallow resolution cycle: ${[...U,X].join("->")}`,C2={implementation:F5,Node:bq};class L1 extends V0{traverseApply=(X,U)=>{if(!this.traverseAllows(X,U))U.errorFromNodeContext(this.errorContext)};get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return s0(this.errorContext)}compile(X){if(X.traversalKind==="Allows")X.return(this.compiledCondition);else X.if(this.compiledNegation,()=>X.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}}var V5=b({kind:"domain",hasAssociatedError:!0,collapsibleKey:"domain",keys:{domain:{},numberAllowsNaN:{}},normalize:(X)=>typeof X==="string"?{domain:X}:I1(X,"numberAllowsNaN")&&X.domain!=="number"?F(I6.writeBadAllowNanMessage(X.domain)):X,applyConfig:(X,U)=>X.numberAllowsNaN===void 0&&X.domain==="number"&&U.numberAllowsNaN?{...X,numberAllowsNaN:!0}:X,defaults:{description:(X)=>Q0[X.domain],actual:(X)=>Number.isNaN(X)?"NaN":Q0[r(X)]},intersections:{domain:(X,U)=>X.domain==="number"&&U.domain==="number"?X.numberAllowsNaN?U:X:B.init("domain",X,U)}});class jq extends L1{requiresNaNCheck=this.domain==="number"&&!this.numberAllowsNaN;traverseAllows=this.requiresNaNCheck?(X)=>typeof X==="number"&&!Number.isNaN(X):(X)=>r(X)===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(X){if(this.domain==="bigint"||this.domain==="symbol")return X.fallback.domain({code:"domain",base:{},domain:this.domain});return{type:this.domain}}}var I6={implementation:V5,Node:jq,writeBadAllowNanMessage:(X)=>`numberAllowsNaN may only be specified with domain "number" (was ${X})`};var O5=b({kind:"intersection",hasAssociatedError:!0,normalize:(X)=>{if(h(X))return X;let{structure:U,...q}=X,Z=!!U,Q=U??{},G=S(q,(Y,J)=>{if(a(Y,aU)){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:X,...U})=>Z0(X,"object")?{...X,...U}:U,keys:{domain:{child:!0,parse:(X,U)=>U.$.node("domain",X)},proto:{child:!0,parse:(X,U)=>U.$.node("proto",X)},structure:{child:!0,parse:(X,U)=>U.$.node("structure",X),serialize:(X)=>{if(!X.sequence?.minLength)return X.collapsibleJson;let{sequence:U,...q}=X.collapsibleJson,{minVariadicLength:Z,...Q}=U,G=Q.variadic&&Object.keys(Q).length===1?Q.variadic:Q;return{...q,sequence:G}}},divisor:{child:!0,parse:X0("divisor")},max:{child:!0,parse:X0("max")},min:{child:!0,parse:X0("min")},maxLength:{child:!0,parse:X0("maxLength")},minLength:{child:!0,parse:X0("minLength")},exactLength:{child:!0,parse:X0("exactLength")},before:{child:!0,parse:X0("before")},after:{child:!0,parse:X0("after")},pattern:{child:!0,parse:X0("pattern")},predicate:{child:!0,parse:X0("predicate")}},reduce:(X,U)=>fq({},X,{$:U,invert:!1,pipe:!1}),defaults:{description:(X)=>{if(X.children.length===0)return"unknown";if(X.structure)return X.structure.description;let U=[];if(X.basis&&!X.prestructurals.some((q)=>q.impl.obviatesBasisDescription))U.push(X.basis.description);if(X.prestructurals.length){let q=X.prestructurals.slice().sort((Z,Q)=>Z.kind==="min"&&Q.kind==="max"?-1:0).map((Z)=>Z.description);U.push(...q)}if(X.inner.predicate)U.push(...X.inner.predicate.map((q)=>q.description));return U.join(" and ")},expected:(X)=>` ◦ ${X.errors.map((U)=>U.expected).join(`
|
|
166
166
|
◦ `)}`,problem:(X)=>`(${X.actual}) must be...
|
|
167
|
-
${X.expected}`},intersections:{intersection:(X,U,q)=>
|
|
167
|
+
${X.expected}`},intersections:{intersection:(X,U,q)=>fq(X.inner,U.inner,q),...E0("intersection",(X,U,q)=>{if(X.children.length===0)return U;let{domain:Z,proto:Q,...G}=X.inner,Y=Q??Z,J=Y?u(Y,U,q):U;return J instanceof B?J:X?.basis?.equals(J)?X:X.$.node("intersection",{...G,[J.kind]:J},{prereduced:!0})})}});class yq extends V0{basis=this.inner.domain??this.inner.proto??null;prestructurals=[];refinements=this.children.filter((X)=>{if(!X.isRefinement())return!1;if(z0(s4,X.kind))this.prestructurals.push(X);return!0});structure=this.inner.structure;expression=B5(this);get shallowMorphs(){return this.inner.structure?.structuralMorph?[this.inner.structure.structuralMorph]:[]}get defaultShortDescription(){return this.basis?.defaultShortDescription??"present"}innerToJsonSchema(X){return this.children.reduce((U,q)=>q.isBasis()?q.toJsonSchemaRecurse(X):q.reduceJsonSchema(U,X),{})}traverseAllows=(X,U)=>this.children.every((q)=>q.traverseAllows(X,U));traverseApply=(X,U)=>{let q=U.currentErrorCount;if(this.basis){if(this.basis.traverseApply(X,U),U.currentErrorCount>q)return}if(this.prestructurals.length){for(let Z=0;Z<this.prestructurals.length-1;Z++)if(this.prestructurals[Z].traverseApply(X,U),U.failFast&&U.currentErrorCount>q)return;if(this.prestructurals[this.prestructurals.length-1].traverseApply(X,U),U.currentErrorCount>q)return}if(this.structure){if(this.structure.traverseApply(X,U),U.currentErrorCount>q)return}if(this.inner.predicate){for(let Z=0;Z<this.inner.predicate.length-1;Z++)if(this.inner.predicate[Z].traverseApply(X,U),U.failFast&&U.currentErrorCount>q)return;this.inner.predicate[this.inner.predicate.length-1].traverseApply(X,U)}};compile(X){if(X.traversalKind==="Allows"){for(let U of this.children)X.check(U);X.return(!0);return}if(X.initializeErrorCount(),this.basis){if(X.check(this.basis),this.children.length>1)X.returnIfFail()}if(this.prestructurals.length){for(let U=0;U<this.prestructurals.length-1;U++)X.check(this.prestructurals[U]),X.returnIfFailFast();if(X.check(this.prestructurals[this.prestructurals.length-1]),this.structure||this.inner.predicate)X.returnIfFail()}if(this.structure){if(X.check(this.structure),this.inner.predicate)X.returnIfFail()}if(this.inner.predicate){for(let U=0;U<this.inner.predicate.length-1;U++)X.check(this.inner.predicate[U]),X.returnIfFail();X.check(this.inner.predicate[this.inner.predicate.length-1])}}}var V9={implementation:O5,Node:yq},B5=(X)=>{if(X.structure?.expression)return X.structure.expression;let U=X.basis&&!X.prestructurals.some((Q)=>Q.impl.obviatesBasisExpression)?X.basis.nestableExpression:"",q=X.prestructurals.map((Q)=>Q.expression).join(" & "),Z=`${U}${U?" ":""}${q}`;if(Z==="Array == 0")return"[]";return Z||"unknown"},fq=(X,U,q)=>{let Z={},Q=X.proto??X.domain,G=U.proto??U.domain,Y=Q?G?u(Q,G,q):Q:G;if(Y instanceof B)return Y;if(Y)Z[Y.kind]=Y;return j1({kind:"intersection",baseInner:Z,l:f1(X),r:f1(U),roots:[],ctx:q})};var T5=b({kind:"morph",hasAssociatedError:!1,keys:{in:{child:!0,parse:(X,U)=>U.$.parseSchema(X)},morphs:{parse:l0,serialize:(X)=>X.map((U)=>M(U,"root")?U.json:d(U))},declaredIn:{child:!1,serialize:(X)=>X.json},declaredOut:{child:!1,serialize:(X)=>X.json}},normalize:(X)=>X,defaults:{description:(X)=>`a morph from ${X.rawIn.description} to ${X.rawOut?.description??"unknown"}`},intersections:{morph:(X,U,q)=>{if(!X.hasEqualMorphs(U))return F(R5(X.expression,U.expression));let Z=u(X.rawIn,U.rawIn,q);if(Z instanceof B)return Z;let Q={morphs:X.morphs};if(X.declaredIn||U.declaredIn){let G=u(X.rawIn,U.rawIn,q);if(G instanceof B)return G.throw();else Q.declaredIn=G}if(X.declaredOut||U.declaredOut){let G=u(X.rawOut,U.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",(X,U,q)=>{let Z=X.inner.in?u(X.inner.in,U,q):U;return Z instanceof B?Z:Z.equals(X.inner.in)?X:q.$.node("morph",{...X.inner,in:Z})})}});class gq 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(X){return this.$.node("morph",{...this.inner,declaredIn:X})}declareOut(X){return this.$.node("morph",{...this.inner,declaredOut:X})}expression=`(In: ${this.rawIn.expression}) => ${this.lastMorphIfNode?"To":"Out"}<${this.rawOut.expression}>`;get defaultShortDescription(){return this.rawIn.meta.description??this.rawIn.defaultShortDescription}innerToJsonSchema(X){return X.fallback.morph({code:"morph",base:this.rawIn.toJsonSchemaRecurse(X),out:this.introspectableOut?.toJsonSchemaRecurse(X)??null})}compile(X){if(X.traversalKind==="Allows"){if(!this.introspectableIn)return;X.return(X.invoke(this.introspectableIn));return}if(this.introspectableIn)X.line(X.invoke(this.introspectableIn));X.line(`ctx.queueMorphs(${this.compiledMorphs})`)}traverseAllows=(X,U)=>!this.introspectableIn||this.introspectableIn.traverseAllows(X,U);traverseApply=(X,U)=>{if(this.introspectableIn)this.introspectableIn.traverseApply(X,U);U.queueMorphs(this.morphs)};hasEqualMorphs(X){return g0(this.morphs,X.morphs,{isEqual:(U,q)=>U===q||M(U,"root")&&M(q,"root")&&U.equals(q)})}}var O9={implementation:T5,Node:gq},R5=(X,U)=>`The intersection of distinct morphs at a single path is indeterminate:
|
|
168
168
|
Left: ${X}
|
|
169
|
-
Right: ${U}`;var
|
|
169
|
+
Right: ${U}`;var D5=b({kind:"proto",hasAssociatedError:!0,collapsibleKey:"proto",keys:{proto:{serialize:(X)=>_2(X)??F0(X)},dateAllowsInvalid:{}},normalize:(X)=>{let U=typeof X==="string"?{proto:H1[X]}:typeof X==="function"?h(X)?X:{proto:X}:typeof X.proto==="string"?{...X,proto:H1[X.proto]}:X;if(typeof U.proto!=="function")F(S2.writeInvalidSchemaMessage(U.proto));if(I1(U,"dateAllowsInvalid")&&U.proto!==Date)F(S2.writeBadInvalidDateMessage(U.proto));return U},applyConfig:(X,U)=>{if(X.dateAllowsInvalid===void 0&&X.proto===Date&&U.dateAllowsInvalid)return{...X,dateAllowsInvalid:!0};return X},defaults:{description:(X)=>X.builtinName?IU[X.builtinName]:`an instance of ${X.proto.name}`,actual:(X)=>X instanceof Date&&X.toString()==="Invalid Date"?"an invalid Date":W2(X)},intersections:{proto:(X,U)=>X.proto===Date&&U.proto===Date?X.dateAllowsInvalid?U:X:u4(X.proto,U.proto)?X:u4(U.proto,X.proto)?U:B.init("proto",X,U),domain:(X,U)=>U.domain==="object"?X:B.init("domain",V.intrinsic.object.internal,U)}});class kq extends L1{builtinName=_2(this.proto);serializedConstructor=this.json.proto;requiresInvalidDateCheck=this.proto===Date&&!this.dateAllowsInvalid;traverseAllows=this.requiresInvalidDateCheck?(X)=>X instanceof Date&&X.toString()!=="Invalid Date":(X)=>X instanceof this.proto;compiledCondition=`data instanceof ${this.serializedConstructor}${this.requiresInvalidDateCheck?' && data.toString() !== "Invalid Date"':""}`;compiledNegation=`!(${this.compiledCondition})`;innerToJsonSchema(X){switch(this.builtinName){case"Array":return{type:"array"};case"Date":return X.fallback.date?.({code:"date",base:{}})??X.fallback.proto({code:"proto",base:{},proto:this.proto});default:return X.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 S2={implementation:D5,Node:kq,writeBadInvalidDateMessage:(X)=>`dateAllowsInvalid may only be specified with constructor Date (was ${X.name})`,writeInvalidSchemaMessage:(X)=>`instanceOf operand must be a function (was ${r(X)})`};var M5=b({kind:"union",hasAssociatedError:!0,collapsibleKey:"branches",keys:{ordered:{},branches:{child:!0,parse:(X,U)=>{let q=[];for(let Z of X){let Q=M(Z,"root")?Z.branches:U.$.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]=U.$.node("morph",{...J.inner,in:J.rawIn.rawOr(G.rawIn)})}}else q.push(G)}if(!U.def.ordered)q.sort((Z,Q)=>Z.hash<Q.hash?-1:1);return q}}},normalize:(X)=>x(X)?{branches:X}:X,reduce:(X,U)=>{let q=j5(X);if(q.length===1)return q[0];if(q.length===X.branches.length)return;return U.node("union",{...X,branches:q},{prereduced:!0})},defaults:{description:(X)=>X.distribute((U)=>U.description,v1),expected:(X)=>{let U=OU(X.errors,"propString"),q=Object.entries(U).map(([Z,Q])=>{let G=[];for(let H of Q)C0(G,H.expected);let Y=v1(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 v1(q)},problem:(X)=>X.expected,message:(X)=>{if(X.problem[0]==="[")return`value at ${X.problem}`;return X.problem}},intersections:{union:(X,U,q)=>{if(X.isNever!==U.isNever)return B.init("presence",X,U);let Z;if(X.ordered){if(U.ordered)F(y5(X.expression,U.expression));if(Z=B9(U.branches,X.branches,q),Z instanceof B)Z.invert()}else Z=B9(X.branches,U.branches,q);if(Z instanceof B)return Z;return q.$.parseSchema(X.ordered||U.ordered?{branches:Z,ordered:!0}:{branches:Z})},...E0("union",(X,U,q)=>{let Z=B9(X.branches,[U],q);if(Z instanceof B)return Z;if(Z.length===1)return Z[0];return q.$.parseSchema(X.ordered?{branches:Z,ordered:!0}:{branches:Z})})}});class hq extends V0{isBoolean=this.branches.length===2&&this.branches[0].hasUnit(!1)&&this.branches[1].hasUnit(!0);get branchGroups(){let X=[],U=-1;for(let q of this.branches){if(q.hasKind("unit")&&q.domain==="boolean"){if(U===-1)U=X.length,X.push(q);else X[U]=V.intrinsic.boolean;continue}X.push(q)}return X}unitBranches=this.branches.filter((X)=>X.rawIn.hasKind("unit"));discriminant=this.discriminate();discriminantJson=this.discriminant?S5(this.discriminant):null;expression=this.distribute((X)=>X.nestableExpression,b5);createBranchedOptimisticRootApply(){return(X,U)=>{let q=this.traverseOptimistic(X);if(q!==G0)return q;let Z=new w0(X,this.$.resolvedConfig);return this.traverseApply(X,Z),Z.finalize(U)}}get shallowMorphs(){return this.branches.reduce((X,U)=>C0(X,U.shallowMorphs),[])}get defaultShortDescription(){return this.distribute((X)=>X.defaultShortDescription,v1)}innerToJsonSchema(X){if(this.branchGroups.length===1&&this.branchGroups[0].equals(V.intrinsic.boolean))return{type:"boolean"};let U=this.branchGroups.map((q)=>q.toJsonSchemaRecurse(X));if(U.every((q)=>Object.keys(q).length===1&&I1(q,"const")))return{enum:U.map((q)=>q.const)};return{anyOf:U}}traverseAllows=(X,U)=>this.branches.some((q)=>q.traverseAllows(X,U));traverseApply=(X,U)=>{let q=[];for(let Z=0;Z<this.branches.length;Z++){if(U.pushBranch(),this.branches[Z].traverseApply(X,U),!U.hasError()){if(this.branches[Z].includesTransform)return U.queuedMorphs.push(...U.popBranch().queuedMorphs);return U.popBranch()}q.push(U.popBranch().error)}U.errorFromNodeContext({code:"union",errors:q,meta:this.meta})};traverseOptimistic=(X)=>{for(let U=0;U<this.branches.length;U++){let q=this.branches[U];if(q.traverseAllows(X)){if(q.contextFreeMorph)return q.contextFreeMorph(X);return X}}return G0};compile(X){if(!this.discriminant||this.unitBranches.length===this.branches.length&&this.branches.length===2)return this.compileIndiscriminable(X);let U=this.discriminant.optionallyChainedPropString;if(this.discriminant.kind==="domain")U=`typeof ${U} === "object" ? ${U} === null ? "null" : "object" : typeof ${U} === "function" ? "object" : typeof ${U}`;let q=this.discriminant.cases,Z=Object.keys(q),{optimistic:Q}=X;if(X.optimistic=!1,X.block(`switch(${U})`,()=>{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=X.invoke($,{kind:"Optimistic"});else if($.contextFreeMorph)L=`${X.invoke($)} ? ${d($.contextFreeMorph)}(data) : "${G0}"`;else L=`${X.invoke($)} ? data : "${G0}"`;else L=X.invoke($);X.line(`${_}: return ${L}`)}return X}),X.traversalKind==="Allows"){X.return(Q?`"${G0}"`:!1);return}let G=v1(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"?`${N5}[${U}]`:`${C5}(${U})`;X.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(X){if(X.traversalKind==="Apply"){X.const("errors","[]");for(let U of this.branches)X.line("ctx.pushBranch()").line(X.invoke(U)).if("!ctx.hasError()",()=>X.return(U.includesTransform?"ctx.queuedMorphs.push(...ctx.popBranch().queuedMorphs)":"ctx.popBranch()")).line("errors.push(ctx.popBranch().error)");X.line(`ctx.errorFromNodeContext({ code: "union", errors, meta: ${this.compiledMeta} })`)}else{let{optimistic:U}=X;X.optimistic=!1;for(let q of this.branches)X.if(`${X.invoke(q)}`,()=>X.return(U?q.contextFreeMorph?`${d(q.contextFreeMorph)}(data)`:"data":!0));X.return(U?`"${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 X=[];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
|
|
175
|
+
})`)}compileIndiscriminable(X){if(X.traversalKind==="Apply"){X.const("errors","[]");for(let U of this.branches)X.line("ctx.pushBranch()").line(X.invoke(U)).if("!ctx.hasError()",()=>X.return(U.includesTransform?"ctx.queuedMorphs.push(...ctx.popBranch().queuedMorphs)":"ctx.popBranch()")).line("errors.push(ctx.popBranch().error)");X.line(`ctx.errorFromNodeContext({ code: "union", errors, meta: ${this.compiledMeta} })`)}else{let{optimistic:U}=X;X.optimistic=!1;for(let q of this.branches)X.if(`${X.invoke(q)}`,()=>X.return(U?q.contextFreeMorph?`${d(q.contextFreeMorph)}(data)`:"data":!0));X.return(U?`"${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 X=[];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=X.find((A)=>g0(A.path,W.path)&&A.kind===W.kind);if(!L)X.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 U=this.ordered?I5(X,this.branches):X;if(!U.length)return null;let q=w5(U,this),Z={};for(let Q in q.best.cases){let G=P5(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 w5=(X,U)=>{let Z=X.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:uq(Z.path)},G=U.branches.map((Y,J)=>({originalIndex:J,branch:Y}));return{best:Z,location:Q,defaultEntries:G,node:U}},P5=(X,U)=>{let q=X.best.cases[U],Z=K5(q.condition,X.location.path,X.node.$),Q=[],G=[];for(let Y=0;Y<X.defaultEntries.length;Y++){let J=X.defaultEntries[Y];if(q.branchIndices.includes(J.originalIndex)){let H=vq(X.node.branches[J.originalIndex],X.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=vq(J.branch,X.location);Q?.push({originalIndex:J.originalIndex,branch:H})}G.push(J)}}return X.defaultEntries=G,Q},I5=(X,U)=>{return X.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(U[W].overlaps(U[$]))return!1}}}return!0})},K5=(X,U,q)=>{let Z=X==="undefined"?q.node("unit",{unit:void 0}):X==="null"?q.node("unit",{unit:null}):X==="boolean"?q.units([!0,!1]):X;for(let Q=U.length-1;Q>=0;Q--){let G=U[Q];Z=q.node("intersection",typeof G==="number"?{proto:"Array",sequence:[...AU(G).map((Y)=>({})),Z]}:{domain:"object",required:[{key:G,value:Z}]})}return Z},uq=(X)=>X.reduce((U,q)=>U+i4(q,!0),"data"),N5=d(BU),C5=d(E),T9={implementation:M5,Node:hq},S5=(X)=>({kind:X.kind,path:X.path.map((U)=>typeof U==="string"?U:M0(U)),cases:S(X.cases,(U,q)=>[U,q===!0?q:q.hasKind("union")&&q.discriminantJson?q.discriminantJson:q.json])}),E5={delimiter:" | ",finalDelimiter:" | "},b5=(X)=>v1(X,E5),v1=(X,U)=>{let q=U?.delimiter??", ",Z=U?.finalDelimiter??" or ";if(X.length===0)return"never";if(X.length===1)return X[0];if(X.length===2&&X[0]==="false"&&X[1]==="true"||X[0]==="true"&&X[1]==="false")return"boolean";let Q={},G=X.filter((J)=>Q[J]?!1:Q[J]=!0),Y=G.pop();return`${G.join(q)}${G.length?Z:""}${Y}`},B9=(X,U,q)=>{let Z=U.map(()=>[]);for(let G=0;G<X.length;G++){let Y={};for(let J=0;J<U.length;J++){if(Z[J]===null)continue;if(X[G].equals(U[J])){Z[J]=null,Y={};break}let H=u(X[G],U[J],q);if(H instanceof B)continue;if(H.equals(X[G])){Z[J].push(X[G]),Y={};break}if(H.equals(U[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)??U[Y]);return Q.length===0?B.init("union",X,U):Q},j5=({branches:X,ordered:U})=>{if(X.length<2)return X;let q=X.map(()=>!0);for(let Z=0;Z<X.length;Z++)for(let Q=Z+1;Q<X.length&&q[Z]&&q[Q];Q++){if(X[Z].equals(X[Q])){q[Q]=!1;continue}let G=W0(X[Z].rawIn,X[Q].rawIn,X[0].$);if(G instanceof B)continue;if(!U)f5(X[Z],X[Q]);if(G.equals(X[Z].rawIn))q[Z]=!!U;else if(G.equals(X[Q].rawIn))q[Q]=!1}return X.filter((Z,Q)=>q[Q])},f5=(X,U)=>{if(!X.includesTransform&&!U.includesTransform)return;if(!g0(X.shallowMorphs,U.shallowMorphs))F(xq(X.expression,U.expression));if(!g0(X.flatMorphs,U.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(xq(X.expression,U.expression))},vq=(X,U)=>X.transform((q,Z)=>{if(q==="domain"||q==="unit")return null;return Z},{shouldTransform:(q,Z)=>{let Q=uq(Z.path);if(!U.optionallyChainedPropString.startsWith(Q))return!1;if(q.hasKind("domain")&&q.domain==="object")return!0;if((q.hasKind("domain")||U.kind==="unit")&&Q===U.optionallyChainedPropString)return!0;return q.children.length!==0&&q.kind!=="index"}}),xq=(X,U)=>`An unordered union of a type including a morph and a type with overlapping input is indeterminate:
|
|
176
176
|
Left: ${X}
|
|
177
|
-
Right: ${U}`,
|
|
177
|
+
Right: ${U}`,y5=(X,U)=>`The intersection of two ordered unions is indeterminate:
|
|
178
178
|
Left: ${X}
|
|
179
|
-
Right: ${U}`;var f5=b({kind:"unit",hasAssociatedError:!0,keys:{unit:{preserveUndefined:!0,serialize:(X)=>X instanceof Date?X.toISOString():F0(X)}},normalize:(X)=>X,defaults:{description:(X)=>E(X.unit),problem:({expected:X,actual:U})=>`${X===U?`must be reference equal to ${X} (serialized to the same value)`:`must be ${X} (was ${U})`}`},intersections:{unit:(X,U)=>B.init("unit",X,U),...S0("unit",(X,U)=>{if(U.allows(X.unit))return X;let q=U.hasKind("intersection")?U.basis:U;if(q){let Z=q.hasKind("domain")?q:V.intrinsic.object;if(X.domain!==Z.domain){let Q=X.domain==="undefined"||X.domain==="null"||X.domain==="boolean"?X.domain:V.intrinsic[X.domain];return B.init("domain",Q,Z)}}return B.init("assignability",X,U.hasKind("intersection")?U.children.find((Z)=>!Z.allows(X.unit)):U)})}});class uq extends L1{compiledValue=this.json.unit;serializedValue=typeof this.unit==="string"||this.unit instanceof Date?JSON.stringify(this.compiledValue):`${this.compiledValue}`;compiledCondition=hq(this.unit,this.serializedValue);compiledNegation=hq(this.unit,this.serializedValue,"negated");expression=E(this.unit);domain=r(this.unit);get defaultShortDescription(){return this.domain==="object"?Q0.object:this.description}innerToJsonSchema(X){return this.unit===null?{type:"null"}:V.intrinsic.jsonPrimitive.allows(this.unit)?{const:this.unit}:X.fallback.unit({code:"unit",base:{},unit:this.unit})}traverseAllows=this.unit instanceof Date?(X)=>X instanceof Date&&X.toISOString()===this.compiledValue:Number.isNaN(this.unit)?(X)=>Number.isNaN(X):(X)=>X===this.unit}var T9={implementation:f5,Node:uq},hq=(X,U,q)=>{if(X instanceof Date){let Z=`data instanceof Date && data.toISOString() === ${U}`;return q?`!(${Z})`:Z}if(Number.isNaN(X))return`${q?"!":""}Number.isNaN(data)`;return`data ${q?"!":"="}== ${U}`};var y5=b({kind:"index",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{signature:{child:!0,parse:(X,U)=>{let q=U.$.parseSchema(X);if(!q.extends(V.intrinsic.key))return F(k5(q.expression));let Z=q.branches.filter((Q)=>Q.hasKind("unit"));if(Z.length)return F(g5(Z.map((Q)=>E(Q.unit))));return q}},value:{child:!0,parse:(X,U)=>U.$.parseSchema(X)}},normalize:(X)=>X,defaults:{description:(X)=>`[${X.signature.expression}]: ${X.value.description}`},intersections:{index:(X,U,q)=>{if(X.signature.equals(U.signature)){let Z=u(X.value,U.value,q),Q=Z instanceof B?V.intrinsic.never.internal:Z;return q.$.node("index",{signature:X.signature,value:Q})}if(X.signature.extends(U.signature)&&X.value.subsumes(U.value))return U;if(U.signature.extends(X.signature)&&U.value.subsumes(X.value))return X;return null}}});class mq extends A0{impliedBasis=V.intrinsic.object.internal;expression=`[${this.signature.expression}]: ${this.value.expression}`;flatRefs=y(this.value.flatRefs.map((X)=>P0([this.signature,...X.path],X.node)),P0([this.signature],this.value));traverseAllows=(X,U)=>H1(X).every((q)=>{if(this.signature.traverseAllows(q[0],U))return J0(q[0],()=>this.value.traverseAllows(q[1],U),U);return!0});traverseApply=(X,U)=>{for(let q of H1(X))if(this.signature.traverseAllows(q[0],U))J0(q[0],()=>this.value.traverseApply(q[1],U),U)};_transform(X,U){U.path.push(this.signature);let q=super._transform(X,U);return U.path.pop(),q}compile(){}}var R9={implementation:y5,Node:mq},g5=(X)=>`Index keys ${X.join(", ")} should be specified as named props.`,k5=(X)=>`Indexed key definition '${X}' must be a string or symbol`;var v5=b({kind:"required",hasAssociatedError:!0,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(X,U)=>U.$.parseSchema(X)}},normalize:(X)=>X,defaults:{description:(X)=>`${X.compiledKey}: ${X.value.description}`,expected:(X)=>X.missingValueDescription,actual:()=>"missing"},intersections:{required:w2,optional:w2}});class pq extends P2{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 D9={implementation:v5,Node:pq};var x5=b({kind:"sequence",hasAssociatedError:!1,collapsibleKey:"variadic",keys:{prefix:{child:!0,parse:(X,U)=>{if(X.length===0)return;return X.map((q)=>U.$.parseSchema(q))}},optionals:{child:!0,parse:(X,U)=>{if(X.length===0)return;return X.map((q)=>U.$.parseSchema(q))}},defaultables:{child:(X)=>X.map((U)=>U[0]),parse:(X,U)=>{if(X.length===0)return;return X.map((q)=>{let Z=U.$.parseSchema(q[0]);return K2(Z,q[1],null),[Z,q[1]]})},serialize:(X)=>X.map((U)=>[U[0].collapsibleJson,F0(U[1])]),reduceIo:(X,U,q)=>{if(X==="in"){U.optionals=q.map((Z)=>Z[0].rawIn);return}U.prefix=q.map((Z)=>Z[0].rawOut);return}},variadic:{child:!0,parse:(X,U)=>U.$.parseSchema(X,U)},minVariadicLength:{parse:(X)=>X===0?void 0:X},postfix:{child:!0,parse:(X,U)=>{if(X.length===0)return;return X.map((q)=>U.$.parseSchema(q))}}},normalize:(X)=>{if(typeof X==="string")return{variadic:X};if("variadic"in X||"prefix"in X||"defaultables"in X||"optionals"in X||"postfix"in X||"minVariadicLength"in X){if(X.postfix?.length){if(!X.variadic)return F(p5);if(X.optionals?.length||X.defaultables?.length)return F(w9)}if(X.minVariadicLength&&!X.variadic)return F("minVariadicLength may not be specified without a variadic element");return X}return{variadic:X}},reduce:(X,U)=>{let q=X.minVariadicLength??0,Z=X.prefix?.slice()??[],Q=X.defaultables?.slice()??[],G=X.optionals?.slice()??[],Y=X.postfix?.slice()??[];if(X.variadic){while(G[G.length-1]?.equals(X.variadic))G.pop();if(G.length===0&&Q.length===0)while(Z[Z.length-1]?.equals(X.variadic))Z.pop(),q++;while(Y[0]?.equals(X.variadic))Y.shift(),q++}else if(G.length===0&&Q.length===0)Z.push(...Y.splice(0));if(q!==X.minVariadicLength||X.prefix&&X.prefix.length!==Z.length)return U.node("sequence",{...X,prefix:Z,defaultables:Q,optionals:G,postfix:Y,minVariadicLength:q},{prereduced:!0})},defaults:{description:(X)=>{if(X.isVariadicOnly)return`${X.variadic.nestableExpression}[]`;return`[${X.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:(X,U,q)=>{let Z=E2({l:X.tuple,r:U.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",lq(Q[0].result)):q.$.node("union",Q.map((G)=>({proto:Array,sequence:lq(G.result)})))}}});class cq extends A0{impliedBasis=V.intrinsic.Array.internal;tuple=m5(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((X)=>{if(X.kind==="defaultables"||X.kind==="optionals")return this.defaultablesAndOptionals.push(X.node),!0;return X.kind==="prefix"});variadicOrPostfix=f0(this.variadic&&[this.variadic],this.postfix);flatRefs=this.addFlatRefs();addFlatRefs(){return a4(this.flatRefs,this.prevariadic.flatMap((X,U)=>y(X.node.flatRefs.map((q)=>P0([`${U}`,...q.path],q.node)),P0([`${U}`],X.node)))),a4(this.flatRefs,this.variadicOrPostfix.flatMap((X)=>y(X.flatRefs.map((U)=>P0([V.intrinsic.nonNegativeIntegerString.internal,...U.path],U.node)),P0([V.intrinsic.nonNegativeIntegerString.internal],X)))),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=u5(this);defaultValueMorphsReference=this.defaultValueMorphs.length?d(this.defaultValueMorphs):void 0;elementAtIndex(X,U){if(U<this.prevariadic.length)return this.tuple[U];let q=X.length-this.postfixLength;if(U>=q)return{kind:"postfix",node:this.postfix[U-q]};return{kind:"variadic",node:this.variadic??g(`Unexpected attempt to access index ${U} on ${this}`)}}traverseAllows=(X,U)=>{for(let q=0;q<X.length;q++)if(!this.elementAtIndex(X,q).node.traverseAllows(X[q],U))return!1;return!0};traverseApply=(X,U)=>{let q=0;for(;q<X.length;q++)J0(q,()=>this.elementAtIndex(X,q).node.traverseApply(X[q],U),U)};get element(){return this.cacheGetter("element",this.$.node("union",this.children))}compile(X){if(this.prefix)for(let[U,q]of this.prefix.entries())X.traverseKey(`${U}`,`data[${U}]`,q);for(let[U,q]of this.defaultablesAndOptionals.entries()){let Z=`${U+this.prefixLength}`;X.if(`${Z} >= data.length`,()=>X.traversalKind==="Allows"?X.return(!0):X.return()),X.traverseKey(Z,`data[${Z}]`,q)}if(this.variadic){if(this.postfix)X.const("firstPostfixIndex",`data.length${this.postfix?`- ${this.postfix.length}`:""}`);if(X.for(`i < ${this.postfix?"firstPostfixIndex":"data.length"}`,()=>X.traverseKey("i","data[i]",this.variadic),this.prevariadic.length),this.postfix)for(let[U,q]of this.postfix.entries()){let Z=`firstPostfixIndex + ${U}`;X.traverseKey(Z,`data[${Z}]`,q)}}if(X.traversalKind==="Allows")X.return(!0)}_transform(X,U){U.path.push(V.intrinsic.nonNegativeIntegerString.internal);let q=super._transform(X,U);return U.path.pop(),q}expression=this.description;reduceJsonSchema(X,U){let q=U.target==="draft-07";if(this.prevariadic.length){let Z=this.prevariadic.map((Q)=>{let G=Q.node.toJsonSchemaRecurse(U);if(Q.kind==="defaultables"){let Y=typeof Q.default==="function"?Q.default():Q.default;G.default=V.intrinsic.jsonData.allows(Y)?Y:U.fallback.defaultValue({code:"defaultValue",base:G,value:Y})}return G});if(q)X.items=Z;else X.prefixItems=Z}if(this.minLength)X.minItems=this.minLength;if(this.variadic){let Z=this.variadic.toJsonSchemaRecurse(U);if(q&&this.prevariadic.length)X.additionalItems=Z;else X.items=Z;if(this.maxLength)X.maxItems=this.maxLength;if(this.postfix){let Q=this.postfix.map((G)=>G.toJsonSchemaRecurse(U));X=U.fallback.arrayPostfix({code:"arrayPostfix",base:X,elements:Q})}}else{if(q)X.additionalItems=!1;else X.items=!1;delete X.maxItems}return X}}var h5={},u5=(X)=>{if(!X.defaultables)return[];let U=[],q="[",Z=X.prefixLength+X.defaultablesLength-1;for(let Q=X.prefixLength;Q<=Z;Q++){let[G,Y]=X.defaultables[Q-X.prefixLength];U.push(F9(Q,G,Y)),q+=`${Q}: ${G.id} = ${F0(Y)}, `}return q+="]",h5[q]??=U},M9={implementation:x5,Node:cq},m5=(X)=>{let U=[];if(X.prefix)for(let q of X.prefix)U.push({kind:"prefix",node:q});if(X.defaultables)for(let[q,Z]of X.defaultables)U.push({kind:"defaultables",node:q,default:Z});if(X.optionals)for(let q of X.optionals)U.push({kind:"optionals",node:q});if(X.variadic)U.push({kind:"variadic",node:X.variadic});if(X.postfix)for(let q of X.postfix)U.push({kind:"postfix",node:q});return U},lq=(X)=>X.reduce((U,q)=>{if(q.kind==="variadic")U.variadic=q.node;else if(q.kind==="defaultables")U.defaultables=y(U.defaultables,[[q.node,q.default]]);else U[q.kind]=y(U[q.kind],q.node);return U},{}),w9="A postfix required element cannot follow an optional or defaultable element",p5="A postfix element requires a variadic element",E2=(X)=>{let[U,...q]=X.l,[Z,...Q]=X.r;if(!U||!Z)return X;let G=q[q.length-1]?.kind==="postfix",Y=Q[Q.length-1]?.kind==="postfix",H=U.kind==="prefix"||Z.kind==="prefix"?"prefix":U.kind==="postfix"||Z.kind==="postfix"?"postfix":U.kind==="variadic"&&Z.kind==="variadic"?"variadic":G||Y?"prefix":U.kind==="defaultables"||Z.kind==="defaultables"?"defaultables":"optionals";if(U.kind==="prefix"&&Z.kind==="variadic"&&Y){let _=E2({...X,fixedVariants:[],r:Q.map((L)=>({...L,kind:"prefix"}))});if(_.disjoint.length===0)X.fixedVariants.push(_)}else if(Z.kind==="prefix"&&U.kind==="variadic"&&G){let _=E2({...X,fixedVariants:[],l:q.map((L)=>({...L,kind:"prefix"}))});if(_.disjoint.length===0)X.fixedVariants.push(_)}let J=u(U.node,Z.node,X.ctx);if(J instanceof B)if(H==="prefix"||H==="postfix")X.disjoint.push(...J.withPrefixKey(H==="prefix"?X.result.length:`-${q.length+1}`,dq(U)&&dq(Z)?"required":"optional")),X.result=[...X.result,{kind:H,node:V.intrinsic.never.internal}];else if(H==="optionals"||H==="defaultables")return X;else return E2({...X,fixedVariants:[],l:q.map((_)=>({..._,kind:"prefix"})),r:q.map((_)=>({..._,kind:"prefix"}))});else if(H==="defaultables"){if(U.kind==="defaultables"&&Z.kind==="defaultables"&&U.default!==Z.default)F(z9(U.default,Z.default));X.result=[...X.result,{kind:H,node:J,default:U.kind==="defaultables"?U.default:Z.kind==="defaultables"?Z.default:g(`Unexpected defaultable intersection from ${U.kind} and ${Z.kind} elements.`)}]}else X.result=[...X.result,{kind:H,node:J}];let W=X.l.length,$=X.r.length;if(U.kind!=="variadic"||W>=$&&(Z.kind==="variadic"||$===1))X.l=q;if(Z.kind!=="variadic"||$>=W&&(U.kind==="variadic"||W===1))X.r=Q;return E2(X)},dq=(X)=>X.kind==="prefix"||X.kind==="postfix";var rq=(X)=>(U)=>{if(U.props.length||U.index){let q=U.index?.map((Q)=>Q[X])??[];for(let Q of U.props)q.push(Q[X]);if(U.undeclared)q.push(`+ (undeclared): ${U.undeclared}`);let Z=`{ ${q.join(", ")} }`;return U.sequence?`${Z} & ${U.sequence.description}`:Z}return U.sequence?.description??"{}"},l5=rq("description"),d5=rq("expression"),iq=(X,U,q)=>{let Z=X.required?"required":"optional";if(!U.signature.allows(X.key))return null;let Q=W0(X.value,U.value,q);if(Q instanceof B)return Z==="optional"?q.node("optional",{key:X.key,value:V.intrinsic.never.internal}):Q.withPrefixKey(X.key,X.kind);return null},c5=b({kind:"structure",hasAssociatedError:!1,normalize:(X)=>X,applyConfig:(X,U)=>{if(!X.undeclared&&U.onUndeclaredKey!=="ignore")return{...X,undeclared:U.onUndeclaredKey};return X},keys:{required:{child:!0,parse:X0("required"),reduceIo:(X,U,q)=>{U.required=y(U.required,q.map((Z)=>X==="in"?Z.rawIn:Z.rawOut));return}},optional:{child:!0,parse:X0("optional"),reduceIo:(X,U,q)=>{if(X==="in"){U.optional=q.map((Z)=>Z.rawIn);return}for(let Z of q)U[Z.outProp.kind]=y(U[Z.outProp.kind],Z.outProp.rawOut)}},index:{child:!0,parse:X0("index")},sequence:{child:!0,parse:X0("sequence")},undeclared:{parse:(X)=>X==="ignore"?void 0:X,reduceIo:(X,U,q)=>{if(q==="reject"){U.undeclared="reject";return}if(X==="in")delete U.undeclared;else U.undeclared="reject"}}},defaults:{description:l5},intersections:{structure:(X,U,q)=>{let Z={...X.inner},Q={...U.inner},G=new B;if(X.undeclared){let J=X.keyof();for(let W of U.requiredKeys)if(!J.allows(W))G.add("presence",V.intrinsic.never.internal,U.propsByKey[W].value,{path:[W]});if(Q.optional)Q.optional=Q.optional.filter((W)=>J.allows(W.key));if(Q.index)Q.index=Q.index.flatMap((W)=>{if(W.signature.extends(J))return W;let $=W0(J,W.signature,q.$);if($ instanceof B)return[];let _=I6($,W.value,q.$);if(_.required)Q.required=f0(Q.required,_.required);if(_.optional)Q.optional=f0(Q.optional,_.optional);return _.index??[]})}if(U.undeclared){let J=U.keyof();for(let W of X.requiredKeys)if(!J.allows(W))G.add("presence",X.propsByKey[W].value,V.intrinsic.never.internal,{path:[W]});if(Z.optional)Z.optional=Z.optional.filter((W)=>J.allows(W.key));if(Z.index)Z.index=Z.index.flatMap((W)=>{if(W.signature.extends(J))return W;let $=W0(J,W.signature,q.$);if($ instanceof B)return[];let _=I6($,W.value,q.$);if(_.required)Z.required=f0(Z.required,_.required);if(_.optional)Z.optional=f0(Z.optional,_.optional);return _.index??[]})}let Y={};if(X.undeclared||U.undeclared)Y.undeclared=X.undeclared==="reject"||U.undeclared==="reject"?"reject":"delete";let H=j1({kind:"structure",baseInner:Y,l:f1(Z),r:f1(Q),roots:[],ctx:q});if(H instanceof B)G.push(...H);if(G.length)return G;return H}},reduce:(X,U)=>{if(!X.required&&!X.optional)return;let q={},Z=!1,Q=X.optional?[...X.optional]:[];if(X.required)for(let G=0;G<X.required.length;G++){let Y=X.required[G];if(Y.key in q)F(oq(Y.key));if(q[Y.key]=!0,X.index)for(let H of X.index){let J=iq(Y,H,U);if(J instanceof B)return J}}if(X.optional)for(let G=0;G<X.optional.length;G++){let Y=X.optional[G];if(Y.key in q)F(oq(Y.key));if(q[Y.key]=!0,X.index)for(let H of X.index){let J=iq(Y,H,U);if(J instanceof B)return J;if(J!==null)Q[G]=J,Z=!0}}if(Z)return U.node("structure",{...X,optional:Q},{prereduced:!0})}});class aq extends A0{impliedBasis=V.intrinsic.object.internal;impliedSiblings=this.children.flatMap((X)=>X.impliedSiblings??[]);props=f0(this.required,this.optional);propsByKey=S(this.props,(X,U)=>[U.key,U]);propsByKeyReference=d(this.propsByKey);expression=d5(this);requiredKeys=this.required?.map((X)=>X.key)??[];optionalKeys=this.optional?.map((X)=>X.key)??[];literalKeys=[...this.requiredKeys,...this.optionalKeys];_keyof;keyof(){if(this._keyof)return this._keyof;let X=this.$.units(this.literalKeys).branches;if(this.index)for(let{signature:U}of this.index)X=X.concat(U.branches);return this._keyof=this.$.node("union",X)}map(X){return this.$.node("structure",this.props.flatMap(X).reduce((U,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 U[q.kind]=y(U[q.kind],q),U}let Q=q.kind??Z?.kind??"required",G=S(q,(Y,H)=>(Y in I2.implementation.keys)?[Y,H]:[]);return U[Q]=y(U[Q],this.$.node(Q,G)),U},{}))}assertHasKeys(X){let U=X.filter((q)=>!N2(q,this.keyof()));if(U.length)return F(sq(this.expression,U))}get(X,...U){let q,Z=!1,Q=r5(X);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(N2(Q,Y.signature))q=q?.and(Y.value)??Y.value}if(this.sequence&&N2(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 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(V.intrinsic.number))return F(a5(Q.expression,this.sequence.expression));return F(sq(this.expression,[Q]))}let G=q.get(...U);return Z?G:G.or(V.intrinsic.undefined)}pick(...X){return this.assertHasKeys(X),this.$.node("structure",this.filterKeys("pick",X))}omit(...X){return this.assertHasKeys(X),this.$.node("structure",this.filterKeys("omit",X))}optionalize(){let{required:X,...U}=this.inner;return this.$.node("structure",{...U,optional:this.props.map((q)=>q.hasKind("required")?this.$.node("optional",q.inner):q)})}require(){let{optional:X,...U}=this.inner;return this.$.node("structure",{...U,required:this.props.map((q)=>q.hasKind("optional")?{key:q.key,value:q.value}:q)})}merge(X){let U=this.filterKeys("omit",[X.keyof()]);if(X.required)U.required=y(U.required,X.required);if(X.optional)U.optional=y(U.optional,X.optional);if(X.index)U.index=y(U.index,X.index);if(X.sequence)U.sequence=X.sequence;if(X.undeclared)U.undeclared=X.undeclared;else delete U.undeclared;return this.$.node("structure",U)}filterKeys(X,U){let q=F6(this.inner),Z=(Q)=>{let G=U.some((Y)=>N2(Q,Y));return X==="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=(X,U)=>this._traverse("Allows",X,U);traverseApply=(X,U)=>this._traverse("Apply",X,U);_traverse=(X,U,q)=>{let Z=q?.currentErrorCount??0;for(let Q=0;Q<this.props.length;Q++)if(X==="Allows"){if(!this.props[Q].traverseAllows(U,q))return!1}else if(this.props[Q].traverseApply(U,q),q.failFast&&q.currentErrorCount>Z)return!1;if(this.sequence){if(X==="Allows"){if(!this.sequence.traverseAllows(U,q))return!1}else if(this.sequence.traverseApply(U,q),q.failFast&&q.currentErrorCount>Z)return!1}if(this.index||this.undeclared==="reject"){let Q=Object.keys(U);Q.push(...Object.getOwnPropertySymbols(U));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(X==="Allows"){if(!J0(Y,()=>H.value.traverseAllows(U[Y],q),q))return!1}else if(J0(Y,()=>H.value.traverseApply(U[Y],q),q),q.failFast&&q.currentErrorCount>Z)return!1}}if(this.undeclared==="reject"&&!this.declaresKey(Y)){if(X==="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((X)=>X.hasDefault())??[])}declaresKey=(X)=>(X in this.propsByKey)||this.index?.some((U)=>U.signature.allows(X))||this.sequence!==void 0&&V.intrinsic.nonNegativeIntegerString.allows(X);_compileDeclaresKey(X){let U=[];if(this.props.length)U.push(`k in ${this.propsByKeyReference}`);if(this.index)for(let q of this.index)U.push(X.invoke(q.signature,{kind:"Allows",arg:"k"}));if(this.sequence)U.push("$ark.intrinsic.nonNegativeIntegerString.allows(k)");return U.join(" || ")||"false"}get structuralMorph(){return this.cacheGetter("structuralMorph",s5(this))}structuralMorphRef=this.structuralMorph&&d(this.structuralMorph);compile(X){if(X.traversalKind==="Apply")X.initializeErrorCount();for(let U of this.props)if(X.check(U),X.traversalKind==="Apply")X.returnIfFailFast();if(this.sequence){if(X.check(this.sequence),X.traversalKind==="Apply")X.returnIfFailFast()}if(this.index||this.undeclared==="reject")X.const("keys","Object.keys(data)"),X.line("keys.push(...Object.getOwnPropertySymbols(data))"),X.for("i < keys.length",()=>this.compileExhaustiveEntry(X));if(X.traversalKind==="Allows")return X.return(!0);if(this.structuralMorphRef)X.if("ctx && !ctx.hasError()",()=>{return X.line("ctx.queueMorphs(["),o5(X,this),X.line("])")})}compileExhaustiveEntry(X){if(X.const("k","keys[i]"),this.index)for(let U of this.index)X.if(`${X.invoke(U.signature,{arg:"k",kind:"Allows"})}`,()=>X.traverseKey("k","data[k]",U.value));if(this.undeclared==="reject")X.if(`!(${this._compileDeclaresKey(X)})`,()=>{if(X.traversalKind==="Allows")return X.return(!1);return X.line(`ctx.errorFromNodeContext({ code: "predicate", expected: "removed", actual: "", relativePath: [k], meta: ${this.compiledMeta} })`).if("ctx.failFast",()=>X.return())});return X}reduceJsonSchema(X,U){switch(X.type){case"object":return this.reduceObjectJsonSchema(X,U);case"array":let q=this.sequence?.reduceJsonSchema(X,U)??X;if(this.props.length||this.index)return U.fallback.arrayObject({code:"arrayObject",base:q,object:this.reduceObjectJsonSchema({type:"object"},U)});return q;default:return p.throwInternalOperandError("structure",X)}}reduceObjectJsonSchema(X,U){if(this.props.length){X.properties={};for(let q of this.props){let Z=q.value.toJsonSchemaRecurse(U);if(typeof q.key==="symbol"){U.fallback.symbolKey({code:"symbolKey",base:X,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:U.fallback.defaultValue({code:"defaultValue",base:Z,value:Q})}X.properties[q.key]=Z}if(this.requiredKeys.length&&X.properties)X.required=this.requiredKeys.filter((q)=>typeof q==="string"&&(q in X.properties))}if(this.index)for(let q of this.index){let Z=q.value.toJsonSchemaRecurse(U);if(q.signature.equals(V.intrinsic.string)){X.additionalProperties=Z;continue}for(let Q of q.signature.branches){if(!Q.extends(V.intrinsic.string)){X=U.fallback.symbolKey({code:"symbolKey",base:X,key:null,value:Z,optional:!1});continue}let G={type:"string"};if(Q.hasKind("morph"))G=U.fallback.morph({code:"morph",base:Q.rawIn.toJsonSchemaRecurse(U),out:Q.rawOut.toJsonSchemaRecurse(U)});if(!Q.hasKind("intersection"))return g(`Unexpected index branch kind ${Q.kind}.`);let{pattern:Y}=Q.inner;if(Y){let H=Object.assign(G,{pattern:Y[0].rule});for(let J=1;J<Y.length;J++)G=U.fallback.patternIntersection({code:"patternIntersection",base:H,pattern:Y[J].rule});X.patternProperties??={},X.patternProperties[H.pattern]=Z}}}if(this.undeclared&&!X.additionalProperties)X.additionalProperties=!1;return X}}var P9={},i5=(X)=>{let U="";for(let q=0;q<X.defaultable.length;q++)U+=X.defaultable[q].defaultValueMorphRef;if(X.sequence?.defaultValueMorphsReference)U+=X.sequence?.defaultValueMorphsReference;if(X.undeclared==="delete"){if(U+="delete !(",X.required)for(let q of X.required)U+=q.compiledKey+" | ";if(X.optional)for(let q of X.optional)U+=q.compiledKey+" | ";if(X.index)for(let q of X.index)U+=q.signature.id+" | ";if(X.sequence)if(X.sequence.maxLength===null)U+=I.nonNegativeIntegerString.id;else for(let q=0;q<X.sequence.tuple.length;q++)U+=q+" | ";U+=")"}return U},s5=(X)=>{let U=i5(X);if(!U)return;if(P9[U])return P9[U];let q=(Z,Q)=>{for(let G=0;G<X.defaultable.length;G++)if(!(X.defaultable[G].key in Z))X.defaultable[G].defaultValueMorph(Z,Q);if(X.sequence?.defaultables)for(let G=Z.length-X.sequence.prefixLength;G<X.sequence.defaultables.length;G++)X.sequence.defaultValueMorphs[G](Z,Q);if(X.undeclared==="delete"){for(let G in Z)if(!X.declaresKey(G))delete Z[G]}return Z};return P9[U]=q},o5=(X,U)=>{let Z=`(data${U.defaultable.some((Q)=>Q.defaultValueMorph.length===2)||U.sequence?.defaultValueMorphs.some((Q)=>Q.length===2)?", ctx":""})`;return X.block(`${Z} => `,(Q)=>{for(let G=0;G<U.defaultable.length;G++){let{serializedKey:Y,defaultValueMorphRef:H}=U.defaultable[G];Q.if(`!(${Y} in data)`,(J)=>J.line(`${H}${Z}`))}if(U.sequence?.defaultables)Q.for(`i < ${U.sequence.defaultables.length}`,(G)=>G.set("data[i]",5),`data.length - ${U.sequence.prefixLength}`);if(U.undeclared==="delete")Q.forIn("data",(G)=>G.if(`!(${U._compileDeclaresKey(G)})`,(Y)=>Y.line("delete data[k]")));return Q.return("data")})},I9={implementation:c5,Node:aq},r5=(X)=>{if(M(X,"root")&&X.hasKind("unit"))X=X.unit;if(typeof X==="number")X=`${X}`;return X},a5=(X,U)=>`${X} is not allowed as an array index on ${U}. Use the 'nonNegativeIntegerString' keyword instead.`,I6=(X,U,q)=>{let[Z,Q]=LU(X.branches,(Y)=>Y.hasKind("unit"));if(!Z.length)return{index:q.node("index",{signature:X,value:U})};let G={};for(let Y of Z){let H=q.node("required",{key:Y.unit,value:U});G[H.kind]=y(G[H.kind],H)}if(Q.length)G.index=q.node("index",{signature:Q,value:U});return G},n5=(X)=>M(X,"root")?X.expression:E(X),sq=(X,U)=>`Key${U.length===1?"":"s"} ${U.map(n5).join(", ")} ${U.length===1?"does":"do"} not exist on ${X}`,oq=(X)=>`Duplicate key ${M0(X)}`;var g1={...Vq,alias:C2.implementation,domain:P6.implementation,unit:T9.implementation,proto:S2.implementation,union:B9.implementation,morph:V9.implementation,intersection:A9.implementation,divisor:U9.implementation,pattern:W9.implementation,predicate:X9.implementation,required:D9.implementation,optional:I2.implementation,index:R9.implementation,sequence:M9.implementation,structure:I9.implementation};V.defaultConfig=DU(Object.assign(S(g1,(X,U)=>[X,U.defaults]),{jitless:NU(),clone:PU,onUndeclaredKey:"ignore",exactOptionalPropertyTypes:!0,numberAllowsNaN:!1,dateAllowsInvalid:!1,onFail:null,keywords:{},toJsonSchema:p.defaultConfig}));V.resolvedConfig=B2(V.defaultConfig,V.config);var Mq={...Oq,alias:C2.Node,domain:P6.Node,unit:T9.Node,proto:S2.Node,union:B9.Node,morph:V9.Node,intersection:A9.Node,divisor:U9.Node,pattern:W9.Node,predicate:X9.Node,required:D9.Node,optional:I2.Node,index:R9.Node,sequence:M9.Node,structure:I9.Node};class x1 extends g4{get[U0](){return"module"}}var K9=(X,U)=>new x1(S(X,(q,Z)=>[q,M(Z,"module")?K9(Z,U):U.bindReference(Z)]));var t5=(X)=>x(X)?X:("branches"in X)&&x(X.branches)?X.branches:void 0,e5=(X,U)=>F(`Node of kind ${U} is not valid as a ${X} definition`),nq=(X)=>`#${X} duplicates public alias ${X}`,N9={};V.ambient??={};var tq,XZ="function $",XY=(X)=>UZ(X,qZ(X)),UZ=(X,U)=>{let q=U.write(XZ,4),Z=U.compile()();for(let Q of X){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}},qZ=(X)=>new z6().return(X.reduce((U,q)=>{let Z=new O2({kind:"Allows"}).indent();q.compile(Z);let Q=Z.write(`${q.id}Allows`),G=new O2({kind:"Apply"}).indent();q.compile(G);let Y=G.write(`${q.id}Apply`),H=`${U}${Q},
|
|
179
|
+
Right: ${U}`;var g5=b({kind:"unit",hasAssociatedError:!0,keys:{unit:{preserveUndefined:!0,serialize:(X)=>X instanceof Date?X.toISOString():F0(X)}},normalize:(X)=>X,defaults:{description:(X)=>E(X.unit),problem:({expected:X,actual:U})=>`${X===U?`must be reference equal to ${X} (serialized to the same value)`:`must be ${X} (was ${U})`}`},intersections:{unit:(X,U)=>B.init("unit",X,U),...E0("unit",(X,U)=>{if(U.allows(X.unit))return X;let q=U.hasKind("intersection")?U.basis:U;if(q){let Z=q.hasKind("domain")?q:V.intrinsic.object;if(X.domain!==Z.domain){let Q=X.domain==="undefined"||X.domain==="null"||X.domain==="boolean"?X.domain:V.intrinsic[X.domain];return B.init("domain",Q,Z)}}return B.init("assignability",X,U.hasKind("intersection")?U.children.find((Z)=>!Z.allows(X.unit)):U)})}});class pq extends L1{compiledValue=this.json.unit;serializedValue=typeof this.unit==="string"||this.unit instanceof Date?JSON.stringify(this.compiledValue):`${this.compiledValue}`;compiledCondition=mq(this.unit,this.serializedValue);compiledNegation=mq(this.unit,this.serializedValue,"negated");expression=E(this.unit);domain=r(this.unit);get defaultShortDescription(){return this.domain==="object"?Q0.object:this.description}innerToJsonSchema(X){return this.unit===null?{type:"null"}:V.intrinsic.jsonPrimitive.allows(this.unit)?{const:this.unit}:X.fallback.unit({code:"unit",base:{},unit:this.unit})}traverseAllows=this.unit instanceof Date?(X)=>X instanceof Date&&X.toISOString()===this.compiledValue:Number.isNaN(this.unit)?(X)=>Number.isNaN(X):(X)=>X===this.unit}var R9={implementation:g5,Node:pq},mq=(X,U,q)=>{if(X instanceof Date){let Z=`data instanceof Date && data.toISOString() === ${U}`;return q?`!(${Z})`:Z}if(Number.isNaN(X))return`${q?"!":""}Number.isNaN(data)`;return`data ${q?"!":"="}== ${U}`};var k5=b({kind:"index",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{signature:{child:!0,parse:(X,U)=>{let q=U.$.parseSchema(X);if(!q.extends(V.intrinsic.key))return F(x5(q.expression));let Z=q.branches.filter((Q)=>Q.hasKind("unit"));if(Z.length)return F(v5(Z.map((Q)=>E(Q.unit))));return q}},value:{child:!0,parse:(X,U)=>U.$.parseSchema(X)}},normalize:(X)=>X,defaults:{description:(X)=>`[${X.signature.expression}]: ${X.value.description}`},intersections:{index:(X,U,q)=>{if(X.signature.equals(U.signature)){let Z=u(X.value,U.value,q),Q=Z instanceof B?V.intrinsic.never.internal:Z;return q.$.node("index",{signature:X.signature,value:Q})}if(X.signature.extends(U.signature)&&X.value.subsumes(U.value))return U;if(U.signature.extends(X.signature)&&U.value.subsumes(X.value))return X;return null}}});class lq extends A0{impliedBasis=V.intrinsic.object.internal;expression=`[${this.signature.expression}]: ${this.value.expression}`;flatRefs=y(this.value.flatRefs.map((X)=>P0([this.signature,...X.path],X.node)),P0([this.signature],this.value));traverseAllows=(X,U)=>J1(X).every((q)=>{if(this.signature.traverseAllows(q[0],U))return H0(q[0],()=>this.value.traverseAllows(q[1],U),U);return!0});traverseApply=(X,U)=>{for(let q of J1(X))if(this.signature.traverseAllows(q[0],U))H0(q[0],()=>this.value.traverseApply(q[1],U),U)};_transform(X,U){U.path.push(this.signature);let q=super._transform(X,U);return U.path.pop(),q}compile(){}}var D9={implementation:k5,Node:lq},v5=(X)=>`Index keys ${X.join(", ")} should be specified as named props.`,x5=(X)=>`Indexed key definition '${X}' must be a string or symbol`;var h5=b({kind:"required",hasAssociatedError:!0,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(X,U)=>U.$.parseSchema(X)}},normalize:(X)=>X,defaults:{description:(X)=>`${X.compiledKey}: ${X.value.description}`,expected:(X)=>X.missingValueDescription,actual:()=>"missing"},intersections:{required:w2,optional:w2}});class dq extends P2{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 M9={implementation:h5,Node:dq};var u5=b({kind:"sequence",hasAssociatedError:!1,collapsibleKey:"variadic",keys:{prefix:{child:!0,parse:(X,U)=>{if(X.length===0)return;return X.map((q)=>U.$.parseSchema(q))}},optionals:{child:!0,parse:(X,U)=>{if(X.length===0)return;return X.map((q)=>U.$.parseSchema(q))}},defaultables:{child:(X)=>X.map((U)=>U[0]),parse:(X,U)=>{if(X.length===0)return;return X.map((q)=>{let Z=U.$.parseSchema(q[0]);return K2(Z,q[1],null),[Z,q[1]]})},serialize:(X)=>X.map((U)=>[U[0].collapsibleJson,F0(U[1])]),reduceIo:(X,U,q)=>{if(X==="in"){U.optionals=q.map((Z)=>Z[0].rawIn);return}U.prefix=q.map((Z)=>Z[0].rawOut);return}},variadic:{child:!0,parse:(X,U)=>U.$.parseSchema(X,U)},minVariadicLength:{parse:(X)=>X===0?void 0:X},postfix:{child:!0,parse:(X,U)=>{if(X.length===0)return;return X.map((q)=>U.$.parseSchema(q))}}},normalize:(X)=>{if(typeof X==="string")return{variadic:X};if("variadic"in X||"prefix"in X||"defaultables"in X||"optionals"in X||"postfix"in X||"minVariadicLength"in X){if(X.postfix?.length){if(!X.variadic)return F(d5);if(X.optionals?.length||X.defaultables?.length)return F(P9)}if(X.minVariadicLength&&!X.variadic)return F("minVariadicLength may not be specified without a variadic element");return X}return{variadic:X}},reduce:(X,U)=>{let q=X.minVariadicLength??0,Z=X.prefix?.slice()??[],Q=X.defaultables?.slice()??[],G=X.optionals?.slice()??[],Y=X.postfix?.slice()??[];if(X.variadic){while(G[G.length-1]?.equals(X.variadic))G.pop();if(G.length===0&&Q.length===0)while(Z[Z.length-1]?.equals(X.variadic))Z.pop(),q++;while(Y[0]?.equals(X.variadic))Y.shift(),q++}else if(G.length===0&&Q.length===0)Z.push(...Y.splice(0));if(q!==X.minVariadicLength||X.prefix&&X.prefix.length!==Z.length)return U.node("sequence",{...X,prefix:Z,defaultables:Q,optionals:G,postfix:Y,minVariadicLength:q},{prereduced:!0})},defaults:{description:(X)=>{if(X.isVariadicOnly)return`${X.variadic.nestableExpression}[]`;return`[${X.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:(X,U,q)=>{let Z=E2({l:X.tuple,r:U.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",cq(Q[0].result)):q.$.node("union",Q.map((G)=>({proto:Array,sequence:cq(G.result)})))}}});class sq extends A0{impliedBasis=V.intrinsic.Array.internal;tuple=l5(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((X)=>{if(X.kind==="defaultables"||X.kind==="optionals")return this.defaultablesAndOptionals.push(X.node),!0;return X.kind==="prefix"});variadicOrPostfix=y0(this.variadic&&[this.variadic],this.postfix);flatRefs=this.addFlatRefs();addFlatRefs(){return n4(this.flatRefs,this.prevariadic.flatMap((X,U)=>y(X.node.flatRefs.map((q)=>P0([`${U}`,...q.path],q.node)),P0([`${U}`],X.node)))),n4(this.flatRefs,this.variadicOrPostfix.flatMap((X)=>y(X.flatRefs.map((U)=>P0([V.intrinsic.nonNegativeIntegerString.internal,...U.path],U.node)),P0([V.intrinsic.nonNegativeIntegerString.internal],X)))),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=p5(this);defaultValueMorphsReference=this.defaultValueMorphs.length?d(this.defaultValueMorphs):void 0;elementAtIndex(X,U){if(U<this.prevariadic.length)return this.tuple[U];let q=X.length-this.postfixLength;if(U>=q)return{kind:"postfix",node:this.postfix[U-q]};return{kind:"variadic",node:this.variadic??g(`Unexpected attempt to access index ${U} on ${this}`)}}traverseAllows=(X,U)=>{for(let q=0;q<X.length;q++)if(!this.elementAtIndex(X,q).node.traverseAllows(X[q],U))return!1;return!0};traverseApply=(X,U)=>{let q=0;for(;q<X.length;q++)H0(q,()=>this.elementAtIndex(X,q).node.traverseApply(X[q],U),U)};get element(){return this.cacheGetter("element",this.$.node("union",this.children))}compile(X){if(this.prefix)for(let[U,q]of this.prefix.entries())X.traverseKey(`${U}`,`data[${U}]`,q);for(let[U,q]of this.defaultablesAndOptionals.entries()){let Z=`${U+this.prefixLength}`;X.if(`${Z} >= data.length`,()=>X.traversalKind==="Allows"?X.return(!0):X.return()),X.traverseKey(Z,`data[${Z}]`,q)}if(this.variadic){if(this.postfix)X.const("firstPostfixIndex",`data.length${this.postfix?`- ${this.postfix.length}`:""}`);if(X.for(`i < ${this.postfix?"firstPostfixIndex":"data.length"}`,()=>X.traverseKey("i","data[i]",this.variadic),this.prevariadic.length),this.postfix)for(let[U,q]of this.postfix.entries()){let Z=`firstPostfixIndex + ${U}`;X.traverseKey(Z,`data[${Z}]`,q)}}if(X.traversalKind==="Allows")X.return(!0)}_transform(X,U){U.path.push(V.intrinsic.nonNegativeIntegerString.internal);let q=super._transform(X,U);return U.path.pop(),q}expression=this.description;reduceJsonSchema(X,U){let q=U.target==="draft-07";if(this.prevariadic.length){let Z=this.prevariadic.map((Q)=>{let G=Q.node.toJsonSchemaRecurse(U);if(Q.kind==="defaultables"){let Y=typeof Q.default==="function"?Q.default():Q.default;G.default=V.intrinsic.jsonData.allows(Y)?Y:U.fallback.defaultValue({code:"defaultValue",base:G,value:Y})}return G});if(q)X.items=Z;else X.prefixItems=Z}if(this.minLength)X.minItems=this.minLength;if(this.variadic){let Z=this.variadic.toJsonSchemaRecurse(U);if(q&&this.prevariadic.length)X.additionalItems=Z;else X.items=Z;if(this.maxLength)X.maxItems=this.maxLength;if(this.postfix){let Q=this.postfix.map((G)=>G.toJsonSchemaRecurse(U));X=U.fallback.arrayPostfix({code:"arrayPostfix",base:X,elements:Q})}}else{if(q)X.additionalItems=!1;else X.items=!1;delete X.maxItems}return X}}var m5={},p5=(X)=>{if(!X.defaultables)return[];let U=[],q="[",Z=X.prefixLength+X.defaultablesLength-1;for(let Q=X.prefixLength;Q<=Z;Q++){let[G,Y]=X.defaultables[Q-X.prefixLength];U.push(A9(Q,G,Y)),q+=`${Q}: ${G.id} = ${F0(Y)}, `}return q+="]",m5[q]??=U},w9={implementation:u5,Node:sq},l5=(X)=>{let U=[];if(X.prefix)for(let q of X.prefix)U.push({kind:"prefix",node:q});if(X.defaultables)for(let[q,Z]of X.defaultables)U.push({kind:"defaultables",node:q,default:Z});if(X.optionals)for(let q of X.optionals)U.push({kind:"optionals",node:q});if(X.variadic)U.push({kind:"variadic",node:X.variadic});if(X.postfix)for(let q of X.postfix)U.push({kind:"postfix",node:q});return U},cq=(X)=>X.reduce((U,q)=>{if(q.kind==="variadic")U.variadic=q.node;else if(q.kind==="defaultables")U.defaultables=y(U.defaultables,[[q.node,q.default]]);else U[q.kind]=y(U[q.kind],q.node);return U},{}),P9="A postfix required element cannot follow an optional or defaultable element",d5="A postfix element requires a variadic element",E2=(X)=>{let[U,...q]=X.l,[Z,...Q]=X.r;if(!U||!Z)return X;let G=q[q.length-1]?.kind==="postfix",Y=Q[Q.length-1]?.kind==="postfix",J=U.kind==="prefix"||Z.kind==="prefix"?"prefix":U.kind==="postfix"||Z.kind==="postfix"?"postfix":U.kind==="variadic"&&Z.kind==="variadic"?"variadic":G||Y?"prefix":U.kind==="defaultables"||Z.kind==="defaultables"?"defaultables":"optionals";if(U.kind==="prefix"&&Z.kind==="variadic"&&Y){let _=E2({...X,fixedVariants:[],r:Q.map((L)=>({...L,kind:"prefix"}))});if(_.disjoint.length===0)X.fixedVariants.push(_)}else if(Z.kind==="prefix"&&U.kind==="variadic"&&G){let _=E2({...X,fixedVariants:[],l:q.map((L)=>({...L,kind:"prefix"}))});if(_.disjoint.length===0)X.fixedVariants.push(_)}let H=u(U.node,Z.node,X.ctx);if(H instanceof B)if(J==="prefix"||J==="postfix")X.disjoint.push(...H.withPrefixKey(J==="prefix"?X.result.length:`-${q.length+1}`,iq(U)&&iq(Z)?"required":"optional")),X.result=[...X.result,{kind:J,node:V.intrinsic.never.internal}];else if(J==="optionals"||J==="defaultables")return X;else return E2({...X,fixedVariants:[],l:q.map((_)=>({..._,kind:"prefix"})),r:q.map((_)=>({..._,kind:"prefix"}))});else if(J==="defaultables"){if(U.kind==="defaultables"&&Z.kind==="defaultables"&&U.default!==Z.default)F(F9(U.default,Z.default));X.result=[...X.result,{kind:J,node:H,default:U.kind==="defaultables"?U.default:Z.kind==="defaultables"?Z.default:g(`Unexpected defaultable intersection from ${U.kind} and ${Z.kind} elements.`)}]}else X.result=[...X.result,{kind:J,node:H}];let W=X.l.length,$=X.r.length;if(U.kind!=="variadic"||W>=$&&(Z.kind==="variadic"||$===1))X.l=q;if(Z.kind!=="variadic"||$>=W&&(U.kind==="variadic"||W===1))X.r=Q;return E2(X)},iq=(X)=>X.kind==="prefix"||X.kind==="postfix";var nq=(X)=>(U)=>{if(U.props.length||U.index){let q=U.index?.map((Q)=>Q[X])??[];for(let Q of U.props)q.push(Q[X]);if(U.undeclared)q.push(`+ (undeclared): ${U.undeclared}`);let Z=`{ ${q.join(", ")} }`;return U.sequence?`${Z} & ${U.sequence.description}`:Z}return U.sequence?.description??"{}"},c5=nq("description"),i5=nq("expression"),oq=(X,U,q)=>{let Z=X.required?"required":"optional";if(!U.signature.allows(X.key))return null;let Q=W0(X.value,U.value,q);if(Q instanceof B)return Z==="optional"?q.node("optional",{key:X.key,value:V.intrinsic.never.internal}):Q.withPrefixKey(X.key,X.kind);return null},s5=b({kind:"structure",hasAssociatedError:!1,normalize:(X)=>X,applyConfig:(X,U)=>{if(!X.undeclared&&U.onUndeclaredKey!=="ignore")return{...X,undeclared:U.onUndeclaredKey};return X},keys:{required:{child:!0,parse:X0("required"),reduceIo:(X,U,q)=>{U.required=y(U.required,q.map((Z)=>X==="in"?Z.rawIn:Z.rawOut));return}},optional:{child:!0,parse:X0("optional"),reduceIo:(X,U,q)=>{if(X==="in"){U.optional=q.map((Z)=>Z.rawIn);return}for(let Z of q)U[Z.outProp.kind]=y(U[Z.outProp.kind],Z.outProp.rawOut)}},index:{child:!0,parse:X0("index")},sequence:{child:!0,parse:X0("sequence")},undeclared:{parse:(X)=>X==="ignore"?void 0:X,reduceIo:(X,U,q)=>{if(q==="reject"){U.undeclared="reject";return}if(X==="in")delete U.undeclared;else U.undeclared="reject"}}},defaults:{description:c5},intersections:{structure:(X,U,q)=>{let Z={...X.inner},Q={...U.inner},G=new B;if(X.undeclared){let H=X.keyof();for(let W of U.requiredKeys)if(!H.allows(W))G.add("presence",V.intrinsic.never.internal,U.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 _=K6($,W.value,q.$);if(_.required)Q.required=y0(Q.required,_.required);if(_.optional)Q.optional=y0(Q.optional,_.optional);return _.index??[]})}if(U.undeclared){let H=U.keyof();for(let W of X.requiredKeys)if(!H.allows(W))G.add("presence",X.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 _=K6($,W.value,q.$);if(_.required)Z.required=y0(Z.required,_.required);if(_.optional)Z.optional=y0(Z.optional,_.optional);return _.index??[]})}let Y={};if(X.undeclared||U.undeclared)Y.undeclared=X.undeclared==="reject"||U.undeclared==="reject"?"reject":"delete";let J=j1({kind:"structure",baseInner:Y,l:f1(Z),r:f1(Q),roots:[],ctx:q});if(J instanceof B)G.push(...J);if(G.length)return G;return J}},reduce:(X,U)=>{if(!X.required&&!X.optional)return;let q={},Z=!1,Q=X.optional?[...X.optional]:[];if(X.required)for(let G=0;G<X.required.length;G++){let Y=X.required[G];if(Y.key in q)F(aq(Y.key));if(q[Y.key]=!0,X.index)for(let J of X.index){let H=oq(Y,J,U);if(H instanceof B)return H}}if(X.optional)for(let G=0;G<X.optional.length;G++){let Y=X.optional[G];if(Y.key in q)F(aq(Y.key));if(q[Y.key]=!0,X.index)for(let J of X.index){let H=oq(Y,J,U);if(H instanceof B)return H;if(H!==null)Q[G]=H,Z=!0}}if(Z)return U.node("structure",{...X,optional:Q},{prereduced:!0})}});class tq extends A0{impliedBasis=V.intrinsic.object.internal;impliedSiblings=this.children.flatMap((X)=>X.impliedSiblings??[]);props=y0(this.required,this.optional);propsByKey=S(this.props,(X,U)=>[U.key,U]);propsByKeyReference=d(this.propsByKey);expression=i5(this);requiredKeys=this.required?.map((X)=>X.key)??[];optionalKeys=this.optional?.map((X)=>X.key)??[];literalKeys=[...this.requiredKeys,...this.optionalKeys];_keyof;keyof(){if(this._keyof)return this._keyof;let X=this.$.units(this.literalKeys).branches;if(this.index)for(let{signature:U}of this.index)X=X.concat(U.branches);return this._keyof=this.$.node("union",X)}map(X){return this.$.node("structure",this.props.flatMap(X).reduce((U,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 U[q.kind]=y(U[q.kind],q),U}let Q=q.kind??Z?.kind??"required",G=S(q,(Y,J)=>(Y in I2.implementation.keys)?[Y,J]:[]);return U[Q]=y(U[Q],this.$.node(Q,G)),U},{}))}assertHasKeys(X){let U=X.filter((q)=>!N2(q,this.keyof()));if(U.length)return F(rq(this.expression,U))}get(X,...U){let q,Z=!1,Q=n5(X);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(N2(Q,Y.signature))q=q?.and(Y.value)??Y.value}if(this.sequence&&N2(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(t5(Q.expression,this.sequence.expression));return F(rq(this.expression,[Q]))}let G=q.get(...U);return Z?G:G.or(V.intrinsic.undefined)}pick(...X){return this.assertHasKeys(X),this.$.node("structure",this.filterKeys("pick",X))}omit(...X){return this.assertHasKeys(X),this.$.node("structure",this.filterKeys("omit",X))}optionalize(){let{required:X,...U}=this.inner;return this.$.node("structure",{...U,optional:this.props.map((q)=>q.hasKind("required")?this.$.node("optional",q.inner):q)})}require(){let{optional:X,...U}=this.inner;return this.$.node("structure",{...U,required:this.props.map((q)=>q.hasKind("optional")?{key:q.key,value:q.value}:q)})}merge(X){let U=this.filterKeys("omit",[X.keyof()]);if(X.required)U.required=y(U.required,X.required);if(X.optional)U.optional=y(U.optional,X.optional);if(X.index)U.index=y(U.index,X.index);if(X.sequence)U.sequence=X.sequence;if(X.undeclared)U.undeclared=X.undeclared;else delete U.undeclared;return this.$.node("structure",U)}filterKeys(X,U){let q=A6(this.inner),Z=(Q)=>{let G=U.some((Y)=>N2(Q,Y));return X==="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=(X,U)=>this._traverse("Allows",X,U);traverseApply=(X,U)=>this._traverse("Apply",X,U);_traverse=(X,U,q)=>{let Z=q?.currentErrorCount??0;for(let Q=0;Q<this.props.length;Q++)if(X==="Allows"){if(!this.props[Q].traverseAllows(U,q))return!1}else if(this.props[Q].traverseApply(U,q),q.failFast&&q.currentErrorCount>Z)return!1;if(this.sequence){if(X==="Allows"){if(!this.sequence.traverseAllows(U,q))return!1}else if(this.sequence.traverseApply(U,q),q.failFast&&q.currentErrorCount>Z)return!1}if(this.index||this.undeclared==="reject"){let Q=Object.keys(U);Q.push(...Object.getOwnPropertySymbols(U));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(X==="Allows"){if(!H0(Y,()=>J.value.traverseAllows(U[Y],q),q))return!1}else if(H0(Y,()=>J.value.traverseApply(U[Y],q),q),q.failFast&&q.currentErrorCount>Z)return!1}}if(this.undeclared==="reject"&&!this.declaresKey(Y)){if(X==="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((X)=>X.hasDefault())??[])}declaresKey=(X)=>(X in this.propsByKey)||this.index?.some((U)=>U.signature.allows(X))||this.sequence!==void 0&&V.intrinsic.nonNegativeIntegerString.allows(X);_compileDeclaresKey(X){let U=[];if(this.props.length)U.push(`k in ${this.propsByKeyReference}`);if(this.index)for(let q of this.index)U.push(X.invoke(q.signature,{kind:"Allows",arg:"k"}));if(this.sequence)U.push("$ark.intrinsic.nonNegativeIntegerString.allows(k)");return U.join(" || ")||"false"}get structuralMorph(){return this.cacheGetter("structuralMorph",r5(this))}structuralMorphRef=this.structuralMorph&&d(this.structuralMorph);compile(X){if(X.traversalKind==="Apply")X.initializeErrorCount();for(let U of this.props)if(X.check(U),X.traversalKind==="Apply")X.returnIfFailFast();if(this.sequence){if(X.check(this.sequence),X.traversalKind==="Apply")X.returnIfFailFast()}if(this.index||this.undeclared==="reject")X.const("keys","Object.keys(data)"),X.line("keys.push(...Object.getOwnPropertySymbols(data))"),X.for("i < keys.length",()=>this.compileExhaustiveEntry(X));if(X.traversalKind==="Allows")return X.return(!0);if(this.structuralMorphRef)X.if("ctx && !ctx.hasError()",()=>{return X.line("ctx.queueMorphs(["),a5(X,this),X.line("])")})}compileExhaustiveEntry(X){if(X.const("k","keys[i]"),this.index)for(let U of this.index)X.if(`${X.invoke(U.signature,{arg:"k",kind:"Allows"})}`,()=>X.traverseKey("k","data[k]",U.value));if(this.undeclared==="reject")X.if(`!(${this._compileDeclaresKey(X)})`,()=>{if(X.traversalKind==="Allows")return X.return(!1);return X.line(`ctx.errorFromNodeContext({ code: "predicate", expected: "removed", actual: "", relativePath: [k], meta: ${this.compiledMeta} })`).if("ctx.failFast",()=>X.return())});return X}reduceJsonSchema(X,U){switch(X.type){case"object":return this.reduceObjectJsonSchema(X,U);case"array":let q=this.sequence?.reduceJsonSchema(X,U)??X;if(this.props.length||this.index)return U.fallback.arrayObject({code:"arrayObject",base:q,object:this.reduceObjectJsonSchema({type:"object"},U)});return q;default:return p.throwInternalOperandError("structure",X)}}reduceObjectJsonSchema(X,U){if(this.props.length){X.properties={};for(let q of this.props){let Z=q.value.toJsonSchemaRecurse(U);if(typeof q.key==="symbol"){U.fallback.symbolKey({code:"symbolKey",base:X,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:U.fallback.defaultValue({code:"defaultValue",base:Z,value:Q})}X.properties[q.key]=Z}if(this.requiredKeys.length&&X.properties)X.required=this.requiredKeys.filter((q)=>typeof q==="string"&&(q in X.properties))}if(this.index)for(let q of this.index){let Z=q.value.toJsonSchemaRecurse(U);if(q.signature.equals(V.intrinsic.string)){X.additionalProperties=Z;continue}for(let Q of q.signature.branches){if(!Q.extends(V.intrinsic.string)){X=U.fallback.symbolKey({code:"symbolKey",base:X,key:null,value:Z,optional:!1});continue}let G={type:"string"};if(Q.hasKind("morph"))G=U.fallback.morph({code:"morph",base:Q.rawIn.toJsonSchemaRecurse(U),out:Q.rawOut.toJsonSchemaRecurse(U)});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=U.fallback.patternIntersection({code:"patternIntersection",base:J,pattern:Y[H].rule});X.patternProperties??={},X.patternProperties[J.pattern]=Z}}}if(this.undeclared&&!X.additionalProperties)X.additionalProperties=!1;return X}}var I9={},o5=(X)=>{let U="";for(let q=0;q<X.defaultable.length;q++)U+=X.defaultable[q].defaultValueMorphRef;if(X.sequence?.defaultValueMorphsReference)U+=X.sequence?.defaultValueMorphsReference;if(X.undeclared==="delete"){if(U+="delete !(",X.required)for(let q of X.required)U+=q.compiledKey+" | ";if(X.optional)for(let q of X.optional)U+=q.compiledKey+" | ";if(X.index)for(let q of X.index)U+=q.signature.id+" | ";if(X.sequence)if(X.sequence.maxLength===null)U+=I.nonNegativeIntegerString.id;else for(let q=0;q<X.sequence.tuple.length;q++)U+=q+" | ";U+=")"}return U},r5=(X)=>{let U=o5(X);if(!U)return;if(I9[U])return I9[U];let q=(Z,Q)=>{for(let G=0;G<X.defaultable.length;G++)if(!(X.defaultable[G].key in Z))X.defaultable[G].defaultValueMorph(Z,Q);if(X.sequence?.defaultables)for(let G=Z.length-X.sequence.prefixLength;G<X.sequence.defaultables.length;G++)X.sequence.defaultValueMorphs[G](Z,Q);if(X.undeclared==="delete"){for(let G in Z)if(!X.declaresKey(G))delete Z[G]}return Z};return I9[U]=q},a5=(X,U)=>{let Z=`(data${U.defaultable.some((Q)=>Q.defaultValueMorph.length===2)||U.sequence?.defaultValueMorphs.some((Q)=>Q.length===2)?", ctx":""})`;return X.block(`${Z} => `,(Q)=>{for(let G=0;G<U.defaultable.length;G++){let{serializedKey:Y,defaultValueMorphRef:J}=U.defaultable[G];Q.if(`!(${Y} in data)`,(H)=>H.line(`${J}${Z}`))}if(U.sequence?.defaultables)Q.for(`i < ${U.sequence.defaultables.length}`,(G)=>G.set("data[i]",5),`data.length - ${U.sequence.prefixLength}`);if(U.undeclared==="delete")Q.forIn("data",(G)=>G.if(`!(${U._compileDeclaresKey(G)})`,(Y)=>Y.line("delete data[k]")));return Q.return("data")})},K9={implementation:s5,Node:tq},n5=(X)=>{if(M(X,"root")&&X.hasKind("unit"))X=X.unit;if(typeof X==="number")X=`${X}`;return X},t5=(X,U)=>`${X} is not allowed as an array index on ${U}. Use the 'nonNegativeIntegerString' keyword instead.`,K6=(X,U,q)=>{let[Z,Q]=FU(X.branches,(Y)=>Y.hasKind("unit"));if(!Z.length)return{index:q.node("index",{signature:X,value:U})};let G={};for(let Y of Z){let J=q.node("required",{key:Y.unit,value:U});G[J.kind]=y(G[J.kind],J)}if(Q.length)G.index=q.node("index",{signature:Q,value:U});return G},e5=(X)=>M(X,"root")?X.expression:E(X),rq=(X,U)=>`Key${U.length===1?"":"s"} ${U.map(e5).join(", ")} ${U.length===1?"does":"do"} not exist on ${X}`,aq=(X)=>`Duplicate key ${M0(X)}`;var g1={...Bq,alias:C2.implementation,domain:I6.implementation,unit:R9.implementation,proto:S2.implementation,union:T9.implementation,morph:O9.implementation,intersection:V9.implementation,divisor:q9.implementation,pattern:_9.implementation,predicate:U9.implementation,required:M9.implementation,optional:I2.implementation,index:D9.implementation,sequence:w9.implementation,structure:K9.implementation};V.defaultConfig=wU(Object.assign(S(g1,(X,U)=>[X,U.defaults]),{jitless:SU(),clone:KU,onUndeclaredKey:"ignore",exactOptionalPropertyTypes:!0,numberAllowsNaN:!1,dateAllowsInvalid:!1,onFail:null,keywords:{},toJsonSchema:p.defaultConfig}));V.resolvedConfig=B2(V.defaultConfig,V.config);var Pq={...Tq,alias:C2.Node,domain:I6.Node,unit:R9.Node,proto:S2.Node,union:T9.Node,morph:O9.Node,intersection:V9.Node,divisor:q9.Node,pattern:_9.Node,predicate:U9.Node,required:M9.Node,optional:I2.Node,index:D9.Node,sequence:w9.Node,structure:K9.Node};class x1 extends k4{get[U0](){return"module"}}var N9=(X,U)=>new x1(S(X,(q,Z)=>[q,M(Z,"module")?N9(Z,U):U.bindReference(Z)]));var XY=(X)=>x(X)?X:("branches"in X)&&x(X.branches)?X.branches:void 0,UY=(X,U)=>F(`Node of kind ${U} is not valid as a ${X} definition`),eq=(X)=>`#${X} duplicates public alias ${X}`,C9={};V.ambient??={};var XZ,qZ="function $",qY=(X)=>ZZ(X,QZ(X)),ZZ=(X,U)=>{let q=U.write(qZ,4),Z=U.compile()();for(let Q of X){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}},QZ=(X)=>new F6().return(X.reduce((U,q)=>{let Z=new O2({kind:"Allows"}).indent();q.compile(Z);let Q=Z.write(`${q.id}Allows`),G=new O2({kind:"Apply"}).indent();q.compile(G);let Y=G.write(`${q.id}Apply`),J=`${U}${Q},
|
|
180
180
|
${Y},
|
|
181
|
-
`;if(!q.hasKind("union"))return
|
|
181
|
+
`;if(!q.hasKind("union"))return J;let H=new O2({kind:"Allows",optimistic:!0}).indent();q.compile(H);let W=H.write(`${q.id}Optimistic`);return`${J}${W},
|
|
182
182
|
`},`{
|
|
183
|
-
`)+"}");class K6{config;resolvedConfig;name;get[U0](){return"scope"}referencesById={};references=[];resolutions={};exportedNames=[];aliases={};resolved=!1;nodesByHash={};intrinsic;constructor(X,U){if(this.config=B2(V.config,U),this.resolvedConfig=B2(V.resolvedConfig,U),this.name=this.resolvedConfig.name??`anonymousScope${Object.keys(N9).length}`,this.name in N9)F(`A Scope already named ${this.name} already exists`);N9[this.name]=this;let q=Object.entries(X).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(nq(G));this.aliases[G]=Q}else{if(G in this.aliases)F(nq(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}}tq??=this.node("union",{branches:["string","number","object","bigint","symbol",{unit:!0},{unit:!1},{unit:void 0},{unit:null}]},{prereduced:!0}),this.nodesByHash[tq.hash]=this.node("intersection",{},{prereduced:!0}),this.intrinsic=V.intrinsic?S(V.intrinsic,(Z,Q)=>Z.startsWith("json")?[]:[Z,this.bindReference(Q)]):{}}cacheGetter(X,U){return Object.defineProperty(this,X,{value:U}),U}get internal(){return this}_json;get json(){if(!this._json)this.export();return this._json}defineSchema(X){return X}generic=(...X)=>{let U=this;return(q,Z)=>new o0(X,Z?new B6(q):q,U,U,Z??null)};units=(X,U)=>{let q=[];for(let Q of X)if(!q.includes(Q))q.push(Q);let Z=q.map((Q)=>this.node("unit",{unit:Q},U));return this.node("union",Z,{...U,prereduced:!0})};lazyResolutions=[];lazilyResolve(X,U){let q=this.node("alias",{reference:U??"synthetic",resolve:X},{prereduced:!0});if(!this.resolved)this.lazyResolutions.push(q);return q}schema=(X,U)=>this.finalize(this.parseSchema(X,U));parseSchema=(X,U)=>this.node(M2(X),X,U);preparseNode(X,U,q){let Z=typeof X==="string"?X:M2(U,X);if(h(U)&&U.kind===Z)return U;if(Z==="alias"&&!q?.prereduced){let{reference:Y}=C2.implementation.normalize(U,this);if(Y.startsWith("$")){let H=this.resolveRoot(Y.slice(1));U=H,Z=H.kind}}else if(Z==="union"&&Z0(U,"object")){let Y=t5(U);if(Y?.length===1)U=Y[0],Z=M2(U)}if(h(U)&&U.kind===Z)return U;let G=g1[Z].normalize?.(U,this)??U;if(h(G))return G.kind===Z?G:e5(Z,G.kind);return{...q,$:this,kind:Z,def:G,prefix:q.alias??Z}}bindReference(X){let U;if(h(X))U=X.$===this?X:new X.constructor(X.attachments,this);else U=X.$===this?X:new o0(X.params,X.bodyDef,X.$,this,X.hkt);if(!this.resolved)Object.assign(this.referencesById,U.referencesById);return U}resolveRoot(X){return this.maybeResolveRoot(X)??F(E9(X))}maybeResolveRoot(X){let U=this.maybeResolve(X);if(M(U,"generic"))return;return U}maybeResolveSubalias(X){return C9(this.aliases,X)??C9(this.ambient,X)}get ambient(){return V.ambient}maybeResolve(X){let U=this.resolutions[X];if(U){if(typeof U!=="string")return this.bindReference(U);let Z=q0[U];if(M(Z,"root"))return this.resolutions[X]=Z;if(M(Z,"context")){if(Z.phase==="resolving")return this.node("alias",{reference:`$${X}`},{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[X]=Q}return g(`Unexpected nodesById entry for ${U}: ${E(Z)}`)}let q=this.aliases[X]??this.ambient?.[X];if(!q)return this.maybeResolveSubalias(X);if(q=this.normalizeRootScopeValue(q),M(q,"generic"))return this.resolutions[X]=this.bindReference(q);if(M(q,"module")){if(!q.root)F(GZ(X));return this.resolutions[X]=this.bindReference(q.root)}return this.resolutions[X]=this.parse(q,{alias:X})}createParseContext(X){let U=X.id??_9(X.prefix);return q0[U]=Object.assign(X,{[U0]:"context",$:this,id:U,phase:"unresolved"})}traversal(X){return new w0(X,this.resolvedConfig)}import(...X){return new x1(S(this.export(...X),(U,q)=>[`#${U}`,q]))}precompilation;_exportedResolutions;_exports;export(...X){if(!this._exports){this._exports={};for(let q of this.exportedNames){let Z=this.aliases[q];this._exports[q]=M(Z,"module")?K9(Z,this):eq(this.maybeResolve(q))}for(let q of this.lazyResolutions)q.resolution;if(this._exportedResolutions=QZ(this,this._exports),this._json=ZZ(this._exportedResolutions),Object.assign(this.resolutions,this._exportedResolutions),this.references=Object.values(this.referencesById),!this.resolvedConfig.jitless){let q=qZ(this.references);this.precompilation=q.write(XZ,4),UZ(this.references,q)}this.resolved=!0}let U=X.length?X:this.exportedNames;return new x1(S(U,(q,Z)=>[Z,this._exports[Z]]))}resolve(X){return this.export()[X]}node=(X,U,q={})=>{let Z=this.preparseNode(X,U,q);if(h(Z))return this.bindReference(Z);let Q=this.createParseContext(Z),G=$9(Q),Y=this.bindReference(G);return q0[Q.id]=Y};parse=(X,U={})=>this.finalize(this.parseDefinition(X,U));parseDefinition(X,U={}){if(M(X,"root"))return this.bindReference(X);let q=this.preparseOwnDefinitionFormat(X,U);if(M(q,"root"))return this.bindReference(q);let Z=this.createParseContext(q);q0[Z.id]=Z;let Q=this.bindReference(this.parseOwnDefinitionFormat(X,Z));if(Q.isCyclic)Q=Dq(Q,Z.id);return q0[Z.id]=Q,Q}finalize(X){if(eq(X),!X.precompilation&&!this.resolvedConfig.jitless)XY(X.references);return X}}class S9 extends K6{parseOwnDefinitionFormat(X,U){return $9(U)}preparseOwnDefinitionFormat(X,U){return this.preparseNode(M2(X),X,U)}preparseOwnAliasEntry(X,U){return[X,U]}normalizeRootScopeValue(X){return X}}var eq=(X)=>{let U=X.references.filter((q)=>q.hasKind("alias"));for(let q of U){Object.assign(q.referencesById,q.resolution.referencesById);for(let Z of X.references)if(q.id in Z.referencesById)Object.assign(Z.referencesById,q.referencesById)}return X},ZZ=(X)=>S(X,(U,q)=>[U,M(q,"root")||M(q,"generic")?q.json:M(q,"module")?ZZ(q):g(`Unexpected resolution ${E(q)}`)]),C9=(X,U)=>{let q=U.indexOf(".");if(q===-1)return;let Z=U.slice(0,q),Q=X[Z];if(Q===void 0)return;if(!M(Q,"module"))return F(UY(Z));let G=U.slice(q+1),Y=Q[G];if(Y===void 0)return C9(Q,G);if(M(Y,"root")||M(Y,"generic"))return Y;if(M(Y,"module"))return Y.root??F(GZ(U));g(`Unexpected resolution for alias '${U}': ${E(Y)}`)},N6=(X,U)=>new S9(X,U),b2=new S9({});var QZ=(X,U)=>{let q={};for(let Z in U){let Q=U[Z];if(M(Q,"module")){let G=QZ(X,Q),Y=S(G,(H,J)=>[`${Z}.${H}`,J]);Object.assign(q,Y)}else if(M(Q,"root")||M(Q,"generic"))q[Z]=Q;else g(`Unexpected scope resolution ${E(Q)}`)}return q},E9=(X)=>`'${X}' is unresolvable`,UY=(X)=>`'${X}' must reference a module to be accessed using dot syntax`,GZ=(X)=>`Reference to submodule '${X}' must specify an alias`;b2.export();var{schema:v,node:h1,defineSchema:kw,generic:O0}=b2;var b9="^(?:0|[1-9]\\d*)$",qY=new RegExp(b9),hw=d(qY);var YZ=N6({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={...YZ};var HZ=N6({integer:{domain:"number",divisor:1},lengthBoundable:["string",Array],key:["string","symbol"],nonNegativeIntegerString:{domain:"string",pattern:b9}},{prereducedAliases:!0}).export();Object.assign(V.intrinsic,HZ);var ZY=N6({jsonPrimitive:["string","number",{unit:!0},{unit:!1},{unit:null}],jsonObject:{domain:"object",index:{signature:"string",value:"$jsonData"}},jsonData:["$jsonPrimitive","$jsonObject"]},{prereducedAliases:!0}).export(),I={...YZ,...HZ,...ZY,emptyStructure:h1("structure",{},{prereduced:!0})};V.intrinsic={...I};var C6=(X,U)=>new RegExp(X,U);Object.assign(C6,{as:C6});var WZ=(X)=>typeof X==="string"&&X[0]==="d"&&(X[1]==="'"||X[1]==='"')&&X[X.length-1]===X[1],JZ=(X)=>X.toString()!=="Invalid Date",_Z=(X)=>X.slice(2,-1),j9=(X)=>`'${X}' could not be parsed by the Date constructor`,$Z=(X,U)=>QY(X,U),QY=(X,U)=>{let q=new Date(X);if(JZ(q))return q;let Z=vU(X);if(Z!==void 0){let Q=new Date(Z);if(JZ(Q))return Q}return U?F(U===!0?j9(X):U):void 0};var GY=v({proto:"Array",sequence:"string",required:{key:"groups",value:["object",{unit:void 0}]}}),S6=(X,U)=>{let q=X.scanner.shiftUntilEscapable(HY[FZ[U]]);if(X.scanner.lookahead==="")return X.error(WY(q,U));if(X.scanner.shift(),U in zZ){let Z;try{Z=new RegExp(q)}catch(Q){F(String(Q))}if(X.root=X.ctx.$.node("intersection",{domain:"string",pattern:q},{prereduced:!0}),U==="x/")X.root=X.ctx.$.node("morph",{in:X.root,morphs:(Q)=>Z.exec(Q),declaredOut:GY})}else if(a(U,f9))X.root=X.ctx.$.node("unit",{unit:q});else{let Z=$Z(q,j9(q));X.root=X.ctx.$.node("unit",{meta:q,unit:Z})}},f9={"'":1,'"':1},LZ={"/":1,"'":1,'"':1},YY={"d'":"'",'d"':'"',"'":"'",'"':'"'},zZ={"/":"/","x/":"/"},FZ={...YY,...zZ},HY={"'":(X)=>X.lookahead==="'",'"':(X)=>X.lookahead==='"',"/":(X)=>X.lookahead==="/"},JY={'"':"double-quote","'":"single-quote","/":"forward slash"},WY=(X,U)=>`${U}${X} requires a closing ${JY[FZ[U]]}`;var AZ=(X)=>`Private type references should not include '#'. Use '${X}' instead.`,E6="Optional definitions like 'string?' are only valid as properties in an object or tuple",b6="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 VZ=(X,U)=>X===">"?U[0]==="="?U[1]==="=":U.trimStart()===""||a(U.trimStart()[0],E0):X==="="?U[0]!=="=":X===","||X==="?";var OZ=(X,U,q)=>BZ(X,U,q,[]),BZ=(X,U,q,Z)=>{let Q=q.parseUntilFinalizer();if(Z.push(Q.root),Q.finalizer===">"){if(Z.length!==U.params.length)return q.error(y9(X,U.names,Z.map((G)=>G.expression)));return Z}if(Q.finalizer===",")return BZ(X,U,q,Z);return Q.error(L6(">"))},y9=(X,U,q)=>`${X}<${U.join(", ")}> requires exactly ${U.length} args (got ${q.length}${q.length===0?"":`: ${q.join(", ")}`})`;var j6=(X)=>{let U=X.scanner.shiftUntilLookahead(E0);if(U==="keyof")X.addPrefix("keyof");else X.root=$Y(X,U)},_Y=(X,U,q)=>{if(q.scanner.shiftUntilNonWhitespace(),q.scanner.shift()!=="<")return q.error(y9(X,U.names,[]));let Q=OZ(X,U,q);return U(...Q)},$Y=(X,U)=>LY(X,U)??zY(X,U)??X.error(U===""?X.scanner.lookahead==="#"?AZ(X.shiftedBy(1).scanner.shiftUntilLookahead(E0)):g9(X):E9(U)),LY=(X,U)=>{if(X.ctx.args?.[U]){let Z=X.ctx.args[U];if(typeof Z!=="string")return Z;return X.ctx.$.node("alias",{reference:Z},{prereduced:!0})}let q=X.ctx.$.maybeResolve(U);if(M(q,"root"))return q;if(q===void 0)return;if(M(q,"generic"))return _Y(U,q,X);return F(`Unexpected resolution ${E(q)}`)},zY=(X,U)=>{let q=xU(U);if(q!==void 0)return X.ctx.$.node("unit",{unit:q});let Z=uU(U);if(Z!==void 0)return X.ctx.$.node("unit",{unit:Z})},g9=(X)=>{let U=X.previousOperator();return U?k9(U,X.scanner.unscanned):FY(X.scanner.unscanned)},k9=(X,U="")=>`Token '${X}' requires a right operand${U?` before '${U}'`:""}`,FY=(X)=>`Expected an expression${X?` before '${X}'`:""}`;var v9=(X)=>X.scanner.lookahead===""?X.error(g9(X)):X.scanner.lookahead==="("?X.shiftedBy(1).reduceGroupOpen():X.scanner.lookaheadIsIn(LZ)?S6(X,X.scanner.shift()):X.scanner.lookaheadIsIn(d0)?v9(X.shiftedBy(1)):X.scanner.lookahead==="d"?X.scanner.nextLookahead in f9?S6(X,`${X.scanner.shift()}${X.scanner.shift()}`):j6(X):X.scanner.lookahead==="x"?X.scanner.nextLookahead==="/"?X.shiftedBy(2)&&S6(X,"x/"):j6(X):j6(X);var TZ={">":!0,">=":!0},RZ={"<":!0,"<=":!0};var u1={"<":">",">":"<","<=":">=",">=":"<=","==":"=="},DZ=(X,U)=>`Left bounds are only valid when paired with right bounds (try ...${U}${X})`,f6=(X)=>`Left-bounded expressions must specify their limits using < or <= (was ${X})`,MZ=(X,U,q,Z)=>`An expression may have at most one left bound (parsed ${X}${u1[U]}, ${q}${u1[Z]})`;var PZ=(X,U)=>{let q=AY(X,U);if(X.root.hasKind("unit")){if(typeof X.root.unit==="number"){X.reduceLeftBound(X.root.unit,q),X.unsetRoot();return}if(X.root.unit instanceof Date){let Z=`d'${X.root.description??X.root.unit.toISOString()}'`;X.unsetRoot(),X.reduceLeftBound(Z,q);return}}return OY(X,q)},IZ={"<":1,">":1,"=":1},AY=(X,U)=>X.scanner.lookaheadIs("=")?`${U}${X.scanner.shift()}`:U;var wZ=(X,U,q,Z)=>{if(q.extends(V.intrinsic.number)){if(typeof U!=="number")return F(x9(X,U,Z));return X==="=="?["min","max"]:X[0]===">"?["min"]:["max"]}if(q.extends(V.intrinsic.lengthBoundable)){if(typeof U!=="number")return F(x9(X,U,Z));return X==="=="?["exactLength"]:X[0]===">"?["minLength"]:["maxLength"]}if(q.extends(V.intrinsic.Date))return X==="=="?["after","before"]:X[0]===">"?["after"]:["before"];return F(Jq(q.expression))},VY=(X)=>({rule:WZ(X.limit)?_Z(X.limit):X.limit,exclusive:X.comparator.length===1}),OY=(X,U)=>{let q=X.unsetRoot(),Z=X.scanner.location;X.parseOperand();let Q=X.unsetRoot(),G=X.scanner.sliceChars(Z,X.scanner.location);if(X.root=q,!Q.hasKind("unit")||typeof Q.unit!=="number"&&!(Q.unit instanceof Date))return X.error(x9(U,G,"right"));let Y=Q.unit,H=U.length===1,J=wZ(U,typeof Y==="number"?Y:G,q,"right");for(let $ of J)X.constrainRoot($,U==="=="?{rule:Y}:{rule:Y,exclusive:H});if(!X.branches.leftBound)return;if(!a(U,RZ))return X.error(f6(U));let W=wZ(X.branches.leftBound.comparator,X.branches.leftBound.limit,q,"left");X.constrainRoot(W[0],VY(X.branches.leftBound)),X.branches.leftBound=null},x9=(X,U,q)=>`Comparator ${q==="left"?u1[X]:X} must be ${q==="left"?"preceded":"followed"} by a corresponding literal (was ${U})`;var KZ=(X)=>{X.scanner.shiftUntilNonWhitespace();let U=X.scanner.shiftUntilLookahead(E0);X.root=X.root.brand(U)};var CZ=(X)=>{X.scanner.shiftUntilNonWhitespace();let U=X.scanner.shiftUntilLookahead(E0),q=hU(U,{errorOnFail:NZ(U)});if(q===0)X.error(NZ(0));X.root=X.root.constrain("divisor",q)},NZ=(X)=>`% operator must be followed by a non-zero integer literal (was ${X})`;var h9=(X)=>{let U=X.scanner.shift();return U===""?X.finalize(""):U==="["?X.scanner.shift()==="]"?X.setRoot(X.root.array()):X.error(BY):U==="|"?X.scanner.lookahead===">"?X.shiftedBy(1).pushRootToBranch("|>"):X.pushRootToBranch(U):U==="&"?X.pushRootToBranch(U):U===")"?X.finalizeGroup():VZ(U,X.scanner.unscanned)?X.finalize(U):a(U,IZ)?PZ(X,U):U==="%"?CZ(X):U==="#"?KZ(X):(U in d0)?h9(X):X.error(y6(U))},y6=(X,U="")=>`'${X}' is not allowed here${U&&` (should be ${U})`}`,BY="Missing expected ']'";var SZ=(X)=>{let U=X.unsetRoot();X.parseOperand();let q=X.unsetRoot();if(!q.hasKind("unit"))return X.error(TY(q.expression));let Z=q.unit instanceof Date?()=>new Date(q.unit):q.unit;return[U,"=",Z]},TY=(X)=>`Default value '${X}' must be a literal value`;var u9=(X,U)=>{let q=U.$.maybeResolveRoot(X);if(q)return q;if(X.endsWith("[]")){let G=U.$.maybeResolveRoot(X.slice(0,-2));if(G)return G.array()}let Z=new m1(new V2(X),U),Q=RY(Z);if(Z.finalizer===">")F(y6(">"));return Q},RY=(X)=>{X.parseOperand();let U=j2(X).root;if(!U)return g(`Root was unexpectedly unset after parsing string '${X.scanner.scanned}'`);if(X.finalizer==="=")U=SZ(X);else if(X.finalizer==="?")U=[U,"?"];if(X.scanner.shiftUntilNonWhitespace(),X.scanner.lookahead)F(y6(X.scanner.lookahead));return U},j2=(X)=>{while(X.finalizer===void 0)DY(X);return X},DY=(X)=>X.hasRoot()?X.parseOperator():X.parseOperand();class m1{root;branches={prefixes:[],leftBound:null,intersection:null,union:null,pipe:null};finalizer;groups=[];scanner;ctx;constructor(X,U){this.scanner=X,this.ctx=U}error(X){return F(X)}hasRoot(){return this.root!==void 0}setRoot(X){this.root=X}unsetRoot(){let X=this.root;return this.root=void 0,X}constrainRoot(...X){this.root=this.root.constrain(X[0],X[1])}finalize(X){if(this.groups.length)return this.error(L6(")"));this.finalizeBranches(),this.finalizer=X}reduceLeftBound(X,U){let q=u1[U];if(!a(q,TZ))return this.error(f6(U));if(this.branches.leftBound)return this.error(MZ(this.branches.leftBound.limit,this.branches.leftBound.comparator,X,q));this.branches.leftBound={comparator:q,limit:X}}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 X=this.groups.pop();if(!X)return this.error(dU(")",this.scanner.unscanned));this.branches=X}addPrefix(X){this.branches.prefixes.push(X)}applyPrefixes(){while(this.branches.prefixes.length){let X=this.branches.prefixes.pop();this.root=X==="keyof"?this.root.keyof():g(`Unexpected prefix '${X}'`)}}pushRootToBranch(X){this.assertRangeUnset(),this.applyPrefixes();let U=this.root;if(this.root=void 0,this.branches.intersection=this.branches.intersection?.rawAnd(U)??U,X==="&")return;if(this.branches.union=this.branches.union?.rawOr(this.branches.intersection)??this.branches.intersection,this.branches.intersection=null,X==="|")return;this.branches.pipe=this.branches.pipe?.rawPipeOnce(this.branches.union)??this.branches.union,this.branches.union=null}parseUntilFinalizer(){return j2(new m1(this.scanner,this.ctx))}parseOperator(){return h9(this)}parseOperand(){return v9(this)}assertRangeUnset(){if(this.branches.leftBound)return this.error(DZ(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(X){return this.scanner.jumpForward(X),this}}var MY="An empty string is not a valid generic parameter name",g6=(X,U,q)=>{X.shiftUntilNonWhitespace();let Z=X.shiftUntilLookahead(E0);if(Z===""){if(X.lookahead===""&&U.length)return U;return F(MY)}return X.shiftUntilNonWhitespace(),wY(X,Z,U,q)},EZ="extends ",wY=(X,U,q,Z)=>{if(X.shiftUntilNonWhitespace(),X.unscanned.startsWith(EZ))X.jumpForward(EZ.length);else{if(X.lookahead===",")X.shift();return q.push(U),g6(X,q,Z)}let Q=j2(new m1(X,Z));return q.push([U,Q.root]),g6(X,q,Z)};class m9 extends Y0{constructor(X){let U={$:X,raw:X.fn};super((...q)=>{let Z=q.indexOf(":"),Q=Z===-1?q.length-1:Z-1,G=q.slice(0,Q+1),Y=X.parse(G).assertHasKind("intersection"),H=X.intrinsic.unknown;if(Z!==-1){if(Z!==q.length-2)return F(PY);H=X.parse(q[Z+1])}return(J)=>new bZ(J,Y,H)},{attach:U})}}class bZ extends Y0{raw;params;returns;expression;constructor(X,U,q){let Z=`typed ${X.name}`,Q={[Z]:(...Y)=>{let H=U.assert(Y),J=X(...H);return q.assert(J)}}[Z];super(Q);this.raw=X,this.params=U,this.returns=q;let G=U.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 PY=`":" must be followed by exactly one return type e.g:
|
|
184
|
-
fn("string", ":", "number")(s => s.length)`;class p9 extends Y0{$;constructor(X){super((...U)=>new f2(X)(...U),{bind:X});this.$=X}in(X){return new f2(this.$,X===void 0?void 0:this.$.parse(X))}at(X,U){return new f2(this.$).at(X,U)}case(X,U){return new f2(this.$).case(X,U)}}class f2 extends Y0{$;in;key;branches=[];constructor(X,U){super((q)=>this.caseEntries(Object.entries(q).map(([Z,Q])=>Z==="default"?[Z,Q]:[this.$.parse(Z),Q])));this.$=X,this.in=U}at(X,U){if(this.key)F(KY);if(this.branches.length)F(IY);return this.key=X,U?this.match(U):this}case(X,U){return this.caseEntry(this.$.parse(X),U)}caseEntry(X,U){let Z=(this.key?this.$.parse({[this.key]:X}):X).pipe(U);return this.branches.push(Z),this}match(X){return this(X)}strings(X){return this.caseEntries(Object.entries(X).map(([U,q])=>U==="default"?[U,q]:[this.$.node("unit",{unit:U}),q]))}caseEntries(X){for(let U=0;U<X.length;U++){let[q,Z]=X[U];if(q==="default"){if(U!==X.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(X){if(typeof X==="function")this.case(I.unknown,X);let U={branches:this.branches,ordered:!0};if(X==="never"||X==="assert")U.meta={onFail:jZ};let q=this.$.node("union",U);if(!this.in)return this.$.finalize(q);let Z=this.in.pipe(q);if(X==="never"||X==="assert")Z=Z.configureReferences({onFail:jZ},"self");return this.$.finalize(Z)}}var jZ=(X)=>X.throw(),IY="A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')",KY="At most one key matcher may be specified per expression";var k6=(X,U)=>{if(x(X)){if(X[1]==="=")return[U.$.parseOwnDefinitionFormat(X[0],U),"=",X[2]];if(X[1]==="?")return[U.$.parseOwnDefinitionFormat(X[0],U),"?"]}return v6(X,U)},fZ="Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }",yZ="Only required keys may specify default values, e.g. { value: 'number = 0' }";var gZ=(X,U)=>{let q,Z={},Q=H1(X);for(let[Y,H]of Q){let J=SY(Y);if(J.kind==="spread"){if(!C0(Z))return F(CY);let A=U.$.parseOwnDefinitionFormat(H,U);if(A.equals(I.object))continue;if(!A.hasKind("intersection")||!A.basis?.equals(I.object))return F(EY(A.expression));q=A.structure;continue}if(J.kind==="undeclared"){if(H!=="reject"&&H!=="delete"&&H!=="ignore")F(NY(H));Z.undeclared=H;continue}let W=k6(H,U),$=J;if(J.kind==="required"){if(!x(W))l9(Z,"required",{key:J.normalized,value:W},U);else l9(Z,"optional",W[1]==="="?{key:J.normalized,value:W[0],default:W[2]}:{key:J.normalized,value:W[0]},U);continue}if(x(W)){if(W[1]==="?")F(fZ);if(W[1]==="=")F(yZ)}if(J.kind==="optional"){l9(Z,"optional",{key:J.normalized,value:W},U);continue}let _=U.$.parseOwnDefinitionFormat($.normalized,U),L=I6(_,W,U.$);if(L.index)Z.index=y(Z.index,L.index);if(L.required)Z.required=y(Z.required,L.required)}let G=U.$.node("structure",Z);return U.$.parseSchema({domain:"object",structure:q?.merge(G)??G})},l9=(X,U,q,Z)=>{X[U]=y(X[U],Z.$.node(U,q))},NY=(X)=>`Value of '+' key must be 'reject', 'delete', or 'ignore' (was ${E(X)})`,CY="Spread operator may only be used as the first key in an object",SY=(X)=>typeof X==="symbol"?{kind:"required",normalized:X}:X[X.length-1]==="?"?X[X.length-2]===W1?{kind:"required",normalized:`${X.slice(0,-2)}?`}:{kind:"optional",normalized:X.slice(0,-1)}:X[0]==="["&&X[X.length-1]==="]"?{kind:"index",normalized:X.slice(1,-1)}:X[0]===W1&&X[1]==="["&&X[X.length-1]==="]"?{kind:"required",normalized:X.slice(1)}:X==="..."?{kind:"spread"}:X==="+"?{kind:"undeclared"}:{kind:"required",normalized:X==="\\..."?"...":X==="\\+"?"+":X},EY=(X)=>`Spread operand must resolve to an object literal type (was ${X})`;var vZ=(X,U)=>uY(X)?mZ[X[0]](X,U):xY(X)?uZ[X[1]](X,U):null,bY=(X,U)=>U.$.parseOwnDefinitionFormat(X[1],U).keyof(),d9=(X,U)=>{if(X[2]===void 0)return F(k9(X[1],""));let q=U.$.parseOwnDefinitionFormat(X[0],U),Z=U.$.parseOwnDefinitionFormat(X[2],U);if(X[1]==="|")return U.$.node("union",{branches:[q,Z]});let Q=X[1]==="&"?W0(q,Z,U.$):D2(q,Z,U.$);if(Q instanceof B)return Q.throw();return Q},jY=(X,U)=>U.$.parseOwnDefinitionFormat(X[0],U).array(),fY=(X,U)=>{if(typeof X[2]!=="function")return F(xZ("=>",X[2]));return U.$.parseOwnDefinitionFormat(X[0],U).pipe(X[2])},xZ=(X,U)=>`${X===":"?"Narrow":"Morph"} expression requires a function following '${X}' (was ${typeof U})`,yY=(X,U)=>{if(typeof X[2]!=="function")return F(xZ(":",X[2]));return U.$.parseOwnDefinitionFormat(X[0],U).constrain("predicate",X[2])},gY=(X,U)=>U.$.parseOwnDefinitionFormat(X[0],U).configure(X[2],X[3]),hZ=(X)=>X,kY=hZ({"[]":jY,"?":()=>F(E6)}),vY=hZ({"|":d9,"&":d9,":":yY,"=>":fY,"|>":d9,"@":gY,"=":()=>F(b6)}),uZ={...kY,...vY},xY=(X)=>uZ[X[1]]!==void 0,hY=(X)=>X,mZ=hY({keyof:bY,instanceof:(X,U)=>{if(typeof X[1]!=="function")return F(kZ(W2(X[1])));let q=X.slice(1).map((Z)=>typeof Z==="function"?U.$.node("proto",{proto:Z}):F(kZ(W2(Z))));return q.length===1?q[0]:U.$.node("union",{branches:q})},"===":(X,U)=>U.$.units(X.slice(1))}),uY=(X)=>mZ[X[0]]!==void 0,kZ=(X)=>`Expected a constructor following 'instanceof' operator (was ${X})`;var dZ=(X,U)=>{let q=[{}],Z=0;while(Z<X.length){let Q=!1;if(X[Z]==="..."&&Z<X.length-1)Q=!0,Z++;let G=k6(X[Z],U),[Y,H,J]=!x(G)?[G]:G;if(Z++,Q){if(!Y.extends(V.intrinsic.Array))return F(lY(Y.expression));q=q.flatMap((W)=>Y.distribute(($)=>pY(F6(W),$)))}else q=q.map((W)=>{if(H==="?")return cZ(W,Y);if(H==="=")return mY(W,Y,J);return c9(W,Y)})}return U.$.parseSchema(q.map((Q)=>C0(Q)?{proto:Array,exactLength:0}:{proto:Array,sequence:Q}))},c9=(X,U)=>{if(X.defaultables||X.optionals)return F(X.variadic?w9:dY);if(X.variadic)X.postfix=y(X.postfix,U);else X.prefix=y(X.prefix,U);return X},cZ=(X,U)=>{if(X.variadic)return F(iZ);return X.optionals=y(X.optionals,U),X},mY=(X,U,q)=>{if(X.variadic)return F(iZ);if(X.optionals)return F(cY);return X.defaultables=y(X.defaultables,[[U,q]]),X},pZ=(X,U)=>{if(X.postfix)F(lZ);if(X.variadic){if(!X.variadic.equals(U))F(lZ)}else X.variadic=U.internal;return X},pY=(X,U)=>{let q=U.select({method:"find",kind:"sequence"});if(!q)return pZ(X,V.intrinsic.unknown);if(q.prefix)for(let Z of q.prefix)c9(X,Z);if(q.optionals)for(let Z of q.optionals)cZ(X,Z);if(q.variadic)pZ(X,q.variadic);if(q.postfix)for(let Z of q.postfix)c9(X,Z);return X},lY=(X)=>`Spread element must be an array (was ${X})`,lZ="A tuple may have at most one variadic element",dY="A required element may not follow an optional element",iZ="An optional element may not follow a variadic element";var cY="A defaultable element may not follow an optional element without a default";var iY={},v6=(X,U)=>{if(typeof X==="string"){if(U.args&&Object.keys(U.args).some((Z)=>X.includes(Z)))return u9(X,U);let q=iY[U.$.name]??={};return q[X]??=u9(X,U)}return Z0(X,"object")?sY(X,U):F(i9(r(X)))},sY=(X,U)=>{let q=J2(X);switch(q){case void 0:if(M(X,"root"))return X;if("~standard"in X)return oY(X,U);return gZ(X,U);case"Array":return rY(X,U);case"RegExp":return U.$.node("intersection",{domain:"string",pattern:X},{prereduced:!0});case"Function":{let Z=l0(X)?X():X;if(M(Z,"root"))return Z;return F(i9("Function"))}default:return F(i9(q??E(X)))}},oY=(X,U)=>U.$.intrinsic.unknown.pipe((q,Z)=>{let Q=X["~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:bU(G),relativePath:Y.map((H)=>typeof H==="object"?H.key:H)});else Z.error({message:G});else Z.error({message:G})}),rY=(X,U)=>vZ(X,U)??dZ(X,U),i9=(X)=>`Type definitions must be strings or objects (was ${X})`;class s9 extends Y0{constructor(X){let U=Object.assign({errors:H0,hkt:e,$:X,raw:X.parse,module:X.constructor.module,scope:X.constructor.scope,declare:X.declare,define:X.define,match:X.match,generic:X.generic,schema:X.schema,keywords:X.ambient,unit:X.unit,enumerated:X.enumerated,instanceOf:X.instanceOf,valueOf:X.valueOf,or:X.or,and:X.and,merge:X.merge,pipe:X.pipe,fn:X.fn},X.ambientAttachments);super((...q)=>{if(q.length===1)return X.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=X.parseGenericParams(Z,{});return new o0(Q,q[1],X,X,null)}return X.parse(q)},{attach:U})}}var p1=V;class x6 extends K6{get ambientAttachments(){if(!p1.typeAttachments)return;return this.cacheGetter("ambientAttachments",S(p1.typeAttachments,(X,U)=>[X,this.bindReference(U)]))}preparseOwnAliasEntry(X,U){let q=X.indexOf("<");if(q===-1){if(M(U,"module")||M(U,"generic"))return[X,U];let G=this.name==="ark"?X:X==="root"?this.name:`${this.name}.${X}`,Y=this.resolvedConfig.keywords?.[G];if(Y)U=[U,"@",Y];return[X,U]}if(X[X.length-1]!==">")F("'>' must be the last character of a generic declaration in a scope");let Z=X.slice(0,q),Q=X.slice(q+1,-1);return[Z,()=>{let G=this.parseGenericParams(Q,{alias:Z});return Gq(G,U,this)}]}parseGenericParams(X,U){return g6(new V2(X),[],this.createParseContext({...U,def:X,prefix:"generic"}))}normalizeRootScopeValue(X){if(l0(X)&&!M(X,"generic"))return X();return X}preparseOwnDefinitionFormat(X,U){return{...U,def:X,prefix:U.alias??"type"}}parseOwnDefinitionFormat(X,U){if(!(U.alias&&(U.alias in this.aliases))&&!U.args)U.args={this:U.id};let Z=v6(X,U);if(x(Z)){if(Z[1]==="=")return F(b6);if(Z[1]==="?")return F(E6)}return Z}unit=(X)=>this.units([X]);valueOf=(X)=>this.units(MU(X));enumerated=(...X)=>this.units(X);instanceOf=(X)=>this.node("proto",{proto:X},{prereduced:!0});or=(...X)=>this.schema(X.map((U)=>this.parse(U)));and=(...X)=>X.reduce((U,q)=>U.and(this.parse(q)),this.intrinsic.unknown);merge=(...X)=>X.reduce((U,q)=>U.merge(this.parse(q)),this.intrinsic.object);pipe=(...X)=>this.intrinsic.unknown.pipe(...X);fn=new m9(this);match=new p9(this);declare=()=>({type:this.type});define(X){return X}type=new s9(this);static scope=(X,U={})=>new x6(X,U);static module=(X,U={})=>this.scope(X,U).export()}var y2=Object.assign(x6.scope,{define:(X)=>X}),f=x6;class sZ extends e{description='merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'}var aY=O0(["base",I.object],["props",I.object])((X)=>X.base.merge(X.props),sZ),oZ=f.module({Key:I.key,Merge:aY});class rZ extends e{}var nY=O0("element")((X)=>{let U=X.element.exclude(I.Array),q=U.array();return U.rawOr(q).pipe(p0).distribute((Z)=>Z.assertHasKind("morph").declareOut(q),v)},rZ),aZ=f.module({root:I.Array,readonly:"root",index:I.nonNegativeIntegerString,liftFrom:nY},{name:"Array"});var o9=v(["string",_1.FileConstructor]),tY=o9.rawOr(o9.array()),nZ=v({meta:"an object representing parsed form data",domain:"object",index:{signature:"string",value:tY}}),tZ=f.module({root:["instanceof",FormData],value:o9,parsed:nZ,parse:v({in:FormData,morphs:(X)=>{let U={};for(let[q,Z]of X)if(q in U){let Q=U[q];if(typeof Q==="string"||Q instanceof _1.FileConstructor)U[q]=[Q,Z];else Q.push(Z)}else U[q]=Z;return U},declaredOut:nZ})},{name:"FormData"});var eZ=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 eY={Boolean:1,Number:1,String:1},X8=f.module({...S({...k4,...x4},(X,U)=>(X in eY)?[]:[X,["instanceof",U]]),Array:aZ,TypedArray:eZ,FormData:tZ});var X7=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"}),U7=v({domain:"number",divisor:1}),h6=f.module({root:I.number,integer:U7,epoch:X7,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=(X,U,q)=>{let Z={domain:"string",pattern:{rule:X.source,flags:X.flags,meta:U}};if(q)Z.meta={format:q};return h1("intersection",Z)},U8=l($2,"a well-formed integer string"),z8=f.module({root:U8,parse:v({in:U8,morphs:(X,U)=>{let q=Number.parseInt(X);return Number.isSafeInteger(q)?q:U.error("an integer in the range Number.MIN_SAFE_INTEGER to Number.MAX_SAFE_INTEGER")},declaredOut:I.integer})},{name:"string.integer"}),q7=l(/^[\dA-Fa-f]+$/,"hex characters only"),Z7=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"}),q8=l(/^[A-Z].*$/,"capitalized"),Q7=f.module({root:v({in:"string",morphs:(X)=>X.charAt(0).toUpperCase()+X.slice(1),declaredOut:q8}),preformatted:q8},{name:"string.capitalize"}),G7=(X)=>{let U=X.replace(/[ -]+/g,""),q=0,Z,Q,G=!1;for(let Y=U.length-1;Y>=0;Y--){if(Z=U.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?U:!1)},Y7=/^(?: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}))$/,H7=v({domain:"string",pattern:{meta:"a credit card number",rule:Y7.source},predicate:{meta:"a credit card number",predicate:G7}});var J7=/^([+-]?\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 W7=(X)=>!Number.isNaN(new Date(X).valueOf()),Z8=v({domain:"string",predicate:{meta:"a parsable date",predicate:W7}}).assertHasKind("intersection"),Q8=z8.root.internal.narrow((X,U)=>{let q=Number.parseInt(X),Z=h6.epoch(q);if(Z instanceof H0)return U.errors.merge(Z),!1;return!0}).configure({description:"an integer string representing a safe Unix timestamp"},"self").assertHasKind("intersection"),_7=f.module({root:Q8,parse:v({in:Q8,morphs:(X)=>new Date(X),declaredOut:I.Date})},{name:"string.date.epoch"}),G8=l(J7,"an ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) date").internal.assertHasKind("intersection"),$7=f.module({root:G8,parse:v({in:G8,morphs:(X)=>new Date(X),declaredOut:I.Date})},{name:"string.date.iso"}),L7=f.module({root:Z8,parse:v({declaredIn:Z8,in:"string",morphs:(X,U)=>{let q=new Date(X);if(Number.isNaN(q.valueOf()))return U.error("a parsable date");return q},declaredOut:I.Date}),iso:$7,epoch:_7},{name:"string.date"}),z7=l(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/,"an email address","email"),Y8="(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",r0=`(${Y8}[.]){3}${Y8}`,F7=new RegExp(`^${r0}$`),c="(?:[0-9a-fA-F]{1,4})",A7=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,})?$`),V7=f.module({root:["v4 | v6","@","an IP address"],v4:l(F7,"an IPv4 address","ipv4"),v6:l(A7,"an IPv6 address","ipv6")},{name:"string.ip"}),l1="a JSON string",F8=(X)=>{if(!(X instanceof SyntaxError))throw X;return`must be ${l1} (${X})`},O7=v({meta:l1,domain:"string",predicate:{meta:l1,predicate:(X,U)=>{try{return JSON.parse(X),!0}catch(q){return U.reject({code:"predicate",expected:l1,problem:F8(q)})}}}}),B7=(X,U)=>{if(X.length===0)return U.error({code:"predicate",expected:l1,actual:"empty"});try{return JSON.parse(X)}catch(q){return U.error({code:"predicate",expected:l1,problem:F8(q)})}},T7=f.module({root:O7,parse:v({meta:"safe JSON string parser",in:"string",morphs:B7,declaredOut:I.jsonObject})},{name:"string.json"}),H8=l(/^[a-z]*$/,"only lowercase letters"),R7=f.module({root:v({in:"string",morphs:(X)=>X.toLowerCase(),declaredOut:H8}),preformatted:H8},{name:"string.lower"}),A8=["NFC","NFD","NFKC","NFKD"],g2=S(A8,(X,U)=>[U,v({domain:"string",predicate:(q)=>q.normalize(U)===q,meta:`${U}-normalized unicode`})]),u6=S(A8,(X,U)=>[U,v({in:"string",morphs:(q)=>q.normalize(U),declaredOut:g2[U]})]),D7=f.module({root:u6.NFC,preformatted:g2.NFC},{name:"string.normalize.NFC"}),M7=f.module({root:u6.NFD,preformatted:g2.NFD},{name:"string.normalize.NFD"}),w7=f.module({root:u6.NFKC,preformatted:g2.NFKC},{name:"string.normalize.NFKC"}),P7=f.module({root:u6.NFKD,preformatted:g2.NFKD},{name:"string.normalize.NFKD"}),I7=f.module({root:"NFC",NFC:D7,NFD:M7,NFKC:w7,NFKD:P7},{name:"string.normalize"}),J8=l(_6,"a well-formed numeric string"),K7=f.module({root:J8,parse:v({in:J8,morphs:(X)=>Number.parseFloat(X),declaredOut:I.number})},{name:"string.numeric"}),W8="a regex pattern",N7=v({domain:"string",predicate:{meta:W8,predicate:(X,U)=>{try{return new RegExp(X),!0}catch(q){return U.reject({code:"predicate",expected:W8,problem:String(q)})}}},meta:{format:"regex"}}),C7=/^(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-]+)*))?$/,S7=l(C7,"a semantic version (see https://semver.org/)"),_8=l(/^\S.*\S$|^\S?$/,"trimmed"),E7=f.module({root:v({in:"string",morphs:(X)=>X.trim(),declaredOut:_8}),preformatted:_8},{name:"string.trim"}),$8=l(/^[A-Z]*$/,"only uppercase letters"),b7=f.module({root:v({in:"string",morphs:(X)=>X.toUpperCase(),declaredOut:$8}),preformatted:$8},{name:"string.upper"}),j7=(X)=>URL.canParse(X),L8=v({domain:"string",predicate:{meta:"a URL string",predicate:j7},meta:{format:"uri"}}),f7=f.module({root:L8,parse:v({declaredIn:L8,in:"string",morphs:(X,U)=>{try{return new URL(X)}catch{return U.error("a URL string")}},declaredOut:v(URL)})},{name:"string.url"}),y7=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"}),V8=f.module({root:I.string,alpha:l(/^[A-Za-z]*$/,"only letters"),alphanumeric:l(/^[\dA-Za-z]*$/,"only letters and digits 0-9"),hex:q7,base64:Z7,capitalize:Q7,creditCard:H7,date:L7,digits:l(/^\d*$/,"only digits 0-9"),email:z7,integer:z8,ip:V7,json:T7,lower:R7,normalize:I7,numeric:K7,regex:N7,semver:S7,trim:E7,upper:b7,url:f7,uuid:y7},{name:"string"});var O8=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}),B8=f.module({root:I.unknown,any:I.unknown},{name:"unknown"}),g7=f.module({root:I.jsonObject,stringify:h1("morph",{in:I.jsonObject,morphs:(X)=>JSON.stringify(X),declaredOut:I.string})},{name:"object.json"}),T8=f.module({root:I.object,json:g7},{name:"object"});class R8 extends e{description='instantiate an object from an index signature and corresponding value type like `Record("string", "number")`'}var k7=O0(["K",I.key],"V")((X)=>({domain:"object",index:{signature:X.K,value:X.V}}),R8);class D8 extends e{description='pick a set of properties from an object like `Pick(User, "name | age")`'}var v7=O0(["T",I.object],["K",I.key])((X)=>X.T.pick(X.K),D8);class M8 extends e{description='omit a set of properties from an object like `Omit(User, "age")`'}var x7=O0(["T",I.object],["K",I.key])((X)=>X.T.omit(X.K),M8);class w8 extends e{description="make all named properties of an object optional like `Partial(User)`"}var h7=O0(["T",I.object])((X)=>X.T.partial(),w8);class P8 extends e{description="make all named properties of an object required like `Required(User)`"}var u7=O0(["T",I.object])((X)=>X.T.required(),P8);class I8 extends e{description='exclude branches of a union like `Exclude("boolean", "true")`'}var m7=O0("T","U")((X)=>X.T.exclude(X.U),I8);class K8 extends e{description='extract branches of a union like `Extract("0 | false | 1", "number")`'}var p7=O0("T","U")((X)=>X.T.extract(X.U),K8),N8=f.module({Exclude:m7,Extract:p7,Omit:x7,Partial:h7,Pick:v7,Record:k7,Required:u7});var x0=y2({...O8,...N8,...X8,...oZ,string:V8,number:h6,object:T8,unknown:B8},{prereducedAliases:!0,name:"ark"}),n=x0.export();Object.assign(p1.ambient,n);p1.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 r9=Object.assign(x0.type,p1.typeAttachments),l7=x0.match,d7=x0.fn,c7=x0.generic,ON=x0.schema,i7=x0.define,s7=x0.declare;var z1=y2({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(),gN=z1.Operator,kN=z1.Condition,vN=z1.ConditionGroup,xN=z1.RuleCondition,hN=z1.Action,uN=z1.ActionGroup,o7=z1.TriggerRule;class a9{static validate(X){let U=o7(X);if(U instanceof r9.errors){let Q=[];for(let G of U){let Y=G.path.join("."),H=G.message,J=void 0;if(Y.endsWith("on")&&(H.includes("string")||H.includes("must be")))if(typeof X==="object"&&X&&X.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=U,Z=[];if(this.validateConditionsRecursive(q.if,Z,"if"),Z.length>0)return{valid:!1,issues:Z};return{valid:!0,rule:q}}static validateConditionsRecursive(X,U,q){if(!X)return;if(Array.isArray(X)){X.forEach((Z,Q)=>{this.validateConditionsRecursive(Z,U,`${q}.${Q}`)});return}if("conditions"in X&&Array.isArray(X.conditions)){X.conditions.forEach((Z,Q)=>{this.validateConditionsRecursive(Z,U,`${q}.conditions.${Q}`)});return}if("operator"in X&&"value"in X)this.validateConditionValue(X,U,q)}static validateConditionValue(X,U,q){let{operator:Z,value:Q}=X;if(["IN","NOT_IN","RANGE","CONTAINS"].includes(Z)){if(Z==="CONTAINS"){if(typeof Q!=="string"&&!Array.isArray(Q))U.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)){U.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)U.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")U.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")U.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){U.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")U.push({path:`${q}.value`,message:`Incorrect value type: Operator '${Z}' expects a number or expression string, but received ${typeof Q}.`,severity:"error"})}}}class m6{conditions=[];op="AND";constructor(X="AND"){this.op=X}where(X,U,q){return this.conditions.push({field:X,operator:U,value:q}),this}and(X){let U=new m6("AND");return this.conditions.push(X(U).build()),this}or(X){let U=new m6("OR");return this.conditions.push(X(U).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 C8{actions=[];mode="ALL";setMode(X){return this.mode=X,this}add(X,U,q){return this.actions.push({type:X,params:U,...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 r7{rule={enabled:!0,priority:0};withId(X){return this.rule.id=X,this}withName(X){return this.rule.name=X,this}withDescription(X){return this.rule.description=X,this}withPriority(X){return this.rule.priority=X,this}withCooldown(X){return this.rule.cooldown=X,this}withTags(X){return this.rule.tags=X,this}on(X){return this.rule.on=X,this}if(X,U,q){if(!this.rule.if)this.rule.if={field:X,operator:U,value:q};else if(Array.isArray(this.rule.if))this.rule.if.push({field:X,operator:U,value:q});else this.rule.if=[this.rule.if,{field:X,operator:U,value:q}];return this}ifComplex(X){let U=new m6,q=X(U).build();return this.rule.if=q,this}do(X,U,q){let Z={type:X,params:U,...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(X){let U=new C8,q=X(U).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 vQ=Y6(JU(),1);class rA{static toYaml(X){let U=Array.isArray(X)?X:[X];return vQ.default.stringify(U)}static async saveToFile(X,U){let q=this.toYaml(X);if(typeof process<"u"&&process.versions&&process.versions.node){let Z=await import("fs/promises"),G=(await import("path")).dirname(U);await Z.mkdir(G,{recursive:!0}),await Z.writeFile(U,q,"utf8")}else throw Error("saveToFile is only supported in Node.js/Bun environments")}}import{existsSync as xQ,mkdirSync as aA,readFileSync as nA,writeFileSync as tA}from"fs";import{dirname as eA}from"path";class XV{filePath;cache=new Map;isLoaded=!1;constructor(X){this.filePath=X}ensureLoaded(){if(this.isLoaded)return;try{if(xQ(this.filePath)){let X=nA(this.filePath,"utf-8"),U=JSON.parse(X);this.cache=new Map(Object.entries(U))}}catch(X){console.error(`[FilePersistence] Failed to load state from ${this.filePath}:`,X),this.cache=new Map}this.isLoaded=!0}persist(){try{let X=eA(this.filePath);if(!xQ(X))aA(X,{recursive:!0});let U=Object.fromEntries(this.cache);tA(this.filePath,JSON.stringify(U,null,2),"utf-8")}catch(X){console.error(`[FilePersistence] Failed to save state to ${this.filePath}:`,X)}}async loadState(){return this.ensureLoaded(),new Map(this.cache)}async saveState(X,U){this.ensureLoaded(),this.cache.set(X,U),this.persist()}async deleteState(X){this.ensureLoaded(),this.cache.delete(X),this.persist()}async clearState(){this.cache.clear(),this.persist()}}import*as U2 from"path";import*as D1 from"fs";var hQ=Y6(JU(),1);class UV{static async loadRulesFromDir(X){let U=[],q=async(Z)=>{let Q;try{Q=await D1.promises.readdir(Z,{withFileTypes:!0})}catch(G){console.error(`[TriggerLoader] Failed to readdir ${Z}:`,G);return}for(let G of Q){let Y=U2.resolve(Z,G.name);if(G.isDirectory())await q(Y);else if(Y.toLowerCase().endsWith(".yaml")||Y.toLowerCase().endsWith(".yml"))try{let H=await this.loadRule(Y);U.push(...H)}catch(H){console.error(`Failed to load rule from ${Y}:`,H)}}};if(D1.existsSync(X))await q(X);else console.warn(`[TriggerLoader] Directory not found: ${X}`);return U}static async loadRule(X){try{let U=await D1.promises.readFile(X,"utf-8"),q=hQ.parseAllDocuments(U);for(let Y of q)if(Y.errors&&Y.errors.length>0)throw Error(`YAML syntax error in ${X}: ${Y.errors.map((H)=>H.message).join(", ")}`);let Z=q.map((Y)=>Y.toJS()),Q=[],G=[];return Z.forEach((Y)=>{if(Array.isArray(Y))G.push(...Y);else G.push(Y)}),G.forEach((Y,H)=>{if(Y&&typeof Y==="object"&&Y.actions&&!Y.do)Y.do=Y.actions;let J=a9.validate(Y);if(J.valid){let W=J.rule;if(!W.id){let $=U2.basename(X,U2.extname(X));W.id=G.length>1?`${$}-${H}`:$}Q.push(W)}else console.error(`
|
|
185
|
-
[TriggerLoader] ⚠️ Validation Problem in ${X} (item #${
|
|
183
|
+
`)+"}");class N6{config;resolvedConfig;name;get[U0](){return"scope"}referencesById={};references=[];resolutions={};exportedNames=[];aliases={};resolved=!1;nodesByHash={};intrinsic;constructor(X,U){if(this.config=B2(V.config,U),this.resolvedConfig=B2(V.resolvedConfig,U),this.name=this.resolvedConfig.name??`anonymousScope${Object.keys(C9).length}`,this.name in C9)F(`A Scope already named ${this.name} already exists`);C9[this.name]=this;let q=Object.entries(X).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(eq(G));this.aliases[G]=Q}else{if(G in this.aliases)F(eq(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}}XZ??=this.node("union",{branches:["string","number","object","bigint","symbol",{unit:!0},{unit:!1},{unit:void 0},{unit:null}]},{prereduced:!0}),this.nodesByHash[XZ.hash]=this.node("intersection",{},{prereduced:!0}),this.intrinsic=V.intrinsic?S(V.intrinsic,(Z,Q)=>Z.startsWith("json")?[]:[Z,this.bindReference(Q)]):{}}cacheGetter(X,U){return Object.defineProperty(this,X,{value:U}),U}get internal(){return this}_json;get json(){if(!this._json)this.export();return this._json}defineSchema(X){return X}generic=(...X)=>{let U=this;return(q,Z)=>new r0(X,Z?new T6(q):q,U,U,Z??null)};units=(X,U)=>{let q=[];for(let Q of X)if(!q.includes(Q))q.push(Q);let Z=q.map((Q)=>this.node("unit",{unit:Q},U));return this.node("union",Z,{...U,prereduced:!0})};lazyResolutions=[];lazilyResolve(X,U){let q=this.node("alias",{reference:U??"synthetic",resolve:X},{prereduced:!0});if(!this.resolved)this.lazyResolutions.push(q);return q}schema=(X,U)=>this.finalize(this.parseSchema(X,U));parseSchema=(X,U)=>this.node(M2(X),X,U);preparseNode(X,U,q){let Z=typeof X==="string"?X:M2(U,X);if(h(U)&&U.kind===Z)return U;if(Z==="alias"&&!q?.prereduced){let{reference:Y}=C2.implementation.normalize(U,this);if(Y.startsWith("$")){let J=this.resolveRoot(Y.slice(1));U=J,Z=J.kind}}else if(Z==="union"&&Z0(U,"object")){let Y=XY(U);if(Y?.length===1)U=Y[0],Z=M2(U)}if(h(U)&&U.kind===Z)return U;let G=g1[Z].normalize?.(U,this)??U;if(h(G))return G.kind===Z?G:UY(Z,G.kind);return{...q,$:this,kind:Z,def:G,prefix:q.alias??Z}}bindReference(X){let U;if(h(X))U=X.$===this?X:new X.constructor(X.attachments,this);else U=X.$===this?X:new r0(X.params,X.bodyDef,X.$,this,X.hkt);if(!this.resolved)Object.assign(this.referencesById,U.referencesById);return U}resolveRoot(X){return this.maybeResolveRoot(X)??F(b9(X))}maybeResolveRoot(X){let U=this.maybeResolve(X);if(M(U,"generic"))return;return U}maybeResolveSubalias(X){return S9(this.aliases,X)??S9(this.ambient,X)}get ambient(){return V.ambient}maybeResolve(X){let U=this.resolutions[X];if(U){if(typeof U!=="string")return this.bindReference(U);let Z=q0[U];if(M(Z,"root"))return this.resolutions[X]=Z;if(M(Z,"context")){if(Z.phase==="resolving")return this.node("alias",{reference:`$${X}`},{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[X]=Q}return g(`Unexpected nodesById entry for ${U}: ${E(Z)}`)}let q=this.aliases[X]??this.ambient?.[X];if(!q)return this.maybeResolveSubalias(X);if(q=this.normalizeRootScopeValue(q),M(q,"generic"))return this.resolutions[X]=this.bindReference(q);if(M(q,"module")){if(!q.root)F(JZ(X));return this.resolutions[X]=this.bindReference(q.root)}return this.resolutions[X]=this.parse(q,{alias:X})}createParseContext(X){let U=X.id??$9(X.prefix);return q0[U]=Object.assign(X,{[U0]:"context",$:this,id:U,phase:"unresolved"})}traversal(X){return new w0(X,this.resolvedConfig)}import(...X){return new x1(S(this.export(...X),(U,q)=>[`#${U}`,q]))}precompilation;_exportedResolutions;_exports;export(...X){if(!this._exports){this._exports={};for(let q of this.exportedNames){let Z=this.aliases[q];this._exports[q]=M(Z,"module")?N9(Z,this):UZ(this.maybeResolve(q))}for(let q of this.lazyResolutions)q.resolution;if(this._exportedResolutions=YZ(this,this._exports),this._json=GZ(this._exportedResolutions),Object.assign(this.resolutions,this._exportedResolutions),this.references=Object.values(this.referencesById),!this.resolvedConfig.jitless){let q=QZ(this.references);this.precompilation=q.write(qZ,4),ZZ(this.references,q)}this.resolved=!0}let U=X.length?X:this.exportedNames;return new x1(S(U,(q,Z)=>[Z,this._exports[Z]]))}resolve(X){return this.export()[X]}node=(X,U,q={})=>{let Z=this.preparseNode(X,U,q);if(h(Z))return this.bindReference(Z);let Q=this.createParseContext(Z),G=L9(Q),Y=this.bindReference(G);return q0[Q.id]=Y};parse=(X,U={})=>this.finalize(this.parseDefinition(X,U));parseDefinition(X,U={}){if(M(X,"root"))return this.bindReference(X);let q=this.preparseOwnDefinitionFormat(X,U);if(M(q,"root"))return this.bindReference(q);let Z=this.createParseContext(q);q0[Z.id]=Z;let Q=this.bindReference(this.parseOwnDefinitionFormat(X,Z));if(Q.isCyclic)Q=wq(Q,Z.id);return q0[Z.id]=Q,Q}finalize(X){if(UZ(X),!X.precompilation&&!this.resolvedConfig.jitless)qY(X.references);return X}}class E9 extends N6{parseOwnDefinitionFormat(X,U){return L9(U)}preparseOwnDefinitionFormat(X,U){return this.preparseNode(M2(X),X,U)}preparseOwnAliasEntry(X,U){return[X,U]}normalizeRootScopeValue(X){return X}}var UZ=(X)=>{let U=X.references.filter((q)=>q.hasKind("alias"));for(let q of U){Object.assign(q.referencesById,q.resolution.referencesById);for(let Z of X.references)if(q.id in Z.referencesById)Object.assign(Z.referencesById,q.referencesById)}return X},GZ=(X)=>S(X,(U,q)=>[U,M(q,"root")||M(q,"generic")?q.json:M(q,"module")?GZ(q):g(`Unexpected resolution ${E(q)}`)]),S9=(X,U)=>{let q=U.indexOf(".");if(q===-1)return;let Z=U.slice(0,q),Q=X[Z];if(Q===void 0)return;if(!M(Q,"module"))return F(ZY(Z));let G=U.slice(q+1),Y=Q[G];if(Y===void 0)return S9(Q,G);if(M(Y,"root")||M(Y,"generic"))return Y;if(M(Y,"module"))return Y.root??F(JZ(U));g(`Unexpected resolution for alias '${U}': ${E(Y)}`)},C6=(X,U)=>new E9(X,U),b2=new E9({});var YZ=(X,U)=>{let q={};for(let Z in U){let Q=U[Z];if(M(Q,"module")){let G=YZ(X,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},b9=(X)=>`'${X}' is unresolvable`,ZY=(X)=>`'${X}' must reference a module to be accessed using dot syntax`,JZ=(X)=>`Reference to submodule '${X}' must specify an alias`;b2.export();var{schema:v,node:h1,defineSchema:uw,generic:O0}=b2;var j9="^(?:0|[1-9]\\d*)$",QY=new RegExp(j9),lw=d(QY);var HZ=C6({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={...HZ};var WZ=C6({integer:{domain:"number",divisor:1},lengthBoundable:["string",Array],key:["string","symbol"],nonNegativeIntegerString:{domain:"string",pattern:j9}},{prereducedAliases:!0}).export();Object.assign(V.intrinsic,WZ);var GY=C6({jsonPrimitive:["string","number",{unit:!0},{unit:!1},{unit:null}],jsonObject:{domain:"object",index:{signature:"string",value:"$jsonData"}},jsonData:["$jsonPrimitive","$jsonObject"]},{prereducedAliases:!0}).export(),I={...HZ,...WZ,...GY,emptyStructure:h1("structure",{},{prereduced:!0})};V.intrinsic={...I};var S6=(X,U)=>new RegExp(X,U);Object.assign(S6,{as:S6});var $Z=(X)=>typeof X==="string"&&X[0]==="d"&&(X[1]==="'"||X[1]==='"')&&X[X.length-1]===X[1],_Z=(X)=>X.toString()!=="Invalid Date",LZ=(X)=>X.slice(2,-1),f9=(X)=>`'${X}' could not be parsed by the Date constructor`,zZ=(X,U)=>YY(X,U),YY=(X,U)=>{let q=new Date(X);if(_Z(q))return q;let Z=hU(X);if(Z!==void 0){let Q=new Date(Z);if(_Z(Q))return Q}return U?F(U===!0?f9(X):U):void 0};var JY=v({proto:"Array",sequence:"string",required:{key:"groups",value:["object",{unit:void 0}]}}),E6=(X,U)=>{let q=X.scanner.shiftUntilEscapable(WY[VZ[U]]);if(X.scanner.lookahead==="")return X.error($Y(q,U));if(X.scanner.shift(),U in AZ){let Z;try{Z=new RegExp(q)}catch(Q){F(String(Q))}if(X.root=X.ctx.$.node("intersection",{domain:"string",pattern:q},{prereduced:!0}),U==="x/")X.root=X.ctx.$.node("morph",{in:X.root,morphs:(Q)=>Z.exec(Q),declaredOut:JY})}else if(a(U,y9))X.root=X.ctx.$.node("unit",{unit:q});else{let Z=zZ(q,f9(q));X.root=X.ctx.$.node("unit",{meta:q,unit:Z})}},y9={"'":1,'"':1},FZ={"/":1,"'":1,'"':1},HY={"d'":"'",'d"':'"',"'":"'",'"':'"'},AZ={"/":"/","x/":"/"},VZ={...HY,...AZ},WY={"'":(X)=>X.lookahead==="'",'"':(X)=>X.lookahead==='"',"/":(X)=>X.lookahead==="/"},_Y={'"':"double-quote","'":"single-quote","/":"forward slash"},$Y=(X,U)=>`${U}${X} requires a closing ${_Y[VZ[U]]}`;var OZ=(X)=>`Private type references should not include '#'. Use '${X}' instead.`,b6="Optional definitions like 'string?' are only valid as properties in an object or tuple",j6="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 BZ=(X,U)=>X===">"?U[0]==="="?U[1]==="=":U.trimStart()===""||a(U.trimStart()[0],b0):X==="="?U[0]!=="=":X===","||X==="?";var TZ=(X,U,q)=>RZ(X,U,q,[]),RZ=(X,U,q,Z)=>{let Q=q.parseUntilFinalizer();if(Z.push(Q.root),Q.finalizer===">"){if(Z.length!==U.params.length)return q.error(g9(X,U.names,Z.map((G)=>G.expression)));return Z}if(Q.finalizer===",")return RZ(X,U,q,Z);return Q.error(z6(">"))},g9=(X,U,q)=>`${X}<${U.join(", ")}> requires exactly ${U.length} args (got ${q.length}${q.length===0?"":`: ${q.join(", ")}`})`;var f6=(X)=>{let U=X.scanner.shiftUntilLookahead(b0);if(U==="keyof")X.addPrefix("keyof");else X.root=zY(X,U)},LY=(X,U,q)=>{if(q.scanner.shiftUntilNonWhitespace(),q.scanner.shift()!=="<")return q.error(g9(X,U.names,[]));let Q=TZ(X,U,q);return U(...Q)},zY=(X,U)=>FY(X,U)??AY(X,U)??X.error(U===""?X.scanner.lookahead==="#"?OZ(X.shiftedBy(1).scanner.shiftUntilLookahead(b0)):k9(X):b9(U)),FY=(X,U)=>{if(X.ctx.args?.[U]){let Z=X.ctx.args[U];if(typeof Z!=="string")return Z;return X.ctx.$.node("alias",{reference:Z},{prereduced:!0})}let q=X.ctx.$.maybeResolve(U);if(M(q,"root"))return q;if(q===void 0)return;if(M(q,"generic"))return LY(U,q,X);return F(`Unexpected resolution ${E(q)}`)},AY=(X,U)=>{let q=uU(U);if(q!==void 0)return X.ctx.$.node("unit",{unit:q});let Z=pU(U);if(Z!==void 0)return X.ctx.$.node("unit",{unit:Z})},k9=(X)=>{let U=X.previousOperator();return U?v9(U,X.scanner.unscanned):VY(X.scanner.unscanned)},v9=(X,U="")=>`Token '${X}' requires a right operand${U?` before '${U}'`:""}`,VY=(X)=>`Expected an expression${X?` before '${X}'`:""}`;var x9=(X)=>X.scanner.lookahead===""?X.error(k9(X)):X.scanner.lookahead==="("?X.shiftedBy(1).reduceGroupOpen():X.scanner.lookaheadIsIn(FZ)?E6(X,X.scanner.shift()):X.scanner.lookaheadIsIn(c0)?x9(X.shiftedBy(1)):X.scanner.lookahead==="d"?X.scanner.nextLookahead in y9?E6(X,`${X.scanner.shift()}${X.scanner.shift()}`):f6(X):X.scanner.lookahead==="x"?X.scanner.nextLookahead==="/"?X.shiftedBy(2)&&E6(X,"x/"):f6(X):f6(X);var DZ={">":!0,">=":!0},MZ={"<":!0,"<=":!0};var u1={"<":">",">":"<","<=":">=",">=":"<=","==":"=="},wZ=(X,U)=>`Left bounds are only valid when paired with right bounds (try ...${U}${X})`,y6=(X)=>`Left-bounded expressions must specify their limits using < or <= (was ${X})`,PZ=(X,U,q,Z)=>`An expression may have at most one left bound (parsed ${X}${u1[U]}, ${q}${u1[Z]})`;var KZ=(X,U)=>{let q=OY(X,U);if(X.root.hasKind("unit")){if(typeof X.root.unit==="number"){X.reduceLeftBound(X.root.unit,q),X.unsetRoot();return}if(X.root.unit instanceof Date){let Z=`d'${X.root.description??X.root.unit.toISOString()}'`;X.unsetRoot(),X.reduceLeftBound(Z,q);return}}return TY(X,q)},NZ={"<":1,">":1,"=":1},OY=(X,U)=>X.scanner.lookaheadIs("=")?`${U}${X.scanner.shift()}`:U;var IZ=(X,U,q,Z)=>{if(q.extends(V.intrinsic.number)){if(typeof U!=="number")return F(h9(X,U,Z));return X==="=="?["min","max"]:X[0]===">"?["min"]:["max"]}if(q.extends(V.intrinsic.lengthBoundable)){if(typeof U!=="number")return F(h9(X,U,Z));return X==="=="?["exactLength"]:X[0]===">"?["minLength"]:["maxLength"]}if(q.extends(V.intrinsic.Date))return X==="=="?["after","before"]:X[0]===">"?["after"]:["before"];return F(_q(q.expression))},BY=(X)=>({rule:$Z(X.limit)?LZ(X.limit):X.limit,exclusive:X.comparator.length===1}),TY=(X,U)=>{let q=X.unsetRoot(),Z=X.scanner.location;X.parseOperand();let Q=X.unsetRoot(),G=X.scanner.sliceChars(Z,X.scanner.location);if(X.root=q,!Q.hasKind("unit")||typeof Q.unit!=="number"&&!(Q.unit instanceof Date))return X.error(h9(U,G,"right"));let Y=Q.unit,J=U.length===1,H=IZ(U,typeof Y==="number"?Y:G,q,"right");for(let $ of H)X.constrainRoot($,U==="=="?{rule:Y}:{rule:Y,exclusive:J});if(!X.branches.leftBound)return;if(!a(U,MZ))return X.error(y6(U));let W=IZ(X.branches.leftBound.comparator,X.branches.leftBound.limit,q,"left");X.constrainRoot(W[0],BY(X.branches.leftBound)),X.branches.leftBound=null},h9=(X,U,q)=>`Comparator ${q==="left"?u1[X]:X} must be ${q==="left"?"preceded":"followed"} by a corresponding literal (was ${U})`;var CZ=(X)=>{X.scanner.shiftUntilNonWhitespace();let U=X.scanner.shiftUntilLookahead(b0);X.root=X.root.brand(U)};var EZ=(X)=>{X.scanner.shiftUntilNonWhitespace();let U=X.scanner.shiftUntilLookahead(b0),q=mU(U,{errorOnFail:SZ(U)});if(q===0)X.error(SZ(0));X.root=X.root.constrain("divisor",q)},SZ=(X)=>`% operator must be followed by a non-zero integer literal (was ${X})`;var u9=(X)=>{let U=X.scanner.shift();return U===""?X.finalize(""):U==="["?X.scanner.shift()==="]"?X.setRoot(X.root.array()):X.error(RY):U==="|"?X.scanner.lookahead===">"?X.shiftedBy(1).pushRootToBranch("|>"):X.pushRootToBranch(U):U==="&"?X.pushRootToBranch(U):U===")"?X.finalizeGroup():BZ(U,X.scanner.unscanned)?X.finalize(U):a(U,NZ)?KZ(X,U):U==="%"?EZ(X):U==="#"?CZ(X):(U in c0)?u9(X):X.error(g6(U))},g6=(X,U="")=>`'${X}' is not allowed here${U&&` (should be ${U})`}`,RY="Missing expected ']'";var bZ=(X)=>{let U=X.unsetRoot();X.parseOperand();let q=X.unsetRoot();if(!q.hasKind("unit"))return X.error(DY(q.expression));let Z=q.unit instanceof Date?()=>new Date(q.unit):q.unit;return[U,"=",Z]},DY=(X)=>`Default value '${X}' must be a literal value`;var m9=(X,U)=>{let q=U.$.maybeResolveRoot(X);if(q)return q;if(X.endsWith("[]")){let G=U.$.maybeResolveRoot(X.slice(0,-2));if(G)return G.array()}let Z=new m1(new V2(X),U),Q=MY(Z);if(Z.finalizer===">")F(g6(">"));return Q},MY=(X)=>{X.parseOperand();let U=j2(X).root;if(!U)return g(`Root was unexpectedly unset after parsing string '${X.scanner.scanned}'`);if(X.finalizer==="=")U=bZ(X);else if(X.finalizer==="?")U=[U,"?"];if(X.scanner.shiftUntilNonWhitespace(),X.scanner.lookahead)F(g6(X.scanner.lookahead));return U},j2=(X)=>{while(X.finalizer===void 0)wY(X);return X},wY=(X)=>X.hasRoot()?X.parseOperator():X.parseOperand();class m1{root;branches={prefixes:[],leftBound:null,intersection:null,union:null,pipe:null};finalizer;groups=[];scanner;ctx;constructor(X,U){this.scanner=X,this.ctx=U}error(X){return F(X)}hasRoot(){return this.root!==void 0}setRoot(X){this.root=X}unsetRoot(){let X=this.root;return this.root=void 0,X}constrainRoot(...X){this.root=this.root.constrain(X[0],X[1])}finalize(X){if(this.groups.length)return this.error(z6(")"));this.finalizeBranches(),this.finalizer=X}reduceLeftBound(X,U){let q=u1[U];if(!a(q,DZ))return this.error(y6(U));if(this.branches.leftBound)return this.error(PZ(this.branches.leftBound.limit,this.branches.leftBound.comparator,X,q));this.branches.leftBound={comparator:q,limit:X}}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 X=this.groups.pop();if(!X)return this.error(iU(")",this.scanner.unscanned));this.branches=X}addPrefix(X){this.branches.prefixes.push(X)}applyPrefixes(){while(this.branches.prefixes.length){let X=this.branches.prefixes.pop();this.root=X==="keyof"?this.root.keyof():g(`Unexpected prefix '${X}'`)}}pushRootToBranch(X){this.assertRangeUnset(),this.applyPrefixes();let U=this.root;if(this.root=void 0,this.branches.intersection=this.branches.intersection?.rawAnd(U)??U,X==="&")return;if(this.branches.union=this.branches.union?.rawOr(this.branches.intersection)??this.branches.intersection,this.branches.intersection=null,X==="|")return;this.branches.pipe=this.branches.pipe?.rawPipeOnce(this.branches.union)??this.branches.union,this.branches.union=null}parseUntilFinalizer(){return j2(new m1(this.scanner,this.ctx))}parseOperator(){return u9(this)}parseOperand(){return x9(this)}assertRangeUnset(){if(this.branches.leftBound)return this.error(wZ(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(X){return this.scanner.jumpForward(X),this}}var PY="An empty string is not a valid generic parameter name",k6=(X,U,q)=>{X.shiftUntilNonWhitespace();let Z=X.shiftUntilLookahead(b0);if(Z===""){if(X.lookahead===""&&U.length)return U;return F(PY)}return X.shiftUntilNonWhitespace(),IY(X,Z,U,q)},jZ="extends ",IY=(X,U,q,Z)=>{if(X.shiftUntilNonWhitespace(),X.unscanned.startsWith(jZ))X.jumpForward(jZ.length);else{if(X.lookahead===",")X.shift();return q.push(U),k6(X,q,Z)}let Q=j2(new m1(X,Z));return q.push([U,Q.root]),k6(X,q,Z)};class p9 extends Y0{constructor(X){let U={$:X,raw:X.fn};super((...q)=>{let Z=q.indexOf(":"),Q=Z===-1?q.length-1:Z-1,G=q.slice(0,Q+1),Y=X.parse(G).assertHasKind("intersection"),J=X.intrinsic.unknown;if(Z!==-1){if(Z!==q.length-2)return F(KY);J=X.parse(q[Z+1])}return(H)=>new fZ(H,Y,J)},{attach:U})}}class fZ extends Y0{raw;params;returns;expression;constructor(X,U,q){let Z=`typed ${X.name}`,Q={[Z]:(...Y)=>{let J=U.assert(Y),H=X(...J);return q.assert(H)}}[Z];super(Q);this.raw=X,this.params=U,this.returns=q;let G=U.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 KY=`":" must be followed by exactly one return type e.g:
|
|
184
|
+
fn("string", ":", "number")(s => s.length)`;class l9 extends Y0{$;constructor(X){super((...U)=>new f2(X)(...U),{bind:X});this.$=X}in(X){return new f2(this.$,X===void 0?void 0:this.$.parse(X))}at(X,U){return new f2(this.$).at(X,U)}case(X,U){return new f2(this.$).case(X,U)}}class f2 extends Y0{$;in;key;branches=[];constructor(X,U){super((q)=>this.caseEntries(Object.entries(q).map(([Z,Q])=>Z==="default"?[Z,Q]:[this.$.parse(Z),Q])));this.$=X,this.in=U}at(X,U){if(this.key)F(CY);if(this.branches.length)F(NY);return this.key=X,U?this.match(U):this}case(X,U){return this.caseEntry(this.$.parse(X),U)}caseEntry(X,U){let Z=(this.key?this.$.parse({[this.key]:X}):X).pipe(U);return this.branches.push(Z),this}match(X){return this(X)}strings(X){return this.caseEntries(Object.entries(X).map(([U,q])=>U==="default"?[U,q]:[this.$.node("unit",{unit:U}),q]))}caseEntries(X){for(let U=0;U<X.length;U++){let[q,Z]=X[U];if(q==="default"){if(U!==X.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(X){if(typeof X==="function")this.case(I.unknown,X);let U={branches:this.branches,ordered:!0};if(X==="never"||X==="assert")U.meta={onFail:yZ};let q=this.$.node("union",U);if(!this.in)return this.$.finalize(q);let Z=this.in.pipe(q);if(X==="never"||X==="assert")Z=Z.configureReferences({onFail:yZ},"self");return this.$.finalize(Z)}}var yZ=(X)=>X.throw(),NY="A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')",CY="At most one key matcher may be specified per expression";var v6=(X,U)=>{if(x(X)){if(X[1]==="=")return[U.$.parseOwnDefinitionFormat(X[0],U),"=",X[2]];if(X[1]==="?")return[U.$.parseOwnDefinitionFormat(X[0],U),"?"]}return x6(X,U)},gZ="Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }",kZ="Only required keys may specify default values, e.g. { value: 'number = 0' }";var vZ=(X,U)=>{let q,Z={},Q=J1(X);for(let[Y,J]of Q){let H=bY(Y);if(H.kind==="spread"){if(!S0(Z))return F(EY);let A=U.$.parseOwnDefinitionFormat(J,U);if(A.equals(I.object))continue;if(!A.hasKind("intersection")||!A.basis?.equals(I.object))return F(jY(A.expression));q=A.structure;continue}if(H.kind==="undeclared"){if(J!=="reject"&&J!=="delete"&&J!=="ignore")F(SY(J));Z.undeclared=J;continue}let W=v6(J,U),$=H;if(H.kind==="required"){if(!x(W))d9(Z,"required",{key:H.normalized,value:W},U);else d9(Z,"optional",W[1]==="="?{key:H.normalized,value:W[0],default:W[2]}:{key:H.normalized,value:W[0]},U);continue}if(x(W)){if(W[1]==="?")F(gZ);if(W[1]==="=")F(kZ)}if(H.kind==="optional"){d9(Z,"optional",{key:H.normalized,value:W},U);continue}let _=U.$.parseOwnDefinitionFormat($.normalized,U),L=K6(_,W,U.$);if(L.index)Z.index=y(Z.index,L.index);if(L.required)Z.required=y(Z.required,L.required)}let G=U.$.node("structure",Z);return U.$.parseSchema({domain:"object",structure:q?.merge(G)??G})},d9=(X,U,q,Z)=>{X[U]=y(X[U],Z.$.node(U,q))},SY=(X)=>`Value of '+' key must be 'reject', 'delete', or 'ignore' (was ${E(X)})`,EY="Spread operator may only be used as the first key in an object",bY=(X)=>typeof X==="symbol"?{kind:"required",normalized:X}:X[X.length-1]==="?"?X[X.length-2]===W1?{kind:"required",normalized:`${X.slice(0,-2)}?`}:{kind:"optional",normalized:X.slice(0,-1)}:X[0]==="["&&X[X.length-1]==="]"?{kind:"index",normalized:X.slice(1,-1)}:X[0]===W1&&X[1]==="["&&X[X.length-1]==="]"?{kind:"required",normalized:X.slice(1)}:X==="..."?{kind:"spread"}:X==="+"?{kind:"undeclared"}:{kind:"required",normalized:X==="\\..."?"...":X==="\\+"?"+":X},jY=(X)=>`Spread operand must resolve to an object literal type (was ${X})`;var hZ=(X,U)=>pY(X)?lZ[X[0]](X,U):uY(X)?pZ[X[1]](X,U):null,fY=(X,U)=>U.$.parseOwnDefinitionFormat(X[1],U).keyof(),c9=(X,U)=>{if(X[2]===void 0)return F(v9(X[1],""));let q=U.$.parseOwnDefinitionFormat(X[0],U),Z=U.$.parseOwnDefinitionFormat(X[2],U);if(X[1]==="|")return U.$.node("union",{branches:[q,Z]});let Q=X[1]==="&"?W0(q,Z,U.$):D2(q,Z,U.$);if(Q instanceof B)return Q.throw();return Q},yY=(X,U)=>U.$.parseOwnDefinitionFormat(X[0],U).array(),gY=(X,U)=>{if(typeof X[2]!=="function")return F(uZ("=>",X[2]));return U.$.parseOwnDefinitionFormat(X[0],U).pipe(X[2])},uZ=(X,U)=>`${X===":"?"Narrow":"Morph"} expression requires a function following '${X}' (was ${typeof U})`,kY=(X,U)=>{if(typeof X[2]!=="function")return F(uZ(":",X[2]));return U.$.parseOwnDefinitionFormat(X[0],U).constrain("predicate",X[2])},vY=(X,U)=>U.$.parseOwnDefinitionFormat(X[0],U).configure(X[2],X[3]),mZ=(X)=>X,xY=mZ({"[]":yY,"?":()=>F(b6)}),hY=mZ({"|":c9,"&":c9,":":kY,"=>":gY,"|>":c9,"@":vY,"=":()=>F(j6)}),pZ={...xY,...hY},uY=(X)=>pZ[X[1]]!==void 0,mY=(X)=>X,lZ=mY({keyof:fY,instanceof:(X,U)=>{if(typeof X[1]!=="function")return F(xZ(W2(X[1])));let q=X.slice(1).map((Z)=>typeof Z==="function"?U.$.node("proto",{proto:Z}):F(xZ(W2(Z))));return q.length===1?q[0]:U.$.node("union",{branches:q})},"===":(X,U)=>U.$.units(X.slice(1))}),pY=(X)=>lZ[X[0]]!==void 0,xZ=(X)=>`Expected a constructor following 'instanceof' operator (was ${X})`;var iZ=(X,U)=>{let q=[{}],Z=0;while(Z<X.length){let Q=!1;if(X[Z]==="..."&&Z<X.length-1)Q=!0,Z++;let G=v6(X[Z],U),[Y,J,H]=!x(G)?[G]:G;if(Z++,Q){if(!Y.extends(V.intrinsic.Array))return F(cY(Y.expression));q=q.flatMap((W)=>Y.distribute(($)=>dY(A6(W),$)))}else q=q.map((W)=>{if(J==="?")return sZ(W,Y);if(J==="=")return lY(W,Y,H);return i9(W,Y)})}return U.$.parseSchema(q.map((Q)=>S0(Q)?{proto:Array,exactLength:0}:{proto:Array,sequence:Q}))},i9=(X,U)=>{if(X.defaultables||X.optionals)return F(X.variadic?P9:iY);if(X.variadic)X.postfix=y(X.postfix,U);else X.prefix=y(X.prefix,U);return X},sZ=(X,U)=>{if(X.variadic)return F(oZ);return X.optionals=y(X.optionals,U),X},lY=(X,U,q)=>{if(X.variadic)return F(oZ);if(X.optionals)return F(sY);return X.defaultables=y(X.defaultables,[[U,q]]),X},dZ=(X,U)=>{if(X.postfix)F(cZ);if(X.variadic){if(!X.variadic.equals(U))F(cZ)}else X.variadic=U.internal;return X},dY=(X,U)=>{let q=U.select({method:"find",kind:"sequence"});if(!q)return dZ(X,V.intrinsic.unknown);if(q.prefix)for(let Z of q.prefix)i9(X,Z);if(q.optionals)for(let Z of q.optionals)sZ(X,Z);if(q.variadic)dZ(X,q.variadic);if(q.postfix)for(let Z of q.postfix)i9(X,Z);return X},cY=(X)=>`Spread element must be an array (was ${X})`,cZ="A tuple may have at most one variadic element",iY="A required element may not follow an optional element",oZ="An optional element may not follow a variadic element";var sY="A defaultable element may not follow an optional element without a default";var oY={},x6=(X,U)=>{if(typeof X==="string"){if(U.args&&Object.keys(U.args).some((Z)=>X.includes(Z)))return m9(X,U);let q=oY[U.$.name]??={};return q[X]??=m9(X,U)}return Z0(X,"object")?rY(X,U):F(s9(r(X)))},rY=(X,U)=>{let q=H2(X);switch(q){case void 0:if(M(X,"root"))return X;if("~standard"in X)return aY(X,U);return vZ(X,U);case"Array":return nY(X,U);case"RegExp":return U.$.node("intersection",{domain:"string",pattern:X},{prereduced:!0});case"Function":{let Z=d0(X)?X():X;if(M(Z,"root"))return Z;return F(s9("Function"))}default:return F(s9(q??E(X)))}},aY=(X,U)=>U.$.intrinsic.unknown.pipe((q,Z)=>{let Q=X["~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:fU(G),relativePath:Y.map((J)=>typeof J==="object"?J.key:J)});else Z.error({message:G});else Z.error({message:G})}),nY=(X,U)=>hZ(X,U)??iZ(X,U),s9=(X)=>`Type definitions must be strings or objects (was ${X})`;class o9 extends Y0{constructor(X){let U=Object.assign({errors:J0,hkt:e,$:X,raw:X.parse,module:X.constructor.module,scope:X.constructor.scope,declare:X.declare,define:X.define,match:X.match,generic:X.generic,schema:X.schema,keywords:X.ambient,unit:X.unit,enumerated:X.enumerated,instanceOf:X.instanceOf,valueOf:X.valueOf,or:X.or,and:X.and,merge:X.merge,pipe:X.pipe,fn:X.fn},X.ambientAttachments);super((...q)=>{if(q.length===1)return X.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=X.parseGenericParams(Z,{});return new r0(Q,q[1],X,X,null)}return X.parse(q)},{attach:U})}}var p1=V;class h6 extends N6{get ambientAttachments(){if(!p1.typeAttachments)return;return this.cacheGetter("ambientAttachments",S(p1.typeAttachments,(X,U)=>[X,this.bindReference(U)]))}preparseOwnAliasEntry(X,U){let q=X.indexOf("<");if(q===-1){if(M(U,"module")||M(U,"generic"))return[X,U];let G=this.name==="ark"?X:X==="root"?this.name:`${this.name}.${X}`,Y=this.resolvedConfig.keywords?.[G];if(Y)U=[U,"@",Y];return[X,U]}if(X[X.length-1]!==">")F("'>' must be the last character of a generic declaration in a scope");let Z=X.slice(0,q),Q=X.slice(q+1,-1);return[Z,()=>{let G=this.parseGenericParams(Q,{alias:Z});return Jq(G,U,this)}]}parseGenericParams(X,U){return k6(new V2(X),[],this.createParseContext({...U,def:X,prefix:"generic"}))}normalizeRootScopeValue(X){if(d0(X)&&!M(X,"generic"))return X();return X}preparseOwnDefinitionFormat(X,U){return{...U,def:X,prefix:U.alias??"type"}}parseOwnDefinitionFormat(X,U){if(!(U.alias&&(U.alias in this.aliases))&&!U.args)U.args={this:U.id};let Z=x6(X,U);if(x(Z)){if(Z[1]==="=")return F(j6);if(Z[1]==="?")return F(b6)}return Z}unit=(X)=>this.units([X]);valueOf=(X)=>this.units(PU(X));enumerated=(...X)=>this.units(X);instanceOf=(X)=>this.node("proto",{proto:X},{prereduced:!0});or=(...X)=>this.schema(X.map((U)=>this.parse(U)));and=(...X)=>X.reduce((U,q)=>U.and(this.parse(q)),this.intrinsic.unknown);merge=(...X)=>X.reduce((U,q)=>U.merge(this.parse(q)),this.intrinsic.object);pipe=(...X)=>this.intrinsic.unknown.pipe(...X);fn=new p9(this);match=new l9(this);declare=()=>({type:this.type});define(X){return X}type=new o9(this);static scope=(X,U={})=>new h6(X,U);static module=(X,U={})=>this.scope(X,U).export()}var y2=Object.assign(h6.scope,{define:(X)=>X}),f=h6;class rZ extends e{description='merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'}var tY=O0(["base",I.object],["props",I.object])((X)=>X.base.merge(X.props),rZ),aZ=f.module({Key:I.key,Merge:tY});class nZ extends e{}var eY=O0("element")((X)=>{let U=X.element.exclude(I.Array),q=U.array();return U.rawOr(q).pipe(l0).distribute((Z)=>Z.assertHasKind("morph").declareOut(q),v)},nZ),tZ=f.module({root:I.Array,readonly:"root",index:I.nonNegativeIntegerString,liftFrom:eY},{name:"Array"});var r9=v(["string",_1.FileConstructor]),X7=r9.rawOr(r9.array()),eZ=v({meta:"an object representing parsed form data",domain:"object",index:{signature:"string",value:X7}}),X8=f.module({root:["instanceof",FormData],value:r9,parsed:eZ,parse:v({in:FormData,morphs:(X)=>{let U={};for(let[q,Z]of X)if(q in U){let Q=U[q];if(typeof Q==="string"||Q instanceof _1.FileConstructor)U[q]=[Q,Z];else Q.push(Z)}else U[q]=Z;return U},declaredOut:eZ})},{name:"FormData"});var U8=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 U7={Boolean:1,Number:1,String:1},q8=f.module({...S({...v4,...h4},(X,U)=>(X in U7)?[]:[X,["instanceof",U]]),Array:tZ,TypedArray:U8,FormData:X8});var q7=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"}),Z7=v({domain:"number",divisor:1}),u6=f.module({root:I.number,integer:Z7,epoch:q7,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=(X,U,q)=>{let Z={domain:"string",pattern:{rule:X.source,flags:X.flags,meta:U}};if(q)Z.meta={format:q};return h1("intersection",Z)},Z8=l($2,"a well-formed integer string"),A8=f.module({root:Z8,parse:v({in:Z8,morphs:(X,U)=>{let q=Number.parseInt(X);return Number.isSafeInteger(q)?q:U.error("an integer in the range Number.MIN_SAFE_INTEGER to Number.MAX_SAFE_INTEGER")},declaredOut:I.integer})},{name:"string.integer"}),Q7=l(/^[\dA-Fa-f]+$/,"hex characters only"),G7=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"}),Q8=l(/^[A-Z].*$/,"capitalized"),Y7=f.module({root:v({in:"string",morphs:(X)=>X.charAt(0).toUpperCase()+X.slice(1),declaredOut:Q8}),preformatted:Q8},{name:"string.capitalize"}),J7=(X)=>{let U=X.replace(/[ -]+/g,""),q=0,Z,Q,G=!1;for(let Y=U.length-1;Y>=0;Y--){if(Z=U.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?U:!1)},H7=/^(?: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}))$/,W7=v({domain:"string",pattern:{meta:"a credit card number",rule:H7.source},predicate:{meta:"a credit card number",predicate:J7}});var _7=/^([+-]?\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 $7=(X)=>!Number.isNaN(new Date(X).valueOf()),G8=v({domain:"string",predicate:{meta:"a parsable date",predicate:$7}}).assertHasKind("intersection"),Y8=A8.root.internal.narrow((X,U)=>{let q=Number.parseInt(X),Z=u6.epoch(q);if(Z instanceof J0)return U.errors.merge(Z),!1;return!0}).configure({description:"an integer string representing a safe Unix timestamp"},"self").assertHasKind("intersection"),L7=f.module({root:Y8,parse:v({in:Y8,morphs:(X)=>new Date(X),declaredOut:I.Date})},{name:"string.date.epoch"}),J8=l(_7,"an ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) date").internal.assertHasKind("intersection"),z7=f.module({root:J8,parse:v({in:J8,morphs:(X)=>new Date(X),declaredOut:I.Date})},{name:"string.date.iso"}),F7=f.module({root:G8,parse:v({declaredIn:G8,in:"string",morphs:(X,U)=>{let q=new Date(X);if(Number.isNaN(q.valueOf()))return U.error("a parsable date");return q},declaredOut:I.Date}),iso:z7,epoch:L7},{name:"string.date"}),A7=l(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/,"an email address","email"),H8="(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",a0=`(${H8}[.]){3}${H8}`,V7=new RegExp(`^${a0}$`),c="(?:[0-9a-fA-F]{1,4})",O7=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,})?$`),B7=f.module({root:["v4 | v6","@","an IP address"],v4:l(V7,"an IPv4 address","ipv4"),v6:l(O7,"an IPv6 address","ipv6")},{name:"string.ip"}),l1="a JSON string",V8=(X)=>{if(!(X instanceof SyntaxError))throw X;return`must be ${l1} (${X})`},T7=v({meta:l1,domain:"string",predicate:{meta:l1,predicate:(X,U)=>{try{return JSON.parse(X),!0}catch(q){return U.reject({code:"predicate",expected:l1,problem:V8(q)})}}}}),R7=(X,U)=>{if(X.length===0)return U.error({code:"predicate",expected:l1,actual:"empty"});try{return JSON.parse(X)}catch(q){return U.error({code:"predicate",expected:l1,problem:V8(q)})}},D7=f.module({root:T7,parse:v({meta:"safe JSON string parser",in:"string",morphs:R7,declaredOut:I.jsonObject})},{name:"string.json"}),W8=l(/^[a-z]*$/,"only lowercase letters"),M7=f.module({root:v({in:"string",morphs:(X)=>X.toLowerCase(),declaredOut:W8}),preformatted:W8},{name:"string.lower"}),O8=["NFC","NFD","NFKC","NFKD"],g2=S(O8,(X,U)=>[U,v({domain:"string",predicate:(q)=>q.normalize(U)===q,meta:`${U}-normalized unicode`})]),m6=S(O8,(X,U)=>[U,v({in:"string",morphs:(q)=>q.normalize(U),declaredOut:g2[U]})]),w7=f.module({root:m6.NFC,preformatted:g2.NFC},{name:"string.normalize.NFC"}),P7=f.module({root:m6.NFD,preformatted:g2.NFD},{name:"string.normalize.NFD"}),I7=f.module({root:m6.NFKC,preformatted:g2.NFKC},{name:"string.normalize.NFKC"}),K7=f.module({root:m6.NFKD,preformatted:g2.NFKD},{name:"string.normalize.NFKD"}),N7=f.module({root:"NFC",NFC:w7,NFD:P7,NFKC:I7,NFKD:K7},{name:"string.normalize"}),_8=l($6,"a well-formed numeric string"),C7=f.module({root:_8,parse:v({in:_8,morphs:(X)=>Number.parseFloat(X),declaredOut:I.number})},{name:"string.numeric"}),$8="a regex pattern",S7=v({domain:"string",predicate:{meta:$8,predicate:(X,U)=>{try{return new RegExp(X),!0}catch(q){return U.reject({code:"predicate",expected:$8,problem:String(q)})}}},meta:{format:"regex"}}),E7=/^(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-]+)*))?$/,b7=l(E7,"a semantic version (see https://semver.org/)"),L8=l(/^\S.*\S$|^\S?$/,"trimmed"),j7=f.module({root:v({in:"string",morphs:(X)=>X.trim(),declaredOut:L8}),preformatted:L8},{name:"string.trim"}),z8=l(/^[A-Z]*$/,"only uppercase letters"),f7=f.module({root:v({in:"string",morphs:(X)=>X.toUpperCase(),declaredOut:z8}),preformatted:z8},{name:"string.upper"}),y7=(X)=>URL.canParse(X),F8=v({domain:"string",predicate:{meta:"a URL string",predicate:y7},meta:{format:"uri"}}),g7=f.module({root:F8,parse:v({declaredIn:F8,in:"string",morphs:(X,U)=>{try{return new URL(X)}catch{return U.error("a URL string")}},declaredOut:v(URL)})},{name:"string.url"}),k7=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"}),B8=f.module({root:I.string,alpha:l(/^[A-Za-z]*$/,"only letters"),alphanumeric:l(/^[\dA-Za-z]*$/,"only letters and digits 0-9"),hex:Q7,base64:G7,capitalize:Y7,creditCard:W7,date:F7,digits:l(/^\d*$/,"only digits 0-9"),email:A7,integer:A8,ip:B7,json:D7,lower:M7,normalize:N7,numeric:C7,regex:S7,semver:b7,trim:j7,upper:f7,url:g7,uuid:k7},{name:"string"});var T8=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}),R8=f.module({root:I.unknown,any:I.unknown},{name:"unknown"}),v7=f.module({root:I.jsonObject,stringify:h1("morph",{in:I.jsonObject,morphs:(X)=>JSON.stringify(X),declaredOut:I.string})},{name:"object.json"}),D8=f.module({root:I.object,json:v7},{name:"object"});class M8 extends e{description='instantiate an object from an index signature and corresponding value type like `Record("string", "number")`'}var x7=O0(["K",I.key],"V")((X)=>({domain:"object",index:{signature:X.K,value:X.V}}),M8);class w8 extends e{description='pick a set of properties from an object like `Pick(User, "name | age")`'}var h7=O0(["T",I.object],["K",I.key])((X)=>X.T.pick(X.K),w8);class P8 extends e{description='omit a set of properties from an object like `Omit(User, "age")`'}var u7=O0(["T",I.object],["K",I.key])((X)=>X.T.omit(X.K),P8);class I8 extends e{description="make all named properties of an object optional like `Partial(User)`"}var m7=O0(["T",I.object])((X)=>X.T.partial(),I8);class K8 extends e{description="make all named properties of an object required like `Required(User)`"}var p7=O0(["T",I.object])((X)=>X.T.required(),K8);class N8 extends e{description='exclude branches of a union like `Exclude("boolean", "true")`'}var l7=O0("T","U")((X)=>X.T.exclude(X.U),N8);class C8 extends e{description='extract branches of a union like `Extract("0 | false | 1", "number")`'}var d7=O0("T","U")((X)=>X.T.extract(X.U),C8),S8=f.module({Exclude:l7,Extract:d7,Omit:u7,Partial:m7,Pick:h7,Record:x7,Required:p7});var h0=y2({...T8,...S8,...q8,...aZ,string:B8,number:u6,object:D8,unknown:R8},{prereducedAliases:!0,name:"ark"}),n=h0.export();Object.assign(p1.ambient,n);p1.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 a9=Object.assign(h0.type,p1.typeAttachments),c7=h0.match,i7=h0.fn,s7=h0.generic,DN=h0.schema,o7=h0.define,r7=h0.declare;var z1=y2({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(),hN=z1.Operator,uN=z1.Condition,mN=z1.ConditionGroup,pN=z1.RuleCondition,lN=z1.Action,dN=z1.ActionGroup,a7=z1.TriggerRule;class n9{static validate(X){let U=a7(X);if(U instanceof a9.errors){let Q=[];for(let G of U){let Y=G.path.join("."),J=G.message,H=void 0;if(Y.endsWith("on")&&(J.includes("string")||J.includes("must be")))if(typeof X==="object"&&X!==null&&"on"in X&&X.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=U,Z=[];if(this.validateConditionsRecursive(q.if,Z,"if"),Z.length>0)return{valid:!1,issues:Z};return{valid:!0,rule:q}}static validateConditionsRecursive(X,U,q){if(!X)return;if(Array.isArray(X)){X.forEach((Z,Q)=>{this.validateConditionsRecursive(Z,U,`${q}.${Q}`)});return}if(typeof X==="object"&&X!==null&&"conditions"in X&&Array.isArray(X.conditions)){X.conditions.forEach((Z,Q)=>{this.validateConditionsRecursive(Z,U,`${q}.conditions.${Q}`)});return}if(typeof X==="object"&&X!==null&&"operator"in X&&"value"in X)this.validateConditionValue(X,U,q)}static validateConditionValue(X,U,q){let{operator:Z,value:Q}=X;if(typeof Z==="string"&&["IN","NOT_IN","RANGE","CONTAINS"].includes(Z)){if(Z==="CONTAINS"){if(typeof Q!=="string"&&!Array.isArray(Q))U.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)){U.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)U.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")U.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")U.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){U.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")U.push({path:`${q}.value`,message:`Incorrect value type: Operator '${Z}' expects a number or expression string, but received ${typeof Q}.`,severity:"error"})}}}class p6{conditions=[];op="AND";constructor(X="AND"){this.op=X}where(X,U,q){return this.conditions.push({field:X,operator:U,value:q}),this}and(X){let U=new p6("AND");return this.conditions.push(X(U).build()),this}or(X){let U=new p6("OR");return this.conditions.push(X(U).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 E8{actions=[];mode="ALL";setMode(X){return this.mode=X,this}add(X,U,q){return this.actions.push({type:X,params:U,...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 n7{rule={enabled:!0,priority:0};withId(X){return this.rule.id=X,this}withName(X){return this.rule.name=X,this}withDescription(X){return this.rule.description=X,this}withPriority(X){return this.rule.priority=X,this}withCooldown(X){return this.rule.cooldown=X,this}withTags(X){return this.rule.tags=X,this}on(X){return this.rule.on=X,this}if(X,U,q){if(!this.rule.if)this.rule.if={field:X,operator:U,value:q};else if(Array.isArray(this.rule.if))this.rule.if.push({field:X,operator:U,value:q});else this.rule.if=[this.rule.if,{field:X,operator:U,value:q}];return this}ifComplex(X){let U=new p6,q=X(U).build();return this.rule.if=q,this}do(X,U,q){let Z={type:X,params:U,...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(X){let U=new E8,q=X(U).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 hQ=Y6(WU(),1);class nA{static toYaml(X){let U=Array.isArray(X)?X:[X];return hQ.default.stringify(U)}static async saveToFile(X,U){let q=this.toYaml(X);if(typeof process<"u"&&process.versions&&process.versions.node){let Z=await import("fs/promises"),G=(await import("path")).dirname(U);await Z.mkdir(G,{recursive:!0}),await Z.writeFile(U,q,"utf8")}else throw Error("saveToFile is only supported in Node.js/Bun environments")}}import{existsSync as uQ,mkdirSync as tA,readFileSync as eA,writeFileSync as XV}from"fs";import{dirname as UV}from"path";class qV{filePath;cache=new Map;isLoaded=!1;constructor(X){this.filePath=X}ensureLoaded(){if(this.isLoaded)return;try{if(uQ(this.filePath)){let X=eA(this.filePath,"utf-8"),U=JSON.parse(X);this.cache=new Map(Object.entries(U))}}catch(X){console.error(`[FilePersistence] Failed to load state from ${this.filePath}:`,X),this.cache=new Map}this.isLoaded=!0}persist(){try{let X=UV(this.filePath);if(!uQ(X))tA(X,{recursive:!0});let U=Object.fromEntries(this.cache);XV(this.filePath,JSON.stringify(U,null,2),"utf-8")}catch(X){console.error(`[FilePersistence] Failed to save state to ${this.filePath}:`,X)}}async loadState(){return this.ensureLoaded(),new Map(this.cache)}async saveState(X,U){this.ensureLoaded(),this.cache.set(X,U),this.persist()}async deleteState(X){this.ensureLoaded(),this.cache.delete(X),this.persist()}async clearState(){this.cache.clear(),this.persist()}}import*as U2 from"path";import*as D1 from"fs";var mQ=Y6(WU(),1);class ZV{static async loadRulesFromDir(X){let U=[],q=async(Z)=>{let Q;try{Q=await D1.promises.readdir(Z,{withFileTypes:!0})}catch(G){console.error(`[TriggerLoader] Failed to readdir ${Z}:`,G);return}for(let G of Q){let Y=U2.resolve(Z,G.name);if(G.isDirectory())await q(Y);else if(Y.toLowerCase().endsWith(".yaml")||Y.toLowerCase().endsWith(".yml"))try{let J=await this.loadRule(Y);U.push(...J)}catch(J){console.error(`Failed to load rule from ${Y}:`,J)}}};if(D1.existsSync(X))await q(X);else console.warn(`[TriggerLoader] Directory not found: ${X}`);return U}static async loadRule(X){try{let U=await D1.promises.readFile(X,"utf-8"),q=mQ.parseAllDocuments(U);for(let Y of q)if(Y.errors&&Y.errors.length>0)throw Error(`YAML syntax error in ${X}: ${Y.errors.map((J)=>J.message).join(", ")}`);let Z=q.map((Y)=>Y.toJS()),Q=[],G=[];return Z.forEach((Y)=>{if(Array.isArray(Y))G.push(...Y);else G.push(Y)}),G.forEach((Y,J)=>{if(Y&&typeof Y==="object"&&Y!==null&&"actions"in Y&&!Y.do)Y.do=Y.actions;let H=n9.validate(Y);if(H.valid){let W=H.rule;if(!W.id&&typeof Y==="object"&&Y!==null){let $=U2.basename(X,U2.extname(X));W.id=G.length>1?`${$}-${J}`:$}Q.push(W)}else console.error(`
|
|
185
|
+
[TriggerLoader] ⚠️ Validation Problem in ${X} (item #${J+1})`),H.issues.forEach((W)=>{if(console.error(` - [${W.path}] ${W.message}`),W.suggestion)console.error(` \uD83D\uDCA1 Suggestion: ${W.suggestion}`)})}),Q}catch(U){throw console.error(`Error parsing YAML file ${X}:`,U),U}}static watchRules(X,U){return this.loadRulesFromDir(X).then(U),console.log(`[TriggerLoader] Watching for changes in ${X}...`),D1.watch(X,{recursive:!0},async(Z,Q)=>{if(Q&&(String(Q).endsWith(".yaml")||String(Q).endsWith(".yml"))){console.log(`[TriggerLoader] Detected change in ${Q} (${Z}). Reloading rules...`);try{let G=await this.loadRulesFromDir(X);U(G),console.log(`[TriggerLoader] Reloaded ${G.length} rules.`)}catch(G){console.error("[TriggerLoader] Failed to reload rules:",G)}}})}}export{N0 as triggerEmitter,H6 as ruleEvents,$V as engineEvents,n9 as TriggerValidator,q2 as TriggerUtils,a7 as TriggerRuleSchema,ZV as TriggerLoader,G2 as TriggerEngine,f4 as TriggerEmitter,R0 as StateManager,nA as RuleExporter,LU as RuleEvent,y4 as RuleEngine,pN as RuleConditionSchema,n7 as RuleBuilder,j4 as InMemoryPersistence,qV as FilePersistence,$0 as ExpressionEngine,oQ as EventQueue,J6 as EngineEvent,G2 as Engine,aQ as ContextAdapter,uN as ConditionSchema,mN as ConditionGroupSchema,p6 as ConditionBuilder,hN as ComparisonOperatorSchema,rQ as BrowserPersistence,y4 as AdvancedRuleEngine,lN as ActionSchema,P1 as ActionRegistry,dN as ActionGroupSchema,E8 as ActionBuilder};
|
|
186
186
|
|
|
187
|
-
//# debugId=
|
|
187
|
+
//# debugId=54ECC8089E62B25A64756E2164756E21
|