trigger_system 1.2.1 → 1.2.5
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 +183 -40
- package/dist/browser/index.browser.js.map +116 -17
- package/dist/core/action-registry.d.ts +29 -3
- package/dist/core/action-registry.d.ts.map +1 -1
- package/dist/core/base-engine.d.ts +3 -3
- package/dist/core/constants.d.ts +95 -0
- package/dist/core/constants.d.ts.map +1 -0
- package/dist/core/dependency-graph/analyzer.d.ts +60 -0
- package/dist/core/dependency-graph/analyzer.d.ts.map +1 -0
- package/dist/core/dependency-graph/builder.d.ts +28 -0
- package/dist/core/dependency-graph/builder.d.ts.map +1 -0
- package/dist/core/dependency-graph/cycles.d.ts +28 -0
- package/dist/core/dependency-graph/cycles.d.ts.map +1 -0
- package/dist/core/dependency-graph/index.d.ts +11 -0
- package/dist/core/dependency-graph/index.d.ts.map +1 -0
- package/dist/core/dependency-graph/types.d.ts +72 -0
- package/dist/core/dependency-graph/types.d.ts.map +1 -0
- package/dist/core/dependency-graph/utils.d.ts +39 -0
- package/dist/core/dependency-graph/utils.d.ts.map +1 -0
- package/dist/core/dependency-graph/validator.d.ts +28 -0
- package/dist/core/dependency-graph/validator.d.ts.map +1 -0
- package/dist/core/dependency-graph.d.ts +64 -13
- package/dist/core/dependency-graph.d.ts.map +1 -1
- package/dist/core/engine-utils.d.ts +45 -0
- package/dist/core/engine-utils.d.ts.map +1 -0
- package/dist/core/engine.d.ts +0 -8
- package/dist/core/engine.d.ts.map +1 -1
- package/dist/core/expression-engine.d.ts +52 -10
- package/dist/core/expression-engine.d.ts.map +1 -1
- package/dist/core/index.d.ts +2 -4
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/operators.d.ts +48 -0
- package/dist/core/operators.d.ts.map +1 -0
- package/dist/core/persistence-browser.d.ts +25 -2
- package/dist/core/persistence-browser.d.ts.map +1 -1
- package/dist/core/persistence.node.d.ts +25 -2
- package/dist/core/persistence.node.d.ts.map +1 -1
- package/dist/core/rule-engine-new.d.ts +2 -1
- package/dist/core/rule-engine-new.d.ts.map +1 -1
- package/dist/core/rule-engine.d.ts +22 -35
- package/dist/core/rule-engine.d.ts.map +1 -1
- package/dist/core/trigger-engine.d.ts +18 -25
- package/dist/core/trigger-engine.d.ts.map +1 -1
- package/dist/domain/validator.d.ts +36043 -5067
- package/dist/domain/validator.d.ts.map +1 -1
- package/dist/index.browser.d.ts +1 -0
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/io/index.d.ts +6 -1
- package/dist/io/index.d.ts.map +1 -1
- package/dist/io/loader/index.d.ts +48 -0
- package/dist/io/loader/index.d.ts.map +1 -0
- package/dist/io/loader/persistence.d.ts +41 -0
- package/dist/io/loader/persistence.d.ts.map +1 -0
- package/dist/io/loader/query.d.ts +49 -0
- package/dist/io/loader/query.d.ts.map +1 -0
- package/dist/io/loader/registry.d.ts +91 -0
- package/dist/io/loader/registry.d.ts.map +1 -0
- package/dist/io/loader/types.d.ts +32 -0
- package/dist/io/loader/types.d.ts.map +1 -0
- package/dist/io/loader/watch.d.ts +36 -0
- package/dist/io/loader/watch.d.ts.map +1 -0
- package/dist/io/loader.node.d.ts +1 -13
- package/dist/io/loader.node.d.ts.map +1 -1
- package/dist/lsp/hover-constants.d.ts +42 -0
- package/dist/lsp/hover-constants.d.ts.map +1 -0
- package/dist/lsp/server.bundle.d.ts +2 -0
- package/dist/lsp/server.bundle.d.ts.map +1 -0
- package/dist/node/index.js +183 -170
- package/dist/node/index.js.map +116 -91
- package/dist/node/node.js +185 -173
- package/dist/node/node.js.map +122 -93
- package/dist/node.d.ts +1 -1
- package/dist/node.d.ts.map +1 -1
- package/dist/sdk/builder.d.ts +177 -21
- package/dist/sdk/builder.d.ts.map +1 -1
- package/dist/sdk/builders/action-builder.d.ts +24 -0
- package/dist/sdk/builders/action-builder.d.ts.map +1 -0
- package/dist/sdk/builders/condition-builder.d.ts +26 -0
- package/dist/sdk/builders/condition-builder.d.ts.map +1 -0
- package/dist/sdk/builders/index.d.ts +5 -0
- package/dist/sdk/builders/index.d.ts.map +1 -0
- package/dist/sdk/builders/params-builder.d.ts +59 -0
- package/dist/sdk/builders/params-builder.d.ts.map +1 -0
- package/dist/sdk/constants.d.ts +44 -0
- package/dist/sdk/constants.d.ts.map +1 -0
- package/dist/sdk/exporter.d.ts +16 -0
- package/dist/sdk/exporter.d.ts.map +1 -1
- package/dist/sdk/graph/action-resolver.d.ts +103 -0
- package/dist/sdk/graph/action-resolver.d.ts.map +1 -0
- package/dist/sdk/graph/condition-resolver.d.ts +87 -0
- package/dist/sdk/graph/condition-resolver.d.ts.map +1 -0
- package/dist/sdk/graph/converters.d.ts +152 -0
- package/dist/sdk/graph/converters.d.ts.map +1 -0
- package/dist/sdk/graph/index.d.ts +12 -0
- package/dist/sdk/graph/index.d.ts.map +1 -0
- package/dist/sdk/graph/node-filters.d.ts +96 -0
- package/dist/sdk/graph/node-filters.d.ts.map +1 -0
- package/dist/sdk/graph/traversal.d.ts +105 -0
- package/dist/sdk/graph/traversal.d.ts.map +1 -0
- package/dist/sdk/graph/types.d.ts +28 -0
- package/dist/sdk/graph/types.d.ts.map +1 -0
- package/dist/sdk/graph-parser.d.ts +40 -0
- package/dist/sdk/graph-parser.d.ts.map +1 -0
- package/dist/sdk/index.d.ts +3 -0
- package/dist/sdk/index.d.ts.map +1 -1
- package/dist/sdk/optimize.d.ts +27 -0
- package/dist/sdk/optimize.d.ts.map +1 -0
- package/dist/sdk/yaml/converter.d.ts +81 -0
- package/dist/sdk/yaml/converter.d.ts.map +1 -0
- package/dist/sdk/yaml/index.d.ts +39 -0
- package/dist/sdk/yaml/index.d.ts.map +1 -0
- package/dist/sdk/yaml/normalizer.d.ts +44 -0
- package/dist/sdk/yaml/normalizer.d.ts.map +1 -0
- package/dist/sdk/yaml/types.d.ts +198 -0
- package/dist/sdk/yaml/types.d.ts.map +1 -0
- package/dist/sdk/yaml/utils.d.ts +131 -0
- package/dist/sdk/yaml/utils.d.ts.map +1 -0
- package/dist/sdk/yaml-parser.d.ts +18 -0
- package/dist/sdk/yaml-parser.d.ts.map +1 -0
- package/dist/types.d.ts +40 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -1
package/dist/node/index.js
CHANGED
|
@@ -1,186 +1,199 @@
|
|
|
1
|
-
import{createRequire as nQ}from"node:module";var lQ=Object.create;var{getPrototypeOf:dQ,defineProperty:X2,getOwnPropertyNames:HX,getOwnPropertyDescriptor:cQ}=Object,WX=Object.prototype.hasOwnProperty;function _X(U){return this[U]}var iQ,sQ,oQ=(U,X,q)=>{var Z=U!=null&&typeof U==="object";if(Z){var Q=X?iQ??=new WeakMap:sQ??=new WeakMap,G=Q.get(U);if(G)return G}q=U!=null?lQ(dQ(U)):{};let Y=X||!U||!U.__esModule?X2(q,"default",{value:U,enumerable:!0}):q;for(let J of HX(U))if(!WX.call(Y,J))X2(Y,J,{get:_X.bind(U,J),enumerable:!0});if(Z)Q.set(U,Y);return Y},$X=(U)=>{var X=(JX??=new WeakMap).get(U),q;if(X)return X;if(X=X2({},"__esModule",{value:!0}),U&&typeof U==="object"||typeof U==="function"){for(var Z of HX(U))if(!WX.call(X,Z))X2(X,Z,{get:_X.bind(U,Z),enumerable:!(q=cQ(U,Z))||q.enumerable})}return JX.set(U,X),X},JX,R=(U,X)=>()=>(X||U((X={exports:{}}).exports,X),X.exports);var rQ=(U)=>U;function aQ(U,X){this[U]=rQ.bind(null,X)}var LX=(U,X)=>{for(var q in X)X2(U,q,{get:X[q],enumerable:!0,configurable:!0,set:aQ.bind(X,q)})};var zX=(U,X)=>()=>(U&&(X=U(U=0)),X);var M1=nQ(import.meta.url);var SU={};LX(SU,{ExpressionEngine:()=>e});class e{static evaluate(U,X){try{if(U.includes("${")){let q=this.interpolate(U,X);if(!isNaN(Number(q))&&q.trim()!=="")return Number(q);return q}return this.evaluateExpression(U,X)}catch(q){return console.error(`Error evaluating expression: ${U}`,q),null}}static interpolate(U,X){return U.replace(/\$\{([^}]+)\}/g,(q,Z)=>{try{let Q=this.evaluateExpression(Z,X);if(Q===void 0||Q===null)return"undefined";return String(Q)}catch(Q){return console.error(`Error en interpolación: ${q}`,Q),q}})}static evaluateMathExpression(U){try{return Function("Math",`return ${U}`)(Math)}catch(X){throw Error(`Error evaluando expresión matemática: ${U}`)}}static evaluateExpression(U,X){if(/^(data|vars|request|computed|env|state)(\.[a-zA-Z0-9_]+)+$/.test(U))return this.getNestedValue(U,X);if(/^(vars|env|state)(\.[a-zA-Z0-9_]+)$/.test(U))return this.getNestedValue(U,X);try{return Function("context","with(context) { return "+U+" }")(X)}catch(q){return console.error(`ERROR evaluating expression '${U}':`,q),U}}static getNestedValue(U,X){let q=U.split("."),Z=X;for(let Q of q){if(Z===null||Z===void 0||typeof Z!=="object"||!(Q in Z))return;Z=Z[Q]}return Z}static evaluateMath(U,X){let q=U;q=q.replace(/\b[a-zA-Z_][a-zA-Z0-9_]*\b/g,(Z)=>{if(["Math","random","floor","ceil","round","sqrt","abs","pow","min","max","sin","cos","tan"].includes(Z))return Z;let Q=this.getNestedValue(Z,X);if(Q!==void 0)return typeof Q==="string"?`"${Q}"`:String(Q);return Z});try{return this.evaluateMathExpression(q)}catch(Z){return console.error(`Error en evaluación matemática: ${U}`,Z),NaN}}}class EU{store=new Map;async loadState(){return new Map(this.store)}async saveState(U,X){this.store.set(U,X)}async deleteState(U){this.store.delete(U)}async clearState(){this.store.clear()}}class U0{static instance;state;persistence;constructor(){this.state={},this.persistence=new EU}static getInstance(){if(!U0.instance)U0.instance=new U0;return U0.instance}setPersistence(U){this.persistence=U}async initialize(){let U=await this.persistence.loadState();if(U instanceof Map)this.state=Object.fromEntries(U);else this.state=U||{};console.log(`[StateManager] Initialized with ${Object.keys(this.state).length} root keys.`)}get(U){return this.state[U]}async set(U,X){this.state[U]=X,await this.persistence.saveState(U,X)}async increment(U,X=1){let q=this.state[U]||0,Z=Number(q)+X;return this.state[U]=Z,await this.persistence.saveState(U,Z),Z}async decrement(U,X=1){return this.increment(U,-X)}async delete(U){if(U in this.state)return delete this.state[U],await this.persistence.deleteState(U),!0;return!1}async clear(){this.state={},await this.persistence.clearState()}async applyConfig(U){if(!U.state)return;for(let[X,q]of Object.entries(U.state))if(typeof q!=="object"||q===null||!("value"in q)){if(this.state[X]===void 0)await this.set(X,q)}else{let Z=q;if(this.state[X]===void 0)await this.set(X,Z.value);if(Z.lifecycle?.ttl)this.setupTTL(X,Z.lifecycle.ttl)}}setupTTL(U,X){let q=0;if(typeof X==="number")q=X;else{let Z=X.match(/^(\d+)([smhd])$/);if(Z&&Z[1]&&Z[2]){let Q=parseInt(Z[1]),G=Z[2];q=Q*({s:1000,m:60000,h:3600000,d:86400000}[G]||0)}}if(q>0)setTimeout(()=>{this.delete(U).catch(console.error)},q)}getAll(){return{...this.state}}getLiveProxy(){let U=this;function X(q,Z=[]){return new Proxy(q,{get(Q,G){let Y=Q[G];if(Y&&typeof Y==="object"&&!Array.isArray(Y))return X(Y,[...Z,G]);return Y},set(Q,G,Y){if(typeof G!=="string")return!1;Q[G]=Y;let J=Z.length>0?Z[0]:G;if(J)U.persistence.saveState(J,U.state[J]);return!0}})}return X(this.state)}}var P1=()=>{};var VX={};LX(VX,{ActionRegistry:()=>w1});class w1{static instance;handlers=new Map;constructor(){this.registerDefaults()}static getInstance(){if(!this.instance)this.instance=new w1;return this.instance}register(U,X){this.handlers.set(U.toUpperCase(),X)}get(U){return this.handlers.get(U.toUpperCase())}get Handlers(){return this.handlers}registerDefaults(){this.register("log",(U,X)=>{let q=U.params?.message||U.params?.content||"Log Trigger",Z=typeof q==="string"?e.interpolate(q,X):String(q);return console.log(`[TriggerLog] ${Z}`),{message:Z}}),this.register("math",(U,X)=>{let q=String(U.params?.expression||"0");return e.evaluate(q,X)}),this.register("response",(U,X)=>{let q=U.params?.content||U.params?.body||"",Z=typeof q==="string"?e.interpolate(q,X):String(q);return{statusCode:U.params?.statusCode||200,headers:U.params?.headers||{"Content-Type":"application/json"},body:Z}}),this.register("execute",async(U,X)=>{let q=U.params?.command||U.params?.content||"",Z=typeof q==="string"?e.interpolate(q,X):String(q);if(!U.params?.safe)console.warn(`[Trigger] Ejecutando comando no seguro: ${Z}`);try{let Q=Bun.spawn(Z.split(" "),{stdout:"pipe",stderr:"pipe"}),[G,Y]=await Promise.all([new Response(Q.stdout).text(),new Response(Q.stderr).text()]);return{command:Z,stdout:G,stderr:Y,exitCode:await Q.exited}}catch(Q){return{command:Z,error:String(Q)}}}),this.register("forward",async(U,X)=>{let q=U.params?.url||"",Z=typeof q==="string"?e.interpolate(q,X):String(q),Q=String(U.params?.method||"POST").toUpperCase(),Y=["POST","PUT","PATCH"].includes(Q);try{let J=await fetch(Z,{method:Q,headers:{"Content-Type":"application/json",...typeof U.params?.headers==="object"&&U.params.headers!==null&&!Array.isArray(U.params.headers)?U.params.headers:{}},...Y?{body:JSON.stringify(X.data)}:{}});return{url:Z,method:Q,status:J.status,headers:(()=>{let H={};return J.headers.forEach((W,$)=>H[$]=W),H})(),body:await J.text()}}catch(J){return{url:Z,method:Q,error:String(J)}}}),this.register("STATE_SET",async(U,X)=>{let q=String(U.params?.key||""),Z=U.params?.value;if(!q)return{error:"Missing key for STATE_SET"};let Q=Z;if(typeof Z==="string"&&Z.includes("${"))Q=e.interpolate(Z,X);return await U0.getInstance().set(q,Q),{key:q,value:Q}}),this.register("STATE_INCREMENT",async(U,X)=>{let q=String(U.params?.key||""),Z=Number(U.params?.amount)||1;if(!q)return{error:"Missing key for STATE_INCREMENT"};let Q=await U0.getInstance().increment(q,Z);return{key:q,newValue:Q}}),this.register("STATE_GET",async(U,X)=>{let q=String(U.params?.key||""),Z=String(U.params?.as||q);if(!q)return{error:"Missing key for STATE_GET"};let Q=await U0.getInstance().get(q);if(!X.env)X.env={};return X.env[Z]=Q,{key:q,value:Q,storedAs:Z}}),this.register("STATE_DELETE",async(U,X)=>{let q=String(U.params?.key||"");if(!q)return{error:"Missing key for STATE_DELETE"};let Z=await U0.getInstance().delete(q);return{key:q,deleted:Z}}),this.register("EMIT_EVENT",(U,X)=>{return{event:U.params?.event,payload:U.params?.data||{}}}),this.register("notify",(U,X)=>{let q=U.params?.message||U.params?.content||"Notification",Z=U.params?.target||"default";return console.log(`[Notification] To: ${Z}, Msg: ${q}`),{target:Z,message:q}}),this.register("STATE_OP",(U,X)=>{if(U.params?.run)return Function("context","state","data","vars","env","helpers",`with(context) { ${U.params.run} }`)(X,X.state,X.data,X.vars,X.env,X.helpers);return{warning:"Missing 'run' param for STATE_OP"}})}}var Z2=zX(()=>{P1()});var k=R((_J)=>{var r4=Symbol.for("yaml.alias"),f8=Symbol.for("yaml.document"),m6=Symbol.for("yaml.map"),g8=Symbol.for("yaml.pair"),a4=Symbol.for("yaml.scalar"),p6=Symbol.for("yaml.seq"),u0=Symbol.for("yaml.node.type"),ZJ=(U)=>!!U&&typeof U==="object"&&U[u0]===r4,QJ=(U)=>!!U&&typeof U==="object"&&U[u0]===f8,GJ=(U)=>!!U&&typeof U==="object"&&U[u0]===m6,YJ=(U)=>!!U&&typeof U==="object"&&U[u0]===g8,y8=(U)=>!!U&&typeof U==="object"&&U[u0]===a4,JJ=(U)=>!!U&&typeof U==="object"&&U[u0]===p6;function k8(U){if(U&&typeof U==="object")switch(U[u0]){case m6:case p6:return!0}return!1}function HJ(U){if(U&&typeof U==="object")switch(U[u0]){case r4:case m6:case a4:case p6:return!0}return!1}var WJ=(U)=>(y8(U)||k8(U))&&!!U.anchor;_J.ALIAS=r4;_J.DOC=f8;_J.MAP=m6;_J.NODE_TYPE=u0;_J.PAIR=g8;_J.SCALAR=a4;_J.SEQ=p6;_J.hasAnchor=WJ;_J.isAlias=ZJ;_J.isCollection=k8;_J.isDocument=QJ;_J.isMap=GJ;_J.isNode=HJ;_J.isPair=YJ;_J.isScalar=y8;_J.isSeq=JJ});var y2=R((NJ)=>{var t=k(),L0=Symbol("break visit"),v8=Symbol("skip children"),b0=Symbol("remove node");function l6(U,X){let q=h8(X);if(t.isDocument(U)){if(d1(null,U.contents,q,Object.freeze([U]))===b0)U.contents=null}else d1(null,U,q,Object.freeze([]))}l6.BREAK=L0;l6.SKIP=v8;l6.REMOVE=b0;function d1(U,X,q,Z){let Q=x8(U,X,q,Z);if(t.isNode(Q)||t.isPair(Q))return u8(U,Z,Q),d1(U,Q,q,Z);if(typeof Q!=="symbol"){if(t.isCollection(X)){Z=Object.freeze(Z.concat(X));for(let G=0;G<X.items.length;++G){let Y=d1(G,X.items[G],q,Z);if(typeof Y==="number")G=Y-1;else if(Y===L0)return L0;else if(Y===b0)X.items.splice(G,1),G-=1}}else if(t.isPair(X)){Z=Object.freeze(Z.concat(X));let G=d1("key",X.key,q,Z);if(G===L0)return L0;else if(G===b0)X.key=null;let Y=d1("value",X.value,q,Z);if(Y===L0)return L0;else if(Y===b0)X.value=null}}return Q}async function d6(U,X){let q=h8(X);if(t.isDocument(U)){if(await c1(null,U.contents,q,Object.freeze([U]))===b0)U.contents=null}else await c1(null,U,q,Object.freeze([]))}d6.BREAK=L0;d6.SKIP=v8;d6.REMOVE=b0;async function c1(U,X,q,Z){let Q=await x8(U,X,q,Z);if(t.isNode(Q)||t.isPair(Q))return u8(U,Z,Q),c1(U,Q,q,Z);if(typeof Q!=="symbol"){if(t.isCollection(X)){Z=Object.freeze(Z.concat(X));for(let G=0;G<X.items.length;++G){let Y=await c1(G,X.items[G],q,Z);if(typeof Y==="number")G=Y-1;else if(Y===L0)return L0;else if(Y===b0)X.items.splice(G,1),G-=1}}else if(t.isPair(X)){Z=Object.freeze(Z.concat(X));let G=await c1("key",X.key,q,Z);if(G===L0)return L0;else if(G===b0)X.key=null;let Y=await c1("value",X.value,q,Z);if(Y===L0)return L0;else if(Y===b0)X.value=null}}return Q}function h8(U){if(typeof U==="object"&&(U.Collection||U.Node||U.Value))return Object.assign({Alias:U.Node,Map:U.Node,Scalar:U.Node,Seq:U.Node},U.Value&&{Map:U.Value,Scalar:U.Value,Seq:U.Value},U.Collection&&{Map:U.Collection,Seq:U.Collection},U);return U}function x8(U,X,q,Z){if(typeof q==="function")return q(U,X,Z);if(t.isMap(X))return q.Map?.(U,X,Z);if(t.isSeq(X))return q.Seq?.(U,X,Z);if(t.isPair(X))return q.Pair?.(U,X,Z);if(t.isScalar(X))return q.Scalar?.(U,X,Z);if(t.isAlias(X))return q.Alias?.(U,X,Z);return}function u8(U,X,q){let Z=X[X.length-1];if(t.isCollection(Z))Z.items[U]=q;else if(t.isPair(Z))if(U==="key")Z.key=q;else Z.value=q;else if(t.isDocument(Z))Z.contents=q;else{let Q=t.isAlias(Z)?"alias":"scalar";throw Error(`Cannot replace node with ${Q} parent`)}}NJ.visit=l6;NJ.visitAsync=d6});var n4=R((fJ)=>{var m8=k(),EJ=y2(),jJ={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},bJ=(U)=>U.replace(/[!,[\]{}]/g,(X)=>jJ[X]);class B0{constructor(U,X){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},B0.defaultYaml,U),this.tags=Object.assign({},B0.defaultTags,X)}clone(){let U=new B0(this.yaml,this.tags);return U.docStart=this.docStart,U}atDocument(){let U=new B0(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:B0.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},B0.defaultTags);break}return U}add(U,X){if(this.atNextDocument)this.yaml={explicit:B0.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},B0.defaultTags),this.atNextDocument=!1;let q=U.trim().split(/[ \t]+/),Z=q.shift();switch(Z){case"%TAG":{if(q.length!==2){if(X(0,"%TAG directive should contain exactly two parts"),q.length<2)return!1}let[Q,G]=q;return this.tags[Q]=G,!0}case"%YAML":{if(this.yaml.explicit=!0,q.length!==1)return X(0,"%YAML directive should contain exactly one part"),!1;let[Q]=q;if(Q==="1.1"||Q==="1.2")return this.yaml.version=Q,!0;else{let G=/^\d+\.\d+$/.test(Q);return X(6,`Unsupported YAML version ${Q}`,G),!1}}default:return X(0,`Unknown directive ${Z}`,!0),!1}}tagName(U,X){if(U==="!")return"!";if(U[0]!=="!")return X(`Not a valid tag: ${U}`),null;if(U[1]==="<"){let G=U.slice(2,-1);if(G==="!"||G==="!!")return X(`Verbatim tags aren't resolved, so ${U} is invalid.`),null;if(U[U.length-1]!==">")X("Verbatim tags must end with a >");return G}let[,q,Z]=U.match(/^(.*!)([^!]*)$/s);if(!Z)X(`The ${U} tag has no suffix`);let Q=this.tags[q];if(Q)try{return Q+decodeURIComponent(Z)}catch(G){return X(String(G)),null}if(q==="!")return U;return X(`Could not resolve tag: ${U}`),null}tagString(U){for(let[X,q]of Object.entries(this.tags))if(U.startsWith(q))return X+bJ(U.substring(q.length));return U[0]==="!"?U:`!<${U}>`}toString(U){let X=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],q=Object.entries(this.tags),Z;if(U&&q.length>0&&m8.isNode(U.contents)){let Q={};EJ.visit(U.contents,(G,Y)=>{if(m8.isNode(Y)&&Y.tag)Q[Y.tag]=!0}),Z=Object.keys(Q)}else Z=[];for(let[Q,G]of q){if(Q==="!!"&&G==="tag:yaml.org,2002:")continue;if(!U||Z.some((Y)=>Y.startsWith(G)))X.push(`%TAG ${Q} ${G}`)}return X.join(`
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import{createRequire as hY}from"node:module";var bY=Object.create;var{getPrototypeOf:IY,defineProperty:J6,getOwnPropertyNames:d3,getOwnPropertyDescriptor:fY}=Object,c3=Object.prototype.hasOwnProperty;function i3(Z){return this[Z]}var yY,kY,s3=(Z,X,Q)=>{var U=Z!=null&&typeof Z==="object";if(U){var J=X?yY??=new WeakMap:kY??=new WeakMap,q=J.get(Z);if(q)return q}Q=Z!=null?bY(IY(Z)):{};let Y=X||!Z||!Z.__esModule?J6(Q,"default",{value:Z,enumerable:!0}):Q;for(let W of d3(Z))if(!c3.call(Y,W))J6(Y,W,{get:i3.bind(Z,W),enumerable:!0});if(U)J.set(Z,Y);return Y},a3=(Z)=>{var X=(l3??=new WeakMap).get(Z),Q;if(X)return X;if(X=J6({},"__esModule",{value:!0}),Z&&typeof Z==="object"||typeof Z==="function"){for(var U of d3(Z))if(!c3.call(X,U))J6(X,U,{get:i3.bind(Z,U),enumerable:!(Q=fY(Z,U))||Q.enumerable})}return l3.set(Z,X),X},l3,C=(Z,X)=>()=>(X||Z((X={exports:{}}).exports,X),X.exports);var gY=(Z)=>Z;function vY(Z,X){this[Z]=gY.bind(null,X)}var xY=(Z,X)=>{for(var Q in X)J6(Z,Q,{get:X[Q],enumerable:!0,configurable:!0,set:vY.bind(X,Q)})};var O=(Z,X)=>()=>(Z&&(X=Z(Z=0)),X);var _2=hY(import.meta.url);var T1=(Z)=>Array.isArray(Z)?Z:[Z],r3=(Z,X)=>{let Q=[[],[]];for(let U of Z)if(X(U))Q[0].push(U);else Q[1].push(U);return Q},R4,k0=(Z,X)=>Z.includes(X),o3=(Z,X=0)=>[...Array(Z)].map((Q,U)=>U+X),m=(Z,X,Q)=>{if(Z===void 0)return X===void 0?[]:Array.isArray(X)?X:[X];if(Q?.prepend)if(Array.isArray(X))Z.unshift(...X);else Z.unshift(X);else if(Array.isArray(X))Z.push(...X);else Z.push(X);return Z},_1=(Z,X)=>{if(X===void 0||X===null)return Z??[];if(Z===void 0||Z===null)return T1(X);return Z.concat(X)},n3=(...Z)=>Z.reduce(_1,[]),Z1=(Z,X,Q)=>{if(Z===void 0)return Array.isArray(X)?X:[X];let U=Q?.isEqual??((J,q)=>J===q);for(let J of T1(X))if(!Z.some((q)=>U(q,J)))Z.push(J);return Z},t3=(Z,X)=>Z.reduce((Q,U)=>{let J=U[X];return Q[J]=m(Q[J],U),Q},{}),V1=(Z,X,Q)=>Z.length===X.length&&Z.every(Q?.isEqual?(U,J)=>Q.isEqual(U,X[J]):(U,J)=>U===X[J]);var P4=O(()=>{R4=Array});var T0=(Z,X)=>$0(Z)===X,$0=(Z)=>{let X=typeof Z;return X==="object"?Z===null?"null":"object":X==="function"?"object":X},D0,e3;var V2=O(()=>{D0={boolean:"boolean",null:"null",undefined:"undefined",bigint:"a bigint",number:"a number",object:"an object",string:"a string",symbol:"a symbol"},e3={...D0,function:"a function"}});var ZQ,u=(Z)=>a1(Z,ZQ),a1=(Z,X=Error)=>{throw new X(Z)},q6,M=(Z)=>a1(Z,q6),i0=(Z)=>` ${Z}`,XQ="";var X1=O(()=>{ZQ=class ZQ extends Error{};q6=class q6 extends Error{name="ParseError"}});var y=(Z,X)=>{let Q={},U=Array.isArray(Z),J=!1;for(let[q,Y]of Object.entries(Z).entries()){let W=U?X(q,Y[1]):X(...Y,q);J||=typeof W[0]==="number";let $=Array.isArray(W[0])||W.length===0?W:[W];for(let[L,_]of $)if(typeof L==="object")Q[L.group]=m(Q[L.group],_);else Q[L]=_}return J?Object.values(Q):Q};var $Z=O(()=>{P4()});class GZ{constructor(Z){Object.assign(this,Z)}}var LZ,L0=(Z,X)=>(Z in X),H2=(Z,X)=>(X in Z),QQ=class{},Y6,mY=(Z,X)=>{let Q={},U={},J;for(J in Z)if(J in X)Q[J]=Z[J];else U[J]=Z[J];return[Q,U]},K4=(Z,X)=>mY(Z,X)[1],Q1=(Z)=>Object.keys(Z).length===0,r1=(Z)=>[...Object.entries(Z),...Object.getOwnPropertySymbols(Z).map((X)=>[X,Z[X]])],UQ=(Z,X)=>Object.defineProperties(Z,Object.getOwnPropertyDescriptors(X)),JQ=(Z)=>{let X=Object.keys(Z).sort(),Q={};for(let U=0;U<X.length;U++)Q[X[U]]=Z[X[U]];return Q},w0,qQ=(Z)=>Object.values(Z).filter((X)=>{if(typeof X==="number")return!0;return typeof Z[X]!=="number"});var F2=O(()=>{X1();$Z();LZ=Object.entries;Y6=class Y6 extends QQ{};w0=i0(`unset${XQ}`)});var _Z,VZ,HZ,uY,o1,W6=(Z)=>{let X=Object.getPrototypeOf(Z);while(X?.constructor&&(!L0(X.constructor.name,o1)||!(Z instanceof o1[X.constructor.name])))X=Object.getPrototypeOf(X);let Q=X?.constructor?.name;if(Q===void 0||Q==="Object")return;return Q},$6=(Z)=>typeof Z==="object"&&Z!==null?W6(Z)??"object":$0(Z),r,pY,lY,dY,YQ,L6=(Z)=>{let X=Object(Z).name??null;return X&&L0(X,o1)&&o1[X]===Z?X:null},FZ=(Z,X)=>{let Q=Z.prototype;while(Q!==null){if(Q===X.prototype)return!0;Q=Object.getPrototypeOf(Q)}return!1};var G6=O(()=>{V2();F2();_Z={Array,Boolean,Date,Error,Function,Map,Number,Promise,RegExp,Set,String,WeakMap,WeakSet},VZ=globalThis.File??Blob,HZ={ArrayBuffer,Blob,File:VZ,FormData,Headers,Request,Response,URL},uY={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array},o1={..._Z,...HZ,...uY,String,Number,Boolean},r=Array.isArray,pY={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"},lY={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"},dY={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"},YQ={...pY,...lY,...dY}});var WQ=(Z)=>$Q(Z,new Map),$Q=(Z,X)=>{if(typeof Z!=="object"||Z===null)return Z;if(X?.has(Z))return X.get(Z);let Q=L6(Z.constructor);if(Q==="Date")return new Date(Z.getTime());if(Q&&Q!=="Array")return Z;let U=Array.isArray(Z)?Z.slice():Object.create(Object.getPrototypeOf(Z)),J=Object.getOwnPropertyDescriptors(Z);if(X){X.set(Z,U);for(let q in J){let Y=J[q];if("get"in Y||"set"in Y)continue;Y.value=$Q(Y.value,X)}}return Object.defineProperties(U,J),U};var LQ=O(()=>{G6()});var GQ=()=>{};class A0{constructor(Z,...[X]){return Object.assign(Object.setPrototypeOf(Z.bind(X?.bind??this),this.constructor.prototype),X?.attach)}}var cY=(Z)=>{let X=w0;return()=>X===w0?X=Z():X},D1=(Z)=>typeof Z==="function"&&Z.length===0,_Q,VQ;var HQ=O(()=>{X1();F2();_Q=class extends Function{constructor(...Z){let X=Z.slice(0,-1),Q=Z[Z.length-1];try{super(...X,Q)}catch(U){return u(`Encountered an unexpected error while compiling your definition:
|
|
2
|
+
Message: ${U}
|
|
3
|
+
Source: (${Z.slice(0,-1)}) => {
|
|
4
|
+
${Z[Z.length-1]}
|
|
5
|
+
}`)}}};VQ=cY(()=>{try{return Function("return false")()}catch{return!0}})});var lP,FQ;var zQ=O(()=>{X1();lP=i0("brand"),FQ=i0("arkInferred")});class H0{constructor(){}}var iP;var BQ=O(()=>{X1();iP=i0("args")});var MQ=()=>{};var iY=()=>{try{return((Error().stack?.split(`
|
|
6
|
+
`)[2]?.trim()||"").match(/\(?(.+?)(?::\d+:\d+)?\)?$/)?.[1]||"unknown").replace(/^file:\/\//,"")}catch{return"unknown"}},sY,OQ;var zZ=O(()=>{sY=globalThis.process?.env??{},OQ={fileName:iY,env:sY}});var RQ=()=>{};var PQ=(Z)=>Z[0].toUpperCase()+Z.slice(1),KQ=(Z)=>Z[0].toLowerCase()+Z.slice(1),BZ=(Z)=>new RegExp(aY(Z),typeof Z==="string"?"":Z.flags),aY=(Z)=>{return`^(?:${typeof Z==="string"?Z:Z.source})$`},F1,n1="\\",w1;var T4=O(()=>{F1={negativeLookahead:(Z)=>`(?!${Z})`,nonCapturingGroup:(Z)=>`(?:${Z})`},w1={" ":1,"\n":1,"\t":1}});var rY,DQ,oY,nY,wQ=(Z)=>BZ(F1.negativeLookahead(rY)+F1.nonCapturingGroup("-?"+F1.nonCapturingGroup(F1.nonCapturingGroup("0|"+DQ)+F1.nonCapturingGroup(Z.decimalPattern)+"?")+(Z.allowDecimalOnly?"|"+Z.decimalPattern:"")+"?")),TQ,tY,D4,eP,eY,ZW=(Z)=>Z.length!==0&&eY.test(Z),_6,XW,MZ,QW,AQ,SQ=(Z,X)=>`'${Z}' was parsed as ${AQ[X]} but could not be narrowed to a literal value. Avoid unnecessary leading or trailing zeros and other abnormal notation`,UW=(Z,X)=>X==="number"?tY(Z):XW(Z),JW=(Z,X)=>X==="number"?Number(Z):Number.parseInt(Z),qW=(Z,X)=>X==="number"?ZW(Z):QW(Z),CQ=(Z,X)=>OZ(Z,"number",X),NQ=(Z,X)=>OZ(Z,"number",{...X,strict:!0}),jQ=(Z,X)=>OZ(Z,"integer",X),OZ=(Z,X,Q)=>{let U=JW(Z,X);if(!Number.isNaN(U)){if(qW(Z,X)){if(Q?.strict)return UW(Z,X)?U:M(SQ(Z,X));return U}}return Q?.errorOnFail?M(Q?.errorOnFail===!0?`Failed to parse ${AQ[X]} from '${Z}'`:Q?.errorOnFail):void 0},EQ=(Z)=>{if(Z[Z.length-1]!=="n")return;let X=Z.slice(0,-1),Q;try{Q=BigInt(X)}catch{return}if(_6.test(X))return Q;if(MZ.test(X))return M(SQ(Z,"bigint"))};var bQ=O(()=>{X1();T4();rY=/^-0\.?0*$/.source,DQ=/[1-9]\d*/.source,oY=/\.\d+/.source,nY=/\.\d*[1-9]/.source,TQ=wQ({decimalPattern:nY,allowDecimalOnly:!1}),tY=TQ.test.bind(TQ),D4=wQ({decimalPattern:oY,allowDecimalOnly:!0}),eP=D4.test.bind(D4),eY=/^-?\d*\.?\d*$/,_6=BZ(F1.negativeLookahead("^-0$")+"-?"+F1.nonCapturingGroup(F1.nonCapturingGroup("0|"+DQ))),XW=_6.test.bind(_6),MZ=/^-?\d+$/,QW=MZ.test.bind(MZ),AQ={number:"a number",bigint:"a bigint",integer:"an integer"}});var YW="0.56.0",WW,t1,IQ,RZ,V6=(Z)=>{let X=IQ.get(Z);if(X)return X;let Q=$W(Z);if(RZ[Q])Q=`${Q}${RZ[Q]++}`;else RZ[Q]=1;return t1[Q]=Z,IQ.set(Z,Q),Q},A1=(Z)=>/^[$A-Z_a-z][\w$]*$/.test(Z),$W=(Z)=>{switch(typeof Z){case"object":{if(Z===null)break;let X=W6(Z)??"object";return X[0].toLowerCase()+X.slice(1)}case"function":return A1(Z.name)?Z.name:"fn";case"symbol":return Z.description&&A1(Z.description)?Z.description:"symbol"}return u(`Unexpected attempt to register serializable value of type ${$0(Z)}`)};var w4=O(()=>{V2();X1();zZ();G6();WW={version:YW,filename:OQ.fileName(),FileConstructor:VZ},t1=WW,IQ=new Map,RZ=Object.create(null)});var H6=(Z)=>typeof Z==="string"?JSON.stringify(Z):typeof Z==="bigint"?`${Z}n`:`${Z}`;var fQ=(Z,X={})=>F6(Z,{onUndefined:"$ark.undefined",onBigInt:(Q)=>`$ark.bigint-${Q}`,...X},[]),k=(Z,X)=>{switch($0(Z)){case"object":let Q=Z,U=Q.constructor?.name??"Object";return U==="Object"||U==="Array"?X?.quoteKeys===!1?A4(Q,X?.indent??0,""):JSON.stringify(F6(Q,z2,[]),null,X?.indent):A4(Q,X?.indent??0,"");case"symbol":return z2.onSymbol(Z);default:return H6(Z)}},A4=(Z,X,Q)=>{if(typeof Z==="function")return z2.onFunction(Z);if(typeof Z!=="object"||Z===null)return H6(Z);let U=Q+" ".repeat(X);if(Array.isArray(Z)){if(Z.length===0)return"[]";let q=Z.map((Y)=>A4(Y,X,U)).join(`,
|
|
7
|
+
`+U);return X?`[
|
|
8
|
+
${U}${q}
|
|
9
|
+
${Q}]`:`[${q}]`}let J=Z.constructor?.name??"Object";if(J==="Object"){let q=r1(Z).map(([Y,W])=>{let $=typeof Y==="symbol"?z2.onSymbol(Y):A1(Y)?Y:JSON.stringify(Y),L=A4(W,X,U);return`${U}${$}: ${L}`});if(q.length===0)return"{}";return X?`{
|
|
10
|
+
${q.join(`,
|
|
11
|
+
`)}
|
|
12
|
+
${Q}}`:`{${q.join(", ")}}`}if(Z instanceof Date)return e1(Z);if("expression"in Z&&typeof Z.expression==="string")return Z.expression;return J},z2,F6=(Z,X,Q)=>{switch($0(Z)){case"object":{let U=Z;if("toJSON"in U&&typeof U.toJSON==="function")return U.toJSON();if(typeof U==="function")return z2.onFunction(U);if(Q.includes(U))return"(cycle)";let J=[...Q,U];if(Array.isArray(U))return U.map((Y)=>F6(Y,X,J));if(U instanceof Date)return U.toDateString();let q={};for(let Y in U)q[Y]=F6(U[Y],X,J);for(let Y of Object.getOwnPropertySymbols(U))q[X.onSymbol?.(Y)??Y.toString()]=F6(U[Y],X,J);return q}case"symbol":return z2.onSymbol(Z);case"bigint":return X.onBigInt?.(Z)??`${Z}n`;case"undefined":return X.onUndefined??"undefined";case"string":return Z.replace(/\\/g,"\\\\");default:return Z}},e1=(Z)=>{let X=Z.getFullYear(),Q=Z.getMonth(),U=Z.getDate(),J=Z.getHours(),q=Z.getMinutes(),Y=Z.getSeconds(),W=Z.getMilliseconds();if(Q===0&&U===1&&J===0&&q===0&&Y===0&&W===0)return`${X}`;let $=`${LW[Q]} ${U}, ${X}`;if(J===0&&q===0&&Y===0&&W===0)return $;let L=Z.toLocaleTimeString(),_=L.endsWith(" AM")||L.endsWith(" PM")?L.slice(-3):"";if(_)L=L.slice(0,-_.length);if(W)L+=`.${_W(W,3)}`;else if(GW.test(L))L=L.slice(0,-3);return`${L+_}, ${$}`},LW,GW,_W=(Z,X)=>String(Z).padStart(X,"0");var PZ=O(()=>{V2();F2();w4();z2={onCycle:()=>"(cycle)",onSymbol:(Z)=>`Symbol(${V6(Z)})`,onFunction:(Z)=>`Function(${V6(Z)})`},LW=["January","February","March","April","May","June","July","August","September","October","November","December"],GW=/:\d\d:00$/});var yQ=(Z,X,...[Q])=>{let U=Q?.stringifySymbol??k,J=Z;switch(typeof X){case"string":J=A1(X)?Z===""?X:`${Z}.${X}`:`${Z}[${JSON.stringify(X)}]`;break;case"number":J=`${Z}[${X}]`;break;case"symbol":J=`${Z}[${U(X)}]`;break;default:if(Q?.stringifyNonKey)J=`${Z}[${Q.stringifyNonKey(X)}]`;else M(`${k(X)} must be a PropertyKey or stringifyNonKey must be passed to options`)}return J},z1=(Z,...X)=>Z.reduce((Q,U)=>yQ(Q,U,...X),""),z6;var kQ=O(()=>{P4();X1();w4();PZ();z6=class z6 extends R4{cache={};constructor(...Z){super();this.push(...Z)}toJSON(){if(this.cache.json)return this.cache.json;this.cache.json=[];for(let Z=0;Z<this.length;Z++)this.cache.json.push(typeof this[Z]==="symbol"?k(this[Z]):this[Z]);return this.cache.json}stringify(){if(this.cache.stringify)return this.cache.stringify;return this.cache.stringify=z1(this)}stringifyAncestors(){if(this.cache.stringifyAncestors)return this.cache.stringifyAncestors;let Z="",X=[Z];for(let Q of this)Z=yQ(Z,Q),X.push(Z);return this.cache.stringifyAncestors=X}}});class B6{chars;i;def;constructor(Z){this.def=Z,this.chars=[...Z],this.i=0}shift(){return this.chars[this.i++]??""}get lookahead(){return this.chars[this.i]??""}get nextLookahead(){return this.chars[this.i+1]??""}get length(){return this.chars.length}shiftUntil(Z){let X="";while(this.lookahead)if(Z(this,X))break;else X+=this.shift();return X}shiftUntilEscapable(Z){let X="";while(this.lookahead)if(this.lookahead===n1)if(this.shift(),Z(this,X))X+=this.shift();else if(this.lookahead===n1)X+=this.shift();else X+=`${n1}${this.shift()}`;else if(Z(this,X))break;else X+=this.shift();return X}shiftUntilLookahead(Z){return typeof Z==="string"?this.shiftUntil((X)=>X.lookahead===Z):this.shiftUntil((X)=>(X.lookahead in Z))}shiftUntilNonWhitespace(){return this.shiftUntil(()=>!(this.lookahead in w1))}jumpToIndex(Z){this.i=Z<0?this.length+Z:Z}jumpForward(Z){this.i+=Z}get location(){return this.i}get unscanned(){return this.chars.slice(this.i,this.length).join("")}get scanned(){return this.chars.slice(0,this.i).join("")}sliceChars(Z,X){return this.chars.slice(Z,X).join("")}lookaheadIs(Z){return this.lookahead===Z}lookaheadIsIn(Z){return this.lookahead in Z}}var gQ=(Z,X)=>`Unmatched ${Z}${X===""?"":` before ${X}`}`,S4=(Z)=>`Missing ${Z}`;var vQ=O(()=>{T4()});var wK;var xQ=O(()=>{V2();X1();G6();F2();wK=i0("implementedTraits")});var hQ=()=>{};var E=O(()=>{P4();LQ();GQ();V2();X1();$Z();HQ();zQ();BQ();MQ();zZ();RQ();bQ();G6();kQ();F2();w4();vQ();PZ();T4();xQ();hQ()});var KZ="$ark",VW=2,mQ,R,HW=(Z)=>`${mQ}.${Z}`,Z0=(Z)=>HW(V6(Z));var p=O(()=>{E();while(KZ in globalThis)KZ=`$ark${VW++}`;mQ=KZ;globalThis[mQ]=t1;R=t1});var C4,s0=(Z)=>T0(Z,"object")||typeof Z==="symbol"?Z0(Z):H6(Z),TZ=(Z,X=!1)=>{if(typeof Z==="string"&&A1(Z))return`${X?"?":""}.${Z}`;return uQ(FW(Z),X)},FW=(Z)=>typeof Z==="symbol"?Z0(Z):JSON.stringify(Z),uQ=(Z,X=!1)=>`${X?"?.":""}[${Z}]`,M6;var S1=O(()=>{E();p();C4=class C4 extends Y6{argNames;body="";constructor(...Z){super();this.argNames=Z;for(let X of Z){if(X in this)throw Error(`Arg name '${X}' would overwrite an existing property on FunctionBody`);this[X]=X}}indentation=0;indent(){return this.indentation+=4,this}dedent(){return this.indentation-=4,this}prop(Z,X=!1){return TZ(Z,X)}index(Z,X=!1){return uQ(`${Z}`,X)}line(Z){return this.body+=`${" ".repeat(this.indentation)}${Z}
|
|
13
|
+
`,this}const(Z,X){return this.line(`const ${Z} = ${X}`),this}let(Z,X){return this.line(`let ${Z} = ${X}`)}set(Z,X){return this.line(`${Z} = ${X}`)}if(Z,X){return this.block(`if (${Z})`,X)}elseIf(Z,X){return this.block(`else if (${Z})`,X)}else(Z){return this.block("else",Z)}for(Z,X,Q=0){return this.block(`for (let i = ${Q}; ${Z}; i++)`,X)}forIn(Z,X){return this.block(`for (const k in ${Z})`,X)}block(Z,X,Q=""){return this.line(`${Z} {`),this.indent(),X(this),this.dedent(),this.line(`}${Q}`)}return(Z=""){return this.line(`return ${Z}`)}write(Z="anonymous",X=0){return`${Z}(${this.argNames.join(", ")}) { ${X?this.body.split(`
|
|
14
|
+
`).map((Q)=>" ".repeat(X)+`${Q}`).join(`
|
|
15
|
+
`):this.body} }`}compile(){return new _Q(...this.argNames,this.body)}};M6=class M6 extends C4{traversalKind;optimistic;constructor(Z){super("data","ctx");this.traversalKind=Z.kind,this.optimistic=Z.optimistic===!0}invoke(Z,X){let Q=X?.arg??this.data,U=typeof Z==="string"?!0:this.requiresContextFor(Z),J=typeof Z==="string"?Z:Z.id;if(U)return`${this.referenceToId(J,X)}(${Q}, ${this.ctx})`;return`${this.referenceToId(J,X)}(${Q})`}referenceToId(Z,X){let Q=X?.kind??this.traversalKind,U=`this.${Z}${Q}`;return X?.bind?`${U}.bind(${X?.bind})`:U}requiresContextFor(Z){return this.traversalKind==="Apply"||Z.allowsRequiresContext}initializeErrorCount(){return this.const("errorCount","ctx.currentErrorCount")}returnIfFail(){return this.if("ctx.currentErrorCount > errorCount",()=>this.return())}returnIfFailFast(){return this.if("ctx.failFast && ctx.currentErrorCount > errorCount",()=>this.return())}traverseKey(Z,X,Q){let U=this.requiresContextFor(Q);if(U)this.line(`${this.ctx}.path.push(${Z})`);if(this.check(Q,{arg:X}),U)this.line(`${this.ctx}.path.pop()`);return this}check(Z,X){return this.traversalKind==="Allows"?this.if(`!${this.invoke(Z,X)}`,()=>this.return(!1)):this.line(this.invoke(Z,X))}}});var N4=(Z)=>y(Z,(X,Q)=>[X,r(Q)?[...Q]:Q]),M0,b=(Z,X)=>Z?.[M0]===X,o=(Z)=>b(Z,"root")||b(Z,"constraint");var J0=O(()=>{E();M0=i0("arkKind")});var pQ,B2,DZ,wZ,j4,M2,zW,E4,lQ,dQ,O2=(Z)=>typeof Z==="string"&&(Z in dQ),R2=(Z)=>dQ[Z],b4=(Z)=>M2.slice(R2(Z)+1),WT,$T,g0=(Z)=>{if(typeof Z==="string"||typeof Z==="boolean"||Z===null)return Z;if(typeof Z==="number"){if(Number.isNaN(Z))return"NaN";if(Z===Number.POSITIVE_INFINITY)return"Infinity";if(Z===Number.NEGATIVE_INFINITY)return"-Infinity";return Z}return s0(Z)},C1=(Z)=>{let X="{ ";for(let[Q,U]of Object.entries(Z))X+=`${Q}: ${s0(U)}, `;return X+" }"},g=(Z)=>{let X=Z;if(X.hasAssociatedError)X.defaults.expected??=(Q)=>("description"in Q)?Q.description:X.defaults.description(Q),X.defaults.actual??=(Q)=>k(Q),X.defaults.problem??=(Q)=>`must be ${Q.expected}${Q.actual?` (was ${Q.actual})`:""}`,X.defaults.message??=(Q)=>{if(Q.path.length===0)return Q.problem;let U=`${Q.propString} ${Q.problem}`;if(U[0]==="[")return`value at ${U}`;return U};return X};var d=O(()=>{E();S1();J0();pQ=["unit","proto","domain"],B2=["required","optional","index","sequence"],DZ=["pattern","divisor","exactLength","max","min","maxLength","minLength","before","after"],wZ=[...DZ,"structure","predicate"],j4=[...wZ,...B2],M2=["alias","union","morph","unit","intersection","proto","domain"],zW=[...M2,...j4],E4=y(j4,(Z,X)=>[X,1]),lQ=y([...B2,"undeclared"],(Z,X)=>[X,1]),dQ=y(zW,(Z,X)=>[X,Z]),WT=[...b4("union"),"alias"],$T=[...b4("morph"),"alias"]});var cQ,BW,t;var N1=O(()=>{E();cQ=class cQ extends Error{name="ToJsonSchemaError";code;context;constructor(Z,X){super(k(X,{quoteKeys:!1,indent:4}));this.code=Z,this.context=X}hasCode(Z){return this.code===Z}};BW={target:"draft-2020-12",dialect:"https://json-schema.org/draft/2020-12/schema",useRefs:!1,fallback:{arrayObject:(Z)=>t.throw("arrayObject",Z),arrayPostfix:(Z)=>t.throw("arrayPostfix",Z),defaultValue:(Z)=>t.throw("defaultValue",Z),domain:(Z)=>t.throw("domain",Z),morph:(Z)=>t.throw("morph",Z),patternIntersection:(Z)=>t.throw("patternIntersection",Z),predicate:(Z)=>t.throw("predicate",Z),proto:(Z)=>t.throw("proto",Z),symbolKey:(Z)=>t.throw("symbolKey",Z),unit:(Z)=>t.throw("unit",Z),date:(Z)=>t.throw("date",Z)}},t={Error:cQ,throw:(...Z)=>{throw new t.Error(...Z)},throwInternalOperandError:(Z,X)=>u(`Unexpected JSON Schema input for ${Z}: ${k(X)}`),defaultConfig:BW}});var O6=(Z,X)=>{if(!X)return Z;let Q={...Z},U;for(U in X){let J={...Z.keywords};if(U==="keywords"){for(let q in X[U]){let Y=X.keywords[q];if(Y===void 0)continue;J[q]=typeof Y==="string"?{description:Y}:Y}Q.keywords=J}else if(U==="toJsonSchema")Q[U]=AZ(Z.toJsonSchema,X.toJsonSchema);else if(O2(U))Q[U]={...Z[U],...X[U]};else Q[U]=X[U]}return Q},MW,AZ=(Z,X)=>{if(!Z)return iQ(X??{},void 0);if(!X)return Z;let Q={...Z},U;for(U in X)if(U==="fallback")Q.fallback=OW(Z.fallback,X.fallback);else Q[U]=X[U];return iQ(Q,X)},iQ=(Z,X)=>{if(X?.dialect!==void 0)return Z;if(X?.target!==void 0)return{...Z,dialect:MW[X.target]};return Z},OW=(Z,X)=>{Z=sQ(Z),X=sQ(X);let Q={},U;for(U in t.defaultConfig.fallback)Q[U]=X[U]??X.default??Z[U]??Z.default??t.defaultConfig.fallback[U];return Q},sQ=(Z)=>typeof Z==="function"?{default:Z}:Z??{};var P2=O(()=>{d();p();N1();R.config??={};MW={"draft-2020-12":"https://json-schema.org/draft/2020-12/schema","draft-07":"http://json-schema.org/draft-07/schema#"}});var j1,S0,SZ,RW=(Z)=>Z.toString().split(`
|
|
16
|
+
`).join(`
|
|
17
|
+
`);var R6=O(()=>{E();J0();j1=class j1 extends Y6{[M0]="error";path;data;nodeConfig;input;ctx;constructor({prefixPath:Z,relativePath:X,...Q},U){super();this.input=Q,this.ctx=U,UQ(this,Q);let J=U.data;if(Q.code==="union")Q.errors=Q.errors.flatMap((Y)=>{let W=Y.hasCode("union")?Y.errors:[Y];if(!Z&&!X)return W;return W.map(($)=>$.transform((L)=>({...L,path:n3(Z,L.path,X)})))});this.nodeConfig=U.config[this.code];let q=[...Q.path??U.path];if(X)q.push(...X);if(Z)q.unshift(...Z);this.path=new z6(...q),this.data="data"in Q?Q.data:J}transform(Z){return new j1(Z({data:this.data,path:this.path,...this.input}),this.ctx)}hasCode(Z){return this.code===Z}get propString(){return z1(this.path)}get expected(){if(this.input.expected)return this.input.expected;let Z=this.meta?.expected??this.nodeConfig.expected;return typeof Z==="function"?Z(this.input):Z}get actual(){if(this.input.actual)return this.input.actual;let Z=this.meta?.actual??this.nodeConfig.actual;return typeof Z==="function"?Z(this.data):Z}get problem(){if(this.input.problem)return this.input.problem;let Z=this.meta?.problem??this.nodeConfig.problem;return typeof Z==="function"?Z(this):Z}get message(){if(this.input.message)return this.input.message;let Z=this.meta?.message??this.nodeConfig.message;return typeof Z==="function"?Z(this):Z}get flat(){return this.hasCode("intersection")?[...this.errors]:[this]}toJSON(){return{data:this.data,path:this.path,...this.input,expected:this.expected,actual:this.actual,problem:this.problem,message:this.message}}toString(){return this.message}throw(){throw this}};S0=class S0 extends R4{[M0]="errors";ctx;constructor(Z){super();this.ctx=Z}byPath=Object.create(null);get flatByPath(){return y(this.byPath,(Z,X)=>[Z,X.flat])}get flatProblemsByPath(){return y(this.byPath,(Z,X)=>[Z,X.flat.map((Q)=>Q.problem)])}byAncestorPath=Object.create(null);count=0;mutable=this;throw(){throw this.toTraversalError()}toTraversalError(){return new SZ(this)}add(Z){let X=this.byPath[Z.propString];if(X){if(Z===X)return;if(X.hasCode("union")&&X.errors.length===0)return;let Q=Z.hasCode("union")&&Z.errors.length===0?Z:new j1({code:"intersection",errors:X.hasCode("intersection")?[...X.errors,Z]:[X,Z]},this.ctx),U=this.indexOf(X);this.mutable[U===-1?this.length:U]=Q,this.byPath[Z.propString]=Q,this.addAncestorPaths(Z)}else this.byPath[Z.propString]=Z,this.addAncestorPaths(Z),this.mutable.push(Z);this.count++}transform(Z){let X=new S0(this.ctx);for(let Q of this)X.add(Z(Q));return X}merge(Z){for(let X of Z)this.add(new j1({...X,path:[...this.ctx.path,...X.path]},this.ctx))}affectsPath(Z){if(this.length===0)return!1;return Z.stringifyAncestors().some((X)=>(X in this.byPath))||Z.stringify()in this.byAncestorPath}get summary(){return this.toString()}get issues(){return this}toJSON(){return[...this.map((Z)=>Z.toJSON())]}toString(){return this.join(`
|
|
18
|
+
`)}addAncestorPaths(Z){for(let X of Z.path.stringifyAncestors())this.byAncestorPath[X]=m(this.byAncestorPath[X],Z)}};SZ=class SZ extends Error{name="TraversalError";constructor(Z){if(Z.length===1)super(Z.summary);else super(`
|
|
19
|
+
`+Z.map((X)=>` • ${RW(X)}`).join(`
|
|
20
|
+
`));Object.defineProperty(this,"arkErrors",{value:Z,enumerable:!1})}}});class a0{path=[];errors=new S0(this);root;config;queuedMorphs=[];branches=[];seen={};constructor(Z,X){this.root=Z,this.config=X}get data(){let Z=this.root;for(let X of this.path)Z=Z?.[X];return Z}get propString(){return z1(this.path)}reject(Z){return this.error(Z),!1}mustBe(Z){return this.error(Z),!1}error(Z){let X=typeof Z==="object"?Z.code?Z:{...Z,code:"predicate"}:{code:"predicate",expected:Z};return this.errorFromContext(X)}hasError(){return this.currentErrorCount!==0}get currentBranch(){return this.branches[this.branches.length-1]}queueMorphs(Z){let X={path:new z6(...this.path),morphs:Z};if(this.currentBranch)this.currentBranch.queuedMorphs.push(X);else this.queuedMorphs.push(X)}finalize(Z){if(this.queuedMorphs.length){if(typeof this.root==="object"&&this.root!==null&&this.config.clone)this.root=this.config.clone(this.root);this.applyQueuedMorphs()}if(this.hasError())return Z?Z(this.errors):this.errors;return this.root}get currentErrorCount(){return this.currentBranch?this.currentBranch.error?1:0:this.errors.count}get failFast(){return this.branches.length!==0}pushBranch(){this.branches.push({error:void 0,queuedMorphs:[]})}popBranch(){return this.branches.pop()}get external(){return this}errorFromNodeContext(Z){return this.errorFromContext(Z)}errorFromContext(Z){let X=new j1(Z,this);if(this.currentBranch)this.currentBranch.error=X;else this.errors.add(X);return X}applyQueuedMorphs(){while(this.queuedMorphs.length){let Z=this.queuedMorphs;this.queuedMorphs=[];for(let{path:X,morphs:Q}of Z){if(this.errors.affectsPath(X))continue;this.applyMorphsAtPath(X,Q)}}}applyMorphsAtPath(Z,X){let Q=Z[Z.length-1],U;if(Q!==void 0){U=this.root;for(let J=0;J<Z.length-1;J++)U=U[Z[J]]}for(let J of X){this.path=[...Z];let q=o(J),Y=J(U===void 0?this.root:U[Q],this);if(Y instanceof j1){if(!this.errors.includes(Y))this.errors.add(Y);break}if(Y instanceof S0){if(!q)this.errors.merge(Y);this.queuedMorphs=[];break}if(U===void 0)this.root=Y;else U[Q]=Y;this.applyQueuedMorphs()}}}var C0=(Z,X,Q)=>{if(!Q)return X();Q.path.push(Z);let U=X();return Q.path.pop(),U};var U1=O(()=>{E();R6();J0()});var K6,P6,aQ=(Z,X)=>`${Z} had no references matching ${k(X)}.`,PW=(Z)=>z1(Z,{stringifyNonKey:(X)=>X.expression}),KW,TW=(Z)=>JSON.stringify(Z).replace(KW,"$1"),r0=(Z,X)=>({path:Z,node:X,propString:PW(Z)}),rQ=(Z,X)=>Z.propString===X.propString&&Z.node.equals(X.node),CZ=(Z,X)=>Z1(Z,X,{isEqual:rQ}),DW=(Z,X)=>Z1(Z,X,{isEqual:(Q,U)=>Q.equals(U)});var Z2=O(()=>{E();d();p();U1();J0();K6=class K6 extends A0{attachments;$;onFail;includesTransform;includesContextualPredicate;isCyclic;allowsRequiresContext;rootApplyStrategy;contextFreeMorph;rootApply;referencesById;shallowReferences;flatRefs;flatMorphs;allows;get shallowMorphs(){return[]}constructor(Z,X){super((U,J,q=this.onFail)=>{if(J)return this.traverseApply(U,J),J.hasError()?J.errors:J.data;return this.rootApply(U,q)},{attach:Z});this.attachments=Z,this.$=X,this.onFail=this.meta.onFail??this.$.resolvedConfig.onFail,this.includesTransform=this.hasKind("morph")||this.hasKind("structure")&&this.structuralMorph!==void 0||this.hasKind("sequence")&&this.inner.defaultables!==void 0,this.includesContextualPredicate=this.hasKind("predicate")&&this.inner.predicate.length!==1,this.isCyclic=this.kind==="alias",this.referencesById={[this.id]:this},this.shallowReferences=this.hasKind("structure")?[this,...this.children]:this.children.reduce((U,J)=>DW(U,J.shallowReferences),[this]);let Q=this.isStructural();this.flatRefs=[],this.flatMorphs=[];for(let U=0;U<this.children.length;U++){if(this.includesTransform||=this.children[U].includesTransform,this.includesContextualPredicate||=this.children[U].includesContextualPredicate,this.isCyclic||=this.children[U].isCyclic,!Q){let J=this.children[U].flatRefs;for(let q=0;q<J.length;q++){let Y=J[q];if(!this.flatRefs.some((W)=>rQ(W,Y))){this.flatRefs.push(Y);for(let W of Y.node.branches)if(W.hasKind("morph")||W.hasKind("intersection")&&W.structure?.structuralMorph!==void 0)this.flatMorphs.push({path:Y.path,propString:Y.propString,node:W})}}}Object.assign(this.referencesById,this.children[U].referencesById)}this.flatRefs.sort((U,J)=>U.path.length>J.path.length?1:U.path.length<J.path.length?-1:U.propString>J.propString?1:U.propString<J.propString?-1:U.node.expression<J.node.expression?-1:1),this.allowsRequiresContext=this.includesContextualPredicate||this.isCyclic,this.rootApplyStrategy=!this.allowsRequiresContext&&this.flatMorphs.length===0?this.shallowMorphs.length===0?"allows":this.shallowMorphs.every((U)=>U.length===1||U.name==="$arkStructuralMorph")?this.hasKind("union")?this.branches.some((U)=>U.shallowMorphs.length>1)?"contextual":"branchedOptimistic":this.shallowMorphs.length>1?"contextual":"optimistic":"contextual":"contextual",this.rootApply=this.createRootApply(),this.allows=this.allowsRequiresContext?(U)=>this.traverseAllows(U,new a0(U,this.$.resolvedConfig)):(U)=>this.traverseAllows(U)}createRootApply(){switch(this.rootApplyStrategy){case"allows":return(X,Q)=>{if(this.allows(X))return X;let U=new a0(X,this.$.resolvedConfig);return this.traverseApply(X,U),U.finalize(Q)};case"contextual":return(X,Q)=>{let U=new a0(X,this.$.resolvedConfig);return this.traverseApply(X,U),U.finalize(Q)};case"optimistic":this.contextFreeMorph=this.shallowMorphs[0];let Z=this.$.resolvedConfig.clone;return(X,Q)=>{if(this.allows(X))return this.contextFreeMorph(Z&&(typeof X==="object"&&X!==null||typeof X==="function")?Z(X):X);let U=new a0(X,this.$.resolvedConfig);return this.traverseApply(X,U),U.finalize(Q)};case"branchedOptimistic":return this.createBranchedOptimisticRootApply();default:return this.rootApplyStrategy,u(`Unexpected rootApplyStrategy ${this.rootApplyStrategy}`)}}compiledMeta=TW(this.metaJson);cacheGetter(Z,X){return Object.defineProperty(this,Z,{value:X}),X}get description(){return this.cacheGetter("description",this.meta?.description??this.$.resolvedConfig[this.kind].description(this))}get references(){return Object.values(this.referencesById)}precedence=R2(this.kind);precompilation;assert=(Z,X)=>this(Z,X,(Q)=>Q.throw());traverse(Z,X){return this(Z,X,null)}get in(){return this.cacheGetter("in",this.rawIn.isRoot()?this.$.finalize(this.rawIn):this.rawIn)}get rawIn(){return this.cacheGetter("rawIn",this.getIo("in"))}get out(){return this.cacheGetter("out",this.rawOut.isRoot()?this.$.finalize(this.rawOut):this.rawOut)}get rawOut(){return this.cacheGetter("rawOut",this.getIo("out"))}getIo(Z){if(!this.includesTransform)return this;let X={};for(let[Q,U]of this.innerEntries){let J=this.impl.keys[Q];if(J.reduceIo)J.reduceIo(Z,X,U);else if(J.child){let q=U;X[Q]=r(q)?q.map((Y)=>Z==="in"?Y.rawIn:Y.rawOut):Z==="in"?q.rawIn:q.rawOut}else X[Q]=U}return this.$.node(this.kind,X)}toJSON(){return this.json}toString(){return`Type<${this.expression}>`}equals(Z){let X=o(Z)?Z:this.$.parseDefinition(Z);return this.innerHash===X.innerHash}ifEquals(Z){return this.equals(Z)?this:void 0}hasKind(Z){return this.kind===Z}assertHasKind(Z){if(this.kind!==Z)a1(`${this.kind} node was not of asserted kind ${Z}`);return this}hasKindIn(...Z){return Z.includes(this.kind)}assertHasKindIn(...Z){if(!k0(Z,this.kind))a1(`${this.kind} node was not one of asserted kinds ${Z}`);return this}isBasis(){return k0(pQ,this.kind)}isConstraint(){return k0(j4,this.kind)}isStructural(){return k0(B2,this.kind)}isRefinement(){return k0(wZ,this.kind)}isRoot(){return k0(M2,this.kind)}isUnknown(){return this.hasKind("intersection")&&this.children.length===0}isNever(){return this.hasKind("union")&&this.children.length===0}hasUnit(Z){return this.hasKind("unit")&&this.allows(Z)}hasOpenIntersection(){return this.impl.intersectionIsOpen}get nestableExpression(){return this.expression}select(Z){let X=P6.normalize(Z);return this._select(X)}_select(Z){let X=P6.applyBoundary[Z.boundary??"references"](this);if(Z.kind)X=X.filter((Q)=>Q.kind===Z.kind);if(Z.where)X=X.filter(Z.where);return P6.applyMethod[Z.method??"filter"](X,this,Z)}transform(Z,X){return this._transform(Z,this._createTransformContext(X))}_createTransformContext(Z){return{root:this,selected:void 0,seen:{},path:[],parseOptions:{prereduced:Z?.prereduced??!1},undeclaredKeyHandling:void 0,...Z}}_transform(Z,X){let Q=X.bindScope??this.$;if(X.seen[this.id])return this.$.lazilyResolve(X.seen[this.id]);if(X.shouldTransform?.(this,X)===!1)return this;let U;if(X.seen[this.id]=()=>U,this.hasKind("structure")&&this.undeclared!==X.undeclaredKeyHandling)X={...X,undeclaredKeyHandling:this.undeclared};let J=y(this.inner,(L,_)=>{if(!this.impl.keys[L].child)return[L,_];let G=_;if(!r(G)){let F=G._transform(Z,X);return F?[L,F]:[]}if(G.length===0)return[L,_];let V=G.flatMap((F)=>{return F._transform(Z,X)??[]});return V.length?[L,V]:[]});delete X.seen[this.id];let q=Object.assign(J,{meta:this.meta}),Y=X.selected&&!X.selected.includes(this)?q:Z(this.kind,q,X);if(Y===null)return null;if(o(Y))return U=Y;let W=Object.keys(Y);if((W.length===0||W.length===1&&W[0]==="meta")&&!Q1(this.inner))return null;if((this.kind==="required"||this.kind==="optional"||this.kind==="index")&&!("value"in Y))return X.undeclaredKeyHandling?{...Y,value:R.intrinsic.unknown}:null;if(this.kind==="morph")Y.in??=R.intrinsic.unknown;return U=Q.node(this.kind,Y,X.parseOptions)}configureReferences(Z,X="references"){let Q=P6.normalize(X),U=typeof Z==="string"?(W,$)=>({...$,meta:{...$.meta,description:Z}}):typeof Z==="function"?(W,$)=>({...$,meta:Z($.meta)}):(W,$)=>({...$,meta:{...$.meta,...Z}});if(Q.boundary==="self")return this.$.node(this.kind,U(this.kind,{...this.inner,meta:this.meta}));let J=this._select(Q),q=J&&T1(J),Y=Q.boundary==="child"?(W,$)=>$.root.children.includes(W):Q.boundary==="shallow"?(W)=>W.kind!=="structure":()=>!0;return this.$.finalize(this.transform(U,{shouldTransform:Y,selected:q}))}};P6={applyBoundary:{self:(Z)=>[Z],child:(Z)=>[...Z.children],shallow:(Z)=>[...Z.shallowReferences],references:(Z)=>[...Z.references]},applyMethod:{filter:(Z)=>Z,assertFilter:(Z,X,Q)=>{if(Z.length===0)a1(aQ(X,Q));return Z},find:(Z)=>Z[0],assertFind:(Z,X,Q)=>{if(Z.length===0)a1(aQ(X,Q));return Z[0]}},normalize:(Z)=>typeof Z==="function"?{boundary:"references",method:"filter",where:Z}:typeof Z==="string"?L0(Z,P6.applyBoundary)?{method:"filter",boundary:Z}:{boundary:"references",method:"filter",kind:Z}:{boundary:"references",method:"filter",...Z}},KW=/"(\$ark\.[^"]+)"/g});var A,oQ=(Z,X)=>`${NZ(Z)} and ${NZ(X)}`,NZ=(Z)=>o(Z)?Z.expression:r(Z)?Z.map(NZ).join(" | ")||"never":String(Z),jZ=(Z)=>`${Z} results in an unsatisfiable type`;var U0=O(()=>{E();p();J0();A=class A extends Array{static init(Z,X,Q,U){return new A({kind:Z,l:X,r:Q,path:U?.path??[],optional:U?.optional??!1})}add(Z,X,Q,U){return this.push({kind:Z,l:X,r:Q,path:U?.path??[],optional:U?.optional??!1}),this}get summary(){return this.describeReasons()}describeReasons(){if(this.length===1){let{path:Z,l:X,r:Q}=this[0],U=z1(Z);return jZ(`Intersection${U&&` at ${U}`} of ${oQ(X,Q)}`)}return`The following intersections result in unsatisfiable types:
|
|
21
|
+
• ${this.map(({path:Z,l:X,r:Q})=>`${Z}: ${oQ(X,Q)}`).join(`
|
|
22
|
+
• `)}`}throw(){return M(this.describeReasons())}invert(){let Z=this.map((X)=>({...X,l:X.r,r:X.l}));if(!(Z instanceof A))return new A(...Z);return Z}withPrefixKey(Z,X){return this.map((Q)=>({...Q,path:[Z,...Q.path],optional:Q.optional||X==="optional"}))}toNeverIfDisjoint(){return R.intrinsic.never}}});var K2,N0=(Z,X,Q)=>n(Z,X,{$:Q,invert:!1,pipe:!1}),T6=(Z,X,Q)=>n(Z,X,{$:Q,invert:!1,pipe:!0}),n=(Z,X,Q)=>{let U=Q.pipe?"|>":"&",J=`${Z.hash}${U}${X.hash}`;if(K2[J]!==void 0)return K2[J];if(!Q.pipe){let W=`${X.hash}${U}${Z.hash}`;if(K2[W]!==void 0){let $=K2[W],L=$ instanceof A?$.invert():$;return K2[J]=L,L}}let q=!Q.pipe||!Z.includesTransform&&!X.includesTransform;if(q&&Z.equals(X))return Z;let Y=q?EZ(Z,X,Q):Z.hasKindIn(...M2)?wW(Z,X,Q):EZ(Z,X,Q);if(o(Y)){if(Z.equals(Y))Y=Z;else if(X.equals(Y))Y=X}return K2[J]=Y,Y},EZ=(Z,X,Q)=>{let U=Z.precedence<X.precedence?Z.kind:X.kind,J=Z.impl.intersections[X.kind]??X.impl.intersections[Z.kind];if(J===void 0)return null;else if(U===Z.kind)return J(Z,X,Q);else{let q=J(X,Z,{...Q,invert:!Q.invert});if(q instanceof A)q=q.invert();return q}},wW=(Z,X,Q)=>Z.includesTransform||X.includesTransform?Q.invert?nQ(X,Z,Q):nQ(Z,X,Q):EZ(Z,X,Q),nQ=(Z,X,Q)=>Z.distribute((U)=>AW(U,X,Q),(U)=>{let J=U.filter(o);if(J.length===0)return A.init("union",Z.branches,X.branches);if(J.length<Z.branches.length||!Z.branches.every((W,$)=>W.rawIn.equals(J[$].rawIn)))return Q.$.parseSchema(J);let q;if(J.length===1){let W=J[0];if(!q)return W;return Q.$.node("morph",{...W.inner,in:W.rawIn.configure(q,"self")})}let Y={branches:J};if(q)Y.meta=q;return Q.$.parseSchema(Y)}),AW=(Z,X,Q)=>{if(Z.hasKind("morph")){let J=[...Z.morphs];if(Z.lastMorphIfNode){let q=n(Z.lastMorphIfNode,X,Q);if(q instanceof A)return q;J[J.length-1]=q}else J.push(X);return Q.$.node("morph",{morphs:J,in:Z.inner.in})}if(X.hasKind("morph")){let J=n(Z,X.rawIn,Q);if(J instanceof A)return J;return Q.$.node("morph",{morphs:[X],in:J})}return Q.$.node("morph",{morphs:[X],in:Z})};var v0=O(()=>{U0();d();J0();K2={}});var x0,B1,F0=(Z)=>(X,Q)=>{if(r(X)){if(X.length===0)return;let J=X.map((q)=>Q.$.node(Z,q));if(Z==="predicate")return J;return J.sort((q,Y)=>q.hash<Y.hash?-1:1)}let U=Q.$.node(Z,X);return U.hasOpenIntersection()?[U]:U},T2=(Z)=>{let X=Z.r.shift();if(!X){let U=Z.l.length===0&&Z.kind==="structure"?R.intrinsic.unknown.internal:Z.ctx.$.node(Z.kind,Object.assign(Z.baseInner,SW(Z.l)),{prereduced:!0});for(let J of Z.roots){if(U instanceof A)return U;U=n(J,U,Z.ctx)}return U}let Q=!1;for(let U=0;U<Z.l.length;U++){let J=n(Z.l[U],X,Z.ctx);if(J===null)continue;if(J instanceof A)return J;if(J.isRoot())return Z.roots.push(J),Z.l.splice(U),T2(Z);if(!Q)Z.l[U]=J,Q=!0;else if(!Z.l.includes(J))return u(`Unexpectedly encountered multiple distinct intersection results for refinement ${X}`)}if(!Q)Z.l.push(X);if(Z.kind==="intersection"){if(X.impliedSiblings)for(let U of X.impliedSiblings)Z1(Z.r,U)}return T2(Z)},D2=(Z)=>{return Object.entries(Z).flatMap(([Q,U])=>(Q in E4)?U:[]).sort((Q,U)=>Q.precedence<U.precedence?-1:Q.precedence>U.precedence?1:Q.kind==="predicate"&&U.kind==="predicate"?0:Q.hash<U.hash?-1:1)},SW=(Z)=>{let X={};for(let Q of Z)if(Q.hasOpenIntersection())X[Q.kind]=m(X[Q.kind],Q);else{if(X[Q.kind])return u(`Unexpected intersection of closed refinements of kind ${Q.kind}`);X[Q.kind]=Q}return X},tQ=(...Z)=>M(eQ(...Z)),eQ=(Z,X,Q)=>{let U=Q.hasKind("morph")?"a morph":Q.isUnknown()?"unknown":Q.exclude(X).defaultShortDescription;return`${PQ(Z)} operand must be ${X.description} (was ${U})`};var b0=O(()=>{E();Z2();U0();d();v0();p();J0();x0=class x0 extends K6{constructor(Z,X){super(Z,X);Object.defineProperty(this,M0,{value:"constraint",enumerable:!1})}impliedSiblings;intersect(Z){return N0(this,Z,this.$)}};B1=class B1 extends x0{traverseApply=(Z,X)=>{if(!this.traverseAllows(Z,X))X.errorFromNodeContext(this.errorContext)};compile(Z){if(Z.traversalKind==="Allows")Z.return(this.compiledCondition);else Z.if(this.compiledNegation,()=>Z.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return C1(this.errorContext)}}});var ZU=(Z,X,Q)=>new E1(Z,X,Q,Q,null),I4,E1,CW=(Z,X,Q)=>`${Z} must be assignable to ${X} (was ${Q})`;var bZ=O(()=>{E();p();J0();I4=class I4 extends A0{};E1=class E1 extends A0{[M0]="generic";paramDefs;bodyDef;$;arg$;baseInstantiation;hkt;description;constructor(Z,X,Q,U,J){super((...q)=>{let Y=y(this.names,(W,$)=>{let L=this.arg$.parse(q[W]);if(!L.extends(this.constraints[W]))M(CW($,this.constraints[W].expression,L.expression));return[$,L]});if(this.defIsLazy()){let W=this.bodyDef(Y);return this.$.parse(W)}return this.$.parse(X,{args:Y})});this.paramDefs=Z,this.bodyDef=X,this.$=Q,this.arg$=U,this.hkt=J,this.description=J?new J().description??`a generic type for ${J.constructor.name}`:"a generic type",this.baseInstantiation=this(...this.constraints)}defIsLazy(){return this.bodyDef instanceof I4}cacheGetter(Z,X){return Object.defineProperty(this,Z,{value:X}),X}get json(){return this.cacheGetter("json",{params:this.params.map((Z)=>Z[1].isUnknown()?Z[0]:[Z[0],Z[1].json]),body:fQ(this.bodyDef)})}get params(){return this.cacheGetter("params",this.paramDefs.map((Z)=>typeof Z==="string"?[Z,R.intrinsic.unknown]:[Z[0],this.$.parse(Z[1])]))}get names(){return this.cacheGetter("names",this.params.map((Z)=>Z[0]))}get constraints(){return this.cacheGetter("constraints",this.params.map((Z)=>Z[1]))}get internal(){return this}get referencesById(){return this.baseInstantiation.internal.referencesById}get references(){return this.baseInstantiation.internal.references}}});var NW,XU,IZ;var fZ=O(()=>{b0();d();p();NW=g({kind:"predicate",hasAssociatedError:!0,collapsibleKey:"predicate",keys:{predicate:{}},normalize:(Z)=>typeof Z==="function"?{predicate:Z}:Z,defaults:{description:(Z)=>`valid according to ${Z.predicate.name||"an anonymous predicate"}`},intersectionIsOpen:!0,intersections:{predicate:()=>null}});XU=class XU extends x0{serializedPredicate=Z0(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=C1(this.errorContext);traverseApply=(Z,X)=>{let Q=X.currentErrorCount;if(!this.predicate(Z,X.external)&&X.currentErrorCount===Q)X.errorFromNodeContext(this.errorContext)};compile(Z){if(Z.traversalKind==="Allows"){Z.return(this.compiledCondition);return}Z.initializeErrorCount(),Z.if(`${this.compiledNegation} && ctx.currentErrorCount === errorCount`,()=>Z.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}reduceJsonSchema(Z,X){return X.fallback.predicate({code:"predicate",base:Z,predicate:this.predicate})}};IZ={implementation:NW,Node:XU}});var jW,QU,yZ,EW=(Z)=>`divisor must be an integer (was ${Z})`,bW=(Z,X)=>{let Q,U=Z,J=X;while(J!==0)Q=J,J=U%J,U=Q;return U};var kZ=O(()=>{E();b0();d();p();jW=g({kind:"divisor",collapsibleKey:"rule",keys:{rule:{parse:(Z)=>Number.isInteger(Z)?Z:M(EW(Z))}},normalize:(Z)=>typeof Z==="number"?{rule:Z}:Z,hasAssociatedError:!0,defaults:{description:(Z)=>Z.rule===1?"an integer":Z.rule===2?"even":`a multiple of ${Z.rule}`},intersections:{divisor:(Z,X,Q)=>Q.$.node("divisor",{rule:Math.abs(Z.rule*X.rule/bW(Z.rule,X.rule))})},obviatesBasisDescription:!0});QU=class QU extends B1{traverseAllows=(Z)=>Z%this.rule===0;compiledCondition=`data % ${this.rule} === 0`;compiledNegation=`data % ${this.rule} !== 0`;impliedBasis=R.intrinsic.number.internal;expression=`% ${this.rule}`;reduceJsonSchema(Z){if(Z.type="integer",this.rule===1)return Z;return Z.multipleOf=this.rule,Z}};yZ={implementation:jW,Node:QU}});var I0,IW,fW,f4,y4=(Z)=>(X)=>{if(typeof X==="number")return{rule:X};let{exclusive:Q,...U}=X;return Q?{...U,rule:Z==="minLength"?U.rule+1:U.rule-1}:U},k4=(Z)=>(X)=>{if(typeof X==="number"||typeof X==="string"||X instanceof Date)return{rule:X};let{exclusive:Q,...U}=X;if(!Q)return U;let J=typeof U.rule==="number"?U.rule:typeof U.rule==="string"?new Date(U.rule).valueOf():U.rule.valueOf();return Q?{...U,rule:Z==="after"?J+1:J-1}:U},g4=(Z)=>typeof Z==="string"||typeof Z==="number"?new Date(Z):Z,yW=(Z,X)=>`${Z} bound must be a positive integer (was ${X})`,w2=(Z)=>(X)=>{if(!Number.isInteger(X)||X<0)M(yW(Z,X));return X},kW,gW=(Z,X)=>`${L0(Z,fW)?">":"<"}${X?"":"="}`,vW=(Z)=>typeof Z==="string"?Z:new Date(Z).toLocaleString(),UU=(Z)=>`Bounded expression ${Z} must be exactly one of number, string, Array, or Date`;var M1=O(()=>{E();b0();I0=class I0 extends B1{boundOperandKind=kW[this.kind];compiledActual=this.boundOperandKind==="value"?"data":this.boundOperandKind==="length"?"data.length":"data.valueOf()";comparator=gW(this.kind,this.exclusive);numericLimit=this.rule.valueOf();expression=`${this.comparator} ${this.rule}`;compiledCondition=`${this.compiledActual} ${this.comparator} ${this.numericLimit}`;compiledNegation=`${this.compiledActual} ${IW[this.comparator]} ${this.numericLimit}`;stringLimit=this.boundOperandKind==="date"?vW(this.numericLimit):`${this.numericLimit}`;limitKind=this.comparator["0"]==="<"?"upper":"lower";isStricterThan(Z){return(this.limitKind==="upper"?this.numericLimit<Z.numericLimit:this.numericLimit>Z.numericLimit)||this.numericLimit===Z.numericLimit&&this.exclusive===!0&&!Z.exclusive}overlapsRange(Z){if(this.isStricterThan(Z))return!1;if(this.numericLimit===Z.numericLimit&&(this.exclusive||Z.exclusive))return!1;return!0}overlapIsUnit(Z){return this.numericLimit===Z.numericLimit&&!this.exclusive&&!Z.exclusive}};IW={"<":">=","<=":">",">":"<=",">=":"<"},fW={min:"max",minLength:"maxLength",after:"before"},f4={parse:(Z)=>Z||void 0},kW={min:"value",max:"value",minLength:"length",maxLength:"length",after:"date",before:"date"}});var xW,JU,gZ;var vZ=O(()=>{E();d();p();M1();xW=g({kind:"after",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:g4,serialize:(Z)=>Z.toISOString()}},normalize:k4("after"),defaults:{description:(Z)=>`${Z.collapsibleLimitString} or later`,actual:e1},intersections:{after:(Z,X)=>Z.isStricterThan(X)?Z:X}});JU=class JU extends I0{impliedBasis=R.intrinsic.Date.internal;collapsibleLimitString=e1(this.rule);traverseAllows=(Z)=>Z>=this.rule;reduceJsonSchema(Z,X){return X.fallback.date({code:"date",base:Z,after:this.rule})}};gZ={implementation:xW,Node:JU}});var hW,qU,xZ;var hZ=O(()=>{E();U0();d();p();M1();hW=g({kind:"before",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:g4,serialize:(Z)=>Z.toISOString()}},normalize:k4("before"),defaults:{description:(Z)=>`${Z.collapsibleLimitString} or earlier`,actual:e1},intersections:{before:(Z,X)=>Z.isStricterThan(X)?Z:X,after:(Z,X,Q)=>Z.overlapsRange(X)?Z.overlapIsUnit(X)?Q.$.node("unit",{unit:Z.rule}):null:A.init("range",Z,X)}});qU=class qU extends I0{collapsibleLimitString=e1(this.rule);traverseAllows=(Z)=>Z<=this.rule;impliedBasis=R.intrinsic.Date.internal;reduceJsonSchema(Z,X){return X.fallback.date({code:"date",base:Z,before:this.rule})}};xZ={implementation:hW,Node:qU}});var mW,YU,mZ;var uZ=O(()=>{b0();U0();d();p();N1();M1();mW=g({kind:"exactLength",collapsibleKey:"rule",keys:{rule:{parse:w2("exactLength")}},normalize:(Z)=>typeof Z==="number"?{rule:Z}:Z,hasAssociatedError:!0,defaults:{description:(Z)=>`exactly length ${Z.rule}`,actual:(Z)=>`${Z.length}`},intersections:{exactLength:(Z,X,Q)=>A.init("unit",Q.$.node("unit",{unit:Z.rule}),Q.$.node("unit",{unit:X.rule}),{path:["length"]}),minLength:(Z,X)=>Z.rule>=X.rule?Z:A.init("range",Z,X),maxLength:(Z,X)=>Z.rule<=X.rule?Z:A.init("range",Z,X)}});YU=class YU extends B1{traverseAllows=(Z)=>Z.length===this.rule;compiledCondition=`data.length === ${this.rule}`;compiledNegation=`data.length !== ${this.rule}`;impliedBasis=R.intrinsic.lengthBoundable.internal;expression=`== ${this.rule}`;reduceJsonSchema(Z){switch(Z.type){case"string":return Z.minLength=this.rule,Z.maxLength=this.rule,Z;case"array":return Z.minItems=this.rule,Z.maxItems=this.rule,Z;default:return t.throwInternalOperandError("exactLength",Z)}}};mZ={implementation:mW,Node:YU}});var uW,WU,pZ;var lZ=O(()=>{U0();d();p();M1();uW=g({kind:"max",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:f4},normalize:(Z)=>typeof Z==="number"?{rule:Z}:Z,defaults:{description:(Z)=>{if(Z.rule===0)return Z.exclusive?"negative":"non-positive";return`${Z.exclusive?"less than":"at most"} ${Z.rule}`}},intersections:{max:(Z,X)=>Z.isStricterThan(X)?Z:X,min:(Z,X,Q)=>Z.overlapsRange(X)?Z.overlapIsUnit(X)?Q.$.node("unit",{unit:Z.rule}):null:A.init("range",Z,X)},obviatesBasisDescription:!0});WU=class WU extends I0{impliedBasis=R.intrinsic.number.internal;traverseAllows=this.exclusive?(Z)=>Z<this.rule:(Z)=>Z<=this.rule;reduceJsonSchema(Z){if(this.exclusive)Z.exclusiveMaximum=this.rule;else Z.maximum=this.rule;return Z}};pZ={implementation:uW,Node:WU}});var pW,$U,dZ;var cZ=O(()=>{U0();d();p();N1();M1();pW=g({kind:"maxLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:w2("maxLength")}},reduce:(Z,X)=>Z.rule===0?X.node("exactLength",Z):void 0,normalize:y4("maxLength"),defaults:{description:(Z)=>`at most length ${Z.rule}`,actual:(Z)=>`${Z.length}`},intersections:{maxLength:(Z,X)=>Z.isStricterThan(X)?Z:X,minLength:(Z,X,Q)=>Z.overlapsRange(X)?Z.overlapIsUnit(X)?Q.$.node("exactLength",{rule:Z.rule}):null:A.init("range",Z,X)}});$U=class $U extends I0{impliedBasis=R.intrinsic.lengthBoundable.internal;traverseAllows=(Z)=>Z.length<=this.rule;reduceJsonSchema(Z){switch(Z.type){case"string":return Z.maxLength=this.rule,Z;case"array":return Z.maxItems=this.rule,Z;default:return t.throwInternalOperandError("maxLength",Z)}}};dZ={implementation:pW,Node:$U}});var lW,LU,iZ;var sZ=O(()=>{d();p();M1();lW=g({kind:"min",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:f4},normalize:(Z)=>typeof Z==="number"?{rule:Z}:Z,defaults:{description:(Z)=>{if(Z.rule===0)return Z.exclusive?"positive":"non-negative";return`${Z.exclusive?"more than":"at least"} ${Z.rule}`}},intersections:{min:(Z,X)=>Z.isStricterThan(X)?Z:X},obviatesBasisDescription:!0});LU=class LU extends I0{impliedBasis=R.intrinsic.number.internal;traverseAllows=this.exclusive?(Z)=>Z>this.rule:(Z)=>Z>=this.rule;reduceJsonSchema(Z){if(this.exclusive)Z.exclusiveMinimum=this.rule;else Z.minimum=this.rule;return Z}};iZ={implementation:lW,Node:LU}});var dW,GU,aZ;var rZ=O(()=>{d();p();N1();M1();dW=g({kind:"minLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:w2("minLength")}},reduce:(Z)=>Z.rule===0?R.intrinsic.unknown:void 0,normalize:y4("minLength"),defaults:{description:(Z)=>Z.rule===1?"non-empty":`at least length ${Z.rule}`,actual:(Z)=>Z.length===0?"":`${Z.length}`},intersections:{minLength:(Z,X)=>Z.isStricterThan(X)?Z:X}});GU=class GU extends I0{impliedBasis=R.intrinsic.lengthBoundable.internal;traverseAllows=(Z)=>Z.length>=this.rule;reduceJsonSchema(Z){switch(Z.type){case"string":return Z.minLength=this.rule,Z;case"array":return Z.minItems=this.rule,Z;default:return t.throwInternalOperandError("minLength",Z)}}};aZ={implementation:dW,Node:GU}});var _U,VU;var oZ=O(()=>{vZ();hZ();uZ();lZ();cZ();sZ();rZ();_U={min:iZ.implementation,max:pZ.implementation,minLength:aZ.implementation,maxLength:dZ.implementation,exactLength:mZ.implementation,after:gZ.implementation,before:xZ.implementation},VU={min:iZ.Node,max:pZ.Node,minLength:aZ.Node,maxLength:dZ.Node,exactLength:mZ.Node,after:gZ.Node,before:xZ.Node}});var cW,HU,nZ;var tZ=O(()=>{b0();d();p();cW=g({kind:"pattern",collapsibleKey:"rule",keys:{rule:{},flags:{}},normalize:(Z)=>typeof Z==="string"?{rule:Z}:Z instanceof RegExp?Z.flags?{rule:Z.source,flags:Z.flags}:{rule:Z.source}:Z,obviatesBasisDescription:!0,obviatesBasisExpression:!0,hasAssociatedError:!0,intersectionIsOpen:!0,defaults:{description:(Z)=>`matched by ${Z.rule}`},intersections:{pattern:()=>null}});HU=class HU extends B1{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=R.intrinsic.string.internal;reduceJsonSchema(Z,X){if(Z.pattern)return X.fallback.patternIntersection({code:"patternIntersection",base:Z,pattern:this.rule});return Z.pattern=this.rule,Z}};nZ={implementation:cW,Node:HU}});var D6=(Z,X)=>{let Q=iW(Z);if(X&&!X.includes(Q))return M(`Root of kind ${Q} should be one of ${X}`);return Q},iW=(Z)=>{if(b(Z,"root"))return Z.kind;if(typeof Z==="string")return Z[0]==="$"?"alias":(Z in D0)?"domain":"proto";if(typeof Z==="function")return"proto";if(typeof Z!=="object"||Z===null)return M(FU(Z));if("morphs"in Z)return"morph";if("branches"in Z||r(Z))return"union";if("unit"in Z)return"unit";if("reference"in Z)return"alias";let X=Object.keys(Z);if(X.length===0||X.some((Q)=>(Q in E4)))return"intersection";if("proto"in Z)return"proto";if("domain"in Z)return"domain";return M(FU(Z))},FU=(Z)=>`${k(Z)} is not a valid type schema`,zU,sW=(Z)=>r(Z)?Z.map((X)=>X.collapsibleJson):Z.collapsibleJson,O0,eZ=(Z)=>{return zU[Z]??=0,`${Z}${++zU[Z]}`},Z8=(Z)=>{let X=A2[Z.kind],Q=X.applyConfig?.(Z.def,Z.$.resolvedConfig)??Z.def,U={},{meta:J,...q}=Q,Y=J===void 0?{}:typeof J==="string"?{description:J}:J,W=LZ(q).sort(([L],[_])=>O2(L)?O2(_)?R2(L)-R2(_):1:O2(_)?-1:L<_?-1:1).filter(([L,_])=>{if(L.startsWith("meta.")){let G=L.slice(5);return Y[G]=_,!1}return!0});for(let L of W){let _=L[0],G=X.keys[_];if(!G)return M(`Key ${_} is not valid on ${Z.kind} schema`);let V=G.parse?G.parse(L[1],Z):L[1];if(V!==w0&&(V!==void 0||G.preserveUndefined))U[_]=V}if(X.reduce&&!Z.prereduced){let L=X.reduce(U,Z.$);if(L){if(L instanceof A)return L.throw();return aW(L,Y)}}return X8({id:Z.id,kind:Z.kind,inner:U,meta:Y,$:Z.$})},X8=({id:Z,kind:X,inner:Q,meta:U,$:J,ignoreCache:q})=>{let Y=A2[X],W=LZ(Q),$=[],L={};for(let[K,T]of W){let P=Y.keys[K],D=P.serialize??(P.child?sW:g0);if(L[K]=D(T),P.child===!0){let S=T;if(r(S))$.push(...S);else $.push(S)}else if(typeof P.child==="function")$.push(...P.child(T))}if(Y.finalizeInnerJson)L=Y.finalizeInnerJson(L);let _={...L},G={};if(!Q1(U))G=y(U,(K,T)=>[K,K==="examples"?T:g0(T)]),_.meta=v4(G,"description",!0);L=v4(L,Y.collapsibleKey,!1);let V=JSON.stringify({kind:X,...L});_=v4(_,Y.collapsibleKey,!1);let F=v4(_,Y.collapsibleKey,!0),z=JSON.stringify({kind:X,..._});if(J.nodesByHash[z]&&!q)return J.nodesByHash[z];let H={id:Z,kind:X,impl:Y,inner:Q,innerEntries:W,innerJson:L,innerHash:V,meta:U,metaJson:G,json:_,hash:z,collapsibleJson:F,children:$};if(X!=="intersection"){for(let K in Q)if(K!=="in"&&K!=="out")H[K]=Q[K]}let B=new MU[X](H,J);return J.nodesByHash[z]=B},BU=(Z,X)=>{if(Z.id===X)return Z;if(o(O0[X]))u(`Unexpected attempt to overwrite node id ${X}`);return X8({id:X,kind:Z.kind,inner:Z.inner,meta:Z.meta,$:Z.$,ignoreCache:!0})},aW=(Z,X,Q)=>{if(Q&&o(O0[Q]))u(`Unexpected attempt to overwrite node id ${Q}`);return X8({id:Q??eZ(X.alias??Z.kind),kind:Z.kind,inner:Z.inner,meta:X,$:Z.$})},v4=(Z,X,Q)=>{let U=Object.keys(Z);if(U.length===1&&U[0]===X){let J=Z[X];if(Q)return J;if(T0(J,"object")&&(Object.keys(J).length===1||Array.isArray(J)))return J}return Z};var x4=O(()=>{E();h4();U0();d();p();J0();zU={},O0={};R.nodesByRegisteredId=O0});var w6=(Z,X,Q)=>{if(Z.key!==X.key)return null;let U=Z.key,J=n(Z.value,X.value,Q),q=Z.required||X.required?"required":"optional";if(J instanceof A)if(q==="optional")J=R.intrinsic.never.internal;else return J.withPrefixKey(Z.key,Z.required&&X.required?"required":"optional");if(q==="required")return Q.$.node("required",{key:U,value:J});let Y=Z.hasDefault()?X.hasDefault()?Z.default===X.default?Z.default:M(Q8(Z.default,X.default)):Z.default:X.hasDefault()?X.default:w0;return Q.$.node("optional",{key:U,value:J,default:Y})},A6,Q8=(Z,X)=>`Invalid intersection of default values ${k(Z)} & ${k(X)}`;var S6=O(()=>{E();b0();Z2();S1();U0();v0();p();U1();A6=class A6 extends x0{required=this.kind==="required";optional=this.kind==="optional";impliedBasis=R.intrinsic.object.internal;serializedKey=s0(this.key);compiledKey=typeof this.key==="string"?this.key:this.serializedKey;flatRefs=m(this.value.flatRefs.map((Z)=>r0([this.key,...Z.path],Z.node)),r0([this.key],this.value));_transform(Z,X){X.path.push(this.key);let Q=super._transform(Z,X);return X.path.pop(),Q}hasDefault(){return"default"in this.inner}traverseAllows=(Z,X)=>{if(this.key in Z)return C0(this.key,()=>this.value.traverseAllows(Z[this.key],X),X);return this.optional};traverseApply=(Z,X)=>{if(this.key in Z)C0(this.key,()=>this.value.traverseApply(Z[this.key],X),X);else if(this.hasKind("required"))X.errorFromNodeContext(this.errorContext)};compile(Z){if(Z.if(`${this.serializedKey} in data`,()=>Z.traverseKey(this.serializedKey,`data${Z.prop(this.key)}`,this.value)),this.hasKind("required"))Z.else(()=>Z.traversalKind==="Apply"?Z.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`):Z.return(!1));if(Z.traversalKind==="Allows")Z.return(!0)}}});var rW,OU,C6,oW,nW=(Z)=>{if(!Z.hasDefault())return;let X=`{${Z.compiledKey}: ${Z.value.id} = ${g0(Z.default)}}`;return oW[X]??=U8(Z.key,Z.value,Z.default)},U8=(Z,X,Q)=>{if(typeof Q==="function")return X.includesTransform?(J,q)=>{return C0(Z,()=>X(J[Z]=Q(),q),q),J}:(J)=>{return J[Z]=Q(),J};let U=X.includesTransform?X.assert(Q):Q;return T0(U,"object")?(J,q)=>{return C0(Z,()=>X(J[Z]=Q,q),q),J}:(J)=>{return J[Z]=U,J}},N6=(Z,X,Q)=>{let U=D1(X);if(T0(X,"object")&&!U)M(tW(Q));let J=Z.in(U?X():X);if(J instanceof S0){if(Q===null)M(`Default ${J.summary}`);let q=J.transform((Y)=>Y.transform((W)=>({...W,prefixPath:[Q]})));M(`Default for ${q.summary}`)}return X},tW=(Z)=>{return`Non-primitive default ${Z===null?"":typeof Z==="number"?`for value at [${Z}] `:`for ${s0(Z)} `}must be specified as a function like () => ({my: 'object'})`};var S2=O(()=>{E();m4();S1();R6();d();p();U1();S6();rW=g({kind:"optional",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(Z,X)=>X.$.parseSchema(Z)},default:{preserveUndefined:!0}},normalize:(Z)=>Z,reduce:(Z,X)=>{if(X.resolvedConfig.exactOptionalPropertyTypes===!1){if(!Z.value.allows(void 0))return X.node("optional",{...Z,value:Z.value.or(I.undefined)},{prereduced:!0})}},defaults:{description:(Z)=>`${Z.compiledKey}?: ${Z.value.description}`},intersections:{optional:w6}});OU=class OU extends A6{constructor(...Z){super(...Z);if("default"in this.inner)N6(this.value,this.inner.default,this.key)}get rawIn(){let Z=super.rawIn;if(!this.hasDefault())return Z;return this.$.node("optional",K4(Z.inner,{default:!0}),{prereduced:!0})}get outProp(){if(!this.hasDefault())return this;let{default:Z,...X}=this.inner;return this.cacheGetter("outProp",this.$.node("required",X,{prereduced:!0}))}expression=this.hasDefault()?`${this.compiledKey}: ${this.value.expression} = ${k(this.inner.default)}`:`${this.compiledKey}?: ${this.value.expression}`;defaultValueMorph=nW(this);defaultValueMorphRef=this.defaultValueMorph&&Z0(this.defaultValueMorph)};C6={implementation:rW,Node:OU},oW={}});var h0,eW="Expected a non-empty brand name after #",TU,Z$=(Z)=>`JSONSchema target '${Z}' is not supported (must be ${TU.map((X)=>`"${X}"`).join(" or ")})`,RU=(Z)=>{if(!k0(TU,Z))M(Z$(Z));return Z},C2=(Z)=>typeof Z==="object"&&!(Z instanceof Date)?{...Z,exclusive:!0}:{rule:Z,exclusive:!0},j6=(Z,X)=>b(X,"root")?b(Z,"root")?Z.extends(X):X.allows(Z):b(Z,"root")?Z.hasUnit(X):X===Z,PU=(Z)=>{if(Z.hasKind("morph"))return null;if(Z.hasKind("intersection"))return Z.inner.structure??(Z.basis?.domain==="object"?Z.$.bindReference(R.intrinsic.emptyStructure):null);if(Z.isBasis()&&Z.domain==="object")return Z.$.bindReference(R.intrinsic.emptyStructure);return null},X$=(Z)=>`Props cannot be extracted from a union. Use .distribute to extract props from each branch instead. Received:
|
|
23
|
+
${Z}`,KU=(Z,X)=>`${Z} operand must be an object (was ${X})`;var b1=O(()=>{E();P2();b0();Z2();U0();R6();d();v0();p();J0();S2();h0=class h0 extends K6{constructor(Z,X){super(Z,X);Object.defineProperty(this,M0,{value:"root",enumerable:!1})}get rawIn(){return super.rawIn}get rawOut(){return super.rawOut}get internal(){return this}get "~standard"(){return{vendor:"arktype",version:1,validate:(Z)=>{let X=this(Z);if(X instanceof S0)return X;return{value:X}},jsonSchema:{input:(Z)=>this.rawIn.toJsonSchema({target:RU(Z.target),...Z.libraryOptions}),output:(Z)=>this.rawOut.toJsonSchema({target:RU(Z.target),...Z.libraryOptions})}}}as(){return this}brand(Z){if(Z==="")return M(eW);return this}readonly(){return this}branches=this.hasKind("union")?this.inner.branches:[this];distribute(Z,X){let Q=this.branches.map(Z);return X?.(Q)??Q}get shortDescription(){return this.meta.description??this.defaultShortDescription}toJsonSchema(Z={}){let X=AZ(this.$.resolvedConfig.toJsonSchema,Z);X.useRefs||=this.isCyclic;let Q=typeof X.dialect==="string"?{$schema:X.dialect}:{};if(Object.assign(Q,this.toJsonSchemaRecurse(X)),X.useRefs){let U=y(this.references,(J,q)=>q.isRoot()&&!q.alwaysExpandJsonSchema?[q.id,q.toResolvedJsonSchema(X)]:[]);if(X.target==="draft-07")Object.assign(Q,{definitions:U});else Q.$defs=U}return Q}toJsonSchemaRecurse(Z){if(Z.useRefs&&!this.alwaysExpandJsonSchema)return{$ref:`#/${Z.target==="draft-07"?"definitions":"$defs"}/${this.id}`};return this.toResolvedJsonSchema(Z)}get alwaysExpandJsonSchema(){return this.isBasis()||this.kind==="alias"||this.hasKind("union")&&this.isBoolean}toResolvedJsonSchema(Z){let X=this.innerToJsonSchema(Z);return Object.assign(X,this.metaJson)}intersect(Z){let X=this.$.parseDefinition(Z),Q=this.rawIntersect(X);if(Q instanceof A)return Q;return this.$.finalize(Q)}rawIntersect(Z){return N0(this,Z,this.$)}toNeverIfDisjoint(){return this}and(Z){let X=this.intersect(Z);return X instanceof A?X.throw():X}rawAnd(Z){let X=this.rawIntersect(Z);return X instanceof A?X.throw():X}or(Z){let X=this.$.parseDefinition(Z);return this.$.finalize(this.rawOr(X))}rawOr(Z){let X=[...this.branches,...Z.branches];return this.$.node("union",X)}map(Z){return this.$.schema(this.applyStructuralOperation("map",[Z]))}pick(...Z){return this.$.schema(this.applyStructuralOperation("pick",Z))}omit(...Z){return this.$.schema(this.applyStructuralOperation("omit",Z))}required(){return this.$.schema(this.applyStructuralOperation("required",[]))}partial(){return this.$.schema(this.applyStructuralOperation("partial",[]))}_keyof;keyof(){if(this._keyof)return this._keyof;let Z=this.applyStructuralOperation("keyof",[]).reduce((X,Q)=>X.intersect(Q).toNeverIfDisjoint(),R.intrinsic.unknown.internal);if(Z.branches.length===0)M(jZ(`keyof ${this.expression}`));return this._keyof=this.$.finalize(Z)}get props(){if(this.branches.length!==1)return M(X$(this.expression));return[...this.applyStructuralOperation("props",[])[0]]}merge(Z){let X=this.$.parseDefinition(Z);return this.$.schema(X.distribute((Q)=>this.applyStructuralOperation("merge",[PU(Q)??M(KU("merge",Q.expression))])))}applyStructuralOperation(Z,X){return this.distribute((Q)=>{if(Q.equals(R.intrinsic.object)&&Z!=="merge")return Q;let U=PU(Q);if(!U)M(KU(Z,Q.expression));if(Z==="keyof")return U.keyof();if(Z==="get")return U.get(...X);if(Z==="props")return U.props;let J=Z==="required"?"require":Z==="partial"?"optionalize":Z;return this.$.node("intersection",{domain:"object",structure:U[J](...X)})})}get(...Z){if(Z[0]===void 0)return this;return this.$.schema(this.applyStructuralOperation("get",Z))}extract(Z){let X=this.$.parseDefinition(Z);return this.$.schema(this.branches.filter((Q)=>Q.extends(X)))}exclude(Z){let X=this.$.parseDefinition(Z);return this.$.schema(this.branches.filter((Q)=>!Q.extends(X)))}array(){return this.$.schema(this.isUnknown()?{proto:Array}:{proto:Array,sequence:this},{prereduced:!0})}overlaps(Z){return!(this.intersect(Z)instanceof A)}extends(Z){if(this.isNever())return!0;let X=this.intersect(Z);return!(X instanceof A)&&this.equals(X)}ifExtends(Z){return this.extends(Z)?this:void 0}subsumes(Z){return this.$.parseDefinition(Z).extends(this)}configure(Z,X="shallow"){return this.configureReferences(Z,X)}describe(Z,X="shallow"){return this.configure({description:Z},X)}optional(){return[this,"?"]}default(Z){return N6(this,Z,null),[this,"=",Z]}from(Z){return this.assert(Z)}_pipe(...Z){let X=Z.reduce((Q,U)=>Q.rawPipeOnce(U),this);return this.$.finalize(X)}tryPipe(...Z){let X=Z.reduce((Q,U)=>Q.rawPipeOnce(b(U,"root")?U:(J,q)=>{try{return U(J,q)}catch(Y){return q.error({code:"predicate",predicate:U,actual:`aborted due to error:
|
|
24
|
+
${Y}
|
|
25
|
+
`})}}),this);return this.$.finalize(X)}pipe=Object.assign(this._pipe.bind(this),{try:this.tryPipe.bind(this)});to(Z){return this.$.finalize(this.toNode(this.$.parseDefinition(Z)))}toNode(Z){let X=T6(this,Z,this.$);if(X instanceof A)return X.throw();return X}rawPipeOnce(Z){if(b(Z,"root"))return this.toNode(Z);return this.distribute((X)=>X.hasKind("morph")?this.$.node("morph",{in:X.inner.in,morphs:[...X.morphs,Z]}):this.$.node("morph",{in:X,morphs:[Z]}),this.$.parseSchema)}narrow(Z){return this.constrainOut("predicate",Z)}constrain(Z,X){return this._constrain("root",Z,X)}constrainIn(Z,X){return this._constrain("in",Z,X)}constrainOut(Z,X){return this._constrain("out",Z,X)}_constrain(Z,X,Q){let U=this.$.node(X,Q);if(U.isRoot())return U.isUnknown()?this:u(`Unexpected constraint node ${U}`);let J=Z==="root"?this:Z==="in"?this.rawIn:this.rawOut;if(J.hasKind("morph")||U.impliedBasis&&!J.extends(U.impliedBasis))return tQ(X,U.impliedBasis,this);let q=this.$.node("intersection",{[U.kind]:U}),Y=Z==="out"?T6(this,q,this.$):N0(this,q,this.$);if(Y instanceof A)Y.throw();return this.$.finalize(Y)}onUndeclaredKey(Z){let X=typeof Z==="string"?Z:Z.rule,Q=typeof Z==="string"?!1:Z.deep;return this.$.finalize(this.transform((U,J)=>U==="structure"?X==="ignore"?K4(J,{undeclared:1}):{...J,undeclared:X}:J,Q?void 0:{shouldTransform:(U)=>!k0(B2,U.kind)}))}hasEqualMorphs(Z){if(!this.includesTransform&&!Z.includesTransform)return!0;if(!V1(this.shallowMorphs,Z.shallowMorphs))return!1;if(!V1(this.flatMorphs,Z.flatMorphs,{isEqual:(X,Q)=>X.propString===Q.propString&&(X.node.hasKind("morph")&&Q.node.hasKind("morph")?X.node.hasEqualMorphs(Q.node):X.node.hasKind("intersection")&&Q.node.hasKind("intersection")?X.node.structure?.structuralMorphRef===Q.node.structure?.structuralMorphRef:!1)}))return!1;return!0}onDeepUndeclaredKey(Z){return this.onUndeclaredKey({rule:Z,deep:!0})}filter(Z){return this.constrainIn("predicate",Z)}divisibleBy(Z){return this.constrain("divisor",Z)}matching(Z){return this.constrain("pattern",Z)}atLeast(Z){return this.constrain("min",Z)}atMost(Z){return this.constrain("max",Z)}moreThan(Z){return this.constrain("min",C2(Z))}lessThan(Z){return this.constrain("max",C2(Z))}atLeastLength(Z){return this.constrain("minLength",Z)}atMostLength(Z){return this.constrain("maxLength",Z)}moreThanLength(Z){return this.constrain("minLength",C2(Z))}lessThanLength(Z){return this.constrain("maxLength",C2(Z))}exactlyLength(Z){return this.constrain("exactLength",Z)}atOrAfter(Z){return this.constrain("after",Z)}atOrBefore(Z){return this.constrain("before",Z)}laterThan(Z){return this.constrain("after",C2(Z))}earlierThan(Z){return this.constrain("before",C2(Z))}};TU=["draft-2020-12","draft-07"]});var J1=(Z,X)=>y(b4(Z),(Q,U)=>[U,X]);var N2=O(()=>{E();d()});var Q$=(Z)=>typeof Z==="string"?{reference:Z}:Z,DU=(Z)=>Z instanceof A?R.intrinsic.never.internal:Z,U$,wU,J$=(Z,X)=>`Alias '${Z}' has a shallow resolution cycle: ${[...X,Z].join("->")}`,E6;var J8=O(()=>{E();x4();U0();d();v0();p();J0();b1();N2();U$=g({kind:"alias",hasAssociatedError:!1,collapsibleKey:"reference",keys:{reference:{serialize:(Z)=>Z.startsWith("$")?Z:`$ark.${Z}`},resolve:{}},normalize:Q$,defaults:{description:(Z)=>Z.reference},intersections:{alias:(Z,X,Q)=>Q.$.lazilyResolve(()=>DU(n(Z.resolution,X.resolution,Q)),`${Z.reference}${Q.pipe?"=>":"&"}${X.reference}`),...J1("alias",(Z,X,Q)=>{if(X.isUnknown())return Z;if(X.isNever())return X;if(X.isBasis()&&!X.overlaps(R.intrinsic.object))return A.init("assignability",R.intrinsic.object,X);return Q.$.lazilyResolve(()=>DU(n(Z.resolution,X,Q)),`${Z.reference}${Q.pipe?"=>":"&"}${X.id}`)})}});wU=class wU extends h0{expression=this.reference;structure=void 0;get resolution(){let Z=this._resolve();return O0[this.id]=Z}_resolve(){if(this.resolve)return this.resolve();if(this.reference[0]==="$")return this.$.resolveRoot(this.reference.slice(1));let Z=this.reference,X=O0[Z],Q=[];while(b(X,"context")){if(Q.includes(X.id))return M(J$(X.id,Q));Q.push(X.id),X=O0[X.id]}if(!b(X,"root"))return u(`Unexpected resolution for reference ${this.reference}
|
|
26
|
+
Seen: [${Q.join("->")}]
|
|
27
|
+
Resolution: ${k(X)}`);return X}get resolutionId(){if(this.reference.includes("&")||this.reference.includes("=>"))return this.resolution.id;if(this.reference[0]!=="$")return this.reference;let Z=this.reference.slice(1),X=this.$.resolutions[Z];if(typeof X==="string")return X;if(b(X,"root"))return X.id;return u(`Unexpected resolution for reference ${this.reference}: ${k(X)}`)}get defaultShortDescription(){return D0.object}innerToJsonSchema(Z){return this.resolution.toJsonSchemaRecurse(Z)}traverseAllows=(Z,X)=>{let Q=X.seen[this.reference];if(Q?.includes(Z))return!0;return X.seen[this.reference]=m(Q,Z),this.resolution.traverseAllows(Z,X)};traverseApply=(Z,X)=>{let Q=X.seen[this.reference];if(Q?.includes(Z))return;X.seen[this.reference]=m(Q,Z),this.resolution.traverseApply(Z,X)};compile(Z){let X=this.resolutionId;Z.if(`ctx.seen.${X} && ctx.seen.${X}.includes(data)`,()=>Z.return(!0)),Z.if(`!ctx.seen.${X}`,()=>Z.line(`ctx.seen.${X} = []`)),Z.line(`ctx.seen.${X}.push(data)`),Z.return(Z.invoke(X))}};E6={implementation:U$,Node:wU}});var X2;var u4=O(()=>{d();b1();X2=class X2 extends h0{traverseApply=(Z,X)=>{if(!this.traverseAllows(Z,X))X.errorFromNodeContext(this.errorContext)};get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return C1(this.errorContext)}compile(Z){if(Z.traversalKind==="Allows")Z.return(this.compiledCondition);else Z.if(this.compiledNegation,()=>Z.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}}});var q$,AU,p4;var q8=O(()=>{E();U0();d();u4();q$=g({kind:"domain",hasAssociatedError:!0,collapsibleKey:"domain",keys:{domain:{},numberAllowsNaN:{}},normalize:(Z)=>typeof Z==="string"?{domain:Z}:H2(Z,"numberAllowsNaN")&&Z.domain!=="number"?M(p4.writeBadAllowNanMessage(Z.domain)):Z,applyConfig:(Z,X)=>Z.numberAllowsNaN===void 0&&Z.domain==="number"&&X.numberAllowsNaN?{...Z,numberAllowsNaN:!0}:Z,defaults:{description:(Z)=>D0[Z.domain],actual:(Z)=>Number.isNaN(Z)?"NaN":D0[$0(Z)]},intersections:{domain:(Z,X)=>Z.domain==="number"&&X.domain==="number"?Z.numberAllowsNaN?X:Z:A.init("domain",Z,X)}});AU=class AU extends X2{requiresNaNCheck=this.domain==="number"&&!this.numberAllowsNaN;traverseAllows=this.requiresNaNCheck?(Z)=>typeof Z==="number"&&!Number.isNaN(Z):(Z)=>$0(Z)===this.domain;compiledCondition=this.domain==="object"?'((typeof data === "object" && data !== null) || typeof data === "function")':`typeof data === "${this.domain}"${this.requiresNaNCheck?" && !Number.isNaN(data)":""}`;compiledNegation=this.domain==="object"?'((typeof data !== "object" || data === null) && typeof data !== "function")':`typeof data !== "${this.domain}"${this.requiresNaNCheck?" || Number.isNaN(data)":""}`;expression=this.numberAllowsNaN?"number | NaN":this.domain;get nestableExpression(){return this.numberAllowsNaN?`(${this.expression})`:this.expression}get defaultShortDescription(){return D0[this.domain]}innerToJsonSchema(Z){if(this.domain==="bigint"||this.domain==="symbol")return Z.fallback.domain({code:"domain",base:{},domain:this.domain});return{type:this.domain}}};p4={implementation:q$,Node:AU,writeBadAllowNanMessage:(Z)=>`numberAllowsNaN may only be specified with domain "number" (was ${Z})`}});var Y$,CU,Y8,W$=(Z)=>{if(Z.structure?.expression)return Z.structure.expression;let X=Z.basis&&!Z.prestructurals.some((J)=>J.impl.obviatesBasisExpression)?Z.basis.nestableExpression:"",Q=Z.prestructurals.map((J)=>J.expression).join(" & "),U=`${X}${X?" ":""}${Q}`;if(U==="Array == 0")return"[]";return U||"unknown"},SU=(Z,X,Q)=>{let U={},J=Z.proto??Z.domain,q=X.proto??X.domain,Y=J?q?n(J,q,Q):J:q;if(Y instanceof A)return Y;if(Y)U[Y.kind]=Y;return T2({kind:"intersection",baseInner:U,l:D2(Z),r:D2(X),roots:[],ctx:Q})};var W8=O(()=>{E();b0();U0();d();v0();J0();b1();N2();Y$=g({kind:"intersection",hasAssociatedError:!0,normalize:(Z)=>{if(o(Z))return Z;let{structure:X,...Q}=Z,U=!!X,J=X??{},q=y(Q,(Y,W)=>{if(L0(Y,lQ)){if(U)M(`Flattened structure key ${Y} cannot be specified alongside a root 'structure' key.`);return J[Y]=W,[]}return[Y,W]});if(b(J,"constraint")||!Q1(J))q.structure=J;return q},finalizeInnerJson:({structure:Z,...X})=>T0(Z,"object")?{...Z,...X}:X,keys:{domain:{child:!0,parse:(Z,X)=>X.$.node("domain",Z)},proto:{child:!0,parse:(Z,X)=>X.$.node("proto",Z)},structure:{child:!0,parse:(Z,X)=>X.$.node("structure",Z),serialize:(Z)=>{if(!Z.sequence?.minLength)return Z.collapsibleJson;let{sequence:X,...Q}=Z.collapsibleJson,{minVariadicLength:U,...J}=X,q=J.variadic&&Object.keys(J).length===1?J.variadic:J;return{...Q,sequence:q}}},divisor:{child:!0,parse:F0("divisor")},max:{child:!0,parse:F0("max")},min:{child:!0,parse:F0("min")},maxLength:{child:!0,parse:F0("maxLength")},minLength:{child:!0,parse:F0("minLength")},exactLength:{child:!0,parse:F0("exactLength")},before:{child:!0,parse:F0("before")},after:{child:!0,parse:F0("after")},pattern:{child:!0,parse:F0("pattern")},predicate:{child:!0,parse:F0("predicate")}},reduce:(Z,X)=>SU({},Z,{$:X,invert:!1,pipe:!1}),defaults:{description:(Z)=>{if(Z.children.length===0)return"unknown";if(Z.structure)return Z.structure.description;let X=[];if(Z.basis&&!Z.prestructurals.some((Q)=>Q.impl.obviatesBasisDescription))X.push(Z.basis.description);if(Z.prestructurals.length){let Q=Z.prestructurals.slice().sort((U,J)=>U.kind==="min"&&J.kind==="max"?-1:0).map((U)=>U.description);X.push(...Q)}if(Z.inner.predicate)X.push(...Z.inner.predicate.map((Q)=>Q.description));return X.join(" and ")},expected:(Z)=>` ◦ ${Z.errors.map((X)=>X.expected).join(`
|
|
28
|
+
◦ `)}`,problem:(Z)=>`(${Z.actual}) must be...
|
|
29
|
+
${Z.expected}`},intersections:{intersection:(Z,X,Q)=>SU(Z.inner,X.inner,Q),...J1("intersection",(Z,X,Q)=>{if(Z.children.length===0)return X;let{domain:U,proto:J,...q}=Z.inner,Y=J??U,W=Y?n(Y,X,Q):X;return W instanceof A?W:Z?.basis?.equals(W)?Z:Z.$.node("intersection",{...q,[W.kind]:W},{prereduced:!0})})}});CU=class CU extends h0{basis=this.inner.domain??this.inner.proto??null;prestructurals=[];refinements=this.children.filter((Z)=>{if(!Z.isRefinement())return!1;if(k0(DZ,Z.kind))this.prestructurals.push(Z);return!0});structure=this.inner.structure;expression=W$(this);get shallowMorphs(){return this.inner.structure?.structuralMorph?[this.inner.structure.structuralMorph]:[]}get defaultShortDescription(){return this.basis?.defaultShortDescription??"present"}innerToJsonSchema(Z){return this.children.reduce((X,Q)=>Q.isBasis()?Q.toJsonSchemaRecurse(Z):Q.reduceJsonSchema(X,Z),{})}traverseAllows=(Z,X)=>this.children.every((Q)=>Q.traverseAllows(Z,X));traverseApply=(Z,X)=>{let Q=X.currentErrorCount;if(this.basis){if(this.basis.traverseApply(Z,X),X.currentErrorCount>Q)return}if(this.prestructurals.length){for(let U=0;U<this.prestructurals.length-1;U++)if(this.prestructurals[U].traverseApply(Z,X),X.failFast&&X.currentErrorCount>Q)return;if(this.prestructurals[this.prestructurals.length-1].traverseApply(Z,X),X.currentErrorCount>Q)return}if(this.structure){if(this.structure.traverseApply(Z,X),X.currentErrorCount>Q)return}if(this.inner.predicate){for(let U=0;U<this.inner.predicate.length-1;U++)if(this.inner.predicate[U].traverseApply(Z,X),X.failFast&&X.currentErrorCount>Q)return;this.inner.predicate[this.inner.predicate.length-1].traverseApply(Z,X)}};compile(Z){if(Z.traversalKind==="Allows"){for(let X of this.children)Z.check(X);Z.return(!0);return}if(Z.initializeErrorCount(),this.basis){if(Z.check(this.basis),this.children.length>1)Z.returnIfFail()}if(this.prestructurals.length){for(let X=0;X<this.prestructurals.length-1;X++)Z.check(this.prestructurals[X]),Z.returnIfFailFast();if(Z.check(this.prestructurals[this.prestructurals.length-1]),this.structure||this.inner.predicate)Z.returnIfFail()}if(this.structure){if(Z.check(this.structure),this.inner.predicate)Z.returnIfFail()}if(this.inner.predicate){for(let X=0;X<this.inner.predicate.length-1;X++)Z.check(this.inner.predicate[X]),Z.returnIfFail();Z.check(this.inner.predicate[this.inner.predicate.length-1])}}};Y8={implementation:Y$,Node:CU}});var $$,NU,$8,L$=(Z,X)=>`The intersection of distinct morphs at a single path is indeterminate:
|
|
30
|
+
Left: ${Z}
|
|
31
|
+
Right: ${X}`;var L8=O(()=>{E();U0();d();v0();p();J0();b1();N2();$$=g({kind:"morph",hasAssociatedError:!1,keys:{in:{child:!0,parse:(Z,X)=>X.$.parseSchema(Z)},morphs:{parse:T1,serialize:(Z)=>Z.map((X)=>b(X,"root")?X.json:Z0(X))},declaredIn:{child:!1,serialize:(Z)=>Z.json},declaredOut:{child:!1,serialize:(Z)=>Z.json}},normalize:(Z)=>Z,defaults:{description:(Z)=>`a morph from ${Z.rawIn.description} to ${Z.rawOut?.description??"unknown"}`},intersections:{morph:(Z,X,Q)=>{if(!Z.hasEqualMorphs(X))return M(L$(Z.expression,X.expression));let U=n(Z.rawIn,X.rawIn,Q);if(U instanceof A)return U;let J={morphs:Z.morphs};if(Z.declaredIn||X.declaredIn){let q=n(Z.rawIn,X.rawIn,Q);if(q instanceof A)return q.throw();else J.declaredIn=q}if(Z.declaredOut||X.declaredOut){let q=n(Z.rawOut,X.rawOut,Q);if(q instanceof A)return q.throw();else J.declaredOut=q}return U.distribute((q)=>Q.$.node("morph",{...J,in:q}),Q.$.parseSchema)},...J1("morph",(Z,X,Q)=>{let U=Z.inner.in?n(Z.inner.in,X,Q):X;return U instanceof A?U:U.equals(Z.inner.in)?Z:Q.$.node("morph",{...Z.inner,in:U})})}});NU=class NU extends h0{serializedMorphs=this.morphs.map(Z0);compiledMorphs=`[${this.serializedMorphs}]`;lastMorph=this.inner.morphs[this.inner.morphs.length-1];lastMorphIfNode=b(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??R.intrinsic.unknown.internal}get rawOut(){return this.declaredOut??this.introspectableOut??R.intrinsic.unknown.internal}declareIn(Z){return this.$.node("morph",{...this.inner,declaredIn:Z})}declareOut(Z){return this.$.node("morph",{...this.inner,declaredOut:Z})}expression=`(In: ${this.rawIn.expression}) => ${this.lastMorphIfNode?"To":"Out"}<${this.rawOut.expression}>`;get defaultShortDescription(){return this.rawIn.meta.description??this.rawIn.defaultShortDescription}innerToJsonSchema(Z){return Z.fallback.morph({code:"morph",base:this.rawIn.toJsonSchemaRecurse(Z),out:this.introspectableOut?.toJsonSchemaRecurse(Z)??null})}compile(Z){if(Z.traversalKind==="Allows"){if(!this.introspectableIn)return;Z.return(Z.invoke(this.introspectableIn));return}if(this.introspectableIn)Z.line(Z.invoke(this.introspectableIn));Z.line(`ctx.queueMorphs(${this.compiledMorphs})`)}traverseAllows=(Z,X)=>!this.introspectableIn||this.introspectableIn.traverseAllows(Z,X);traverseApply=(Z,X)=>{if(this.introspectableIn)this.introspectableIn.traverseApply(Z,X);X.queueMorphs(this.morphs)};hasEqualMorphs(Z){return V1(this.morphs,Z.morphs,{isEqual:(X,Q)=>X===Q||b(X,"root")&&b(Q,"root")&&X.equals(Q)})}};$8={implementation:$$,Node:NU}});var G$,jU,b6;var G8=O(()=>{E();U0();d();p();J0();u4();G$=g({kind:"proto",hasAssociatedError:!0,collapsibleKey:"proto",keys:{proto:{serialize:(Z)=>L6(Z)??g0(Z)},dateAllowsInvalid:{}},normalize:(Z)=>{let X=typeof Z==="string"?{proto:o1[Z]}:typeof Z==="function"?o(Z)?Z:{proto:Z}:typeof Z.proto==="string"?{...Z,proto:o1[Z.proto]}:Z;if(typeof X.proto!=="function")M(b6.writeInvalidSchemaMessage(X.proto));if(H2(X,"dateAllowsInvalid")&&X.proto!==Date)M(b6.writeBadInvalidDateMessage(X.proto));return X},applyConfig:(Z,X)=>{if(Z.dateAllowsInvalid===void 0&&Z.proto===Date&&X.dateAllowsInvalid)return{...Z,dateAllowsInvalid:!0};return Z},defaults:{description:(Z)=>Z.builtinName?YQ[Z.builtinName]:`an instance of ${Z.proto.name}`,actual:(Z)=>Z instanceof Date&&Z.toString()==="Invalid Date"?"an invalid Date":$6(Z)},intersections:{proto:(Z,X)=>Z.proto===Date&&X.proto===Date?Z.dateAllowsInvalid?X:Z:FZ(Z.proto,X.proto)?Z:FZ(X.proto,Z.proto)?X:A.init("proto",Z,X),domain:(Z,X)=>X.domain==="object"?Z:A.init("domain",R.intrinsic.object.internal,X)}});jU=class jU extends X2{builtinName=L6(this.proto);serializedConstructor=this.json.proto;requiresInvalidDateCheck=this.proto===Date&&!this.dateAllowsInvalid;traverseAllows=this.requiresInvalidDateCheck?(Z)=>Z instanceof Date&&Z.toString()!=="Invalid Date":(Z)=>Z instanceof this.proto;compiledCondition=`data instanceof ${this.serializedConstructor}${this.requiresInvalidDateCheck?' && data.toString() !== "Invalid Date"':""}`;compiledNegation=`!(${this.compiledCondition})`;innerToJsonSchema(Z){switch(this.builtinName){case"Array":return{type:"array"};case"Date":return Z.fallback.date?.({code:"date",base:{}})??Z.fallback.proto({code:"proto",base:{},proto:this.proto});default:return Z.fallback.proto({code:"proto",base:{},proto:this.proto})}}expression=this.dateAllowsInvalid?"Date | InvalidDate":this.proto.name;get nestableExpression(){return this.dateAllowsInvalid?`(${this.expression})`:this.expression}domain="object";get defaultShortDescription(){return this.description}};b6={implementation:G$,Node:jU,writeBadInvalidDateMessage:(Z)=>`dateAllowsInvalid may only be specified with constructor Date (was ${Z.name})`,writeInvalidSchemaMessage:(Z)=>`instanceOf operand must be a function (was ${$0(Z)})`}});var _$,IU,V$=(Z,X)=>{let U=Z.sort((Y,W)=>Y.path.length===W.path.length?Object.keys(W.cases).length-Object.keys(Y.cases).length:Y.path.length-W.path.length)[0],J={kind:U.kind,path:U.path,optionallyChainedPropString:fU(U.path)},q=X.branches.map((Y,W)=>({originalIndex:W,branch:Y}));return{best:U,location:J,defaultEntries:q,node:X}},H$=(Z,X)=>{let Q=Z.best.cases[X],U=z$(Q.condition,Z.location.path,Z.node.$),J=[],q=[];for(let Y=0;Y<Z.defaultEntries.length;Y++){let W=Z.defaultEntries[Y];if(Q.branchIndices.includes(W.originalIndex)){let $=EU(Z.node.branches[W.originalIndex],Z.location);if($===null)J=null;else J?.push({originalIndex:W.originalIndex,branch:$})}else if(W.branch.hasKind("alias")&&U.hasKind("domain")&&U.domain==="object")J?.push(W);else{if(W.branch.rawIn.overlaps(U)){let $=EU(W.branch,Z.location);J?.push({originalIndex:W.originalIndex,branch:$})}q.push(W)}}return Z.defaultEntries=q,J},F$=(Z,X)=>{return Z.filter((U)=>{let J=Object.values(U.cases).map((q)=>q.branchIndices);for(let q=0;q<J.length-1;q++){let Y=J[q];for(let W=q+1;W<J.length;W++){let $=J[W];for(let L of Y)for(let _ of $)if(L>_){if(X[L].overlaps(X[_]))return!1}}}return!0})},z$=(Z,X,Q)=>{let U=Z==="undefined"?Q.node("unit",{unit:void 0}):Z==="null"?Q.node("unit",{unit:null}):Z==="boolean"?Q.units([!0,!1]):Z;for(let J=X.length-1;J>=0;J--){let q=X[J];U=Q.node("intersection",typeof q==="number"?{proto:"Array",sequence:[...o3(q).map((Y)=>({})),U]}:{domain:"object",required:[{key:q,value:U}]})}return U},fU=(Z)=>Z.reduce((X,Q)=>X+TZ(Q,!0),"data"),B$,M$,V8,O$=(Z)=>({kind:Z.kind,path:Z.path.map((X)=>typeof X==="string"?X:s0(X)),cases:y(Z.cases,(X,Q)=>[X,Q===!0?Q:Q.hasKind("union")&&Q.discriminantJson?Q.discriminantJson:Q.json])}),R$,P$=(Z)=>j2(Z,R$),j2=(Z,X)=>{let Q=X?.delimiter??", ",U=X?.finalDelimiter??" or ";if(Z.length===0)return"never";if(Z.length===1)return Z[0];if(Z.length===2&&Z[0]==="false"&&Z[1]==="true"||Z[0]==="true"&&Z[1]==="false")return"boolean";let J={},q=Z.filter((W)=>J[W]?!1:J[W]=!0),Y=q.pop();return`${q.join(Q)}${q.length?U:""}${Y}`},_8=(Z,X,Q)=>{let U=X.map(()=>[]);for(let q=0;q<Z.length;q++){let Y={};for(let W=0;W<X.length;W++){if(U[W]===null)continue;if(Z[q].equals(X[W])){U[W]=null,Y={};break}let $=n(Z[q],X[W],Q);if($ instanceof A)continue;if($.equals(Z[q])){U[W].push(Z[q]),Y={};break}if($.equals(X[W]))U[W]=null;else Y[W]=$}for(let W in Y)U[W][q]=Y[W]}let J=U.flatMap((q,Y)=>q?.flatMap((W)=>W.branches)??X[Y]);return J.length===0?A.init("union",Z,X):J},K$=({branches:Z,ordered:X})=>{if(Z.length<2)return Z;let Q=Z.map(()=>!0);for(let U=0;U<Z.length;U++)for(let J=U+1;J<Z.length&&Q[U]&&Q[J];J++){if(Z[U].equals(Z[J])){Q[J]=!1;continue}let q=N0(Z[U].rawIn,Z[J].rawIn,Z[0].$);if(q instanceof A)continue;if(!X)T$(Z[U],Z[J]);if(q.equals(Z[U].rawIn))Q[U]=!!X;else if(q.equals(Z[J].rawIn))Q[J]=!1}return Z.filter((U,J)=>Q[J])},T$=(Z,X)=>{if(!Z.includesTransform&&!X.includesTransform)return;if(!V1(Z.shallowMorphs,X.shallowMorphs))M(bU(Z.expression,X.expression));if(!V1(Z.flatMorphs,X.flatMorphs,{isEqual:(Q,U)=>Q.propString===U.propString&&(Q.node.hasKind("morph")&&U.node.hasKind("morph")?Q.node.hasEqualMorphs(U.node):Q.node.hasKind("intersection")&&U.node.hasKind("intersection")?Q.node.structure?.structuralMorphRef===U.node.structure?.structuralMorphRef:!1)}))M(bU(Z.expression,X.expression))},EU=(Z,X)=>Z.transform((Q,U)=>{if(Q==="domain"||Q==="unit")return null;return U},{shouldTransform:(Q,U)=>{let J=fU(U.path);if(!X.optionallyChainedPropString.startsWith(J))return!1;if(Q.hasKind("domain")&&Q.domain==="object")return!0;if((Q.hasKind("domain")||X.kind==="unit")&&J===X.optionallyChainedPropString)return!0;return Q.children.length!==0&&Q.kind!=="index"}}),bU=(Z,X)=>`An unordered union of a type including a morph and a type with overlapping input is indeterminate:
|
|
32
|
+
Left: ${Z}
|
|
33
|
+
Right: ${X}`,D$=(Z,X)=>`The intersection of two ordered unions is indeterminate:
|
|
34
|
+
Left: ${Z}
|
|
35
|
+
Right: ${X}`;var H8=O(()=>{E();S1();U0();d();v0();p();U1();J0();b1();N2();_$=g({kind:"union",hasAssociatedError:!0,collapsibleKey:"branches",keys:{ordered:{},branches:{child:!0,parse:(Z,X)=>{let Q=[];for(let U of Z){let J=b(U,"root")?U.branches:X.$.parseSchema(U).branches;for(let q of J)if(q.hasKind("morph")){let Y=Q.findIndex((W)=>W.hasKind("morph")&&W.hasEqualMorphs(q));if(Y===-1)Q.push(q);else{let W=Q[Y];Q[Y]=X.$.node("morph",{...W.inner,in:W.rawIn.rawOr(q.rawIn)})}}else Q.push(q)}if(!X.def.ordered)Q.sort((U,J)=>U.hash<J.hash?-1:1);return Q}}},normalize:(Z)=>r(Z)?{branches:Z}:Z,reduce:(Z,X)=>{let Q=K$(Z);if(Q.length===1)return Q[0];if(Q.length===Z.branches.length)return;return X.node("union",{...Z,branches:Q},{prereduced:!0})},defaults:{description:(Z)=>Z.distribute((X)=>X.description,j2),expected:(Z)=>{let X=t3(Z.errors,"propString"),Q=Object.entries(X).map(([U,J])=>{let q=[];for(let $ of J)Z1(q,$.expected);let Y=j2(q),W=J.every(($)=>$.actual===J[0].actual)?J[0].actual:k(J[0].data);return`${U&&`${U} `}must be ${Y}${W&&` (was ${W})`}`});return j2(Q)},problem:(Z)=>Z.expected,message:(Z)=>{if(Z.problem[0]==="[")return`value at ${Z.problem}`;return Z.problem}},intersections:{union:(Z,X,Q)=>{if(Z.isNever!==X.isNever)return A.init("presence",Z,X);let U;if(Z.ordered){if(X.ordered)M(D$(Z.expression,X.expression));if(U=_8(X.branches,Z.branches,Q),U instanceof A)U.invert()}else U=_8(Z.branches,X.branches,Q);if(U instanceof A)return U;return Q.$.parseSchema(Z.ordered||X.ordered?{branches:U,ordered:!0}:{branches:U})},...J1("union",(Z,X,Q)=>{let U=_8(Z.branches,[X],Q);if(U instanceof A)return U;if(U.length===1)return U[0];return Q.$.parseSchema(Z.ordered?{branches:U,ordered:!0}:{branches:U})})}});IU=class IU extends h0{isBoolean=this.branches.length===2&&this.branches[0].hasUnit(!1)&&this.branches[1].hasUnit(!0);get branchGroups(){let Z=[],X=-1;for(let Q of this.branches){if(Q.hasKind("unit")&&Q.domain==="boolean"){if(X===-1)X=Z.length,Z.push(Q);else Z[X]=R.intrinsic.boolean;continue}Z.push(Q)}return Z}unitBranches=this.branches.filter((Z)=>Z.rawIn.hasKind("unit"));discriminant=this.discriminate();discriminantJson=this.discriminant?O$(this.discriminant):null;expression=this.distribute((Z)=>Z.nestableExpression,P$);createBranchedOptimisticRootApply(){return(Z,X)=>{let Q=this.traverseOptimistic(Z);if(Q!==w0)return Q;let U=new a0(Z,this.$.resolvedConfig);return this.traverseApply(Z,U),U.finalize(X)}}get shallowMorphs(){return this.branches.reduce((Z,X)=>Z1(Z,X.shallowMorphs),[])}get defaultShortDescription(){return this.distribute((Z)=>Z.defaultShortDescription,j2)}innerToJsonSchema(Z){if(this.branchGroups.length===1&&this.branchGroups[0].equals(R.intrinsic.boolean))return{type:"boolean"};let X=this.branchGroups.map((Q)=>Q.toJsonSchemaRecurse(Z));if(X.every((Q)=>Object.keys(Q).length===1&&H2(Q,"const")))return{enum:X.map((Q)=>Q.const)};return{anyOf:X}}traverseAllows=(Z,X)=>this.branches.some((Q)=>Q.traverseAllows(Z,X));traverseApply=(Z,X)=>{let Q=[];for(let U=0;U<this.branches.length;U++){if(X.pushBranch(),this.branches[U].traverseApply(Z,X),!X.hasError()){if(this.branches[U].includesTransform)return X.queuedMorphs.push(...X.popBranch().queuedMorphs);return X.popBranch()}Q.push(X.popBranch().error)}X.errorFromNodeContext({code:"union",errors:Q,meta:this.meta})};traverseOptimistic=(Z)=>{for(let X=0;X<this.branches.length;X++){let Q=this.branches[X];if(Q.traverseAllows(Z)){if(Q.contextFreeMorph)return Q.contextFreeMorph(Z);return Z}}return w0};compile(Z){if(!this.discriminant||this.unitBranches.length===this.branches.length&&this.branches.length===2)return this.compileIndiscriminable(Z);let X=this.discriminant.optionallyChainedPropString;if(this.discriminant.kind==="domain")X=`typeof ${X} === "object" ? ${X} === null ? "null" : "object" : typeof ${X} === "function" ? "object" : typeof ${X}`;let Q=this.discriminant.cases,U=Object.keys(Q),{optimistic:J}=Z;if(Z.optimistic=!1,Z.block(`switch(${X})`,()=>{for(let L in Q){let _=Q[L],G=L==="default"?L:`case ${L}`,V;if(_===!0)V=J?"data":"true";else if(J)if(_.rootApplyStrategy==="branchedOptimistic")V=Z.invoke(_,{kind:"Optimistic"});else if(_.contextFreeMorph)V=`${Z.invoke(_)} ? ${Z0(_.contextFreeMorph)}(data) : "${w0}"`;else V=`${Z.invoke(_)} ? data : "${w0}"`;else V=Z.invoke(_);Z.line(`${G}: return ${V}`)}return Z}),Z.traversalKind==="Allows"){Z.return(J?`"${w0}"`:!1);return}let q=j2(this.discriminant.kind==="domain"?U.map((L)=>{let _=L.slice(1,-1);return _==="function"?D0.object:D0[_]}):U),Y=this.discriminant.path.map((L)=>typeof L==="symbol"?Z0(L):JSON.stringify(L)),W=JSON.stringify(q),$=this.discriminant.kind==="domain"?`${B$}[${X}]`:`${M$}(${X})`;Z.line(`ctx.errorFromNodeContext({
|
|
36
|
+
code: "predicate",
|
|
37
|
+
expected: ${W},
|
|
38
|
+
actual: ${$},
|
|
39
|
+
relativePath: [${Y}],
|
|
40
|
+
meta: ${this.compiledMeta}
|
|
41
|
+
})`)}compileIndiscriminable(Z){if(Z.traversalKind==="Apply"){Z.const("errors","[]");for(let X of this.branches)Z.line("ctx.pushBranch()").line(Z.invoke(X)).if("!ctx.hasError()",()=>Z.return(X.includesTransform?"ctx.queuedMorphs.push(...ctx.popBranch().queuedMorphs)":"ctx.popBranch()")).line("errors.push(ctx.popBranch().error)");Z.line(`ctx.errorFromNodeContext({ code: "union", errors, meta: ${this.compiledMeta} })`)}else{let{optimistic:X}=Z;Z.optimistic=!1;for(let Q of this.branches)Z.if(`${Z.invoke(Q)}`,()=>Z.return(X?Q.contextFreeMorph?`${Z0(Q.contextFreeMorph)}(data)`:"data":!0));Z.return(X?`"${w0}"`:!1)}}get nestableExpression(){return this.isBoolean?"boolean":`(${this.expression})`}discriminate(){if(this.branches.length<2||this.isCyclic)return null;if(this.unitBranches.length===this.branches.length){let J=y(this.unitBranches,(q,Y)=>[`${Y.rawIn.serializedValue}`,Y.hasKind("morph")?Y:!0]);return{kind:"unit",path:[],optionallyChainedPropString:"data",cases:J}}let Z=[];for(let J=0;J<this.branches.length-1;J++){let q=this.branches[J];for(let Y=J+1;Y<this.branches.length;Y++){let W=this.branches[Y],$=N0(q.rawIn,W.rawIn,q.$);if(!($ instanceof A))continue;for(let L of $){if(!L.kind||L.optional)continue;let _,G;if(L.kind==="domain"){let{l:F,r:z}=L;_=`"${typeof F==="string"?F:F.domain}"`,G=`"${typeof z==="string"?z:z.domain}"`}else if(L.kind==="unit")_=L.l.serializedValue,G=L.r.serializedValue;else continue;let V=Z.find((F)=>V1(F.path,L.path)&&F.kind===L.kind);if(!V)Z.push({kind:L.kind,cases:{[_]:{branchIndices:[J],condition:L.l},[G]:{branchIndices:[Y],condition:L.r}},path:L.path});else{if(V.cases[_])V.cases[_].branchIndices=Z1(V.cases[_].branchIndices,J);else V.cases[_]??={branchIndices:[J],condition:L.l};if(V.cases[G])V.cases[G].branchIndices=Z1(V.cases[G].branchIndices,Y);else V.cases[G]??={branchIndices:[Y],condition:L.r}}}}}let X=this.ordered?F$(Z,this.branches):Z;if(!X.length)return null;let Q=V$(X,this),U={};for(let J in Q.best.cases){let q=H$(Q,J);if(q===null){U[J]=!0;continue}if(q.length===this.branches.length)return null;if(this.ordered)q.sort(($,L)=>$.originalIndex-L.originalIndex);let Y=q.map(($)=>$.branch),W=Y.length===1?Y[0]:this.$.node("union",this.ordered?{branches:Y,ordered:!0}:Y);Object.assign(this.referencesById,W.referencesById),U[J]=W}if(Q.defaultEntries.length){let J=Q.defaultEntries.map((q)=>q.branch);U.default=this.$.node("union",this.ordered?{branches:J,ordered:!0}:J,{prereduced:!0}),Object.assign(this.referencesById,U.default.referencesById)}return Object.assign(Q.location,{cases:U})}};B$=Z0(e3),M$=Z0(k),V8={implementation:_$,Node:IU},R$={delimiter:" | ",finalDelimiter:" | "}});var w$,kU,F8,yU=(Z,X,Q)=>{if(Z instanceof Date){let U=`data instanceof Date && data.toISOString() === ${X}`;return Q?`!(${U})`:U}if(Number.isNaN(Z))return`${Q?"!":""}Number.isNaN(data)`;return`data ${Q?"!":"="}== ${X}`};var z8=O(()=>{E();U0();d();p();u4();N2();w$=g({kind:"unit",hasAssociatedError:!0,keys:{unit:{preserveUndefined:!0,serialize:(Z)=>Z instanceof Date?Z.toISOString():g0(Z)}},normalize:(Z)=>Z,defaults:{description:(Z)=>k(Z.unit),problem:({expected:Z,actual:X})=>`${Z===X?`must be reference equal to ${Z} (serialized to the same value)`:`must be ${Z} (was ${X})`}`},intersections:{unit:(Z,X)=>A.init("unit",Z,X),...J1("unit",(Z,X)=>{if(X.allows(Z.unit))return Z;let Q=X.hasKind("intersection")?X.basis:X;if(Q){let U=Q.hasKind("domain")?Q:R.intrinsic.object;if(Z.domain!==U.domain){let J=Z.domain==="undefined"||Z.domain==="null"||Z.domain==="boolean"?Z.domain:R.intrinsic[Z.domain];return A.init("domain",J,U)}}return A.init("assignability",Z,X.hasKind("intersection")?X.children.find((U)=>!U.allows(Z.unit)):X)})}});kU=class kU extends X2{compiledValue=this.json.unit;serializedValue=typeof this.unit==="string"||this.unit instanceof Date?JSON.stringify(this.compiledValue):`${this.compiledValue}`;compiledCondition=yU(this.unit,this.serializedValue);compiledNegation=yU(this.unit,this.serializedValue,"negated");expression=k(this.unit);domain=$0(this.unit);get defaultShortDescription(){return this.domain==="object"?D0.object:this.description}innerToJsonSchema(Z){return this.unit===null?{type:"null"}:R.intrinsic.jsonPrimitive.allows(this.unit)?{const:this.unit}:Z.fallback.unit({code:"unit",base:{},unit:this.unit})}traverseAllows=this.unit instanceof Date?(Z)=>Z instanceof Date&&Z.toISOString()===this.compiledValue:Number.isNaN(this.unit)?(Z)=>Number.isNaN(Z):(Z)=>Z===this.unit};F8={implementation:w$,Node:kU}});var A$,gU,B8,S$=(Z)=>`Index keys ${Z.join(", ")} should be specified as named props.`,C$=(Z)=>`Indexed key definition '${Z}' must be a string or symbol`;var M8=O(()=>{E();b0();Z2();U0();d();v0();p();U1();A$=g({kind:"index",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{signature:{child:!0,parse:(Z,X)=>{let Q=X.$.parseSchema(Z);if(!Q.extends(R.intrinsic.key))return M(C$(Q.expression));let U=Q.branches.filter((J)=>J.hasKind("unit"));if(U.length)return M(S$(U.map((J)=>k(J.unit))));return Q}},value:{child:!0,parse:(Z,X)=>X.$.parseSchema(Z)}},normalize:(Z)=>Z,defaults:{description:(Z)=>`[${Z.signature.expression}]: ${Z.value.description}`},intersections:{index:(Z,X,Q)=>{if(Z.signature.equals(X.signature)){let U=n(Z.value,X.value,Q),J=U instanceof A?R.intrinsic.never.internal:U;return Q.$.node("index",{signature:Z.signature,value:J})}if(Z.signature.extends(X.signature)&&Z.value.subsumes(X.value))return X;if(X.signature.extends(Z.signature)&&X.value.subsumes(Z.value))return Z;return null}}});gU=class gU extends x0{impliedBasis=R.intrinsic.object.internal;expression=`[${this.signature.expression}]: ${this.value.expression}`;flatRefs=m(this.value.flatRefs.map((Z)=>r0([this.signature,...Z.path],Z.node)),r0([this.signature],this.value));traverseAllows=(Z,X)=>r1(Z).every((Q)=>{if(this.signature.traverseAllows(Q[0],X))return C0(Q[0],()=>this.value.traverseAllows(Q[1],X),X);return!0});traverseApply=(Z,X)=>{for(let Q of r1(Z))if(this.signature.traverseAllows(Q[0],X))C0(Q[0],()=>this.value.traverseApply(Q[1],X),X)};_transform(Z,X){X.path.push(this.signature);let Q=super._transform(Z,X);return X.path.pop(),Q}compile(){}};B8={implementation:A$,Node:gU}});var N$,vU,O8;var R8=O(()=>{d();S6();N$=g({kind:"required",hasAssociatedError:!0,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(Z,X)=>X.$.parseSchema(Z)}},normalize:(Z)=>Z,defaults:{description:(Z)=>`${Z.compiledKey}: ${Z.value.description}`,expected:(Z)=>Z.missingValueDescription,actual:()=>"missing"},intersections:{required:w6,optional:w6}});vU=class vU extends A6{expression=`${this.compiledKey}: ${this.value.expression}`;errorContext=Object.freeze({code:"required",missingValueDescription:this.value.defaultShortDescription,relativePath:[this.key],meta:this.meta});compiledErrorContext=C1(this.errorContext)};O8={implementation:N$,Node:vU}});var j$,mU,E$,b$=(Z)=>{if(!Z.defaultables)return[];let X=[],Q="[",U=Z.prefixLength+Z.defaultablesLength-1;for(let J=Z.prefixLength;J<=U;J++){let[q,Y]=Z.defaultables[J-Z.prefixLength];X.push(U8(J,q,Y)),Q+=`${J}: ${q.id} = ${g0(Y)}, `}return Q+="]",E$[Q]??=X},P8,I$=(Z)=>{let X=[];if(Z.prefix)for(let Q of Z.prefix)X.push({kind:"prefix",node:Q});if(Z.defaultables)for(let[Q,U]of Z.defaultables)X.push({kind:"defaultables",node:Q,default:U});if(Z.optionals)for(let Q of Z.optionals)X.push({kind:"optionals",node:Q});if(Z.variadic)X.push({kind:"variadic",node:Z.variadic});if(Z.postfix)for(let Q of Z.postfix)X.push({kind:"postfix",node:Q});return X},xU=(Z)=>Z.reduce((X,Q)=>{if(Q.kind==="variadic")X.variadic=Q.node;else if(Q.kind==="defaultables")X.defaultables=m(X.defaultables,[[Q.node,Q.default]]);else X[Q.kind]=m(X[Q.kind],Q.node);return X},{}),K8="A postfix required element cannot follow an optional or defaultable element",f$="A postfix element requires a variadic element",I6=(Z)=>{let[X,...Q]=Z.l,[U,...J]=Z.r;if(!X||!U)return Z;let q=Q[Q.length-1]?.kind==="postfix",Y=J[J.length-1]?.kind==="postfix",W=X.kind==="prefix"||U.kind==="prefix"?"prefix":X.kind==="postfix"||U.kind==="postfix"?"postfix":X.kind==="variadic"&&U.kind==="variadic"?"variadic":q||Y?"prefix":X.kind==="defaultables"||U.kind==="defaultables"?"defaultables":"optionals";if(X.kind==="prefix"&&U.kind==="variadic"&&Y){let G=I6({...Z,fixedVariants:[],r:J.map((V)=>({...V,kind:"prefix"}))});if(G.disjoint.length===0)Z.fixedVariants.push(G)}else if(U.kind==="prefix"&&X.kind==="variadic"&&q){let G=I6({...Z,fixedVariants:[],l:Q.map((V)=>({...V,kind:"prefix"}))});if(G.disjoint.length===0)Z.fixedVariants.push(G)}let $=n(X.node,U.node,Z.ctx);if($ instanceof A)if(W==="prefix"||W==="postfix")Z.disjoint.push(...$.withPrefixKey(W==="prefix"?Z.result.length:`-${Q.length+1}`,hU(X)&&hU(U)?"required":"optional")),Z.result=[...Z.result,{kind:W,node:R.intrinsic.never.internal}];else if(W==="optionals"||W==="defaultables")return Z;else return I6({...Z,fixedVariants:[],l:Q.map((G)=>({...G,kind:"prefix"})),r:Q.map((G)=>({...G,kind:"prefix"}))});else if(W==="defaultables"){if(X.kind==="defaultables"&&U.kind==="defaultables"&&X.default!==U.default)M(Q8(X.default,U.default));Z.result=[...Z.result,{kind:W,node:$,default:X.kind==="defaultables"?X.default:U.kind==="defaultables"?U.default:u(`Unexpected defaultable intersection from ${X.kind} and ${U.kind} elements.`)}]}else Z.result=[...Z.result,{kind:W,node:$}];let L=Z.l.length,_=Z.r.length;if(X.kind!=="variadic"||L>=_&&(U.kind==="variadic"||_===1))Z.l=Q;if(U.kind!=="variadic"||_>=L&&(X.kind==="variadic"||L===1))Z.r=J;return I6(Z)},hU=(Z)=>Z.kind==="prefix"||Z.kind==="postfix";var T8=O(()=>{E();b0();Z2();U0();d();v0();p();U1();S2();S6();j$=g({kind:"sequence",hasAssociatedError:!1,collapsibleKey:"variadic",keys:{prefix:{child:!0,parse:(Z,X)=>{if(Z.length===0)return;return Z.map((Q)=>X.$.parseSchema(Q))}},optionals:{child:!0,parse:(Z,X)=>{if(Z.length===0)return;return Z.map((Q)=>X.$.parseSchema(Q))}},defaultables:{child:(Z)=>Z.map((X)=>X[0]),parse:(Z,X)=>{if(Z.length===0)return;return Z.map((Q)=>{let U=X.$.parseSchema(Q[0]);return N6(U,Q[1],null),[U,Q[1]]})},serialize:(Z)=>Z.map((X)=>[X[0].collapsibleJson,g0(X[1])]),reduceIo:(Z,X,Q)=>{if(Z==="in"){X.optionals=Q.map((U)=>U[0].rawIn);return}X.prefix=Q.map((U)=>U[0].rawOut);return}},variadic:{child:!0,parse:(Z,X)=>X.$.parseSchema(Z,X)},minVariadicLength:{parse:(Z)=>Z===0?void 0:Z},postfix:{child:!0,parse:(Z,X)=>{if(Z.length===0)return;return Z.map((Q)=>X.$.parseSchema(Q))}}},normalize:(Z)=>{if(typeof Z==="string")return{variadic:Z};if("variadic"in Z||"prefix"in Z||"defaultables"in Z||"optionals"in Z||"postfix"in Z||"minVariadicLength"in Z){if(Z.postfix?.length){if(!Z.variadic)return M(f$);if(Z.optionals?.length||Z.defaultables?.length)return M(K8)}if(Z.minVariadicLength&&!Z.variadic)return M("minVariadicLength may not be specified without a variadic element");return Z}return{variadic:Z}},reduce:(Z,X)=>{let Q=Z.minVariadicLength??0,U=Z.prefix?.slice()??[],J=Z.defaultables?.slice()??[],q=Z.optionals?.slice()??[],Y=Z.postfix?.slice()??[];if(Z.variadic){while(q[q.length-1]?.equals(Z.variadic))q.pop();if(q.length===0&&J.length===0)while(U[U.length-1]?.equals(Z.variadic))U.pop(),Q++;while(Y[0]?.equals(Z.variadic))Y.shift(),Q++}else if(q.length===0&&J.length===0)U.push(...Y.splice(0));if(Q!==Z.minVariadicLength||Z.prefix&&Z.prefix.length!==U.length)return X.node("sequence",{...Z,prefix:U,defaultables:J,optionals:q,postfix:Y,minVariadicLength:Q},{prereduced:!0})},defaults:{description:(Z)=>{if(Z.isVariadicOnly)return`${Z.variadic.nestableExpression}[]`;return`[${Z.tuple.map((Q)=>Q.kind==="defaultables"?`${Q.node.nestableExpression} = ${k(Q.default)}`:Q.kind==="optionals"?`${Q.node.nestableExpression}?`:Q.kind==="variadic"?`...${Q.node.nestableExpression}[]`:Q.node.expression).join(", ")}]`}},intersections:{sequence:(Z,X,Q)=>{let U=I6({l:Z.tuple,r:X.tuple,disjoint:new A,result:[],fixedVariants:[],ctx:Q}),J=U.disjoint.length===0?[U,...U.fixedVariants]:U.fixedVariants;return J.length===0?U.disjoint:J.length===1?Q.$.node("sequence",xU(J[0].result)):Q.$.node("union",J.map((q)=>({proto:Array,sequence:xU(q.result)})))}}});mU=class mU extends x0{impliedBasis=R.intrinsic.Array.internal;tuple=I$(this.inner);prefixLength=this.prefix?.length??0;defaultablesLength=this.defaultables?.length??0;optionalsLength=this.optionals?.length??0;postfixLength=this.postfix?.length??0;defaultablesAndOptionals=[];prevariadic=this.tuple.filter((Z)=>{if(Z.kind==="defaultables"||Z.kind==="optionals")return this.defaultablesAndOptionals.push(Z.node),!0;return Z.kind==="prefix"});variadicOrPostfix=_1(this.variadic&&[this.variadic],this.postfix);flatRefs=this.addFlatRefs();addFlatRefs(){return CZ(this.flatRefs,this.prevariadic.flatMap((Z,X)=>m(Z.node.flatRefs.map((Q)=>r0([`${X}`,...Q.path],Q.node)),r0([`${X}`],Z.node)))),CZ(this.flatRefs,this.variadicOrPostfix.flatMap((Z)=>m(Z.flatRefs.map((X)=>r0([R.intrinsic.nonNegativeIntegerString.internal,...X.path],X.node)),r0([R.intrinsic.nonNegativeIntegerString.internal],Z)))),this.flatRefs}isVariadicOnly=this.prevariadic.length+this.postfixLength===0;minVariadicLength=this.inner.minVariadicLength??0;minLength=this.prefixLength+this.minVariadicLength+this.postfixLength;minLengthNode=this.minLength===0?null:this.$.node("minLength",this.minLength);maxLength=this.variadic?null:this.tuple.length;maxLengthNode=this.maxLength===null?null:this.$.node("maxLength",this.maxLength);impliedSiblings=this.minLengthNode?this.maxLengthNode?[this.minLengthNode,this.maxLengthNode]:[this.minLengthNode]:this.maxLengthNode?[this.maxLengthNode]:[];defaultValueMorphs=b$(this);defaultValueMorphsReference=this.defaultValueMorphs.length?Z0(this.defaultValueMorphs):void 0;elementAtIndex(Z,X){if(X<this.prevariadic.length)return this.tuple[X];let Q=Z.length-this.postfixLength;if(X>=Q)return{kind:"postfix",node:this.postfix[X-Q]};return{kind:"variadic",node:this.variadic??u(`Unexpected attempt to access index ${X} on ${this}`)}}traverseAllows=(Z,X)=>{for(let Q=0;Q<Z.length;Q++)if(!this.elementAtIndex(Z,Q).node.traverseAllows(Z[Q],X))return!1;return!0};traverseApply=(Z,X)=>{let Q=0;for(;Q<Z.length;Q++)C0(Q,()=>this.elementAtIndex(Z,Q).node.traverseApply(Z[Q],X),X)};get element(){return this.cacheGetter("element",this.$.node("union",this.children))}compile(Z){if(this.prefix)for(let[X,Q]of this.prefix.entries())Z.traverseKey(`${X}`,`data[${X}]`,Q);for(let[X,Q]of this.defaultablesAndOptionals.entries()){let U=`${X+this.prefixLength}`;Z.if(`${U} >= data.length`,()=>Z.traversalKind==="Allows"?Z.return(!0):Z.return()),Z.traverseKey(U,`data[${U}]`,Q)}if(this.variadic){if(this.postfix)Z.const("firstPostfixIndex",`data.length${this.postfix?`- ${this.postfix.length}`:""}`);if(Z.for(`i < ${this.postfix?"firstPostfixIndex":"data.length"}`,()=>Z.traverseKey("i","data[i]",this.variadic),this.prevariadic.length),this.postfix)for(let[X,Q]of this.postfix.entries()){let U=`firstPostfixIndex + ${X}`;Z.traverseKey(U,`data[${U}]`,Q)}}if(Z.traversalKind==="Allows")Z.return(!0)}_transform(Z,X){X.path.push(R.intrinsic.nonNegativeIntegerString.internal);let Q=super._transform(Z,X);return X.path.pop(),Q}expression=this.description;reduceJsonSchema(Z,X){let Q=X.target==="draft-07";if(this.prevariadic.length){let U=this.prevariadic.map((J)=>{let q=J.node.toJsonSchemaRecurse(X);if(J.kind==="defaultables"){let Y=typeof J.default==="function"?J.default():J.default;q.default=R.intrinsic.jsonData.allows(Y)?Y:X.fallback.defaultValue({code:"defaultValue",base:q,value:Y})}return q});if(Q)Z.items=U;else Z.prefixItems=U}if(this.minLength)Z.minItems=this.minLength;if(this.variadic){let U=this.variadic.toJsonSchemaRecurse(X);if(Q&&this.prevariadic.length)Z.additionalItems=U;else Z.items=U;if(this.maxLength)Z.maxItems=this.maxLength;if(this.postfix){let J=this.postfix.map((q)=>q.toJsonSchemaRecurse(X));Z=X.fallback.arrayPostfix({code:"arrayPostfix",base:Z,elements:J})}}else{if(Q)Z.additionalItems=!1;else Z.items=!1;delete Z.maxItems}return Z}};E$={},P8={implementation:j$,Node:mU}});var dU=(Z)=>(X)=>{if(X.props.length||X.index){let Q=X.index?.map((J)=>J[Z])??[];for(let J of X.props)Q.push(J[Z]);if(X.undeclared)Q.push(`+ (undeclared): ${X.undeclared}`);let U=`{ ${Q.join(", ")} }`;return X.sequence?`${U} & ${X.sequence.description}`:U}return X.sequence?.description??"{}"},y$,k$,uU=(Z,X,Q)=>{let U=Z.required?"required":"optional";if(!X.signature.allows(Z.key))return null;let J=N0(Z.value,X.value,Q);if(J instanceof A)return U==="optional"?Q.node("optional",{key:Z.key,value:R.intrinsic.never.internal}):J.withPrefixKey(Z.key,Z.kind);return null},g$,cU,D8,v$=(Z)=>{let X="";for(let Q=0;Q<Z.defaultable.length;Q++)X+=Z.defaultable[Q].defaultValueMorphRef;if(Z.sequence?.defaultValueMorphsReference)X+=Z.sequence?.defaultValueMorphsReference;if(Z.undeclared==="delete"){if(X+="delete !(",Z.required)for(let Q of Z.required)X+=Q.compiledKey+" | ";if(Z.optional)for(let Q of Z.optional)X+=Q.compiledKey+" | ";if(Z.index)for(let Q of Z.index)X+=Q.signature.id+" | ";if(Z.sequence)if(Z.sequence.maxLength===null)X+=I.nonNegativeIntegerString.id;else for(let Q=0;Q<Z.sequence.tuple.length;Q++)X+=Q+" | ";X+=")"}return X},x$=(Z)=>{let X=v$(Z);if(!X)return;if(D8[X])return D8[X];let Q=(U,J)=>{for(let q=0;q<Z.defaultable.length;q++)if(!(Z.defaultable[q].key in U))Z.defaultable[q].defaultValueMorph(U,J);if(Z.sequence?.defaultables)for(let q=U.length-Z.sequence.prefixLength;q<Z.sequence.defaultables.length;q++)Z.sequence.defaultValueMorphs[q](U,J);if(Z.undeclared==="delete"){for(let q in U)if(!Z.declaresKey(q))delete U[q]}return U};return D8[X]=Q},h$=(Z,X)=>{let U=`(data${X.defaultable.some((J)=>J.defaultValueMorph.length===2)||X.sequence?.defaultValueMorphs.some((J)=>J.length===2)?", ctx":""})`;return Z.block(`${U} => `,(J)=>{for(let q=0;q<X.defaultable.length;q++){let{serializedKey:Y,defaultValueMorphRef:W}=X.defaultable[q];J.if(`!(${Y} in data)`,($)=>$.line(`${W}${U}`))}if(X.sequence?.defaultables)J.for(`i < ${X.sequence.defaultables.length}`,(q)=>q.set("data[i]",5),`data.length - ${X.sequence.prefixLength}`);if(X.undeclared==="delete")J.forIn("data",(q)=>q.if(`!(${X._compileDeclaresKey(q)})`,(Y)=>Y.line("delete data[k]")));return J.return("data")})},w8,m$=(Z)=>{if(b(Z,"root")&&Z.hasKind("unit"))Z=Z.unit;if(typeof Z==="number")Z=`${Z}`;return Z},u$=(Z,X)=>`${Z} is not allowed as an array index on ${X}. Use the 'nonNegativeIntegerString' keyword instead.`,l4=(Z,X,Q)=>{let[U,J]=r3(Z.branches,(Y)=>Y.hasKind("unit"));if(!U.length)return{index:Q.node("index",{signature:Z,value:X})};let q={};for(let Y of U){let W=Q.node("required",{key:Y.unit,value:X});q[W.kind]=m(q[W.kind],W)}if(J.length)q.index=Q.node("index",{signature:J,value:X});return q},p$=(Z)=>b(Z,"root")?Z.expression:k(Z),pU=(Z,X)=>`Key${X.length===1?"":"s"} ${X.map(p$).join(", ")} ${X.length===1?"does":"do"} not exist on ${Z}`,lU=(Z)=>`Duplicate key ${s0(Z)}`;var A8=O(()=>{E();b0();m4();b1();S1();U0();d();v0();p();N1();U1();J0();S2();y$=dU("description"),k$=dU("expression"),g$=g({kind:"structure",hasAssociatedError:!1,normalize:(Z)=>Z,applyConfig:(Z,X)=>{if(!Z.undeclared&&X.onUndeclaredKey!=="ignore")return{...Z,undeclared:X.onUndeclaredKey};return Z},keys:{required:{child:!0,parse:F0("required"),reduceIo:(Z,X,Q)=>{X.required=m(X.required,Q.map((U)=>Z==="in"?U.rawIn:U.rawOut));return}},optional:{child:!0,parse:F0("optional"),reduceIo:(Z,X,Q)=>{if(Z==="in"){X.optional=Q.map((U)=>U.rawIn);return}for(let U of Q)X[U.outProp.kind]=m(X[U.outProp.kind],U.outProp.rawOut)}},index:{child:!0,parse:F0("index")},sequence:{child:!0,parse:F0("sequence")},undeclared:{parse:(Z)=>Z==="ignore"?void 0:Z,reduceIo:(Z,X,Q)=>{if(Q==="reject"){X.undeclared="reject";return}if(Z==="in")delete X.undeclared;else X.undeclared="reject"}}},defaults:{description:y$},intersections:{structure:(Z,X,Q)=>{let U={...Z.inner},J={...X.inner},q=new A;if(Z.undeclared){let $=Z.keyof();for(let L of X.requiredKeys)if(!$.allows(L))q.add("presence",R.intrinsic.never.internal,X.propsByKey[L].value,{path:[L]});if(J.optional)J.optional=J.optional.filter((L)=>$.allows(L.key));if(J.index)J.index=J.index.flatMap((L)=>{if(L.signature.extends($))return L;let _=N0($,L.signature,Q.$);if(_ instanceof A)return[];let G=l4(_,L.value,Q.$);if(G.required)J.required=_1(J.required,G.required);if(G.optional)J.optional=_1(J.optional,G.optional);return G.index??[]})}if(X.undeclared){let $=X.keyof();for(let L of Z.requiredKeys)if(!$.allows(L))q.add("presence",Z.propsByKey[L].value,R.intrinsic.never.internal,{path:[L]});if(U.optional)U.optional=U.optional.filter((L)=>$.allows(L.key));if(U.index)U.index=U.index.flatMap((L)=>{if(L.signature.extends($))return L;let _=N0($,L.signature,Q.$);if(_ instanceof A)return[];let G=l4(_,L.value,Q.$);if(G.required)U.required=_1(U.required,G.required);if(G.optional)U.optional=_1(U.optional,G.optional);return G.index??[]})}let Y={};if(Z.undeclared||X.undeclared)Y.undeclared=Z.undeclared==="reject"||X.undeclared==="reject"?"reject":"delete";let W=T2({kind:"structure",baseInner:Y,l:D2(U),r:D2(J),roots:[],ctx:Q});if(W instanceof A)q.push(...W);if(q.length)return q;return W}},reduce:(Z,X)=>{if(!Z.required&&!Z.optional)return;let Q={},U=!1,J=Z.optional?[...Z.optional]:[];if(Z.required)for(let q=0;q<Z.required.length;q++){let Y=Z.required[q];if(Y.key in Q)M(lU(Y.key));if(Q[Y.key]=!0,Z.index)for(let W of Z.index){let $=uU(Y,W,X);if($ instanceof A)return $}}if(Z.optional)for(let q=0;q<Z.optional.length;q++){let Y=Z.optional[q];if(Y.key in Q)M(lU(Y.key));if(Q[Y.key]=!0,Z.index)for(let W of Z.index){let $=uU(Y,W,X);if($ instanceof A)return $;if($!==null)J[q]=$,U=!0}}if(U)return X.node("structure",{...Z,optional:J},{prereduced:!0})}});cU=class cU extends x0{impliedBasis=R.intrinsic.object.internal;impliedSiblings=this.children.flatMap((Z)=>Z.impliedSiblings??[]);props=_1(this.required,this.optional);propsByKey=y(this.props,(Z,X)=>[X.key,X]);propsByKeyReference=Z0(this.propsByKey);expression=k$(this);requiredKeys=this.required?.map((Z)=>Z.key)??[];optionalKeys=this.optional?.map((Z)=>Z.key)??[];literalKeys=[...this.requiredKeys,...this.optionalKeys];_keyof;keyof(){if(this._keyof)return this._keyof;let Z=this.$.units(this.literalKeys).branches;if(this.index)for(let{signature:X}of this.index)Z=Z.concat(X.branches);return this._keyof=this.$.node("union",Z)}map(Z){return this.$.node("structure",this.props.flatMap(Z).reduce((X,Q)=>{let U=this.propsByKey[Q.key];if(o(Q)){if(Q.kind!=="required"&&Q.kind!=="optional")return M(`Map result must have kind "required" or "optional" (was ${Q.kind})`);return X[Q.kind]=m(X[Q.kind],Q),X}let J=Q.kind??U?.kind??"required",q=y(Q,(Y,W)=>(Y in C6.implementation.keys)?[Y,W]:[]);return X[J]=m(X[J],this.$.node(J,q)),X},{}))}assertHasKeys(Z){let X=Z.filter((Q)=>!j6(Q,this.keyof()));if(X.length)return M(pU(this.expression,X))}get(Z,...X){let Q,U=!1,J=m$(Z);if((typeof J==="string"||typeof J==="symbol")&&this.propsByKey[J])Q=this.propsByKey[J].value,U=this.propsByKey[J].required;if(this.index){for(let Y of this.index)if(j6(J,Y.signature))Q=Q?.and(Y.value)??Y.value}if(this.sequence&&j6(J,R.intrinsic.nonNegativeIntegerString))if(b(J,"root")){if(this.sequence.variadic)Q=Q?.and(this.sequence.element)??this.sequence.element}else{let Y=Number.parseInt(J);if(Y<this.sequence.prevariadic.length){let W=this.sequence.prevariadic[Y].node;Q=Q?.and(W)??W,U||=Y<this.sequence.prefixLength}else if(this.sequence.variadic){let W=this.$.node("union",this.sequence.variadicOrPostfix);Q=Q?.and(W)??W}}if(!Q){if(this.sequence?.variadic&&b(J,"root")&&J.extends(R.intrinsic.number))return M(u$(J.expression,this.sequence.expression));return M(pU(this.expression,[J]))}let q=Q.get(...X);return U?q:q.or(R.intrinsic.undefined)}pick(...Z){return this.assertHasKeys(Z),this.$.node("structure",this.filterKeys("pick",Z))}omit(...Z){return this.assertHasKeys(Z),this.$.node("structure",this.filterKeys("omit",Z))}optionalize(){let{required:Z,...X}=this.inner;return this.$.node("structure",{...X,optional:this.props.map((Q)=>Q.hasKind("required")?this.$.node("optional",Q.inner):Q)})}require(){let{optional:Z,...X}=this.inner;return this.$.node("structure",{...X,required:this.props.map((Q)=>Q.hasKind("optional")?{key:Q.key,value:Q.value}:Q)})}merge(Z){let X=this.filterKeys("omit",[Z.keyof()]);if(Z.required)X.required=m(X.required,Z.required);if(Z.optional)X.optional=m(X.optional,Z.optional);if(Z.index)X.index=m(X.index,Z.index);if(Z.sequence)X.sequence=Z.sequence;if(Z.undeclared)X.undeclared=Z.undeclared;else delete X.undeclared;return this.$.node("structure",X)}filterKeys(Z,X){let Q=N4(this.inner),U=(J)=>{let q=X.some((Y)=>j6(J,Y));return Z==="pick"?q:!q};if(Q.required)Q.required=Q.required.filter((J)=>U(J.key));if(Q.optional)Q.optional=Q.optional.filter((J)=>U(J.key));if(Q.index)Q.index=Q.index.filter((J)=>U(J.signature));return Q}traverseAllows=(Z,X)=>this._traverse("Allows",Z,X);traverseApply=(Z,X)=>this._traverse("Apply",Z,X);_traverse=(Z,X,Q)=>{let U=Q?.currentErrorCount??0;for(let J=0;J<this.props.length;J++)if(Z==="Allows"){if(!this.props[J].traverseAllows(X,Q))return!1}else if(this.props[J].traverseApply(X,Q),Q.failFast&&Q.currentErrorCount>U)return!1;if(this.sequence){if(Z==="Allows"){if(!this.sequence.traverseAllows(X,Q))return!1}else if(this.sequence.traverseApply(X,Q),Q.failFast&&Q.currentErrorCount>U)return!1}if(this.index||this.undeclared==="reject"){let J=Object.keys(X);J.push(...Object.getOwnPropertySymbols(X));for(let q=0;q<J.length;q++){let Y=J[q];if(this.index){for(let W of this.index)if(W.signature.traverseAllows(Y,Q)){if(Z==="Allows"){if(!C0(Y,()=>W.value.traverseAllows(X[Y],Q),Q))return!1}else if(C0(Y,()=>W.value.traverseApply(X[Y],Q),Q),Q.failFast&&Q.currentErrorCount>U)return!1}}if(this.undeclared==="reject"&&!this.declaresKey(Y)){if(Z==="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((Z)=>Z.hasDefault())??[])}declaresKey=(Z)=>(Z in this.propsByKey)||this.index?.some((X)=>X.signature.allows(Z))||this.sequence!==void 0&&R.intrinsic.nonNegativeIntegerString.allows(Z);_compileDeclaresKey(Z){let X=[];if(this.props.length)X.push(`k in ${this.propsByKeyReference}`);if(this.index)for(let Q of this.index)X.push(Z.invoke(Q.signature,{kind:"Allows",arg:"k"}));if(this.sequence)X.push("$ark.intrinsic.nonNegativeIntegerString.allows(k)");return X.join(" || ")||"false"}get structuralMorph(){return this.cacheGetter("structuralMorph",x$(this))}structuralMorphRef=this.structuralMorph&&Z0(this.structuralMorph);compile(Z){if(Z.traversalKind==="Apply")Z.initializeErrorCount();for(let X of this.props)if(Z.check(X),Z.traversalKind==="Apply")Z.returnIfFailFast();if(this.sequence){if(Z.check(this.sequence),Z.traversalKind==="Apply")Z.returnIfFailFast()}if(this.index||this.undeclared==="reject")Z.const("keys","Object.keys(data)"),Z.line("keys.push(...Object.getOwnPropertySymbols(data))"),Z.for("i < keys.length",()=>this.compileExhaustiveEntry(Z));if(Z.traversalKind==="Allows")return Z.return(!0);if(this.structuralMorphRef)Z.if("ctx && !ctx.hasError()",()=>{return Z.line("ctx.queueMorphs(["),h$(Z,this),Z.line("])")})}compileExhaustiveEntry(Z){if(Z.const("k","keys[i]"),this.index)for(let X of this.index)Z.if(`${Z.invoke(X.signature,{arg:"k",kind:"Allows"})}`,()=>Z.traverseKey("k","data[k]",X.value));if(this.undeclared==="reject")Z.if(`!(${this._compileDeclaresKey(Z)})`,()=>{if(Z.traversalKind==="Allows")return Z.return(!1);return Z.line(`ctx.errorFromNodeContext({ code: "predicate", expected: "removed", actual: "", relativePath: [k], meta: ${this.compiledMeta} })`).if("ctx.failFast",()=>Z.return())});return Z}reduceJsonSchema(Z,X){switch(Z.type){case"object":return this.reduceObjectJsonSchema(Z,X);case"array":let Q=this.sequence?.reduceJsonSchema(Z,X)??Z;if(this.props.length||this.index)return X.fallback.arrayObject({code:"arrayObject",base:Q,object:this.reduceObjectJsonSchema({type:"object"},X)});return Q;default:return t.throwInternalOperandError("structure",Z)}}reduceObjectJsonSchema(Z,X){if(this.props.length){Z.properties={};for(let Q of this.props){let U=Q.value.toJsonSchemaRecurse(X);if(typeof Q.key==="symbol"){X.fallback.symbolKey({code:"symbolKey",base:Z,key:Q.key,value:U,optional:Q.optional});continue}if(Q.hasDefault()){let J=typeof Q.default==="function"?Q.default():Q.default;U.default=R.intrinsic.jsonData.allows(J)?J:X.fallback.defaultValue({code:"defaultValue",base:U,value:J})}Z.properties[Q.key]=U}if(this.requiredKeys.length&&Z.properties)Z.required=this.requiredKeys.filter((Q)=>typeof Q==="string"&&(Q in Z.properties))}if(this.index)for(let Q of this.index){let U=Q.value.toJsonSchemaRecurse(X);if(Q.signature.equals(R.intrinsic.string)){Z.additionalProperties=U;continue}for(let J of Q.signature.branches){if(!J.extends(R.intrinsic.string)){Z=X.fallback.symbolKey({code:"symbolKey",base:Z,key:null,value:U,optional:!1});continue}let q={type:"string"};if(J.hasKind("morph"))q=X.fallback.morph({code:"morph",base:J.rawIn.toJsonSchemaRecurse(X),out:J.rawOut.toJsonSchemaRecurse(X)});if(!J.hasKind("intersection"))return u(`Unexpected index branch kind ${J.kind}.`);let{pattern:Y}=J.inner;if(Y){let W=Object.assign(q,{pattern:Y[0].rule});for(let $=1;$<Y.length;$++)q=X.fallback.patternIntersection({code:"patternIntersection",base:W,pattern:Y[$].rule});Z.patternProperties??={},Z.patternProperties[W.pattern]=U}}}if(this.undeclared&&!Z.additionalProperties)Z.additionalProperties=!1;return Z}};D8={},w8={implementation:g$,Node:cU}});var A2,MU;var h4=O(()=>{E();P2();fZ();kZ();oZ();tZ();J8();q8();W8();L8();G8();H8();z8();p();N1();M8();S2();R8();T8();A8();A2={..._U,alias:E6.implementation,domain:p4.implementation,unit:F8.implementation,proto:b6.implementation,union:V8.implementation,morph:$8.implementation,intersection:Y8.implementation,divisor:yZ.implementation,pattern:nZ.implementation,predicate:IZ.implementation,required:O8.implementation,optional:C6.implementation,index:B8.implementation,sequence:P8.implementation,structure:w8.implementation};R.defaultConfig=JQ(Object.assign(y(A2,(Z,X)=>[Z,X.defaults]),{jitless:VQ(),clone:WQ,onUndeclaredKey:"ignore",exactOptionalPropertyTypes:!0,numberAllowsNaN:!1,dateAllowsInvalid:!1,onFail:null,keywords:{},toJsonSchema:t.defaultConfig}));R.resolvedConfig=O6(R.defaultConfig,R.config);MU={...VU,alias:E6.Node,domain:p4.Node,unit:F8.Node,proto:b6.Node,union:V8.Node,morph:$8.Node,intersection:Y8.Node,divisor:yZ.Node,pattern:nZ.Node,predicate:IZ.Node,required:O8.Node,optional:C6.Node,index:B8.Node,sequence:P8.Node,structure:w8.Node}});var E2,S8=(Z,X)=>new E2(y(Z,(Q,U)=>[Q,b(U,"module")?S8(U,X):X.bindReference(U)]));var C8=O(()=>{E();J0();E2=class E2 extends GZ{get[M0](){return"module"}}});var l$=(Z)=>r(Z)?Z:("branches"in Z)&&r(Z.branches)?Z.branches:void 0,d$=(Z,X)=>M(`Node of kind ${X} is not valid as a ${Z} definition`),iU=(Z)=>`#${Z} duplicates public alias ${Z}`,N8,sU,rU="function $",c$=(Z)=>oU(Z,nU(Z)),oU=(Z,X)=>{let Q=X.write(rU,4),U=X.compile()();for(let J of Z){if(J.precompilation)continue;if(J.traverseAllows=U[`${J.id}Allows`].bind(U),J.isRoot()&&!J.allowsRequiresContext)J.allows=J.traverseAllows;if(J.traverseApply=U[`${J.id}Apply`].bind(U),U[`${J.id}Optimistic`])J.traverseOptimistic=U[`${J.id}Optimistic`].bind(U);J.precompilation=Q}},nU=(Z)=>new C4().return(Z.reduce((X,Q)=>{let U=new M6({kind:"Allows"}).indent();Q.compile(U);let J=U.write(`${Q.id}Allows`),q=new M6({kind:"Apply"}).indent();Q.compile(q);let Y=q.write(`${Q.id}Apply`),W=`${X}${J},
|
|
42
|
+
${Y},
|
|
43
|
+
`;if(!Q.hasKind("union"))return W;let $=new M6({kind:"Allows",optimistic:!0}).indent();Q.compile($);let L=$.write(`${Q.id}Optimistic`);return`${W}${L},
|
|
44
|
+
`},`{
|
|
45
|
+
`)+"}"),d4,E8,aU=(Z)=>{let X=Z.references.filter((Q)=>Q.hasKind("alias"));for(let Q of X){Object.assign(Q.referencesById,Q.resolution.referencesById);for(let U of Z.references)if(Q.id in U.referencesById)Object.assign(U.referencesById,Q.referencesById)}return Z},tU=(Z)=>y(Z,(X,Q)=>[X,b(Q,"root")||b(Q,"generic")?Q.json:b(Q,"module")?tU(Q):u(`Unexpected resolution ${k(Q)}`)]),j8=(Z,X)=>{let Q=X.indexOf(".");if(Q===-1)return;let U=X.slice(0,Q),J=Z[U];if(J===void 0)return;if(!b(J,"module"))return M(i$(U));let q=X.slice(Q+1),Y=J[q];if(Y===void 0)return j8(J,q);if(b(Y,"root")||b(Y,"generic"))return Y;if(b(Y,"module"))return Y.root??M(Z5(X));u(`Unexpected resolution for alias '${X}': ${k(Y)}`)},c4=(Z,X)=>new E8(Z,X),f6,eU=(Z,X)=>{let Q={};for(let U in X){let J=X[U];if(b(J,"module")){let q=eU(Z,J),Y=y(q,(W,$)=>[`${U}.${W}`,$]);Object.assign(Q,Y)}else if(b(J,"root")||b(J,"generic"))Q[U]=J;else u(`Unexpected scope resolution ${k(J)}`)}return Q},b8=(Z)=>`'${Z}' is unresolvable`,i$=(Z)=>`'${Z}' must reference a module to be accessed using dot syntax`,Z5=(Z)=>`Reference to submodule '${Z}' must specify an alias`,c,b2,FC,m0;var I8=O(()=>{E();P2();bZ();h4();C8();x4();J8();S1();p();U1();J0();N8={};R.ambient??={};d4=class d4{config;resolvedConfig;name;get[M0](){return"scope"}referencesById={};references=[];resolutions={};exportedNames=[];aliases={};resolved=!1;nodesByHash={};intrinsic;constructor(Z,X){if(this.config=O6(R.config,X),this.resolvedConfig=O6(R.resolvedConfig,X),this.name=this.resolvedConfig.name??`anonymousScope${Object.keys(N8).length}`,this.name in N8)M(`A Scope already named ${this.name} already exists`);N8[this.name]=this;let Q=Object.entries(Z).map((U)=>this.preparseOwnAliasEntry(...U));for(let[U,J]of Q){let q=U;if(U[0]==="#"){if(q=U.slice(1),q in this.aliases)M(iU(q));this.aliases[q]=J}else{if(q in this.aliases)M(iU(U));this.aliases[q]=J,this.exportedNames.push(q)}if(!b(J,"module")&&!b(J,"generic")&&!D1(J)){let Y=this.preparseOwnDefinitionFormat(J,{alias:q});this.resolutions[q]=b(Y,"root")?this.bindReference(Y):this.createParseContext(Y).id}}sU??=this.node("union",{branches:["string","number","object","bigint","symbol",{unit:!0},{unit:!1},{unit:void 0},{unit:null}]},{prereduced:!0}),this.nodesByHash[sU.hash]=this.node("intersection",{},{prereduced:!0}),this.intrinsic=R.intrinsic?y(R.intrinsic,(U,J)=>U.startsWith("json")?[]:[U,this.bindReference(J)]):{}}cacheGetter(Z,X){return Object.defineProperty(this,Z,{value:X}),X}get internal(){return this}_json;get json(){if(!this._json)this.export();return this._json}defineSchema(Z){return Z}generic=(...Z)=>{let X=this;return(Q,U)=>new E1(Z,U?new I4(Q):Q,X,X,U??null)};units=(Z,X)=>{let Q=[];for(let J of Z)if(!Q.includes(J))Q.push(J);let U=Q.map((J)=>this.node("unit",{unit:J},X));return this.node("union",U,{...X,prereduced:!0})};lazyResolutions=[];lazilyResolve(Z,X){let Q=this.node("alias",{reference:X??"synthetic",resolve:Z},{prereduced:!0});if(!this.resolved)this.lazyResolutions.push(Q);return Q}schema=(Z,X)=>this.finalize(this.parseSchema(Z,X));parseSchema=(Z,X)=>this.node(D6(Z),Z,X);preparseNode(Z,X,Q){let U=typeof Z==="string"?Z:D6(X,Z);if(o(X)&&X.kind===U)return X;if(U==="alias"&&!Q?.prereduced){let{reference:Y}=E6.implementation.normalize(X,this);if(Y.startsWith("$")){let W=this.resolveRoot(Y.slice(1));X=W,U=W.kind}}else if(U==="union"&&T0(X,"object")){let Y=l$(X);if(Y?.length===1)X=Y[0],U=D6(X)}if(o(X)&&X.kind===U)return X;let q=A2[U].normalize?.(X,this)??X;if(o(q))return q.kind===U?q:d$(U,q.kind);return{...Q,$:this,kind:U,def:q,prefix:Q.alias??U}}bindReference(Z){let X;if(o(Z))X=Z.$===this?Z:new Z.constructor(Z.attachments,this);else X=Z.$===this?Z:new E1(Z.params,Z.bodyDef,Z.$,this,Z.hkt);if(!this.resolved)Object.assign(this.referencesById,X.referencesById);return X}resolveRoot(Z){return this.maybeResolveRoot(Z)??M(b8(Z))}maybeResolveRoot(Z){let X=this.maybeResolve(Z);if(b(X,"generic"))return;return X}maybeResolveSubalias(Z){return j8(this.aliases,Z)??j8(this.ambient,Z)}get ambient(){return R.ambient}maybeResolve(Z){let X=this.resolutions[Z];if(X){if(typeof X!=="string")return this.bindReference(X);let U=O0[X];if(b(U,"root"))return this.resolutions[Z]=U;if(b(U,"context")){if(U.phase==="resolving")return this.node("alias",{reference:`$${Z}`},{prereduced:!0});if(U.phase==="resolved")return u(`Unexpected resolved context for was uncached by its scope: ${k(U)}`);U.phase="resolving";let J=this.bindReference(this.parseOwnDefinitionFormat(U.def,U));return U.phase="resolved",O0[J.id]=J,O0[U.id]=J,this.resolutions[Z]=J}return u(`Unexpected nodesById entry for ${X}: ${k(U)}`)}let Q=this.aliases[Z]??this.ambient?.[Z];if(!Q)return this.maybeResolveSubalias(Z);if(Q=this.normalizeRootScopeValue(Q),b(Q,"generic"))return this.resolutions[Z]=this.bindReference(Q);if(b(Q,"module")){if(!Q.root)M(Z5(Z));return this.resolutions[Z]=this.bindReference(Q.root)}return this.resolutions[Z]=this.parse(Q,{alias:Z})}createParseContext(Z){let X=Z.id??eZ(Z.prefix);return O0[X]=Object.assign(Z,{[M0]:"context",$:this,id:X,phase:"unresolved"})}traversal(Z){return new a0(Z,this.resolvedConfig)}import(...Z){return new E2(y(this.export(...Z),(X,Q)=>[`#${X}`,Q]))}precompilation;_exportedResolutions;_exports;export(...Z){if(!this._exports){this._exports={};for(let Q of this.exportedNames){let U=this.aliases[Q];this._exports[Q]=b(U,"module")?S8(U,this):aU(this.maybeResolve(Q))}for(let Q of this.lazyResolutions)Q.resolution;if(this._exportedResolutions=eU(this,this._exports),this._json=tU(this._exportedResolutions),Object.assign(this.resolutions,this._exportedResolutions),this.references=Object.values(this.referencesById),!this.resolvedConfig.jitless){let Q=nU(this.references);this.precompilation=Q.write(rU,4),oU(this.references,Q)}this.resolved=!0}let X=Z.length?Z:this.exportedNames;return new E2(y(X,(Q,U)=>[U,this._exports[U]]))}resolve(Z){return this.export()[Z]}node=(Z,X,Q={})=>{let U=this.preparseNode(Z,X,Q);if(o(U))return this.bindReference(U);let J=this.createParseContext(U),q=Z8(J),Y=this.bindReference(q);return O0[J.id]=Y};parse=(Z,X={})=>this.finalize(this.parseDefinition(Z,X));parseDefinition(Z,X={}){if(b(Z,"root"))return this.bindReference(Z);let Q=this.preparseOwnDefinitionFormat(Z,X);if(b(Q,"root"))return this.bindReference(Q);let U=this.createParseContext(Q);O0[U.id]=U;let J=this.bindReference(this.parseOwnDefinitionFormat(Z,U));if(J.isCyclic)J=BU(J,U.id);return O0[U.id]=J,J}finalize(Z){if(aU(Z),!Z.precompilation&&!this.resolvedConfig.jitless)c$(Z.references);return Z}};E8=class E8 extends d4{parseOwnDefinitionFormat(Z,X){return Z8(X)}preparseOwnDefinitionFormat(Z,X){return this.preparseNode(D6(Z),Z,X)}preparseOwnAliasEntry(Z,X){return[Z,X]}normalizeRootScopeValue(Z){return Z}};f6=new E8({});f6.export();c=f6.schema,b2=f6.node,FC=f6.defineSchema,m0=f6.generic});var f8="^(?:0|[1-9]\\d*)$",s$,MC;var X5=O(()=>{p();s$=new RegExp(f8),MC=Z0(s$)});var Q5,U5,a$,I;var m4=O(()=>{I8();p();X5();Q5=c4({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();R.intrinsic={...Q5};U5=c4({integer:{domain:"number",divisor:1},lengthBoundable:["string",Array],key:["string","symbol"],nonNegativeIntegerString:{domain:"string",pattern:f8}},{prereducedAliases:!0}).export();Object.assign(R.intrinsic,U5);a$=c4({jsonPrimitive:["string","number",{unit:!0},{unit:!1},{unit:null}],jsonObject:{domain:"object",index:{signature:"string",value:"$jsonData"}},jsonData:["$jsonPrimitive","$jsonObject"]},{prereducedAliases:!0}).export(),I={...Q5,...U5,...a$,emptyStructure:b2("structure",{},{prereduced:!0})};R.intrinsic={...I}});var J5=()=>{};var q5=()=>{};var Y5=()=>{};var q0=O(()=>{E();P2();b0();bZ();m4();h4();C8();Z2();x4();fZ();vZ();hZ();kZ();uZ();oZ();lZ();cZ();sZ();rZ();tZ();M1();q8();W8();L8();G8();b1();H8();z8();I8();S1();J5();U0();R6();d();v0();q5();p();Y5();N1();U1();J0();M8();S2();S6();R8();T8();A8()});var i4=(Z,X)=>new RegExp(Z,X);var W5=O(()=>{Object.assign(i4,{as:i4})});var $5=O(()=>{W5()});var L5=O(()=>{P2()});var _5=(Z)=>typeof Z==="string"&&Z[0]==="d"&&(Z[1]==="'"||Z[1]==='"')&&Z[Z.length-1]===Z[1],G5=(Z)=>Z.toString()!=="Invalid Date",V5=(Z)=>Z.slice(2,-1),y8=(Z)=>`'${Z}' could not be parsed by the Date constructor`,H5=(Z,X)=>r$(Z,X),r$=(Z,X)=>{let Q=new Date(Z);if(G5(Q))return Q;let U=CQ(Z);if(U!==void 0){let J=new Date(U);if(G5(J))return J}return X?M(X===!0?y8(Z):X):void 0};var k8=O(()=>{E()});var o$,s4=(Z,X)=>{let Q=Z.scanner.shiftUntilEscapable(t$[B5[X]]);if(Z.scanner.lookahead==="")return Z.error(ZL(Q,X));if(Z.scanner.shift(),X in z5){let U;try{U=new RegExp(Q)}catch(J){M(String(J))}if(Z.root=Z.ctx.$.node("intersection",{domain:"string",pattern:Q},{prereduced:!0}),X==="x/")Z.root=Z.ctx.$.node("morph",{in:Z.root,morphs:(J)=>U.exec(J),declaredOut:o$})}else if(L0(X,g8))Z.root=Z.ctx.$.node("unit",{unit:Q});else{let U=H5(Q,y8(Q));Z.root=Z.ctx.$.node("unit",{meta:Q,unit:U})}},g8,F5,n$,z5,B5,t$,e$,ZL=(Z,X)=>`${X}${Z} requires a closing ${e$[B5[X]]}`;var M5=O(()=>{q0();E();k8();o$=c({proto:"Array",sequence:"string",required:{key:"groups",value:["object",{unit:void 0}]}}),g8={"'":1,'"':1},F5={"/":1,"'":1,'"':1},n$={"d'":"'",'d"':'"',"'":"'",'"':'"'},z5={"/":"/","x/":"/"},B5={...n$,...z5},t$={"'":(Z)=>Z.lookahead==="'",'"':(Z)=>Z.lookahead==='"',"/":(Z)=>Z.lookahead==="/"},e$={'"':"double-quote","'":"single-quote","/":"forward slash"}});var O5=(Z)=>`Private type references should not include '#'. Use '${Z}' instead.`,a4="Optional definitions like 'string?' are only valid as properties in an object or tuple",r4="Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple";var q1,R5=(Z,X)=>Z===">"?X[0]==="="?X[1]==="=":X.trimStart()===""||L0(X.trimStart()[0],q1):Z==="="?X[0]!=="=":Z===","||Z==="?";var I2=O(()=>{E();q1={"<":1,">":1,"=":1,"|":1,"&":1,")":1,"[":1,"%":1,",":1,":":1,"?":1,"#":1,...w1}});var P5=(Z,X,Q)=>K5(Z,X,Q,[]),K5=(Z,X,Q,U)=>{let J=Q.parseUntilFinalizer();if(U.push(J.root),J.finalizer===">"){if(U.length!==X.params.length)return Q.error(v8(Z,X.names,U.map((q)=>q.expression)));return U}if(J.finalizer===",")return K5(Z,X,Q,U);return J.error(S4(">"))},v8=(Z,X,Q)=>`${Z}<${X.join(", ")}> requires exactly ${X.length} args (got ${Q.length}${Q.length===0?"":`: ${Q.join(", ")}`})`;var T5=O(()=>{E()});var o4=(Z)=>{let X=Z.scanner.shiftUntilLookahead(q1);if(X==="keyof")Z.addPrefix("keyof");else Z.root=QL(Z,X)},XL=(Z,X,Q)=>{if(Q.scanner.shiftUntilNonWhitespace(),Q.scanner.shift()!=="<")return Q.error(v8(Z,X.names,[]));let J=P5(Z,X,Q);return X(...J)},QL=(Z,X)=>UL(Z,X)??JL(Z,X)??Z.error(X===""?Z.scanner.lookahead==="#"?O5(Z.shiftedBy(1).scanner.shiftUntilLookahead(q1)):x8(Z):b8(X)),UL=(Z,X)=>{if(Z.ctx.args?.[X]){let U=Z.ctx.args[X];if(typeof U!=="string")return U;return Z.ctx.$.node("alias",{reference:U},{prereduced:!0})}let Q=Z.ctx.$.maybeResolve(X);if(b(Q,"root"))return Q;if(Q===void 0)return;if(b(Q,"generic"))return XL(X,Q,Z);return M(`Unexpected resolution ${k(Q)}`)},JL=(Z,X)=>{let Q=NQ(X);if(Q!==void 0)return Z.ctx.$.node("unit",{unit:Q});let U=EQ(X);if(U!==void 0)return Z.ctx.$.node("unit",{unit:U})},x8=(Z)=>{let X=Z.previousOperator();return X?h8(X,Z.scanner.unscanned):qL(Z.scanner.unscanned)},h8=(Z,X="")=>`Token '${Z}' requires a right operand${X?` before '${X}'`:""}`,qL=(Z)=>`Expected an expression${Z?` before '${Z}'`:""}`;var m8=O(()=>{q0();E();I2();T5()});var u8=(Z)=>Z.scanner.lookahead===""?Z.error(x8(Z)):Z.scanner.lookahead==="("?Z.shiftedBy(1).reduceGroupOpen():Z.scanner.lookaheadIsIn(F5)?s4(Z,Z.scanner.shift()):Z.scanner.lookaheadIsIn(w1)?u8(Z.shiftedBy(1)):Z.scanner.lookahead==="d"?Z.scanner.nextLookahead in g8?s4(Z,`${Z.scanner.shift()}${Z.scanner.shift()}`):o4(Z):Z.scanner.lookahead==="x"?Z.scanner.nextLookahead==="/"?Z.shiftedBy(2)&&s4(Z,"x/"):o4(Z):o4(Z);var D5=O(()=>{E();M5();m8()});var w5,A5,f2,S5=(Z,X)=>`Left bounds are only valid when paired with right bounds (try ...${X}${Z})`,n4=(Z)=>`Left-bounded expressions must specify their limits using < or <= (was ${Z})`,C5=(Z,X,Q,U)=>`An expression may have at most one left bound (parsed ${Z}${f2[X]}, ${Q}${f2[U]})`;var p8=O(()=>{w5={">":!0,">=":!0},A5={"<":!0,"<=":!0},f2={"<":">",">":"<","<=":">=",">=":"<=","==":"=="}});var j5=(Z,X)=>{let Q=YL(Z,X);if(Z.root.hasKind("unit")){if(typeof Z.root.unit==="number"){Z.reduceLeftBound(Z.root.unit,Q),Z.unsetRoot();return}if(Z.root.unit instanceof Date){let U=`d'${Z.root.description??Z.root.unit.toISOString()}'`;Z.unsetRoot(),Z.reduceLeftBound(U,Q);return}}return $L(Z,Q)},E5,YL=(Z,X)=>Z.scanner.lookaheadIs("=")?`${X}${Z.scanner.shift()}`:X,N5=(Z,X,Q,U)=>{if(Q.extends(R.intrinsic.number)){if(typeof X!=="number")return M(l8(Z,X,U));return Z==="=="?["min","max"]:Z[0]===">"?["min"]:["max"]}if(Q.extends(R.intrinsic.lengthBoundable)){if(typeof X!=="number")return M(l8(Z,X,U));return Z==="=="?["exactLength"]:Z[0]===">"?["minLength"]:["maxLength"]}if(Q.extends(R.intrinsic.Date))return Z==="=="?["after","before"]:Z[0]===">"?["after"]:["before"];return M(UU(Q.expression))},WL=(Z)=>({rule:_5(Z.limit)?V5(Z.limit):Z.limit,exclusive:Z.comparator.length===1}),$L=(Z,X)=>{let Q=Z.unsetRoot(),U=Z.scanner.location;Z.parseOperand();let J=Z.unsetRoot(),q=Z.scanner.sliceChars(U,Z.scanner.location);if(Z.root=Q,!J.hasKind("unit")||typeof J.unit!=="number"&&!(J.unit instanceof Date))return Z.error(l8(X,q,"right"));let Y=J.unit,W=X.length===1,$=N5(X,typeof Y==="number"?Y:q,Q,"right");for(let _ of $)Z.constrainRoot(_,X==="=="?{rule:Y}:{rule:Y,exclusive:W});if(!Z.branches.leftBound)return;if(!L0(X,A5))return Z.error(n4(X));let L=N5(Z.branches.leftBound.comparator,Z.branches.leftBound.limit,Q,"left");Z.constrainRoot(L[0],WL(Z.branches.leftBound)),Z.branches.leftBound=null},l8=(Z,X,Q)=>`Comparator ${Q==="left"?f2[Z]:Z} must be ${Q==="left"?"preceded":"followed"} by a corresponding literal (was ${X})`;var b5=O(()=>{q0();E();p8();k8();E5={"<":1,">":1,"=":1}});var I5=(Z)=>{Z.scanner.shiftUntilNonWhitespace();let X=Z.scanner.shiftUntilLookahead(q1);Z.root=Z.root.brand(X)};var f5=O(()=>{I2()});var k5=(Z)=>{Z.scanner.shiftUntilNonWhitespace();let X=Z.scanner.shiftUntilLookahead(q1),Q=jQ(X,{errorOnFail:y5(X)});if(Q===0)Z.error(y5(0));Z.root=Z.root.constrain("divisor",Q)},y5=(Z)=>`% operator must be followed by a non-zero integer literal (was ${Z})`;var g5=O(()=>{E();I2()});var d8=(Z)=>{let X=Z.scanner.shift();return X===""?Z.finalize(""):X==="["?Z.scanner.shift()==="]"?Z.setRoot(Z.root.array()):Z.error(LL):X==="|"?Z.scanner.lookahead===">"?Z.shiftedBy(1).pushRootToBranch("|>"):Z.pushRootToBranch(X):X==="&"?Z.pushRootToBranch(X):X===")"?Z.finalizeGroup():R5(X,Z.scanner.unscanned)?Z.finalize(X):L0(X,E5)?j5(Z,X):X==="%"?k5(Z):X==="#"?I5(Z):(X in w1)?d8(Z):Z.error(t4(X))},t4=(Z,X="")=>`'${Z}' is not allowed here${X&&` (should be ${X})`}`,LL="Missing expected ']'";var c8=O(()=>{E();I2();b5();f5();g5()});var v5=(Z)=>{let X=Z.unsetRoot();Z.parseOperand();let Q=Z.unsetRoot();if(!Q.hasKind("unit"))return Z.error(GL(Q.expression));let U=Q.unit instanceof Date?()=>new Date(Q.unit):Q.unit;return[X,"=",U]},GL=(Z)=>`Default value '${Z}' must be a literal value`;var i8=(Z,X)=>{let Q=X.$.maybeResolveRoot(Z);if(Q)return Q;if(Z.endsWith("[]")){let q=X.$.maybeResolveRoot(Z.slice(0,-2));if(q)return q.array()}let U=new y2(new B6(Z),X),J=_L(U);if(U.finalizer===">")M(t4(">"));return J},_L=(Z)=>{Z.parseOperand();let X=y6(Z).root;if(!X)return u(`Root was unexpectedly unset after parsing string '${Z.scanner.scanned}'`);if(Z.finalizer==="=")X=v5(Z);else if(Z.finalizer==="?")X=[X,"?"];if(Z.scanner.shiftUntilNonWhitespace(),Z.scanner.lookahead)M(t4(Z.scanner.lookahead));return X},y6=(Z)=>{while(Z.finalizer===void 0)VL(Z);return Z},VL=(Z)=>Z.hasRoot()?Z.parseOperator():Z.parseOperand();var e4=O(()=>{E();s8();c8()});class y2{root;branches={prefixes:[],leftBound:null,intersection:null,union:null,pipe:null};finalizer;groups=[];scanner;ctx;constructor(Z,X){this.scanner=Z,this.ctx=X}error(Z){return M(Z)}hasRoot(){return this.root!==void 0}setRoot(Z){this.root=Z}unsetRoot(){let Z=this.root;return this.root=void 0,Z}constrainRoot(...Z){this.root=this.root.constrain(Z[0],Z[1])}finalize(Z){if(this.groups.length)return this.error(S4(")"));this.finalizeBranches(),this.finalizer=Z}reduceLeftBound(Z,X){let Q=f2[X];if(!L0(Q,w5))return this.error(n4(X));if(this.branches.leftBound)return this.error(C5(this.branches.leftBound.limit,this.branches.leftBound.comparator,Z,Q));this.branches.leftBound={comparator:Q,limit:Z}}finalizeBranches(){if(this.assertRangeUnset(),this.branches.pipe){this.pushRootToBranch("|>"),this.root=this.branches.pipe;return}if(this.branches.union){this.pushRootToBranch("|"),this.root=this.branches.union;return}if(this.branches.intersection){this.pushRootToBranch("&"),this.root=this.branches.intersection;return}this.applyPrefixes()}finalizeGroup(){this.finalizeBranches();let Z=this.groups.pop();if(!Z)return this.error(gQ(")",this.scanner.unscanned));this.branches=Z}addPrefix(Z){this.branches.prefixes.push(Z)}applyPrefixes(){while(this.branches.prefixes.length){let Z=this.branches.prefixes.pop();this.root=Z==="keyof"?this.root.keyof():u(`Unexpected prefix '${Z}'`)}}pushRootToBranch(Z){this.assertRangeUnset(),this.applyPrefixes();let X=this.root;if(this.root=void 0,this.branches.intersection=this.branches.intersection?.rawAnd(X)??X,Z==="&")return;if(this.branches.union=this.branches.union?.rawOr(this.branches.intersection)??this.branches.intersection,this.branches.intersection=null,Z==="|")return;this.branches.pipe=this.branches.pipe?.rawPipeOnce(this.branches.union)??this.branches.union,this.branches.union=null}parseUntilFinalizer(){return y6(new y2(this.scanner,this.ctx))}parseOperator(){return d8(this)}parseOperand(){return u8(this)}assertRangeUnset(){if(this.branches.leftBound)return this.error(S5(this.branches.leftBound.limit,this.branches.leftBound.comparator))}reduceGroupOpen(){this.groups.push(this.branches),this.branches={prefixes:[],leftBound:null,union:null,intersection:null,pipe:null}}previousOperator(){return this.branches.leftBound?.comparator??this.branches.prefixes[this.branches.prefixes.length-1]??(this.branches.intersection?"&":this.branches.union?"|":this.branches.pipe?"|>":void 0)}shiftedBy(Z){return this.scanner.jumpForward(Z),this}}var s8=O(()=>{E();D5();c8();e4();p8()});var HL="An empty string is not a valid generic parameter name",Z9=(Z,X,Q)=>{Z.shiftUntilNonWhitespace();let U=Z.shiftUntilLookahead(q1);if(U===""){if(Z.lookahead===""&&X.length)return X;return M(HL)}return Z.shiftUntilNonWhitespace(),FL(Z,U,X,Q)},x5="extends ",FL=(Z,X,Q,U)=>{if(Z.shiftUntilNonWhitespace(),Z.unscanned.startsWith(x5))Z.jumpForward(x5.length);else{if(Z.lookahead===",")Z.shift();return Q.push(X),Z9(Z,Q,U)}let J=y6(new y2(Z,U));return Q.push([X,J.root]),Z9(Z,Q,U)};var a8=O(()=>{q0();E();s8();I2();e4()});var r8,h5,zL=`":" must be followed by exactly one return type e.g:
|
|
46
|
+
fn("string", ":", "number")(s => s.length)`;var m5=O(()=>{E();r8=class r8 extends A0{constructor(Z){let X={$:Z,raw:Z.fn};super((...Q)=>{let U=Q.indexOf(":"),J=U===-1?Q.length-1:U-1,q=Q.slice(0,J+1),Y=Z.parse(q).assertHasKind("intersection"),W=Z.intrinsic.unknown;if(U!==-1){if(U!==Q.length-2)return M(zL);W=Z.parse(Q[U+1])}return($)=>new h5($,Y,W)},{attach:X})}};h5=class h5 extends A0{raw;params;returns;expression;constructor(Z,X,Q){let U=`typed ${Z.name}`,J={[U]:(...Y)=>{let W=X.assert(Y),$=Z(...W);return Q.assert($)}}[U];super(J);this.raw=Z,this.params=X,this.returns=Q;let q=X.expression;if(q[0]==="["&&q[q.length-1]==="]")q=q.slice(1,-1);else if(q.endsWith("[]"))q=`...${q}`;this.expression=`(${q}) => ${Q?.expression??"unknown"}`}}});var o8,k6,u5=(Z)=>Z.throw(),BL="A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')",ML="At most one key matcher may be specified per expression";var p5=O(()=>{q0();E();o8=class o8 extends A0{$;constructor(Z){super((...X)=>new k6(Z)(...X),{bind:Z});this.$=Z}in(Z){return new k6(this.$,Z===void 0?void 0:this.$.parse(Z))}at(Z,X){return new k6(this.$).at(Z,X)}case(Z,X){return new k6(this.$).case(Z,X)}};k6=class k6 extends A0{$;in;key;branches=[];constructor(Z,X){super((Q)=>this.caseEntries(Object.entries(Q).map(([U,J])=>U==="default"?[U,J]:[this.$.parse(U),J])));this.$=Z,this.in=X}at(Z,X){if(this.key)M(ML);if(this.branches.length)M(BL);return this.key=Z,X?this.match(X):this}case(Z,X){return this.caseEntry(this.$.parse(Z),X)}caseEntry(Z,X){let U=(this.key?this.$.parse({[this.key]:Z}):Z).pipe(X);return this.branches.push(U),this}match(Z){return this(Z)}strings(Z){return this.caseEntries(Object.entries(Z).map(([X,Q])=>X==="default"?[X,Q]:[this.$.node("unit",{unit:X}),Q]))}caseEntries(Z){for(let X=0;X<Z.length;X++){let[Q,U]=Z[X];if(Q==="default"){if(X!==Z.length-1)M("default may only be specified as the last key of a switch definition");return this.default(U)}if(typeof U!=="function")return M(`Value for case "${Q}" must be a function (was ${$0(U)})`);this.caseEntry(Q,U)}return this}default(Z){if(typeof Z==="function")this.case(I.unknown,Z);let X={branches:this.branches,ordered:!0};if(Z==="never"||Z==="assert")X.meta={onFail:u5};let Q=this.$.node("union",X);if(!this.in)return this.$.finalize(Q);let U=this.in.pipe(Q);if(Z==="never"||Z==="assert")U=U.configureReferences({onFail:u5},"self");return this.$.finalize(U)}}});var X9=(Z,X)=>{if(r(Z)){if(Z[1]==="=")return[X.$.parseOwnDefinitionFormat(Z[0],X),"=",Z[2]];if(Z[1]==="?")return[X.$.parseOwnDefinitionFormat(Z[0],X),"?"]}return Q9(Z,X)},l5="Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }",d5="Only required keys may specify default values, e.g. { value: 'number = 0' }";var n8=O(()=>{E();t8()});var c5=(Z,X)=>{let Q,U={},J=r1(Z);for(let[Y,W]of J){let $=PL(Y);if($.kind==="spread"){if(!Q1(U))return M(RL);let F=X.$.parseOwnDefinitionFormat(W,X);if(F.equals(I.object))continue;if(!F.hasKind("intersection")||!F.basis?.equals(I.object))return M(KL(F.expression));Q=F.structure;continue}if($.kind==="undeclared"){if(W!=="reject"&&W!=="delete"&&W!=="ignore")M(OL(W));U.undeclared=W;continue}let L=X9(W,X),_=$;if($.kind==="required"){if(!r(L))e8(U,"required",{key:$.normalized,value:L},X);else e8(U,"optional",L[1]==="="?{key:$.normalized,value:L[0],default:L[2]}:{key:$.normalized,value:L[0]},X);continue}if(r(L)){if(L[1]==="?")M(l5);if(L[1]==="=")M(d5)}if($.kind==="optional"){e8(U,"optional",{key:$.normalized,value:L},X);continue}let G=X.$.parseOwnDefinitionFormat(_.normalized,X),V=l4(G,L,X.$);if(V.index)U.index=m(U.index,V.index);if(V.required)U.required=m(U.required,V.required)}let q=X.$.node("structure",U);return X.$.parseSchema({domain:"object",structure:Q?.merge(q)??q})},e8=(Z,X,Q,U)=>{Z[X]=m(Z[X],U.$.node(X,Q))},OL=(Z)=>`Value of '+' key must be 'reject', 'delete', or 'ignore' (was ${k(Z)})`,RL="Spread operator may only be used as the first key in an object",PL=(Z)=>typeof Z==="symbol"?{kind:"required",normalized:Z}:Z[Z.length-1]==="?"?Z[Z.length-2]===n1?{kind:"required",normalized:`${Z.slice(0,-2)}?`}:{kind:"optional",normalized:Z.slice(0,-1)}:Z[0]==="["&&Z[Z.length-1]==="]"?{kind:"index",normalized:Z.slice(1,-1)}:Z[0]===n1&&Z[1]==="["&&Z[Z.length-1]==="]"?{kind:"required",normalized:Z.slice(1)}:Z==="..."?{kind:"spread"}:Z==="+"?{kind:"undeclared"}:{kind:"required",normalized:Z==="\\..."?"...":Z==="\\+"?"+":Z},KL=(Z)=>`Spread operand must resolve to an object literal type (was ${Z})`;var i5=O(()=>{q0();E();n8()});var a5=(Z,X)=>bL(Z)?t5[Z[0]](Z,X):jL(Z)?n5[Z[1]](Z,X):null,TL=(Z,X)=>X.$.parseOwnDefinitionFormat(Z[1],X).keyof(),ZX=(Z,X)=>{if(Z[2]===void 0)return M(h8(Z[1],""));let Q=X.$.parseOwnDefinitionFormat(Z[0],X),U=X.$.parseOwnDefinitionFormat(Z[2],X);if(Z[1]==="|")return X.$.node("union",{branches:[Q,U]});let J=Z[1]==="&"?N0(Q,U,X.$):T6(Q,U,X.$);if(J instanceof A)return J.throw();return J},DL=(Z,X)=>X.$.parseOwnDefinitionFormat(Z[0],X).array(),wL=(Z,X)=>{if(typeof Z[2]!=="function")return M(r5("=>",Z[2]));return X.$.parseOwnDefinitionFormat(Z[0],X).pipe(Z[2])},r5=(Z,X)=>`${Z===":"?"Narrow":"Morph"} expression requires a function following '${Z}' (was ${typeof X})`,AL=(Z,X)=>{if(typeof Z[2]!=="function")return M(r5(":",Z[2]));return X.$.parseOwnDefinitionFormat(Z[0],X).constrain("predicate",Z[2])},SL=(Z,X)=>X.$.parseOwnDefinitionFormat(Z[0],X).configure(Z[2],Z[3]),o5=(Z)=>Z,CL,NL,n5,jL=(Z)=>n5[Z[1]]!==void 0,EL=(Z)=>Z,t5,bL=(Z)=>t5[Z[0]]!==void 0,s5=(Z)=>`Expected a constructor following 'instanceof' operator (was ${Z})`;var e5=O(()=>{q0();E();m8();CL=o5({"[]":DL,"?":()=>M(a4)}),NL=o5({"|":ZX,"&":ZX,":":AL,"=>":wL,"|>":ZX,"@":SL,"=":()=>M(r4)}),n5={...CL,...NL},t5=EL({keyof:TL,instanceof:(Z,X)=>{if(typeof Z[1]!=="function")return M(s5($6(Z[1])));let Q=Z.slice(1).map((U)=>typeof U==="function"?X.$.node("proto",{proto:U}):M(s5($6(U))));return Q.length===1?Q[0]:X.$.node("union",{branches:Q})},"===":(Z,X)=>X.$.units(Z.slice(1))})});var Q7=(Z,X)=>{let Q=[{}],U=0;while(U<Z.length){let J=!1;if(Z[U]==="..."&&U<Z.length-1)J=!0,U++;let q=X9(Z[U],X),[Y,W,$]=!r(q)?[q]:q;if(U++,J){if(!Y.extends(R.intrinsic.Array))return M(yL(Y.expression));Q=Q.flatMap((L)=>Y.distribute((_)=>fL(N4(L),_)))}else Q=Q.map((L)=>{if(W==="?")return U7(L,Y);if(W==="=")return IL(L,Y,$);return XX(L,Y)})}return X.$.parseSchema(Q.map((J)=>Q1(J)?{proto:Array,exactLength:0}:{proto:Array,sequence:J}))},XX=(Z,X)=>{if(Z.defaultables||Z.optionals)return M(Z.variadic?K8:kL);if(Z.variadic)Z.postfix=m(Z.postfix,X);else Z.prefix=m(Z.prefix,X);return Z},U7=(Z,X)=>{if(Z.variadic)return M(J7);return Z.optionals=m(Z.optionals,X),Z},IL=(Z,X,Q)=>{if(Z.variadic)return M(J7);if(Z.optionals)return M(gL);return Z.defaultables=m(Z.defaultables,[[X,Q]]),Z},Z7=(Z,X)=>{if(Z.postfix)M(X7);if(Z.variadic){if(!Z.variadic.equals(X))M(X7)}else Z.variadic=X.internal;return Z},fL=(Z,X)=>{let Q=X.select({method:"find",kind:"sequence"});if(!Q)return Z7(Z,R.intrinsic.unknown);if(Q.prefix)for(let U of Q.prefix)XX(Z,U);if(Q.optionals)for(let U of Q.optionals)U7(Z,U);if(Q.variadic)Z7(Z,Q.variadic);if(Q.postfix)for(let U of Q.postfix)XX(Z,U);return Z},yL=(Z)=>`Spread element must be an array (was ${Z})`,X7="A tuple may have at most one variadic element",kL="A required element may not follow an optional element",J7="An optional element may not follow a variadic element",gL="A defaultable element may not follow an optional element without a default";var q7=O(()=>{q0();E();n8()});var vL,Q9=(Z,X)=>{if(typeof Z==="string"){if(X.args&&Object.keys(X.args).some((U)=>Z.includes(U)))return i8(Z,X);let Q=vL[X.$.name]??={};return Q[Z]??=i8(Z,X)}return T0(Z,"object")?xL(Z,X):M(QX($0(Z)))},xL=(Z,X)=>{let Q=W6(Z);switch(Q){case void 0:if(b(Z,"root"))return Z;if("~standard"in Z)return hL(Z,X);return c5(Z,X);case"Array":return mL(Z,X);case"RegExp":return X.$.node("intersection",{domain:"string",pattern:Z},{prereduced:!0});case"Function":{let U=D1(Z)?Z():Z;if(b(U,"root"))return U;return M(QX("Function"))}default:return M(QX(Q??k(Z)))}},hL=(Z,X)=>X.$.intrinsic.unknown.pipe((Q,U)=>{let J=Z["~standard"].validate(Q);if(!J.issues)return J.value;for(let{message:q,path:Y}of J.issues)if(Y)if(Y.length)U.error({problem:KQ(q),relativePath:Y.map((W)=>typeof W==="object"?W.key:W)});else U.error({message:q});else U.error({message:q})}),mL=(Z,X)=>a5(Z,X)??Q7(Z,X),QX=(Z)=>`Type definitions must be strings or objects (was ${Z})`;var t8=O(()=>{q0();E();i5();e4();e5();q7();vL={}});var UX;var JX=O(()=>{q0();E();UX=class UX extends A0{constructor(Z){let X=Object.assign({errors:S0,hkt:H0,$:Z,raw:Z.parse,module:Z.constructor.module,scope:Z.constructor.scope,declare:Z.declare,define:Z.define,match:Z.match,generic:Z.generic,schema:Z.schema,keywords:Z.ambient,unit:Z.unit,enumerated:Z.enumerated,instanceOf:Z.instanceOf,valueOf:Z.valueOf,or:Z.or,and:Z.and,merge:Z.merge,pipe:Z.pipe,fn:Z.fn},Z.ambientAttachments);super((...Q)=>{if(Q.length===1)return Z.parse(Q[0]);if(Q.length===2&&typeof Q[0]==="string"&&Q[0][0]==="<"&&Q[0][Q[0].length-1]===">"){let U=Q[0].slice(1,-1),J=Z.parseGenericParams(U,{});return new E1(J,Q[1],Z,Z,null)}return Z.parse(Q)},{attach:X})}}});var k2,U9,g6,h;var o0=O(()=>{q0();E();m5();a8();p5();t8();JX();k2=R;U9=class U9 extends d4{get ambientAttachments(){if(!k2.typeAttachments)return;return this.cacheGetter("ambientAttachments",y(k2.typeAttachments,(Z,X)=>[Z,this.bindReference(X)]))}preparseOwnAliasEntry(Z,X){let Q=Z.indexOf("<");if(Q===-1){if(b(X,"module")||b(X,"generic"))return[Z,X];let q=this.name==="ark"?Z:Z==="root"?this.name:`${this.name}.${Z}`,Y=this.resolvedConfig.keywords?.[q];if(Y)X=[X,"@",Y];return[Z,X]}if(Z[Z.length-1]!==">")M("'>' must be the last character of a generic declaration in a scope");let U=Z.slice(0,Q),J=Z.slice(Q+1,-1);return[U,()=>{let q=this.parseGenericParams(J,{alias:U});return ZU(q,X,this)}]}parseGenericParams(Z,X){return Z9(new B6(Z),[],this.createParseContext({...X,def:Z,prefix:"generic"}))}normalizeRootScopeValue(Z){if(D1(Z)&&!b(Z,"generic"))return Z();return Z}preparseOwnDefinitionFormat(Z,X){return{...X,def:Z,prefix:X.alias??"type"}}parseOwnDefinitionFormat(Z,X){if(!(X.alias&&(X.alias in this.aliases))&&!X.args)X.args={this:X.id};let U=Q9(Z,X);if(r(U)){if(U[1]==="=")return M(r4);if(U[1]==="?")return M(a4)}return U}unit=(Z)=>this.units([Z]);valueOf=(Z)=>this.units(qQ(Z));enumerated=(...Z)=>this.units(Z);instanceOf=(Z)=>this.node("proto",{proto:Z},{prereduced:!0});or=(...Z)=>this.schema(Z.map((X)=>this.parse(X)));and=(...Z)=>Z.reduce((X,Q)=>X.and(this.parse(Q)),this.intrinsic.unknown);merge=(...Z)=>Z.reduce((X,Q)=>X.merge(this.parse(Q)),this.intrinsic.object);pipe=(...Z)=>this.intrinsic.unknown.pipe(...Z);fn=new r8(this);match=new o8(this);declare=()=>({type:this.type});define(Z){return Z}type=new UX(this);static scope=(Z,X={})=>new U9(Z,X);static module=(Z,X={})=>this.scope(Z,X).export()};g6=Object.assign(U9.scope,{define:(Z)=>Z}),h=U9});var Y7,uL,W7;var $7=O(()=>{q0();E();o0();Y7=class Y7 extends H0{description='merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'};uL=m0(["base",I.object],["props",I.object])((Z)=>Z.base.merge(Z.props),Y7),W7=h.module({Key:I.key,Merge:uL})});var L7,pL,G7;var _7=O(()=>{q0();E();o0();L7=class L7 extends H0{};pL=m0("element")((Z)=>{let X=Z.element.exclude(I.Array),Q=X.array();return X.rawOr(Q).pipe(T1).distribute((U)=>U.assertHasKind("morph").declareOut(Q),c)},L7),G7=h.module({root:I.Array,readonly:"root",index:I.nonNegativeIntegerString,liftFrom:pL},{name:"Array"})});var qX,lL,V7,H7;var F7=O(()=>{q0();E();o0();qX=c(["string",t1.FileConstructor]),lL=qX.rawOr(qX.array()),V7=c({meta:"an object representing parsed form data",domain:"object",index:{signature:"string",value:lL}}),H7=h.module({root:["instanceof",FormData],value:qX,parsed:V7,parse:c({in:FormData,morphs:(Z)=>{let X={};for(let[Q,U]of Z)if(Q in X){let J=X[Q];if(typeof J==="string"||J instanceof t1.FileConstructor)X[Q]=[J,U];else J.push(U)}else X[Q]=U;return X},declaredOut:V7})},{name:"FormData"})});var z7;var B7=O(()=>{o0();z7=h.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 dL,M7;var O7=O(()=>{E();o0();_7();F7();B7();dL={Boolean:1,Number:1,String:1},M7=h.module({...y({..._Z,...HZ},(Z,X)=>(Z in dL)?[]:[Z,["instanceof",X]]),Array:G7,TypedArray:z7,FormData:H7})});var cL,iL,J9;var YX=O(()=>{q0();o0();cL=c({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"}),iL=c({domain:"number",divisor:1}),J9=h.module({root:I.number,integer:iL,epoch:cL,safe:c({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 e=(Z,X,Q)=>{let U={domain:"string",pattern:{rule:Z.source,flags:Z.flags,meta:X}};if(Q)U.meta={format:Q};return b2("intersection",U)},R7,b7,sL,aL,P7,rL,oL=(Z)=>{let X=Z.replace(/[ -]+/g,""),Q=0,U,J,q=!1;for(let Y=X.length-1;Y>=0;Y--){if(U=X.substring(Y,Y+1),J=Number.parseInt(U,10),q)J*=2,Q+=J>=10?J%10+1:J;else Q+=J;q=!q}return!!(Q%10===0?X:!1)},nL,tL,eL,ZG=(Z)=>!Number.isNaN(new Date(Z).valueOf()),K7,T7,XG,D7,QG,UG,JG,w7="(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",I1,qG,Y0="(?:[0-9a-fA-F]{1,4})",YG,WG,g2="a JSON string",I7=(Z)=>{if(!(Z instanceof SyntaxError))throw Z;return`must be ${g2} (${Z})`},$G,LG=(Z,X)=>{if(Z.length===0)return X.error({code:"predicate",expected:g2,actual:"empty"});try{return JSON.parse(Z)}catch(Q){return X.error({code:"predicate",expected:g2,problem:I7(Q)})}},GG,A7,_G,f7,v6,q9,VG,HG,FG,zG,BG,S7,MG,C7="a regex pattern",OG,RG,PG,N7,KG,j7,TG,DG=(Z)=>URL.canParse(Z),E7,wG,AG,y7;var k7=O(()=>{q0();E();o0();YX();R7=e(_6,"a well-formed integer string"),b7=h.module({root:R7,parse:c({in:R7,morphs:(Z,X)=>{let Q=Number.parseInt(Z);return Number.isSafeInteger(Q)?Q:X.error("an integer in the range Number.MIN_SAFE_INTEGER to Number.MAX_SAFE_INTEGER")},declaredOut:I.integer})},{name:"string.integer"}),sL=e(/^[\dA-Fa-f]+$/,"hex characters only"),aL=h.module({root:e(/^(?:[\d+/A-Za-z]{4})*(?:[\d+/A-Za-z]{2}==|[\d+/A-Za-z]{3}=)?$/,"base64-encoded"),url:e(/^(?:[\w-]{4})*(?:[\w-]{2}(?:==|%3D%3D)?|[\w-]{3}(?:=|%3D)?)?$/,"base64url-encoded")},{name:"string.base64"}),P7=e(/^[A-Z].*$/,"capitalized"),rL=h.module({root:c({in:"string",morphs:(Z)=>Z.charAt(0).toUpperCase()+Z.slice(1),declaredOut:P7}),preformatted:P7},{name:"string.capitalize"}),nL=/^(?: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}))$/,tL=c({domain:"string",pattern:{meta:"a credit card number",rule:nL.source},predicate:{meta:"a credit card number",predicate:oL}}),eL=/^([+-]?\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)?)?)?)?$/,K7=c({domain:"string",predicate:{meta:"a parsable date",predicate:ZG}}).assertHasKind("intersection"),T7=b7.root.internal.narrow((Z,X)=>{let Q=Number.parseInt(Z),U=J9.epoch(Q);if(U instanceof S0)return X.errors.merge(U),!1;return!0}).configure({description:"an integer string representing a safe Unix timestamp"},"self").assertHasKind("intersection"),XG=h.module({root:T7,parse:c({in:T7,morphs:(Z)=>new Date(Z),declaredOut:I.Date})},{name:"string.date.epoch"}),D7=e(eL,"an ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) date").internal.assertHasKind("intersection"),QG=h.module({root:D7,parse:c({in:D7,morphs:(Z)=>new Date(Z),declaredOut:I.Date})},{name:"string.date.iso"}),UG=h.module({root:K7,parse:c({declaredIn:K7,in:"string",morphs:(Z,X)=>{let Q=new Date(Z);if(Number.isNaN(Q.valueOf()))return X.error("a parsable date");return Q},declaredOut:I.Date}),iso:QG,epoch:XG},{name:"string.date"}),JG=e(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/,"an email address","email"),I1=`(${w7}[.]){3}${w7}`,qG=new RegExp(`^${I1}$`),YG=new RegExp(`^((?:${Y0}:){7}(?:${Y0}|:)|(?:${Y0}:){6}(?:${I1}|:${Y0}|:)|(?:${Y0}:){5}(?::${I1}|(:${Y0}){1,2}|:)|(?:${Y0}:){4}(?:(:${Y0}){0,1}:${I1}|(:${Y0}){1,3}|:)|(?:${Y0}:){3}(?:(:${Y0}){0,2}:${I1}|(:${Y0}){1,4}|:)|(?:${Y0}:){2}(?:(:${Y0}){0,3}:${I1}|(:${Y0}){1,5}|:)|(?:${Y0}:){1}(?:(:${Y0}){0,4}:${I1}|(:${Y0}){1,6}|:)|(?::((?::${Y0}){0,5}:${I1}|(?::${Y0}){1,7}|:)))(%[0-9a-zA-Z.]{1,})?$`),WG=h.module({root:["v4 | v6","@","an IP address"],v4:e(qG,"an IPv4 address","ipv4"),v6:e(YG,"an IPv6 address","ipv6")},{name:"string.ip"}),$G=c({meta:g2,domain:"string",predicate:{meta:g2,predicate:(Z,X)=>{try{return JSON.parse(Z),!0}catch(Q){return X.reject({code:"predicate",expected:g2,problem:I7(Q)})}}}}),GG=h.module({root:$G,parse:c({meta:"safe JSON string parser",in:"string",morphs:LG,declaredOut:I.jsonObject})},{name:"string.json"}),A7=e(/^[a-z]*$/,"only lowercase letters"),_G=h.module({root:c({in:"string",morphs:(Z)=>Z.toLowerCase(),declaredOut:A7}),preformatted:A7},{name:"string.lower"}),f7=["NFC","NFD","NFKC","NFKD"],v6=y(f7,(Z,X)=>[X,c({domain:"string",predicate:(Q)=>Q.normalize(X)===Q,meta:`${X}-normalized unicode`})]),q9=y(f7,(Z,X)=>[X,c({in:"string",morphs:(Q)=>Q.normalize(X),declaredOut:v6[X]})]),VG=h.module({root:q9.NFC,preformatted:v6.NFC},{name:"string.normalize.NFC"}),HG=h.module({root:q9.NFD,preformatted:v6.NFD},{name:"string.normalize.NFD"}),FG=h.module({root:q9.NFKC,preformatted:v6.NFKC},{name:"string.normalize.NFKC"}),zG=h.module({root:q9.NFKD,preformatted:v6.NFKD},{name:"string.normalize.NFKD"}),BG=h.module({root:"NFC",NFC:VG,NFD:HG,NFKC:FG,NFKD:zG},{name:"string.normalize"}),S7=e(D4,"a well-formed numeric string"),MG=h.module({root:S7,parse:c({in:S7,morphs:(Z)=>Number.parseFloat(Z),declaredOut:I.number})},{name:"string.numeric"}),OG=c({domain:"string",predicate:{meta:C7,predicate:(Z,X)=>{try{return new RegExp(Z),!0}catch(Q){return X.reject({code:"predicate",expected:C7,problem:String(Q)})}}},meta:{format:"regex"}}),RG=/^(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-]+)*))?$/,PG=e(RG,"a semantic version (see https://semver.org/)"),N7=e(/^\S.*\S$|^\S?$/,"trimmed"),KG=h.module({root:c({in:"string",morphs:(Z)=>Z.trim(),declaredOut:N7}),preformatted:N7},{name:"string.trim"}),j7=e(/^[A-Z]*$/,"only uppercase letters"),TG=h.module({root:c({in:"string",morphs:(Z)=>Z.toUpperCase(),declaredOut:j7}),preformatted:j7},{name:"string.upper"}),E7=c({domain:"string",predicate:{meta:"a URL string",predicate:DG},meta:{format:"uri"}}),wG=h.module({root:E7,parse:c({declaredIn:E7,in:"string",morphs:(Z,X)=>{try{return new URL(Z)}catch{return X.error("a URL string")}},declaredOut:c(URL)})},{name:"string.url"}),AG=h.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:e(/^[\da-f]{8}-[\da-f]{4}-1[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv1"),v2:e(/^[\da-f]{8}-[\da-f]{4}-2[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv2"),v3:e(/^[\da-f]{8}-[\da-f]{4}-3[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv3"),v4:e(/^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv4"),v5:e(/^[\da-f]{8}-[\da-f]{4}-5[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv5"),v6:e(/^[\da-f]{8}-[\da-f]{4}-6[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv6"),v7:e(/^[\da-f]{8}-[\da-f]{4}-7[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv7"),v8:e(/^[\da-f]{8}-[\da-f]{4}-8[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv8")},{name:"string.uuid"}),y7=h.module({root:I.string,alpha:e(/^[A-Za-z]*$/,"only letters"),alphanumeric:e(/^[\dA-Za-z]*$/,"only letters and digits 0-9"),hex:sL,base64:aL,capitalize:rL,creditCard:tL,date:UG,digits:e(/^\d*$/,"only digits 0-9"),email:JG,integer:b7,ip:WG,json:GG,lower:_G,normalize:BG,numeric:MG,regex:OG,semver:PG,trim:KG,upper:TG,url:wG,uuid:AG},{name:"string"})});var g7,v7,SG,x7,h7,CG,m7,NG,u7,jG,p7,EG,l7,bG,d7,IG,c7,fG,i7;var s7=O(()=>{q0();E();o0();g7=h.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}),v7=h.module({root:I.unknown,any:I.unknown},{name:"unknown"}),SG=h.module({root:I.jsonObject,stringify:b2("morph",{in:I.jsonObject,morphs:(Z)=>JSON.stringify(Z),declaredOut:I.string})},{name:"object.json"}),x7=h.module({root:I.object,json:SG},{name:"object"});h7=class h7 extends H0{description='instantiate an object from an index signature and corresponding value type like `Record("string", "number")`'};CG=m0(["K",I.key],"V")((Z)=>({domain:"object",index:{signature:Z.K,value:Z.V}}),h7);m7=class m7 extends H0{description='pick a set of properties from an object like `Pick(User, "name | age")`'};NG=m0(["T",I.object],["K",I.key])((Z)=>Z.T.pick(Z.K),m7);u7=class u7 extends H0{description='omit a set of properties from an object like `Omit(User, "age")`'};jG=m0(["T",I.object],["K",I.key])((Z)=>Z.T.omit(Z.K),u7);p7=class p7 extends H0{description="make all named properties of an object optional like `Partial(User)`"};EG=m0(["T",I.object])((Z)=>Z.T.partial(),p7);l7=class l7 extends H0{description="make all named properties of an object required like `Required(User)`"};bG=m0(["T",I.object])((Z)=>Z.T.required(),l7);d7=class d7 extends H0{description='exclude branches of a union like `Exclude("boolean", "true")`'};IG=m0("T","U")((Z)=>Z.T.exclude(Z.U),d7);c7=class c7 extends H0{description='extract branches of a union like `Extract("0 | false | 1", "number")`'};fG=m0("T","U")((Z)=>Z.T.extract(Z.U),c7),i7=h.module({Exclude:IG,Extract:fG,Omit:jG,Partial:EG,Pick:NG,Record:CG,Required:bG})});var O1,G0,i,yG,kG,gG,rE,vG,xG;var a7=O(()=>{o0();$7();O7();YX();k7();s7();O1=g6({...g7,...i7,...M7,...W7,string:y7,number:J9,object:x7,unknown:v7},{prereducedAliases:!0,name:"ark"}),G0=O1.export();Object.assign(k2.ambient,G0);k2.typeAttachments={string:G0.string.root,number:G0.number.root,bigint:G0.bigint,boolean:G0.boolean,symbol:G0.symbol,undefined:G0.undefined,null:G0.null,object:G0.object.root,unknown:G0.unknown.root,false:G0.false,true:G0.true,never:G0.never,arrayIndex:G0.Array.index,Key:G0.Key,Record:G0.Record,Array:G0.Array.root,Date:G0.Date};i=Object.assign(O1.type,k2.typeAttachments),yG=O1.match,kG=O1.fn,gG=O1.generic,rE=O1.schema,vG=O1.define,xG=O1.declare});var r7=O(()=>{q0()});var WX=O(()=>{q0();E();$5();a8();a7();r7();o0();JX();L5()});class j0{static evaluate(Z,X){if(Z===null||Z===void 0)return console.error(`Error evaluating expression: ${Z}`),null;try{if(Z.includes("${")){let Q=this.interpolate(Z,X);if(!isNaN(Number(Q))&&Q.trim()!=="")return Number(Q);return Q}return this.evaluateExpression(Z,X)}catch(Q){return console.error(`Error evaluating expression: ${Z}`,Q),null}}static interpolate(Z,X){return Z.replace(Y9.TEMPLATE_INTERPOLATION,(Q,U)=>{try{let J=this.evaluateExpression(U,X);if(J===void 0||J===null)return"undefined";return String(J)}catch(J){return console.error(`Error in interpolation: ${Q}`,J),Q}})}static evaluateMathExpression(Z){try{return Function("Math",`return ${Z}`)(Math)}catch(X){throw Error(`Error evaluating mathematical expression: ${Z}`)}}static evaluateExpression(Z,X){if(Y9.NESTED_PROPERTY_ACCESS.test(Z))return this.getNestedValue(Z,X);if(Y9.SINGLE_LEVEL_ACCESS.test(Z))return this.getNestedValue(Z,X);try{return Function("context","with(context) { return "+Z+" }")(X)}catch(Q){return console.error(`ERROR evaluating expression '${Z}':`,Q),Z}}static getNestedValue(Z,X){let Q=Z.split("."),U=X;for(let J of Q){if(U===null||U===void 0||typeof U!=="object"||!(J in U))return;U=U[J]}return U}static findVariableInContext(Z,X){let Q=this.getNestedValue(Z,X);if(Q!==void 0)return Q;for(let U of o7){let J=`${U}.${Z}`,q=this.getNestedValue(J,X);if(q!==void 0)return q}return}static evaluateMath(Z,X){let Q=Z;Q=Q.replace(/\b(data|vars|env|state|request|computed)(\.[a-zA-Z_][a-zA-Z0-9_]*)+/g,(U)=>{let J=this.getNestedValue(U,X);if(J!==void 0)return typeof J==="string"?`"${J}"`:String(J);return U}),Q=Q.replace(Y9.WORD_BOUNDARY,(U)=>{if(mG.includes(U))return U;if(o7.has(U))return U;let J=this.findVariableInContext(U,X);if(J!==void 0)return typeof J==="string"?`"${J}"`:String(J);return U});try{return this.evaluateMathExpression(Q)}catch(U){return console.error(`Error in mathematical evaluation: ${Z}`,U),NaN}}}var hG,o7,u0,mG,Y9;var W9=O(()=>{hG={DATA:"data",VARS:"vars",REQUEST:"request",COMPUTED:"computed",ENV:"env",STATE:"state",EVENT:"event",TIMESTAMP:"timestamp"},o7=new Set(Object.values(hG)),u0={RANDOM:"random",FLOOR:"floor",CEIL:"ceil",ROUND:"round",SQRT:"sqrt",ABS:"abs",POW:"pow",MIN:"min",MAX:"max",SIN:"sin",COS:"cos",TAN:"tan"},mG=[u0.RANDOM,u0.FLOOR,u0.CEIL,u0.ROUND,u0.SQRT,u0.ABS,u0.POW,u0.MIN,u0.MAX,u0.SIN,u0.COS,u0.TAN],Y9={TEMPLATE_INTERPOLATION:/\$\{([^}]+)\}/g,NESTED_PROPERTY_ACCESS:/^(data|vars|request|computed|env|state)(\.[a-zA-Z0-9_]+)+$/,SINGLE_LEVEL_ACCESS:/^(vars|env|state)(\.[a-zA-Z0-9_]+)$/,WORD_BOUNDARY:/\b[a-zA-Z_][a-zA-Z0-9_]*\b/g}});class $X{store=new Map;async loadState(){return new Map(this.store)}async saveState(Z,X){this.store.set(Z,X)}async deleteState(Z){this.store.delete(Z)}async clearState(){this.store.clear()}}class z0{static instance;state;persistence;constructor(){this.state={},this.persistence=new $X}static getInstance(){if(!z0.instance)z0.instance=new z0;return z0.instance}setPersistence(Z){this.persistence=Z}async initialize(){let Z=await this.persistence.loadState();if(Z instanceof Map)this.state=Object.fromEntries(Z);else this.state=Z||{};console.log(`[StateManager] Initialized with ${Object.keys(this.state).length} root keys.`)}get(Z){return this.state[Z]}async set(Z,X){this.state[Z]=X,await this.persistence.saveState(Z,X)}async increment(Z,X=1){let Q=this.state[Z]||0,U=Number(Q)+X;return this.state[Z]=U,await this.persistence.saveState(Z,U),U}async decrement(Z,X=1){return this.increment(Z,-X)}async delete(Z){if(Z in this.state)return delete this.state[Z],await this.persistence.deleteState(Z),!0;return!1}async clear(){this.state={},await this.persistence.clearState()}async applyConfig(Z){if(!Z.state)return;for(let[X,Q]of Object.entries(Z.state))if(typeof Q!=="object"||Q===null||!("value"in Q)){if(this.state[X]===void 0)await this.set(X,Q)}else{let U=Q;if(this.state[X]===void 0)await this.set(X,U.value);if(U.lifecycle?.ttl)this.setupTTL(X,U.lifecycle.ttl)}}setupTTL(Z,X){let Q=0;if(typeof X==="number")Q=X;else{let U=X.match(/^(\d+)([smhd])$/);if(U&&U[1]&&U[2]){let J=parseInt(U[1]),q=U[2];Q=J*({s:1000,m:60000,h:3600000,d:86400000}[q]||0)}}if(Q>0)setTimeout(()=>{this.delete(Z).catch(console.error)},Q)}getAll(){return{...this.state}}getLiveProxy(){let Z=this;function X(Q,U=[]){return new Proxy(Q,{get(J,q){let Y=J[q];if(Y&&typeof Y==="object"&&!Array.isArray(Y))return X(Y,[...U,q]);return Y},set(J,q,Y){if(typeof q!=="string")return!1;J[q]=Y;let W=U.length>0?U[0]:q;if(W)Z.persistence.saveState(W,Z.state[W]);return!0}})}return X(this.state)}}var x6=()=>{};var LX={};xY(LX,{BuiltInAction:()=>R0,ActionRegistry:()=>h6});class h6{static instance;actions=new Map;constructor(Z=!0){if(Z)this.registerDefaults()}static getInstance(Z=!0){if(!this.instance)this.instance=new h6(Z);return this.instance}register(Z,X){let Q=Z.toUpperCase();if(typeof X==="function")this.actions.set(Q,{handler:X});else this.actions.set(Q,X)}get(Z){return this.actions.get(Z.toUpperCase())?.handler}getDefinition(Z){return this.actions.get(Z.toUpperCase())}getDefinitions(){let Z={};return this.actions.forEach((X,Q)=>{Z[Q]=X}),Z}get Handlers(){let Z=new Map;return this.actions.forEach((X,Q)=>{Z.set(Q,X.handler)}),Z}registerDefaults(){this.register(R0.LOG,{description:"Logs a message to the console with string interpolation support",params:i({"message?":"string","content?":"string"}),returns:i({message:"string"}),handler:(Z,X)=>{let Q=Z.params?.message||Z.params?.content||"Log Trigger",U=typeof Q==="string"?j0.interpolate(Q,X):String(Q);return console.log(`[TriggerLog] ${U}`),{message:U}}}),this.register(R0.MATH,{description:"Evaluates a mathematical expression or performs string concatenation",params:i({expression:"string"}),returns:i("number | string"),handler:(Z,X)=>{let Q=String(Z.params?.expression||"0");return j0.evaluate(Q,X)}}),this.register(R0.RESPONSE,{description:"Constructs a standardized response object (useful for webhooks/APIs)",params:i({"content?":"string","body?":"string","statusCode?":"number","headers?":"Record<string, string>"}),returns:i({statusCode:"number",headers:"Record<string, string>",body:"string"}),handler:(Z,X)=>{let Q=Z.params?.content||Z.params?.body||"",U=typeof Q==="string"?j0.interpolate(Q,X):String(Q);return{statusCode:Z.params?.statusCode||200,headers:Z.params?.headers||{"Content-Type":"application/json"},body:U}}}),this.register(R0.EXECUTE,{description:"Spawns a shell command and returns the output (Bun only)",params:i({"command?":"string","content?":"string","safe?":"boolean"}),returns:i({command:"string",stdout:"string",stderr:"string",exitCode:"number"}).or(i({command:"string",error:"string"})),handler:async(Z,X)=>{let Q=Z.params?.command||Z.params?.content||"",U=typeof Q==="string"?j0.interpolate(Q,X):String(Q);if(!Z.params?.safe)console.warn(`[Trigger] Executing unsafe command: ${U}`);try{if(typeof Bun>"u")return{command:U,error:"Bun is required for 'execute' action"};let J=Bun.spawn(U.split(" "),{stdout:"pipe",stderr:"pipe"}),[q,Y]=await Promise.all([new Response(J.stdout).text(),new Response(J.stderr).text()]);return{command:U,stdout:q,stderr:Y,exitCode:await J.exited}}catch(J){return{command:U,error:String(J)}}}}),this.register(R0.FORWARD,{description:"Forwards the current event data to a remote URL via HTTP",params:i({url:"string","method?":"'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'","headers?":"Record<string, string>"}),returns:i({url:"string",method:"string",status:"number",headers:"Record<string, string>",body:"string"}).or(i({url:"string",method:"string",error:"string"})),handler:async(Z,X)=>{let Q=Z.params?.url||"",U=typeof Q==="string"?j0.interpolate(Q,X):String(Q),J=String(Z.params?.method||"POST").toUpperCase(),Y=["POST","PUT","PATCH"].includes(J);try{let W=await fetch(U,{method:J,headers:{"Content-Type":"application/json",...typeof Z.params?.headers==="object"&&Z.params.headers!==null&&!Array.isArray(Z.params.headers)?Z.params.headers:{}},...Y?{body:JSON.stringify(X.data)}:{}});return{url:U,method:J,status:W.status,headers:(()=>{let $={};return W.headers.forEach((L,_)=>$[_]=L),$})(),body:await W.text()}}catch(W){return{url:U,method:J,error:String(W)}}}}),this.register(R0.STATE_SET,{description:"Sets a value in the persistent state",params:i({key:"string",value:"unknown"}),returns:i({key:"string",value:"unknown"}),handler:async(Z,X)=>{let Q=String(Z.params?.key||""),U=Z.params?.value;if(!Q)return{error:"Missing key for STATE_SET"};let J=U;if(typeof U==="string"&&U.includes("${"))J=j0.interpolate(U,X);return await z0.getInstance().set(Q,J),{key:Q,value:J}}}),this.register(R0.STATE_INCREMENT,{description:"Increments a numeric value in the persistent state",params:i({key:"string","amount?":"number"}),returns:i({key:"string",newValue:"number"}),handler:async(Z,X)=>{let Q=String(Z.params?.key||""),U=Number(Z.params?.amount)||1;if(!Q)return{error:"Missing key for STATE_INCREMENT"};let J=await z0.getInstance().increment(Q,U);return{key:Q,newValue:J}}}),this.register(R0.STATE_GET,{description:"Reads a value from state and optionally stores it in context.env",params:i({key:"string","as?":"string"}),returns:i({key:"string",value:"unknown","storedAs?":"string"}),handler:async(Z,X)=>{let Q=String(Z.params?.key||""),U=String(Z.params?.as||Q);if(!Q)return{error:"Missing key for STATE_GET"};let J=await z0.getInstance().get(Q);if(!X.env)X.env={};return X.env[U]=J,{key:Q,value:J,storedAs:U}}}),this.register(R0.STATE_DELETE,{description:"Deletes a key from the persistent state",params:i({key:"string"}),returns:i({key:"string",deleted:"boolean"}),handler:async(Z,X)=>{let Q=String(Z.params?.key||"");if(!Q)return{error:"Missing key for STATE_DELETE"};let U=await z0.getInstance().delete(Q);return{key:Q,deleted:U}}}),this.register(R0.EMIT_EVENT,{description:"Emits a new event back into the system",params:i({event:"string","data?":"object"}),returns:i({event:"string",payload:"object"}),handler:(Z,X)=>{return{event:String(Z.params?.event||""),payload:Z.params?.data||{}}}}),this.register(R0.NOTIFY,{description:"Sends a notification to a specific target",params:i({"message?":"string","content?":"string","target?":"string"}),returns:i({target:"string",message:"string"}),handler:(Z,X)=>{let Q=Z.params?.message||Z.params?.content||"Notification",U=Z.params?.target||"default";return console.log(`[Notification] To: ${U}, Msg: ${Q}`),{target:U,message:Q}}}),this.register(R0.STATE_OP,{description:"Executes a custom JavaScript block with access to context and state",params:i({run:"string"}),returns:i("unknown"),handler:(Z,X)=>{if(Z.params?.run)return Function("context","state","data","vars","env","helpers",`with(context) { ${Z.params.run} }`)(X,X.state,X.data,X.vars,X.env,X.helpers);return{warning:"Missing 'run' param for STATE_OP"}}})}}var R0;var v2=O(()=>{WX();W9();x6();R0={LOG:"LOG",MATH:"MATH",RESPONSE:"RESPONSE",EXECUTE:"EXECUTE",FORWARD:"FORWARD",STATE_SET:"STATE_SET",STATE_INCREMENT:"STATE_INCREMENT",STATE_GET:"STATE_GET",STATE_DELETE:"STATE_DELETE",EMIT_EVENT:"EMIT_EVENT",NOTIFY:"NOTIFY",STATE_OP:"STATE_OP"}});var l=C((W_)=>{var wX=Symbol.for("yaml.alias"),_J=Symbol.for("yaml.document"),M9=Symbol.for("yaml.map"),VJ=Symbol.for("yaml.pair"),AX=Symbol.for("yaml.scalar"),O9=Symbol.for("yaml.seq"),P1=Symbol.for("yaml.node.type"),Z_=(Z)=>!!Z&&typeof Z==="object"&&Z[P1]===wX,X_=(Z)=>!!Z&&typeof Z==="object"&&Z[P1]===_J,Q_=(Z)=>!!Z&&typeof Z==="object"&&Z[P1]===M9,U_=(Z)=>!!Z&&typeof Z==="object"&&Z[P1]===VJ,HJ=(Z)=>!!Z&&typeof Z==="object"&&Z[P1]===AX,J_=(Z)=>!!Z&&typeof Z==="object"&&Z[P1]===O9;function FJ(Z){if(Z&&typeof Z==="object")switch(Z[P1]){case M9:case O9:return!0}return!1}function q_(Z){if(Z&&typeof Z==="object")switch(Z[P1]){case wX:case M9:case AX:case O9:return!0}return!1}var Y_=(Z)=>(HJ(Z)||FJ(Z))&&!!Z.anchor;W_.ALIAS=wX;W_.DOC=_J;W_.MAP=M9;W_.NODE_TYPE=P1;W_.PAIR=VJ;W_.SCALAR=AX;W_.SEQ=O9;W_.hasAnchor=Y_;W_.isAlias=Z_;W_.isCollection=FJ;W_.isDocument=X_;W_.isMap=Q_;W_.isNode=q_;W_.isPair=U_;W_.isScalar=HJ;W_.isSeq=J_});var c6=C((w_)=>{var _0=l(),E0=Symbol("break visit"),zJ=Symbol("skip children"),W1=Symbol("remove node");function R9(Z,X){let Q=BJ(X);if(_0.isDocument(Z)){if(u2(null,Z.contents,Q,Object.freeze([Z]))===W1)Z.contents=null}else u2(null,Z,Q,Object.freeze([]))}R9.BREAK=E0;R9.SKIP=zJ;R9.REMOVE=W1;function u2(Z,X,Q,U){let J=MJ(Z,X,Q,U);if(_0.isNode(J)||_0.isPair(J))return OJ(Z,U,J),u2(Z,J,Q,U);if(typeof J!=="symbol"){if(_0.isCollection(X)){U=Object.freeze(U.concat(X));for(let q=0;q<X.items.length;++q){let Y=u2(q,X.items[q],Q,U);if(typeof Y==="number")q=Y-1;else if(Y===E0)return E0;else if(Y===W1)X.items.splice(q,1),q-=1}}else if(_0.isPair(X)){U=Object.freeze(U.concat(X));let q=u2("key",X.key,Q,U);if(q===E0)return E0;else if(q===W1)X.key=null;let Y=u2("value",X.value,Q,U);if(Y===E0)return E0;else if(Y===W1)X.value=null}}return J}async function P9(Z,X){let Q=BJ(X);if(_0.isDocument(Z)){if(await p2(null,Z.contents,Q,Object.freeze([Z]))===W1)Z.contents=null}else await p2(null,Z,Q,Object.freeze([]))}P9.BREAK=E0;P9.SKIP=zJ;P9.REMOVE=W1;async function p2(Z,X,Q,U){let J=await MJ(Z,X,Q,U);if(_0.isNode(J)||_0.isPair(J))return OJ(Z,U,J),p2(Z,J,Q,U);if(typeof J!=="symbol"){if(_0.isCollection(X)){U=Object.freeze(U.concat(X));for(let q=0;q<X.items.length;++q){let Y=await p2(q,X.items[q],Q,U);if(typeof Y==="number")q=Y-1;else if(Y===E0)return E0;else if(Y===W1)X.items.splice(q,1),q-=1}}else if(_0.isPair(X)){U=Object.freeze(U.concat(X));let q=await p2("key",X.key,Q,U);if(q===E0)return E0;else if(q===W1)X.key=null;let Y=await p2("value",X.value,Q,U);if(Y===E0)return E0;else if(Y===W1)X.value=null}}return J}function BJ(Z){if(typeof Z==="object"&&(Z.Collection||Z.Node||Z.Value))return Object.assign({Alias:Z.Node,Map:Z.Node,Scalar:Z.Node,Seq:Z.Node},Z.Value&&{Map:Z.Value,Scalar:Z.Value,Seq:Z.Value},Z.Collection&&{Map:Z.Collection,Seq:Z.Collection},Z);return Z}function MJ(Z,X,Q,U){if(typeof Q==="function")return Q(Z,X,U);if(_0.isMap(X))return Q.Map?.(Z,X,U);if(_0.isSeq(X))return Q.Seq?.(Z,X,U);if(_0.isPair(X))return Q.Pair?.(Z,X,U);if(_0.isScalar(X))return Q.Scalar?.(Z,X,U);if(_0.isAlias(X))return Q.Alias?.(Z,X,U);return}function OJ(Z,X,Q){let U=X[X.length-1];if(_0.isCollection(U))U.items[Z]=Q;else if(_0.isPair(U))if(Z==="key")U.key=Q;else U.value=Q;else if(_0.isDocument(U))U.contents=Q;else{let J=_0.isAlias(U)?"alias":"scalar";throw Error(`Cannot replace node with ${J} parent`)}}w_.visit=R9;w_.visitAsync=P9});var SX=C((E_)=>{var RJ=l(),C_=c6(),N_={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},j_=(Z)=>Z.replace(/[!,[\]{}]/g,(X)=>N_[X]);class l0{constructor(Z,X){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},l0.defaultYaml,Z),this.tags=Object.assign({},l0.defaultTags,X)}clone(){let Z=new l0(this.yaml,this.tags);return Z.docStart=this.docStart,Z}atDocument(){let Z=new l0(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:l0.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},l0.defaultTags);break}return Z}add(Z,X){if(this.atNextDocument)this.yaml={explicit:l0.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},l0.defaultTags),this.atNextDocument=!1;let Q=Z.trim().split(/[ \t]+/),U=Q.shift();switch(U){case"%TAG":{if(Q.length!==2){if(X(0,"%TAG directive should contain exactly two parts"),Q.length<2)return!1}let[J,q]=Q;return this.tags[J]=q,!0}case"%YAML":{if(this.yaml.explicit=!0,Q.length!==1)return X(0,"%YAML directive should contain exactly one part"),!1;let[J]=Q;if(J==="1.1"||J==="1.2")return this.yaml.version=J,!0;else{let q=/^\d+\.\d+$/.test(J);return X(6,`Unsupported YAML version ${J}`,q),!1}}default:return X(0,`Unknown directive ${U}`,!0),!1}}tagName(Z,X){if(Z==="!")return"!";if(Z[0]!=="!")return X(`Not a valid tag: ${Z}`),null;if(Z[1]==="<"){let q=Z.slice(2,-1);if(q==="!"||q==="!!")return X(`Verbatim tags aren't resolved, so ${Z} is invalid.`),null;if(Z[Z.length-1]!==">")X("Verbatim tags must end with a >");return q}let[,Q,U]=Z.match(/^(.*!)([^!]*)$/s);if(!U)X(`The ${Z} tag has no suffix`);let J=this.tags[Q];if(J)try{return J+decodeURIComponent(U)}catch(q){return X(String(q)),null}if(Q==="!")return Z;return X(`Could not resolve tag: ${Z}`),null}tagString(Z){for(let[X,Q]of Object.entries(this.tags))if(Z.startsWith(Q))return X+j_(Z.substring(Q.length));return Z[0]==="!"?Z:`!<${Z}>`}toString(Z){let X=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],Q=Object.entries(this.tags),U;if(Z&&Q.length>0&&RJ.isNode(Z.contents)){let J={};C_.visit(Z.contents,(q,Y)=>{if(RJ.isNode(Y)&&Y.tag)J[Y.tag]=!0}),U=Object.keys(J)}else U=[];for(let[J,q]of Q){if(J==="!!"&&q==="tag:yaml.org,2002:")continue;if(!Z||U.some((Y)=>Y.startsWith(q)))X.push(`%TAG ${J} ${q}`)}return X.join(`
|
|
47
|
+
`)}}l0.defaultYaml={explicit:!1,version:"1.2"};l0.defaultTags={"!!":"tag:yaml.org,2002:"};E_.Directives=l0});var K9=C((k_)=>{var PJ=l(),I_=c6();function f_(Z){if(/[\x00-\x19\s,[\]{}]/.test(Z)){let Q=`Anchor must not contain whitespace or control characters: ${JSON.stringify(Z)}`;throw Error(Q)}return!0}function KJ(Z){let X=new Set;return I_.visit(Z,{Value(Q,U){if(U.anchor)X.add(U.anchor)}}),X}function TJ(Z,X){for(let Q=1;;++Q){let U=`${Z}${Q}`;if(!X.has(U))return U}}function y_(Z,X){let Q=[],U=new Map,J=null;return{onAnchor:(q)=>{Q.push(q),J??(J=KJ(Z));let Y=TJ(X,J);return J.add(Y),Y},setAnchors:()=>{for(let q of Q){let Y=U.get(q);if(typeof Y==="object"&&Y.anchor&&(PJ.isScalar(Y.node)||PJ.isCollection(Y.node)))Y.node.anchor=Y.anchor;else{let W=Error("Failed to resolve repeated object (this should not happen)");throw W.source=q,W}}},sourceObjects:U}}k_.anchorIsValid=f_;k_.anchorNames=KJ;k_.createNodeAnchors=y_;k_.findNewAnchor=TJ});var CX=C((m_)=>{function i6(Z,X,Q,U){if(U&&typeof U==="object")if(Array.isArray(U))for(let J=0,q=U.length;J<q;++J){let Y=U[J],W=i6(Z,U,String(J),Y);if(W===void 0)delete U[J];else if(W!==Y)U[J]=W}else if(U instanceof Map)for(let J of Array.from(U.keys())){let q=U.get(J),Y=i6(Z,U,J,q);if(Y===void 0)U.delete(J);else if(Y!==q)U.set(J,Y)}else if(U instanceof Set)for(let J of Array.from(U)){let q=i6(Z,U,J,J);if(q===void 0)U.delete(J);else if(q!==J)U.delete(J),U.add(q)}else for(let[J,q]of Object.entries(U)){let Y=i6(Z,U,J,q);if(Y===void 0)delete U[J];else if(Y!==q)U[J]=Y}return Z.call(X,Q,U)}m_.applyReviver=i6});var g1=C((l_)=>{var p_=l();function DJ(Z,X,Q){if(Array.isArray(Z))return Z.map((U,J)=>DJ(U,String(J),Q));if(Z&&typeof Z.toJSON==="function"){if(!Q||!p_.hasAnchor(Z))return Z.toJSON(X,Q);let U={aliasCount:0,count:1,res:void 0};Q.anchors.set(Z,U),Q.onCreate=(q)=>{U.res=q,delete Q.onCreate};let J=Z.toJSON(X,Q);if(Q.onCreate)Q.onCreate(J);return J}if(typeof Z==="bigint"&&!Q?.keep)return Number(Z);return Z}l_.toJS=DJ});var T9=C((s_)=>{var c_=CX(),wJ=l(),i_=g1();class AJ{constructor(Z){Object.defineProperty(this,wJ.NODE_TYPE,{value:Z})}clone(){let Z=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(this.range)Z.range=this.range.slice();return Z}toJS(Z,{mapAsMap:X,maxAliasCount:Q,onAnchor:U,reviver:J}={}){if(!wJ.isDocument(Z))throw TypeError("A document argument is required");let q={anchors:new Map,doc:Z,keep:!0,mapAsMap:X===!0,mapKeyWarned:!1,maxAliasCount:typeof Q==="number"?Q:100},Y=i_.toJS(this,"",q);if(typeof U==="function")for(let{count:W,res:$}of q.anchors.values())U($,W);return typeof J==="function"?c_.applyReviver(J,{"":Y},"",Y):Y}}s_.NodeBase=AJ});var s6=C((e_)=>{var r_=K9(),o_=c6(),l2=l(),n_=T9(),t_=g1();class SJ extends n_.NodeBase{constructor(Z){super(l2.ALIAS);this.source=Z,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(Z,X){let Q;if(X?.aliasResolveCache)Q=X.aliasResolveCache;else if(Q=[],o_.visit(Z,{Node:(J,q)=>{if(l2.isAlias(q)||l2.hasAnchor(q))Q.push(q)}}),X)X.aliasResolveCache=Q;let U=void 0;for(let J of Q){if(J===this)break;if(J.anchor===this.source)U=J}return U}toJSON(Z,X){if(!X)return{source:this.source};let{anchors:Q,doc:U,maxAliasCount:J}=X,q=this.resolve(U,X);if(!q){let W=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(W)}let Y=Q.get(q);if(!Y)t_.toJS(q,null,X),Y=Q.get(q);if(Y?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(J>=0){if(Y.count+=1,Y.aliasCount===0)Y.aliasCount=D9(U,q,Q);if(Y.count*Y.aliasCount>J)throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return Y.res}toString(Z,X,Q){let U=`*${this.source}`;if(Z){if(r_.anchorIsValid(this.source),Z.options.verifyAliasOrder&&!Z.anchors.has(this.source)){let J=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(J)}if(Z.implicitKey)return`${U} `}return U}}function D9(Z,X,Q){if(l2.isAlias(X)){let U=X.resolve(Z),J=Q&&U&&Q.get(U);return J?J.count*J.aliasCount:0}else if(l2.isCollection(X)){let U=0;for(let J of X.items){let q=D9(Z,J,Q);if(q>U)U=q}return U}else if(l2.isPair(X)){let U=D9(Z,X.key,Q),J=D9(Z,X.value,Q);return Math.max(U,J)}return 1}e_.Alias=SJ});var W0=C((qV)=>{var XV=l(),QV=T9(),UV=g1(),JV=(Z)=>!Z||typeof Z!=="function"&&typeof Z!=="object";class U2 extends QV.NodeBase{constructor(Z){super(XV.SCALAR);this.value=Z}toJSON(Z,X){return X?.keep?this.value:UV.toJS(this.value,Z,X)}toString(){return String(this.value)}}U2.BLOCK_FOLDED="BLOCK_FOLDED";U2.BLOCK_LITERAL="BLOCK_LITERAL";U2.PLAIN="PLAIN";U2.QUOTE_DOUBLE="QUOTE_DOUBLE";U2.QUOTE_SINGLE="QUOTE_SINGLE";qV.Scalar=U2;qV.isScalarValue=JV});var a6=C((VV)=>{var $V=s6(),J2=l(),CJ=W0(),LV="tag:yaml.org,2002:";function GV(Z,X,Q){if(X){let U=Q.filter((q)=>q.tag===X),J=U.find((q)=>!q.format)??U[0];if(!J)throw Error(`Tag ${X} not found`);return J}return Q.find((U)=>U.identify?.(Z)&&!U.format)}function _V(Z,X,Q){if(J2.isDocument(Z))Z=Z.contents;if(J2.isNode(Z))return Z;if(J2.isPair(Z)){let G=Q.schema[J2.MAP].createNode?.(Q.schema,null,Q);return G.items.push(Z),G}if(Z instanceof String||Z instanceof Number||Z instanceof Boolean||typeof BigInt<"u"&&Z instanceof BigInt)Z=Z.valueOf();let{aliasDuplicateObjects:U,onAnchor:J,onTagObj:q,schema:Y,sourceObjects:W}=Q,$=void 0;if(U&&Z&&typeof Z==="object")if($=W.get(Z),$)return $.anchor??($.anchor=J(Z)),new $V.Alias($.anchor);else $={anchor:null,node:null},W.set(Z,$);if(X?.startsWith("!!"))X=LV+X.slice(2);let L=GV(Z,X,Y.tags);if(!L){if(Z&&typeof Z.toJSON==="function")Z=Z.toJSON();if(!Z||typeof Z!=="object"){let G=new CJ.Scalar(Z);if($)$.node=G;return G}L=Z instanceof Map?Y[J2.MAP]:(Symbol.iterator in Object(Z))?Y[J2.SEQ]:Y[J2.MAP]}if(q)q(L),delete Q.onTagObj;let _=L?.createNode?L.createNode(Q.schema,Z,Q):typeof L?.nodeClass?.from==="function"?L.nodeClass.from(Q.schema,Z,Q):new CJ.Scalar(Z);if(X)_.tag=X;else if(!L.default)_.tag=L.tag;if($)$.node=_;return _}VV.createNode=_V});var w9=C((BV)=>{var FV=a6(),$1=l(),zV=T9();function NX(Z,X,Q){let U=Q;for(let J=X.length-1;J>=0;--J){let q=X[J];if(typeof q==="number"&&Number.isInteger(q)&&q>=0){let Y=[];Y[q]=U,U=Y}else U=new Map([[q,U]])}return FV.createNode(U,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:Z,sourceObjects:new Map})}var NJ=(Z)=>Z==null||typeof Z==="object"&&!!Z[Symbol.iterator]().next().done;class jJ extends zV.NodeBase{constructor(Z,X){super(Z);Object.defineProperty(this,"schema",{value:X,configurable:!0,enumerable:!1,writable:!0})}clone(Z){let X=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(Z)X.schema=Z;if(X.items=X.items.map((Q)=>$1.isNode(Q)||$1.isPair(Q)?Q.clone(Z):Q),this.range)X.range=this.range.slice();return X}addIn(Z,X){if(NJ(Z))this.add(X);else{let[Q,...U]=Z,J=this.get(Q,!0);if($1.isCollection(J))J.addIn(U,X);else if(J===void 0&&this.schema)this.set(Q,NX(this.schema,U,X));else throw Error(`Expected YAML collection at ${Q}. Remaining path: ${U}`)}}deleteIn(Z){let[X,...Q]=Z;if(Q.length===0)return this.delete(X);let U=this.get(X,!0);if($1.isCollection(U))return U.deleteIn(Q);else throw Error(`Expected YAML collection at ${X}. Remaining path: ${Q}`)}getIn(Z,X){let[Q,...U]=Z,J=this.get(Q,!0);if(U.length===0)return!X&&$1.isScalar(J)?J.value:J;else return $1.isCollection(J)?J.getIn(U,X):void 0}hasAllNullValues(Z){return this.items.every((X)=>{if(!$1.isPair(X))return!1;let Q=X.value;return Q==null||Z&&$1.isScalar(Q)&&Q.value==null&&!Q.commentBefore&&!Q.comment&&!Q.tag})}hasIn(Z){let[X,...Q]=Z;if(Q.length===0)return this.has(X);let U=this.get(X,!0);return $1.isCollection(U)?U.hasIn(Q):!1}setIn(Z,X){let[Q,...U]=Z;if(U.length===0)this.set(Q,X);else{let J=this.get(Q,!0);if($1.isCollection(J))J.setIn(U,X);else if(J===void 0&&this.schema)this.set(Q,NX(this.schema,U,X));else throw Error(`Expected YAML collection at ${Q}. Remaining path: ${U}`)}}}BV.Collection=jJ;BV.collectionFromPath=NX;BV.isEmptyPath=NJ});var r6=C((TV)=>{var PV=(Z)=>Z.replace(/^(?!$)(?: $)?/gm,"#");function jX(Z,X){if(/^\n+$/.test(Z))return Z.substring(1);return X?Z.replace(/^(?! *$)/gm,X):Z}var KV=(Z,X,Q)=>Z.endsWith(`
|
|
48
|
+
`)?jX(Q,X):Q.includes(`
|
|
4
49
|
`)?`
|
|
5
|
-
`+
|
|
6
|
-
`){if(
|
|
7
|
-
`&&
|
|
8
|
-
`&&
|
|
9
|
-
${X}${
|
|
10
|
-
${X}${
|
|
11
|
-
`);
|
|
12
|
-
`){if(
|
|
50
|
+
`+jX(Q,X):(Z.endsWith(" ")?"":" ")+Q;TV.indentComment=jX;TV.lineComment=KV;TV.stringifyComment=PV});var bJ=C((CV)=>{function SV(Z,X,Q="flow",{indentAtStart:U,lineWidth:J=80,minContentWidth:q=20,onFold:Y,onOverflow:W}={}){if(!J||J<0)return Z;if(J<q)q=0;let $=Math.max(1+q,1+J-X.length);if(Z.length<=$)return Z;let L=[],_={},G=J-X.length;if(typeof U==="number")if(U>J-Math.max(2,q))L.push(0);else G=J-U;let V=void 0,F=void 0,z=!1,H=-1,B=-1,K=-1;if(Q==="block"){if(H=EJ(Z,H,X.length),H!==-1)G=H+$}for(let P;P=Z[H+=1];){if(Q==="quoted"&&P==="\\"){switch(B=H,Z[H+1]){case"x":H+=3;break;case"u":H+=5;break;case"U":H+=9;break;default:H+=1}K=H}if(P===`
|
|
51
|
+
`){if(Q==="block")H=EJ(Z,H,X.length);G=H+X.length+$,V=void 0}else{if(P===" "&&F&&F!==" "&&F!==`
|
|
52
|
+
`&&F!=="\t"){let D=Z[H+1];if(D&&D!==" "&&D!==`
|
|
53
|
+
`&&D!=="\t")V=H}if(H>=G)if(V)L.push(V),G=V+$,V=void 0;else if(Q==="quoted"){while(F===" "||F==="\t")F=P,P=Z[H+=1],z=!0;let D=H>K+1?H-2:B-1;if(_[D])return Z;L.push(D),_[D]=!0,G=D+$,V=void 0}else z=!0}F=P}if(z&&W)W();if(L.length===0)return Z;if(Y)Y();let T=Z.slice(0,L[0]);for(let P=0;P<L.length;++P){let D=L[P],S=L[P+1]||Z.length;if(D===0)T=`
|
|
54
|
+
${X}${Z.slice(0,S)}`;else{if(Q==="quoted"&&_[D])T+=`${Z[D]}\\`;T+=`
|
|
55
|
+
${X}${Z.slice(D+1,S)}`}}return T}function EJ(Z,X,Q){let U=X,J=X+1,q=Z[J];while(q===" "||q==="\t")if(X<J+Q)q=Z[++X];else{do q=Z[++X];while(q&&q!==`
|
|
56
|
+
`);U=X,J=X+1,q=Z[J]}return U}CV.FOLD_BLOCK="block";CV.FOLD_FLOW="flow";CV.FOLD_QUOTED="quoted";CV.foldFlowLines=SV});var n6=C((kV)=>{var t0=W0(),v1=bJ(),S9=(Z,X)=>({indentAtStart:X?Z.indent.length:Z.indentAtStart,lineWidth:Z.options.lineWidth,minContentWidth:Z.options.minContentWidth}),C9=(Z)=>/^(%|---|\.\.\.)/m.test(Z);function IV(Z,X,Q){if(!X||X<0)return!1;let U=X-Q,J=Z.length;if(J<=U)return!1;for(let q=0,Y=0;q<J;++q)if(Z[q]===`
|
|
57
|
+
`){if(q-Y>U)return!0;if(Y=q+1,J-Y<=U)return!1}return!0}function o6(Z,X){let Q=JSON.stringify(Z);if(X.options.doubleQuotedAsJSON)return Q;let{implicitKey:U}=X,J=X.options.doubleQuotedMinMultiLineLength,q=X.indent||(C9(Z)?" ":""),Y="",W=0;for(let $=0,L=Q[$];L;L=Q[++$]){if(L===" "&&Q[$+1]==="\\"&&Q[$+2]==="n")Y+=Q.slice(W,$)+"\\ ",$+=1,W=$,L="\\";if(L==="\\")switch(Q[$+1]){case"u":{Y+=Q.slice(W,$);let _=Q.substr($+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($,6)}$+=5,W=$+1}break;case"n":if(U||Q[$+2]==='"'||Q.length<J)$+=1;else{Y+=Q.slice(W,$)+`
|
|
13
58
|
|
|
14
|
-
`;while(
|
|
15
|
-
|
|
16
|
-
`)||/[ \t]\n|\n[ \t]/.test(
|
|
17
|
-
${
|
|
59
|
+
`;while(Q[$+2]==="\\"&&Q[$+3]==="n"&&Q[$+4]!=='"')Y+=`
|
|
60
|
+
`,$+=2;if(Y+=q,Q[$+2]===" ")Y+="\\";$+=1,W=$+1}break;default:$+=1}}return Y=W?Y+Q.slice(W):Q,U?Y:v1.foldFlowLines(Y,q,v1.FOLD_QUOTED,S9(X,!1))}function EX(Z,X){if(X.options.singleQuote===!1||X.implicitKey&&Z.includes(`
|
|
61
|
+
`)||/[ \t]\n|\n[ \t]/.test(Z))return o6(Z,X);let Q=X.indent||(C9(Z)?" ":""),U="'"+Z.replace(/'/g,"''").replace(/\n+/g,`$&
|
|
62
|
+
${Q}`)+"'";return X.implicitKey?U:v1.foldFlowLines(U,Q,v1.FOLD_FLOW,S9(X,!1))}function d2(Z,X){let{singleQuote:Q}=X.options,U;if(Q===!1)U=o6;else{let J=Z.includes('"'),q=Z.includes("'");if(J&&!q)U=EX;else if(q&&!J)U=o6;else U=Q?EX:o6}return U(Z,X)}var bX;try{bX=new RegExp(`(^|(?<!
|
|
18
63
|
))
|
|
19
64
|
+(?!
|
|
20
|
-
|$)`,"g")}catch{
|
|
65
|
+
|$)`,"g")}catch{bX=/\n+(?!\n|$)/g}function A9({comment:Z,type:X,value:Q},U,J,q){let{blockQuote:Y,commentString:W,lineWidth:$}=U.options;if(!Y||/\n[\t ]+$/.test(Q))return d2(Q,U);let L=U.indent||(U.forceBlockIndent||C9(Q)?" ":""),_=Y==="literal"?!0:Y==="folded"||X===t0.Scalar.BLOCK_FOLDED?!1:X===t0.Scalar.BLOCK_LITERAL?!0:!IV(Q,$,L.length);if(!Q)return _?`|
|
|
21
66
|
`:`>
|
|
22
|
-
`;let
|
|
23
|
-
`&&
|
|
24
|
-
`);if(
|
|
25
|
-
`)
|
|
26
|
-
`)
|
|
27
|
-
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${
|
|
28
|
-
${
|
|
29
|
-
${
|
|
30
|
-
`)
|
|
31
|
-
`)?
|
|
32
|
-
`))return
|
|
33
|
-
${
|
|
34
|
-
${X.indent}${
|
|
35
|
-
${
|
|
36
|
-
`:"",
|
|
37
|
-
${
|
|
38
|
-
`&&
|
|
67
|
+
`;let G,V;for(V=Q.length;V>0;--V){let S=Q[V-1];if(S!==`
|
|
68
|
+
`&&S!=="\t"&&S!==" ")break}let F=Q.substring(V),z=F.indexOf(`
|
|
69
|
+
`);if(z===-1)G="-";else if(Q===F||z!==F.length-1){if(G="+",q)q()}else G="";if(F){if(Q=Q.slice(0,-F.length),F[F.length-1]===`
|
|
70
|
+
`)F=F.slice(0,-1);F=F.replace(bX,`$&${L}`)}let H=!1,B,K=-1;for(B=0;B<Q.length;++B){let S=Q[B];if(S===" ")H=!0;else if(S===`
|
|
71
|
+
`)K=B;else break}let T=Q.substring(0,K<B?K+1:B);if(T)Q=Q.substring(T.length),T=T.replace(/\n+/g,`$&${L}`);let D=(H?L?"2":"1":"")+G;if(Z){if(D+=" "+W(Z.replace(/ ?[\r\n]+/g," ")),J)J()}if(!_){let S=Q.replace(/\n+/g,`
|
|
72
|
+
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${L}`),j=!1,v=S9(U,!0);if(Y!=="folded"&&X!==t0.Scalar.BLOCK_FOLDED)v.onOverflow=()=>{j=!0};let N=v1.foldFlowLines(`${T}${S}${F}`,L,v1.FOLD_BLOCK,v);if(!j)return`>${D}
|
|
73
|
+
${L}${N}`}return Q=Q.replace(/\n+/g,`$&${L}`),`|${D}
|
|
74
|
+
${L}${T}${Q}${F}`}function fV(Z,X,Q,U){let{type:J,value:q}=Z,{actualString:Y,implicitKey:W,indent:$,indentStep:L,inFlow:_}=X;if(W&&q.includes(`
|
|
75
|
+
`)||_&&/[[\]{},]/.test(q))return d2(q,X);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(q))return W||_||!q.includes(`
|
|
76
|
+
`)?d2(q,X):A9(Z,X,Q,U);if(!W&&!_&&J!==t0.Scalar.PLAIN&&q.includes(`
|
|
77
|
+
`))return A9(Z,X,Q,U);if(C9(q)){if($==="")return X.forceBlockIndent=!0,A9(Z,X,Q,U);else if(W&&$===L)return d2(q,X)}let G=q.replace(/\n+/g,`$&
|
|
78
|
+
${$}`);if(Y){let V=(H)=>H.default&&H.tag!=="tag:yaml.org,2002:str"&&H.test?.test(G),{compat:F,tags:z}=X.doc.schema;if(z.some(V)||F?.some(V))return d2(q,X)}return W?G:v1.foldFlowLines(G,$,v1.FOLD_FLOW,S9(X,!1))}function yV(Z,X,Q,U){let{implicitKey:J,inFlow:q}=X,Y=typeof Z.value==="string"?Z:Object.assign({},Z,{value:String(Z.value)}),{type:W}=Z;if(W!==t0.Scalar.QUOTE_DOUBLE){if(/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(Y.value))W=t0.Scalar.QUOTE_DOUBLE}let $=(_)=>{switch(_){case t0.Scalar.BLOCK_FOLDED:case t0.Scalar.BLOCK_LITERAL:return J||q?d2(Y.value,X):A9(Y,X,Q,U);case t0.Scalar.QUOTE_DOUBLE:return o6(Y.value,X);case t0.Scalar.QUOTE_SINGLE:return EX(Y.value,X);case t0.Scalar.PLAIN:return fV(Y,X,Q,U);default:return null}},L=$(W);if(L===null){let{defaultKeyType:_,defaultStringType:G}=X.options,V=J&&_||G;if(L=$(V),L===null)throw Error(`Unsupported default string type ${V}`)}return L}kV.stringifyString=yV});var t6=C((dV)=>{var vV=K9(),x1=l(),xV=r6(),hV=n6();function mV(Z,X){let Q=Object.assign({blockQuote:!0,commentString:xV.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},Z.schema.toStringOptions,X),U;switch(Q.collectionStyle){case"block":U=!1;break;case"flow":U=!0;break;default:U=null}return{anchors:new Set,doc:Z,flowCollectionPadding:Q.flowCollectionPadding?" ":"",indent:"",indentStep:typeof Q.indent==="number"?" ".repeat(Q.indent):" ",inFlow:U,options:Q}}function uV(Z,X){if(X.tag){let J=Z.filter((q)=>q.tag===X.tag);if(J.length>0)return J.find((q)=>q.format===X.format)??J[0]}let Q=void 0,U;if(x1.isScalar(X)){U=X.value;let J=Z.filter((q)=>q.identify?.(U));if(J.length>1){let q=J.filter((Y)=>Y.test);if(q.length>0)J=q}Q=J.find((q)=>q.format===X.format)??J.find((q)=>!q.format)}else U=X,Q=Z.find((J)=>J.nodeClass&&U instanceof J.nodeClass);if(!Q){let J=U?.constructor?.name??(U===null?"null":typeof U);throw Error(`Tag not resolved for ${J} value`)}return Q}function pV(Z,X,{anchors:Q,doc:U}){if(!U.directives)return"";let J=[],q=(x1.isScalar(Z)||x1.isCollection(Z))&&Z.anchor;if(q&&vV.anchorIsValid(q))Q.add(q),J.push(`&${q}`);let Y=Z.tag??(X.default?null:X.tag);if(Y)J.push(U.directives.tagString(Y));return J.join(" ")}function lV(Z,X,Q,U){if(x1.isPair(Z))return Z.toString(X,Q,U);if(x1.isAlias(Z)){if(X.doc.directives)return Z.toString(X);if(X.resolvedAliases?.has(Z))throw TypeError("Cannot stringify circular structure without alias nodes");else{if(X.resolvedAliases)X.resolvedAliases.add(Z);else X.resolvedAliases=new Set([Z]);Z=Z.resolve(X.doc)}}let J=void 0,q=x1.isNode(Z)?Z:X.doc.createNode(Z,{onTagObj:($)=>J=$});J??(J=uV(X.doc.schema.tags,q));let Y=pV(q,J,X);if(Y.length>0)X.indentAtStart=(X.indentAtStart??0)+Y.length+1;let W=typeof J.stringify==="function"?J.stringify(q,X,Q,U):x1.isScalar(q)?hV.stringifyString(q,X,Q,U):q.toString(X,Q,U);if(!Y)return W;return x1.isScalar(q)||W[0]==="{"||W[0]==="["?`${Y} ${W}`:`${Y}
|
|
79
|
+
${X.indent}${W}`}dV.createStringifyContext=mV;dV.stringify=lV});var yJ=C((aV)=>{var K1=l(),IJ=W0(),fJ=t6(),e6=r6();function sV({key:Z,value:X},Q,U,J){let{allNullValues:q,doc:Y,indent:W,indentStep:$,options:{commentString:L,indentSeq:_,simpleKeys:G}}=Q,V=K1.isNode(Z)&&Z.comment||null;if(G){if(V)throw Error("With simple keys, key nodes cannot have comments");if(K1.isCollection(Z)||!K1.isNode(Z)&&typeof Z==="object")throw Error("With simple keys, collection cannot be used as a key value")}let F=!G&&(!Z||V&&X==null&&!Q.inFlow||K1.isCollection(Z)||(K1.isScalar(Z)?Z.type===IJ.Scalar.BLOCK_FOLDED||Z.type===IJ.Scalar.BLOCK_LITERAL:typeof Z==="object"));Q=Object.assign({},Q,{allNullValues:!1,implicitKey:!F&&(G||!q),indent:W+$});let z=!1,H=!1,B=fJ.stringify(Z,Q,()=>z=!0,()=>H=!0);if(!F&&!Q.inFlow&&B.length>1024){if(G)throw Error("With simple keys, single line scalar must not span more than 1024 characters");F=!0}if(Q.inFlow){if(q||X==null){if(z&&U)U();return B===""?"?":F?`? ${B}`:B}}else if(q&&!G||X==null&&F){if(B=`? ${B}`,V&&!z)B+=e6.lineComment(B,Q.indent,L(V));else if(H&&J)J();return B}if(z)V=null;if(F){if(V)B+=e6.lineComment(B,Q.indent,L(V));B=`? ${B}
|
|
80
|
+
${W}:`}else if(B=`${B}:`,V)B+=e6.lineComment(B,Q.indent,L(V));let K,T,P;if(K1.isNode(X))K=!!X.spaceBefore,T=X.commentBefore,P=X.comment;else if(K=!1,T=null,P=null,X&&typeof X==="object")X=Y.createNode(X);if(Q.implicitKey=!1,!F&&!V&&K1.isScalar(X))Q.indentAtStart=B.length+1;if(H=!1,!_&&$.length>=2&&!Q.inFlow&&!F&&K1.isSeq(X)&&!X.flow&&!X.tag&&!X.anchor)Q.indent=Q.indent.substring(2);let D=!1,S=fJ.stringify(X,Q,()=>D=!0,()=>H=!0),j=" ";if(V||K||T){if(j=K?`
|
|
81
|
+
`:"",T){let v=L(T);j+=`
|
|
82
|
+
${e6.indentComment(v,Q.indent)}`}if(S===""&&!Q.inFlow){if(j===`
|
|
83
|
+
`&&P)j=`
|
|
39
84
|
|
|
40
|
-
`}else
|
|
41
|
-
${
|
|
42
|
-
`),
|
|
43
|
-
${
|
|
44
|
-
`)
|
|
45
|
-
${
|
|
46
|
-
`}}if(
|
|
47
|
-
`+
|
|
48
|
-
`)))
|
|
49
|
-
${
|
|
50
|
-
`;return`${
|
|
51
|
-
${
|
|
52
|
-
`:" ")}return
|
|
53
|
-
${
|
|
54
|
-
${G.comment}`:Z.comment}Z=Q}U.items[q]=$U.isPair(Z)?Z:new O9.Pair(Z)}else X("Expected a sequence for this tag");return U}function P3(U,X,q){let{replacer:Z}=q,Q=new p_.YAMLSeq(U);Q.tag="tag:yaml.org,2002:pairs";let G=0;if(X&&Symbol.iterator in Object(X))for(let Y of X){if(typeof Z==="function")Y=Z.call(X,String(G++),Y);let J,H;if(Array.isArray(Y))if(Y.length===2)J=Y[0],H=Y[1];else throw TypeError(`Expected [key, value] tuple: ${Y}`);else if(Y&&Y instanceof Object){let W=Object.keys(Y);if(W.length===1)J=W[0],H=Y[J];else throw TypeError(`Expected tuple with one key, not ${W.length} keys`)}else J=Y;Q.items.push(O9.createPair(J,H,q))}return Q}var l_={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:M3,createNode:P3};d_.createPairs=P3;d_.pairs=l_;d_.resolvePairs=M3});var B9=R((a_)=>{var w3=k(),T9=n0(),o2=q1(),o_=Z1(),I3=LU();class O1 extends o_.YAMLSeq{constructor(){super();this.add=o2.YAMLMap.prototype.add.bind(this),this.delete=o2.YAMLMap.prototype.delete.bind(this),this.get=o2.YAMLMap.prototype.get.bind(this),this.has=o2.YAMLMap.prototype.has.bind(this),this.set=o2.YAMLMap.prototype.set.bind(this),this.tag=O1.tag}toJSON(U,X){if(!X)return super.toJSON(U);let q=new Map;if(X?.onCreate)X.onCreate(q);for(let Z of this.items){let Q,G;if(w3.isPair(Z))Q=T9.toJS(Z.key,"",X),G=T9.toJS(Z.value,Q,X);else Q=T9.toJS(Z,"",X);if(q.has(Q))throw Error("Ordered maps must not include duplicate keys");q.set(Q,G)}return q}static from(U,X,q){let Z=I3.createPairs(U,X,q),Q=new this;return Q.items=Z.items,Q}}O1.tag="tag:yaml.org,2002:omap";var r_={collection:"seq",identify:(U)=>U instanceof Map,nodeClass:O1,default:!1,tag:"tag:yaml.org,2002:omap",resolve(U,X){let q=I3.resolvePairs(U,X),Z=[];for(let{key:Q}of q.items)if(w3.isScalar(Q))if(Z.includes(Q.value))X(`Ordered maps must not include duplicate keys: ${Q.value}`);else Z.push(Q.value);return Object.assign(new O1,q)},createNode:(U,X,q)=>O1.from(U,X,q)};a_.YAMLOMap=O1;a_.omap=r_});var E3=R((e_)=>{var K3=i();function N3({value:U,source:X},q){if(X&&(U?C3:S3).test.test(X))return X;return U?q.options.trueStr:q.options.falseStr}var C3={identify:(U)=>U===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new K3.Scalar(!0),stringify:N3},S3={identify:(U)=>U===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new K3.Scalar(!1),stringify:N3};e_.falseTag=S3;e_.trueTag=C3});var j3=R((Y$)=>{var q$=i(),R9=a1(),Z$={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(U)=>U.slice(-3).toLowerCase()==="nan"?NaN:U[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:R9.stringifyNumber},Q$={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:(U)=>parseFloat(U.replace(/_/g,"")),stringify(U){let X=Number(U.value);return isFinite(X)?X.toExponential():R9.stringifyNumber(U)}},G$={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(U){let X=new q$.Scalar(parseFloat(U.replace(/_/g,""))),q=U.indexOf(".");if(q!==-1){let Z=U.substring(q+1).replace(/_/g,"");if(Z[Z.length-1]==="0")X.minFractionDigits=Z.length}return X},stringify:R9.stringifyNumber};Y$.float=G$;Y$.floatExp=Q$;Y$.floatNaN=Z$});var f3=R((F$)=>{var b3=a1(),r2=(U)=>typeof U==="bigint"||Number.isInteger(U);function zU(U,X,q,{intAsBigInt:Z}){let Q=U[0];if(Q==="-"||Q==="+")X+=1;if(U=U.substring(X).replace(/_/g,""),Z){switch(q){case 2:U=`0b${U}`;break;case 8:U=`0o${U}`;break;case 16:U=`0x${U}`;break}let Y=BigInt(U);return Q==="-"?BigInt(-1)*Y:Y}let G=parseInt(U,q);return Q==="-"?-1*G:G}function D9(U,X,q){let{value:Z}=U;if(r2(Z)){let Q=Z.toString(X);return Z<0?"-"+q+Q.substr(1):q+Q}return b3.stringifyNumber(U)}var _$={identify:r2,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(U,X,q)=>zU(U,2,2,q),stringify:(U)=>D9(U,2,"0b")},$$={identify:r2,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(U,X,q)=>zU(U,1,8,q),stringify:(U)=>D9(U,8,"0")},L$={identify:r2,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(U,X,q)=>zU(U,0,10,q),stringify:b3.stringifyNumber},z$={identify:r2,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(U,X,q)=>zU(U,2,16,q),stringify:(U)=>D9(U,16,"0x")};F$.int=L$;F$.intBin=_$;F$.intHex=z$;F$.intOct=$$});var M9=R((R$)=>{var AU=k(),FU=U1(),VU=q1();class T1 extends VU.YAMLMap{constructor(U){super(U);this.tag=T1.tag}add(U){let X;if(AU.isPair(U))X=U;else if(U&&typeof U==="object"&&"key"in U&&"value"in U&&U.value===null)X=new FU.Pair(U.key,null);else X=new FU.Pair(U,null);if(!VU.findPair(this.items,X.key))this.items.push(X)}get(U,X){let q=VU.findPair(this.items,U);return!X&&AU.isPair(q)?AU.isScalar(q.key)?q.key.value:q.key:q}set(U,X){if(typeof X!=="boolean")throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof X}`);let q=VU.findPair(this.items,U);if(q&&!X)this.items.splice(this.items.indexOf(q),1);else if(!q&&X)this.items.push(new FU.Pair(U))}toJSON(U,X){return super.toJSON(U,X,Set)}toString(U,X,q){if(!U)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},U,{allNullValues:!0}),X,q);else throw Error("Set items must all have null values")}static from(U,X,q){let{replacer:Z}=q,Q=new this(U);if(X&&Symbol.iterator in Object(X))for(let G of X){if(typeof Z==="function")G=Z.call(X,G,G);Q.items.push(FU.createPair(G,null,q))}return Q}}T1.tag="tag:yaml.org,2002:set";var B$={collection:"map",identify:(U)=>U instanceof Set,nodeClass:T1,default:!1,tag:"tag:yaml.org,2002:set",createNode:(U,X,q)=>T1.from(U,X,q),resolve(U,X){if(AU.isMap(U))if(U.hasAllNullValues(!0))return Object.assign(new T1,U);else X("Set items must all have null values");else X("Expected a mapping for this tag");return U}};R$.YAMLSet=T1;R$.set=B$});var w9=R((K$)=>{var P$=a1();function P9(U,X){let q=U[0],Z=q==="-"||q==="+"?U.substring(1):U,Q=(Y)=>X?BigInt(Y):Number(Y),G=Z.replace(/_/g,"").split(":").reduce((Y,J)=>Y*Q(60)+Q(J),Q(0));return q==="-"?Q(-1)*G:G}function g3(U){let{value:X}=U,q=(Y)=>Y;if(typeof X==="bigint")q=(Y)=>BigInt(Y);else if(isNaN(X)||!isFinite(X))return P$.stringifyNumber(U);let Z="";if(X<0)Z="-",X*=q(-1);let Q=q(60),G=[X%Q];if(X<60)G.unshift(0);else if(X=(X-G[0])/Q,G.unshift(X%Q),X>=60)X=(X-G[0])/Q,G.unshift(X);return Z+G.map((Y)=>String(Y).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var w$={identify:(U)=>typeof U==="bigint"||Number.isInteger(U),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(U,X,{intAsBigInt:q})=>P9(U,q),stringify:g3},I$={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:(U)=>P9(U,!1),stringify:g3},y3={identify:(U)=>U instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(U){let X=U.match(y3.test);if(!X)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,q,Z,Q,G,Y,J]=X.map(Number),H=X[7]?Number((X[7]+"00").substr(1,3)):0,W=Date.UTC(q,Z-1,Q,G||0,Y||0,J||0,H),$=X[8];if($&&$!=="Z"){let _=P9($,!1);if(Math.abs(_)<30)_*=60;W-=60000*_}return new Date(W)},stringify:({value:U})=>U?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};K$.floatTime=I$;K$.intTime=w$;K$.timestamp=y3});var v3=R((u$)=>{var E$=o1(),j$=HU(),b$=r1(),f$=i2(),g$=A9(),k3=E3(),I9=j3(),OU=f3(),y$=UU(),k$=B9(),v$=LU(),h$=M9(),K9=w9(),x$=[E$.map,b$.seq,f$.string,j$.nullTag,k3.trueTag,k3.falseTag,OU.intBin,OU.intOct,OU.int,OU.intHex,I9.floatNaN,I9.floatExp,I9.float,g$.binary,y$.merge,k$.omap,v$.pairs,h$.set,K9.intTime,K9.floatTime,K9.timestamp];u$.schema=x$});var s3=R((r$)=>{var m3=o1(),p$=HU(),p3=r1(),l$=i2(),d$=H9(),N9=_9(),C9=L9(),c$=B3(),i$=D3(),l3=A9(),a2=UU(),d3=B9(),c3=LU(),h3=v3(),i3=M9(),TU=w9(),x3=new Map([["core",c$.schema],["failsafe",[m3.map,p3.seq,l$.string]],["json",i$.schema],["yaml11",h3.schema],["yaml-1.1",h3.schema]]),u3={binary:l3.binary,bool:d$.boolTag,float:N9.float,floatExp:N9.floatExp,floatNaN:N9.floatNaN,floatTime:TU.floatTime,int:C9.int,intHex:C9.intHex,intOct:C9.intOct,intTime:TU.intTime,map:m3.map,merge:a2.merge,null:p$.nullTag,omap:d3.omap,pairs:c3.pairs,seq:p3.seq,set:i3.set,timestamp:TU.timestamp},s$={"tag:yaml.org,2002:binary":l3.binary,"tag:yaml.org,2002:merge":a2.merge,"tag:yaml.org,2002:omap":d3.omap,"tag:yaml.org,2002:pairs":c3.pairs,"tag:yaml.org,2002:set":i3.set,"tag:yaml.org,2002:timestamp":TU.timestamp};function o$(U,X,q){let Z=x3.get(X);if(Z&&!U)return q&&!Z.includes(a2.merge)?Z.concat(a2.merge):Z.slice();let Q=Z;if(!Q)if(Array.isArray(U))Q=[];else{let G=Array.from(x3.keys()).filter((Y)=>Y!=="yaml11").map((Y)=>JSON.stringify(Y)).join(", ");throw Error(`Unknown schema "${X}"; use one of ${G} or define customTags array`)}if(Array.isArray(U))for(let G of U)Q=Q.concat(G);else if(typeof U==="function")Q=U(Q.slice());if(q)Q=Q.concat(a2.merge);return Q.reduce((G,Y)=>{let J=typeof Y==="string"?u3[Y]:Y;if(!J){let H=JSON.stringify(Y),W=Object.keys(u3).map(($)=>JSON.stringify($)).join(", ");throw Error(`Unknown custom tag ${H}; use one of ${W}`)}if(!G.includes(J))G.push(J);return G},[])}r$.coreKnownTags=s$;r$.getTags=o$});var j9=R((qL)=>{var S9=k(),t$=o1(),e$=r1(),UL=i2(),BU=s3(),XL=(U,X)=>U.key<X.key?-1:U.key>X.key?1:0;class E9{constructor({compat:U,customTags:X,merge:q,resolveKnownTags:Z,schema:Q,sortMapEntries:G,toStringDefaults:Y}){this.compat=Array.isArray(U)?BU.getTags(U,"compat"):U?BU.getTags(null,U):null,this.name=typeof Q==="string"&&Q||"core",this.knownTags=Z?BU.coreKnownTags:{},this.tags=BU.getTags(X,this.name,q),this.toStringOptions=Y??null,Object.defineProperty(this,S9.MAP,{value:t$.map}),Object.defineProperty(this,S9.SCALAR,{value:UL.string}),Object.defineProperty(this,S9.SEQ,{value:e$.seq}),this.sortMapEntries=typeof G==="function"?G:G===!0?XL:null}clone(){let U=Object.create(E9.prototype,Object.getOwnPropertyDescriptors(this));return U.tags=this.tags.slice(),U}}qL.Schema=E9});var o3=R((YL)=>{var QL=k(),b9=p2(),n2=x2();function GL(U,X){let q=[],Z=X.directives===!0;if(X.directives!==!1&&U.directives){let H=U.directives.toString(U);if(H)q.push(H),Z=!0;else if(U.directives.docStart)Z=!0}if(Z)q.push("---");let Q=b9.createStringifyContext(U,X),{commentString:G}=Q.options;if(U.commentBefore){if(q.length!==1)q.unshift("");let H=G(U.commentBefore);q.unshift(n2.indentComment(H,""))}let Y=!1,J=null;if(U.contents){if(QL.isNode(U.contents)){if(U.contents.spaceBefore&&Z)q.push("");if(U.contents.commentBefore){let $=G(U.contents.commentBefore);q.push(n2.indentComment($,""))}Q.forceBlockIndent=!!U.comment,J=U.contents.comment}let H=J?void 0:()=>Y=!0,W=b9.stringify(U.contents,Q,()=>J=null,H);if(J)W+=n2.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(b9.stringify(U.contents,Q));if(U.directives?.docEnd)if(U.comment){let H=G(U.comment);if(H.includes(`
|
|
55
|
-
`))
|
|
85
|
+
`}else j+=`
|
|
86
|
+
${Q.indent}`}else if(!F&&K1.isCollection(X)){let v=S[0],N=S.indexOf(`
|
|
87
|
+
`),x=N!==-1,s=Q.inFlow??X.flow??X.items.length===0;if(x||!s){let Q0=!1;if(x&&(v==="&"||v==="!")){let a=S.indexOf(" ");if(v==="&"&&a!==-1&&a<N&&S[a+1]==="!")a=S.indexOf(" ",a+1);if(a===-1||N<a)Q0=!0}if(!Q0)j=`
|
|
88
|
+
${Q.indent}`}}else if(S===""||S[0]===`
|
|
89
|
+
`)j="";if(B+=j+S,Q.inFlow){if(D&&U)U()}else if(P&&!D)B+=e6.lineComment(B,Q.indent,L(P));else if(H&&J)J();return B}aV.stringifyPair=sV});var IX=C((tV)=>{var kJ=_2("process");function oV(Z,...X){if(Z==="debug")console.log(...X)}function nV(Z,X){if(Z==="debug"||Z==="warn")if(typeof kJ.emitWarning==="function")kJ.emitWarning(X);else console.warn(X)}tV.debug=oV;tV.warn=nV});var E9=C((QH)=>{var Z4=l(),gJ=W0(),N9="<<",j9={identify:(Z)=>Z===N9||typeof Z==="symbol"&&Z.description===N9,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new gJ.Scalar(Symbol(N9)),{addToJSMap:vJ}),stringify:()=>N9},XH=(Z,X)=>(j9.identify(X)||Z4.isScalar(X)&&(!X.type||X.type===gJ.Scalar.PLAIN)&&j9.identify(X.value))&&Z?.doc.schema.tags.some((Q)=>Q.tag===j9.tag&&Q.default);function vJ(Z,X,Q){if(Q=Z&&Z4.isAlias(Q)?Q.resolve(Z.doc):Q,Z4.isSeq(Q))for(let U of Q.items)fX(Z,X,U);else if(Array.isArray(Q))for(let U of Q)fX(Z,X,U);else fX(Z,X,Q)}function fX(Z,X,Q){let U=Z&&Z4.isAlias(Q)?Q.resolve(Z.doc):Q;if(!Z4.isMap(U))throw Error("Merge sources must be maps or map aliases");let J=U.toJSON(null,Z,Map);for(let[q,Y]of J)if(X instanceof Map){if(!X.has(q))X.set(q,Y)}else if(X instanceof Set)X.add(q);else if(!Object.prototype.hasOwnProperty.call(X,q))Object.defineProperty(X,q,{value:Y,writable:!0,enumerable:!0,configurable:!0});return X}QH.addMergeToJSMap=vJ;QH.isMergeKey=XH;QH.merge=j9});var kX=C((GH)=>{var YH=IX(),xJ=E9(),WH=t6(),hJ=l(),yX=g1();function $H(Z,X,{key:Q,value:U}){if(hJ.isNode(Q)&&Q.addToJSMap)Q.addToJSMap(Z,X,U);else if(xJ.isMergeKey(Z,Q))xJ.addMergeToJSMap(Z,X,U);else{let J=yX.toJS(Q,"",Z);if(X instanceof Map)X.set(J,yX.toJS(U,J,Z));else if(X instanceof Set)X.add(J);else{let q=LH(Q,J,Z),Y=yX.toJS(U,q,Z);if(q in X)Object.defineProperty(X,q,{value:Y,writable:!0,enumerable:!0,configurable:!0});else X[q]=Y}}return X}function LH(Z,X,Q){if(X===null)return"";if(typeof X!=="object")return String(X);if(hJ.isNode(Z)&&Q?.doc){let U=WH.createStringifyContext(Q.doc,{});U.anchors=new Set;for(let q of Q.anchors.keys())U.anchors.add(q.anchor);U.inFlow=!0,U.inStringifyKey=!0;let J=Z.toString(U);if(!Q.mapKeyWarned){let q=JSON.stringify(J);if(q.length>40)q=q.substring(0,36)+'..."';YH.warn(Q.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${q}. Set mapAsMap: true to use object keys.`),Q.mapKeyWarned=!0}return J}return JSON.stringify(X)}GH.addPairToJSMap=$H});var h1=C((zH)=>{var mJ=a6(),VH=yJ(),HH=kX(),b9=l();function FH(Z,X,Q){let U=mJ.createNode(Z,void 0,Q),J=mJ.createNode(X,void 0,Q);return new I9(U,J)}class I9{constructor(Z,X=null){Object.defineProperty(this,b9.NODE_TYPE,{value:b9.PAIR}),this.key=Z,this.value=X}clone(Z){let{key:X,value:Q}=this;if(b9.isNode(X))X=X.clone(Z);if(b9.isNode(Q))Q=Q.clone(Z);return new I9(X,Q)}toJSON(Z,X){let Q=X?.mapAsMap?new Map:{};return HH.addPairToJSMap(X,Q,this)}toString(Z,X,Q){return Z?.doc?VH.stringifyPair(this,Z,X,Q):JSON.stringify(this)}}zH.Pair=I9;zH.createPair=FH});var gX=C((KH)=>{var q2=l(),uJ=t6(),f9=r6();function OH(Z,X,Q){return(X.inFlow??Z.flow?PH:RH)(Z,X,Q)}function RH({comment:Z,items:X},Q,{blockItemPrefix:U,flowChars:J,itemIndent:q,onChompKeep:Y,onComment:W}){let{indent:$,options:{commentString:L}}=Q,_=Object.assign({},Q,{indent:q,type:null}),G=!1,V=[];for(let z=0;z<X.length;++z){let H=X[z],B=null;if(q2.isNode(H)){if(!G&&H.spaceBefore)V.push("");if(y9(Q,V,H.commentBefore,G),H.comment)B=H.comment}else if(q2.isPair(H)){let T=q2.isNode(H.key)?H.key:null;if(T){if(!G&&T.spaceBefore)V.push("");y9(Q,V,T.commentBefore,G)}}G=!1;let K=uJ.stringify(H,_,()=>B=null,()=>G=!0);if(B)K+=f9.lineComment(K,q,L(B));if(G&&B)G=!1;V.push(U+K)}let F;if(V.length===0)F=J.start+J.end;else{F=V[0];for(let z=1;z<V.length;++z){let H=V[z];F+=H?`
|
|
90
|
+
${$}${H}`:`
|
|
91
|
+
`}}if(Z){if(F+=`
|
|
92
|
+
`+f9.indentComment(L(Z),$),W)W()}else if(G&&Y)Y();return F}function PH({items:Z},X,{flowChars:Q,itemIndent:U}){let{indent:J,indentStep:q,flowCollectionPadding:Y,options:{commentString:W}}=X;U+=q;let $=Object.assign({},X,{indent:U,inFlow:!0,type:null}),L=!1,_=0,G=[];for(let z=0;z<Z.length;++z){let H=Z[z],B=null;if(q2.isNode(H)){if(H.spaceBefore)G.push("");if(y9(X,G,H.commentBefore,!1),H.comment)B=H.comment}else if(q2.isPair(H)){let T=q2.isNode(H.key)?H.key:null;if(T){if(T.spaceBefore)G.push("");if(y9(X,G,T.commentBefore,!1),T.comment)L=!0}let P=q2.isNode(H.value)?H.value:null;if(P){if(P.comment)B=P.comment;if(P.commentBefore)L=!0}else if(H.value==null&&T?.comment)B=T.comment}if(B)L=!0;let K=uJ.stringify(H,$,()=>B=null);if(z<Z.length-1)K+=",";if(B)K+=f9.lineComment(K,U,W(B));if(!L&&(G.length>_||K.includes(`
|
|
93
|
+
`)))L=!0;G.push(K),_=G.length}let{start:V,end:F}=Q;if(G.length===0)return V+F;else{if(!L){let z=G.reduce((H,B)=>H+B.length+2,2);L=X.options.lineWidth>0&&z>X.options.lineWidth}if(L){let z=V;for(let H of G)z+=H?`
|
|
94
|
+
${q}${J}${H}`:`
|
|
95
|
+
`;return`${z}
|
|
96
|
+
${J}${F}`}else return`${V}${Y}${G.join(" ")}${Y}${F}`}}function y9({indent:Z,options:{commentString:X}},Q,U,J){if(U&&J)U=U.replace(/^\n+/,"");if(U){let q=f9.indentComment(X(U),Z);Q.push(q.trimStart())}}KH.stringifyCollection=OH});var u1=C((CH)=>{var DH=gX(),wH=kX(),AH=w9(),m1=l(),k9=h1(),SH=W0();function X4(Z,X){let Q=m1.isScalar(X)?X.value:X;for(let U of Z)if(m1.isPair(U)){if(U.key===X||U.key===Q)return U;if(m1.isScalar(U.key)&&U.key.value===Q)return U}return}class pJ extends AH.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(Z){super(m1.MAP,Z);this.items=[]}static from(Z,X,Q){let{keepUndefined:U,replacer:J}=Q,q=new this(Z),Y=(W,$)=>{if(typeof J==="function")$=J.call(X,W,$);else if(Array.isArray(J)&&!J.includes(W))return;if($!==void 0||U)q.items.push(k9.createPair(W,$,Q))};if(X instanceof Map)for(let[W,$]of X)Y(W,$);else if(X&&typeof X==="object")for(let W of Object.keys(X))Y(W,X[W]);if(typeof Z.sortMapEntries==="function")q.items.sort(Z.sortMapEntries);return q}add(Z,X){let Q;if(m1.isPair(Z))Q=Z;else if(!Z||typeof Z!=="object"||!("key"in Z))Q=new k9.Pair(Z,Z?.value);else Q=new k9.Pair(Z.key,Z.value);let U=X4(this.items,Q.key),J=this.schema?.sortMapEntries;if(U){if(!X)throw Error(`Key ${Q.key} already set`);if(m1.isScalar(U.value)&&SH.isScalarValue(Q.value))U.value.value=Q.value;else U.value=Q.value}else if(J){let q=this.items.findIndex((Y)=>J(Q,Y)<0);if(q===-1)this.items.push(Q);else this.items.splice(q,0,Q)}else this.items.push(Q)}delete(Z){let X=X4(this.items,Z);if(!X)return!1;return this.items.splice(this.items.indexOf(X),1).length>0}get(Z,X){let U=X4(this.items,Z)?.value;return(!X&&m1.isScalar(U)?U.value:U)??void 0}has(Z){return!!X4(this.items,Z)}set(Z,X){this.add(new k9.Pair(Z,X),!0)}toJSON(Z,X,Q){let U=Q?new Q:X?.mapAsMap?new Map:{};if(X?.onCreate)X.onCreate(U);for(let J of this.items)wH.addPairToJSMap(X,U,J);return U}toString(Z,X,Q){if(!Z)return JSON.stringify(this);for(let U of this.items)if(!m1.isPair(U))throw Error(`Map items must all be pairs; found ${JSON.stringify(U)} instead`);if(!Z.allNullValues&&this.hasAllNullValues(!1))Z=Object.assign({},Z,{allNullValues:!0});return DH.stringifyCollection(this,Z,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:Z.indent||"",onChompKeep:Q,onComment:X})}}CH.YAMLMap=pJ;CH.findPair=X4});var c2=C((IH)=>{var EH=l(),lJ=u1(),bH={collection:"map",default:!0,nodeClass:lJ.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(Z,X){if(!EH.isMap(Z))X("Expected a mapping for this tag");return Z},createNode:(Z,X,Q)=>lJ.YAMLMap.from(Z,X,Q)};IH.map=bH});var p1=C((hH)=>{var yH=a6(),kH=gX(),gH=w9(),v9=l(),vH=W0(),xH=g1();class dJ extends gH.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(Z){super(v9.SEQ,Z);this.items=[]}add(Z){this.items.push(Z)}delete(Z){let X=g9(Z);if(typeof X!=="number")return!1;return this.items.splice(X,1).length>0}get(Z,X){let Q=g9(Z);if(typeof Q!=="number")return;let U=this.items[Q];return!X&&v9.isScalar(U)?U.value:U}has(Z){let X=g9(Z);return typeof X==="number"&&X<this.items.length}set(Z,X){let Q=g9(Z);if(typeof Q!=="number")throw Error(`Expected a valid index, not ${Z}.`);let U=this.items[Q];if(v9.isScalar(U)&&vH.isScalarValue(X))U.value=X;else this.items[Q]=X}toJSON(Z,X){let Q=[];if(X?.onCreate)X.onCreate(Q);let U=0;for(let J of this.items)Q.push(xH.toJS(J,String(U++),X));return Q}toString(Z,X,Q){if(!Z)return JSON.stringify(this);return kH.stringifyCollection(this,Z,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(Z.indent||"")+" ",onChompKeep:Q,onComment:X})}static from(Z,X,Q){let{replacer:U}=Q,J=new this(Z);if(X&&Symbol.iterator in Object(X)){let q=0;for(let Y of X){if(typeof U==="function"){let W=X instanceof Set?Y:String(q++);Y=U.call(X,W,Y)}J.items.push(yH.createNode(Y,void 0,Q))}}return J}}function g9(Z){let X=v9.isScalar(Z)?Z.value:Z;if(X&&typeof X==="string")X=Number(X);return typeof X==="number"&&Number.isInteger(X)&&X>=0?X:null}hH.YAMLSeq=dJ});var i2=C((lH)=>{var uH=l(),cJ=p1(),pH={collection:"seq",default:!0,nodeClass:cJ.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(Z,X){if(!uH.isSeq(Z))X("Expected a sequence for this tag");return Z},createNode:(Z,X,Q)=>cJ.YAMLSeq.from(Z,X,Q)};lH.seq=pH});var Q4=C((sH)=>{var cH=n6(),iH={identify:(Z)=>typeof Z==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(Z)=>Z,stringify(Z,X,Q,U){return X=Object.assign({actualString:!0},X),cH.stringifyString(Z,X,Q,U)}};sH.string=iH});var x9=C((rH)=>{var iJ=W0(),sJ={identify:(Z)=>Z==null,createNode:()=>new iJ.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new iJ.Scalar(null),stringify:({source:Z},X)=>typeof Z==="string"&&sJ.test.test(Z)?Z:X.options.nullStr};rH.nullTag=sJ});var vX=C((tH)=>{var nH=W0(),aJ={identify:(Z)=>typeof Z==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:(Z)=>new nH.Scalar(Z[0]==="t"||Z[0]==="T"),stringify({source:Z,value:X},Q){if(Z&&aJ.test.test(Z)){let U=Z[0]==="t"||Z[0]==="T";if(X===U)return Z}return X?Q.options.trueStr:Q.options.falseStr}};tH.boolTag=aJ});var s2=C((XF)=>{function ZF({format:Z,minFractionDigits:X,tag:Q,value:U}){if(typeof U==="bigint")return String(U);let J=typeof U==="number"?U:Number(U);if(!isFinite(J))return isNaN(J)?".nan":J<0?"-.inf":".inf";let q=Object.is(U,-0)?"-0":JSON.stringify(U);if(!Z&&X&&(!Q||Q==="tag:yaml.org,2002:float")&&/^\d/.test(q)){let Y=q.indexOf(".");if(Y<0)Y=q.length,q+=".";let W=X-(q.length-Y-1);while(W-- >0)q+="0"}return q}XF.stringifyNumber=ZF});var hX=C((WF)=>{var UF=W0(),xX=s2(),JF={identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(Z)=>Z.slice(-3).toLowerCase()==="nan"?NaN:Z[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:xX.stringifyNumber},qF={identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:(Z)=>parseFloat(Z),stringify(Z){let X=Number(Z.value);return isFinite(X)?X.toExponential():xX.stringifyNumber(Z)}},YF={identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(Z){let X=new UF.Scalar(parseFloat(Z)),Q=Z.indexOf(".");if(Q!==-1&&Z[Z.length-1]==="0")X.minFractionDigits=Z.length-Q-1;return X},stringify:xX.stringifyNumber};WF.float=YF;WF.floatExp=qF;WF.floatNaN=JF});var uX=C((FF)=>{var rJ=s2(),h9=(Z)=>typeof Z==="bigint"||Number.isInteger(Z),mX=(Z,X,Q,{intAsBigInt:U})=>U?BigInt(Z):parseInt(Z.substring(X),Q);function oJ(Z,X,Q){let{value:U}=Z;if(h9(U)&&U>=0)return Q+U.toString(X);return rJ.stringifyNumber(Z)}var _F={identify:(Z)=>h9(Z)&&Z>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(Z,X,Q)=>mX(Z,2,8,Q),stringify:(Z)=>oJ(Z,8,"0o")},VF={identify:h9,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(Z,X,Q)=>mX(Z,0,10,Q),stringify:rJ.stringifyNumber},HF={identify:(Z)=>h9(Z)&&Z>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(Z,X,Q)=>mX(Z,2,16,Q),stringify:(Z)=>oJ(Z,16,"0x")};FF.int=VF;FF.intHex=HF;FF.intOct=_F});var nJ=C((wF)=>{var OF=c2(),RF=x9(),PF=i2(),KF=Q4(),TF=vX(),pX=hX(),lX=uX(),DF=[OF.map,PF.seq,KF.string,RF.nullTag,TF.boolTag,lX.intOct,lX.int,lX.intHex,pX.floatNaN,pX.floatExp,pX.float];wF.schema=DF});var eJ=C((IF)=>{var SF=W0(),CF=c2(),NF=i2();function tJ(Z){return typeof Z==="bigint"||Number.isInteger(Z)}var m9=({value:Z})=>JSON.stringify(Z),jF=[{identify:(Z)=>typeof Z==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(Z)=>Z,stringify:m9},{identify:(Z)=>Z==null,createNode:()=>new SF.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:m9},{identify:(Z)=>typeof Z==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:(Z)=>Z==="true",stringify:m9},{identify:tJ,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(Z,X,{intAsBigInt:Q})=>Q?BigInt(Z):parseInt(Z,10),stringify:({value:Z})=>tJ(Z)?Z.toString():JSON.stringify(Z)},{identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:(Z)=>parseFloat(Z),stringify:m9}],EF={default:!0,tag:"",test:/^/,resolve(Z,X){return X(`Unresolved plain scalar ${JSON.stringify(Z)}`),Z}},bF=[CF.map,NF.seq].concat(jF,EF);IF.schema=bF});var cX=C((gF)=>{var U4=_2("buffer"),dX=W0(),yF=n6(),kF={identify:(Z)=>Z instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(Z,X){if(typeof U4.Buffer==="function")return U4.Buffer.from(Z,"base64");else if(typeof atob==="function"){let Q=atob(Z.replace(/[\n\r]/g,"")),U=new Uint8Array(Q.length);for(let J=0;J<Q.length;++J)U[J]=Q.charCodeAt(J);return U}else return X("This environment does not support reading binary tags; either Buffer or atob is required"),Z},stringify({comment:Z,type:X,value:Q},U,J,q){if(!Q)return"";let Y=Q,W;if(typeof U4.Buffer==="function")W=Y instanceof U4.Buffer?Y.toString("base64"):U4.Buffer.from(Y.buffer).toString("base64");else if(typeof btoa==="function"){let $="";for(let L=0;L<Y.length;++L)$+=String.fromCharCode(Y[L]);W=btoa($)}else throw Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(X??(X=dX.Scalar.BLOCK_LITERAL),X!==dX.Scalar.QUOTE_DOUBLE){let $=Math.max(U.options.lineWidth-U.indent.length,U.options.minContentWidth),L=Math.ceil(W.length/$),_=Array(L);for(let G=0,V=0;G<L;++G,V+=$)_[G]=W.substr(V,$);W=_.join(X===dX.Scalar.BLOCK_LITERAL?`
|
|
97
|
+
`:" ")}return yF.stringifyString({comment:Z,type:X,value:W},U,J,q)}};gF.binary=kF});var p9=C((uF)=>{var u9=l(),iX=h1(),xF=W0(),hF=p1();function Zq(Z,X){if(u9.isSeq(Z))for(let Q=0;Q<Z.items.length;++Q){let U=Z.items[Q];if(u9.isPair(U))continue;else if(u9.isMap(U)){if(U.items.length>1)X("Each pair must have its own sequence indicator");let J=U.items[0]||new iX.Pair(new xF.Scalar(null));if(U.commentBefore)J.key.commentBefore=J.key.commentBefore?`${U.commentBefore}
|
|
98
|
+
${J.key.commentBefore}`:U.commentBefore;if(U.comment){let q=J.value??J.key;q.comment=q.comment?`${U.comment}
|
|
99
|
+
${q.comment}`:U.comment}U=J}Z.items[Q]=u9.isPair(U)?U:new iX.Pair(U)}else X("Expected a sequence for this tag");return Z}function Xq(Z,X,Q){let{replacer:U}=Q,J=new hF.YAMLSeq(Z);J.tag="tag:yaml.org,2002:pairs";let q=0;if(X&&Symbol.iterator in Object(X))for(let Y of X){if(typeof U==="function")Y=U.call(X,String(q++),Y);let W,$;if(Array.isArray(Y))if(Y.length===2)W=Y[0],$=Y[1];else throw TypeError(`Expected [key, value] tuple: ${Y}`);else if(Y&&Y instanceof Object){let L=Object.keys(Y);if(L.length===1)W=L[0],$=Y[W];else throw TypeError(`Expected tuple with one key, not ${L.length} keys`)}else W=Y;J.items.push(iX.createPair(W,$,Q))}return J}var mF={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:Zq,createNode:Xq};uF.createPairs=Xq;uF.pairs=mF;uF.resolvePairs=Zq});var aX=C((sF)=>{var Qq=l(),sX=g1(),J4=u1(),cF=p1(),Uq=p9();class Y2 extends cF.YAMLSeq{constructor(){super();this.add=J4.YAMLMap.prototype.add.bind(this),this.delete=J4.YAMLMap.prototype.delete.bind(this),this.get=J4.YAMLMap.prototype.get.bind(this),this.has=J4.YAMLMap.prototype.has.bind(this),this.set=J4.YAMLMap.prototype.set.bind(this),this.tag=Y2.tag}toJSON(Z,X){if(!X)return super.toJSON(Z);let Q=new Map;if(X?.onCreate)X.onCreate(Q);for(let U of this.items){let J,q;if(Qq.isPair(U))J=sX.toJS(U.key,"",X),q=sX.toJS(U.value,J,X);else J=sX.toJS(U,"",X);if(Q.has(J))throw Error("Ordered maps must not include duplicate keys");Q.set(J,q)}return Q}static from(Z,X,Q){let U=Uq.createPairs(Z,X,Q),J=new this;return J.items=U.items,J}}Y2.tag="tag:yaml.org,2002:omap";var iF={collection:"seq",identify:(Z)=>Z instanceof Map,nodeClass:Y2,default:!1,tag:"tag:yaml.org,2002:omap",resolve(Z,X){let Q=Uq.resolvePairs(Z,X),U=[];for(let{key:J}of Q.items)if(Qq.isScalar(J))if(U.includes(J.value))X(`Ordered maps must not include duplicate keys: ${J.value}`);else U.push(J.value);return Object.assign(new Y2,Q)},createNode:(Z,X,Q)=>Y2.from(Z,X,Q)};sF.YAMLOMap=Y2;sF.omap=iF});var $q=C((oF)=>{var Jq=W0();function qq({value:Z,source:X},Q){if(X&&(Z?Yq:Wq).test.test(X))return X;return Z?Q.options.trueStr:Q.options.falseStr}var Yq={identify:(Z)=>Z===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new Jq.Scalar(!0),stringify:qq},Wq={identify:(Z)=>Z===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new Jq.Scalar(!1),stringify:qq};oF.falseTag=Wq;oF.trueTag=Yq});var Lq=C((Uz)=>{var eF=W0(),rX=s2(),Zz={identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(Z)=>Z.slice(-3).toLowerCase()==="nan"?NaN:Z[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:rX.stringifyNumber},Xz={identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:(Z)=>parseFloat(Z.replace(/_/g,"")),stringify(Z){let X=Number(Z.value);return isFinite(X)?X.toExponential():rX.stringifyNumber(Z)}},Qz={identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(Z){let X=new eF.Scalar(parseFloat(Z.replace(/_/g,""))),Q=Z.indexOf(".");if(Q!==-1){let U=Z.substring(Q+1).replace(/_/g,"");if(U[U.length-1]==="0")X.minFractionDigits=U.length}return X},stringify:rX.stringifyNumber};Uz.float=Qz;Uz.floatExp=Xz;Uz.floatNaN=Zz});var _q=C((_z)=>{var Gq=s2(),q4=(Z)=>typeof Z==="bigint"||Number.isInteger(Z);function l9(Z,X,Q,{intAsBigInt:U}){let J=Z[0];if(J==="-"||J==="+")X+=1;if(Z=Z.substring(X).replace(/_/g,""),U){switch(Q){case 2:Z=`0b${Z}`;break;case 8:Z=`0o${Z}`;break;case 16:Z=`0x${Z}`;break}let Y=BigInt(Z);return J==="-"?BigInt(-1)*Y:Y}let q=parseInt(Z,Q);return J==="-"?-1*q:q}function oX(Z,X,Q){let{value:U}=Z;if(q4(U)){let J=U.toString(X);return U<0?"-"+Q+J.substr(1):Q+J}return Gq.stringifyNumber(Z)}var Wz={identify:q4,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(Z,X,Q)=>l9(Z,2,2,Q),stringify:(Z)=>oX(Z,2,"0b")},$z={identify:q4,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(Z,X,Q)=>l9(Z,1,8,Q),stringify:(Z)=>oX(Z,8,"0")},Lz={identify:q4,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(Z,X,Q)=>l9(Z,0,10,Q),stringify:Gq.stringifyNumber},Gz={identify:q4,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(Z,X,Q)=>l9(Z,2,16,Q),stringify:(Z)=>oX(Z,16,"0x")};_z.int=Lz;_z.intBin=Wz;_z.intHex=Gz;_z.intOct=$z});var nX=C((Mz)=>{var i9=l(),d9=h1(),c9=u1();class W2 extends c9.YAMLMap{constructor(Z){super(Z);this.tag=W2.tag}add(Z){let X;if(i9.isPair(Z))X=Z;else if(Z&&typeof Z==="object"&&"key"in Z&&"value"in Z&&Z.value===null)X=new d9.Pair(Z.key,null);else X=new d9.Pair(Z,null);if(!c9.findPair(this.items,X.key))this.items.push(X)}get(Z,X){let Q=c9.findPair(this.items,Z);return!X&&i9.isPair(Q)?i9.isScalar(Q.key)?Q.key.value:Q.key:Q}set(Z,X){if(typeof X!=="boolean")throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof X}`);let Q=c9.findPair(this.items,Z);if(Q&&!X)this.items.splice(this.items.indexOf(Q),1);else if(!Q&&X)this.items.push(new d9.Pair(Z))}toJSON(Z,X){return super.toJSON(Z,X,Set)}toString(Z,X,Q){if(!Z)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},Z,{allNullValues:!0}),X,Q);else throw Error("Set items must all have null values")}static from(Z,X,Q){let{replacer:U}=Q,J=new this(Z);if(X&&Symbol.iterator in Object(X))for(let q of X){if(typeof U==="function")q=U.call(X,q,q);J.items.push(d9.createPair(q,null,Q))}return J}}W2.tag="tag:yaml.org,2002:set";var Bz={collection:"map",identify:(Z)=>Z instanceof Set,nodeClass:W2,default:!1,tag:"tag:yaml.org,2002:set",createNode:(Z,X,Q)=>W2.from(Z,X,Q),resolve(Z,X){if(i9.isMap(Z))if(Z.hasAllNullValues(!0))return Object.assign(new W2,Z);else X("Set items must all have null values");else X("Expected a mapping for this tag");return Z}};Mz.YAMLSet=W2;Mz.set=Bz});var eX=C((Dz)=>{var Pz=s2();function tX(Z,X){let Q=Z[0],U=Q==="-"||Q==="+"?Z.substring(1):Z,J=(Y)=>X?BigInt(Y):Number(Y),q=U.replace(/_/g,"").split(":").reduce((Y,W)=>Y*J(60)+J(W),J(0));return Q==="-"?J(-1)*q:q}function Vq(Z){let{value:X}=Z,Q=(Y)=>Y;if(typeof X==="bigint")Q=(Y)=>BigInt(Y);else if(isNaN(X)||!isFinite(X))return Pz.stringifyNumber(Z);let U="";if(X<0)U="-",X*=Q(-1);let J=Q(60),q=[X%J];if(X<60)q.unshift(0);else if(X=(X-q[0])/J,q.unshift(X%J),X>=60)X=(X-q[0])/J,q.unshift(X);return U+q.map((Y)=>String(Y).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var Kz={identify:(Z)=>typeof Z==="bigint"||Number.isInteger(Z),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(Z,X,{intAsBigInt:Q})=>tX(Z,Q),stringify:Vq},Tz={identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:(Z)=>tX(Z,!1),stringify:Vq},Hq={identify:(Z)=>Z instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(Z){let X=Z.match(Hq.test);if(!X)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,Q,U,J,q,Y,W]=X.map(Number),$=X[7]?Number((X[7]+"00").substr(1,3)):0,L=Date.UTC(Q,U-1,J,q||0,Y||0,W||0,$),_=X[8];if(_&&_!=="Z"){let G=tX(_,!1);if(Math.abs(G)<30)G*=60;L-=60000*G}return new Date(L)},stringify:({value:Z})=>Z?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};Dz.floatTime=Tz;Dz.intTime=Kz;Dz.timestamp=Hq});var zq=C((vz)=>{var Cz=c2(),Nz=x9(),jz=i2(),Ez=Q4(),bz=cX(),Fq=$q(),Z3=Lq(),s9=_q(),Iz=E9(),fz=aX(),yz=p9(),kz=nX(),X3=eX(),gz=[Cz.map,jz.seq,Ez.string,Nz.nullTag,Fq.trueTag,Fq.falseTag,s9.intBin,s9.intOct,s9.int,s9.intHex,Z3.floatNaN,Z3.floatExp,Z3.float,bz.binary,Iz.merge,fz.omap,yz.pairs,kz.set,X3.intTime,X3.floatTime,X3.timestamp];vz.schema=gz});var Aq=C((iz)=>{var Rq=c2(),hz=x9(),Pq=i2(),mz=Q4(),uz=vX(),Q3=hX(),U3=uX(),pz=nJ(),lz=eJ(),Kq=cX(),Y4=E9(),Tq=aX(),Dq=p9(),Bq=zq(),wq=nX(),a9=eX(),Mq=new Map([["core",pz.schema],["failsafe",[Rq.map,Pq.seq,mz.string]],["json",lz.schema],["yaml11",Bq.schema],["yaml-1.1",Bq.schema]]),Oq={binary:Kq.binary,bool:uz.boolTag,float:Q3.float,floatExp:Q3.floatExp,floatNaN:Q3.floatNaN,floatTime:a9.floatTime,int:U3.int,intHex:U3.intHex,intOct:U3.intOct,intTime:a9.intTime,map:Rq.map,merge:Y4.merge,null:hz.nullTag,omap:Tq.omap,pairs:Dq.pairs,seq:Pq.seq,set:wq.set,timestamp:a9.timestamp},dz={"tag:yaml.org,2002:binary":Kq.binary,"tag:yaml.org,2002:merge":Y4.merge,"tag:yaml.org,2002:omap":Tq.omap,"tag:yaml.org,2002:pairs":Dq.pairs,"tag:yaml.org,2002:set":wq.set,"tag:yaml.org,2002:timestamp":a9.timestamp};function cz(Z,X,Q){let U=Mq.get(X);if(U&&!Z)return Q&&!U.includes(Y4.merge)?U.concat(Y4.merge):U.slice();let J=U;if(!J)if(Array.isArray(Z))J=[];else{let q=Array.from(Mq.keys()).filter((Y)=>Y!=="yaml11").map((Y)=>JSON.stringify(Y)).join(", ");throw Error(`Unknown schema "${X}"; use one of ${q} or define customTags array`)}if(Array.isArray(Z))for(let q of Z)J=J.concat(q);else if(typeof Z==="function")J=Z(J.slice());if(Q)J=J.concat(Y4.merge);return J.reduce((q,Y)=>{let W=typeof Y==="string"?Oq[Y]:Y;if(!W){let $=JSON.stringify(Y),L=Object.keys(Oq).map((_)=>JSON.stringify(_)).join(", ");throw Error(`Unknown custom tag ${$}; use one of ${L}`)}if(!q.includes(W))q.push(W);return q},[])}iz.coreKnownTags=dz;iz.getTags=cz});var Y3=C((ez)=>{var J3=l(),rz=c2(),oz=i2(),nz=Q4(),r9=Aq(),tz=(Z,X)=>Z.key<X.key?-1:Z.key>X.key?1:0;class q3{constructor({compat:Z,customTags:X,merge:Q,resolveKnownTags:U,schema:J,sortMapEntries:q,toStringDefaults:Y}){this.compat=Array.isArray(Z)?r9.getTags(Z,"compat"):Z?r9.getTags(null,Z):null,this.name=typeof J==="string"&&J||"core",this.knownTags=U?r9.coreKnownTags:{},this.tags=r9.getTags(X,this.name,Q),this.toStringOptions=Y??null,Object.defineProperty(this,J3.MAP,{value:rz.map}),Object.defineProperty(this,J3.SCALAR,{value:nz.string}),Object.defineProperty(this,J3.SEQ,{value:oz.seq}),this.sortMapEntries=typeof q==="function"?q:q===!0?tz:null}clone(){let Z=Object.create(q3.prototype,Object.getOwnPropertyDescriptors(this));return Z.tags=this.tags.slice(),Z}}ez.Schema=q3});var Sq=C((UB)=>{var XB=l(),W3=t6(),W4=r6();function QB(Z,X){let Q=[],U=X.directives===!0;if(X.directives!==!1&&Z.directives){let $=Z.directives.toString(Z);if($)Q.push($),U=!0;else if(Z.directives.docStart)U=!0}if(U)Q.push("---");let J=W3.createStringifyContext(Z,X),{commentString:q}=J.options;if(Z.commentBefore){if(Q.length!==1)Q.unshift("");let $=q(Z.commentBefore);Q.unshift(W4.indentComment($,""))}let Y=!1,W=null;if(Z.contents){if(XB.isNode(Z.contents)){if(Z.contents.spaceBefore&&U)Q.push("");if(Z.contents.commentBefore){let _=q(Z.contents.commentBefore);Q.push(W4.indentComment(_,""))}J.forceBlockIndent=!!Z.comment,W=Z.contents.comment}let $=W?void 0:()=>Y=!0,L=W3.stringify(Z.contents,J,()=>W=null,$);if(W)L+=W4.lineComment(L,"",q(W));if((L[0]==="|"||L[0]===">")&&Q[Q.length-1]==="---")Q[Q.length-1]=`--- ${L}`;else Q.push(L)}else Q.push(W3.stringify(Z.contents,J));if(Z.directives?.docEnd)if(Z.comment){let $=q(Z.comment);if($.includes(`
|
|
100
|
+
`))Q.push("..."),Q.push(W4.indentComment($,""));else Q.push(`... ${$}`)}else Q.push("...");else{let $=Z.comment;if($&&Y)$=$.replace(/^\n+/,"");if($){if((!Y||W)&&Q[Q.length-1]!=="")Q.push("");Q.push(W4.indentComment(q($),""))}}return Q.join(`
|
|
56
101
|
`)+`
|
|
57
|
-
`}
|
|
58
|
-
`;Y=
|
|
102
|
+
`}UB.stringifyDocument=QB});var $4=C((VB)=>{var qB=s6(),a2=w9(),d0=l(),YB=h1(),WB=g1(),$B=Y3(),LB=Sq(),$3=K9(),GB=CX(),_B=a6(),L3=SX();class G3{constructor(Z,X,Q){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,d0.NODE_TYPE,{value:d0.DOC});let U=null;if(typeof X==="function"||Array.isArray(X))U=X;else if(Q===void 0&&X)Q=X,X=void 0;let J=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},Q);this.options=J;let{version:q}=J;if(Q?._directives){if(this.directives=Q._directives.atDocument(),this.directives.yaml.explicit)q=this.directives.yaml.version}else this.directives=new L3.Directives({version:q});this.setSchema(q,Q),this.contents=Z===void 0?null:this.createNode(Z,U,Q)}clone(){let Z=Object.create(G3.prototype,{[d0.NODE_TYPE]:{value:d0.DOC}});if(Z.commentBefore=this.commentBefore,Z.comment=this.comment,Z.errors=this.errors.slice(),Z.warnings=this.warnings.slice(),Z.options=Object.assign({},this.options),this.directives)Z.directives=this.directives.clone();if(Z.schema=this.schema.clone(),Z.contents=d0.isNode(this.contents)?this.contents.clone(Z.schema):this.contents,this.range)Z.range=this.range.slice();return Z}add(Z){if(r2(this.contents))this.contents.add(Z)}addIn(Z,X){if(r2(this.contents))this.contents.addIn(Z,X)}createAlias(Z,X){if(!Z.anchor){let Q=$3.anchorNames(this);Z.anchor=!X||Q.has(X)?$3.findNewAnchor(X||"a",Q):X}return new qB.Alias(Z.anchor)}createNode(Z,X,Q){let U=void 0;if(typeof X==="function")Z=X.call({"":Z},"",Z),U=X;else if(Array.isArray(X)){let H=(K)=>typeof K==="number"||K instanceof String||K instanceof Number,B=X.filter(H).map(String);if(B.length>0)X=X.concat(B);U=X}else if(Q===void 0&&X)Q=X,X=void 0;let{aliasDuplicateObjects:J,anchorPrefix:q,flow:Y,keepUndefined:W,onTagObj:$,tag:L}=Q??{},{onAnchor:_,setAnchors:G,sourceObjects:V}=$3.createNodeAnchors(this,q||"a"),F={aliasDuplicateObjects:J??!0,keepUndefined:W??!1,onAnchor:_,onTagObj:$,replacer:U,schema:this.schema,sourceObjects:V},z=_B.createNode(Z,L,F);if(Y&&d0.isCollection(z))z.flow=!0;return G(),z}createPair(Z,X,Q={}){let U=this.createNode(Z,null,Q),J=this.createNode(X,null,Q);return new YB.Pair(U,J)}delete(Z){return r2(this.contents)?this.contents.delete(Z):!1}deleteIn(Z){if(a2.isEmptyPath(Z)){if(this.contents==null)return!1;return this.contents=null,!0}return r2(this.contents)?this.contents.deleteIn(Z):!1}get(Z,X){return d0.isCollection(this.contents)?this.contents.get(Z,X):void 0}getIn(Z,X){if(a2.isEmptyPath(Z))return!X&&d0.isScalar(this.contents)?this.contents.value:this.contents;return d0.isCollection(this.contents)?this.contents.getIn(Z,X):void 0}has(Z){return d0.isCollection(this.contents)?this.contents.has(Z):!1}hasIn(Z){if(a2.isEmptyPath(Z))return this.contents!==void 0;return d0.isCollection(this.contents)?this.contents.hasIn(Z):!1}set(Z,X){if(this.contents==null)this.contents=a2.collectionFromPath(this.schema,[Z],X);else if(r2(this.contents))this.contents.set(Z,X)}setIn(Z,X){if(a2.isEmptyPath(Z))this.contents=X;else if(this.contents==null)this.contents=a2.collectionFromPath(this.schema,Array.from(Z),X);else if(r2(this.contents))this.contents.setIn(Z,X)}setSchema(Z,X={}){if(typeof Z==="number")Z=String(Z);let Q;switch(Z){case"1.1":if(this.directives)this.directives.yaml.version="1.1";else this.directives=new L3.Directives({version:"1.1"});Q={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":if(this.directives)this.directives.yaml.version=Z;else this.directives=new L3.Directives({version:Z});Q={resolveKnownTags:!0,schema:"core"};break;case null:if(this.directives)delete this.directives;Q=null;break;default:{let U=JSON.stringify(Z);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${U}`)}}if(X.schema instanceof Object)this.schema=X.schema;else if(Q)this.schema=new $B.Schema(Object.assign(Q,X));else throw Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:Z,jsonArg:X,mapAsMap:Q,maxAliasCount:U,onAnchor:J,reviver:q}={}){let Y={anchors:new Map,doc:this,keep:!Z,mapAsMap:Q===!0,mapKeyWarned:!1,maxAliasCount:typeof U==="number"?U:100},W=WB.toJS(this.contents,X??"",Y);if(typeof J==="function")for(let{count:$,res:L}of Y.anchors.values())J(L,$);return typeof q==="function"?GB.applyReviver(q,{"":W},"",W):W}toJSON(Z,X){return this.toJS({json:!0,jsonArg:Z,mapAsMap:!1,onAnchor:X})}toString(Z={}){if(this.errors.length>0)throw Error("Document with errors cannot be stringified");if("indent"in Z&&(!Number.isInteger(Z.indent)||Number(Z.indent)<=0)){let X=JSON.stringify(Z.indent);throw Error(`"indent" option must be a positive integer, not ${X}`)}return LB.stringifyDocument(this,Z)}}function r2(Z){if(d0.isCollection(Z))return!0;throw Error("Expected a YAML collection as document contents")}VB.Document=G3});var L4=C((zB)=>{class o9 extends Error{constructor(Z,X,Q,U){super();this.name=Z,this.code=Q,this.message=U,this.pos=X}}class Cq extends o9{constructor(Z,X,Q){super("YAMLParseError",Z,X,Q)}}class Nq extends o9{constructor(Z,X,Q){super("YAMLWarning",Z,X,Q)}}var FB=(Z,X)=>(Q)=>{if(Q.pos[0]===-1)return;Q.linePos=Q.pos.map((W)=>X.linePos(W));let{line:U,col:J}=Q.linePos[0];Q.message+=` at line ${U}, column ${J}`;let q=J-1,Y=Z.substring(X.lineStarts[U-1],X.lineStarts[U]).replace(/[\n\r]+$/,"");if(q>=60&&Y.length>80){let W=Math.min(q-39,Y.length-79);Y="…"+Y.substring(W),q-=W-1}if(Y.length>80)Y=Y.substring(0,79)+"…";if(U>1&&/^ *$/.test(Y.substring(0,q))){let W=Z.substring(X.lineStarts[U-2],X.lineStarts[U-1]);if(W.length>80)W=W.substring(0,79)+`…
|
|
103
|
+
`;Y=W+Y}if(/[^ ]/.test(Y)){let W=1,$=Q.linePos[1];if($?.line===U&&$.col>J)W=Math.max(1,Math.min($.col-J,80-q));let L=" ".repeat(q)+"^".repeat(W);Q.message+=`:
|
|
59
104
|
|
|
60
105
|
${Y}
|
|
61
|
-
${
|
|
62
|
-
`}};
|
|
63
|
-
`))return!0;if(
|
|
64
|
-
`+
|
|
65
|
-
`+
|
|
66
|
-
`+
|
|
67
|
-
`+
|
|
68
|
-
`+
|
|
69
|
-
`+
|
|
70
|
-
`.repeat(Math.max(1,Y.length-1)):"",
|
|
71
|
-
`;for(let
|
|
72
|
-
`;else if(
|
|
73
|
-
`;else if(!V
|
|
74
|
-
`)
|
|
106
|
+
${L}
|
|
107
|
+
`}};zB.YAMLError=o9;zB.YAMLParseError=Cq;zB.YAMLWarning=Nq;zB.prettifyError=FB});var G4=C((KB)=>{function PB(Z,{flow:X,indicator:Q,next:U,offset:J,onError:q,parentIndent:Y,startOnNewline:W}){let $=!1,L=W,_=W,G="",V="",F=!1,z=!1,H=null,B=null,K=null,T=null,P=null,D=null,S=null;for(let N of Z){if(z){if(N.type!=="space"&&N.type!=="newline"&&N.type!=="comma")q(N.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");z=!1}if(H){if(L&&N.type!=="comment"&&N.type!=="newline")q(H,"TAB_AS_INDENT","Tabs are not allowed as indentation");H=null}switch(N.type){case"space":if(!X&&(Q!=="doc-start"||U?.type!=="flow-collection")&&N.source.includes("\t"))H=N;_=!0;break;case"comment":{if(!_)q(N,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let x=N.source.substring(1)||" ";if(!G)G=x;else G+=V+x;V="",L=!1;break}case"newline":if(L){if(G)G+=N.source;else if(!D||Q!=="seq-item-ind")$=!0}else V+=N.source;if(L=!0,F=!0,B||K)T=N;_=!0;break;case"anchor":if(B)q(N,"MULTIPLE_ANCHORS","A node can have at most one anchor");if(N.source.endsWith(":"))q(N.offset+N.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0);B=N,S??(S=N.offset),L=!1,_=!1,z=!0;break;case"tag":{if(K)q(N,"MULTIPLE_TAGS","A node can have at most one tag");K=N,S??(S=N.offset),L=!1,_=!1,z=!0;break}case Q:if(B||K)q(N,"BAD_PROP_ORDER",`Anchors and tags must be after the ${N.source} indicator`);if(D)q(N,"UNEXPECTED_TOKEN",`Unexpected ${N.source} in ${X??"collection"}`);D=N,L=Q==="seq-item-ind"||Q==="explicit-key-ind",_=!1;break;case"comma":if(X){if(P)q(N,"UNEXPECTED_TOKEN",`Unexpected , in ${X}`);P=N,L=!1,_=!1;break}default:q(N,"UNEXPECTED_TOKEN",`Unexpected ${N.type} token`),L=!1,_=!1}}let j=Z[Z.length-1],v=j?j.offset+j.source.length:J;if(z&&U&&U.type!=="space"&&U.type!=="newline"&&U.type!=="comma"&&(U.type!=="scalar"||U.source!==""))q(U.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");if(H&&(L&&H.indent<=Y||U?.type==="block-map"||U?.type==="block-seq"))q(H,"TAB_AS_INDENT","Tabs are not allowed as indentation");return{comma:P,found:D,spaceBefore:$,comment:G,hasNewline:F,anchor:B,tag:K,newlineAfterProp:T,end:v,start:S??v}}KB.resolveProps=PB});var n9=C((DB)=>{function _3(Z){if(!Z)return null;switch(Z.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(Z.source.includes(`
|
|
108
|
+
`))return!0;if(Z.end){for(let X of Z.end)if(X.type==="newline")return!0}return!1;case"flow-collection":for(let X of Z.items){for(let Q of X.start)if(Q.type==="newline")return!0;if(X.sep){for(let Q of X.sep)if(Q.type==="newline")return!0}if(_3(X.key)||_3(X.value))return!0}return!1;default:return!0}}DB.containsNewline=_3});var V3=C((CB)=>{var AB=n9();function SB(Z,X,Q){if(X?.type==="flow-collection"){let U=X.end[0];if(U.indent===Z&&(U.source==="]"||U.source==="}")&&AB.containsNewline(X))Q(U,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}CB.flowIndentCheck=SB});var H3=C((EB)=>{var jq=l();function jB(Z,X,Q){let{uniqueKeys:U}=Z.options;if(U===!1)return!1;let J=typeof U==="function"?U:(q,Y)=>q===Y||jq.isScalar(q)&&jq.isScalar(Y)&&q.value===Y.value;return X.some((q)=>J(q.key,Q))}EB.mapIncludes=jB});var yq=C((gB)=>{var Eq=h1(),IB=u1(),bq=G4(),fB=n9(),Iq=V3(),yB=H3(),fq="All mapping items must start at the same column";function kB({composeNode:Z,composeEmptyNode:X},Q,U,J,q){let W=new(q?.nodeClass??IB.YAMLMap)(Q.schema);if(Q.atRoot)Q.atRoot=!1;let $=U.offset,L=null;for(let _ of U.items){let{start:G,key:V,sep:F,value:z}=_,H=bq.resolveProps(G,{indicator:"explicit-key-ind",next:V??F?.[0],offset:$,onError:J,parentIndent:U.indent,startOnNewline:!0}),B=!H.found;if(B){if(V){if(V.type==="block-seq")J($,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key");else if("indent"in V&&V.indent!==U.indent)J($,"BAD_INDENT",fq)}if(!H.anchor&&!H.tag&&!F){if(L=H.end,H.comment)if(W.comment)W.comment+=`
|
|
109
|
+
`+H.comment;else W.comment=H.comment;continue}if(H.newlineAfterProp||fB.containsNewline(V))J(V??G[G.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else if(H.found?.indent!==U.indent)J($,"BAD_INDENT",fq);Q.atKey=!0;let K=H.end,T=V?Z(Q,V,H,J):X(Q,K,G,null,H,J);if(Q.schema.compat)Iq.flowIndentCheck(U.indent,V,J);if(Q.atKey=!1,yB.mapIncludes(Q,W.items,T))J(K,"DUPLICATE_KEY","Map keys must be unique");let P=bq.resolveProps(F??[],{indicator:"map-value-ind",next:z,offset:T.range[2],onError:J,parentIndent:U.indent,startOnNewline:!V||V.type==="block-scalar"});if($=P.end,P.found){if(B){if(z?.type==="block-map"&&!P.hasNewline)J($,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings");if(Q.options.strict&&H.start<P.found.offset-1024)J(T.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key")}let D=z?Z(Q,z,P,J):X(Q,$,F,null,P,J);if(Q.schema.compat)Iq.flowIndentCheck(U.indent,z,J);$=D.range[2];let S=new Eq.Pair(T,D);if(Q.options.keepSourceTokens)S.srcToken=_;W.items.push(S)}else{if(B)J(T.range,"MISSING_CHAR","Implicit map keys need to be followed by map values");if(P.comment)if(T.comment)T.comment+=`
|
|
110
|
+
`+P.comment;else T.comment=P.comment;let D=new Eq.Pair(T);if(Q.options.keepSourceTokens)D.srcToken=_;W.items.push(D)}}if(L&&L<$)J(L,"IMPOSSIBLE","Map comment with trailing content");return W.range=[U.offset,$,L??$],W}gB.resolveBlockMap=kB});var kq=C((pB)=>{var xB=p1(),hB=G4(),mB=V3();function uB({composeNode:Z,composeEmptyNode:X},Q,U,J,q){let W=new(q?.nodeClass??xB.YAMLSeq)(Q.schema);if(Q.atRoot)Q.atRoot=!1;if(Q.atKey)Q.atKey=!1;let $=U.offset,L=null;for(let{start:_,value:G}of U.items){let V=hB.resolveProps(_,{indicator:"seq-item-ind",next:G,offset:$,onError:J,parentIndent:U.indent,startOnNewline:!0});if(!V.found)if(V.anchor||V.tag||G)if(G?.type==="block-seq")J(V.end,"BAD_INDENT","All sequence items must start at the same column");else J($,"MISSING_CHAR","Sequence item without - indicator");else{if(L=V.end,V.comment)W.comment=V.comment;continue}let F=G?Z(Q,G,V,J):X(Q,V.end,_,null,V,J);if(Q.schema.compat)mB.flowIndentCheck(U.indent,G,J);$=F.range[2],W.items.push(F)}return W.range=[U.offset,$,L??$],W}pB.resolveBlockSeq=uB});var o2=C((cB)=>{function dB(Z,X,Q,U){let J="";if(Z){let q=!1,Y="";for(let W of Z){let{source:$,type:L}=W;switch(L){case"space":q=!0;break;case"comment":{if(Q&&!q)U(W,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let _=$.substring(1)||" ";if(!J)J=_;else J+=Y+_;Y="";break}case"newline":if(J)Y+=$;q=!0;break;default:U(W,"UNEXPECTED_TOKEN",`Unexpected ${L} at node end`)}X+=$.length}}return{comment:J,offset:X}}cB.resolveEnd=dB});var xq=C((ZM)=>{var sB=l(),aB=h1(),gq=u1(),rB=p1(),oB=o2(),vq=G4(),nB=n9(),tB=H3(),F3="Block collections are not allowed within flow collections",z3=(Z)=>Z&&(Z.type==="block-map"||Z.type==="block-seq");function eB({composeNode:Z,composeEmptyNode:X},Q,U,J,q){let Y=U.start.source==="{",W=Y?"flow map":"flow sequence",L=new(q?.nodeClass??(Y?gq.YAMLMap:rB.YAMLSeq))(Q.schema);L.flow=!0;let _=Q.atRoot;if(_)Q.atRoot=!1;if(Q.atKey)Q.atKey=!1;let G=U.offset+U.start.source.length;for(let B=0;B<U.items.length;++B){let K=U.items[B],{start:T,key:P,sep:D,value:S}=K,j=vq.resolveProps(T,{flow:W,indicator:"explicit-key-ind",next:P??D?.[0],offset:G,onError:J,parentIndent:U.indent,startOnNewline:!1});if(!j.found){if(!j.anchor&&!j.tag&&!D&&!S){if(B===0&&j.comma)J(j.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${W}`);else if(B<U.items.length-1)J(j.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${W}`);if(j.comment)if(L.comment)L.comment+=`
|
|
111
|
+
`+j.comment;else L.comment=j.comment;G=j.end;continue}if(!Y&&Q.options.strict&&nB.containsNewline(P))J(P,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(B===0){if(j.comma)J(j.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${W}`)}else{if(!j.comma)J(j.start,"MISSING_CHAR",`Missing , between ${W} items`);if(j.comment){let v="";Z:for(let N of T)switch(N.type){case"comma":case"space":break;case"comment":v=N.source.substring(1);break Z;default:break Z}if(v){let N=L.items[L.items.length-1];if(sB.isPair(N))N=N.value??N.key;if(N.comment)N.comment+=`
|
|
112
|
+
`+v;else N.comment=v;j.comment=j.comment.substring(v.length+1)}}}if(!Y&&!D&&!j.found){let v=S?Z(Q,S,j,J):X(Q,j.end,D,null,j,J);if(L.items.push(v),G=v.range[2],z3(S))J(v.range,"BLOCK_IN_FLOW",F3)}else{Q.atKey=!0;let v=j.end,N=P?Z(Q,P,j,J):X(Q,v,T,null,j,J);if(z3(P))J(N.range,"BLOCK_IN_FLOW",F3);Q.atKey=!1;let x=vq.resolveProps(D??[],{flow:W,indicator:"map-value-ind",next:S,offset:N.range[2],onError:J,parentIndent:U.indent,startOnNewline:!1});if(x.found){if(!Y&&!j.found&&Q.options.strict){if(D)for(let a of D){if(a===x.found)break;if(a.type==="newline"){J(a,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}if(j.start<x.found.offset-1024)J(x.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else if(S)if("source"in S&&S.source?.[0]===":")J(S,"MISSING_CHAR",`Missing space after : in ${W}`);else J(x.start,"MISSING_CHAR",`Missing , or : between ${W} items`);let s=S?Z(Q,S,x,J):x.found?X(Q,x.end,D,null,x,J):null;if(s){if(z3(S))J(s.range,"BLOCK_IN_FLOW",F3)}else if(x.comment)if(N.comment)N.comment+=`
|
|
113
|
+
`+x.comment;else N.comment=x.comment;let Q0=new aB.Pair(N,s);if(Q.options.keepSourceTokens)Q0.srcToken=K;if(Y){let a=L;if(tB.mapIncludes(Q,a.items,N))J(v,"DUPLICATE_KEY","Map keys must be unique");a.items.push(Q0)}else{let a=new gq.YAMLMap(Q.schema);a.flow=!0,a.items.push(Q0);let V0=(s??N).range;a.range=[N.range[0],V0[1],V0[2]],L.items.push(a)}G=s?s.range[2]:x.end}}let V=Y?"}":"]",[F,...z]=U.end,H=G;if(F?.source===V)H=F.offset+F.source.length;else{let B=W[0].toUpperCase()+W.substring(1),K=_?`${B} must end with a ${V}`:`${B} in block collection must be sufficiently indented and end with a ${V}`;if(J(G,_?"MISSING_CHAR":"BAD_INDENT",K),F&&F.source.length!==1)z.unshift(F)}if(z.length>0){let B=oB.resolveEnd(z,H,Q.options.strict,J);if(B.comment)if(L.comment)L.comment+=`
|
|
114
|
+
`+B.comment;else L.comment=B.comment;L.range=[U.offset,H,B.offset]}else L.range=[U.offset,H,H];return L}ZM.resolveFlowCollection=eB});var hq=C((GM)=>{var QM=l(),UM=W0(),JM=u1(),qM=p1(),YM=yq(),WM=kq(),$M=xq();function B3(Z,X,Q,U,J,q){let Y=Q.type==="block-map"?YM.resolveBlockMap(Z,X,Q,U,q):Q.type==="block-seq"?WM.resolveBlockSeq(Z,X,Q,U,q):$M.resolveFlowCollection(Z,X,Q,U,q),W=Y.constructor;if(J==="!"||J===W.tagName)return Y.tag=W.tagName,Y;if(J)Y.tag=J;return Y}function LM(Z,X,Q,U,J){let q=U.tag,Y=!q?null:X.directives.tagName(q.source,(V)=>J(q,"TAG_RESOLVE_FAILED",V));if(Q.type==="block-seq"){let{anchor:V,newlineAfterProp:F}=U,z=V&&q?V.offset>q.offset?V:q:V??q;if(z&&(!F||F.offset<z.offset))J(z,"MISSING_CHAR","Missing newline after block sequence props")}let W=Q.type==="block-map"?"map":Q.type==="block-seq"?"seq":Q.start.source==="{"?"map":"seq";if(!q||!Y||Y==="!"||Y===JM.YAMLMap.tagName&&W==="map"||Y===qM.YAMLSeq.tagName&&W==="seq")return B3(Z,X,Q,J,Y);let $=X.schema.tags.find((V)=>V.tag===Y&&V.collection===W);if(!$){let V=X.schema.knownTags[Y];if(V?.collection===W)X.schema.tags.push(Object.assign({},V,{default:!1})),$=V;else{if(V)J(q,"BAD_COLLECTION_TYPE",`${V.tag} used for ${W} collection, but expects ${V.collection??"scalar"}`,!0);else J(q,"TAG_RESOLVE_FAILED",`Unresolved tag: ${Y}`,!0);return B3(Z,X,Q,J,Y)}}let L=B3(Z,X,Q,J,Y,$),_=$.resolve?.(L,(V)=>J(q,"TAG_RESOLVE_FAILED",V),X.options)??L,G=QM.isNode(_)?_:new UM.Scalar(_);if(G.range=L.range,G.tag=Y,$?.format)G.format=$.format;return G}GM.composeCollection=LM});var O3=C((zM)=>{var M3=W0();function VM(Z,X,Q){let U=X.offset,J=HM(X,Z.options.strict,Q);if(!J)return{value:"",type:null,comment:"",range:[U,U,U]};let q=J.mode===">"?M3.Scalar.BLOCK_FOLDED:M3.Scalar.BLOCK_LITERAL,Y=X.source?FM(X.source):[],W=Y.length;for(let H=Y.length-1;H>=0;--H){let B=Y[H][1];if(B===""||B==="\r")W=H;else break}if(W===0){let H=J.chomp==="+"&&Y.length>0?`
|
|
115
|
+
`.repeat(Math.max(1,Y.length-1)):"",B=U+J.length;if(X.source)B+=X.source.length;return{value:H,type:q,comment:J.comment,range:[U,B,B]}}let $=X.indent+J.indent,L=X.offset+J.length,_=0;for(let H=0;H<W;++H){let[B,K]=Y[H];if(K===""||K==="\r"){if(J.indent===0&&B.length>$)$=B.length}else{if(B.length<$)Q(L+B.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator");if(J.indent===0)$=B.length;if(_=H,$===0&&!Z.atRoot)Q(L,"BAD_INDENT","Block scalar values in collections must be indented");break}L+=B.length+K.length+1}for(let H=Y.length-1;H>=W;--H)if(Y[H][0].length>$)W=H+1;let G="",V="",F=!1;for(let H=0;H<_;++H)G+=Y[H][0].slice($)+`
|
|
116
|
+
`;for(let H=_;H<W;++H){let[B,K]=Y[H];L+=B.length+K.length+1;let T=K[K.length-1]==="\r";if(T)K=K.slice(0,-1);if(K&&B.length<$){let D=`Block scalar lines must not be less indented than their ${J.indent?"explicit indentation indicator":"first line"}`;Q(L-K.length-(T?2:1),"BAD_INDENT",D),B=""}if(q===M3.Scalar.BLOCK_LITERAL)G+=V+B.slice($)+K,V=`
|
|
117
|
+
`;else if(B.length>$||K[0]==="\t"){if(V===" ")V=`
|
|
118
|
+
`;else if(!F&&V===`
|
|
119
|
+
`)V=`
|
|
75
120
|
|
|
76
|
-
`;
|
|
77
|
-
`,
|
|
78
|
-
`)
|
|
79
|
-
`;else
|
|
80
|
-
`;else
|
|
81
|
-
`+Y[
|
|
82
|
-
`)
|
|
83
|
-
`;break;default:
|
|
84
|
-
`}let
|
|
85
|
-
`,"sy"),
|
|
86
|
-
`,"sy")}catch{X=/(.*?)[ \t]*\r?\n/sy,
|
|
87
|
-
`)
|
|
88
|
-
`;else
|
|
89
|
-
`)continue;if(
|
|
90
|
-
`){let{fold:
|
|
91
|
-
`){
|
|
92
|
-
`){
|
|
93
|
-
`&&!(Y==="\r"&&U
|
|
94
|
-
`))
|
|
95
|
-
`||
|
|
96
|
-
`)break;if(
|
|
97
|
-
`)
|
|
98
|
-
`;X+=1,Z
|
|
99
|
-
`,r:"\r",t:"\t",v:"\v",N:"
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function
|
|
121
|
+
`;G+=V+B.slice($)+K,V=`
|
|
122
|
+
`,F=!0}else if(K==="")if(V===`
|
|
123
|
+
`)G+=`
|
|
124
|
+
`;else V=`
|
|
125
|
+
`;else G+=V+K,V=" ",F=!1}switch(J.chomp){case"-":break;case"+":for(let H=W;H<Y.length;++H)G+=`
|
|
126
|
+
`+Y[H][0].slice($);if(G[G.length-1]!==`
|
|
127
|
+
`)G+=`
|
|
128
|
+
`;break;default:G+=`
|
|
129
|
+
`}let z=U+J.length+X.source.length;return{value:G,type:q,comment:J.comment,range:[U,z,z]}}function HM({offset:Z,props:X},Q,U){if(X[0].type!=="block-scalar-header")return U(X[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:J}=X[0],q=J[0],Y=0,W="",$=-1;for(let V=1;V<J.length;++V){let F=J[V];if(!W&&(F==="-"||F==="+"))W=F;else{let z=Number(F);if(!Y&&z)Y=z;else if($===-1)$=Z+V}}if($!==-1)U($,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${J}`);let L=!1,_="",G=J.length;for(let V=1;V<X.length;++V){let F=X[V];switch(F.type){case"space":L=!0;case"newline":G+=F.source.length;break;case"comment":if(Q&&!L)U(F,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");G+=F.source.length,_=F.source.substring(1);break;case"error":U(F,"UNEXPECTED_TOKEN",F.message),G+=F.source.length;break;default:{let z=`Unexpected token in block scalar header: ${F.type}`;U(F,"UNEXPECTED_TOKEN",z);let H=F.source;if(H&&typeof H==="string")G+=H.length}}}return{mode:q,indent:Y,chomp:W,comment:_,length:G}}function FM(Z){let X=Z.split(/\n( *)/),Q=X[0],U=Q.match(/^( *)/),q=[U?.[1]?[U[1],Q.slice(U[1].length)]:["",Q]];for(let Y=1;Y<X.length;Y+=2)q.push([X[Y],X[Y+1]]);return q}zM.resolveBlockScalar=VM});var P3=C((AM)=>{var R3=W0(),MM=o2();function OM(Z,X,Q){let{offset:U,type:J,source:q,end:Y}=Z,W,$,L=(V,F,z)=>Q(U+V,F,z);switch(J){case"scalar":W=R3.Scalar.PLAIN,$=RM(q,L);break;case"single-quoted-scalar":W=R3.Scalar.QUOTE_SINGLE,$=PM(q,L);break;case"double-quoted-scalar":W=R3.Scalar.QUOTE_DOUBLE,$=KM(q,L);break;default:return Q(Z,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${J}`),{value:"",type:null,comment:"",range:[U,U+q.length,U+q.length]}}let _=U+q.length,G=MM.resolveEnd(Y,_,X,Q);return{value:$,type:W,comment:G.comment,range:[U,_,G.offset]}}function RM(Z,X){let Q="";switch(Z[0]){case"\t":Q="a tab character";break;case",":Q="flow indicator character ,";break;case"%":Q="directive indicator character %";break;case"|":case">":{Q=`block scalar indicator ${Z[0]}`;break}case"@":case"`":{Q=`reserved character ${Z[0]}`;break}}if(Q)X(0,"BAD_SCALAR_START",`Plain value cannot start with ${Q}`);return mq(Z)}function PM(Z,X){if(Z[Z.length-1]!=="'"||Z.length===1)X(Z.length,"MISSING_CHAR","Missing closing 'quote");return mq(Z.slice(1,-1)).replace(/''/g,"'")}function mq(Z){let X,Q;try{X=new RegExp(`(.*?)(?<![ ])[ ]*\r?
|
|
130
|
+
`,"sy"),Q=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
|
|
131
|
+
`,"sy")}catch{X=/(.*?)[ \t]*\r?\n/sy,Q=/[ \t]*(.*?)[ \t]*\r?\n/sy}let U=X.exec(Z);if(!U)return Z;let J=U[1],q=" ",Y=X.lastIndex;Q.lastIndex=Y;while(U=Q.exec(Z)){if(U[1]==="")if(q===`
|
|
132
|
+
`)J+=q;else q=`
|
|
133
|
+
`;else J+=q+U[1],q=" ";Y=Q.lastIndex}let W=/[ \t]*(.*)/sy;return W.lastIndex=Y,U=W.exec(Z),J+q+(U?.[1]??"")}function KM(Z,X){let Q="";for(let U=1;U<Z.length-1;++U){let J=Z[U];if(J==="\r"&&Z[U+1]===`
|
|
134
|
+
`)continue;if(J===`
|
|
135
|
+
`){let{fold:q,offset:Y}=TM(Z,U);Q+=q,U=Y}else if(J==="\\"){let q=Z[++U],Y=DM[q];if(Y)Q+=Y;else if(q===`
|
|
136
|
+
`){q=Z[U+1];while(q===" "||q==="\t")q=Z[++U+1]}else if(q==="\r"&&Z[U+1]===`
|
|
137
|
+
`){q=Z[++U+1];while(q===" "||q==="\t")q=Z[++U+1]}else if(q==="x"||q==="u"||q==="U"){let W={x:2,u:4,U:8}[q];Q+=wM(Z,U+1,W,X),U+=W}else{let W=Z.substr(U-1,2);X(U-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${W}`),Q+=W}}else if(J===" "||J==="\t"){let q=U,Y=Z[U+1];while(Y===" "||Y==="\t")Y=Z[++U+1];if(Y!==`
|
|
138
|
+
`&&!(Y==="\r"&&Z[U+2]===`
|
|
139
|
+
`))Q+=U>q?Z.slice(q,U+1):J}else Q+=J}if(Z[Z.length-1]!=='"'||Z.length===1)X(Z.length,"MISSING_CHAR",'Missing closing "quote');return Q}function TM(Z,X){let Q="",U=Z[X+1];while(U===" "||U==="\t"||U===`
|
|
140
|
+
`||U==="\r"){if(U==="\r"&&Z[X+2]!==`
|
|
141
|
+
`)break;if(U===`
|
|
142
|
+
`)Q+=`
|
|
143
|
+
`;X+=1,U=Z[X+1]}if(!Q)Q=" ";return{fold:Q,offset:X}}var DM={"0":"\x00",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
|
|
144
|
+
`,r:"\r",t:"\t",v:"\v",N:"
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function wM(Z,X,Q,U){let J=Z.substr(X,Q),Y=J.length===Q&&/^[0-9a-fA-F]+$/.test(J)?parseInt(J,16):NaN;if(isNaN(Y)){let W=Z.substr(X-2,Q+2);return U(X-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${W}`),W}return String.fromCodePoint(Y)}AM.resolveFlowScalar=OM});var pq=C((IM)=>{var $2=l(),uq=W0(),CM=O3(),NM=P3();function jM(Z,X,Q,U){let{value:J,type:q,comment:Y,range:W}=X.type==="block-scalar"?CM.resolveBlockScalar(Z,X,U):NM.resolveFlowScalar(X,Z.options.strict,U),$=Q?Z.directives.tagName(Q.source,(G)=>U(Q,"TAG_RESOLVE_FAILED",G)):null,L;if(Z.options.stringKeys&&Z.atKey)L=Z.schema[$2.SCALAR];else if($)L=EM(Z.schema,J,$,Q,U);else if(X.type==="scalar")L=bM(Z,J,X,U);else L=Z.schema[$2.SCALAR];let _;try{let G=L.resolve(J,(V)=>U(Q??X,"TAG_RESOLVE_FAILED",V),Z.options);_=$2.isScalar(G)?G:new uq.Scalar(G)}catch(G){let V=G instanceof Error?G.message:String(G);U(Q??X,"TAG_RESOLVE_FAILED",V),_=new uq.Scalar(J)}if(_.range=W,_.source=J,q)_.type=q;if($)_.tag=$;if(L.format)_.format=L.format;if(Y)_.comment=Y;return _}function EM(Z,X,Q,U,J){if(Q==="!")return Z[$2.SCALAR];let q=[];for(let W of Z.tags)if(!W.collection&&W.tag===Q)if(W.default&&W.test)q.push(W);else return W;for(let W of q)if(W.test?.test(X))return W;let Y=Z.knownTags[Q];if(Y&&!Y.collection)return Z.tags.push(Object.assign({},Y,{default:!1,test:void 0})),Y;return J(U,"TAG_RESOLVE_FAILED",`Unresolved tag: ${Q}`,Q!=="tag:yaml.org,2002:str"),Z[$2.SCALAR]}function bM({atKey:Z,directives:X,schema:Q},U,J,q){let Y=Q.tags.find((W)=>(W.default===!0||Z&&W.default==="key")&&W.test?.test(U))||Q[$2.SCALAR];if(Q.compat){let W=Q.compat.find(($)=>$.default&&$.test?.test(U))??Q[$2.SCALAR];if(Y.tag!==W.tag){let $=X.tagString(Y.tag),L=X.tagString(W.tag),_=`Value may be parsed as either ${$} or ${L}`;q(J,"TAG_RESOLVE_FAILED",_,!0)}}return Y}IM.composeScalar=jM});var lq=C((kM)=>{function yM(Z,X,Q){if(X){Q??(Q=X.length);for(let U=Q-1;U>=0;--U){let J=X[U];switch(J.type){case"space":case"comment":case"newline":Z-=J.source.length;continue}J=X[++U];while(J?.type==="space")Z+=J.source.length,J=X[++U];break}}return Z}kM.emptyScalarPosition=yM});var iq=C((dM)=>{var vM=s6(),xM=l(),hM=hq(),dq=pq(),mM=o2(),uM=lq(),pM={composeNode:cq,composeEmptyNode:K3};function cq(Z,X,Q,U){let J=Z.atKey,{spaceBefore:q,comment:Y,anchor:W,tag:$}=Q,L,_=!0;switch(X.type){case"alias":if(L=lM(Z,X,U),W||$)U(X,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":if(L=dq.composeScalar(Z,X,$,U),W)L.anchor=W.source.substring(1);break;case"block-map":case"block-seq":case"flow-collection":if(L=hM.composeCollection(pM,Z,X,Q,U),W)L.anchor=W.source.substring(1);break;default:{let G=X.type==="error"?X.message:`Unsupported token (type: ${X.type})`;U(X,"UNEXPECTED_TOKEN",G),L=K3(Z,X.offset,void 0,null,Q,U),_=!1}}if(W&&L.anchor==="")U(W,"BAD_ALIAS","Anchor cannot be an empty string");if(J&&Z.options.stringKeys&&(!xM.isScalar(L)||typeof L.value!=="string"||L.tag&&L.tag!=="tag:yaml.org,2002:str"))U($??X,"NON_STRING_KEY","With stringKeys, all keys must be strings");if(q)L.spaceBefore=!0;if(Y)if(X.type==="scalar"&&X.source==="")L.comment=Y;else L.commentBefore=Y;if(Z.options.keepSourceTokens&&_)L.srcToken=X;return L}function K3(Z,X,Q,U,{spaceBefore:J,comment:q,anchor:Y,tag:W,end:$},L){let _={type:"scalar",offset:uM.emptyScalarPosition(X,Q,U),indent:-1,source:""},G=dq.composeScalar(Z,_,W,L);if(Y){if(G.anchor=Y.source.substring(1),G.anchor==="")L(Y,"BAD_ALIAS","Anchor cannot be an empty string")}if(J)G.spaceBefore=!0;if(q)G.comment=q,G.range[2]=$;return G}function lM({options:Z},{offset:X,source:Q,end:U},J){let q=new vM.Alias(Q.substring(1));if(q.source==="")J(X,"BAD_ALIAS","Alias cannot be an empty string");if(q.source.endsWith(":"))J(X+Q.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let Y=X+Q.length,W=mM.resolveEnd(U,Y,Z.strict,J);if(q.range=[X,Y,W.offset],W.comment)q.comment=W.comment;return q}dM.composeEmptyNode=K3;dM.composeNode=cq});var aq=C((nM)=>{var sM=$4(),sq=iq(),aM=o2(),rM=G4();function oM(Z,X,{offset:Q,start:U,value:J,end:q},Y){let W=Object.assign({_directives:X},Z),$=new sM.Document(void 0,W),L={atKey:!1,atRoot:!0,directives:$.directives,options:$.options,schema:$.schema},_=rM.resolveProps(U,{indicator:"doc-start",next:J??q?.[0],offset:Q,onError:Y,parentIndent:0,startOnNewline:!0});if(_.found){if($.directives.docStart=!0,J&&(J.type==="block-map"||J.type==="block-seq")&&!_.hasNewline)Y(_.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")}$.contents=J?sq.composeNode(L,J,_,Y):sq.composeEmptyNode(L,_.end,U,null,_,Y);let G=$.contents.range[2],V=aM.resolveEnd(q,G,!1,Y);if(V.comment)$.comment=V.comment;return $.range=[Q,G,V.offset],$}nM.composeDoc=oM});var T3=C((JO)=>{var eM=_2("process"),ZO=SX(),XO=$4(),_4=L4(),rq=l(),QO=aq(),UO=o2();function V4(Z){if(typeof Z==="number")return[Z,Z+1];if(Array.isArray(Z))return Z.length===2?Z:[Z[0],Z[1]];let{offset:X,source:Q}=Z;return[X,X+(typeof Q==="string"?Q.length:1)]}function oq(Z){let X="",Q=!1,U=!1;for(let J=0;J<Z.length;++J){let q=Z[J];switch(q[0]){case"#":X+=(X===""?"":U?`
|
|
100
145
|
|
|
101
146
|
`:`
|
|
102
|
-
`)+(
|
|
103
|
-
${
|
|
104
|
-
${Y}`:
|
|
105
|
-
${
|
|
106
|
-
${X.comment}`:X.comment}this.doc.range[2]=X.offset;break}default:this.errors.push(new
|
|
107
|
-
`}];switch(
|
|
108
|
-
`)
|
|
109
|
-
`,
|
|
110
|
-
`});return{type:"block-scalar",offset:
|
|
111
|
-
`),
|
|
112
|
-
`;if(
|
|
113
|
-
`});for(let
|
|
114
|
-
`};delete
|
|
147
|
+
`)+(q.substring(1)||" "),Q=!0,U=!1;break;case"%":if(Z[J+1]?.[0]!=="#")J+=1;Q=!1;break;default:if(!Q)U=!0;Q=!1}}return{comment:X,afterEmptyLine:U}}class nq{constructor(Z={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(X,Q,U,J)=>{let q=V4(X);if(J)this.warnings.push(new _4.YAMLWarning(q,Q,U));else this.errors.push(new _4.YAMLParseError(q,Q,U))},this.directives=new ZO.Directives({version:Z.version||"1.2"}),this.options=Z}decorate(Z,X){let{comment:Q,afterEmptyLine:U}=oq(this.prelude);if(Q){let J=Z.contents;if(X)Z.comment=Z.comment?`${Z.comment}
|
|
148
|
+
${Q}`:Q;else if(U||Z.directives.docStart||!J)Z.commentBefore=Q;else if(rq.isCollection(J)&&!J.flow&&J.items.length>0){let q=J.items[0];if(rq.isPair(q))q=q.key;let Y=q.commentBefore;q.commentBefore=Y?`${Q}
|
|
149
|
+
${Y}`:Q}else{let q=J.commentBefore;J.commentBefore=q?`${Q}
|
|
150
|
+
${q}`:Q}}if(X)Array.prototype.push.apply(Z.errors,this.errors),Array.prototype.push.apply(Z.warnings,this.warnings);else Z.errors=this.errors,Z.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:oq(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(Z,X=!1,Q=-1){for(let U of Z)yield*this.next(U);yield*this.end(X,Q)}*next(Z){if(eM.env.LOG_STREAM)console.dir(Z,{depth:null});switch(Z.type){case"directive":this.directives.add(Z.source,(X,Q,U)=>{let J=V4(Z);J[0]+=X,this.onError(J,"BAD_DIRECTIVE",Q,U)}),this.prelude.push(Z.source),this.atDirectives=!0;break;case"document":{let X=QO.composeDoc(this.options,this.directives,Z,this.onError);if(this.atDirectives&&!X.directives.docStart)this.onError(Z,"MISSING_CHAR","Missing directives-end/doc-start indicator line");if(this.decorate(X,!1),this.doc)yield this.doc;this.doc=X,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(Z.source);break;case"error":{let X=Z.source?`${Z.message}: ${JSON.stringify(Z.source)}`:Z.message,Q=new _4.YAMLParseError(V4(Z),"UNEXPECTED_TOKEN",X);if(this.atDirectives||!this.doc)this.errors.push(Q);else this.doc.errors.push(Q);break}case"doc-end":{if(!this.doc){this.errors.push(new _4.YAMLParseError(V4(Z),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let X=UO.resolveEnd(Z.end,Z.offset+Z.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),X.comment){let Q=this.doc.comment;this.doc.comment=Q?`${Q}
|
|
151
|
+
${X.comment}`:X.comment}this.doc.range[2]=X.offset;break}default:this.errors.push(new _4.YAMLParseError(V4(Z),"UNEXPECTED_TOKEN",`Unsupported token ${Z.type}`))}}*end(Z=!1,X=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(Z){let Q=Object.assign({_directives:this.directives},this.options),U=new XO.Document(void 0,Q);if(this.atDirectives)this.onError(X,"MISSING_CHAR","Missing directives-end indicator line");U.range=[0,X,X],this.decorate(U,!1),yield U}}}JO.Composer=nq});var ZY=C((HO)=>{var YO=O3(),WO=P3(),$O=L4(),tq=n6();function LO(Z,X=!0,Q){if(Z){let U=(J,q,Y)=>{let W=typeof J==="number"?J:Array.isArray(J)?J[0]:J.offset;if(Q)Q(W,q,Y);else throw new $O.YAMLParseError([W,W+1],q,Y)};switch(Z.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return WO.resolveFlowScalar(Z,X,U);case"block-scalar":return YO.resolveBlockScalar({options:{strict:X}},Z,U)}}return null}function GO(Z,X){let{implicitKey:Q=!1,indent:U,inFlow:J=!1,offset:q=-1,type:Y="PLAIN"}=X,W=tq.stringifyString({type:Y,value:Z},{implicitKey:Q,indent:U>0?" ".repeat(U):"",inFlow:J,options:{blockQuote:!0,lineWidth:-1}}),$=X.end??[{type:"newline",offset:-1,indent:U,source:`
|
|
152
|
+
`}];switch(W[0]){case"|":case">":{let L=W.indexOf(`
|
|
153
|
+
`),_=W.substring(0,L),G=W.substring(L+1)+`
|
|
154
|
+
`,V=[{type:"block-scalar-header",offset:q,indent:U,source:_}];if(!eq(V,$))V.push({type:"newline",offset:-1,indent:U,source:`
|
|
155
|
+
`});return{type:"block-scalar",offset:q,indent:U,props:V,source:G}}case'"':return{type:"double-quoted-scalar",offset:q,indent:U,source:W,end:$};case"'":return{type:"single-quoted-scalar",offset:q,indent:U,source:W,end:$};default:return{type:"scalar",offset:q,indent:U,source:W,end:$}}}function _O(Z,X,Q={}){let{afterKey:U=!1,implicitKey:J=!1,inFlow:q=!1,type:Y}=Q,W="indent"in Z?Z.indent:null;if(U&&typeof W==="number")W+=2;if(!Y)switch(Z.type){case"single-quoted-scalar":Y="QUOTE_SINGLE";break;case"double-quoted-scalar":Y="QUOTE_DOUBLE";break;case"block-scalar":{let L=Z.props[0];if(L.type!=="block-scalar-header")throw Error("Invalid block scalar header");Y=L.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:Y="PLAIN"}let $=tq.stringifyString({type:Y,value:X},{implicitKey:J||W===null,indent:W!==null&&W>0?" ".repeat(W):"",inFlow:q,options:{blockQuote:!0,lineWidth:-1}});switch($[0]){case"|":case">":VO(Z,$);break;case'"':D3(Z,$,"double-quoted-scalar");break;case"'":D3(Z,$,"single-quoted-scalar");break;default:D3(Z,$,"scalar")}}function VO(Z,X){let Q=X.indexOf(`
|
|
156
|
+
`),U=X.substring(0,Q),J=X.substring(Q+1)+`
|
|
157
|
+
`;if(Z.type==="block-scalar"){let q=Z.props[0];if(q.type!=="block-scalar-header")throw Error("Invalid block scalar header");q.source=U,Z.source=J}else{let{offset:q}=Z,Y="indent"in Z?Z.indent:-1,W=[{type:"block-scalar-header",offset:q,indent:Y,source:U}];if(!eq(W,"end"in Z?Z.end:void 0))W.push({type:"newline",offset:-1,indent:Y,source:`
|
|
158
|
+
`});for(let $ of Object.keys(Z))if($!=="type"&&$!=="offset")delete Z[$];Object.assign(Z,{type:"block-scalar",indent:Y,props:W,source:J})}}function eq(Z,X){if(X)for(let Q of X)switch(Q.type){case"space":case"comment":Z.push(Q);break;case"newline":return Z.push(Q),!0}return!1}function D3(Z,X,Q){switch(Z.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":Z.type=Q,Z.source=X;break;case"block-scalar":{let U=Z.props.slice(1),J=X.length;if(Z.props[0].type==="block-scalar-header")J-=Z.props[0].source.length;for(let q of U)q.offset+=J;delete Z.props,Object.assign(Z,{type:Q,source:X,end:U});break}case"block-map":case"block-seq":{let J={type:"newline",offset:Z.offset+X.length,indent:Z.indent,source:`
|
|
159
|
+
`};delete Z.items,Object.assign(Z,{type:Q,source:X,end:[J]});break}default:{let U="indent"in Z?Z.indent:-1,J="end"in Z&&Array.isArray(Z.end)?Z.end.filter((q)=>q.type==="space"||q.type==="comment"||q.type==="newline"):[];for(let q of Object.keys(Z))if(q!=="type"&&q!=="offset")delete Z[q];Object.assign(Z,{type:Q,indent:U,source:X,end:J})}}}HO.createScalarToken=GO;HO.resolveAsScalar=LO;HO.setScalarValue=_O});var XY=C((OO)=>{var MO=(Z)=>("type"in Z)?e9(Z):t9(Z);function e9(Z){switch(Z.type){case"block-scalar":{let X="";for(let Q of Z.props)X+=e9(Q);return X+Z.source}case"block-map":case"block-seq":{let X="";for(let Q of Z.items)X+=t9(Q);return X}case"flow-collection":{let X=Z.start.source;for(let Q of Z.items)X+=t9(Q);for(let Q of Z.end)X+=Q.source;return X}case"document":{let X=t9(Z);if(Z.end)for(let Q of Z.end)X+=Q.source;return X}default:{let X=Z.source;if("end"in Z&&Z.end)for(let Q of Z.end)X+=Q.source;return X}}}function t9({start:Z,key:X,sep:Q,value:U}){let J="";for(let q of Z)J+=q.source;if(X)J+=e9(X);if(Q)for(let q of Q)J+=q.source;if(U)J+=e9(U);return J}OO.stringify=MO});var JY=C((KO)=>{var w3=Symbol("break visit"),PO=Symbol("skip children"),QY=Symbol("remove item");function L2(Z,X){if("type"in Z&&Z.type==="document")Z={start:Z.start,value:Z.value};UY(Object.freeze([]),Z,X)}L2.BREAK=w3;L2.SKIP=PO;L2.REMOVE=QY;L2.itemAtPath=(Z,X)=>{let Q=Z;for(let[U,J]of X){let q=Q?.[U];if(q&&"items"in q)Q=q.items[J];else return}return Q};L2.parentCollection=(Z,X)=>{let Q=L2.itemAtPath(Z,X.slice(0,-1)),U=X[X.length-1][0],J=Q?.[U];if(J&&"items"in J)return J;throw Error("Parent collection not found")};function UY(Z,X,Q){let U=Q(X,Z);if(typeof U==="symbol")return U;for(let J of["key","value"]){let q=X[J];if(q&&"items"in q){for(let Y=0;Y<q.items.length;++Y){let W=UY(Object.freeze(Z.concat([[J,Y]])),q.items[Y],Q);if(typeof W==="number")Y=W-1;else if(W===w3)return w3;else if(W===QY)q.items.splice(Y,1),Y-=1}if(typeof U==="function"&&J==="key")U=U(X,Z)}}return typeof U==="function"?U(X,Z):U}KO.visit=L2});var ZZ=C((jO)=>{var A3=ZY(),DO=XY(),wO=JY(),S3="\uFEFF",C3="\x02",N3="\x18",j3="\x1F",AO=(Z)=>!!Z&&("items"in Z),SO=(Z)=>!!Z&&(Z.type==="scalar"||Z.type==="single-quoted-scalar"||Z.type==="double-quoted-scalar"||Z.type==="block-scalar");function CO(Z){switch(Z){case S3:return"<BOM>";case C3:return"<DOC>";case N3:return"<FLOW_END>";case j3:return"<SCALAR>";default:return JSON.stringify(Z)}}function NO(Z){switch(Z){case S3:return"byte-order-mark";case C3:return"doc-mode";case N3:return"flow-error-end";case j3:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
|
|
115
160
|
`: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(
|
|
117
|
-
`:case"\r":case"\t":return!0;default:return!1}}var
|
|
118
|
-
\r `),
|
|
119
|
-
`)return!0;if(X==="\r")return this.buffer[
|
|
120
|
-
`;return!1}charAt(
|
|
121
|
-
`||!
|
|
122
|
-
`||
|
|
123
|
-
`,this.pos),this.lineEndPos=
|
|
124
|
-
`,this.pos);if(
|
|
125
|
-
`,
|
|
126
|
-
`:
|
|
127
|
-
`)break}default:break
|
|
128
|
-
`,
|
|
129
|
-
`)
|
|
130
|
-
`&&
|
|
131
|
-
`)
|
|
132
|
-
`,
|
|
133
|
-
`){let
|
|
134
|
-
`)return yield*this.pushCount(1);else if(
|
|
135
|
-
`)return yield*this.pushCount(2);else return 0}*pushSpaces(
|
|
161
|
+
`:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(Z[0]){case" ":case"\t":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}jO.createScalarToken=A3.createScalarToken;jO.resolveAsScalar=A3.resolveAsScalar;jO.setScalarValue=A3.setScalarValue;jO.stringify=DO.stringify;jO.visit=wO.visit;jO.BOM=S3;jO.DOCUMENT=C3;jO.FLOW_END=N3;jO.SCALAR=j3;jO.isCollection=AO;jO.isScalar=SO;jO.prettyToken=CO;jO.tokenType=NO});var b3=C((cO)=>{var H4=ZZ();function e0(Z){switch(Z){case void 0:case" ":case`
|
|
162
|
+
`:case"\r":case"\t":return!0;default:return!1}}var qY=new Set("0123456789ABCDEFabcdef"),lO=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),XZ=new Set(",[]{}"),dO=new Set(` ,[]{}
|
|
163
|
+
\r `),E3=(Z)=>!Z||dO.has(Z);class YY{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(Z,X=!1){if(Z){if(typeof Z!=="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+Z:Z,this.lineEndPos=null}this.atEnd=!X;let Q=this.next??"stream";while(Q&&(X||this.hasChars(1)))Q=yield*this.parseNext(Q)}atLineEnd(){let Z=this.pos,X=this.buffer[Z];while(X===" "||X==="\t")X=this.buffer[++Z];if(!X||X==="#"||X===`
|
|
164
|
+
`)return!0;if(X==="\r")return this.buffer[Z+1]===`
|
|
165
|
+
`;return!1}charAt(Z){return this.buffer[this.pos+Z]}continueScalar(Z){let X=this.buffer[Z];if(this.indentNext>0){let Q=0;while(X===" ")X=this.buffer[++Q+Z];if(X==="\r"){let U=this.buffer[Q+Z+1];if(U===`
|
|
166
|
+
`||!U&&!this.atEnd)return Z+Q+1}return X===`
|
|
167
|
+
`||Q>=this.indentNext||!X&&!this.atEnd?Z+Q:-1}if(X==="-"||X==="."){let Q=this.buffer.substr(Z,3);if((Q==="---"||Q==="...")&&e0(this.buffer[Z+3]))return-1}return Z}getLine(){let Z=this.lineEndPos;if(typeof Z!=="number"||Z!==-1&&Z<this.pos)Z=this.buffer.indexOf(`
|
|
168
|
+
`,this.pos),this.lineEndPos=Z;if(Z===-1)return this.atEnd?this.buffer.substring(this.pos):null;if(this.buffer[Z-1]==="\r")Z-=1;return this.buffer.substring(this.pos,Z)}hasChars(Z){return this.pos+Z<=this.buffer.length}setNext(Z){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=Z,null}peek(Z){return this.buffer.substr(this.pos,Z)}*parseNext(Z){switch(Z){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let Z=this.getLine();if(Z===null)return this.setNext("stream");if(Z[0]===H4.BOM)yield*this.pushCount(1),Z=Z.substring(1);if(Z[0]==="%"){let X=Z.length,Q=Z.indexOf("#");while(Q!==-1){let J=Z[Q-1];if(J===" "||J==="\t"){X=Q-1;break}else Q=Z.indexOf("#",Q+1)}while(!0){let J=Z[X-1];if(J===" "||J==="\t")X-=1;else break}let U=(yield*this.pushCount(X))+(yield*this.pushSpaces(!0));return yield*this.pushCount(Z.length-U),this.pushNewline(),"stream"}if(this.atLineEnd()){let X=yield*this.pushSpaces(!0);return yield*this.pushCount(Z.length-X),yield*this.pushNewline(),"stream"}return yield H4.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let Z=this.charAt(0);if(!Z&&!this.atEnd)return this.setNext("line-start");if(Z==="-"||Z==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let X=this.peek(3);if((X==="---"||X==="...")&&e0(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,X==="---"?"doc":"stream"}if(this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!e0(this.charAt(1)))this.indentNext=this.indentValue;return yield*this.parseBlockStart()}*parseBlockStart(){let[Z,X]=this.peek(2);if(!X&&!this.atEnd)return this.setNext("block-start");if((Z==="-"||Z==="?"||Z===":")&&e0(X)){let Q=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=Q,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let Z=this.getLine();if(Z===null)return this.setNext("doc");let X=yield*this.pushIndicators();switch(Z[X]){case"#":yield*this.pushCount(Z.length-X);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(E3),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return X+=yield*this.parseBlockScalarHeader(),X+=yield*this.pushSpaces(!0),yield*this.pushCount(Z.length-X),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let Z,X,Q=-1;do{if(Z=yield*this.pushNewline(),Z>0)X=yield*this.pushSpaces(!1),this.indentValue=Q=X;else X=0;X+=yield*this.pushSpaces(!0)}while(Z+X>0);let U=this.getLine();if(U===null)return this.setNext("flow");if(Q!==-1&&Q<this.indentNext&&U[0]!=="#"||Q===0&&(U.startsWith("---")||U.startsWith("..."))&&e0(U[3])){if(!(Q===this.indentNext-1&&this.flowLevel===1&&(U[0]==="]"||U[0]==="}")))return this.flowLevel=0,yield H4.FLOW_END,yield*this.parseLineStart()}let J=0;while(U[J]===",")J+=yield*this.pushCount(1),J+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(J+=yield*this.pushIndicators(),U[J]){case void 0:return"flow";case"#":return yield*this.pushCount(U.length-J),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(E3),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let q=this.charAt(1);if(this.flowKey||e0(q)||q===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let Z=this.charAt(0),X=this.buffer.indexOf(Z,this.pos+1);if(Z==="'")while(X!==-1&&this.buffer[X+1]==="'")X=this.buffer.indexOf("'",X+2);else while(X!==-1){let J=0;while(this.buffer[X-1-J]==="\\")J+=1;if(J%2===0)break;X=this.buffer.indexOf('"',X+1)}let Q=this.buffer.substring(0,X),U=Q.indexOf(`
|
|
169
|
+
`,this.pos);if(U!==-1){while(U!==-1){let J=this.continueScalar(U+1);if(J===-1)break;U=Q.indexOf(`
|
|
170
|
+
`,J)}if(U!==-1)X=U-(Q[U-1]==="\r"?2:1)}if(X===-1){if(!this.atEnd)return this.setNext("quoted-scalar");X=this.buffer.length}return yield*this.pushToIndex(X+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let Z=this.pos;while(!0){let X=this.buffer[++Z];if(X==="+")this.blockScalarKeep=!0;else if(X>"0"&&X<="9")this.blockScalarIndent=Number(X)-1;else if(X!=="-")break}return yield*this.pushUntil((X)=>e0(X)||X==="#")}*parseBlockScalar(){let Z=this.pos-1,X=0,Q;Z:for(let J=this.pos;Q=this.buffer[J];++J)switch(Q){case" ":X+=1;break;case`
|
|
171
|
+
`:Z=J,X=0;break;case"\r":{let q=this.buffer[J+1];if(!q&&!this.atEnd)return this.setNext("block-scalar");if(q===`
|
|
172
|
+
`)break}default:break Z}if(!Q&&!this.atEnd)return this.setNext("block-scalar");if(X>=this.indentNext){if(this.blockScalarIndent===-1)this.indentNext=X;else this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let J=this.continueScalar(Z+1);if(J===-1)break;Z=this.buffer.indexOf(`
|
|
173
|
+
`,J)}while(Z!==-1);if(Z===-1){if(!this.atEnd)return this.setNext("block-scalar");Z=this.buffer.length}}let U=Z+1;Q=this.buffer[U];while(Q===" ")Q=this.buffer[++U];if(Q==="\t"){while(Q==="\t"||Q===" "||Q==="\r"||Q===`
|
|
174
|
+
`)Q=this.buffer[++U];Z=U-1}else if(!this.blockScalarKeep)do{let J=Z-1,q=this.buffer[J];if(q==="\r")q=this.buffer[--J];let Y=J;while(q===" ")q=this.buffer[--J];if(q===`
|
|
175
|
+
`&&J>=this.pos&&J+1+X>Y)Z=J;else break}while(!0);return yield H4.SCALAR,yield*this.pushToIndex(Z+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let Z=this.flowLevel>0,X=this.pos-1,Q=this.pos-1,U;while(U=this.buffer[++Q])if(U===":"){let J=this.buffer[Q+1];if(e0(J)||Z&&XZ.has(J))break;X=Q}else if(e0(U)){let J=this.buffer[Q+1];if(U==="\r")if(J===`
|
|
176
|
+
`)Q+=1,U=`
|
|
177
|
+
`,J=this.buffer[Q+1];else X=Q;if(J==="#"||Z&&XZ.has(J))break;if(U===`
|
|
178
|
+
`){let q=this.continueScalar(Q+1);if(q===-1)break;Q=Math.max(Q,q-2)}}else{if(Z&&XZ.has(U))break;X=Q}if(!U&&!this.atEnd)return this.setNext("plain-scalar");return yield H4.SCALAR,yield*this.pushToIndex(X+1,!0),Z?"flow":"doc"}*pushCount(Z){if(Z>0)return yield this.buffer.substr(this.pos,Z),this.pos+=Z,Z;return 0}*pushToIndex(Z,X){let Q=this.buffer.slice(this.pos,Z);if(Q)return yield Q,this.pos+=Q.length,Q.length;else if(X)yield"";return 0}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(E3))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let Z=this.flowLevel>0,X=this.charAt(1);if(e0(X)||Z&&XZ.has(X)){if(!Z)this.indentNext=this.indentValue+1;else if(this.flowKey)this.flowKey=!1;return(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}}return 0}*pushTag(){if(this.charAt(1)==="<"){let Z=this.pos+2,X=this.buffer[Z];while(!e0(X)&&X!==">")X=this.buffer[++Z];return yield*this.pushToIndex(X===">"?Z+1:Z,!1)}else{let Z=this.pos+1,X=this.buffer[Z];while(X)if(lO.has(X))X=this.buffer[++Z];else if(X==="%"&&qY.has(this.buffer[Z+1])&&qY.has(this.buffer[Z+2]))X=this.buffer[Z+=3];else break;return yield*this.pushToIndex(Z,!1)}}*pushNewline(){let Z=this.buffer[this.pos];if(Z===`
|
|
179
|
+
`)return yield*this.pushCount(1);else if(Z==="\r"&&this.charAt(1)===`
|
|
180
|
+
`)return yield*this.pushCount(2);else return 0}*pushSpaces(Z){let X=this.pos-1,Q;do Q=this.buffer[++X];while(Q===" "||Z&&Q==="\t");let U=X-this.pos;if(U>0)yield this.buffer.substr(this.pos,U),this.pos=X;return U}*pushUntil(Z){let X=this.pos,Q=this.buffer[X];while(!Z(Q))Q=this.buffer[++X];return yield*this.pushToIndex(X,!1)}}cO.Lexer=YY});var I3=C((sO)=>{class WY{constructor(){this.lineStarts=[],this.addNewLine=(Z)=>this.lineStarts.push(Z),this.linePos=(Z)=>{let X=0,Q=this.lineStarts.length;while(X<Q){let J=X+Q>>1;if(this.lineStarts[J]<Z)X=J+1;else Q=J}if(this.lineStarts[X]===Z)return{line:X+1,col:1};if(X===0)return{line:0,col:Z};let U=this.lineStarts[X-1];return{line:X,col:Z-U+1}}}}sO.LineCounter=WY});var f3=C((nO)=>{var rO=_2("process"),$Y=ZZ(),oO=b3();function l1(Z,X){for(let Q=0;Q<Z.length;++Q)if(Z[Q].type===X)return!0;return!1}function LY(Z){for(let X=0;X<Z.length;++X)switch(Z[X].type){case"space":case"comment":case"newline":break;default:return X}return-1}function _Y(Z){switch(Z?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function QZ(Z){switch(Z.type){case"document":return Z.start;case"block-map":{let X=Z.items[Z.items.length-1];return X.sep??X.start}case"block-seq":return Z.items[Z.items.length-1].start;default:return[]}}function n2(Z){if(Z.length===0)return[];let X=Z.length;Z:while(--X>=0)switch(Z[X].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break Z}while(Z[++X]?.type==="space");return Z.splice(X,Z.length)}function GY(Z){if(Z.start.type==="flow-seq-start"){for(let X of Z.items)if(X.sep&&!X.value&&!l1(X.start,"explicit-key-ind")&&!l1(X.sep,"map-value-ind")){if(X.key)X.value=X.key;if(delete X.key,_Y(X.value))if(X.value.end)Array.prototype.push.apply(X.value.end,X.sep);else X.value.end=X.sep;else Array.prototype.push.apply(X.start,X.sep);delete X.sep}}}class VY{constructor(Z){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new oO.Lexer,this.onNewLine=Z}*parse(Z,X=!1){if(this.onNewLine&&this.offset===0)this.onNewLine(0);for(let Q of this.lexer.lex(Z,X))yield*this.next(Q);if(!X)yield*this.end()}*next(Z){if(this.source=Z,rO.env.LOG_TOKENS)console.log("|",$Y.prettyToken(Z));if(this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=Z.length;return}let X=$Y.tokenType(Z);if(!X){let Q=`Not a YAML token: ${Z}`;yield*this.pop({type:"error",offset:this.offset,message:Q,source:Z}),this.offset+=Z.length}else if(X==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=X,yield*this.step(),X){case"newline":if(this.atNewLine=!0,this.indent=0,this.onNewLine)this.onNewLine(this.offset+Z.length);break;case"space":if(this.atNewLine&&Z[0]===" ")this.indent+=Z.length;break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":if(this.atNewLine)this.indent+=Z.length;break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=Z.length}}*end(){while(this.stack.length>0)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let Z=this.peek(1);if(this.type==="doc-end"&&Z?.type!=="doc-end"){while(this.stack.length>0)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!Z)return yield*this.stream();switch(Z.type){case"document":return yield*this.document(Z);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(Z);case"block-scalar":return yield*this.blockScalar(Z);case"block-map":return yield*this.blockMap(Z);case"block-seq":return yield*this.blockSequence(Z);case"flow-collection":return yield*this.flowCollection(Z);case"doc-end":return yield*this.documentEnd(Z)}yield*this.pop()}peek(Z){return this.stack[this.stack.length-Z]}*pop(Z){let X=Z??this.stack.pop();if(!X)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield X;else{let Q=this.peek(1);if(X.type==="block-scalar")X.indent="indent"in Q?Q.indent:0;else if(X.type==="flow-collection"&&Q.type==="document")X.indent=0;if(X.type==="flow-collection")GY(X);switch(Q.type){case"document":Q.value=X;break;case"block-scalar":Q.props.push(X);break;case"block-map":{let U=Q.items[Q.items.length-1];if(U.value){Q.items.push({start:[],key:X,sep:[]}),this.onKeyLine=!0;return}else if(U.sep)U.value=X;else{Object.assign(U,{key:X,sep:[]}),this.onKeyLine=!U.explicitKey;return}break}case"block-seq":{let U=Q.items[Q.items.length-1];if(U.value)Q.items.push({start:[],value:X});else U.value=X;break}case"flow-collection":{let U=Q.items[Q.items.length-1];if(!U||U.value)Q.items.push({start:[],key:X,sep:[]});else if(U.sep)U.value=X;else Object.assign(U,{key:X,sep:[]});return}default:yield*this.pop(),yield*this.pop(X)}if((Q.type==="document"||Q.type==="block-map"||Q.type==="block-seq")&&(X.type==="block-map"||X.type==="block-seq")){let U=X.items[X.items.length-1];if(U&&!U.sep&&!U.value&&U.start.length>0&&LY(U.start)===-1&&(X.indent===0||U.start.every((J)=>J.type!=="comment"||J.indent<X.indent))){if(Q.type==="document")Q.end=U.start;else Q.items.push({start:U.start});X.items.splice(-1,1)}}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let Z={type:"document",offset:this.offset,start:[]};if(this.type==="doc-start")Z.start.push(this.sourceToken);this.stack.push(Z);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(Z){if(Z.value)return yield*this.lineEnd(Z);switch(this.type){case"doc-start":{if(LY(Z.start)!==-1)yield*this.pop(),yield*this.step();else Z.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":Z.start.push(this.sourceToken);return}let X=this.startBlockValue(Z);if(X)this.stack.push(X);else yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(Z){if(this.type==="map-value-ind"){let X=QZ(this.peek(2)),Q=n2(X),U;if(Z.end)U=Z.end,U.push(this.sourceToken),delete Z.end;else U=[this.sourceToken];let J={type:"block-map",offset:Z.offset,indent:Z.indent,items:[{start:Q,key:Z,sep:U}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=J}else yield*this.lineEnd(Z)}*blockScalar(Z){switch(this.type){case"space":case"comment":case"newline":Z.props.push(this.sourceToken);return;case"scalar":if(Z.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let X=this.source.indexOf(`
|
|
136
181
|
`)+1;while(X!==0)this.onNewLine(this.offset+X),X=this.source.indexOf(`
|
|
137
|
-
`,X)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(
|
|
182
|
+
`,X)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(Z){let X=Z.items[Z.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,X.value){let Q="end"in X.value?X.value.end:void 0;if((Array.isArray(Q)?Q[Q.length-1]:void 0)?.type==="comment")Q?.push(this.sourceToken);else Z.items.push({start:[this.sourceToken]})}else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"space":case"comment":if(X.value)Z.items.push({start:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else{if(this.atIndentedComment(X.start,Z.indent)){let U=Z.items[Z.items.length-2]?.value?.end;if(Array.isArray(U)){Array.prototype.push.apply(U,X.start),U.push(this.sourceToken),Z.items.pop();return}}X.start.push(this.sourceToken)}return}if(this.indent>=Z.indent){let Q=!this.onKeyLine&&this.indent===Z.indent,U=Q&&(X.sep||X.explicitKey)&&this.type!=="seq-item-ind",J=[];if(U&&X.sep&&!X.value){let q=[];for(let Y=0;Y<X.sep.length;++Y){let W=X.sep[Y];switch(W.type){case"newline":q.push(Y);break;case"space":break;case"comment":if(W.indent>Z.indent)q.length=0;break;default:q.length=0}}if(q.length>=2)J=X.sep.splice(q[1])}switch(this.type){case"anchor":case"tag":if(U||X.value)J.push(this.sourceToken),Z.items.push({start:J}),this.onKeyLine=!0;else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"explicit-key-ind":if(!X.sep&&!X.explicitKey)X.start.push(this.sourceToken),X.explicitKey=!0;else if(U||X.value)J.push(this.sourceToken),Z.items.push({start:J,explicitKey:!0});else this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]});this.onKeyLine=!0;return;case"map-value-ind":if(X.explicitKey)if(!X.sep)if(l1(X.start,"newline"))Object.assign(X,{key:null,sep:[this.sourceToken]});else{let q=n2(X.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:q,key:null,sep:[this.sourceToken]}]})}else if(X.value)Z.items.push({start:[],key:null,sep:[this.sourceToken]});else if(l1(X.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:J,key:null,sep:[this.sourceToken]}]});else if(_Y(X.key)&&!l1(X.sep,"newline")){let q=n2(X.start),Y=X.key,W=X.sep;W.push(this.sourceToken),delete X.key,delete X.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:q,key:Y,sep:W}]})}else if(J.length>0)X.sep=X.sep.concat(J,this.sourceToken);else X.sep.push(this.sourceToken);else if(!X.sep)Object.assign(X,{key:null,sep:[this.sourceToken]});else if(X.value||U)Z.items.push({start:J,key:null,sep:[this.sourceToken]});else if(l1(X.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]});else X.sep.push(this.sourceToken);this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let q=this.flowScalar(this.type);if(U||X.value)Z.items.push({start:J,key:q,sep:[]}),this.onKeyLine=!0;else if(X.sep)this.stack.push(q);else Object.assign(X,{key:q,sep:[]}),this.onKeyLine=!0;return}default:{let q=this.startBlockValue(Z);if(q){if(q.type==="block-seq"){if(!X.explicitKey&&X.sep&&!l1(X.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else if(Q)Z.items.push({start:J});this.stack.push(q);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(Z){let X=Z.items[Z.items.length-1];switch(this.type){case"newline":if(X.value){let Q="end"in X.value?X.value.end:void 0;if((Array.isArray(Q)?Q[Q.length-1]:void 0)?.type==="comment")Q?.push(this.sourceToken);else Z.items.push({start:[this.sourceToken]})}else X.start.push(this.sourceToken);return;case"space":case"comment":if(X.value)Z.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(X.start,Z.indent)){let U=Z.items[Z.items.length-2]?.value?.end;if(Array.isArray(U)){Array.prototype.push.apply(U,X.start),U.push(this.sourceToken),Z.items.pop();return}}X.start.push(this.sourceToken)}return;case"anchor":case"tag":if(X.value||this.indent<=Z.indent)break;X.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==Z.indent)break;if(X.value||l1(X.start,"seq-item-ind"))Z.items.push({start:[this.sourceToken]});else X.start.push(this.sourceToken);return}if(this.indent>Z.indent){let Q=this.startBlockValue(Z);if(Q){this.stack.push(Q);return}}yield*this.pop(),yield*this.step()}*flowCollection(Z){let X=Z.items[Z.items.length-1];if(this.type==="flow-error-end"){let Q;do yield*this.pop(),Q=this.peek(1);while(Q?.type==="flow-collection")}else if(Z.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":if(!X||X.sep)Z.items.push({start:[this.sourceToken]});else X.start.push(this.sourceToken);return;case"map-value-ind":if(!X||X.value)Z.items.push({start:[],key:null,sep:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else Object.assign(X,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":if(!X||X.value)Z.items.push({start:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let U=this.flowScalar(this.type);if(!X||X.value)Z.items.push({start:[],key:U,sep:[]});else if(X.sep)this.stack.push(U);else Object.assign(X,{key:U,sep:[]});return}case"flow-map-end":case"flow-seq-end":Z.end.push(this.sourceToken);return}let Q=this.startBlockValue(Z);if(Q)this.stack.push(Q);else yield*this.pop(),yield*this.step()}else{let Q=this.peek(2);if(Q.type==="block-map"&&(this.type==="map-value-ind"&&Q.indent===Z.indent||this.type==="newline"&&!Q.items[Q.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&Q.type!=="flow-collection"){let U=QZ(Q),J=n2(U);GY(Z);let q=Z.end.splice(1,Z.end.length);q.push(this.sourceToken);let Y={type:"block-map",offset:Z.offset,indent:Z.indent,items:[{start:J,key:Z,sep:q}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=Y}else yield*this.lineEnd(Z)}}flowScalar(Z){if(this.onNewLine){let X=this.source.indexOf(`
|
|
138
183
|
`)+1;while(X!==0)this.onNewLine(this.offset+X),X=this.source.indexOf(`
|
|
139
|
-
`,X)+1}return{type:U,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(U){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let X=KU(U),q=U2(X);return q.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:q,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let X=KU(U),q=U2(X);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:q,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(U,X){if(this.type!=="comment")return!1;if(this.indent<=X)return!1;return U.every((q)=>q.type==="newline"||q.type==="space")}*documentEnd(U){if(this.type!=="doc-mode"){if(U.end)U.end.push(this.sourceToken);else U.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd(U){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:if(U.end)U.end.push(this.sourceToken);else U.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}UV.Parser=gQ});var xQ=R((WV)=>{var yQ=s9(),qV=t2(),Q6=e2(),ZV=Z9(),QV=k(),GV=ZX(),kQ=QX();function vQ(U){let X=U.prettyErrors!==!1;return{lineCounter:U.lineCounter||X&&new GV.LineCounter||null,prettyErrors:X}}function YV(U,X={}){let{lineCounter:q,prettyErrors:Z}=vQ(X),Q=new kQ.Parser(q?.addNewLine),G=new yQ.Composer(X),Y=Array.from(G.compose(Q.parse(U)));if(Z&&q)for(let J of Y)J.errors.forEach(Q6.prettifyError(U,q)),J.warnings.forEach(Q6.prettifyError(U,q));if(Y.length>0)return Y;return Object.assign([],{empty:!0},G.streamInfo())}function hQ(U,X={}){let{lineCounter:q,prettyErrors:Z}=vQ(X),Q=new kQ.Parser(q?.addNewLine),G=new yQ.Composer(X),Y=null;for(let J of G.compose(Q.parse(U),!0,U.length))if(!Y)Y=J;else if(Y.options.logLevel!=="silent"){Y.errors.push(new Q6.YAMLParseError(J.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(Z&&q)Y.errors.forEach(Q6.prettifyError(U,q)),Y.warnings.forEach(Q6.prettifyError(U,q));return Y}function JV(U,X,q){let Z=void 0;if(typeof X==="function")Z=X;else if(q===void 0&&X&&typeof X==="object")q=X;let Q=hQ(U,q);if(!Q)return null;if(Q.warnings.forEach((G)=>ZV.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 HV(U,X,q){let Z=null;if(typeof X==="function"||Array.isArray(X))Z=X;else if(q===void 0&&X)q=X;if(typeof q==="string")q=q.length;if(typeof q==="number"){let Q=Math.round(q);q=Q<1?void 0:Q>8?{indent:8}:{indent:Q}}if(U===void 0){let{keepUndefined:Q}=q??X??{};if(!Q)return}if(QV.isDocument(U)&&!Z)return U.toString(q);return new qV.Document(U,Z,q).toString(q)}WV.parse=JV;WV.parseAllDocuments=YV;WV.parseDocument=hQ;WV.stringify=HV});var mQ=R((KV)=>{var FV=s9(),VV=t2(),AV=j9(),GX=e2(),OV=v2(),G1=k(),TV=U1(),BV=i(),RV=q1(),DV=Z1(),MV=wU(),PV=qX(),wV=ZX(),IV=QX(),NU=xQ(),uQ=y2();KV.Composer=FV.Composer;KV.Document=VV.Document;KV.Schema=AV.Schema;KV.YAMLError=GX.YAMLError;KV.YAMLParseError=GX.YAMLParseError;KV.YAMLWarning=GX.YAMLWarning;KV.Alias=OV.Alias;KV.isAlias=G1.isAlias;KV.isCollection=G1.isCollection;KV.isDocument=G1.isDocument;KV.isMap=G1.isMap;KV.isNode=G1.isNode;KV.isPair=G1.isPair;KV.isScalar=G1.isScalar;KV.isSeq=G1.isSeq;KV.Pair=TV.Pair;KV.Scalar=BV.Scalar;KV.YAMLMap=RV.YAMLMap;KV.YAMLSeq=DV.YAMLSeq;KV.CST=MV;KV.Lexer=PV.Lexer;KV.LineCounter=wV.LineCounter;KV.Parser=IV.Parser;KV.parse=NU.parse;KV.parseAllDocuments=NU.parseAllDocuments;KV.parseDocument=NU.parseDocument;KV.stringify=NU.stringify;KV.visit=uQ.visit;KV.visitAsync=uQ.visitAsync});class tQ{queue=[];engine;config;timer=null;isProcessing=!1;constructor(U,X={maxBatchSize:10,flushIntervalMs:100}){this.engine=U,this.config=X}push(U){if(this.queue.push(U),this.queue.length>=this.config.maxBatchSize)this.processQueue();else if(!this.timer)this.timer=setTimeout(()=>this.processQueue(),this.config.flushIntervalMs)}async processQueue(){if(this.isProcessing)return;if(this.isProcessing=!0,this.timer)clearTimeout(this.timer),this.timer=null;let U=this.queue.splice(0,this.config.maxBatchSize);if(U.length===0){this.isProcessing=!1;return}console.debug(`[EventQueue] Processing batch of ${U.length} events.`);for(let X of U)try{await this.engine.evaluateContext(X)}catch(q){console.error(`[EventQueue] Error processing event ${X.event}:`,q)}if(this.queue.length>0)setTimeout(()=>this.processQueue(),0);this.isProcessing=!1}getQueueLength(){return this.queue.length}}class eQ{keyPrefix;cache=new Map;isLoaded=!1;constructor(U="trigger_system:"){this.keyPrefix=U}isAvailable(){return typeof window<"u"&&typeof window.localStorage<"u"}ensureLoaded(){if(this.isLoaded)return;if(this.isAvailable())try{let U=window.localStorage.getItem(this.keyPrefix+"state");if(U){let X=JSON.parse(U);this.cache=new Map(Object.entries(X))}}catch(U){console.error("[BrowserPersistence] Failed to load from localStorage:",U)}this.isLoaded=!0}persist(){if(this.isAvailable())try{let U=Object.fromEntries(this.cache);window.localStorage.setItem(this.keyPrefix+"state",JSON.stringify(U))}catch(U){console.error("[BrowserPersistence] Failed to save to localStorage:",U)}}async loadState(){return this.ensureLoaded(),new Map(this.cache)}async saveState(U,X){this.ensureLoaded(),this.cache.set(U,X),this.persist()}async deleteState(U){this.ensureLoaded(),this.cache.delete(U),this.persist()}async clearState(){this.cache.clear(),this.persist()}}class q2{static getNestedValue(U,X){let q=U.split("."),Z=X;for(let Q of q){if(Z===null||Z===void 0)return;if(typeof Z==="object"&&Z!==null&&Q in Z)Z=Z[Q];else return}return Z}static interpolate(U,X){if(typeof U!=="string")return U;return U.replace(/\$\{([^}]+)\}/g,(q,Z)=>{let Q=this.getNestedValue(Z,X);if(Q!==void 0)return String(Q);return q})}static compare(U,X,q){let Z=(G)=>{if(G instanceof Date)return G.getTime();if(typeof G==="number")return G;if(typeof G==="string"){let Y=new Date(G);return isNaN(Y.getTime())?0:Y.getTime()}return 0},Q=(G)=>{if(typeof G==="number")return G;if(G===null||G===void 0||G==="")return null;let Y=Number(G);return isNaN(Y)?null:Y};switch(X){case"EQ":case"==":return U==q;case"NEQ":case"!=":return U!=q;case"GT":case">":{let G=Q(U),Y=Q(q);return G!==null&&Y!==null&&G>Y}case"GTE":case">=":{let G=Q(U),Y=Q(q);return G!==null&&Y!==null&&G>=Y}case"LT":case"<":{let G=Q(U),Y=Q(q);return G!==null&&Y!==null&&G<Y}case"LTE":case"<=":{let G=Q(U),Y=Q(q);return G!==null&&Y!==null&&G<=Y}case"IN":return Array.isArray(q)&&q.some((G)=>G===U);case"NOT_IN":return Array.isArray(q)&&!q.some((G)=>G===U);case"CONTAINS":if(Array.isArray(q))return q.some((G)=>String(U).includes(String(G)));if(Array.isArray(U)||typeof U==="string")return U.includes(q);return!1;case"NOT_CONTAINS":if(Array.isArray(q))return!q.some((G)=>String(U).includes(String(G)));if(Array.isArray(U)||typeof U==="string")return!U.includes(q);return!1;case"STARTS_WITH":if(Array.isArray(q))return q.some((G)=>String(U).startsWith(String(G)));if(typeof U==="string"&&typeof q==="string")return U.startsWith(q);return!1;case"ENDS_WITH":if(Array.isArray(q))return q.some((G)=>String(U).endsWith(String(G)));if(typeof U==="string"&&typeof q==="string")return U.endsWith(q);return!1;case"IS_EMPTY":{let G=!1;if(typeof U==="string")G=U==="";else if(Array.isArray(U))G=U.length===0;else if(U===null||U===void 0)G=!0;else if(typeof U==="object")G=Object.keys(U).length===0;return q===!1?!G:G}case"IS_NULL":case"IS_NONE":{let G=U===null||U===void 0;return q===!1?!G:G}case"HAS_KEY":if(typeof U==="object"&&U!==null&&typeof q==="string")return q in U;return!1;case"MATCHES":if(typeof q==="string")return new RegExp(q).test(String(U));return!1;case"RANGE":if(Array.isArray(q)&&q.length===2){let G=Q(U),Y=Q(q[0]),J=Q(q[1]);return G!==null&&Y!==null&&J!==null&&G>=Y&&G<=J}return!1;case"SINCE":case"AFTER":return Z(U)>=Z(q);case"BEFORE":case"UNTIL":return Z(U)<Z(q);default:return console.warn(`Unknown operator: ${X}`),!1}}}var G6;((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"})(G6||={});var FX;((Z)=>{Z.RULE_ADDED="rule:added";Z.RULE_REMOVED="rule:removed";Z.RULE_UPDATED="rule:updated"})(FX||={});var WA=G6,Y6=FX;class jU{static instance;handlers=new Map;constructor(){}static getInstance(){if(!this.instance)this.instance=new jU;return this.instance}on(U,X){let q=U;if(!this.handlers.has(q))this.handlers.set(q,new Set);return this.handlers.get(q).add(X),()=>this.off(q,X)}off(U,X){let q=U,Z=this.handlers.get(q);if(Z)Z.delete(X)}emit(U,X){let q=U,Z=this.handlers.get(q);if(Z)Z.forEach((Q)=>{try{Q(X)}catch(G){console.error(`Error in event handler for ${q}:`,G)}})}}var N0=jU.getInstance();class Q2{_rules=[];actionHandlers=new Map;lastExecution=new Map;_config;constructor(U=[]){if(Array.isArray(U))this._rules=U;else this._config=U,this._rules=[...U.rules];this.sortRules()}sortRules(){this._rules.sort((U,X)=>(X.priority||0)-(U.priority||0))}registerAction(U,X){this.actionHandlers.set(U,X)}async processEvent(U){let X=[];if(!U.state)U.state={};let q=this._rules.filter((Z)=>Z.enabled!==!1&&Z.on===U.event);for(let Z of q){if(Z.cooldown&&this.checkCooldown(Z.id,Z.cooldown))continue;if(this.evaluateConditions(Z.if,U)){let Q=await this.executeRuleActions(Z.do,U);if(this.lastExecution.set(Z.id,Date.now()),X.push({ruleId:Z.id,success:!0,executedActions:Q}),!this.shouldEvaluateAll())break}}return X}async processEventSimple(U,X={},q={}){let Z={event:U,data:X,vars:q,timestamp:Date.now(),state:this.getStateContext?this.getStateContext():{}};return this.processEvent(Z)}updateRules(U){let X=this.getRules(),q=new Set(X.map((Y)=>Y.id)),Z=new Set(U.map((Y)=>Y.id)),Q=U.filter((Y)=>!q.has(Y.id)),G=X.filter((Y)=>!Z.has(Y.id));this.rules=[...U],this.sortRules(),Q.forEach((Y)=>{this.emitRuleEvent(Y6.RULE_ADDED,{ruleId:Y.id,timestamp:Date.now()})}),G.forEach((Y)=>{this.emitRuleEvent(Y6.RULE_REMOVED,{ruleId:Y.id,timestamp:Date.now()})}),this.emitRuleEvent(Y6.RULE_UPDATED,{count:U.length,added:Q.length,removed:G.length,unchanged:U.length-Q.length,timestamp:Date.now()})}emitRuleEvent(U,X){try{if(N0)N0.emit(U,{...X,timestamp:Date.now()})}catch(q){console.warn(`Could not emit event ${U}:`,q)}}getRules(){return[...this.rules]}checkCooldown(U,X){let q=this.lastExecution.get(U);if(!q)return!1;return Date.now()-q<X}shouldEvaluateAll(){return this.config?.globalSettings?.evaluateAll??!0}getStateContext(){return{}}evaluateConditions(U,X){if(!U)return!0;if(Array.isArray(U))return U.every((q)=>this.evaluateSingleCondition(q,X));return this.evaluateSingleCondition(U,X)}evaluateSingleCondition(U,X){if("operator"in U&&"conditions"in U){let G=U;if(G.operator==="OR")return G.conditions.some((Y)=>this.evaluateSingleCondition(Y,X));else return G.conditions.every((Y)=>this.evaluateSingleCondition(Y,X))}let q=U,Z=e.evaluate(q.field,X),Q=q.value;if(typeof Q==="string"&&Q.includes("${"))Q=e.interpolate(Q,X);return q2.compare(Z,q.operator,Q)}async executeRuleActions(U,X){let q=[],Z=[],Q="ALL";if(Array.isArray(U))Z=U;else if(U&&typeof U==="object"&&"mode"in U&&"actions"in U){let Y=U;Q=Y.mode,Z=Y.actions}else Z=[U];if(Q==="EITHER"&&Z.length>0){let Y=Z.reduce((W,$)=>W+($.probability||1),0),J=Math.random()*Y,H;for(let W of Z){let $=W.probability||1;if(J-=$,J<=0){H=W;break}}if(!H&&Z.length>0)H=Z[Z.length-1];if(H)Z=[H];else Z=[]}let G=!1;for(let Y of Z){if(G)break;if("if"in Y&&Y.if&&(Y.then||Y.else)){let H=this.evaluateConditions(Y.if,X);if(H&&Y.then){let W=await this.executeRuleActions(Y.then,X);q.push(...W)}else if(!H&&Y.else){let W=await this.executeRuleActions(Y.else,X);q.push(...W)}continue}if("if"in Y&&Y.if){if(!this.evaluateConditions(Y.if,X))continue}if(Y.break){G=!0,q.push({type:"BREAK",result:"Breaking action execution",timestamp:Date.now()});break}if(Y.continue){q.push({type:"CONTINUE",result:"Skipping remaining actions",timestamp:Date.now()});continue}let J=await this.executeSingleAction(Y,X);q.push(J)}return q}async executeSingleAction(U,X){if(!U.type&&!U.run&&!U.break&&!U.continue){let G=["params","run","delay","probability","if","then","else","break","continue","mode","actions"],Y=Object.keys(U).filter((J)=>!G.includes(J));for(let J of Y){if(U.type=J,typeof U[J]==="string")U.params={...U.params,message:U[J],content:U[J]};else if(typeof U[J]==="object"&&U[J]!==null)U.params={...U.params,...U[J]};break}}if(U.run)try{return{type:"RUN",result:Function("context","state","data","vars","env","helpers",`with(context) { ${U.run} }`)(X,X.state,X.data,X.vars,X.env,X.helpers),timestamp:Date.now()}}catch(G){return{type:"RUN",error:String(G),timestamp:Date.now()}}let q=U.probability;if(typeof q==="string"){let G=e.evaluate(q,X);q=typeof G==="number"?G:Number(G)}if(q!==void 0&&Math.random()>q)return{type:U.type||"skipped",timestamp:Date.now(),result:{skipped:"probability check failed"}};let Z=U.delay;if(typeof Z==="string"){let G=e.evaluate(Z,X);Z=typeof G==="number"?G:Number(G)}if(Z&&Z>0)await new Promise((G)=>setTimeout(G,Z));let Q=this.interpolateParams(U.params||{},X);try{let G;try{let{ActionRegistry:J}=await Promise.resolve().then(() => (Z2(),VX)),H=J.getInstance().get(U.type);if(H)G=(W)=>H({...U,params:W},X)}catch{G=this.actionHandlers.get(U.type)}let Y;if(G)Y=await G(Q,X);else{let J=`No handler registered for action type: ${U.type}`;console.warn(J),Y={warning:J}}return{type:U.type,result:Y,timestamp:Date.now()}}catch(G){return console.error(`Error executing action ${U.type}:`,G),{type:U.type,error:String(G),timestamp:Date.now()}}}interpolateParams(U,X){let q={};for(let[Z,Q]of Object.entries(U))if(typeof Q==="string")q[Z]=e.interpolate(Q,X);else if(typeof Q==="object"&&Q!==null&&!Array.isArray(Q))q[Z]=this.interpolateDeep(Q,X);else q[Z]=Q;return q}interpolateDeep(U,X){if(typeof U==="string")return e.interpolate(U,X);if(Array.isArray(U))return U.map((q)=>this.interpolateDeep(q,X));if(typeof U==="object"&&U!==null){let q={};for(let Z in U)q[Z]=this.interpolateDeep(U[Z],X);return q}return U}get rules(){return[...this._rules]}get config(){return this._config}set rules(U){this._rules=[...U],this.sortRules()}}Z2();P1();class bU extends Q2{actionRegistry;stateManager;constructor(U){super(U);this.actionRegistry=w1.getInstance(),this.stateManager=U0.getInstance()}async processEvent(U){let X=[];if(U.state=this.stateManager.getLiveProxy(),this.config?.stateConfig)await this.stateManager.applyConfig(this.config.stateConfig);if(N0.emit("engine:start",{context:U,rulesCount:this.rules.length}),this.config?.globalSettings?.debugMode)console.log(`[RuleEngine] Evaluating context with ${this.rules.length} rules for event: ${U.event}`);let q=this.rules.filter((Z)=>Z.enabled!==!1&&Z.on===U.event);for(let Z of q){if(Z.cooldown&&this.checkCooldown(Z.id,Z.cooldown)){if(this.config?.globalSettings?.debugMode)console.log(`[RuleEngine] Rule ${Z.id} in cooldown`);continue}if(this.evaluateConditions(Z.if,U)){if(this.config?.globalSettings?.debugMode)console.log(`[RuleEngine] Executing rule: ${Z.name||Z.id}`);N0.emit("rule:match",{rule:Z,context:U});let G=await this.executeRuleActionsWithRegistry(Z.do,U);if(X.push({ruleId:Z.id,executedActions:G,success:!0}),this.updateLastExecution(Z.id),!this.shouldEvaluateAll())break}}return N0.emit("engine:done",{results:X,context:U}),X}async processEventSimple(U,X={},q={}){let Z={event:U,data:X,vars:q,timestamp:Date.now(),state:this.stateManager.getLiveProxy()};return this.processEvent(Z)}async executeRuleActionsWithRegistry(U,X){let q=[],Z=[],Q="ALL";if(Array.isArray(U))Z=U;else if(this.isActionGroup(U)){let Y=U;Q=Y.mode,Z=Y.actions}else Z=[U];if(Q==="EITHER"&&Z.length>0){let Y=Z.reduce((W,$)=>W+($.probability||1),0),J=Math.random()*Y,H;for(let W of Z){let $=W.probability||1;if(J-=$,J<=0){H=W;break}}if(H)Z=[H]}let G=!1;for(let Y of Z){if(G)break;if("if"in Y&&Y.if&&(Y.then||Y.else)){let H=this.evaluateConditions(Y.if,X);if(H&&Y.then){let W=await this.executeRuleActionsWithRegistry(Y.then,X);q.push(...W)}else if(!H&&Y.else){let W=await this.executeRuleActionsWithRegistry(Y.else,X);q.push(...W)}continue}if("if"in Y&&Y.if){if(!this.evaluateConditions(Y.if,X))continue}if(Y.break){G=!0,q.push({type:"BREAK",result:"Breaking action execution",timestamp:Date.now()});break}if(Y.continue){q.push({type:"CONTINUE",result:"Skipping remaining actions",timestamp:Date.now()});continue}let J=await this.executeSingleActionWithRegistry(Y,X);q.push(J)}return q}isActionGroup(U){return typeof U==="object"&&U!==null&&"mode"in U&&"actions"in U}async executeSingleActionWithRegistry(U,X){if(!U.type&&!U.run&&!U.break&&!U.continue){let G=Object.keys(U);for(let Y of G)if(this.actionRegistry.get(Y)){if(U.type=Y,typeof U[Y]==="string")U.params={...U.params,message:U[Y],content:U[Y]};else if(typeof U[Y]==="object"&&U[Y]!==null)U.params={...U.params,...U[Y]};break}}if(U.run)try{return{type:"RUN",result:Function("context","state","data","vars","env","helpers",`with(context) { ${U.run} }`)(X,X.state,X.data,X.vars,X.env,X.helpers),timestamp:Date.now()}}catch(G){return{type:"RUN",error:String(G),timestamp:Date.now()}}let q=U.probability;if(typeof q==="string"){let{ExpressionEngine:G}=$X(SU),Y=G.evaluate(q,X);q=typeof Y==="number"?Y:Number(Y)}if(q!==void 0&&Math.random()>q)return{type:U.type||"unknown",timestamp:Date.now(),result:{skipped:"probability check failed"}};if(U.break)return{type:"BREAK",result:"Break action",timestamp:Date.now()};if(U.continue)return{type:"CONTINUE",result:"Continue action",timestamp:Date.now()};let Z=U.delay;if(typeof Z==="string"){let{ExpressionEngine:G}=$X(SU),Y=G.evaluate(Z,X);Z=typeof Y==="number"?Y:Number(Y)}if(Z&&Z>0)await new Promise((G)=>setTimeout(G,Z));let Q=this.interpolateParams(U.params||{},X);try{let G=this.actionRegistry.get(U.type),Y;if(G)Y=await G({...U,params:Q},X);else{let J=`Generic or unknown action type: ${U.type}`;if(this.config?.globalSettings?.strictActions)throw Error(J);console.warn(J),Y={warning:`Generic action executed: ${U.type}`}}return N0.emit("action:success",{action:{...U,params:Q},context:X,result:Y}),{type:U.type,result:Y,timestamp:Date.now()}}catch(G){return console.error("Error executing action:",U,G),N0.emit("action:error",{action:U,context:X,error:String(G)}),{type:U.type,error:String(G),timestamp:Date.now()}}}updateLastExecution(U){this.lastExecution.set(U,Date.now())}getStateContext(){return this.stateManager.getAll()}shouldEvaluateAll(){return this.config?.globalSettings?.evaluateAll??!0}async executeRuleActions(U,X){return this.executeRuleActionsWithRegistry(U,X)}async executeSingleAction(U,X){return this.executeSingleActionWithRegistry(U,X)}}Z2();P1();class UG{static create(U,X,q={}){return{event:U,timestamp:Date.now(),data:typeof X==="object"&&X!==null?X:{value:X},vars:q,state:U0.getInstance().getLiveProxy(),helpers:this.getDefaultHelpers()}}static fromRequest(U,X,q={}){let Z=new URL(U.url);return{event:"HTTP_REQUEST",timestamp:Date.now(),data:{method:U.method,path:Z.pathname,query:Object.fromEntries(Z.searchParams),headers:(()=>{let Q={};return U.headers.forEach((G,Y)=>Q[Y]=G),Q})(),body:X||{}},vars:{...q,ip:U.headers.get("x-forwarded-for")||"unknown"},state:U0.getInstance().getLiveProxy(),helpers:this.getDefaultHelpers()}}static fromWebhook(U,X,q,Z={}){return{event:`WEBHOOK_${U.toUpperCase()}_${X.toUpperCase()}`,timestamp:Date.now(),data:q,vars:{...Z,provider:U},state:U0.getInstance().getLiveProxy(),helpers:this.getDefaultHelpers()}}static getDefaultHelpers(){return{now:()=>Date.now(),uuid:()=>crypto.randomUUID(),jsonParse:(U)=>{try{return typeof U==="string"?JSON.parse(U):null}catch{return null}},jsonStringify:(U)=>{try{return JSON.stringify(U)}catch{return null}}}}}P1();Z2();P1();var l0=(U)=>Array.isArray(U)?U:[U],AX=(U,X)=>{let q=[[],[]];for(let Z of U)if(X(Z))q[0].push(Z);else q[1].push(Z);return q},J6=Array,F0=(U,X)=>U.includes(X),OX=(U,X=0)=>[...Array(U)].map((q,Z)=>Z+X),g=(U,X,q)=>{if(U===void 0)return X===void 0?[]:Array.isArray(X)?X:[X];if(q?.prepend)if(Array.isArray(X))U.unshift(...X);else U.unshift(X);else if(Array.isArray(X))U.push(...X);else U.push(X);return U},g0=(U,X)=>{if(X===void 0||X===null)return U??[];if(U===void 0||U===null)return l0(X);return U.concat(X)},TX=(...U)=>U.reduce(g0,[]),C0=(U,X,q)=>{if(U===void 0)return Array.isArray(X)?X:[X];let Z=q?.isEqual??((Q,G)=>Q===G);for(let Q of l0(X))if(!U.some((G)=>Z(G,Q)))U.push(Q);return U},BX=(U,X)=>U.reduce((q,Z)=>{let Q=Z[X];return q[Q]=g(q[Q],Z),q},{}),y0=(U,X,q)=>U.length===X.length&&U.every(q?.isEqual?(Z,Q)=>q.isEqual(Z,X[Q]):(Z,Q)=>Z===X[Q]);var G0=(U,X)=>r(U)===X,r=(U)=>{let X=typeof U;return X==="object"?U===null?"null":"object":X==="function"?"object":X},Y0={boolean:"boolean",null:"null",undefined:"undefined",bigint:"a bigint",number:"a number",object:"an object",string:"a string",symbol:"a symbol"},RX={...Y0,function:"a function"};class DX extends Error{}var y=(U)=>Y1(U,DX),Y1=(U,X=Error)=>{throw new X(U)};class G2 extends Error{name="ParseError"}var F=(U)=>Y1(U,G2),D0=(U)=>` ${U}`,MX="";var S=(U,X)=>{let q={},Z=Array.isArray(U),Q=!1;for(let[G,Y]of Object.entries(U).entries()){let J=Z?X(G,Y[1]):X(...Y,G);Q||=typeof J[0]==="number";let H=Array.isArray(J[0])||J.length===0?J:[J];for(let[W,$]of H)if(typeof W==="object")q[W.group]=g(q[W.group],$);else q[W]=$}return Q?Object.values(q):q};var fU=Object.entries;var a=(U,X)=>(U in X),I1=(U,X)=>(X in U);class gU{constructor(U){Object.assign(this,U)}}var PX=class{};class Y2 extends PX{}var XG=(U,X)=>{let q={},Z={},Q;for(Q in U)if(Q in X)q[Q]=U[Q];else Z[Q]=U[Q];return[q,Z]};var H6=(U,X)=>XG(U,X)[1],S0=(U)=>Object.keys(U).length===0,J1=(U)=>[...Object.entries(U),...Object.getOwnPropertySymbols(U).map((X)=>[X,U[X]])],wX=(U,X)=>Object.defineProperties(U,Object.getOwnPropertyDescriptors(X)),IX=(U)=>{let X=Object.keys(U).sort(),q={};for(let Z=0;Z<X.length;Z++)q[X[Z]]=U[X[Z]];return q};var J0=D0(`unset${MX}`),KX=(U)=>Object.values(U).filter((X)=>{if(typeof X==="number")return!0;return typeof U[X]!=="number"});var yU={Array,Boolean,Date,Error,Function,Map,Number,Promise,RegExp,Set,String,WeakMap,WeakSet},kU=globalThis.File??Blob,vU={ArrayBuffer,Blob,File:kU,FormData,Headers,Request,Response,URL},qG={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array},H1={...yU,...vU,...qG,String,Number,Boolean},J2=(U)=>{let X=Object.getPrototypeOf(U);while(X?.constructor&&(!a(X.constructor.name,H1)||!(U instanceof H1[X.constructor.name])))X=Object.getPrototypeOf(X);let q=X?.constructor?.name;if(q===void 0||q==="Object")return;return q},H2=(U)=>typeof U==="object"&&U!==null?J2(U)??"object":r(U);var h=Array.isArray,ZG={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"},QG={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"},GG={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"},NX={...ZG,...QG,...GG},W2=(U)=>{let X=Object(U).name??null;return X&&a(X,H1)&&H1[X]===U?X:null};var hU=(U,X)=>{let q=U.prototype;while(q!==null){if(q===X.prototype)return!0;q=Object.getPrototypeOf(q)}return!1};var CX=(U)=>SX(U,new Map),SX=(U,X)=>{if(typeof U!=="object"||U===null)return U;if(X?.has(U))return X.get(U);let q=W2(U.constructor);if(q==="Date")return new Date(U.getTime());if(q&&q!=="Array")return U;let Z=Array.isArray(U)?U.slice():Object.create(Object.getPrototypeOf(U)),Q=Object.getOwnPropertyDescriptors(U);if(X){X.set(U,Z);for(let G in Q){let Y=Q[G];if("get"in Y||"set"in Y)continue;Y.value=SX(Y.value,X)}}return Object.defineProperties(Z,Q),Z};var YG=(U)=>{let X=J0;return()=>X===J0?X=U():X},d0=(U)=>typeof U==="function"&&U.length===0;var EX=class extends Function{constructor(...U){let X=U.slice(0,-1),q=U[U.length-1];try{super(...X,q)}catch(Z){return y(`Encountered an unexpected error while compiling your definition:
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
`)
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
`).
|
|
153
|
-
`):this.body} }`}compile(){return new EX(...this.argNames,this.body)}}var M0=(U)=>G0(U,"object")||typeof U==="symbol"?d(U):L2(U),dU=(U,X=!1)=>{if(typeof U==="string"&&i0(U))return`${X?"?":""}.${U}`;return aX(SG(U),X)},SG=(U)=>typeof U==="symbol"?d(U):JSON.stringify(U),aX=(U,X=!1)=>`${X?"?.":""}[${U}]`;class A2 extends L6{traversalKind;optimistic;constructor(U){super("data","ctx");this.traversalKind=U.kind,this.optimistic=U.optimistic===!0}invoke(U,X){let q=X?.arg??this.data,Z=typeof U==="string"?!0:this.requiresContextFor(U),Q=typeof U==="string"?U:U.id;if(Z)return`${this.referenceToId(Q,X)}(${q}, ${this.ctx})`;return`${this.referenceToId(Q,X)}(${q})`}referenceToId(U,X){let q=X?.kind??this.traversalKind,Z=`this.${U}${q}`;return X?.bind?`${Z}.bind(${X?.bind})`:Z}requiresContextFor(U){return this.traversalKind==="Apply"||U.allowsRequiresContext}initializeErrorCount(){return this.const("errorCount","ctx.currentErrorCount")}returnIfFail(){return this.if("ctx.currentErrorCount > errorCount",()=>this.return())}returnIfFailFast(){return this.if("ctx.failFast && ctx.currentErrorCount > errorCount",()=>this.return())}traverseKey(U,X,q){let Z=this.requiresContextFor(q);if(Z)this.line(`${this.ctx}.path.push(${U})`);if(this.check(q,{arg:X}),Z)this.line(`${this.ctx}.path.pop()`);return this}check(U,X){return this.traversalKind==="Allows"?this.if(`!${this.invoke(U,X)}`,()=>this.return(!1)):this.line(this.invoke(U,X))}}var z6=(U)=>S(U,(X,q)=>[X,h(q)?[...q]:q]),Z0=D0("arkKind"),M=(U,X)=>U?.[Z0]===X,x=(U)=>M(U,"root")||M(U,"constraint");var nX=["unit","proto","domain"],N1=["required","optional","index","sequence"],cU=["pattern","divisor","exactLength","max","min","maxLength","minLength","before","after"],iU=[...cU,"structure","predicate"],F6=[...iU,...N1],C1=["alias","union","morph","unit","intersection","proto","domain"],EG=[...C1,...F6],V6=S(F6,(U,X)=>[X,1]),tX=S([...N1,"undeclared"],(U,X)=>[X,1]),eX=S(EG,(U,X)=>[X,U]),S1=(U)=>typeof U==="string"&&(U in eX);var E1=(U)=>eX[U],A6=(U)=>C1.slice(E1(U)+1),fT=[...A6("union"),"alias"],gT=[...A6("morph"),"alias"],V0=(U)=>{if(typeof U==="string"||typeof U==="boolean"||U===null)return U;if(typeof U==="number"){if(Number.isNaN(U))return"NaN";if(U===Number.POSITIVE_INFINITY)return"Infinity";if(U===Number.NEGATIVE_INFINITY)return"-Infinity";return U}return M0(U)},s0=(U)=>{let X="{ ";for(let[q,Z]of Object.entries(U))X+=`${q}: ${M0(Z)}, `;return X+" }"},j=(U)=>{let X=U;if(X.hasAssociatedError)X.defaults.expected??=(q)=>("description"in q)?q.description:X.defaults.description(q),X.defaults.actual??=(q)=>E(q),X.defaults.problem??=(q)=>`must be ${q.expected}${q.actual?` (was ${q.actual})`:""}`,X.defaults.message??=(q)=>{if(q.path.length===0)return q.problem;let Z=`${q.propString} ${q.problem}`;if(Z[0]==="[")return`value at ${Z}`;return Z};return X};class Uq extends Error{name="ToJsonSchemaError";code;context;constructor(U,X){super(E(X,{quoteKeys:!1,indent:4}));this.code=U,this.context=X}hasCode(U){return this.code===U}}var jG={target:"draft-2020-12",dialect:"https://json-schema.org/draft/2020-12/schema",useRefs:!1,fallback:{arrayObject:(U)=>p.throw("arrayObject",U),arrayPostfix:(U)=>p.throw("arrayPostfix",U),defaultValue:(U)=>p.throw("defaultValue",U),domain:(U)=>p.throw("domain",U),morph:(U)=>p.throw("morph",U),patternIntersection:(U)=>p.throw("patternIntersection",U),predicate:(U)=>p.throw("predicate",U),proto:(U)=>p.throw("proto",U),symbolKey:(U)=>p.throw("symbolKey",U),unit:(U)=>p.throw("unit",U),date:(U)=>p.throw("date",U)}},p={Error:Uq,throw:(...U)=>{throw new p.Error(...U)},throwInternalOperandError:(U,X)=>y(`Unexpected JSON Schema input for ${U}: ${E(X)}`),defaultConfig:jG};A.config??={};var O2=(U,X)=>{if(!X)return U;let q={...U},Z;for(Z in X){let Q={...U.keywords};if(Z==="keywords"){for(let G in X[Z]){let Y=X.keywords[G];if(Y===void 0)continue;Q[G]=typeof Y==="string"?{description:Y}:Y}q.keywords=Q}else if(Z==="toJsonSchema")q[Z]=sU(U.toJsonSchema,X.toJsonSchema);else if(S1(Z))q[Z]={...U[Z],...X[Z]};else q[Z]=X[Z]}return q},bG={"draft-2020-12":"https://json-schema.org/draft/2020-12/schema","draft-07":"http://json-schema.org/draft-07/schema#"},sU=(U,X)=>{if(!U)return Xq(X??{},void 0);if(!X)return U;let q={...U},Z;for(Z in X)if(Z==="fallback")q.fallback=fG(U.fallback,X.fallback);else q[Z]=X[Z];return Xq(q,X)},Xq=(U,X)=>{if(X?.dialect!==void 0)return U;if(X?.target!==void 0)return{...U,dialect:bG[X.target]};return U},fG=(U,X)=>{U=qq(U),X=qq(X);let q={},Z;for(Z in p.defaultConfig.fallback)q[Z]=X[Z]??X.default??U[Z]??U.default??p.defaultConfig.fallback[Z];return q},qq=(U)=>typeof U==="function"?{default:U}:U??{};class o0 extends Y2{[Z0]="error";path;data;nodeConfig;input;ctx;constructor({prefixPath:U,relativePath:X,...q},Z){super();this.input=q,this.ctx=Z,wX(this,q);let Q=Z.data;if(q.code==="union")q.errors=q.errors.flatMap((Y)=>{let J=Y.hasCode("union")?Y.errors:[Y];if(!U&&!X)return J;return J.map((H)=>H.transform((W)=>({...W,path:TX(U,W.path,X)})))});this.nodeConfig=Z.config[this.code];let G=[...q.path??Z.path];if(X)G.push(...X);if(U)G.unshift(...U);this.path=new F2(...G),this.data="data"in q?q.data:Q}transform(U){return new o0(U({data:this.data,path:this.path,...this.input}),this.ctx)}hasCode(U){return this.code===U}get propString(){return v0(this.path)}get expected(){if(this.input.expected)return this.input.expected;let U=this.meta?.expected??this.nodeConfig.expected;return typeof U==="function"?U(this.input):U}get actual(){if(this.input.actual)return this.input.actual;let U=this.meta?.actual??this.nodeConfig.actual;return typeof U==="function"?U(this.data):U}get problem(){if(this.input.problem)return this.input.problem;let U=this.meta?.problem??this.nodeConfig.problem;return typeof U==="function"?U(this):U}get message(){if(this.input.message)return this.input.message;let U=this.meta?.message??this.nodeConfig.message;return typeof U==="function"?U(this):U}get flat(){return this.hasCode("intersection")?[...this.errors]:[this]}toJSON(){return{data:this.data,path:this.path,...this.input,expected:this.expected,actual:this.actual,problem:this.problem,message:this.message}}toString(){return this.message}throw(){throw this}}class W0 extends J6{[Z0]="errors";ctx;constructor(U){super();this.ctx=U}byPath=Object.create(null);get flatByPath(){return S(this.byPath,(U,X)=>[U,X.flat])}get flatProblemsByPath(){return S(this.byPath,(U,X)=>[U,X.flat.map((q)=>q.problem)])}byAncestorPath=Object.create(null);count=0;mutable=this;throw(){throw this.toTraversalError()}toTraversalError(){return new oU(this)}add(U){let X=this.byPath[U.propString];if(X){if(U===X)return;if(X.hasCode("union")&&X.errors.length===0)return;let q=U.hasCode("union")&&U.errors.length===0?U:new o0({code:"intersection",errors:X.hasCode("intersection")?[...X.errors,U]:[X,U]},this.ctx),Z=this.indexOf(X);this.mutable[Z===-1?this.length:Z]=q,this.byPath[U.propString]=q,this.addAncestorPaths(U)}else this.byPath[U.propString]=U,this.addAncestorPaths(U),this.mutable.push(U);this.count++}transform(U){let X=new W0(this.ctx);for(let q of this)X.add(U(q));return X}merge(U){for(let X of U)this.add(new o0({...X,path:[...this.ctx.path,...X.path]},this.ctx))}affectsPath(U){if(this.length===0)return!1;return U.stringifyAncestors().some((X)=>(X in this.byPath))||U.stringify()in this.byAncestorPath}get summary(){return this.toString()}get issues(){return this}toJSON(){return[...this.map((U)=>U.toJSON())]}toString(){return this.join(`
|
|
154
|
-
`)}addAncestorPaths(U){for(let X of U.path.stringifyAncestors())this.byAncestorPath[X]=g(this.byAncestorPath[X],U)}}class oU extends Error{name="TraversalError";constructor(U){if(U.length===1)super(U.summary);else super(`
|
|
155
|
-
`+U.map((X)=>` • ${gG(X)}`).join(`
|
|
156
|
-
`));Object.defineProperty(this,"arkErrors",{value:U,enumerable:!1})}}var gG=(U)=>U.toString().split(`
|
|
157
|
-
`).join(`
|
|
158
|
-
`);class P0{path=[];errors=new W0(this);root;config;queuedMorphs=[];branches=[];seen={};constructor(U,X){this.root=U,this.config=X}get data(){let U=this.root;for(let X of this.path)U=U?.[X];return U}get propString(){return v0(this.path)}reject(U){return this.error(U),!1}mustBe(U){return this.error(U),!1}error(U){let X=typeof U==="object"?U.code?U:{...U,code:"predicate"}:{code:"predicate",expected:U};return this.errorFromContext(X)}hasError(){return this.currentErrorCount!==0}get currentBranch(){return this.branches[this.branches.length-1]}queueMorphs(U){let X={path:new F2(...this.path),morphs:U};if(this.currentBranch)this.currentBranch.queuedMorphs.push(X);else this.queuedMorphs.push(X)}finalize(U){if(this.queuedMorphs.length){if(typeof this.root==="object"&&this.root!==null&&this.config.clone)this.root=this.config.clone(this.root);this.applyQueuedMorphs()}if(this.hasError())return U?U(this.errors):this.errors;return this.root}get currentErrorCount(){return this.currentBranch?this.currentBranch.error?1:0:this.errors.count}get failFast(){return this.branches.length!==0}pushBranch(){this.branches.push({error:void 0,queuedMorphs:[]})}popBranch(){return this.branches.pop()}get external(){return this}errorFromNodeContext(U){return this.errorFromContext(U)}errorFromContext(U){let X=new o0(U,this);if(this.currentBranch)this.currentBranch.error=X;else this.errors.add(X);return X}applyQueuedMorphs(){while(this.queuedMorphs.length){let U=this.queuedMorphs;this.queuedMorphs=[];for(let{path:X,morphs:q}of U){if(this.errors.affectsPath(X))continue;this.applyMorphsAtPath(X,q)}}}applyMorphsAtPath(U,X){let q=U[U.length-1],Z;if(q!==void 0){Z=this.root;for(let Q=0;Q<U.length-1;Q++)Z=Z[U[Q]]}for(let Q of X){this.path=[...U];let G=x(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 W0){if(!G)this.errors.merge(Y);this.queuedMorphs=[];break}if(Z===void 0)this.root=Y;else Z[q]=Y;this.applyQueuedMorphs()}}}var _0=(U,X,q)=>{if(!q)return X();q.path.push(U);let Z=X();return q.path.pop(),Z};class B2 extends H0{attachments;$;onFail;includesTransform;includesContextualPredicate;isCyclic;allowsRequiresContext;rootApplyStrategy;contextFreeMorph;rootApply;referencesById;shallowReferences;flatRefs;flatMorphs;allows;get shallowMorphs(){return[]}constructor(U,X){super((Z,Q,G=this.onFail)=>{if(Q)return this.traverseApply(Z,Q),Q.hasError()?Q.errors:Q.data;return this.rootApply(Z,G)},{attach:U});this.attachments=U,this.$=X,this.onFail=this.meta.onFail??this.$.resolvedConfig.onFail,this.includesTransform=this.hasKind("morph")||this.hasKind("structure")&&this.structuralMorph!==void 0||this.hasKind("sequence")&&this.inner.defaultables!==void 0,this.includesContextualPredicate=this.hasKind("predicate")&&this.inner.predicate.length!==1,this.isCyclic=this.kind==="alias",this.referencesById={[this.id]:this},this.shallowReferences=this.hasKind("structure")?[this,...this.children]:this.children.reduce((Z,Q)=>hG(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 P0(Z,this.$.resolvedConfig)):(Z)=>this.traverseAllows(Z)}createRootApply(){switch(this.rootApplyStrategy){case"allows":return(X,q)=>{if(this.allows(X))return X;let Z=new P0(X,this.$.resolvedConfig);return this.traverseApply(X,Z),Z.finalize(q)};case"contextual":return(X,q)=>{let Z=new P0(X,this.$.resolvedConfig);return this.traverseApply(X,Z),Z.finalize(q)};case"optimistic":this.contextFreeMorph=this.shallowMorphs[0];let U=this.$.resolvedConfig.clone;return(X,q)=>{if(this.allows(X))return this.contextFreeMorph(U&&(typeof X==="object"&&X!==null||typeof X==="function")?U(X):X);let Z=new P0(X,this.$.resolvedConfig);return this.traverseApply(X,Z),Z.finalize(q)};case"branchedOptimistic":return this.createBranchedOptimisticRootApply();default:return this.rootApplyStrategy,y(`Unexpected rootApplyStrategy ${this.rootApplyStrategy}`)}}compiledMeta=vG(this.metaJson);cacheGetter(U,X){return Object.defineProperty(this,U,{value:X}),X}get description(){return this.cacheGetter("description",this.meta?.description??this.$.resolvedConfig[this.kind].description(this))}get references(){return Object.values(this.referencesById)}precedence=E1(this.kind);precompilation;assert=(U,X)=>this(U,X,(q)=>q.throw());traverse(U,X){return this(U,X,null)}get in(){return this.cacheGetter("in",this.rawIn.isRoot()?this.$.finalize(this.rawIn):this.rawIn)}get rawIn(){return this.cacheGetter("rawIn",this.getIo("in"))}get out(){return this.cacheGetter("out",this.rawOut.isRoot()?this.$.finalize(this.rawOut):this.rawOut)}get rawOut(){return this.cacheGetter("rawOut",this.getIo("out"))}getIo(U){if(!this.includesTransform)return this;let X={};for(let[q,Z]of this.innerEntries){let Q=this.impl.keys[q];if(Q.reduceIo)Q.reduceIo(U,X,Z);else if(Q.child){let G=Z;X[q]=h(G)?G.map((Y)=>U==="in"?Y.rawIn:Y.rawOut):U==="in"?G.rawIn:G.rawOut}else X[q]=Z}return this.$.node(this.kind,X)}toJSON(){return this.json}toString(){return`Type<${this.expression}>`}equals(U){let X=x(U)?U:this.$.parseDefinition(U);return this.innerHash===X.innerHash}ifEquals(U){return this.equals(U)?this:void 0}hasKind(U){return this.kind===U}assertHasKind(U){if(this.kind!==U)Y1(`${this.kind} node was not of asserted kind ${U}`);return this}hasKindIn(...U){return U.includes(this.kind)}assertHasKindIn(...U){if(!F0(U,this.kind))Y1(`${this.kind} node was not one of asserted kinds ${U}`);return this}isBasis(){return F0(nX,this.kind)}isConstraint(){return F0(F6,this.kind)}isStructural(){return F0(N1,this.kind)}isRefinement(){return F0(iU,this.kind)}isRoot(){return F0(C1,this.kind)}isUnknown(){return this.hasKind("intersection")&&this.children.length===0}isNever(){return this.hasKind("union")&&this.children.length===0}hasUnit(U){return this.hasKind("unit")&&this.allows(U)}hasOpenIntersection(){return this.impl.intersectionIsOpen}get nestableExpression(){return this.expression}select(U){let X=T2.normalize(U);return this._select(X)}_select(U){let X=T2.applyBoundary[U.boundary??"references"](this);if(U.kind)X=X.filter((q)=>q.kind===U.kind);if(U.where)X=X.filter(U.where);return T2.applyMethod[U.method??"filter"](X,this,U)}transform(U,X){return this._transform(U,this._createTransformContext(X))}_createTransformContext(U){return{root:this,selected:void 0,seen:{},path:[],parseOptions:{prereduced:U?.prereduced??!1},undeclaredKeyHandling:void 0,...U}}_transform(U,X){let q=X.bindScope??this.$;if(X.seen[this.id])return this.$.lazilyResolve(X.seen[this.id]);if(X.shouldTransform?.(this,X)===!1)return this;let Z;if(X.seen[this.id]=()=>Z,this.hasKind("structure")&&this.undeclared!==X.undeclaredKeyHandling)X={...X,undeclaredKeyHandling:this.undeclared};let Q=S(this.inner,(W,$)=>{if(!this.impl.keys[W].child)return[W,$];let _=$;if(!h(_)){let V=_._transform(U,X);return V?[W,V]:[]}if(_.length===0)return[W,$];let L=_.flatMap((V)=>{return V._transform(U,X)??[]});return L.length?[W,L]:[]});delete X.seen[this.id];let G=Object.assign(Q,{meta:this.meta}),Y=X.selected&&!X.selected.includes(this)?G:U(this.kind,G,X);if(Y===null)return null;if(x(Y))return Z=Y;let J=Object.keys(Y);if((J.length===0||J.length===1&&J[0]==="meta")&&!S0(this.inner))return null;if((this.kind==="required"||this.kind==="optional"||this.kind==="index")&&!("value"in Y))return X.undeclaredKeyHandling?{...Y,value:A.intrinsic.unknown}:null;if(this.kind==="morph")Y.in??=A.intrinsic.unknown;return Z=q.node(this.kind,Y,X.parseOptions)}configureReferences(U,X="references"){let q=T2.normalize(X),Z=typeof U==="string"?(J,H)=>({...H,meta:{...H.meta,description:U}}):typeof U==="function"?(J,H)=>({...H,meta:U(H.meta)}):(J,H)=>({...H,meta:{...H.meta,...U}});if(q.boundary==="self")return this.$.node(this.kind,Z(this.kind,{...this.inner,meta:this.meta}));let Q=this._select(q),G=Q&&l0(Q),Y=q.boundary==="child"?(J,H)=>H.root.children.includes(J):q.boundary==="shallow"?(J)=>J.kind!=="structure":()=>!0;return this.$.finalize(this.transform(Z,{shouldTransform:Y,selected:G}))}}var T2={applyBoundary:{self:(U)=>[U],child:(U)=>[...U.children],shallow:(U)=>[...U.shallowReferences],references:(U)=>[...U.references]},applyMethod:{filter:(U)=>U,assertFilter:(U,X,q)=>{if(U.length===0)Y1(Zq(X,q));return U},find:(U)=>U[0],assertFind:(U,X,q)=>{if(U.length===0)Y1(Zq(X,q));return U[0]}},normalize:(U)=>typeof U==="function"?{boundary:"references",method:"filter",where:U}:typeof U==="string"?a(U,T2.applyBoundary)?{method:"filter",boundary:U}:{boundary:"references",method:"filter",kind:U}:{boundary:"references",method:"filter",...U}},Zq=(U,X)=>`${U} had no references matching ${E(X)}.`,yG=(U)=>v0(U,{stringifyNonKey:(X)=>X.expression}),kG=/"(\$ark\.[^"]+)"/g,vG=(U)=>JSON.stringify(U).replace(kG,"$1"),w0=(U,X)=>({path:U,node:X,propString:yG(U)}),Qq=(U,X)=>U.propString===X.propString&&U.node.equals(X.node),rU=(U,X)=>C0(U,X,{isEqual:Qq}),hG=(U,X)=>C0(U,X,{isEqual:(q,Z)=>q.equals(Z)});class T extends Array{static init(U,X,q,Z){return new T({kind:U,l:X,r:q,path:Z?.path??[],optional:Z?.optional??!1})}add(U,X,q,Z){return this.push({kind:U,l:X,r:q,path:Z?.path??[],optional:Z?.optional??!1}),this}get summary(){return this.describeReasons()}describeReasons(){if(this.length===1){let{path:U,l:X,r:q}=this[0],Z=v0(U);return nU(`Intersection${Z&&` at ${Z}`} of ${Gq(X,q)}`)}return`The following intersections result in unsatisfiable types:
|
|
159
|
-
• ${this.map(({path:U,l:X,r:q})=>`${U}: ${Gq(X,q)}`).join(`
|
|
160
|
-
• `)}`}throw(){return F(this.describeReasons())}invert(){let U=this.map((X)=>({...X,l:X.r,r:X.l}));if(!(U instanceof T))return new T(...U);return U}withPrefixKey(U,X){return this.map((q)=>({...q,path:[U,...q.path],optional:q.optional||X==="optional"}))}toNeverIfDisjoint(){return A.intrinsic.never}}var Gq=(U,X)=>`${aU(U)} and ${aU(X)}`,aU=(U)=>x(U)?U.expression:h(U)?U.map(aU).join(" | ")||"never":String(U),nU=(U)=>`${U} results in an unsatisfiable type`;var j1={},$0=(U,X,q)=>u(U,X,{$:q,invert:!1,pipe:!1}),R2=(U,X,q)=>u(U,X,{$:q,invert:!1,pipe:!0}),u=(U,X,q)=>{let Z=q.pipe?"|>":"&",Q=`${U.hash}${Z}${X.hash}`;if(j1[Q]!==void 0)return j1[Q];if(!q.pipe){let J=`${X.hash}${Z}${U.hash}`;if(j1[J]!==void 0){let H=j1[J],W=H instanceof T?H.invert():H;return j1[Q]=W,W}}let G=!q.pipe||!U.includesTransform&&!X.includesTransform;if(G&&U.equals(X))return U;let Y=G?tU(U,X,q):U.hasKindIn(...C1)?xG(U,X,q):tU(U,X,q);if(x(Y)){if(U.equals(Y))Y=U;else if(X.equals(Y))Y=X}return j1[Q]=Y,Y},tU=(U,X,q)=>{let Z=U.precedence<X.precedence?U.kind:X.kind,Q=U.impl.intersections[X.kind]??X.impl.intersections[U.kind];if(Q===void 0)return null;else if(Z===U.kind)return Q(U,X,q);else{let G=Q(X,U,{...q,invert:!q.invert});if(G instanceof T)G=G.invert();return G}},xG=(U,X,q)=>U.includesTransform||X.includesTransform?q.invert?Yq(X,U,q):Yq(U,X,q):tU(U,X,q),Yq=(U,X,q)=>U.distribute((Z)=>uG(Z,X,q),(Z)=>{let Q=Z.filter(x);if(Q.length===0)return T.init("union",U.branches,X.branches);if(Q.length<U.branches.length||!U.branches.every((J,H)=>J.rawIn.equals(Q[H].rawIn)))return q.$.parseSchema(Q);let G;if(Q.length===1){let J=Q[0];if(!G)return J;return q.$.node("morph",{...J.inner,in:J.rawIn.configure(G,"self")})}let Y={branches:Q};if(G)Y.meta=G;return q.$.parseSchema(Y)}),uG=(U,X,q)=>{if(U.hasKind("morph")){let Q=[...U.morphs];if(U.lastMorphIfNode){let G=u(U.lastMorphIfNode,X,q);if(G instanceof T)return G;Q[Q.length-1]=G}else Q.push(X);return q.$.node("morph",{morphs:Q,in:U.inner.in})}if(X.hasKind("morph")){let Q=u(U,X.rawIn,q);if(Q instanceof T)return Q;return q.$.node("morph",{morphs:[X],in:Q})}return q.$.node("morph",{morphs:[X],in:U})};class A0 extends B2{constructor(U,X){super(U,X);Object.defineProperty(this,Z0,{value:"constraint",enumerable:!1})}impliedSiblings;intersect(U){return $0(this,U,this.$)}}class h0 extends A0{traverseApply=(U,X)=>{if(!this.traverseAllows(U,X))X.errorFromNodeContext(this.errorContext)};compile(U){if(U.traversalKind==="Allows")U.return(this.compiledCondition);else U.if(this.compiledNegation,()=>U.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return s0(this.errorContext)}}var q0=(U)=>(X,q)=>{if(h(X)){if(X.length===0)return;let Q=X.map((G)=>q.$.node(U,G));if(U==="predicate")return Q;return Q.sort((G,Y)=>G.hash<Y.hash?-1:1)}let Z=q.$.node(U,X);return Z.hasOpenIntersection()?[Z]:Z},b1=(U)=>{let X=U.r.shift();if(!X){let Z=U.l.length===0&&U.kind==="structure"?A.intrinsic.unknown.internal:U.ctx.$.node(U.kind,Object.assign(U.baseInner,mG(U.l)),{prereduced:!0});for(let Q of U.roots){if(Z instanceof T)return Z;Z=u(Q,Z,U.ctx)}return Z}let q=!1;for(let Z=0;Z<U.l.length;Z++){let Q=u(U.l[Z],X,U.ctx);if(Q===null)continue;if(Q instanceof T)return Q;if(Q.isRoot())return U.roots.push(Q),U.l.splice(Z),b1(U);if(!q)U.l[Z]=Q,q=!0;else if(!U.l.includes(Q))return y(`Unexpectedly encountered multiple distinct intersection results for refinement ${X}`)}if(!q)U.l.push(X);if(U.kind==="intersection"){if(X.impliedSiblings)for(let Z of X.impliedSiblings)C0(U.r,Z)}return b1(U)},f1=(U)=>{return Object.entries(U).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)},mG=(U)=>{let X={};for(let q of U)if(q.hasOpenIntersection())X[q.kind]=g(X[q.kind],q);else{if(X[q.kind])return y(`Unexpected intersection of closed refinements of kind ${q.kind}`);X[q.kind]=q}return X},Jq=(...U)=>F(Hq(...U)),Hq=(U,X,q)=>{let Z=q.hasKind("morph")?"a morph":q.isUnknown()?"unknown":q.exclude(X).defaultShortDescription;return`${gX(U)} operand must be ${X.description} (was ${Z})`};var Wq=(U,X,q)=>new r0(U,X,q,q,null);class O6 extends H0{}class r0 extends H0{[Z0]="generic";paramDefs;bodyDef;$;arg$;baseInstantiation;hkt;description;constructor(U,X,q,Z,Q){super((...G)=>{let Y=S(this.names,(J,H)=>{let W=this.arg$.parse(G[J]);if(!W.extends(this.constraints[J]))F(pG(H,this.constraints[J].expression,W.expression));return[H,W]});if(this.defIsLazy()){let J=this.bodyDef(Y);return this.$.parse(J)}return this.$.parse(X,{args:Y})});this.paramDefs=U,this.bodyDef=X,this.$=q,this.arg$=Z,this.hkt=Q,this.description=Q?new Q().description??`a generic type for ${Q.constructor.name}`:"a generic type",this.baseInstantiation=this(...this.constraints)}defIsLazy(){return this.bodyDef instanceof O6}cacheGetter(U,X){return Object.defineProperty(this,U,{value:X}),X}get json(){return this.cacheGetter("json",{params:this.params.map((U)=>U[1].isUnknown()?U[0]:[U[0],U[1].json]),body:iX(this.bodyDef)})}get params(){return this.cacheGetter("params",this.paramDefs.map((U)=>typeof U==="string"?[U,A.intrinsic.unknown]:[U[0],this.$.parse(U[1])]))}get names(){return this.cacheGetter("names",this.params.map((U)=>U[0]))}get constraints(){return this.cacheGetter("constraints",this.params.map((U)=>U[1]))}get internal(){return this}get referencesById(){return this.baseInstantiation.internal.referencesById}get references(){return this.baseInstantiation.internal.references}}var pG=(U,X,q)=>`${U} must be assignable to ${X} (was ${q})`;var lG=j({kind:"predicate",hasAssociatedError:!0,collapsibleKey:"predicate",keys:{predicate:{}},normalize:(U)=>typeof U==="function"?{predicate:U}:U,defaults:{description:(U)=>`valid according to ${U.predicate.name||"an anonymous predicate"}`},intersectionIsOpen:!0,intersections:{predicate:()=>null}});class _q extends A0{serializedPredicate=d(this.predicate);compiledCondition=`${this.serializedPredicate}(data, ctx)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=null;expression=this.serializedPredicate;traverseAllows=this.predicate;errorContext={code:"predicate",description:this.description,meta:this.meta};compiledErrorContext=s0(this.errorContext);traverseApply=(U,X)=>{let q=X.currentErrorCount;if(!this.predicate(U,X.external)&&X.currentErrorCount===q)X.errorFromNodeContext(this.errorContext)};compile(U){if(U.traversalKind==="Allows"){U.return(this.compiledCondition);return}U.initializeErrorCount(),U.if(`${this.compiledNegation} && ctx.currentErrorCount === errorCount`,()=>U.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}reduceJsonSchema(U,X){return X.fallback.predicate({code:"predicate",base:U,predicate:this.predicate})}}var eU={implementation:lG,Node:_q};var dG=j({kind:"divisor",collapsibleKey:"rule",keys:{rule:{parse:(U)=>Number.isInteger(U)?U:F(cG(U))}},normalize:(U)=>typeof U==="number"?{rule:U}:U,hasAssociatedError:!0,defaults:{description:(U)=>U.rule===1?"an integer":U.rule===2?"even":`a multiple of ${U.rule}`},intersections:{divisor:(U,X,q)=>q.$.node("divisor",{rule:Math.abs(U.rule*X.rule/iG(U.rule,X.rule))})},obviatesBasisDescription:!0});class $q extends h0{traverseAllows=(U)=>U%this.rule===0;compiledCondition=`data % ${this.rule} === 0`;compiledNegation=`data % ${this.rule} !== 0`;impliedBasis=A.intrinsic.number.internal;expression=`% ${this.rule}`;reduceJsonSchema(U){if(U.type="integer",this.rule===1)return U;return U.multipleOf=this.rule,U}}var U4={implementation:dG,Node:$q};var cG=(U)=>`divisor must be an integer (was ${U})`,iG=(U,X)=>{let q,Z=U,Q=X;while(Q!==0)q=Q,Q=Z%Q,Z=q;return Z};class z0 extends h0{boundOperandKind=aG[this.kind];compiledActual=this.boundOperandKind==="value"?"data":this.boundOperandKind==="length"?"data.length":"data.valueOf()";comparator=nG(this.kind,this.exclusive);numericLimit=this.rule.valueOf();expression=`${this.comparator} ${this.rule}`;compiledCondition=`${this.compiledActual} ${this.comparator} ${this.numericLimit}`;compiledNegation=`${this.compiledActual} ${sG[this.comparator]} ${this.numericLimit}`;stringLimit=this.boundOperandKind==="date"?tG(this.numericLimit):`${this.numericLimit}`;limitKind=this.comparator["0"]==="<"?"upper":"lower";isStricterThan(U){return(this.limitKind==="upper"?this.numericLimit<U.numericLimit:this.numericLimit>U.numericLimit)||this.numericLimit===U.numericLimit&&this.exclusive===!0&&!U.exclusive}overlapsRange(U){if(this.isStricterThan(U))return!1;if(this.numericLimit===U.numericLimit&&(this.exclusive||U.exclusive))return!1;return!0}overlapIsUnit(U){return this.numericLimit===U.numericLimit&&!this.exclusive&&!U.exclusive}}var sG={"<":">=","<=":">",">":"<=",">=":"<"},oG={min:"max",minLength:"maxLength",after:"before"},T6={parse:(U)=>U||void 0},B6=(U)=>(X)=>{if(typeof X==="number")return{rule:X};let{exclusive:q,...Z}=X;return q?{...Z,rule:U==="minLength"?Z.rule+1:Z.rule-1}:Z},R6=(U)=>(X)=>{if(typeof X==="number"||typeof X==="string"||X instanceof Date)return{rule:X};let{exclusive:q,...Z}=X;if(!q)return Z;let Q=typeof Z.rule==="number"?Z.rule:typeof Z.rule==="string"?new Date(Z.rule).valueOf():Z.rule.valueOf();return q?{...Z,rule:U==="after"?Q+1:Q-1}:Z},D6=(U)=>typeof U==="string"||typeof U==="number"?new Date(U):U,rG=(U,X)=>`${U} bound must be a positive integer (was ${X})`,g1=(U)=>(X)=>{if(!Number.isInteger(X)||X<0)F(rG(U,X));return X},aG={min:"value",max:"value",minLength:"length",maxLength:"length",after:"date",before:"date"},nG=(U,X)=>`${a(U,oG)?">":"<"}${X?"":"="}`,tG=(U)=>typeof U==="string"?U:new Date(U).toLocaleString(),Lq=(U)=>`Bounded expression ${U} must be exactly one of number, string, Array, or Date`;var eG=j({kind:"after",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:D6,serialize:(U)=>U.toISOString()}},normalize:R6("after"),defaults:{description:(U)=>`${U.collapsibleLimitString} or later`,actual:$1},intersections:{after:(U,X)=>U.isStricterThan(X)?U:X}});class zq extends z0{impliedBasis=A.intrinsic.Date.internal;collapsibleLimitString=$1(this.rule);traverseAllows=(U)=>U>=this.rule;reduceJsonSchema(U,X){return X.fallback.date({code:"date",base:U,after:this.rule})}}var X4={implementation:eG,Node:zq};var U5=j({kind:"before",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:D6,serialize:(U)=>U.toISOString()}},normalize:R6("before"),defaults:{description:(U)=>`${U.collapsibleLimitString} or earlier`,actual:$1},intersections:{before:(U,X)=>U.isStricterThan(X)?U:X,after:(U,X,q)=>U.overlapsRange(X)?U.overlapIsUnit(X)?q.$.node("unit",{unit:U.rule}):null:T.init("range",U,X)}});class Fq extends z0{collapsibleLimitString=$1(this.rule);traverseAllows=(U)=>U<=this.rule;impliedBasis=A.intrinsic.Date.internal;reduceJsonSchema(U,X){return X.fallback.date({code:"date",base:U,before:this.rule})}}var q4={implementation:U5,Node:Fq};var X5=j({kind:"exactLength",collapsibleKey:"rule",keys:{rule:{parse:g1("exactLength")}},normalize:(U)=>typeof U==="number"?{rule:U}:U,hasAssociatedError:!0,defaults:{description:(U)=>`exactly length ${U.rule}`,actual:(U)=>`${U.length}`},intersections:{exactLength:(U,X,q)=>T.init("unit",q.$.node("unit",{unit:U.rule}),q.$.node("unit",{unit:X.rule}),{path:["length"]}),minLength:(U,X)=>U.rule>=X.rule?U:T.init("range",U,X),maxLength:(U,X)=>U.rule<=X.rule?U:T.init("range",U,X)}});class Vq extends h0{traverseAllows=(U)=>U.length===this.rule;compiledCondition=`data.length === ${this.rule}`;compiledNegation=`data.length !== ${this.rule}`;impliedBasis=A.intrinsic.lengthBoundable.internal;expression=`== ${this.rule}`;reduceJsonSchema(U){switch(U.type){case"string":return U.minLength=this.rule,U.maxLength=this.rule,U;case"array":return U.minItems=this.rule,U.maxItems=this.rule,U;default:return p.throwInternalOperandError("exactLength",U)}}}var Z4={implementation:X5,Node:Vq};var q5=j({kind:"max",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:T6},normalize:(U)=>typeof U==="number"?{rule:U}:U,defaults:{description:(U)=>{if(U.rule===0)return U.exclusive?"negative":"non-positive";return`${U.exclusive?"less than":"at most"} ${U.rule}`}},intersections:{max:(U,X)=>U.isStricterThan(X)?U:X,min:(U,X,q)=>U.overlapsRange(X)?U.overlapIsUnit(X)?q.$.node("unit",{unit:U.rule}):null:T.init("range",U,X)},obviatesBasisDescription:!0});class Aq extends z0{impliedBasis=A.intrinsic.number.internal;traverseAllows=this.exclusive?(U)=>U<this.rule:(U)=>U<=this.rule;reduceJsonSchema(U){if(this.exclusive)U.exclusiveMaximum=this.rule;else U.maximum=this.rule;return U}}var Q4={implementation:q5,Node:Aq};var Z5=j({kind:"maxLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:g1("maxLength")}},reduce:(U,X)=>U.rule===0?X.node("exactLength",U):void 0,normalize:B6("maxLength"),defaults:{description:(U)=>`at most length ${U.rule}`,actual:(U)=>`${U.length}`},intersections:{maxLength:(U,X)=>U.isStricterThan(X)?U:X,minLength:(U,X,q)=>U.overlapsRange(X)?U.overlapIsUnit(X)?q.$.node("exactLength",{rule:U.rule}):null:T.init("range",U,X)}});class Oq extends z0{impliedBasis=A.intrinsic.lengthBoundable.internal;traverseAllows=(U)=>U.length<=this.rule;reduceJsonSchema(U){switch(U.type){case"string":return U.maxLength=this.rule,U;case"array":return U.maxItems=this.rule,U;default:return p.throwInternalOperandError("maxLength",U)}}}var G4={implementation:Z5,Node:Oq};var Q5=j({kind:"min",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:T6},normalize:(U)=>typeof U==="number"?{rule:U}:U,defaults:{description:(U)=>{if(U.rule===0)return U.exclusive?"positive":"non-negative";return`${U.exclusive?"more than":"at least"} ${U.rule}`}},intersections:{min:(U,X)=>U.isStricterThan(X)?U:X},obviatesBasisDescription:!0});class Tq extends z0{impliedBasis=A.intrinsic.number.internal;traverseAllows=this.exclusive?(U)=>U>this.rule:(U)=>U>=this.rule;reduceJsonSchema(U){if(this.exclusive)U.exclusiveMinimum=this.rule;else U.minimum=this.rule;return U}}var Y4={implementation:Q5,Node:Tq};var G5=j({kind:"minLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:g1("minLength")}},reduce:(U)=>U.rule===0?A.intrinsic.unknown:void 0,normalize:B6("minLength"),defaults:{description:(U)=>U.rule===1?"non-empty":`at least length ${U.rule}`,actual:(U)=>U.length===0?"":`${U.length}`},intersections:{minLength:(U,X)=>U.isStricterThan(X)?U:X}});class Bq extends z0{impliedBasis=A.intrinsic.lengthBoundable.internal;traverseAllows=(U)=>U.length>=this.rule;reduceJsonSchema(U){switch(U.type){case"string":return U.minLength=this.rule,U;case"array":return U.minItems=this.rule,U;default:return p.throwInternalOperandError("minLength",U)}}}var J4={implementation:G5,Node:Bq};var Rq={min:Y4.implementation,max:Q4.implementation,minLength:J4.implementation,maxLength:G4.implementation,exactLength:Z4.implementation,after:X4.implementation,before:q4.implementation},Dq={min:Y4.Node,max:Q4.Node,minLength:J4.Node,maxLength:G4.Node,exactLength:Z4.Node,after:X4.Node,before:q4.Node};var Y5=j({kind:"pattern",collapsibleKey:"rule",keys:{rule:{},flags:{}},normalize:(U)=>typeof U==="string"?{rule:U}:U instanceof RegExp?U.flags?{rule:U.source,flags:U.flags}:{rule:U.source}:U,obviatesBasisDescription:!0,obviatesBasisExpression:!0,hasAssociatedError:!0,intersectionIsOpen:!0,defaults:{description:(U)=>`matched by ${U.rule}`},intersections:{pattern:()=>null}});class Mq extends h0{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=A.intrinsic.string.internal;reduceJsonSchema(U,X){if(U.pattern)return X.fallback.patternIntersection({code:"patternIntersection",base:U,pattern:this.rule});return U.pattern=this.rule,U}}var H4={implementation:Y5,Node:Mq};var D2=(U,X)=>{let q=J5(U);if(X&&!X.includes(q))return F(`Root of kind ${q} should be one of ${X}`);return q},J5=(U)=>{if(M(U,"root"))return U.kind;if(typeof U==="string")return U[0]==="$"?"alias":(U in Y0)?"domain":"proto";if(typeof U==="function")return"proto";if(typeof U!=="object"||U===null)return F(Pq(U));if("morphs"in U)return"morph";if("branches"in U||h(U))return"union";if("unit"in U)return"unit";if("reference"in U)return"alias";let X=Object.keys(U);if(X.length===0||X.some((q)=>(q in V6)))return"intersection";if("proto"in U)return"proto";if("domain"in U)return"domain";return F(Pq(U))},Pq=(U)=>`${E(U)} is not a valid type schema`,wq={},H5=(U)=>h(U)?U.map((X)=>X.collapsibleJson):U.collapsibleJson,Q0={};A.nodesByRegisteredId=Q0;var W4=(U)=>{return wq[U]??=0,`${U}${++wq[U]}`},_4=(U)=>{let X=y1[U.kind],q=X.applyConfig?.(U.def,U.$.resolvedConfig)??U.def,Z={},{meta:Q,...G}=q,Y=Q===void 0?{}:typeof Q==="string"?{description:Q}:Q,J=fU(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],_=X.keys[$];if(!_)return F(`Key ${$} is not valid on ${U.kind} schema`);let L=_.parse?_.parse(W[1],U):W[1];if(L!==J0&&(L!==void 0||_.preserveUndefined))Z[$]=L}if(X.reduce&&!U.prereduced){let W=X.reduce(Z,U.$);if(W){if(W instanceof T)return W.throw();return W5(W,Y)}}return $4({id:U.id,kind:U.kind,inner:Z,meta:Y,$:U.$})},$4=({id:U,kind:X,inner:q,meta:Z,$:Q,ignoreCache:G})=>{let Y=y1[X],J=fU(q),H=[],W={};for(let[D,w]of J){let K=Y.keys[D],C=K.serialize??(K.child?H5:V0);if(W[D]=C(w),K.child===!0){let N=w;if(h(N))H.push(...N);else H.push(N)}else if(typeof K.child==="function")H.push(...K.child(w))}if(Y.finalizeInnerJson)W=Y.finalizeInnerJson(W);let $={...W},_={};if(!S0(Z))_=S(Z,(D,w)=>[D,D==="examples"?w:V0(w)]),$.meta=M6(_,"description",!0);W=M6(W,Y.collapsibleKey,!1);let L=JSON.stringify({kind:X,...W});$=M6($,Y.collapsibleKey,!1);let V=M6($,Y.collapsibleKey,!0),B=JSON.stringify({kind:X,...$});if(Q.nodesByHash[B]&&!G)return Q.nodesByHash[B];let z={id:U,kind:X,impl:Y,inner:q,innerEntries:J,innerJson:W,innerHash:L,meta:Z,metaJson:_,json:$,hash:B,collapsibleJson:V,children:H};if(X!=="intersection"){for(let D in q)if(D!=="in"&&D!=="out")z[D]=q[D]}let O=new Kq[X](z,Q);return Q.nodesByHash[B]=O},Iq=(U,X)=>{if(U.id===X)return U;if(x(Q0[X]))y(`Unexpected attempt to overwrite node id ${X}`);return $4({id:X,kind:U.kind,inner:U.inner,meta:U.meta,$:U.$,ignoreCache:!0})},W5=(U,X,q)=>{if(q&&x(Q0[q]))y(`Unexpected attempt to overwrite node id ${q}`);return $4({id:q??W4(X.alias??U.kind),kind:U.kind,inner:U.inner,meta:X,$:U.$})},M6=(U,X,q)=>{let Z=Object.keys(U);if(Z.length===1&&Z[0]===X){let Q=U[X];if(q)return Q;if(G0(Q,"object")&&(Object.keys(Q).length===1||Array.isArray(Q)))return Q}return U};var M2=(U,X,q)=>{if(U.key!==X.key)return null;let Z=U.key,Q=u(U.value,X.value,q),G=U.required||X.required?"required":"optional";if(Q instanceof T)if(G==="optional")Q=A.intrinsic.never.internal;else return Q.withPrefixKey(U.key,U.required&&X.required?"required":"optional");if(G==="required")return q.$.node("required",{key:Z,value:Q});let Y=U.hasDefault()?X.hasDefault()?U.default===X.default?U.default:F(L4(U.default,X.default)):U.default:X.hasDefault()?X.default:J0;return q.$.node("optional",{key:Z,value:Q,default:Y})};class P2 extends A0{required=this.kind==="required";optional=this.kind==="optional";impliedBasis=A.intrinsic.object.internal;serializedKey=M0(this.key);compiledKey=typeof this.key==="string"?this.key:this.serializedKey;flatRefs=g(this.value.flatRefs.map((U)=>w0([this.key,...U.path],U.node)),w0([this.key],this.value));_transform(U,X){X.path.push(this.key);let q=super._transform(U,X);return X.path.pop(),q}hasDefault(){return"default"in this.inner}traverseAllows=(U,X)=>{if(this.key in U)return _0(this.key,()=>this.value.traverseAllows(U[this.key],X),X);return this.optional};traverseApply=(U,X)=>{if(this.key in U)_0(this.key,()=>this.value.traverseApply(U[this.key],X),X);else if(this.hasKind("required"))X.errorFromNodeContext(this.errorContext)};compile(U){if(U.if(`${this.serializedKey} in data`,()=>U.traverseKey(this.serializedKey,`data${U.prop(this.key)}`,this.value)),this.hasKind("required"))U.else(()=>U.traversalKind==="Apply"?U.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`):U.return(!1));if(U.traversalKind==="Allows")U.return(!0)}}var L4=(U,X)=>`Invalid intersection of default values ${E(U)} & ${E(X)}`;var _5=j({kind:"optional",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(U,X)=>X.$.parseSchema(U)},default:{preserveUndefined:!0}},normalize:(U)=>U,reduce:(U,X)=>{if(X.resolvedConfig.exactOptionalPropertyTypes===!1){if(!U.value.allows(void 0))return X.node("optional",{...U,value:U.value.or(I.undefined)},{prereduced:!0})}},defaults:{description:(U)=>`${U.compiledKey}?: ${U.value.description}`},intersections:{optional:M2}});class Nq extends P2{constructor(...U){super(...U);if("default"in this.inner)I2(this.value,this.inner.default,this.key)}get rawIn(){let U=super.rawIn;if(!this.hasDefault())return U;return this.$.node("optional",H6(U.inner,{default:!0}),{prereduced:!0})}get outProp(){if(!this.hasDefault())return this;let{default:U,...X}=this.inner;return this.cacheGetter("outProp",this.$.node("required",X,{prereduced:!0}))}expression=this.hasDefault()?`${this.compiledKey}: ${this.value.expression} = ${E(this.inner.default)}`:`${this.compiledKey}?: ${this.value.expression}`;defaultValueMorph=L5(this);defaultValueMorphRef=this.defaultValueMorph&&d(this.defaultValueMorph)}var w2={implementation:_5,Node:Nq},$5={},L5=(U)=>{if(!U.hasDefault())return;let X=`{${U.compiledKey}: ${U.value.id} = ${V0(U.default)}}`;return $5[X]??=z4(U.key,U.value,U.default)},z4=(U,X,q)=>{if(typeof q==="function")return X.includesTransform?(Q,G)=>{return _0(U,()=>X(Q[U]=q(),G),G),Q}:(Q)=>{return Q[U]=q(),Q};let Z=X.includesTransform?X.assert(q):q;return G0(Z,"object")?(Q,G)=>{return _0(U,()=>X(Q[U]=q,G),G),Q}:(Q)=>{return Q[U]=Z,Q}},I2=(U,X,q)=>{let Z=d0(X);if(G0(X,"object")&&!Z)F(z5(q));let Q=U.in(Z?X():X);if(Q instanceof W0){if(q===null)F(`Default ${Q.summary}`);let G=Q.transform((Y)=>Y.transform((J)=>({...J,prefixPath:[q]})));F(`Default for ${G.summary}`)}return X},z5=(U)=>{return`Non-primitive default ${U===null?"":typeof U==="number"?`for value at [${U}] `:`for ${M0(U)} `}must be specified as a function like () => ({my: 'object'})`};class O0 extends B2{constructor(U,X){super(U,X);Object.defineProperty(this,Z0,{value:"root",enumerable:!1})}get rawIn(){return super.rawIn}get rawOut(){return super.rawOut}get internal(){return this}get "~standard"(){return{vendor:"arktype",version:1,validate:(U)=>{let X=this(U);if(X instanceof W0)return X;return{value:X}},jsonSchema:{input:(U)=>this.rawIn.toJsonSchema({target:Cq(U.target),...U.libraryOptions}),output:(U)=>this.rawOut.toJsonSchema({target:Cq(U.target),...U.libraryOptions})}}}as(){return this}brand(U){if(U==="")return F(F5);return this}readonly(){return this}branches=this.hasKind("union")?this.inner.branches:[this];distribute(U,X){let q=this.branches.map(U);return X?.(q)??q}get shortDescription(){return this.meta.description??this.defaultShortDescription}toJsonSchema(U={}){let X=sU(this.$.resolvedConfig.toJsonSchema,U);X.useRefs||=this.isCyclic;let q=typeof X.dialect==="string"?{$schema:X.dialect}:{};if(Object.assign(q,this.toJsonSchemaRecurse(X)),X.useRefs){let Z=S(this.references,(Q,G)=>G.isRoot()&&!G.alwaysExpandJsonSchema?[G.id,G.toResolvedJsonSchema(X)]:[]);if(X.target==="draft-07")Object.assign(q,{definitions:Z});else q.$defs=Z}return q}toJsonSchemaRecurse(U){if(U.useRefs&&!this.alwaysExpandJsonSchema)return{$ref:`#/${U.target==="draft-07"?"definitions":"$defs"}/${this.id}`};return this.toResolvedJsonSchema(U)}get alwaysExpandJsonSchema(){return this.isBasis()||this.kind==="alias"||this.hasKind("union")&&this.isBoolean}toResolvedJsonSchema(U){let X=this.innerToJsonSchema(U);return Object.assign(X,this.metaJson)}intersect(U){let X=this.$.parseDefinition(U),q=this.rawIntersect(X);if(q instanceof T)return q;return this.$.finalize(q)}rawIntersect(U){return $0(this,U,this.$)}toNeverIfDisjoint(){return this}and(U){let X=this.intersect(U);return X instanceof T?X.throw():X}rawAnd(U){let X=this.rawIntersect(U);return X instanceof T?X.throw():X}or(U){let X=this.$.parseDefinition(U);return this.$.finalize(this.rawOr(X))}rawOr(U){let X=[...this.branches,...U.branches];return this.$.node("union",X)}map(U){return this.$.schema(this.applyStructuralOperation("map",[U]))}pick(...U){return this.$.schema(this.applyStructuralOperation("pick",U))}omit(...U){return this.$.schema(this.applyStructuralOperation("omit",U))}required(){return this.$.schema(this.applyStructuralOperation("required",[]))}partial(){return this.$.schema(this.applyStructuralOperation("partial",[]))}_keyof;keyof(){if(this._keyof)return this._keyof;let U=this.applyStructuralOperation("keyof",[]).reduce((X,q)=>X.intersect(q).toNeverIfDisjoint(),A.intrinsic.unknown.internal);if(U.branches.length===0)F(nU(`keyof ${this.expression}`));return this._keyof=this.$.finalize(U)}get props(){if(this.branches.length!==1)return F(A5(this.expression));return[...this.applyStructuralOperation("props",[])[0]]}merge(U){let X=this.$.parseDefinition(U);return this.$.schema(X.distribute((q)=>this.applyStructuralOperation("merge",[Sq(q)??F(Eq("merge",q.expression))])))}applyStructuralOperation(U,X){return this.distribute((q)=>{if(q.equals(A.intrinsic.object)&&U!=="merge")return q;let Z=Sq(q);if(!Z)F(Eq(U,q.expression));if(U==="keyof")return Z.keyof();if(U==="get")return Z.get(...X);if(U==="props")return Z.props;let Q=U==="required"?"require":U==="partial"?"optionalize":U;return this.$.node("intersection",{domain:"object",structure:Z[Q](...X)})})}get(...U){if(U[0]===void 0)return this;return this.$.schema(this.applyStructuralOperation("get",U))}extract(U){let X=this.$.parseDefinition(U);return this.$.schema(this.branches.filter((q)=>q.extends(X)))}exclude(U){let X=this.$.parseDefinition(U);return this.$.schema(this.branches.filter((q)=>!q.extends(X)))}array(){return this.$.schema(this.isUnknown()?{proto:Array}:{proto:Array,sequence:this},{prereduced:!0})}overlaps(U){return!(this.intersect(U)instanceof T)}extends(U){if(this.isNever())return!0;let X=this.intersect(U);return!(X instanceof T)&&this.equals(X)}ifExtends(U){return this.extends(U)?this:void 0}subsumes(U){return this.$.parseDefinition(U).extends(this)}configure(U,X="shallow"){return this.configureReferences(U,X)}describe(U,X="shallow"){return this.configure({description:U},X)}optional(){return[this,"?"]}default(U){return I2(this,U,null),[this,"=",U]}from(U){return this.assert(U)}_pipe(...U){let X=U.reduce((q,Z)=>q.rawPipeOnce(Z),this);return this.$.finalize(X)}tryPipe(...U){let X=U.reduce((q,Z)=>q.rawPipeOnce(M(Z,"root")?Z:(Q,G)=>{try{return Z(Q,G)}catch(Y){return G.error({code:"predicate",predicate:Z,actual:`aborted due to error:
|
|
161
|
-
${Y}
|
|
162
|
-
`})}}),this);return this.$.finalize(X)}pipe=Object.assign(this._pipe.bind(this),{try:this.tryPipe.bind(this)});to(U){return this.$.finalize(this.toNode(this.$.parseDefinition(U)))}toNode(U){let X=R2(this,U,this.$);if(X instanceof T)return X.throw();return X}rawPipeOnce(U){if(M(U,"root"))return this.toNode(U);return this.distribute((X)=>X.hasKind("morph")?this.$.node("morph",{in:X.inner.in,morphs:[...X.morphs,U]}):this.$.node("morph",{in:X,morphs:[U]}),this.$.parseSchema)}narrow(U){return this.constrainOut("predicate",U)}constrain(U,X){return this._constrain("root",U,X)}constrainIn(U,X){return this._constrain("in",U,X)}constrainOut(U,X){return this._constrain("out",U,X)}_constrain(U,X,q){let Z=this.$.node(X,q);if(Z.isRoot())return Z.isUnknown()?this:y(`Unexpected constraint node ${Z}`);let Q=U==="root"?this:U==="in"?this.rawIn:this.rawOut;if(Q.hasKind("morph")||Z.impliedBasis&&!Q.extends(Z.impliedBasis))return Jq(X,Z.impliedBasis,this);let G=this.$.node("intersection",{[Z.kind]:Z}),Y=U==="out"?R2(this,G,this.$):$0(this,G,this.$);if(Y instanceof T)Y.throw();return this.$.finalize(Y)}onUndeclaredKey(U){let X=typeof U==="string"?U:U.rule,q=typeof U==="string"?!1:U.deep;return this.$.finalize(this.transform((Z,Q)=>Z==="structure"?X==="ignore"?H6(Q,{undeclared:1}):{...Q,undeclared:X}:Q,q?void 0:{shouldTransform:(Z)=>!F0(N1,Z.kind)}))}hasEqualMorphs(U){if(!this.includesTransform&&!U.includesTransform)return!0;if(!y0(this.shallowMorphs,U.shallowMorphs))return!1;if(!y0(this.flatMorphs,U.flatMorphs,{isEqual:(X,q)=>X.propString===q.propString&&(X.node.hasKind("morph")&&q.node.hasKind("morph")?X.node.hasEqualMorphs(q.node):X.node.hasKind("intersection")&&q.node.hasKind("intersection")?X.node.structure?.structuralMorphRef===q.node.structure?.structuralMorphRef:!1)}))return!1;return!0}onDeepUndeclaredKey(U){return this.onUndeclaredKey({rule:U,deep:!0})}filter(U){return this.constrainIn("predicate",U)}divisibleBy(U){return this.constrain("divisor",U)}matching(U){return this.constrain("pattern",U)}atLeast(U){return this.constrain("min",U)}atMost(U){return this.constrain("max",U)}moreThan(U){return this.constrain("min",k1(U))}lessThan(U){return this.constrain("max",k1(U))}atLeastLength(U){return this.constrain("minLength",U)}atMostLength(U){return this.constrain("maxLength",U)}moreThanLength(U){return this.constrain("minLength",k1(U))}lessThanLength(U){return this.constrain("maxLength",k1(U))}exactlyLength(U){return this.constrain("exactLength",U)}atOrAfter(U){return this.constrain("after",U)}atOrBefore(U){return this.constrain("before",U)}laterThan(U){return this.constrain("after",k1(U))}earlierThan(U){return this.constrain("before",k1(U))}}var F5="Expected a non-empty brand name after #",jq=["draft-2020-12","draft-07"],V5=(U)=>`JSONSchema target '${U}' is not supported (must be ${jq.map((X)=>`"${X}"`).join(" or ")})`,Cq=(U)=>{if(!F0(jq,U))F(V5(U));return U},k1=(U)=>typeof U==="object"&&!(U instanceof Date)?{...U,exclusive:!0}:{rule:U,exclusive:!0},K2=(U,X)=>M(X,"root")?M(U,"root")?U.extends(X):X.allows(U):M(U,"root")?U.hasUnit(X):X===U,Sq=(U)=>{if(U.hasKind("morph"))return null;if(U.hasKind("intersection"))return U.inner.structure??(U.basis?.domain==="object"?U.$.bindReference(A.intrinsic.emptyStructure):null);if(U.isBasis()&&U.domain==="object")return U.$.bindReference(A.intrinsic.emptyStructure);return null},A5=(U)=>`Props cannot be extracted from a union. Use .distribute to extract props from each branch instead. Received:
|
|
163
|
-
${U}`,Eq=(U,X)=>`${U} operand must be an object (was ${X})`;var E0=(U,X)=>S(A6(U),(q,Z)=>[Z,X]);var O5=(U)=>typeof U==="string"?{reference:U}:U,bq=(U)=>U instanceof T?A.intrinsic.never.internal:U,T5=j({kind:"alias",hasAssociatedError:!1,collapsibleKey:"reference",keys:{reference:{serialize:(U)=>U.startsWith("$")?U:`$ark.${U}`},resolve:{}},normalize:O5,defaults:{description:(U)=>U.reference},intersections:{alias:(U,X,q)=>q.$.lazilyResolve(()=>bq(u(U.resolution,X.resolution,q)),`${U.reference}${q.pipe?"=>":"&"}${X.reference}`),...E0("alias",(U,X,q)=>{if(X.isUnknown())return U;if(X.isNever())return X;if(X.isBasis()&&!X.overlaps(A.intrinsic.object))return T.init("assignability",A.intrinsic.object,X);return q.$.lazilyResolve(()=>bq(u(U.resolution,X,q)),`${U.reference}${q.pipe?"=>":"&"}${X.id}`)})}});class fq extends O0{expression=this.reference;structure=void 0;get resolution(){let U=this._resolve();return Q0[this.id]=U}_resolve(){if(this.resolve)return this.resolve();if(this.reference[0]==="$")return this.$.resolveRoot(this.reference.slice(1));let U=this.reference,X=Q0[U],q=[];while(M(X,"context")){if(q.includes(X.id))return F(B5(X.id,q));q.push(X.id),X=Q0[X.id]}if(!M(X,"root"))return y(`Unexpected resolution for reference ${this.reference}
|
|
164
|
-
Seen: [${q.join("->")}]
|
|
165
|
-
Resolution: ${E(X)}`);return X}get resolutionId(){if(this.reference.includes("&")||this.reference.includes("=>"))return this.resolution.id;if(this.reference[0]!=="$")return this.reference;let U=this.reference.slice(1),X=this.$.resolutions[U];if(typeof X==="string")return X;if(M(X,"root"))return X.id;return y(`Unexpected resolution for reference ${this.reference}: ${E(X)}`)}get defaultShortDescription(){return Y0.object}innerToJsonSchema(U){return this.resolution.toJsonSchemaRecurse(U)}traverseAllows=(U,X)=>{let q=X.seen[this.reference];if(q?.includes(U))return!0;return X.seen[this.reference]=g(q,U),this.resolution.traverseAllows(U,X)};traverseApply=(U,X)=>{let q=X.seen[this.reference];if(q?.includes(U))return;X.seen[this.reference]=g(q,U),this.resolution.traverseApply(U,X)};compile(U){let X=this.resolutionId;U.if(`ctx.seen.${X} && ctx.seen.${X}.includes(data)`,()=>U.return(!0)),U.if(`!ctx.seen.${X}`,()=>U.line(`ctx.seen.${X} = []`)),U.line(`ctx.seen.${X}.push(data)`),U.return(U.invoke(X))}}var B5=(U,X)=>`Alias '${U}' has a shallow resolution cycle: ${[...X,U].join("->")}`,N2={implementation:T5,Node:fq};class L1 extends O0{traverseApply=(U,X)=>{if(!this.traverseAllows(U,X))X.errorFromNodeContext(this.errorContext)};get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return s0(this.errorContext)}compile(U){if(U.traversalKind==="Allows")U.return(this.compiledCondition);else U.if(this.compiledNegation,()=>U.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}}var R5=j({kind:"domain",hasAssociatedError:!0,collapsibleKey:"domain",keys:{domain:{},numberAllowsNaN:{}},normalize:(U)=>typeof U==="string"?{domain:U}:I1(U,"numberAllowsNaN")&&U.domain!=="number"?F(P6.writeBadAllowNanMessage(U.domain)):U,applyConfig:(U,X)=>U.numberAllowsNaN===void 0&&U.domain==="number"&&X.numberAllowsNaN?{...U,numberAllowsNaN:!0}:U,defaults:{description:(U)=>Y0[U.domain],actual:(U)=>Number.isNaN(U)?"NaN":Y0[r(U)]},intersections:{domain:(U,X)=>U.domain==="number"&&X.domain==="number"?U.numberAllowsNaN?X:U:T.init("domain",U,X)}});class gq extends L1{requiresNaNCheck=this.domain==="number"&&!this.numberAllowsNaN;traverseAllows=this.requiresNaNCheck?(U)=>typeof U==="number"&&!Number.isNaN(U):(U)=>r(U)===this.domain;compiledCondition=this.domain==="object"?'((typeof data === "object" && data !== null) || typeof data === "function")':`typeof data === "${this.domain}"${this.requiresNaNCheck?" && !Number.isNaN(data)":""}`;compiledNegation=this.domain==="object"?'((typeof data !== "object" || data === null) && typeof data !== "function")':`typeof data !== "${this.domain}"${this.requiresNaNCheck?" || Number.isNaN(data)":""}`;expression=this.numberAllowsNaN?"number | NaN":this.domain;get nestableExpression(){return this.numberAllowsNaN?`(${this.expression})`:this.expression}get defaultShortDescription(){return Y0[this.domain]}innerToJsonSchema(U){if(this.domain==="bigint"||this.domain==="symbol")return U.fallback.domain({code:"domain",base:{},domain:this.domain});return{type:this.domain}}}var P6={implementation:R5,Node:gq,writeBadAllowNanMessage:(U)=>`numberAllowsNaN may only be specified with domain "number" (was ${U})`};var D5=j({kind:"intersection",hasAssociatedError:!0,normalize:(U)=>{if(x(U))return U;let{structure:X,...q}=U,Z=!!X,Q=X??{},G=S(q,(Y,J)=>{if(a(Y,tX)){if(Z)F(`Flattened structure key ${Y} cannot be specified alongside a root 'structure' key.`);return Q[Y]=J,[]}return[Y,J]});if(M(Q,"constraint")||!S0(Q))G.structure=Q;return G},finalizeInnerJson:({structure:U,...X})=>G0(U,"object")?{...U,...X}:X,keys:{domain:{child:!0,parse:(U,X)=>X.$.node("domain",U)},proto:{child:!0,parse:(U,X)=>X.$.node("proto",U)},structure:{child:!0,parse:(U,X)=>X.$.node("structure",U),serialize:(U)=>{if(!U.sequence?.minLength)return U.collapsibleJson;let{sequence:X,...q}=U.collapsibleJson,{minVariadicLength:Z,...Q}=X,G=Q.variadic&&Object.keys(Q).length===1?Q.variadic:Q;return{...q,sequence:G}}},divisor:{child:!0,parse:q0("divisor")},max:{child:!0,parse:q0("max")},min:{child:!0,parse:q0("min")},maxLength:{child:!0,parse:q0("maxLength")},minLength:{child:!0,parse:q0("minLength")},exactLength:{child:!0,parse:q0("exactLength")},before:{child:!0,parse:q0("before")},after:{child:!0,parse:q0("after")},pattern:{child:!0,parse:q0("pattern")},predicate:{child:!0,parse:q0("predicate")}},reduce:(U,X)=>yq({},U,{$:X,invert:!1,pipe:!1}),defaults:{description:(U)=>{if(U.children.length===0)return"unknown";if(U.structure)return U.structure.description;let X=[];if(U.basis&&!U.prestructurals.some((q)=>q.impl.obviatesBasisDescription))X.push(U.basis.description);if(U.prestructurals.length){let q=U.prestructurals.slice().sort((Z,Q)=>Z.kind==="min"&&Q.kind==="max"?-1:0).map((Z)=>Z.description);X.push(...q)}if(U.inner.predicate)X.push(...U.inner.predicate.map((q)=>q.description));return X.join(" and ")},expected:(U)=>` ◦ ${U.errors.map((X)=>X.expected).join(`
|
|
166
|
-
◦ `)}`,problem:(U)=>`(${U.actual}) must be...
|
|
167
|
-
${U.expected}`},intersections:{intersection:(U,X,q)=>yq(U.inner,X.inner,q),...E0("intersection",(U,X,q)=>{if(U.children.length===0)return X;let{domain:Z,proto:Q,...G}=U.inner,Y=Q??Z,J=Y?u(Y,X,q):X;return J instanceof T?J:U?.basis?.equals(J)?U:U.$.node("intersection",{...G,[J.kind]:J},{prereduced:!0})})}});class kq extends O0{basis=this.inner.domain??this.inner.proto??null;prestructurals=[];refinements=this.children.filter((U)=>{if(!U.isRefinement())return!1;if(F0(cU,U.kind))this.prestructurals.push(U);return!0});structure=this.inner.structure;expression=M5(this);get shallowMorphs(){return this.inner.structure?.structuralMorph?[this.inner.structure.structuralMorph]:[]}get defaultShortDescription(){return this.basis?.defaultShortDescription??"present"}innerToJsonSchema(U){return this.children.reduce((X,q)=>q.isBasis()?q.toJsonSchemaRecurse(U):q.reduceJsonSchema(X,U),{})}traverseAllows=(U,X)=>this.children.every((q)=>q.traverseAllows(U,X));traverseApply=(U,X)=>{let q=X.currentErrorCount;if(this.basis){if(this.basis.traverseApply(U,X),X.currentErrorCount>q)return}if(this.prestructurals.length){for(let Z=0;Z<this.prestructurals.length-1;Z++)if(this.prestructurals[Z].traverseApply(U,X),X.failFast&&X.currentErrorCount>q)return;if(this.prestructurals[this.prestructurals.length-1].traverseApply(U,X),X.currentErrorCount>q)return}if(this.structure){if(this.structure.traverseApply(U,X),X.currentErrorCount>q)return}if(this.inner.predicate){for(let Z=0;Z<this.inner.predicate.length-1;Z++)if(this.inner.predicate[Z].traverseApply(U,X),X.failFast&&X.currentErrorCount>q)return;this.inner.predicate[this.inner.predicate.length-1].traverseApply(U,X)}};compile(U){if(U.traversalKind==="Allows"){for(let X of this.children)U.check(X);U.return(!0);return}if(U.initializeErrorCount(),this.basis){if(U.check(this.basis),this.children.length>1)U.returnIfFail()}if(this.prestructurals.length){for(let X=0;X<this.prestructurals.length-1;X++)U.check(this.prestructurals[X]),U.returnIfFailFast();if(U.check(this.prestructurals[this.prestructurals.length-1]),this.structure||this.inner.predicate)U.returnIfFail()}if(this.structure){if(U.check(this.structure),this.inner.predicate)U.returnIfFail()}if(this.inner.predicate){for(let X=0;X<this.inner.predicate.length-1;X++)U.check(this.inner.predicate[X]),U.returnIfFail();U.check(this.inner.predicate[this.inner.predicate.length-1])}}}var F4={implementation:D5,Node:kq},M5=(U)=>{if(U.structure?.expression)return U.structure.expression;let X=U.basis&&!U.prestructurals.some((Q)=>Q.impl.obviatesBasisExpression)?U.basis.nestableExpression:"",q=U.prestructurals.map((Q)=>Q.expression).join(" & "),Z=`${X}${X?" ":""}${q}`;if(Z==="Array == 0")return"[]";return Z||"unknown"},yq=(U,X,q)=>{let Z={},Q=U.proto??U.domain,G=X.proto??X.domain,Y=Q?G?u(Q,G,q):Q:G;if(Y instanceof T)return Y;if(Y)Z[Y.kind]=Y;return b1({kind:"intersection",baseInner:Z,l:f1(U),r:f1(X),roots:[],ctx:q})};var P5=j({kind:"morph",hasAssociatedError:!1,keys:{in:{child:!0,parse:(U,X)=>X.$.parseSchema(U)},morphs:{parse:l0,serialize:(U)=>U.map((X)=>M(X,"root")?X.json:d(X))},declaredIn:{child:!1,serialize:(U)=>U.json},declaredOut:{child:!1,serialize:(U)=>U.json}},normalize:(U)=>U,defaults:{description:(U)=>`a morph from ${U.rawIn.description} to ${U.rawOut?.description??"unknown"}`},intersections:{morph:(U,X,q)=>{if(!U.hasEqualMorphs(X))return F(w5(U.expression,X.expression));let Z=u(U.rawIn,X.rawIn,q);if(Z instanceof T)return Z;let Q={morphs:U.morphs};if(U.declaredIn||X.declaredIn){let G=u(U.rawIn,X.rawIn,q);if(G instanceof T)return G.throw();else Q.declaredIn=G}if(U.declaredOut||X.declaredOut){let G=u(U.rawOut,X.rawOut,q);if(G instanceof T)return G.throw();else Q.declaredOut=G}return Z.distribute((G)=>q.$.node("morph",{...Q,in:G}),q.$.parseSchema)},...E0("morph",(U,X,q)=>{let Z=U.inner.in?u(U.inner.in,X,q):X;return Z instanceof T?Z:Z.equals(U.inner.in)?U:q.$.node("morph",{...U.inner,in:Z})})}});class vq extends O0{serializedMorphs=this.morphs.map(d);compiledMorphs=`[${this.serializedMorphs}]`;lastMorph=this.inner.morphs[this.inner.morphs.length-1];lastMorphIfNode=M(this.lastMorph,"root")?this.lastMorph:void 0;introspectableIn=this.inner.in;introspectableOut=this.lastMorphIfNode?Object.assign(this.referencesById,this.lastMorphIfNode.referencesById)&&this.lastMorphIfNode.rawOut:void 0;get shallowMorphs(){return Array.isArray(this.inner.in?.shallowMorphs)?[...this.inner.in.shallowMorphs,...this.morphs]:this.morphs}get rawIn(){return this.declaredIn??this.inner.in?.rawIn??A.intrinsic.unknown.internal}get rawOut(){return this.declaredOut??this.introspectableOut??A.intrinsic.unknown.internal}declareIn(U){return this.$.node("morph",{...this.inner,declaredIn:U})}declareOut(U){return this.$.node("morph",{...this.inner,declaredOut:U})}expression=`(In: ${this.rawIn.expression}) => ${this.lastMorphIfNode?"To":"Out"}<${this.rawOut.expression}>`;get defaultShortDescription(){return this.rawIn.meta.description??this.rawIn.defaultShortDescription}innerToJsonSchema(U){return U.fallback.morph({code:"morph",base:this.rawIn.toJsonSchemaRecurse(U),out:this.introspectableOut?.toJsonSchemaRecurse(U)??null})}compile(U){if(U.traversalKind==="Allows"){if(!this.introspectableIn)return;U.return(U.invoke(this.introspectableIn));return}if(this.introspectableIn)U.line(U.invoke(this.introspectableIn));U.line(`ctx.queueMorphs(${this.compiledMorphs})`)}traverseAllows=(U,X)=>!this.introspectableIn||this.introspectableIn.traverseAllows(U,X);traverseApply=(U,X)=>{if(this.introspectableIn)this.introspectableIn.traverseApply(U,X);X.queueMorphs(this.morphs)};hasEqualMorphs(U){return y0(this.morphs,U.morphs,{isEqual:(X,q)=>X===q||M(X,"root")&&M(q,"root")&&X.equals(q)})}}var V4={implementation:P5,Node:vq},w5=(U,X)=>`The intersection of distinct morphs at a single path is indeterminate:
|
|
168
|
-
Left: ${U}
|
|
169
|
-
Right: ${X}`;var I5=j({kind:"proto",hasAssociatedError:!0,collapsibleKey:"proto",keys:{proto:{serialize:(U)=>W2(U)??V0(U)},dateAllowsInvalid:{}},normalize:(U)=>{let X=typeof U==="string"?{proto:H1[U]}:typeof U==="function"?x(U)?U:{proto:U}:typeof U.proto==="string"?{...U,proto:H1[U.proto]}:U;if(typeof X.proto!=="function")F(C2.writeInvalidSchemaMessage(X.proto));if(I1(X,"dateAllowsInvalid")&&X.proto!==Date)F(C2.writeBadInvalidDateMessage(X.proto));return X},applyConfig:(U,X)=>{if(U.dateAllowsInvalid===void 0&&U.proto===Date&&X.dateAllowsInvalid)return{...U,dateAllowsInvalid:!0};return U},defaults:{description:(U)=>U.builtinName?NX[U.builtinName]:`an instance of ${U.proto.name}`,actual:(U)=>U instanceof Date&&U.toString()==="Invalid Date"?"an invalid Date":H2(U)},intersections:{proto:(U,X)=>U.proto===Date&&X.proto===Date?U.dateAllowsInvalid?X:U:hU(U.proto,X.proto)?U:hU(X.proto,U.proto)?X:T.init("proto",U,X),domain:(U,X)=>X.domain==="object"?U:T.init("domain",A.intrinsic.object.internal,X)}});class hq extends L1{builtinName=W2(this.proto);serializedConstructor=this.json.proto;requiresInvalidDateCheck=this.proto===Date&&!this.dateAllowsInvalid;traverseAllows=this.requiresInvalidDateCheck?(U)=>U instanceof Date&&U.toString()!=="Invalid Date":(U)=>U instanceof this.proto;compiledCondition=`data instanceof ${this.serializedConstructor}${this.requiresInvalidDateCheck?' && data.toString() !== "Invalid Date"':""}`;compiledNegation=`!(${this.compiledCondition})`;innerToJsonSchema(U){switch(this.builtinName){case"Array":return{type:"array"};case"Date":return U.fallback.date?.({code:"date",base:{}})??U.fallback.proto({code:"proto",base:{},proto:this.proto});default:return U.fallback.proto({code:"proto",base:{},proto:this.proto})}}expression=this.dateAllowsInvalid?"Date | InvalidDate":this.proto.name;get nestableExpression(){return this.dateAllowsInvalid?`(${this.expression})`:this.expression}domain="object";get defaultShortDescription(){return this.description}}var C2={implementation:I5,Node:hq,writeBadInvalidDateMessage:(U)=>`dateAllowsInvalid may only be specified with constructor Date (was ${U.name})`,writeInvalidSchemaMessage:(U)=>`instanceOf operand must be a function (was ${r(U)})`};var K5=j({kind:"union",hasAssociatedError:!0,collapsibleKey:"branches",keys:{ordered:{},branches:{child:!0,parse:(U,X)=>{let q=[];for(let Z of U){let Q=M(Z,"root")?Z.branches:X.$.parseSchema(Z).branches;for(let G of Q)if(G.hasKind("morph")){let Y=q.findIndex((J)=>J.hasKind("morph")&&J.hasEqualMorphs(G));if(Y===-1)q.push(G);else{let J=q[Y];q[Y]=X.$.node("morph",{...J.inner,in:J.rawIn.rawOr(G.rawIn)})}}else q.push(G)}if(!X.def.ordered)q.sort((Z,Q)=>Z.hash<Q.hash?-1:1);return q}}},normalize:(U)=>h(U)?{branches:U}:U,reduce:(U,X)=>{let q=k5(U);if(q.length===1)return q[0];if(q.length===U.branches.length)return;return X.node("union",{...U,branches:q},{prereduced:!0})},defaults:{description:(U)=>U.distribute((X)=>X.description,v1),expected:(U)=>{let X=BX(U.errors,"propString"),q=Object.entries(X).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:(U)=>U.expected,message:(U)=>{if(U.problem[0]==="[")return`value at ${U.problem}`;return U.problem}},intersections:{union:(U,X,q)=>{if(U.isNever!==X.isNever)return T.init("presence",U,X);let Z;if(U.ordered){if(X.ordered)F(h5(U.expression,X.expression));if(Z=A4(X.branches,U.branches,q),Z instanceof T)Z.invert()}else Z=A4(U.branches,X.branches,q);if(Z instanceof T)return Z;return q.$.parseSchema(U.ordered||X.ordered?{branches:Z,ordered:!0}:{branches:Z})},...E0("union",(U,X,q)=>{let Z=A4(U.branches,[X],q);if(Z instanceof T)return Z;if(Z.length===1)return Z[0];return q.$.parseSchema(U.ordered?{branches:Z,ordered:!0}:{branches:Z})})}});class mq extends O0{isBoolean=this.branches.length===2&&this.branches[0].hasUnit(!1)&&this.branches[1].hasUnit(!0);get branchGroups(){let U=[],X=-1;for(let q of this.branches){if(q.hasKind("unit")&&q.domain==="boolean"){if(X===-1)X=U.length,U.push(q);else U[X]=A.intrinsic.boolean;continue}U.push(q)}return U}unitBranches=this.branches.filter((U)=>U.rawIn.hasKind("unit"));discriminant=this.discriminate();discriminantJson=this.discriminant?f5(this.discriminant):null;expression=this.distribute((U)=>U.nestableExpression,y5);createBranchedOptimisticRootApply(){return(U,X)=>{let q=this.traverseOptimistic(U);if(q!==J0)return q;let Z=new P0(U,this.$.resolvedConfig);return this.traverseApply(U,Z),Z.finalize(X)}}get shallowMorphs(){return this.branches.reduce((U,X)=>C0(U,X.shallowMorphs),[])}get defaultShortDescription(){return this.distribute((U)=>U.defaultShortDescription,v1)}innerToJsonSchema(U){if(this.branchGroups.length===1&&this.branchGroups[0].equals(A.intrinsic.boolean))return{type:"boolean"};let X=this.branchGroups.map((q)=>q.toJsonSchemaRecurse(U));if(X.every((q)=>Object.keys(q).length===1&&I1(q,"const")))return{enum:X.map((q)=>q.const)};return{anyOf:X}}traverseAllows=(U,X)=>this.branches.some((q)=>q.traverseAllows(U,X));traverseApply=(U,X)=>{let q=[];for(let Z=0;Z<this.branches.length;Z++){if(X.pushBranch(),this.branches[Z].traverseApply(U,X),!X.hasError()){if(this.branches[Z].includesTransform)return X.queuedMorphs.push(...X.popBranch().queuedMorphs);return X.popBranch()}q.push(X.popBranch().error)}X.errorFromNodeContext({code:"union",errors:q,meta:this.meta})};traverseOptimistic=(U)=>{for(let X=0;X<this.branches.length;X++){let q=this.branches[X];if(q.traverseAllows(U)){if(q.contextFreeMorph)return q.contextFreeMorph(U);return U}}return J0};compile(U){if(!this.discriminant||this.unitBranches.length===this.branches.length&&this.branches.length===2)return this.compileIndiscriminable(U);let X=this.discriminant.optionallyChainedPropString;if(this.discriminant.kind==="domain")X=`typeof ${X} === "object" ? ${X} === null ? "null" : "object" : typeof ${X} === "function" ? "object" : typeof ${X}`;let q=this.discriminant.cases,Z=Object.keys(q),{optimistic:Q}=U;if(U.optimistic=!1,U.block(`switch(${X})`,()=>{for(let W in q){let $=q[W],_=W==="default"?W:`case ${W}`,L;if($===!0)L=Q?"data":"true";else if(Q)if($.rootApplyStrategy==="branchedOptimistic")L=U.invoke($,{kind:"Optimistic"});else if($.contextFreeMorph)L=`${U.invoke($)} ? ${d($.contextFreeMorph)}(data) : "${J0}"`;else L=`${U.invoke($)} ? data : "${J0}"`;else L=U.invoke($);U.line(`${_}: return ${L}`)}return U}),U.traversalKind==="Allows"){U.return(Q?`"${J0}"`:!1);return}let G=v1(this.discriminant.kind==="domain"?Z.map((W)=>{let $=W.slice(1,-1);return $==="function"?Y0.object:Y0[$]}):Z),Y=this.discriminant.path.map((W)=>typeof W==="symbol"?d(W):JSON.stringify(W)),J=JSON.stringify(G),H=this.discriminant.kind==="domain"?`${j5}[${X}]`:`${b5}(${X})`;U.line(`ctx.errorFromNodeContext({
|
|
170
|
-
code: "predicate",
|
|
171
|
-
expected: ${J},
|
|
172
|
-
actual: ${H},
|
|
173
|
-
relativePath: [${Y}],
|
|
174
|
-
meta: ${this.compiledMeta}
|
|
175
|
-
})`)}compileIndiscriminable(U){if(U.traversalKind==="Apply"){U.const("errors","[]");for(let X of this.branches)U.line("ctx.pushBranch()").line(U.invoke(X)).if("!ctx.hasError()",()=>U.return(X.includesTransform?"ctx.queuedMorphs.push(...ctx.popBranch().queuedMorphs)":"ctx.popBranch()")).line("errors.push(ctx.popBranch().error)");U.line(`ctx.errorFromNodeContext({ code: "union", errors, meta: ${this.compiledMeta} })`)}else{let{optimistic:X}=U;U.optimistic=!1;for(let q of this.branches)U.if(`${U.invoke(q)}`,()=>U.return(X?q.contextFreeMorph?`${d(q.contextFreeMorph)}(data)`:"data":!0));U.return(X?`"${J0}"`:!1)}}get nestableExpression(){return this.isBoolean?"boolean":`(${this.expression})`}discriminate(){if(this.branches.length<2||this.isCyclic)return null;if(this.unitBranches.length===this.branches.length){let Q=S(this.unitBranches,(G,Y)=>[`${Y.rawIn.serializedValue}`,Y.hasKind("morph")?Y:!0]);return{kind:"unit",path:[],optionallyChainedPropString:"data",cases:Q}}let U=[];for(let Q=0;Q<this.branches.length-1;Q++){let G=this.branches[Q];for(let Y=Q+1;Y<this.branches.length;Y++){let J=this.branches[Y],H=$0(G.rawIn,J.rawIn,G.$);if(!(H instanceof T))continue;for(let W of H){if(!W.kind||W.optional)continue;let $,_;if(W.kind==="domain"){let{l:V,r:B}=W;$=`"${typeof V==="string"?V:V.domain}"`,_=`"${typeof B==="string"?B:B.domain}"`}else if(W.kind==="unit")$=W.l.serializedValue,_=W.r.serializedValue;else continue;let L=U.find((V)=>y0(V.path,W.path)&&V.kind===W.kind);if(!L)U.push({kind:W.kind,cases:{[$]:{branchIndices:[Q],condition:W.l},[_]:{branchIndices:[Y],condition:W.r}},path:W.path});else{if(L.cases[$])L.cases[$].branchIndices=C0(L.cases[$].branchIndices,Q);else L.cases[$]??={branchIndices:[Q],condition:W.l};if(L.cases[_])L.cases[_].branchIndices=C0(L.cases[_].branchIndices,Y);else L.cases[_]??={branchIndices:[Y],condition:W.r}}}}}let X=this.ordered?S5(U,this.branches):U;if(!X.length)return null;let q=N5(X,this),Z={};for(let Q in q.best.cases){let G=C5(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 N5=(U,X)=>{let Z=U.sort((Y,J)=>Y.path.length===J.path.length?Object.keys(J.cases).length-Object.keys(Y.cases).length:Y.path.length-J.path.length)[0],Q={kind:Z.kind,path:Z.path,optionallyChainedPropString:pq(Z.path)},G=X.branches.map((Y,J)=>({originalIndex:J,branch:Y}));return{best:Z,location:Q,defaultEntries:G,node:X}},C5=(U,X)=>{let q=U.best.cases[X],Z=E5(q.condition,U.location.path,U.node.$),Q=[],G=[];for(let Y=0;Y<U.defaultEntries.length;Y++){let J=U.defaultEntries[Y];if(q.branchIndices.includes(J.originalIndex)){let H=xq(U.node.branches[J.originalIndex],U.location);if(H===null)Q=null;else Q?.push({originalIndex:J.originalIndex,branch:H})}else if(J.branch.hasKind("alias")&&Z.hasKind("domain")&&Z.domain==="object")Q?.push(J);else{if(J.branch.rawIn.overlaps(Z)){let H=xq(J.branch,U.location);Q?.push({originalIndex:J.originalIndex,branch:H})}G.push(J)}}return U.defaultEntries=G,Q},S5=(U,X)=>{return U.filter((Z)=>{let Q=Object.values(Z.cases).map((G)=>G.branchIndices);for(let G=0;G<Q.length-1;G++){let Y=Q[G];for(let J=G+1;J<Q.length;J++){let H=Q[J];for(let W of Y)for(let $ of H)if(W>$){if(X[W].overlaps(X[$]))return!1}}}return!0})},E5=(U,X,q)=>{let Z=U==="undefined"?q.node("unit",{unit:void 0}):U==="null"?q.node("unit",{unit:null}):U==="boolean"?q.units([!0,!1]):U;for(let Q=X.length-1;Q>=0;Q--){let G=X[Q];Z=q.node("intersection",typeof G==="number"?{proto:"Array",sequence:[...OX(G).map((Y)=>({})),Z]}:{domain:"object",required:[{key:G,value:Z}]})}return Z},pq=(U)=>U.reduce((X,q)=>X+dU(q,!0),"data"),j5=d(RX),b5=d(E),O4={implementation:K5,Node:mq},f5=(U)=>({kind:U.kind,path:U.path.map((X)=>typeof X==="string"?X:M0(X)),cases:S(U.cases,(X,q)=>[X,q===!0?q:q.hasKind("union")&&q.discriminantJson?q.discriminantJson:q.json])}),g5={delimiter:" | ",finalDelimiter:" | "},y5=(U)=>v1(U,g5),v1=(U,X)=>{let q=X?.delimiter??", ",Z=X?.finalDelimiter??" or ";if(U.length===0)return"never";if(U.length===1)return U[0];if(U.length===2&&U[0]==="false"&&U[1]==="true"||U[0]==="true"&&U[1]==="false")return"boolean";let Q={},G=U.filter((J)=>Q[J]?!1:Q[J]=!0),Y=G.pop();return`${G.join(q)}${G.length?Z:""}${Y}`},A4=(U,X,q)=>{let Z=X.map(()=>[]);for(let G=0;G<U.length;G++){let Y={};for(let J=0;J<X.length;J++){if(Z[J]===null)continue;if(U[G].equals(X[J])){Z[J]=null,Y={};break}let H=u(U[G],X[J],q);if(H instanceof T)continue;if(H.equals(U[G])){Z[J].push(U[G]),Y={};break}if(H.equals(X[J]))Z[J]=null;else Y[J]=H}for(let J in Y)Z[J][G]=Y[J]}let Q=Z.flatMap((G,Y)=>G?.flatMap((J)=>J.branches)??X[Y]);return Q.length===0?T.init("union",U,X):Q},k5=({branches:U,ordered:X})=>{if(U.length<2)return U;let q=U.map(()=>!0);for(let Z=0;Z<U.length;Z++)for(let Q=Z+1;Q<U.length&&q[Z]&&q[Q];Q++){if(U[Z].equals(U[Q])){q[Q]=!1;continue}let G=$0(U[Z].rawIn,U[Q].rawIn,U[0].$);if(G instanceof T)continue;if(!X)v5(U[Z],U[Q]);if(G.equals(U[Z].rawIn))q[Z]=!!X;else if(G.equals(U[Q].rawIn))q[Q]=!1}return U.filter((Z,Q)=>q[Q])},v5=(U,X)=>{if(!U.includesTransform&&!X.includesTransform)return;if(!y0(U.shallowMorphs,X.shallowMorphs))F(uq(U.expression,X.expression));if(!y0(U.flatMorphs,X.flatMorphs,{isEqual:(q,Z)=>q.propString===Z.propString&&(q.node.hasKind("morph")&&Z.node.hasKind("morph")?q.node.hasEqualMorphs(Z.node):q.node.hasKind("intersection")&&Z.node.hasKind("intersection")?q.node.structure?.structuralMorphRef===Z.node.structure?.structuralMorphRef:!1)}))F(uq(U.expression,X.expression))},xq=(U,X)=>U.transform((q,Z)=>{if(q==="domain"||q==="unit")return null;return Z},{shouldTransform:(q,Z)=>{let Q=pq(Z.path);if(!X.optionallyChainedPropString.startsWith(Q))return!1;if(q.hasKind("domain")&&q.domain==="object")return!0;if((q.hasKind("domain")||X.kind==="unit")&&Q===X.optionallyChainedPropString)return!0;return q.children.length!==0&&q.kind!=="index"}}),uq=(U,X)=>`An unordered union of a type including a morph and a type with overlapping input is indeterminate:
|
|
176
|
-
Left: ${U}
|
|
177
|
-
Right: ${X}`,h5=(U,X)=>`The intersection of two ordered unions is indeterminate:
|
|
178
|
-
Left: ${U}
|
|
179
|
-
Right: ${X}`;var x5=j({kind:"unit",hasAssociatedError:!0,keys:{unit:{preserveUndefined:!0,serialize:(U)=>U instanceof Date?U.toISOString():V0(U)}},normalize:(U)=>U,defaults:{description:(U)=>E(U.unit),problem:({expected:U,actual:X})=>`${U===X?`must be reference equal to ${U} (serialized to the same value)`:`must be ${U} (was ${X})`}`},intersections:{unit:(U,X)=>T.init("unit",U,X),...E0("unit",(U,X)=>{if(X.allows(U.unit))return U;let q=X.hasKind("intersection")?X.basis:X;if(q){let Z=q.hasKind("domain")?q:A.intrinsic.object;if(U.domain!==Z.domain){let Q=U.domain==="undefined"||U.domain==="null"||U.domain==="boolean"?U.domain:A.intrinsic[U.domain];return T.init("domain",Q,Z)}}return T.init("assignability",U,X.hasKind("intersection")?X.children.find((Z)=>!Z.allows(U.unit)):X)})}});class dq extends L1{compiledValue=this.json.unit;serializedValue=typeof this.unit==="string"||this.unit instanceof Date?JSON.stringify(this.compiledValue):`${this.compiledValue}`;compiledCondition=lq(this.unit,this.serializedValue);compiledNegation=lq(this.unit,this.serializedValue,"negated");expression=E(this.unit);domain=r(this.unit);get defaultShortDescription(){return this.domain==="object"?Y0.object:this.description}innerToJsonSchema(U){return this.unit===null?{type:"null"}:A.intrinsic.jsonPrimitive.allows(this.unit)?{const:this.unit}:U.fallback.unit({code:"unit",base:{},unit:this.unit})}traverseAllows=this.unit instanceof Date?(U)=>U instanceof Date&&U.toISOString()===this.compiledValue:Number.isNaN(this.unit)?(U)=>Number.isNaN(U):(U)=>U===this.unit}var T4={implementation:x5,Node:dq},lq=(U,X,q)=>{if(U instanceof Date){let Z=`data instanceof Date && data.toISOString() === ${X}`;return q?`!(${Z})`:Z}if(Number.isNaN(U))return`${q?"!":""}Number.isNaN(data)`;return`data ${q?"!":"="}== ${X}`};var u5=j({kind:"index",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{signature:{child:!0,parse:(U,X)=>{let q=X.$.parseSchema(U);if(!q.extends(A.intrinsic.key))return F(p5(q.expression));let Z=q.branches.filter((Q)=>Q.hasKind("unit"));if(Z.length)return F(m5(Z.map((Q)=>E(Q.unit))));return q}},value:{child:!0,parse:(U,X)=>X.$.parseSchema(U)}},normalize:(U)=>U,defaults:{description:(U)=>`[${U.signature.expression}]: ${U.value.description}`},intersections:{index:(U,X,q)=>{if(U.signature.equals(X.signature)){let Z=u(U.value,X.value,q),Q=Z instanceof T?A.intrinsic.never.internal:Z;return q.$.node("index",{signature:U.signature,value:Q})}if(U.signature.extends(X.signature)&&U.value.subsumes(X.value))return X;if(X.signature.extends(U.signature)&&X.value.subsumes(U.value))return U;return null}}});class cq extends A0{impliedBasis=A.intrinsic.object.internal;expression=`[${this.signature.expression}]: ${this.value.expression}`;flatRefs=g(this.value.flatRefs.map((U)=>w0([this.signature,...U.path],U.node)),w0([this.signature],this.value));traverseAllows=(U,X)=>J1(U).every((q)=>{if(this.signature.traverseAllows(q[0],X))return _0(q[0],()=>this.value.traverseAllows(q[1],X),X);return!0});traverseApply=(U,X)=>{for(let q of J1(U))if(this.signature.traverseAllows(q[0],X))_0(q[0],()=>this.value.traverseApply(q[1],X),X)};_transform(U,X){X.path.push(this.signature);let q=super._transform(U,X);return X.path.pop(),q}compile(){}}var B4={implementation:u5,Node:cq},m5=(U)=>`Index keys ${U.join(", ")} should be specified as named props.`,p5=(U)=>`Indexed key definition '${U}' must be a string or symbol`;var l5=j({kind:"required",hasAssociatedError:!0,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(U,X)=>X.$.parseSchema(U)}},normalize:(U)=>U,defaults:{description:(U)=>`${U.compiledKey}: ${U.value.description}`,expected:(U)=>U.missingValueDescription,actual:()=>"missing"},intersections:{required:M2,optional:M2}});class iq 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 R4={implementation:l5,Node:iq};var d5=j({kind:"sequence",hasAssociatedError:!1,collapsibleKey:"variadic",keys:{prefix:{child:!0,parse:(U,X)=>{if(U.length===0)return;return U.map((q)=>X.$.parseSchema(q))}},optionals:{child:!0,parse:(U,X)=>{if(U.length===0)return;return U.map((q)=>X.$.parseSchema(q))}},defaultables:{child:(U)=>U.map((X)=>X[0]),parse:(U,X)=>{if(U.length===0)return;return U.map((q)=>{let Z=X.$.parseSchema(q[0]);return I2(Z,q[1],null),[Z,q[1]]})},serialize:(U)=>U.map((X)=>[X[0].collapsibleJson,V0(X[1])]),reduceIo:(U,X,q)=>{if(U==="in"){X.optionals=q.map((Z)=>Z[0].rawIn);return}X.prefix=q.map((Z)=>Z[0].rawOut);return}},variadic:{child:!0,parse:(U,X)=>X.$.parseSchema(U,X)},minVariadicLength:{parse:(U)=>U===0?void 0:U},postfix:{child:!0,parse:(U,X)=>{if(U.length===0)return;return U.map((q)=>X.$.parseSchema(q))}}},normalize:(U)=>{if(typeof U==="string")return{variadic:U};if("variadic"in U||"prefix"in U||"defaultables"in U||"optionals"in U||"postfix"in U||"minVariadicLength"in U){if(U.postfix?.length){if(!U.variadic)return F(o5);if(U.optionals?.length||U.defaultables?.length)return F(M4)}if(U.minVariadicLength&&!U.variadic)return F("minVariadicLength may not be specified without a variadic element");return U}return{variadic:U}},reduce:(U,X)=>{let q=U.minVariadicLength??0,Z=U.prefix?.slice()??[],Q=U.defaultables?.slice()??[],G=U.optionals?.slice()??[],Y=U.postfix?.slice()??[];if(U.variadic){while(G[G.length-1]?.equals(U.variadic))G.pop();if(G.length===0&&Q.length===0)while(Z[Z.length-1]?.equals(U.variadic))Z.pop(),q++;while(Y[0]?.equals(U.variadic))Y.shift(),q++}else if(G.length===0&&Q.length===0)Z.push(...Y.splice(0));if(q!==U.minVariadicLength||U.prefix&&U.prefix.length!==Z.length)return X.node("sequence",{...U,prefix:Z,defaultables:Q,optionals:G,postfix:Y,minVariadicLength:q},{prereduced:!0})},defaults:{description:(U)=>{if(U.isVariadicOnly)return`${U.variadic.nestableExpression}[]`;return`[${U.tuple.map((q)=>q.kind==="defaultables"?`${q.node.nestableExpression} = ${E(q.default)}`:q.kind==="optionals"?`${q.node.nestableExpression}?`:q.kind==="variadic"?`...${q.node.nestableExpression}[]`:q.node.expression).join(", ")}]`}},intersections:{sequence:(U,X,q)=>{let Z=S2({l:U.tuple,r:X.tuple,disjoint:new T,result:[],fixedVariants:[],ctx:q}),Q=Z.disjoint.length===0?[Z,...Z.fixedVariants]:Z.fixedVariants;return Q.length===0?Z.disjoint:Q.length===1?q.$.node("sequence",sq(Q[0].result)):q.$.node("union",Q.map((G)=>({proto:Array,sequence:sq(G.result)})))}}});class rq extends A0{impliedBasis=A.intrinsic.Array.internal;tuple=s5(this.inner);prefixLength=this.prefix?.length??0;defaultablesLength=this.defaultables?.length??0;optionalsLength=this.optionals?.length??0;postfixLength=this.postfix?.length??0;defaultablesAndOptionals=[];prevariadic=this.tuple.filter((U)=>{if(U.kind==="defaultables"||U.kind==="optionals")return this.defaultablesAndOptionals.push(U.node),!0;return U.kind==="prefix"});variadicOrPostfix=g0(this.variadic&&[this.variadic],this.postfix);flatRefs=this.addFlatRefs();addFlatRefs(){return rU(this.flatRefs,this.prevariadic.flatMap((U,X)=>g(U.node.flatRefs.map((q)=>w0([`${X}`,...q.path],q.node)),w0([`${X}`],U.node)))),rU(this.flatRefs,this.variadicOrPostfix.flatMap((U)=>g(U.flatRefs.map((X)=>w0([A.intrinsic.nonNegativeIntegerString.internal,...X.path],X.node)),w0([A.intrinsic.nonNegativeIntegerString.internal],U)))),this.flatRefs}isVariadicOnly=this.prevariadic.length+this.postfixLength===0;minVariadicLength=this.inner.minVariadicLength??0;minLength=this.prefixLength+this.minVariadicLength+this.postfixLength;minLengthNode=this.minLength===0?null:this.$.node("minLength",this.minLength);maxLength=this.variadic?null:this.tuple.length;maxLengthNode=this.maxLength===null?null:this.$.node("maxLength",this.maxLength);impliedSiblings=this.minLengthNode?this.maxLengthNode?[this.minLengthNode,this.maxLengthNode]:[this.minLengthNode]:this.maxLengthNode?[this.maxLengthNode]:[];defaultValueMorphs=i5(this);defaultValueMorphsReference=this.defaultValueMorphs.length?d(this.defaultValueMorphs):void 0;elementAtIndex(U,X){if(X<this.prevariadic.length)return this.tuple[X];let q=U.length-this.postfixLength;if(X>=q)return{kind:"postfix",node:this.postfix[X-q]};return{kind:"variadic",node:this.variadic??y(`Unexpected attempt to access index ${X} on ${this}`)}}traverseAllows=(U,X)=>{for(let q=0;q<U.length;q++)if(!this.elementAtIndex(U,q).node.traverseAllows(U[q],X))return!1;return!0};traverseApply=(U,X)=>{let q=0;for(;q<U.length;q++)_0(q,()=>this.elementAtIndex(U,q).node.traverseApply(U[q],X),X)};get element(){return this.cacheGetter("element",this.$.node("union",this.children))}compile(U){if(this.prefix)for(let[X,q]of this.prefix.entries())U.traverseKey(`${X}`,`data[${X}]`,q);for(let[X,q]of this.defaultablesAndOptionals.entries()){let Z=`${X+this.prefixLength}`;U.if(`${Z} >= data.length`,()=>U.traversalKind==="Allows"?U.return(!0):U.return()),U.traverseKey(Z,`data[${Z}]`,q)}if(this.variadic){if(this.postfix)U.const("firstPostfixIndex",`data.length${this.postfix?`- ${this.postfix.length}`:""}`);if(U.for(`i < ${this.postfix?"firstPostfixIndex":"data.length"}`,()=>U.traverseKey("i","data[i]",this.variadic),this.prevariadic.length),this.postfix)for(let[X,q]of this.postfix.entries()){let Z=`firstPostfixIndex + ${X}`;U.traverseKey(Z,`data[${Z}]`,q)}}if(U.traversalKind==="Allows")U.return(!0)}_transform(U,X){X.path.push(A.intrinsic.nonNegativeIntegerString.internal);let q=super._transform(U,X);return X.path.pop(),q}expression=this.description;reduceJsonSchema(U,X){let q=X.target==="draft-07";if(this.prevariadic.length){let Z=this.prevariadic.map((Q)=>{let G=Q.node.toJsonSchemaRecurse(X);if(Q.kind==="defaultables"){let Y=typeof Q.default==="function"?Q.default():Q.default;G.default=A.intrinsic.jsonData.allows(Y)?Y:X.fallback.defaultValue({code:"defaultValue",base:G,value:Y})}return G});if(q)U.items=Z;else U.prefixItems=Z}if(this.minLength)U.minItems=this.minLength;if(this.variadic){let Z=this.variadic.toJsonSchemaRecurse(X);if(q&&this.prevariadic.length)U.additionalItems=Z;else U.items=Z;if(this.maxLength)U.maxItems=this.maxLength;if(this.postfix){let Q=this.postfix.map((G)=>G.toJsonSchemaRecurse(X));U=X.fallback.arrayPostfix({code:"arrayPostfix",base:U,elements:Q})}}else{if(q)U.additionalItems=!1;else U.items=!1;delete U.maxItems}return U}}var c5={},i5=(U)=>{if(!U.defaultables)return[];let X=[],q="[",Z=U.prefixLength+U.defaultablesLength-1;for(let Q=U.prefixLength;Q<=Z;Q++){let[G,Y]=U.defaultables[Q-U.prefixLength];X.push(z4(Q,G,Y)),q+=`${Q}: ${G.id} = ${V0(Y)}, `}return q+="]",c5[q]??=X},D4={implementation:d5,Node:rq},s5=(U)=>{let X=[];if(U.prefix)for(let q of U.prefix)X.push({kind:"prefix",node:q});if(U.defaultables)for(let[q,Z]of U.defaultables)X.push({kind:"defaultables",node:q,default:Z});if(U.optionals)for(let q of U.optionals)X.push({kind:"optionals",node:q});if(U.variadic)X.push({kind:"variadic",node:U.variadic});if(U.postfix)for(let q of U.postfix)X.push({kind:"postfix",node:q});return X},sq=(U)=>U.reduce((X,q)=>{if(q.kind==="variadic")X.variadic=q.node;else if(q.kind==="defaultables")X.defaultables=g(X.defaultables,[[q.node,q.default]]);else X[q.kind]=g(X[q.kind],q.node);return X},{}),M4="A postfix required element cannot follow an optional or defaultable element",o5="A postfix element requires a variadic element",S2=(U)=>{let[X,...q]=U.l,[Z,...Q]=U.r;if(!X||!Z)return U;let G=q[q.length-1]?.kind==="postfix",Y=Q[Q.length-1]?.kind==="postfix",J=X.kind==="prefix"||Z.kind==="prefix"?"prefix":X.kind==="postfix"||Z.kind==="postfix"?"postfix":X.kind==="variadic"&&Z.kind==="variadic"?"variadic":G||Y?"prefix":X.kind==="defaultables"||Z.kind==="defaultables"?"defaultables":"optionals";if(X.kind==="prefix"&&Z.kind==="variadic"&&Y){let _=S2({...U,fixedVariants:[],r:Q.map((L)=>({...L,kind:"prefix"}))});if(_.disjoint.length===0)U.fixedVariants.push(_)}else if(Z.kind==="prefix"&&X.kind==="variadic"&&G){let _=S2({...U,fixedVariants:[],l:q.map((L)=>({...L,kind:"prefix"}))});if(_.disjoint.length===0)U.fixedVariants.push(_)}let H=u(X.node,Z.node,U.ctx);if(H instanceof T)if(J==="prefix"||J==="postfix")U.disjoint.push(...H.withPrefixKey(J==="prefix"?U.result.length:`-${q.length+1}`,oq(X)&&oq(Z)?"required":"optional")),U.result=[...U.result,{kind:J,node:A.intrinsic.never.internal}];else if(J==="optionals"||J==="defaultables")return U;else return S2({...U,fixedVariants:[],l:q.map((_)=>({..._,kind:"prefix"})),r:q.map((_)=>({..._,kind:"prefix"}))});else if(J==="defaultables"){if(X.kind==="defaultables"&&Z.kind==="defaultables"&&X.default!==Z.default)F(L4(X.default,Z.default));U.result=[...U.result,{kind:J,node:H,default:X.kind==="defaultables"?X.default:Z.kind==="defaultables"?Z.default:y(`Unexpected defaultable intersection from ${X.kind} and ${Z.kind} elements.`)}]}else U.result=[...U.result,{kind:J,node:H}];let W=U.l.length,$=U.r.length;if(X.kind!=="variadic"||W>=$&&(Z.kind==="variadic"||$===1))U.l=q;if(Z.kind!=="variadic"||$>=W&&(X.kind==="variadic"||W===1))U.r=Q;return S2(U)},oq=(U)=>U.kind==="prefix"||U.kind==="postfix";var eq=(U)=>(X)=>{if(X.props.length||X.index){let q=X.index?.map((Q)=>Q[U])??[];for(let Q of X.props)q.push(Q[U]);if(X.undeclared)q.push(`+ (undeclared): ${X.undeclared}`);let Z=`{ ${q.join(", ")} }`;return X.sequence?`${Z} & ${X.sequence.description}`:Z}return X.sequence?.description??"{}"},r5=eq("description"),a5=eq("expression"),aq=(U,X,q)=>{let Z=U.required?"required":"optional";if(!X.signature.allows(U.key))return null;let Q=$0(U.value,X.value,q);if(Q instanceof T)return Z==="optional"?q.node("optional",{key:U.key,value:A.intrinsic.never.internal}):Q.withPrefixKey(U.key,U.kind);return null},n5=j({kind:"structure",hasAssociatedError:!1,normalize:(U)=>U,applyConfig:(U,X)=>{if(!U.undeclared&&X.onUndeclaredKey!=="ignore")return{...U,undeclared:X.onUndeclaredKey};return U},keys:{required:{child:!0,parse:q0("required"),reduceIo:(U,X,q)=>{X.required=g(X.required,q.map((Z)=>U==="in"?Z.rawIn:Z.rawOut));return}},optional:{child:!0,parse:q0("optional"),reduceIo:(U,X,q)=>{if(U==="in"){X.optional=q.map((Z)=>Z.rawIn);return}for(let Z of q)X[Z.outProp.kind]=g(X[Z.outProp.kind],Z.outProp.rawOut)}},index:{child:!0,parse:q0("index")},sequence:{child:!0,parse:q0("sequence")},undeclared:{parse:(U)=>U==="ignore"?void 0:U,reduceIo:(U,X,q)=>{if(q==="reject"){X.undeclared="reject";return}if(U==="in")delete X.undeclared;else X.undeclared="reject"}}},defaults:{description:r5},intersections:{structure:(U,X,q)=>{let Z={...U.inner},Q={...X.inner},G=new T;if(U.undeclared){let H=U.keyof();for(let W of X.requiredKeys)if(!H.allows(W))G.add("presence",A.intrinsic.never.internal,X.propsByKey[W].value,{path:[W]});if(Q.optional)Q.optional=Q.optional.filter((W)=>H.allows(W.key));if(Q.index)Q.index=Q.index.flatMap((W)=>{if(W.signature.extends(H))return W;let $=$0(H,W.signature,q.$);if($ instanceof T)return[];let _=w6($,W.value,q.$);if(_.required)Q.required=g0(Q.required,_.required);if(_.optional)Q.optional=g0(Q.optional,_.optional);return _.index??[]})}if(X.undeclared){let H=X.keyof();for(let W of U.requiredKeys)if(!H.allows(W))G.add("presence",U.propsByKey[W].value,A.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 $=$0(H,W.signature,q.$);if($ instanceof T)return[];let _=w6($,W.value,q.$);if(_.required)Z.required=g0(Z.required,_.required);if(_.optional)Z.optional=g0(Z.optional,_.optional);return _.index??[]})}let Y={};if(U.undeclared||X.undeclared)Y.undeclared=U.undeclared==="reject"||X.undeclared==="reject"?"reject":"delete";let J=b1({kind:"structure",baseInner:Y,l:f1(Z),r:f1(Q),roots:[],ctx:q});if(J instanceof T)G.push(...J);if(G.length)return G;return J}},reduce:(U,X)=>{if(!U.required&&!U.optional)return;let q={},Z=!1,Q=U.optional?[...U.optional]:[];if(U.required)for(let G=0;G<U.required.length;G++){let Y=U.required[G];if(Y.key in q)F(tq(Y.key));if(q[Y.key]=!0,U.index)for(let J of U.index){let H=aq(Y,J,X);if(H instanceof T)return H}}if(U.optional)for(let G=0;G<U.optional.length;G++){let Y=U.optional[G];if(Y.key in q)F(tq(Y.key));if(q[Y.key]=!0,U.index)for(let J of U.index){let H=aq(Y,J,X);if(H instanceof T)return H;if(H!==null)Q[G]=H,Z=!0}}if(Z)return X.node("structure",{...U,optional:Q},{prereduced:!0})}});class UZ extends A0{impliedBasis=A.intrinsic.object.internal;impliedSiblings=this.children.flatMap((U)=>U.impliedSiblings??[]);props=g0(this.required,this.optional);propsByKey=S(this.props,(U,X)=>[X.key,X]);propsByKeyReference=d(this.propsByKey);expression=a5(this);requiredKeys=this.required?.map((U)=>U.key)??[];optionalKeys=this.optional?.map((U)=>U.key)??[];literalKeys=[...this.requiredKeys,...this.optionalKeys];_keyof;keyof(){if(this._keyof)return this._keyof;let U=this.$.units(this.literalKeys).branches;if(this.index)for(let{signature:X}of this.index)U=U.concat(X.branches);return this._keyof=this.$.node("union",U)}map(U){return this.$.node("structure",this.props.flatMap(U).reduce((X,q)=>{let Z=this.propsByKey[q.key];if(x(q)){if(q.kind!=="required"&&q.kind!=="optional")return F(`Map result must have kind "required" or "optional" (was ${q.kind})`);return X[q.kind]=g(X[q.kind],q),X}let Q=q.kind??Z?.kind??"required",G=S(q,(Y,J)=>(Y in w2.implementation.keys)?[Y,J]:[]);return X[Q]=g(X[Q],this.$.node(Q,G)),X},{}))}assertHasKeys(U){let X=U.filter((q)=>!K2(q,this.keyof()));if(X.length)return F(nq(this.expression,X))}get(U,...X){let q,Z=!1,Q=X7(U);if((typeof Q==="string"||typeof Q==="symbol")&&this.propsByKey[Q])q=this.propsByKey[Q].value,Z=this.propsByKey[Q].required;if(this.index){for(let Y of this.index)if(K2(Q,Y.signature))q=q?.and(Y.value)??Y.value}if(this.sequence&&K2(Q,A.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(A.intrinsic.number))return F(q7(Q.expression,this.sequence.expression));return F(nq(this.expression,[Q]))}let G=q.get(...X);return Z?G:G.or(A.intrinsic.undefined)}pick(...U){return this.assertHasKeys(U),this.$.node("structure",this.filterKeys("pick",U))}omit(...U){return this.assertHasKeys(U),this.$.node("structure",this.filterKeys("omit",U))}optionalize(){let{required:U,...X}=this.inner;return this.$.node("structure",{...X,optional:this.props.map((q)=>q.hasKind("required")?this.$.node("optional",q.inner):q)})}require(){let{optional:U,...X}=this.inner;return this.$.node("structure",{...X,required:this.props.map((q)=>q.hasKind("optional")?{key:q.key,value:q.value}:q)})}merge(U){let X=this.filterKeys("omit",[U.keyof()]);if(U.required)X.required=g(X.required,U.required);if(U.optional)X.optional=g(X.optional,U.optional);if(U.index)X.index=g(X.index,U.index);if(U.sequence)X.sequence=U.sequence;if(U.undeclared)X.undeclared=U.undeclared;else delete X.undeclared;return this.$.node("structure",X)}filterKeys(U,X){let q=z6(this.inner),Z=(Q)=>{let G=X.some((Y)=>K2(Q,Y));return U==="pick"?G:!G};if(q.required)q.required=q.required.filter((Q)=>Z(Q.key));if(q.optional)q.optional=q.optional.filter((Q)=>Z(Q.key));if(q.index)q.index=q.index.filter((Q)=>Z(Q.signature));return q}traverseAllows=(U,X)=>this._traverse("Allows",U,X);traverseApply=(U,X)=>this._traverse("Apply",U,X);_traverse=(U,X,q)=>{let Z=q?.currentErrorCount??0;for(let Q=0;Q<this.props.length;Q++)if(U==="Allows"){if(!this.props[Q].traverseAllows(X,q))return!1}else if(this.props[Q].traverseApply(X,q),q.failFast&&q.currentErrorCount>Z)return!1;if(this.sequence){if(U==="Allows"){if(!this.sequence.traverseAllows(X,q))return!1}else if(this.sequence.traverseApply(X,q),q.failFast&&q.currentErrorCount>Z)return!1}if(this.index||this.undeclared==="reject"){let Q=Object.keys(X);Q.push(...Object.getOwnPropertySymbols(X));for(let G=0;G<Q.length;G++){let Y=Q[G];if(this.index){for(let J of this.index)if(J.signature.traverseAllows(Y,q)){if(U==="Allows"){if(!_0(Y,()=>J.value.traverseAllows(X[Y],q),q))return!1}else if(_0(Y,()=>J.value.traverseApply(X[Y],q),q),q.failFast&&q.currentErrorCount>Z)return!1}}if(this.undeclared==="reject"&&!this.declaresKey(Y)){if(U==="Allows")return!1;if(q.errorFromNodeContext({code:"predicate",expected:"removed",actual:"",relativePath:[Y],meta:this.meta}),q.failFast)return!1}}}if(this.structuralMorph&&q&&!q.hasError())q.queueMorphs([this.structuralMorph]);return!0};get defaultable(){return this.cacheGetter("defaultable",this.optional?.filter((U)=>U.hasDefault())??[])}declaresKey=(U)=>(U in this.propsByKey)||this.index?.some((X)=>X.signature.allows(U))||this.sequence!==void 0&&A.intrinsic.nonNegativeIntegerString.allows(U);_compileDeclaresKey(U){let X=[];if(this.props.length)X.push(`k in ${this.propsByKeyReference}`);if(this.index)for(let q of this.index)X.push(U.invoke(q.signature,{kind:"Allows",arg:"k"}));if(this.sequence)X.push("$ark.intrinsic.nonNegativeIntegerString.allows(k)");return X.join(" || ")||"false"}get structuralMorph(){return this.cacheGetter("structuralMorph",e5(this))}structuralMorphRef=this.structuralMorph&&d(this.structuralMorph);compile(U){if(U.traversalKind==="Apply")U.initializeErrorCount();for(let X of this.props)if(U.check(X),U.traversalKind==="Apply")U.returnIfFailFast();if(this.sequence){if(U.check(this.sequence),U.traversalKind==="Apply")U.returnIfFailFast()}if(this.index||this.undeclared==="reject")U.const("keys","Object.keys(data)"),U.line("keys.push(...Object.getOwnPropertySymbols(data))"),U.for("i < keys.length",()=>this.compileExhaustiveEntry(U));if(U.traversalKind==="Allows")return U.return(!0);if(this.structuralMorphRef)U.if("ctx && !ctx.hasError()",()=>{return U.line("ctx.queueMorphs(["),U7(U,this),U.line("])")})}compileExhaustiveEntry(U){if(U.const("k","keys[i]"),this.index)for(let X of this.index)U.if(`${U.invoke(X.signature,{arg:"k",kind:"Allows"})}`,()=>U.traverseKey("k","data[k]",X.value));if(this.undeclared==="reject")U.if(`!(${this._compileDeclaresKey(U)})`,()=>{if(U.traversalKind==="Allows")return U.return(!1);return U.line(`ctx.errorFromNodeContext({ code: "predicate", expected: "removed", actual: "", relativePath: [k], meta: ${this.compiledMeta} })`).if("ctx.failFast",()=>U.return())});return U}reduceJsonSchema(U,X){switch(U.type){case"object":return this.reduceObjectJsonSchema(U,X);case"array":let q=this.sequence?.reduceJsonSchema(U,X)??U;if(this.props.length||this.index)return X.fallback.arrayObject({code:"arrayObject",base:q,object:this.reduceObjectJsonSchema({type:"object"},X)});return q;default:return p.throwInternalOperandError("structure",U)}}reduceObjectJsonSchema(U,X){if(this.props.length){U.properties={};for(let q of this.props){let Z=q.value.toJsonSchemaRecurse(X);if(typeof q.key==="symbol"){X.fallback.symbolKey({code:"symbolKey",base:U,key:q.key,value:Z,optional:q.optional});continue}if(q.hasDefault()){let Q=typeof q.default==="function"?q.default():q.default;Z.default=A.intrinsic.jsonData.allows(Q)?Q:X.fallback.defaultValue({code:"defaultValue",base:Z,value:Q})}U.properties[q.key]=Z}if(this.requiredKeys.length&&U.properties)U.required=this.requiredKeys.filter((q)=>typeof q==="string"&&(q in U.properties))}if(this.index)for(let q of this.index){let Z=q.value.toJsonSchemaRecurse(X);if(q.signature.equals(A.intrinsic.string)){U.additionalProperties=Z;continue}for(let Q of q.signature.branches){if(!Q.extends(A.intrinsic.string)){U=X.fallback.symbolKey({code:"symbolKey",base:U,key:null,value:Z,optional:!1});continue}let G={type:"string"};if(Q.hasKind("morph"))G=X.fallback.morph({code:"morph",base:Q.rawIn.toJsonSchemaRecurse(X),out:Q.rawOut.toJsonSchemaRecurse(X)});if(!Q.hasKind("intersection"))return y(`Unexpected index branch kind ${Q.kind}.`);let{pattern:Y}=Q.inner;if(Y){let J=Object.assign(G,{pattern:Y[0].rule});for(let H=1;H<Y.length;H++)G=X.fallback.patternIntersection({code:"patternIntersection",base:J,pattern:Y[H].rule});U.patternProperties??={},U.patternProperties[J.pattern]=Z}}}if(this.undeclared&&!U.additionalProperties)U.additionalProperties=!1;return U}}var P4={},t5=(U)=>{let X="";for(let q=0;q<U.defaultable.length;q++)X+=U.defaultable[q].defaultValueMorphRef;if(U.sequence?.defaultValueMorphsReference)X+=U.sequence?.defaultValueMorphsReference;if(U.undeclared==="delete"){if(X+="delete !(",U.required)for(let q of U.required)X+=q.compiledKey+" | ";if(U.optional)for(let q of U.optional)X+=q.compiledKey+" | ";if(U.index)for(let q of U.index)X+=q.signature.id+" | ";if(U.sequence)if(U.sequence.maxLength===null)X+=I.nonNegativeIntegerString.id;else for(let q=0;q<U.sequence.tuple.length;q++)X+=q+" | ";X+=")"}return X},e5=(U)=>{let X=t5(U);if(!X)return;if(P4[X])return P4[X];let q=(Z,Q)=>{for(let G=0;G<U.defaultable.length;G++)if(!(U.defaultable[G].key in Z))U.defaultable[G].defaultValueMorph(Z,Q);if(U.sequence?.defaultables)for(let G=Z.length-U.sequence.prefixLength;G<U.sequence.defaultables.length;G++)U.sequence.defaultValueMorphs[G](Z,Q);if(U.undeclared==="delete"){for(let G in Z)if(!U.declaresKey(G))delete Z[G]}return Z};return P4[X]=q},U7=(U,X)=>{let Z=`(data${X.defaultable.some((Q)=>Q.defaultValueMorph.length===2)||X.sequence?.defaultValueMorphs.some((Q)=>Q.length===2)?", ctx":""})`;return U.block(`${Z} => `,(Q)=>{for(let G=0;G<X.defaultable.length;G++){let{serializedKey:Y,defaultValueMorphRef:J}=X.defaultable[G];Q.if(`!(${Y} in data)`,(H)=>H.line(`${J}${Z}`))}if(X.sequence?.defaultables)Q.for(`i < ${X.sequence.defaultables.length}`,(G)=>G.set("data[i]",5),`data.length - ${X.sequence.prefixLength}`);if(X.undeclared==="delete")Q.forIn("data",(G)=>G.if(`!(${X._compileDeclaresKey(G)})`,(Y)=>Y.line("delete data[k]")));return Q.return("data")})},w4={implementation:n5,Node:UZ},X7=(U)=>{if(M(U,"root")&&U.hasKind("unit"))U=U.unit;if(typeof U==="number")U=`${U}`;return U},q7=(U,X)=>`${U} is not allowed as an array index on ${X}. Use the 'nonNegativeIntegerString' keyword instead.`,w6=(U,X,q)=>{let[Z,Q]=AX(U.branches,(Y)=>Y.hasKind("unit"));if(!Z.length)return{index:q.node("index",{signature:U,value:X})};let G={};for(let Y of Z){let J=q.node("required",{key:Y.unit,value:X});G[J.kind]=g(G[J.kind],J)}if(Q.length)G.index=q.node("index",{signature:Q,value:X});return G},Z7=(U)=>M(U,"root")?U.expression:E(U),nq=(U,X)=>`Key${X.length===1?"":"s"} ${X.map(Z7).join(", ")} ${X.length===1?"does":"do"} not exist on ${U}`,tq=(U)=>`Duplicate key ${M0(U)}`;var y1={...Rq,alias:N2.implementation,domain:P6.implementation,unit:T4.implementation,proto:C2.implementation,union:O4.implementation,morph:V4.implementation,intersection:F4.implementation,divisor:U4.implementation,pattern:H4.implementation,predicate:eU.implementation,required:R4.implementation,optional:w2.implementation,index:B4.implementation,sequence:D4.implementation,structure:w4.implementation};A.defaultConfig=IX(Object.assign(S(y1,(U,X)=>[U,X.defaults]),{jitless:jX(),clone:CX,onUndeclaredKey:"ignore",exactOptionalPropertyTypes:!0,numberAllowsNaN:!1,dateAllowsInvalid:!1,onFail:null,keywords:{},toJsonSchema:p.defaultConfig}));A.resolvedConfig=O2(A.defaultConfig,A.config);var Kq={...Dq,alias:N2.Node,domain:P6.Node,unit:T4.Node,proto:C2.Node,union:O4.Node,morph:V4.Node,intersection:F4.Node,divisor:U4.Node,pattern:H4.Node,predicate:eU.Node,required:R4.Node,optional:w2.Node,index:B4.Node,sequence:D4.Node,structure:w4.Node};class h1 extends gU{get[Z0](){return"module"}}var I4=(U,X)=>new h1(S(U,(q,Z)=>[q,M(Z,"module")?I4(Z,X):X.bindReference(Z)]));var Q7=(U)=>h(U)?U:("branches"in U)&&h(U.branches)?U.branches:void 0,G7=(U,X)=>F(`Node of kind ${X} is not valid as a ${U} definition`),XZ=(U)=>`#${U} duplicates public alias ${U}`,K4={};A.ambient??={};var qZ,QZ="function $",Y7=(U)=>GZ(U,YZ(U)),GZ=(U,X)=>{let q=X.write(QZ,4),Z=X.compile()();for(let Q of U){if(Q.precompilation)continue;if(Q.traverseAllows=Z[`${Q.id}Allows`].bind(Z),Q.isRoot()&&!Q.allowsRequiresContext)Q.allows=Q.traverseAllows;if(Q.traverseApply=Z[`${Q.id}Apply`].bind(Z),Z[`${Q.id}Optimistic`])Q.traverseOptimistic=Z[`${Q.id}Optimistic`].bind(Z);Q.precompilation=q}},YZ=(U)=>new L6().return(U.reduce((X,q)=>{let Z=new A2({kind:"Allows"}).indent();q.compile(Z);let Q=Z.write(`${q.id}Allows`),G=new A2({kind:"Apply"}).indent();q.compile(G);let Y=G.write(`${q.id}Apply`),J=`${X}${Q},
|
|
180
|
-
${Y},
|
|
181
|
-
`;if(!q.hasKind("union"))return J;let H=new A2({kind:"Allows",optimistic:!0}).indent();q.compile(H);let W=H.write(`${q.id}Optimistic`);return`${J}${W},
|
|
182
|
-
`},`{
|
|
183
|
-
`)+"}");class I6{config;resolvedConfig;name;get[Z0](){return"scope"}referencesById={};references=[];resolutions={};exportedNames=[];aliases={};resolved=!1;nodesByHash={};intrinsic;constructor(U,X){if(this.config=O2(A.config,X),this.resolvedConfig=O2(A.resolvedConfig,X),this.name=this.resolvedConfig.name??`anonymousScope${Object.keys(K4).length}`,this.name in K4)F(`A Scope already named ${this.name} already exists`);K4[this.name]=this;let q=Object.entries(U).map((Z)=>this.preparseOwnAliasEntry(...Z));for(let[Z,Q]of q){let G=Z;if(Z[0]==="#"){if(G=Z.slice(1),G in this.aliases)F(XZ(G));this.aliases[G]=Q}else{if(G in this.aliases)F(XZ(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}}qZ??=this.node("union",{branches:["string","number","object","bigint","symbol",{unit:!0},{unit:!1},{unit:void 0},{unit:null}]},{prereduced:!0}),this.nodesByHash[qZ.hash]=this.node("intersection",{},{prereduced:!0}),this.intrinsic=A.intrinsic?S(A.intrinsic,(Z,Q)=>Z.startsWith("json")?[]:[Z,this.bindReference(Q)]):{}}cacheGetter(U,X){return Object.defineProperty(this,U,{value:X}),X}get internal(){return this}_json;get json(){if(!this._json)this.export();return this._json}defineSchema(U){return U}generic=(...U)=>{let X=this;return(q,Z)=>new r0(U,Z?new O6(q):q,X,X,Z??null)};units=(U,X)=>{let q=[];for(let Q of U)if(!q.includes(Q))q.push(Q);let Z=q.map((Q)=>this.node("unit",{unit:Q},X));return this.node("union",Z,{...X,prereduced:!0})};lazyResolutions=[];lazilyResolve(U,X){let q=this.node("alias",{reference:X??"synthetic",resolve:U},{prereduced:!0});if(!this.resolved)this.lazyResolutions.push(q);return q}schema=(U,X)=>this.finalize(this.parseSchema(U,X));parseSchema=(U,X)=>this.node(D2(U),U,X);preparseNode(U,X,q){let Z=typeof U==="string"?U:D2(X,U);if(x(X)&&X.kind===Z)return X;if(Z==="alias"&&!q?.prereduced){let{reference:Y}=N2.implementation.normalize(X,this);if(Y.startsWith("$")){let J=this.resolveRoot(Y.slice(1));X=J,Z=J.kind}}else if(Z==="union"&&G0(X,"object")){let Y=Q7(X);if(Y?.length===1)X=Y[0],Z=D2(X)}if(x(X)&&X.kind===Z)return X;let G=y1[Z].normalize?.(X,this)??X;if(x(G))return G.kind===Z?G:G7(Z,G.kind);return{...q,$:this,kind:Z,def:G,prefix:q.alias??Z}}bindReference(U){let X;if(x(U))X=U.$===this?U:new U.constructor(U.attachments,this);else X=U.$===this?U:new r0(U.params,U.bodyDef,U.$,this,U.hkt);if(!this.resolved)Object.assign(this.referencesById,X.referencesById);return X}resolveRoot(U){return this.maybeResolveRoot(U)??F(S4(U))}maybeResolveRoot(U){let X=this.maybeResolve(U);if(M(X,"generic"))return;return X}maybeResolveSubalias(U){return N4(this.aliases,U)??N4(this.ambient,U)}get ambient(){return A.ambient}maybeResolve(U){let X=this.resolutions[U];if(X){if(typeof X!=="string")return this.bindReference(X);let Z=Q0[X];if(M(Z,"root"))return this.resolutions[U]=Z;if(M(Z,"context")){if(Z.phase==="resolving")return this.node("alias",{reference:`$${U}`},{prereduced:!0});if(Z.phase==="resolved")return y(`Unexpected resolved context for was uncached by its scope: ${E(Z)}`);Z.phase="resolving";let Q=this.bindReference(this.parseOwnDefinitionFormat(Z.def,Z));return Z.phase="resolved",Q0[Q.id]=Q,Q0[Z.id]=Q,this.resolutions[U]=Q}return y(`Unexpected nodesById entry for ${X}: ${E(Z)}`)}let q=this.aliases[U]??this.ambient?.[U];if(!q)return this.maybeResolveSubalias(U);if(q=this.normalizeRootScopeValue(q),M(q,"generic"))return this.resolutions[U]=this.bindReference(q);if(M(q,"module")){if(!q.root)F(WZ(U));return this.resolutions[U]=this.bindReference(q.root)}return this.resolutions[U]=this.parse(q,{alias:U})}createParseContext(U){let X=U.id??W4(U.prefix);return Q0[X]=Object.assign(U,{[Z0]:"context",$:this,id:X,phase:"unresolved"})}traversal(U){return new P0(U,this.resolvedConfig)}import(...U){return new h1(S(this.export(...U),(X,q)=>[`#${X}`,q]))}precompilation;_exportedResolutions;_exports;export(...U){if(!this._exports){this._exports={};for(let q of this.exportedNames){let Z=this.aliases[q];this._exports[q]=M(Z,"module")?I4(Z,this):ZZ(this.maybeResolve(q))}for(let q of this.lazyResolutions)q.resolution;if(this._exportedResolutions=HZ(this,this._exports),this._json=JZ(this._exportedResolutions),Object.assign(this.resolutions,this._exportedResolutions),this.references=Object.values(this.referencesById),!this.resolvedConfig.jitless){let q=YZ(this.references);this.precompilation=q.write(QZ,4),GZ(this.references,q)}this.resolved=!0}let X=U.length?U:this.exportedNames;return new h1(S(X,(q,Z)=>[Z,this._exports[Z]]))}resolve(U){return this.export()[U]}node=(U,X,q={})=>{let Z=this.preparseNode(U,X,q);if(x(Z))return this.bindReference(Z);let Q=this.createParseContext(Z),G=_4(Q),Y=this.bindReference(G);return Q0[Q.id]=Y};parse=(U,X={})=>this.finalize(this.parseDefinition(U,X));parseDefinition(U,X={}){if(M(U,"root"))return this.bindReference(U);let q=this.preparseOwnDefinitionFormat(U,X);if(M(q,"root"))return this.bindReference(q);let Z=this.createParseContext(q);Q0[Z.id]=Z;let Q=this.bindReference(this.parseOwnDefinitionFormat(U,Z));if(Q.isCyclic)Q=Iq(Q,Z.id);return Q0[Z.id]=Q,Q}finalize(U){if(ZZ(U),!U.precompilation&&!this.resolvedConfig.jitless)Y7(U.references);return U}}class C4 extends I6{parseOwnDefinitionFormat(U,X){return _4(X)}preparseOwnDefinitionFormat(U,X){return this.preparseNode(D2(U),U,X)}preparseOwnAliasEntry(U,X){return[U,X]}normalizeRootScopeValue(U){return U}}var ZZ=(U)=>{let X=U.references.filter((q)=>q.hasKind("alias"));for(let q of X){Object.assign(q.referencesById,q.resolution.referencesById);for(let Z of U.references)if(q.id in Z.referencesById)Object.assign(Z.referencesById,q.referencesById)}return U},JZ=(U)=>S(U,(X,q)=>[X,M(q,"root")||M(q,"generic")?q.json:M(q,"module")?JZ(q):y(`Unexpected resolution ${E(q)}`)]),N4=(U,X)=>{let q=X.indexOf(".");if(q===-1)return;let Z=X.slice(0,q),Q=U[Z];if(Q===void 0)return;if(!M(Q,"module"))return F(J7(Z));let G=X.slice(q+1),Y=Q[G];if(Y===void 0)return N4(Q,G);if(M(Y,"root")||M(Y,"generic"))return Y;if(M(Y,"module"))return Y.root??F(WZ(X));y(`Unexpected resolution for alias '${X}': ${E(Y)}`)},K6=(U,X)=>new C4(U,X),E2=new C4({});var HZ=(U,X)=>{let q={};for(let Z in X){let Q=X[Z];if(M(Q,"module")){let G=HZ(U,Q),Y=S(G,(J,H)=>[`${Z}.${J}`,H]);Object.assign(q,Y)}else if(M(Q,"root")||M(Q,"generic"))q[Z]=Q;else y(`Unexpected scope resolution ${E(Q)}`)}return q},S4=(U)=>`'${U}' is unresolvable`,J7=(U)=>`'${U}' must reference a module to be accessed using dot syntax`,WZ=(U)=>`Reference to submodule '${U}' must specify an alias`;E2.export();var{schema:v,node:x1,defineSchema:uP,generic:T0}=E2;var E4="^(?:0|[1-9]\\d*)$",H7=new RegExp(E4),lP=d(H7);var _Z=K6({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();A.intrinsic={..._Z};var $Z=K6({integer:{domain:"number",divisor:1},lengthBoundable:["string",Array],key:["string","symbol"],nonNegativeIntegerString:{domain:"string",pattern:E4}},{prereducedAliases:!0}).export();Object.assign(A.intrinsic,$Z);var W7=K6({jsonPrimitive:["string","number",{unit:!0},{unit:!1},{unit:null}],jsonObject:{domain:"object",index:{signature:"string",value:"$jsonData"}},jsonData:["$jsonPrimitive","$jsonObject"]},{prereducedAliases:!0}).export(),I={..._Z,...$Z,...W7,emptyStructure:x1("structure",{},{prereduced:!0})};A.intrinsic={...I};var N6=(U,X)=>new RegExp(U,X);Object.assign(N6,{as:N6});var zZ=(U)=>typeof U==="string"&&U[0]==="d"&&(U[1]==="'"||U[1]==='"')&&U[U.length-1]===U[1],LZ=(U)=>U.toString()!=="Invalid Date",FZ=(U)=>U.slice(2,-1),j4=(U)=>`'${U}' could not be parsed by the Date constructor`,VZ=(U,X)=>_7(U,X),_7=(U,X)=>{let q=new Date(U);if(LZ(q))return q;let Z=mX(U);if(Z!==void 0){let Q=new Date(Z);if(LZ(Q))return Q}return X?F(X===!0?j4(U):X):void 0};var $7=v({proto:"Array",sequence:"string",required:{key:"groups",value:["object",{unit:void 0}]}}),C6=(U,X)=>{let q=U.scanner.shiftUntilEscapable(z7[TZ[X]]);if(U.scanner.lookahead==="")return U.error(V7(q,X));if(U.scanner.shift(),X in OZ){let Z;try{Z=new RegExp(q)}catch(Q){F(String(Q))}if(U.root=U.ctx.$.node("intersection",{domain:"string",pattern:q},{prereduced:!0}),X==="x/")U.root=U.ctx.$.node("morph",{in:U.root,morphs:(Q)=>Z.exec(Q),declaredOut:$7})}else if(a(X,b4))U.root=U.ctx.$.node("unit",{unit:q});else{let Z=VZ(q,j4(q));U.root=U.ctx.$.node("unit",{meta:q,unit:Z})}},b4={"'":1,'"':1},AZ={"/":1,"'":1,'"':1},L7={"d'":"'",'d"':'"',"'":"'",'"':'"'},OZ={"/":"/","x/":"/"},TZ={...L7,...OZ},z7={"'":(U)=>U.lookahead==="'",'"':(U)=>U.lookahead==='"',"/":(U)=>U.lookahead==="/"},F7={'"':"double-quote","'":"single-quote","/":"forward slash"},V7=(U,X)=>`${X}${U} requires a closing ${F7[TZ[X]]}`;var BZ=(U)=>`Private type references should not include '#'. Use '${U}' instead.`,S6="Optional definitions like 'string?' are only valid as properties in an object or tuple",E6="Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple";var j0={"<":1,">":1,"=":1,"|":1,"&":1,")":1,"[":1,"%":1,",":1,":":1,"?":1,"#":1,...c0};var RZ=(U,X)=>U===">"?X[0]==="="?X[1]==="=":X.trimStart()===""||a(X.trimStart()[0],j0):U==="="?X[0]!=="=":U===","||U==="?";var DZ=(U,X,q)=>MZ(U,X,q,[]),MZ=(U,X,q,Z)=>{let Q=q.parseUntilFinalizer();if(Z.push(Q.root),Q.finalizer===">"){if(Z.length!==X.params.length)return q.error(f4(U,X.names,Z.map((G)=>G.expression)));return Z}if(Q.finalizer===",")return MZ(U,X,q,Z);return Q.error($6(">"))},f4=(U,X,q)=>`${U}<${X.join(", ")}> requires exactly ${X.length} args (got ${q.length}${q.length===0?"":`: ${q.join(", ")}`})`;var j6=(U)=>{let X=U.scanner.shiftUntilLookahead(j0);if(X==="keyof")U.addPrefix("keyof");else U.root=O7(U,X)},A7=(U,X,q)=>{if(q.scanner.shiftUntilNonWhitespace(),q.scanner.shift()!=="<")return q.error(f4(U,X.names,[]));let Q=DZ(U,X,q);return X(...Q)},O7=(U,X)=>T7(U,X)??B7(U,X)??U.error(X===""?U.scanner.lookahead==="#"?BZ(U.shiftedBy(1).scanner.shiftUntilLookahead(j0)):g4(U):S4(X)),T7=(U,X)=>{if(U.ctx.args?.[X]){let Z=U.ctx.args[X];if(typeof Z!=="string")return Z;return U.ctx.$.node("alias",{reference:Z},{prereduced:!0})}let q=U.ctx.$.maybeResolve(X);if(M(q,"root"))return q;if(q===void 0)return;if(M(q,"generic"))return A7(X,q,U);return F(`Unexpected resolution ${E(q)}`)},B7=(U,X)=>{let q=pX(X);if(q!==void 0)return U.ctx.$.node("unit",{unit:q});let Z=dX(X);if(Z!==void 0)return U.ctx.$.node("unit",{unit:Z})},g4=(U)=>{let X=U.previousOperator();return X?y4(X,U.scanner.unscanned):R7(U.scanner.unscanned)},y4=(U,X="")=>`Token '${U}' requires a right operand${X?` before '${X}'`:""}`,R7=(U)=>`Expected an expression${U?` before '${U}'`:""}`;var k4=(U)=>U.scanner.lookahead===""?U.error(g4(U)):U.scanner.lookahead==="("?U.shiftedBy(1).reduceGroupOpen():U.scanner.lookaheadIsIn(AZ)?C6(U,U.scanner.shift()):U.scanner.lookaheadIsIn(c0)?k4(U.shiftedBy(1)):U.scanner.lookahead==="d"?U.scanner.nextLookahead in b4?C6(U,`${U.scanner.shift()}${U.scanner.shift()}`):j6(U):U.scanner.lookahead==="x"?U.scanner.nextLookahead==="/"?U.shiftedBy(2)&&C6(U,"x/"):j6(U):j6(U);var PZ={">":!0,">=":!0},wZ={"<":!0,"<=":!0};var u1={"<":">",">":"<","<=":">=",">=":"<=","==":"=="},IZ=(U,X)=>`Left bounds are only valid when paired with right bounds (try ...${X}${U})`,b6=(U)=>`Left-bounded expressions must specify their limits using < or <= (was ${U})`,KZ=(U,X,q,Z)=>`An expression may have at most one left bound (parsed ${U}${u1[X]}, ${q}${u1[Z]})`;var CZ=(U,X)=>{let q=D7(U,X);if(U.root.hasKind("unit")){if(typeof U.root.unit==="number"){U.reduceLeftBound(U.root.unit,q),U.unsetRoot();return}if(U.root.unit instanceof Date){let Z=`d'${U.root.description??U.root.unit.toISOString()}'`;U.unsetRoot(),U.reduceLeftBound(Z,q);return}}return P7(U,q)},SZ={"<":1,">":1,"=":1},D7=(U,X)=>U.scanner.lookaheadIs("=")?`${X}${U.scanner.shift()}`:X;var NZ=(U,X,q,Z)=>{if(q.extends(A.intrinsic.number)){if(typeof X!=="number")return F(v4(U,X,Z));return U==="=="?["min","max"]:U[0]===">"?["min"]:["max"]}if(q.extends(A.intrinsic.lengthBoundable)){if(typeof X!=="number")return F(v4(U,X,Z));return U==="=="?["exactLength"]:U[0]===">"?["minLength"]:["maxLength"]}if(q.extends(A.intrinsic.Date))return U==="=="?["after","before"]:U[0]===">"?["after"]:["before"];return F(Lq(q.expression))},M7=(U)=>({rule:zZ(U.limit)?FZ(U.limit):U.limit,exclusive:U.comparator.length===1}),P7=(U,X)=>{let q=U.unsetRoot(),Z=U.scanner.location;U.parseOperand();let Q=U.unsetRoot(),G=U.scanner.sliceChars(Z,U.scanner.location);if(U.root=q,!Q.hasKind("unit")||typeof Q.unit!=="number"&&!(Q.unit instanceof Date))return U.error(v4(X,G,"right"));let Y=Q.unit,J=X.length===1,H=NZ(X,typeof Y==="number"?Y:G,q,"right");for(let $ of H)U.constrainRoot($,X==="=="?{rule:Y}:{rule:Y,exclusive:J});if(!U.branches.leftBound)return;if(!a(X,wZ))return U.error(b6(X));let W=NZ(U.branches.leftBound.comparator,U.branches.leftBound.limit,q,"left");U.constrainRoot(W[0],M7(U.branches.leftBound)),U.branches.leftBound=null},v4=(U,X,q)=>`Comparator ${q==="left"?u1[U]:U} must be ${q==="left"?"preceded":"followed"} by a corresponding literal (was ${X})`;var EZ=(U)=>{U.scanner.shiftUntilNonWhitespace();let X=U.scanner.shiftUntilLookahead(j0);U.root=U.root.brand(X)};var bZ=(U)=>{U.scanner.shiftUntilNonWhitespace();let X=U.scanner.shiftUntilLookahead(j0),q=lX(X,{errorOnFail:jZ(X)});if(q===0)U.error(jZ(0));U.root=U.root.constrain("divisor",q)},jZ=(U)=>`% operator must be followed by a non-zero integer literal (was ${U})`;var h4=(U)=>{let X=U.scanner.shift();return X===""?U.finalize(""):X==="["?U.scanner.shift()==="]"?U.setRoot(U.root.array()):U.error(w7):X==="|"?U.scanner.lookahead===">"?U.shiftedBy(1).pushRootToBranch("|>"):U.pushRootToBranch(X):X==="&"?U.pushRootToBranch(X):X===")"?U.finalizeGroup():RZ(X,U.scanner.unscanned)?U.finalize(X):a(X,SZ)?CZ(U,X):X==="%"?bZ(U):X==="#"?EZ(U):(X in c0)?h4(U):U.error(f6(X))},f6=(U,X="")=>`'${U}' is not allowed here${X&&` (should be ${X})`}`,w7="Missing expected ']'";var fZ=(U)=>{let X=U.unsetRoot();U.parseOperand();let q=U.unsetRoot();if(!q.hasKind("unit"))return U.error(I7(q.expression));let Z=q.unit instanceof Date?()=>new Date(q.unit):q.unit;return[X,"=",Z]},I7=(U)=>`Default value '${U}' must be a literal value`;var x4=(U,X)=>{let q=X.$.maybeResolveRoot(U);if(q)return q;if(U.endsWith("[]")){let G=X.$.maybeResolveRoot(U.slice(0,-2));if(G)return G.array()}let Z=new m1(new V2(U),X),Q=K7(Z);if(Z.finalizer===">")F(f6(">"));return Q},K7=(U)=>{U.parseOperand();let X=j2(U).root;if(!X)return y(`Root was unexpectedly unset after parsing string '${U.scanner.scanned}'`);if(U.finalizer==="=")X=fZ(U);else if(U.finalizer==="?")X=[X,"?"];if(U.scanner.shiftUntilNonWhitespace(),U.scanner.lookahead)F(f6(U.scanner.lookahead));return X},j2=(U)=>{while(U.finalizer===void 0)N7(U);return U},N7=(U)=>U.hasRoot()?U.parseOperator():U.parseOperand();class m1{root;branches={prefixes:[],leftBound:null,intersection:null,union:null,pipe:null};finalizer;groups=[];scanner;ctx;constructor(U,X){this.scanner=U,this.ctx=X}error(U){return F(U)}hasRoot(){return this.root!==void 0}setRoot(U){this.root=U}unsetRoot(){let U=this.root;return this.root=void 0,U}constrainRoot(...U){this.root=this.root.constrain(U[0],U[1])}finalize(U){if(this.groups.length)return this.error($6(")"));this.finalizeBranches(),this.finalizer=U}reduceLeftBound(U,X){let q=u1[X];if(!a(q,PZ))return this.error(b6(X));if(this.branches.leftBound)return this.error(KZ(this.branches.leftBound.limit,this.branches.leftBound.comparator,U,q));this.branches.leftBound={comparator:q,limit:U}}finalizeBranches(){if(this.assertRangeUnset(),this.branches.pipe){this.pushRootToBranch("|>"),this.root=this.branches.pipe;return}if(this.branches.union){this.pushRootToBranch("|"),this.root=this.branches.union;return}if(this.branches.intersection){this.pushRootToBranch("&"),this.root=this.branches.intersection;return}this.applyPrefixes()}finalizeGroup(){this.finalizeBranches();let U=this.groups.pop();if(!U)return this.error(oX(")",this.scanner.unscanned));this.branches=U}addPrefix(U){this.branches.prefixes.push(U)}applyPrefixes(){while(this.branches.prefixes.length){let U=this.branches.prefixes.pop();this.root=U==="keyof"?this.root.keyof():y(`Unexpected prefix '${U}'`)}}pushRootToBranch(U){this.assertRangeUnset(),this.applyPrefixes();let X=this.root;if(this.root=void 0,this.branches.intersection=this.branches.intersection?.rawAnd(X)??X,U==="&")return;if(this.branches.union=this.branches.union?.rawOr(this.branches.intersection)??this.branches.intersection,this.branches.intersection=null,U==="|")return;this.branches.pipe=this.branches.pipe?.rawPipeOnce(this.branches.union)??this.branches.union,this.branches.union=null}parseUntilFinalizer(){return j2(new m1(this.scanner,this.ctx))}parseOperator(){return h4(this)}parseOperand(){return k4(this)}assertRangeUnset(){if(this.branches.leftBound)return this.error(IZ(this.branches.leftBound.limit,this.branches.leftBound.comparator))}reduceGroupOpen(){this.groups.push(this.branches),this.branches={prefixes:[],leftBound:null,union:null,intersection:null,pipe:null}}previousOperator(){return this.branches.leftBound?.comparator??this.branches.prefixes[this.branches.prefixes.length-1]??(this.branches.intersection?"&":this.branches.union?"|":this.branches.pipe?"|>":void 0)}shiftedBy(U){return this.scanner.jumpForward(U),this}}var C7="An empty string is not a valid generic parameter name",g6=(U,X,q)=>{U.shiftUntilNonWhitespace();let Z=U.shiftUntilLookahead(j0);if(Z===""){if(U.lookahead===""&&X.length)return X;return F(C7)}return U.shiftUntilNonWhitespace(),S7(U,Z,X,q)},gZ="extends ",S7=(U,X,q,Z)=>{if(U.shiftUntilNonWhitespace(),U.unscanned.startsWith(gZ))U.jumpForward(gZ.length);else{if(U.lookahead===",")U.shift();return q.push(X),g6(U,q,Z)}let Q=j2(new m1(U,Z));return q.push([X,Q.root]),g6(U,q,Z)};class u4 extends H0{constructor(U){let X={$:U,raw:U.fn};super((...q)=>{let Z=q.indexOf(":"),Q=Z===-1?q.length-1:Z-1,G=q.slice(0,Q+1),Y=U.parse(G).assertHasKind("intersection"),J=U.intrinsic.unknown;if(Z!==-1){if(Z!==q.length-2)return F(E7);J=U.parse(q[Z+1])}return(H)=>new yZ(H,Y,J)},{attach:X})}}class yZ extends H0{raw;params;returns;expression;constructor(U,X,q){let Z=`typed ${U.name}`,Q={[Z]:(...Y)=>{let J=X.assert(Y),H=U(...J);return q.assert(H)}}[Z];super(Q);this.raw=U,this.params=X,this.returns=q;let G=X.expression;if(G[0]==="["&&G[G.length-1]==="]")G=G.slice(1,-1);else if(G.endsWith("[]"))G=`...${G}`;this.expression=`(${G}) => ${q?.expression??"unknown"}`}}var E7=`":" must be followed by exactly one return type e.g:
|
|
184
|
-
fn("string", ":", "number")(s => s.length)`;class m4 extends H0{$;constructor(U){super((...X)=>new b2(U)(...X),{bind:U});this.$=U}in(U){return new b2(this.$,U===void 0?void 0:this.$.parse(U))}at(U,X){return new b2(this.$).at(U,X)}case(U,X){return new b2(this.$).case(U,X)}}class b2 extends H0{$;in;key;branches=[];constructor(U,X){super((q)=>this.caseEntries(Object.entries(q).map(([Z,Q])=>Z==="default"?[Z,Q]:[this.$.parse(Z),Q])));this.$=U,this.in=X}at(U,X){if(this.key)F(b7);if(this.branches.length)F(j7);return this.key=U,X?this.match(X):this}case(U,X){return this.caseEntry(this.$.parse(U),X)}caseEntry(U,X){let Z=(this.key?this.$.parse({[this.key]:U}):U).pipe(X);return this.branches.push(Z),this}match(U){return this(U)}strings(U){return this.caseEntries(Object.entries(U).map(([X,q])=>X==="default"?[X,q]:[this.$.node("unit",{unit:X}),q]))}caseEntries(U){for(let X=0;X<U.length;X++){let[q,Z]=U[X];if(q==="default"){if(X!==U.length-1)F("default may only be specified as the last key of a switch definition");return this.default(Z)}if(typeof Z!=="function")return F(`Value for case "${q}" must be a function (was ${r(Z)})`);this.caseEntry(q,Z)}return this}default(U){if(typeof U==="function")this.case(I.unknown,U);let X={branches:this.branches,ordered:!0};if(U==="never"||U==="assert")X.meta={onFail:kZ};let q=this.$.node("union",X);if(!this.in)return this.$.finalize(q);let Z=this.in.pipe(q);if(U==="never"||U==="assert")Z=Z.configureReferences({onFail:kZ},"self");return this.$.finalize(Z)}}var kZ=(U)=>U.throw(),j7="A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')",b7="At most one key matcher may be specified per expression";var y6=(U,X)=>{if(h(U)){if(U[1]==="=")return[X.$.parseOwnDefinitionFormat(U[0],X),"=",U[2]];if(U[1]==="?")return[X.$.parseOwnDefinitionFormat(U[0],X),"?"]}return k6(U,X)},vZ="Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }",hZ="Only required keys may specify default values, e.g. { value: 'number = 0' }";var xZ=(U,X)=>{let q,Z={},Q=J1(U);for(let[Y,J]of Q){let H=y7(Y);if(H.kind==="spread"){if(!S0(Z))return F(g7);let V=X.$.parseOwnDefinitionFormat(J,X);if(V.equals(I.object))continue;if(!V.hasKind("intersection")||!V.basis?.equals(I.object))return F(k7(V.expression));q=V.structure;continue}if(H.kind==="undeclared"){if(J!=="reject"&&J!=="delete"&&J!=="ignore")F(f7(J));Z.undeclared=J;continue}let W=y6(J,X),$=H;if(H.kind==="required"){if(!h(W))p4(Z,"required",{key:H.normalized,value:W},X);else p4(Z,"optional",W[1]==="="?{key:H.normalized,value:W[0],default:W[2]}:{key:H.normalized,value:W[0]},X);continue}if(h(W)){if(W[1]==="?")F(vZ);if(W[1]==="=")F(hZ)}if(H.kind==="optional"){p4(Z,"optional",{key:H.normalized,value:W},X);continue}let _=X.$.parseOwnDefinitionFormat($.normalized,X),L=w6(_,W,X.$);if(L.index)Z.index=g(Z.index,L.index);if(L.required)Z.required=g(Z.required,L.required)}let G=X.$.node("structure",Z);return X.$.parseSchema({domain:"object",structure:q?.merge(G)??G})},p4=(U,X,q,Z)=>{U[X]=g(U[X],Z.$.node(X,q))},f7=(U)=>`Value of '+' key must be 'reject', 'delete', or 'ignore' (was ${E(U)})`,g7="Spread operator may only be used as the first key in an object",y7=(U)=>typeof U==="symbol"?{kind:"required",normalized:U}:U[U.length-1]==="?"?U[U.length-2]===W1?{kind:"required",normalized:`${U.slice(0,-2)}?`}:{kind:"optional",normalized:U.slice(0,-1)}:U[0]==="["&&U[U.length-1]==="]"?{kind:"index",normalized:U.slice(1,-1)}:U[0]===W1&&U[1]==="["&&U[U.length-1]==="]"?{kind:"required",normalized:U.slice(1)}:U==="..."?{kind:"spread"}:U==="+"?{kind:"undeclared"}:{kind:"required",normalized:U==="\\..."?"...":U==="\\+"?"+":U},k7=(U)=>`Spread operand must resolve to an object literal type (was ${U})`;var mZ=(U,X)=>i7(U)?cZ[U[0]](U,X):d7(U)?dZ[U[1]](U,X):null,v7=(U,X)=>X.$.parseOwnDefinitionFormat(U[1],X).keyof(),l4=(U,X)=>{if(U[2]===void 0)return F(y4(U[1],""));let q=X.$.parseOwnDefinitionFormat(U[0],X),Z=X.$.parseOwnDefinitionFormat(U[2],X);if(U[1]==="|")return X.$.node("union",{branches:[q,Z]});let Q=U[1]==="&"?$0(q,Z,X.$):R2(q,Z,X.$);if(Q instanceof T)return Q.throw();return Q},h7=(U,X)=>X.$.parseOwnDefinitionFormat(U[0],X).array(),x7=(U,X)=>{if(typeof U[2]!=="function")return F(pZ("=>",U[2]));return X.$.parseOwnDefinitionFormat(U[0],X).pipe(U[2])},pZ=(U,X)=>`${U===":"?"Narrow":"Morph"} expression requires a function following '${U}' (was ${typeof X})`,u7=(U,X)=>{if(typeof U[2]!=="function")return F(pZ(":",U[2]));return X.$.parseOwnDefinitionFormat(U[0],X).constrain("predicate",U[2])},m7=(U,X)=>X.$.parseOwnDefinitionFormat(U[0],X).configure(U[2],U[3]),lZ=(U)=>U,p7=lZ({"[]":h7,"?":()=>F(S6)}),l7=lZ({"|":l4,"&":l4,":":u7,"=>":x7,"|>":l4,"@":m7,"=":()=>F(E6)}),dZ={...p7,...l7},d7=(U)=>dZ[U[1]]!==void 0,c7=(U)=>U,cZ=c7({keyof:v7,instanceof:(U,X)=>{if(typeof U[1]!=="function")return F(uZ(H2(U[1])));let q=U.slice(1).map((Z)=>typeof Z==="function"?X.$.node("proto",{proto:Z}):F(uZ(H2(Z))));return q.length===1?q[0]:X.$.node("union",{branches:q})},"===":(U,X)=>X.$.units(U.slice(1))}),i7=(U)=>cZ[U[0]]!==void 0,uZ=(U)=>`Expected a constructor following 'instanceof' operator (was ${U})`;var oZ=(U,X)=>{let q=[{}],Z=0;while(Z<U.length){let Q=!1;if(U[Z]==="..."&&Z<U.length-1)Q=!0,Z++;let G=y6(U[Z],X),[Y,J,H]=!h(G)?[G]:G;if(Z++,Q){if(!Y.extends(A.intrinsic.Array))return F(r7(Y.expression));q=q.flatMap((W)=>Y.distribute(($)=>o7(z6(W),$)))}else q=q.map((W)=>{if(J==="?")return rZ(W,Y);if(J==="=")return s7(W,Y,H);return d4(W,Y)})}return X.$.parseSchema(q.map((Q)=>S0(Q)?{proto:Array,exactLength:0}:{proto:Array,sequence:Q}))},d4=(U,X)=>{if(U.defaultables||U.optionals)return F(U.variadic?M4:a7);if(U.variadic)U.postfix=g(U.postfix,X);else U.prefix=g(U.prefix,X);return U},rZ=(U,X)=>{if(U.variadic)return F(aZ);return U.optionals=g(U.optionals,X),U},s7=(U,X,q)=>{if(U.variadic)return F(aZ);if(U.optionals)return F(n7);return U.defaultables=g(U.defaultables,[[X,q]]),U},iZ=(U,X)=>{if(U.postfix)F(sZ);if(U.variadic){if(!U.variadic.equals(X))F(sZ)}else U.variadic=X.internal;return U},o7=(U,X)=>{let q=X.select({method:"find",kind:"sequence"});if(!q)return iZ(U,A.intrinsic.unknown);if(q.prefix)for(let Z of q.prefix)d4(U,Z);if(q.optionals)for(let Z of q.optionals)rZ(U,Z);if(q.variadic)iZ(U,q.variadic);if(q.postfix)for(let Z of q.postfix)d4(U,Z);return U},r7=(U)=>`Spread element must be an array (was ${U})`,sZ="A tuple may have at most one variadic element",a7="A required element may not follow an optional element",aZ="An optional element may not follow a variadic element";var n7="A defaultable element may not follow an optional element without a default";var t7={},k6=(U,X)=>{if(typeof U==="string"){if(X.args&&Object.keys(X.args).some((Z)=>U.includes(Z)))return x4(U,X);let q=t7[X.$.name]??={};return q[U]??=x4(U,X)}return G0(U,"object")?e7(U,X):F(c4(r(U)))},e7=(U,X)=>{let q=J2(U);switch(q){case void 0:if(M(U,"root"))return U;if("~standard"in U)return UY(U,X);return xZ(U,X);case"Array":return XY(U,X);case"RegExp":return X.$.node("intersection",{domain:"string",pattern:U},{prereduced:!0});case"Function":{let Z=d0(U)?U():U;if(M(Z,"root"))return Z;return F(c4("Function"))}default:return F(c4(q??E(U)))}},UY=(U,X)=>X.$.intrinsic.unknown.pipe((q,Z)=>{let Q=U["~standard"].validate(q);if(!Q.issues)return Q.value;for(let{message:G,path:Y}of Q.issues)if(Y)if(Y.length)Z.error({problem:yX(G),relativePath:Y.map((J)=>typeof J==="object"?J.key:J)});else Z.error({message:G});else Z.error({message:G})}),XY=(U,X)=>mZ(U,X)??oZ(U,X),c4=(U)=>`Type definitions must be strings or objects (was ${U})`;class i4 extends H0{constructor(U){let X=Object.assign({errors:W0,hkt:X0,$:U,raw:U.parse,module:U.constructor.module,scope:U.constructor.scope,declare:U.declare,define:U.define,match:U.match,generic:U.generic,schema:U.schema,keywords:U.ambient,unit:U.unit,enumerated:U.enumerated,instanceOf:U.instanceOf,valueOf:U.valueOf,or:U.or,and:U.and,merge:U.merge,pipe:U.pipe,fn:U.fn},U.ambientAttachments);super((...q)=>{if(q.length===1)return U.parse(q[0]);if(q.length===2&&typeof q[0]==="string"&&q[0][0]==="<"&&q[0][q[0].length-1]===">"){let Z=q[0].slice(1,-1),Q=U.parseGenericParams(Z,{});return new r0(Q,q[1],U,U,null)}return U.parse(q)},{attach:X})}}var p1=A;class v6 extends I6{get ambientAttachments(){if(!p1.typeAttachments)return;return this.cacheGetter("ambientAttachments",S(p1.typeAttachments,(U,X)=>[U,this.bindReference(X)]))}preparseOwnAliasEntry(U,X){let q=U.indexOf("<");if(q===-1){if(M(X,"module")||M(X,"generic"))return[U,X];let G=this.name==="ark"?U:U==="root"?this.name:`${this.name}.${U}`,Y=this.resolvedConfig.keywords?.[G];if(Y)X=[X,"@",Y];return[U,X]}if(U[U.length-1]!==">")F("'>' must be the last character of a generic declaration in a scope");let Z=U.slice(0,q),Q=U.slice(q+1,-1);return[Z,()=>{let G=this.parseGenericParams(Q,{alias:Z});return Wq(G,X,this)}]}parseGenericParams(U,X){return g6(new V2(U),[],this.createParseContext({...X,def:U,prefix:"generic"}))}normalizeRootScopeValue(U){if(d0(U)&&!M(U,"generic"))return U();return U}preparseOwnDefinitionFormat(U,X){return{...X,def:U,prefix:X.alias??"type"}}parseOwnDefinitionFormat(U,X){if(!(X.alias&&(X.alias in this.aliases))&&!X.args)X.args={this:X.id};let Z=k6(U,X);if(h(Z)){if(Z[1]==="=")return F(E6);if(Z[1]==="?")return F(S6)}return Z}unit=(U)=>this.units([U]);valueOf=(U)=>this.units(KX(U));enumerated=(...U)=>this.units(U);instanceOf=(U)=>this.node("proto",{proto:U},{prereduced:!0});or=(...U)=>this.schema(U.map((X)=>this.parse(X)));and=(...U)=>U.reduce((X,q)=>X.and(this.parse(q)),this.intrinsic.unknown);merge=(...U)=>U.reduce((X,q)=>X.merge(this.parse(q)),this.intrinsic.object);pipe=(...U)=>this.intrinsic.unknown.pipe(...U);fn=new u4(this);match=new m4(this);declare=()=>({type:this.type});define(U){return U}type=new i4(this);static scope=(U,X={})=>new v6(U,X);static module=(U,X={})=>this.scope(U,X).export()}var f2=Object.assign(v6.scope,{define:(U)=>U}),f=v6;class nZ extends X0{description='merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'}var qY=T0(["base",I.object],["props",I.object])((U)=>U.base.merge(U.props),nZ),tZ=f.module({Key:I.key,Merge:qY});class eZ extends X0{}var ZY=T0("element")((U)=>{let X=U.element.exclude(I.Array),q=X.array();return X.rawOr(q).pipe(l0).distribute((Z)=>Z.assertHasKind("morph").declareOut(q),v)},eZ),U8=f.module({root:I.Array,readonly:"root",index:I.nonNegativeIntegerString,liftFrom:ZY},{name:"Array"});var s4=v(["string",_1.FileConstructor]),QY=s4.rawOr(s4.array()),X8=v({meta:"an object representing parsed form data",domain:"object",index:{signature:"string",value:QY}}),q8=f.module({root:["instanceof",FormData],value:s4,parsed:X8,parse:v({in:FormData,morphs:(U)=>{let X={};for(let[q,Z]of U)if(q in X){let Q=X[q];if(typeof Q==="string"||Q instanceof _1.FileConstructor)X[q]=[Q,Z];else Q.push(Z)}else X[q]=Z;return X},declaredOut:X8})},{name:"FormData"});var Z8=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 GY={Boolean:1,Number:1,String:1},Q8=f.module({...S({...yU,...vU},(U,X)=>(U in GY)?[]:[U,["instanceof",X]]),Array:U8,TypedArray:Z8,FormData:q8});var YY=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"}),JY=v({domain:"number",divisor:1}),h6=f.module({root:I.number,integer:JY,epoch:YY,safe:v({domain:{domain:"number",numberAllowsNaN:!1},min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER}),NaN:["===",Number.NaN],Infinity:["===",Number.POSITIVE_INFINITY],NegativeInfinity:["===",Number.NEGATIVE_INFINITY]},{name:"number"});var l=(U,X,q)=>{let Z={domain:"string",pattern:{rule:U.source,flags:U.flags,meta:X}};if(q)Z.meta={format:q};return x1("intersection",Z)},G8=l(_2,"a well-formed integer string"),O8=f.module({root:G8,parse:v({in:G8,morphs:(U,X)=>{let q=Number.parseInt(U);return Number.isSafeInteger(q)?q:X.error("an integer in the range Number.MIN_SAFE_INTEGER to Number.MAX_SAFE_INTEGER")},declaredOut:I.integer})},{name:"string.integer"}),HY=l(/^[\dA-Fa-f]+$/,"hex characters only"),WY=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"}),Y8=l(/^[A-Z].*$/,"capitalized"),_Y=f.module({root:v({in:"string",morphs:(U)=>U.charAt(0).toUpperCase()+U.slice(1),declaredOut:Y8}),preformatted:Y8},{name:"string.capitalize"}),$Y=(U)=>{let X=U.replace(/[ -]+/g,""),q=0,Z,Q,G=!1;for(let Y=X.length-1;Y>=0;Y--){if(Z=X.substring(Y,Y+1),Q=Number.parseInt(Z,10),G)Q*=2,q+=Q>=10?Q%10+1:Q;else q+=Q;G=!G}return!!(q%10===0?X:!1)},LY=/^(?: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}))$/,zY=v({domain:"string",pattern:{meta:"a credit card number",rule:LY.source},predicate:{meta:"a credit card number",predicate:$Y}});var FY=/^([+-]?\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 VY=(U)=>!Number.isNaN(new Date(U).valueOf()),J8=v({domain:"string",predicate:{meta:"a parsable date",predicate:VY}}).assertHasKind("intersection"),H8=O8.root.internal.narrow((U,X)=>{let q=Number.parseInt(U),Z=h6.epoch(q);if(Z instanceof W0)return X.errors.merge(Z),!1;return!0}).configure({description:"an integer string representing a safe Unix timestamp"},"self").assertHasKind("intersection"),AY=f.module({root:H8,parse:v({in:H8,morphs:(U)=>new Date(U),declaredOut:I.Date})},{name:"string.date.epoch"}),W8=l(FY,"an ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) date").internal.assertHasKind("intersection"),OY=f.module({root:W8,parse:v({in:W8,morphs:(U)=>new Date(U),declaredOut:I.Date})},{name:"string.date.iso"}),TY=f.module({root:J8,parse:v({declaredIn:J8,in:"string",morphs:(U,X)=>{let q=new Date(U);if(Number.isNaN(q.valueOf()))return X.error("a parsable date");return q},declaredOut:I.Date}),iso:OY,epoch:AY},{name:"string.date"}),BY=l(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/,"an email address","email"),_8="(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",a0=`(${_8}[.]){3}${_8}`,RY=new RegExp(`^${a0}$`),c="(?:[0-9a-fA-F]{1,4})",DY=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,})?$`),MY=f.module({root:["v4 | v6","@","an IP address"],v4:l(RY,"an IPv4 address","ipv4"),v6:l(DY,"an IPv6 address","ipv6")},{name:"string.ip"}),l1="a JSON string",T8=(U)=>{if(!(U instanceof SyntaxError))throw U;return`must be ${l1} (${U})`},PY=v({meta:l1,domain:"string",predicate:{meta:l1,predicate:(U,X)=>{try{return JSON.parse(U),!0}catch(q){return X.reject({code:"predicate",expected:l1,problem:T8(q)})}}}}),wY=(U,X)=>{if(U.length===0)return X.error({code:"predicate",expected:l1,actual:"empty"});try{return JSON.parse(U)}catch(q){return X.error({code:"predicate",expected:l1,problem:T8(q)})}},IY=f.module({root:PY,parse:v({meta:"safe JSON string parser",in:"string",morphs:wY,declaredOut:I.jsonObject})},{name:"string.json"}),$8=l(/^[a-z]*$/,"only lowercase letters"),KY=f.module({root:v({in:"string",morphs:(U)=>U.toLowerCase(),declaredOut:$8}),preformatted:$8},{name:"string.lower"}),B8=["NFC","NFD","NFKC","NFKD"],g2=S(B8,(U,X)=>[X,v({domain:"string",predicate:(q)=>q.normalize(X)===q,meta:`${X}-normalized unicode`})]),x6=S(B8,(U,X)=>[X,v({in:"string",morphs:(q)=>q.normalize(X),declaredOut:g2[X]})]),NY=f.module({root:x6.NFC,preformatted:g2.NFC},{name:"string.normalize.NFC"}),CY=f.module({root:x6.NFD,preformatted:g2.NFD},{name:"string.normalize.NFD"}),SY=f.module({root:x6.NFKC,preformatted:g2.NFKC},{name:"string.normalize.NFKC"}),EY=f.module({root:x6.NFKD,preformatted:g2.NFKD},{name:"string.normalize.NFKD"}),jY=f.module({root:"NFC",NFC:NY,NFD:CY,NFKC:SY,NFKD:EY},{name:"string.normalize"}),L8=l(W6,"a well-formed numeric string"),bY=f.module({root:L8,parse:v({in:L8,morphs:(U)=>Number.parseFloat(U),declaredOut:I.number})},{name:"string.numeric"}),z8="a regex pattern",fY=v({domain:"string",predicate:{meta:z8,predicate:(U,X)=>{try{return new RegExp(U),!0}catch(q){return X.reject({code:"predicate",expected:z8,problem:String(q)})}}},meta:{format:"regex"}}),gY=/^(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-]+)*))?$/,yY=l(gY,"a semantic version (see https://semver.org/)"),F8=l(/^\S.*\S$|^\S?$/,"trimmed"),kY=f.module({root:v({in:"string",morphs:(U)=>U.trim(),declaredOut:F8}),preformatted:F8},{name:"string.trim"}),V8=l(/^[A-Z]*$/,"only uppercase letters"),vY=f.module({root:v({in:"string",morphs:(U)=>U.toUpperCase(),declaredOut:V8}),preformatted:V8},{name:"string.upper"}),hY=(U)=>URL.canParse(U),A8=v({domain:"string",predicate:{meta:"a URL string",predicate:hY},meta:{format:"uri"}}),xY=f.module({root:A8,parse:v({declaredIn:A8,in:"string",morphs:(U,X)=>{try{return new URL(U)}catch{return X.error("a URL string")}},declaredOut:v(URL)})},{name:"string.url"}),uY=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"}),R8=f.module({root:I.string,alpha:l(/^[A-Za-z]*$/,"only letters"),alphanumeric:l(/^[\dA-Za-z]*$/,"only letters and digits 0-9"),hex:HY,base64:WY,capitalize:_Y,creditCard:zY,date:TY,digits:l(/^\d*$/,"only digits 0-9"),email:BY,integer:O8,ip:MY,json:IY,lower:KY,normalize:jY,numeric:bY,regex:fY,semver:yY,trim:kY,upper:vY,url:xY,uuid:uY},{name:"string"});var D8=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}),M8=f.module({root:I.unknown,any:I.unknown},{name:"unknown"}),mY=f.module({root:I.jsonObject,stringify:x1("morph",{in:I.jsonObject,morphs:(U)=>JSON.stringify(U),declaredOut:I.string})},{name:"object.json"}),P8=f.module({root:I.object,json:mY},{name:"object"});class w8 extends X0{description='instantiate an object from an index signature and corresponding value type like `Record("string", "number")`'}var pY=T0(["K",I.key],"V")((U)=>({domain:"object",index:{signature:U.K,value:U.V}}),w8);class I8 extends X0{description='pick a set of properties from an object like `Pick(User, "name | age")`'}var lY=T0(["T",I.object],["K",I.key])((U)=>U.T.pick(U.K),I8);class K8 extends X0{description='omit a set of properties from an object like `Omit(User, "age")`'}var dY=T0(["T",I.object],["K",I.key])((U)=>U.T.omit(U.K),K8);class N8 extends X0{description="make all named properties of an object optional like `Partial(User)`"}var cY=T0(["T",I.object])((U)=>U.T.partial(),N8);class C8 extends X0{description="make all named properties of an object required like `Required(User)`"}var iY=T0(["T",I.object])((U)=>U.T.required(),C8);class S8 extends X0{description='exclude branches of a union like `Exclude("boolean", "true")`'}var sY=T0("T","U")((U)=>U.T.exclude(U.U),S8);class E8 extends X0{description='extract branches of a union like `Extract("0 | false | 1", "number")`'}var oY=T0("T","U")((U)=>U.T.extract(U.U),E8),j8=f.module({Exclude:sY,Extract:oY,Omit:dY,Partial:cY,Pick:lY,Record:pY,Required:iY});var x0=f2({...D8,...j8,...Q8,...tZ,string:R8,number:h6,object:P8,unknown:M8},{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 o4=Object.assign(x0.type,p1.typeAttachments),rY=x0.match,aY=x0.fn,nY=x0.generic,DN=x0.schema,tY=x0.define,eY=x0.declare;var z1=f2({Operator:"'EQ' | '==' | 'NEQ' | '!=' | 'GT' | '>' | 'GTE' | '>=' | 'LT' | '<' | 'LTE' | '<=' | 'IN' | 'NOT_IN' | 'CONTAINS' | 'MATCHES' | 'RANGE' | 'SINCE' | 'AFTER' | 'BEFORE' | 'UNTIL'",Condition:"RangeCondition | ListCondition | ContainsCondition | NumericCondition | RegexCondition | StringOperatorCondition | HasKeyCondition | NullCondition | EmptyCondition | BasicCondition",RangeCondition:{field:"string > 0",operator:"'RANGE'",value:"unknown[] == 2"},ListCondition:{field:"string > 0",operator:"'IN' | 'NOT_IN'",value:"unknown[]"},ContainsCondition:{field:"string > 0",operator:"'CONTAINS' | 'NOT_CONTAINS'",value:"string | unknown[]"},StringOperatorCondition:{field:"string > 0",operator:"'STARTS_WITH' | 'ENDS_WITH'",value:"string"},HasKeyCondition:{field:"string > 0",operator:"'HAS_KEY'",value:"string"},NullCondition:{field:"string > 0",operator:"'IS_NULL' | 'IS_NONE'","value?":"boolean | null"},EmptyCondition:{field:"string > 0",operator:"'IS_EMPTY'","value?":"boolean | null"},NumericCondition:{field:"string > 0",operator:"'>' | '>=' | '<' | '<=' | 'GT' | 'GTE' | 'LT' | 'LTE'",value:"number | string"},RegexCondition:{field:"string > 0",operator:"'MATCHES'",value:"string"},BasicCondition:{field:"string > 0",operator:"Operator",value:"unknown"},ConditionGroup:{operator:"'AND' | 'OR'",conditions:"(Condition | ConditionGroup)[] >= 1"},RuleCondition:"Condition | ConditionGroup",Action:{"type?":"string > 0","params?":"object","delay?":"number.integer >= 0 | string","probability?":"0 <= number <= 1 | string","if?":"RuleCondition | RuleCondition[]","then?":"Action | ActionGroup","else?":"Action | ActionGroup","break?":"boolean","continue?":"boolean"},ActionGroup:{"mode?":"'ALL' | 'EITHER' | 'SEQUENCE'",actions:"(Action | ActionGroup)[] >= 1"},RuleAction:"Action | ActionGroup",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(),xN=z1.Operator,uN=z1.Condition,mN=z1.ConditionGroup,pN=z1.RuleCondition,lN=z1.Action,dN=z1.ActionGroup,UJ=z1.TriggerRule;class XJ{static validate(U){let X=UJ(U);if(X instanceof o4.errors){let Q=[];for(let G of X){let Y=G.path.join("."),J=G.message,H=void 0;if(Y.endsWith("on")&&(J.includes("string")||J.includes("must be")))if(typeof U==="object"&&U!==null&&"on"in U&&U.on===!0)J="The 'on' field is incorrect (boolean true found).",H=`In YAML, 'on' is a boolean keyword (true). Quote it: "on": "EventName"`;else H="Ensure 'on' is a string event name.";Q.push({path:Y,message:J,suggestion:H,severity:"error"})}return{valid:!1,issues:Q}}let q=X,Z=[];if(this.validateConditionsRecursive(q.if,Z,"if"),Z.length>0)return{valid:!1,issues:Z};return{valid:!0,rule:q}}static validateConditionsRecursive(U,X,q){if(!U)return;if(Array.isArray(U)){U.forEach((Z,Q)=>{this.validateConditionsRecursive(Z,X,`${q}.${Q}`)});return}if(typeof U==="object"&&U!==null&&"conditions"in U&&Array.isArray(U.conditions)){U.conditions.forEach((Z,Q)=>{this.validateConditionsRecursive(Z,X,`${q}.conditions.${Q}`)});return}if(typeof U==="object"&&U!==null&&"operator"in U&&"value"in U)this.validateConditionValue(U,X,q)}static validateConditionValue(U,X,q){let{operator:Z,value:Q}=U;if(typeof Z==="string"&&["IN","NOT_IN","RANGE","CONTAINS","NOT_CONTAINS"].includes(Z)){if(Z==="CONTAINS"){if(typeof Q!=="string"&&!Array.isArray(Q))X.push({path:`${q}.value`,message:`Incorrect value type: Operator 'CONTAINS' expects a String or List (Array), but received ${typeof Q}.`,suggestion:"Use a substring or a list of items.",severity:"error"});return}if(!Array.isArray(Q)){X.push({path:`${q}.value`,message:`Incorrect value type: Operator '${Z}' expects a List (Array), but received ${typeof Q}.`,suggestion:Z==="RANGE"?"Use format [min, max]":"Use format [item1, item2]",severity:"error"});return}if(Z==="RANGE"){if(Q.length!==2)X.push({path:`${q}.value`,message:"Invalid Range: Operator 'RANGE' requires exactly 2 values (min and max).",suggestion:"Use format [min, max], e.g. [1, 10]",severity:"error"});else if(typeof Q[0]!=="number"&&typeof Q[0]!=="string")X.push({path:`${q}.value`,message:"Incorrect range type: Range values must be numbers or expression strings.",severity:"error"})}}else if(Z==="MATCHES")if(typeof Q!=="string")X.push({path:`${q}.value`,message:`Incorrect value type: Operator 'MATCHES' expects a string (regex pattern), but received ${typeof Q}.`,severity:"error"});else try{new RegExp(Q)}catch(G){X.push({path:`${q}.value`,message:`Invalid Regex pattern: ${G.message}`,severity:"error"})}else if(typeof Z==="string"&&["GT","GTE","LT","LTE",">",">=","<","<="].includes(Z)){if(typeof Q!=="number"&&typeof Q!=="string")X.push({path:`${q}.value`,message:`Incorrect value type: Operator '${Z}' expects a number or expression string, but received ${typeof Q}.`,severity:"error"})}else if(typeof Z==="string"&&["STARTS_WITH","ENDS_WITH"].includes(Z)){if(typeof Q!=="string")X.push({path:`${q}.value`,message:`Incorrect value type: Operator '${Z}' expects a string, but received ${typeof Q}.`,severity:"error"})}else if(Z==="HAS_KEY"){if(typeof Q!=="string")X.push({path:`${q}.value`,message:`Incorrect value type: Operator 'HAS_KEY' expects a string (key name), but received ${typeof Q}.`,severity:"error"})}}}class u6{conditions=[];op="AND";constructor(U="AND"){this.op=U}where(U,X,q){return this.conditions.push({field:U,operator:X,value:q}),this}and(U){let X=new u6("AND");return this.conditions.push(U(X).build()),this}or(U){let X=new u6("OR");return this.conditions.push(U(X).build()),this}build(){if(this.conditions.length===0)throw Error("Condition group must have at least one condition");if(this.conditions.length===1&&this.op==="AND")return this.conditions[0];return{operator:this.op,conditions:this.conditions}}}class b8{actions=[];mode="ALL";setMode(U){return this.mode=U,this}add(U,X,q){return this.actions.push({type:U,params:X,...q}),this}build(){if(this.actions.length===0)throw Error("Action group must have at least one action");if(this.actions.length===1&&this.mode==="ALL")return this.actions[0];if(this.mode==="ALL")return this.actions;return{mode:this.mode,actions:this.actions}}}class qJ{rule={enabled:!0,priority:0};withId(U){return this.rule.id=U,this}withName(U){return this.rule.name=U,this}withDescription(U){return this.rule.description=U,this}withPriority(U){return this.rule.priority=U,this}withCooldown(U){return this.rule.cooldown=U,this}withTags(U){return this.rule.tags=U,this}on(U){return this.rule.on=U,this}if(U,X,q){if(!this.rule.if)this.rule.if={field:U,operator:X,value:q};else if(Array.isArray(this.rule.if))this.rule.if.push({field:U,operator:X,value:q});else this.rule.if=[this.rule.if,{field:U,operator:X,value:q}];return this}ifComplex(U){let X=new u6,q=U(X).build();return this.rule.if=q,this}do(U,X,q){let Z={type:U,params:X,...q};if(!this.rule.do)this.rule.do=Z;else if(Array.isArray(this.rule.do))this.rule.do.push(Z);else if(this.rule.do&&typeof this.rule.do==="object"&&"actions"in this.rule.do)this.rule.do.actions.push(Z);else this.rule.do=[this.rule.do,Z];return this}doComplex(U){let X=new b8,q=U(X).build();return this.rule.do=q,this}build(){if(!this.rule.id)throw Error("Rule ID is required");if(!this.rule.on)throw Error("Rule 'on' event is required");if(!this.rule.do)throw Error("Rule 'do' action is required");return this.rule}}var pQ=oQ(mQ(),1);class qA{static toYaml(U){let X=Array.isArray(U)?U:[U];return pQ.default.stringify(X)}static async saveToFile(U,X){let q=this.toYaml(U);if(typeof process<"u"&&process.versions&&process.versions.node){let Z=await import("fs/promises"),G=(await import("path")).dirname(X);await Z.mkdir(G,{recursive:!0}),await Z.writeFile(X,q,"utf8")}else throw Error("saveToFile is only supported in Node.js/Bun environments")}}export{N0 as triggerEmitter,Y6 as ruleEvents,WA as engineEvents,XJ as TriggerValidator,q2 as TriggerUtils,UJ as TriggerRuleSchema,Q2 as TriggerEngine,jU as TriggerEmitter,U0 as StateManager,qA as RuleExporter,FX as RuleEvent,bU as RuleEngine,pN as RuleConditionSchema,qJ as RuleBuilder,EU as InMemoryPersistence,e as ExpressionEngine,tQ as EventQueue,G6 as EngineEvent,Q2 as Engine,UG as ContextAdapter,uN as ConditionSchema,mN as ConditionGroupSchema,u6 as ConditionBuilder,xN as ComparisonOperatorSchema,eQ as BrowserPersistence,bU as AdvancedRuleEngine,lN as ActionSchema,w1 as ActionRegistry,dN as ActionGroupSchema,b8 as ActionBuilder};
|
|
184
|
+
`,X)+1}return{type:Z,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(Z){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let X=QZ(Z),Q=n2(X);return Q.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Q,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let X=QZ(Z),Q=n2(X);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Q,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(Z,X){if(this.type!=="comment")return!1;if(this.indent<=X)return!1;return Z.every((Q)=>Q.type==="newline"||Q.type==="space")}*documentEnd(Z){if(this.type!=="doc-mode"){if(Z.end)Z.end.push(this.sourceToken);else Z.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd(Z){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:if(Z.end)Z.end.push(this.sourceToken);else Z.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}nO.Parser=VY});var MY=C((YR)=>{var HY=T3(),eO=$4(),F4=L4(),ZR=IX(),XR=l(),QR=I3(),FY=f3();function zY(Z){let X=Z.prettyErrors!==!1;return{lineCounter:Z.lineCounter||X&&new QR.LineCounter||null,prettyErrors:X}}function UR(Z,X={}){let{lineCounter:Q,prettyErrors:U}=zY(X),J=new FY.Parser(Q?.addNewLine),q=new HY.Composer(X),Y=Array.from(q.compose(J.parse(Z)));if(U&&Q)for(let W of Y)W.errors.forEach(F4.prettifyError(Z,Q)),W.warnings.forEach(F4.prettifyError(Z,Q));if(Y.length>0)return Y;return Object.assign([],{empty:!0},q.streamInfo())}function BY(Z,X={}){let{lineCounter:Q,prettyErrors:U}=zY(X),J=new FY.Parser(Q?.addNewLine),q=new HY.Composer(X),Y=null;for(let W of q.compose(J.parse(Z),!0,Z.length))if(!Y)Y=W;else if(Y.options.logLevel!=="silent"){Y.errors.push(new F4.YAMLParseError(W.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(U&&Q)Y.errors.forEach(F4.prettifyError(Z,Q)),Y.warnings.forEach(F4.prettifyError(Z,Q));return Y}function JR(Z,X,Q){let U=void 0;if(typeof X==="function")U=X;else if(Q===void 0&&X&&typeof X==="object")Q=X;let J=BY(Z,Q);if(!J)return null;if(J.warnings.forEach((q)=>ZR.warn(J.options.logLevel,q)),J.errors.length>0)if(J.options.logLevel!=="silent")throw J.errors[0];else J.errors=[];return J.toJS(Object.assign({reviver:U},Q))}function qR(Z,X,Q){let U=null;if(typeof X==="function"||Array.isArray(X))U=X;else if(Q===void 0&&X)Q=X;if(typeof Q==="string")Q=Q.length;if(typeof Q==="number"){let J=Math.round(Q);Q=J<1?void 0:J>8?{indent:8}:{indent:J}}if(Z===void 0){let{keepUndefined:J}=Q??X??{};if(!J)return}if(XR.isDocument(Z)&&!U)return Z.toString(Q);return new eO.Document(Z,U,Q).toString(Q)}YR.parse=JR;YR.parseAllDocuments=UR;YR.parseDocument=BY;YR.stringify=qR});var k3=C((DR)=>{var _R=T3(),VR=$4(),HR=Y3(),y3=L4(),FR=s6(),d1=l(),zR=h1(),BR=W0(),MR=u1(),OR=p1(),RR=ZZ(),PR=b3(),KR=I3(),TR=f3(),UZ=MY(),OY=c6();DR.Composer=_R.Composer;DR.Document=VR.Document;DR.Schema=HR.Schema;DR.YAMLError=y3.YAMLError;DR.YAMLParseError=y3.YAMLParseError;DR.YAMLWarning=y3.YAMLWarning;DR.Alias=FR.Alias;DR.isAlias=d1.isAlias;DR.isCollection=d1.isCollection;DR.isDocument=d1.isDocument;DR.isMap=d1.isMap;DR.isNode=d1.isNode;DR.isPair=d1.isPair;DR.isScalar=d1.isScalar;DR.isSeq=d1.isSeq;DR.Pair=zR.Pair;DR.Scalar=BR.Scalar;DR.YAMLMap=MR.YAMLMap;DR.YAMLSeq=OR.YAMLSeq;DR.CST=RR;DR.Lexer=PR.Lexer;DR.LineCounter=KR.LineCounter;DR.Parser=TR.Parser;DR.parse=UZ.parse;DR.parseAllDocuments=UZ.parseAllDocuments;DR.parseDocument=UZ.parseDocument;DR.stringify=UZ.stringify;DR.visit=OY.visit;DR.visitAsync=OY.visitAsync});v2();var x2;((q)=>{q.ENGINE_START="engine:start";q.ENGINE_DONE="engine:done";q.RULE_MATCH="rule:match";q.ACTION_SUCCESS="action:success";q.ACTION_ERROR="action:error"})(x2||={});var $9;((U)=>{U.RULE_ADDED="rule:added";U.RULE_REMOVED="rule:removed";U.RULE_UPDATED="rule:updated"})($9||={});var Rb=x2,L9=$9;class GX{static instance;handlers=new Map;constructor(){}static getInstance(){if(!this.instance)this.instance=new GX;return this.instance}on(Z,X){let Q=Z;if(!this.handlers.has(Q))this.handlers.set(Q,new Set);return this.handlers.get(Q).add(X),()=>this.off(Q,X)}off(Z,X){let Q=Z,U=this.handlers.get(Q);if(U)U.delete(X)}emit(Z,X){let Q=Z,U=this.handlers.get(Q);if(U)U.forEach((J)=>{try{J(X)}catch(q){console.error(`Error in event handler for ${Q}:`,q)}})}}var p0=GX.getInstance();var uG=R0,pG=x2,lG=$9,_X={IF:"if",THEN:"then",ELSE:"else",BREAK:"break",CONTINUE:"continue",MODE:"mode",ACTIONS:"actions",RUN:"run",DELAY:"delay",PROBABILITY:"probability",PARAMS:"params",TYPE:"type",ON:"on"},VX={UNKNOWN_ACTION:"Unknown or generic action type",MISSING_ACTION_TYPE:"Action has no type and no control flow properties",PROBABILITY_FAILED:"probability check failed",BUN_REQUIRED:"Bun is required for 'execute' action",MISSING_KEY:"Missing key for state operation"},G9={RULE_ENGINE_EVALUATING:(Z,X)=>`[RuleEngine] Evaluating context with ${Z} rules for event: ${X}`,TRIGGER_ENGINE_EVALUATING:(Z,X)=>`[TriggerEngine] Evaluating context with ${Z} rules for event: ${X}`},Db={Actions:uG,Events:pG,RuleEvents:lG,ControlFlow:_X,ErrorMessages:VX,DebugMessages:G9};W9();class dG{queue=[];engine;config;timer=null;isProcessing=!1;constructor(Z,X={maxBatchSize:10,flushIntervalMs:100}){this.engine=Z,this.config=X}push(Z){if(this.queue.push(Z),this.queue.length>=this.config.maxBatchSize)this.processQueue();else if(!this.timer)this.timer=setTimeout(()=>this.processQueue(),this.config.flushIntervalMs)}async processQueue(){if(this.isProcessing)return;if(this.isProcessing=!0,this.timer)clearTimeout(this.timer),this.timer=null;let Z=this.queue.splice(0,this.config.maxBatchSize);if(Z.length===0){this.isProcessing=!1;return}console.debug(`[EventQueue] Processing batch of ${Z.length} events.`);for(let X of Z)try{await this.engine.evaluateContext(X)}catch(Q){console.error(`[EventQueue] Error processing event ${X.event}:`,Q)}if(this.queue.length>0)setTimeout(()=>this.processQueue(),0);this.isProcessing=!1}getQueueLength(){return this.queue.length}}class cG{keyPrefix;cache=new Map;isLoaded=!1;pendingWrite=null;writeDelay;dirty=!1;constructor(Z="trigger_system:",X){this.keyPrefix=Z,this.writeDelay=X?.writeDelay??0}flush(){this.dirty=!0,this.persist()}getCache(){return this.ensureLoaded(),new Map(this.cache)}isDirty(){return this.dirty}isAvailable(){return typeof window<"u"&&typeof window.localStorage<"u"}ensureLoaded(){if(this.isLoaded)return;if(this.isAvailable())try{let Z=window.localStorage.getItem(this.keyPrefix+"state");if(Z){let X=JSON.parse(Z);this.cache=new Map(Object.entries(X))}}catch(Z){console.error("[BrowserPersistence] Failed to load from localStorage:",Z)}this.isLoaded=!0}schedulePersist(){if(this.writeDelay<=0){this.persist();return}if(this.pendingWrite)clearTimeout(this.pendingWrite);this.dirty=!0,this.pendingWrite=setTimeout(()=>{this.persist(),this.pendingWrite=null},this.writeDelay)}persist(){if(this.pendingWrite)clearTimeout(this.pendingWrite),this.pendingWrite=null;if(this.isAvailable())try{let Z=Object.fromEntries(this.cache);window.localStorage.setItem(this.keyPrefix+"state",JSON.stringify(Z)),this.dirty=!1}catch(Z){console.error("[BrowserPersistence] Failed to save to localStorage:",Z)}}async loadState(){return this.ensureLoaded(),new Map(this.cache)}async saveState(Z,X){this.ensureLoaded(),this.cache.set(Z,X),this.schedulePersist()}async deleteState(Z){this.ensureLoaded(),this.cache.delete(Z),this.schedulePersist()}async clearState(){this.cache.clear(),this.schedulePersist()}}class HX{static getNestedValue(Z,X){let Q=Z.split("."),U=X;for(let J of Q){if(U===null||U===void 0)return;if(typeof U==="object"&&U!==null&&J in U)U=U[J];else return}return U}static interpolate(Z,X){if(typeof Z!=="string")return Z;return Z.replace(/\$\{([^}]+)\}/g,(Q,U)=>{let J=this.getNestedValue(U,X);if(J!==void 0)return String(J);return Q})}static compare(Z,X,Q){let U=(q)=>{if(q instanceof Date)return q.getTime();if(typeof q==="number")return q;if(typeof q==="string"){let Y=new Date(q);return isNaN(Y.getTime())?0:Y.getTime()}return 0},J=(q)=>{if(typeof q==="number")return q;if(q===null||q===void 0||q==="")return null;let Y=Number(q);return isNaN(Y)?null:Y};switch(X){case"EQ":case"==":return Z==Q;case"NEQ":case"!=":return Z!=Q;case"GT":case">":{let q=J(Z),Y=J(Q);return q!==null&&Y!==null&&q>Y}case"GTE":case">=":{let q=J(Z),Y=J(Q);return q!==null&&Y!==null&&q>=Y}case"LT":case"<":{let q=J(Z),Y=J(Q);return q!==null&&Y!==null&&q<Y}case"LTE":case"<=":{let q=J(Z),Y=J(Q);return q!==null&&Y!==null&&q<=Y}case"IN":return Array.isArray(Q)&&Q.some((q)=>q===Z);case"NOT_IN":return Array.isArray(Q)&&!Q.some((q)=>q===Z);case"CONTAINS":if(Array.isArray(Q))return Q.some((q)=>String(Z).includes(String(q)));if(Array.isArray(Z)||typeof Z==="string")return Z.includes(Q);return!1;case"NOT_CONTAINS":if(Array.isArray(Q))return!Q.some((q)=>String(Z).includes(String(q)));if(Array.isArray(Z)||typeof Z==="string")return!Z.includes(Q);return!1;case"STARTS_WITH":if(Array.isArray(Q))return Q.some((q)=>String(Z).startsWith(String(q)));if(typeof Z==="string"&&typeof Q==="string")return Z.startsWith(Q);return!1;case"ENDS_WITH":if(Array.isArray(Q))return Q.some((q)=>String(Z).endsWith(String(q)));if(typeof Z==="string"&&typeof Q==="string")return Z.endsWith(Q);return!1;case"IS_EMPTY":{let q=!1;if(typeof Z==="string")q=Z==="";else if(Array.isArray(Z))q=Z.length===0;else if(Z===null||Z===void 0)q=!0;else if(typeof Z==="object")q=Object.keys(Z).length===0;return Q===!1?!q:q}case"IS_NULL":case"IS_NONE":{let q=Z===null||Z===void 0;return Q===!1?!q:q}case"HAS_KEY":if(typeof Z==="object"&&Z!==null&&typeof Q==="string")return Q in Z;return!1;case"MATCHES":if(typeof Q==="string")return new RegExp(Q).test(String(Z));return!1;case"RANGE":if(Array.isArray(Q)&&Q.length===2){let q=J(Z),Y=J(Q[0]),W=J(Q[1]);return q!==null&&Y!==null&&W!==null&&q>=Y&&q<=W}return!1;case"SINCE":case"AFTER":return U(Z)>=U(Q);case"BEFORE":case"UNTIL":return U(Z)<U(Q);default:return console.warn(`Unknown operator: ${X}`),!1}}}W9();class f1{static evaluateConditions(Z,X){if(!Z)return!0;if(Array.isArray(Z))return Z.every((Q)=>this.evaluateRecursiveCondition(Q,X));return this.evaluateRecursiveCondition(Z,X)}static evaluateRecursiveCondition(Z,X){if("conditions"in Z&&"operator"in Z){let U=Z;if(U.operator==="OR")return U.conditions.some((J)=>this.evaluateRecursiveCondition(J,X));else return U.conditions.every((J)=>this.evaluateRecursiveCondition(J,X))}let Q=Z;try{let U=j0.evaluate(Q.field,X),J=Q.value;if(typeof J==="string"&&J.includes("${"))J=j0.interpolate(J,X);return HX.compare(U,Q.operator,J)}catch(U){return console.error("Error evaluating condition:",Q,U),!1}}static async processSingleActionBase(Z,X,Q){let U={...Z};if(!U.type&&!U.run&&!U.break&&!U.continue){let Y=Object.values(_X),W=Object.keys(U).filter(($)=>!Y.includes($));for(let $ of W)if(Q?!!Q.get($):!0){U.type=$;let _=U[$];if(typeof _==="string")U.params={...U.params,message:_,content:_};else if(typeof _==="object"&&_!==null)U.params={...U.params,..._};break}}if(U.run)try{return{shouldExecute:!1,executedAction:{type:"RUN",result:Function("context","state","data","vars","env","helpers",`with(context) { ${U.run} }`)(X,X.state,X.data,X.vars,X.env,X.helpers),timestamp:Date.now()},normalizedAction:U}}catch(Y){return{shouldExecute:!1,executedAction:{type:"RUN",error:String(Y),timestamp:Date.now()},normalizedAction:U}}if(U.break)return{shouldExecute:!1,executedAction:{type:"BREAK",result:"Break execution",timestamp:Date.now()},normalizedAction:U};if(U.continue)return{shouldExecute:!1,executedAction:{type:"CONTINUE",result:"Continue execution",timestamp:Date.now()},normalizedAction:U};let J=U.probability;if(typeof J==="string"){let Y=j0.evaluate(J,X);J=typeof Y==="number"?Y:Number(Y)}if(J!==void 0&&Math.random()>J)return{shouldExecute:!1,executedAction:{type:U.type||"skipped",result:{skipped:"probability check failed"},timestamp:Date.now()},normalizedAction:U};let q=U.delay;if(typeof q==="string"){let Y=j0.evaluate(q,X);q=typeof Y==="number"?Y:Number(Y)}if(q&&q>0)await new Promise((Y)=>setTimeout(Y,q));return U.params=this.interpolateParams(U.params||{},X),{shouldExecute:!0,normalizedAction:U}}static selectActions(Z){let X=[],Q="ALL";if(Array.isArray(Z))X=Z;else if(Z&&typeof Z==="object"&&"mode"in Z&&"actions"in Z){let U=Z;Q=U.mode,X=U.actions}else X=[Z];if(Q==="EITHER"&&X.length>0){let U=(W)=>("probability"in W)?W.probability:1,J=X.reduce((W,$)=>W+U($),0),q=Math.random()*J;for(let W of X){let $=U(W);if(q-=$,q<=0)return{actionsToExecute:[W],mode:Q}}let Y=X[X.length-1];return{actionsToExecute:Y?[Y]:[],mode:Q}}return{actionsToExecute:X,mode:Q}}static interpolateParams(Z,X){let Q={};for(let[U,J]of Object.entries(Z))Q[U]=this.interpolateDeep(J,X);return Q}static interpolateDeep(Z,X){if(typeof Z==="string"&&Z.includes("${"))return j0.interpolate(Z,X);if(Array.isArray(Z))return Z.map((Q)=>this.interpolateDeep(Q,X));if(typeof Z==="object"&&Z!==null){let Q={};for(let[U,J]of Object.entries(Z))Q[U]=this.interpolateDeep(J,X);return Q}return Z}}class m6{_rules=[];actionHandlers=new Map;lastExecution=new Map;_config;constructor(Z=[]){if(Array.isArray(Z))this._rules=Z;else this._config=Z,this._rules=[...Z.rules];try{let{ActionRegistry:X}=(v2(),a3(LX));X.getInstance(!0)}catch{}this.sortRules()}sortRules(){this._rules.sort((Z,X)=>(X.priority||0)-(Z.priority||0))}registerAction(Z,X){this.actionHandlers.set(Z,X)}async processEvent(Z){let X=[];if(!Z.state)Z.state=this.getStateContext?this.getStateContext():{};let Q=this._rules.filter((U)=>U.enabled!==!1&&U.on===Z.event);for(let U of Q){if(U.cooldown&&this.checkCooldown(U.id,U.cooldown))continue;let J=f1.evaluateConditions(U.if,Z),q;if(J)p0.emit("rule:match",{rule:U,context:Z}),q=U.do;else if(U.else)q=U.else;if(q){let Y=await this.executeRuleActions(q,Z);this.lastExecution.set(U.id,Date.now()),X.push({ruleId:U.id,success:!0,executedActions:Y})}if(!J&&!U.else&&!this.shouldEvaluateAll())break;if(J&&!this.shouldEvaluateAll())break}return X}async processEventSimple(Z,X={},Q={}){let U={event:Z,data:X,vars:Q,timestamp:Date.now(),state:this.getStateContext?this.getStateContext():{}};return this.processEvent(U)}updateRules(Z){let X=this.getRules(),Q=new Set(X.map((Y)=>Y.id)),U=new Set(Z.map((Y)=>Y.id)),J=Z.filter((Y)=>!Q.has(Y.id)),q=X.filter((Y)=>!U.has(Y.id));this._rules=[...Z],this.sortRules(),J.forEach((Y)=>{this.emitRuleEvent(L9.RULE_ADDED,{ruleId:Y.id,timestamp:Date.now()})}),q.forEach((Y)=>{this.emitRuleEvent(L9.RULE_REMOVED,{ruleId:Y.id,timestamp:Date.now()})}),this.emitRuleEvent(L9.RULE_UPDATED,{count:Z.length,added:J.length,removed:q.length,unchanged:Z.length-J.length,timestamp:Date.now()})}emitRuleEvent(Z,X){try{if(p0)p0.emit(Z,{...X,timestamp:Date.now()})}catch(Q){console.warn(`Could not emit event ${Z}:`,Q)}}getRules(){return[...this._rules]}checkCooldown(Z,X){let Q=this.lastExecution.get(Z);if(!Q)return!1;return Date.now()-Q<X}shouldEvaluateAll(){return this._config?.globalSettings?.evaluateAll??!0}getStateContext(){return{}}evaluateConditions(Z,X){return f1.evaluateConditions(Z,X)}evaluateSingleCondition(Z,X){return f1.evaluateConditions(Z,X)}async executeRuleActions(Z,X){let{actionsToExecute:Q}=f1.selectActions(Z),U=[];for(let J of Q){if("actions"in J&&"mode"in J){U.push(...await this.executeRuleActions(J,X));continue}let q=J;if("if"in q&&q.if&&(q.then||q.else||q.do)){let W=this.evaluateConditions(q.if,X),$=q.then||q.do;if(W&&$)U.push(...await this.executeRuleActions($,X));else if(!W&&q.else)U.push(...await this.executeRuleActions(q.else,X));continue}if("if"in q&&q.if){if(!this.evaluateConditions(q.if,X))continue}let Y=await this.executeSingleAction(q,X);if(U.push(Y),Y.type==="BREAK")break}return U}async executeSingleAction(Z,X){let{shouldExecute:Q,executedAction:U,normalizedAction:J}=await f1.processSingleActionBase(Z,X);if(!Q)return U;try{let q=this.actionHandlers.get(J.type);if(q){let W=await q(J.params||{},X);return p0.emit("action:success",{action:J,context:X,result:W}),{type:J.type,result:W,timestamp:Date.now()}}try{let{ActionRegistry:W}=(v2(),a3(LX)),$=W.getInstance().get(J.type);if($){let L=await $(J,X);return p0.emit("action:success",{action:J,context:X,result:L}),{type:J.type,result:L,timestamp:Date.now()}}}catch{}let Y=`${VX.UNKNOWN_ACTION}: ${J.type}`;if(this._config?.globalSettings?.strictActions)throw Error(Y);return console.warn(Y),{type:J.type,result:{warning:Y},timestamp:Date.now()}}catch(q){return console.error(`Error executing action ${J.type}:`,q),p0.emit("action:error",{action:J,context:X,error:String(q)}),{type:J.type,error:String(q),timestamp:Date.now()}}}interpolateParams(Z,X){return f1.interpolateParams(Z,X)}get rules(){return[...this._rules]}get config(){return this._config}set rules(Z){this._rules=[...Z],this.sortRules()}}v2();x6();class n7 extends m6{actionRegistry;stateManager;constructor(Z){super(Z);this.actionRegistry=h6.getInstance(!0),this.stateManager=z0.getInstance()}async evaluateContext(Z){if(!Z.state)Z.state=this.stateManager.getLiveProxy();if(this._config?.stateConfig)await this.stateManager.applyConfig(this._config.stateConfig);if(!Z.env)Z.env={};if(this._config?.globalSettings?.debugMode)console.log(G9.RULE_ENGINE_EVALUATING(this._rules.length,Z.event));p0.emit("engine:start",{context:Z,rulesCount:this._rules.length});let X=await this.processEvent(Z);return p0.emit("engine:done",{results:X,context:Z}),X}async processEvent(Z,X={},Q={}){if(typeof Z==="string"){let q={event:Z,data:X,vars:Q,timestamp:Date.now(),state:this.stateManager.getLiveProxy()};return this.processEvent(q)}let U=Z;if(U.state=this.stateManager.getLiveProxy(),this._config?.stateConfig)await this.stateManager.applyConfig(this._config.stateConfig);if(p0.emit("engine:start",{context:U,rulesCount:this._rules.length}),this._config?.globalSettings?.debugMode)console.log(G9.RULE_ENGINE_EVALUATING(this._rules.length,U.event));let J=await super.processEvent(U);return p0.emit("engine:done",{results:J,context:U}),J}getStateContext(){return this.stateManager.getLiveProxy()}get ActionRegistry(){return this.actionRegistry}get StateManager(){return this.stateManager}}v2();x6();class iG{static create(Z,X,Q={}){return{event:Z,timestamp:Date.now(),data:typeof X==="object"&&X!==null?X:{value:X},vars:Q,state:z0.getInstance().getLiveProxy(),helpers:this.getDefaultHelpers()}}static fromRequest(Z,X,Q={}){let U=new URL(Z.url);return{event:"HTTP_REQUEST",timestamp:Date.now(),data:{method:Z.method,path:U.pathname,query:Object.fromEntries(U.searchParams),headers:(()=>{let J={};return Z.headers.forEach((q,Y)=>J[Y]=q),J})(),body:X||{}},vars:{...Q,ip:Z.headers.get("x-forwarded-for")||"unknown"},state:z0.getInstance().getLiveProxy(),helpers:this.getDefaultHelpers()}}static fromWebhook(Z,X,Q,U={}){return{event:`WEBHOOK_${Z.toUpperCase()}_${X.toUpperCase()}`,timestamp:Date.now(),data:Q,vars:{...U,provider:Z},state:z0.getInstance().getLiveProxy(),helpers:this.getDefaultHelpers()}}static getDefaultHelpers(){return{now:()=>Date.now(),uuid:()=>crypto.randomUUID(),jsonParse:(Z)=>{try{return typeof Z==="string"?JSON.parse(Z):null}catch{return null}},jsonStringify:(Z)=>{try{return JSON.stringify(Z)}catch{return null}}}}}x6();WX();var sG=["EQ","==","NEQ","!="],t7=["GT",">","GTE",">=","LT","<","LTE","<="],e7=["IN","NOT_IN","RANGE"],ZJ=["CONTAINS","NOT_CONTAINS","STARTS_WITH","ENDS_WITH"],aG=["IS_NULL","IS_NONE"],rG=["IS_EMPTY","HAS_KEY","MATCHES","SINCE","AFTER","BEFORE","UNTIL"],UI=[...sG,...t7,...e7,...ZJ,...aG,...rG];function XJ(Z){return e7.includes(Z)}function QJ(Z){return ZJ.includes(Z)}function UJ(Z){return t7.includes(Z)}var y1=g6({Operator:"'EQ' | '==' | 'NEQ' | '!=' | 'GT' | '>' | 'GTE' | '>=' | 'LT' | '<' | 'LTE' | '<=' | 'IN' | 'NOT_IN' | 'CONTAINS' | 'NOT_CONTAINS' | 'STARTS_WITH' | 'ENDS_WITH' | 'MATCHES' | 'RANGE' | 'SINCE' | 'AFTER' | 'BEFORE' | 'UNTIL'",Condition:"RangeCondition | ListCondition | ContainsCondition | NumericCondition | RegexCondition | StringOperatorCondition | HasKeyCondition | NullCondition | EmptyCondition | BasicCondition",RangeCondition:{field:"string > 0",operator:"'RANGE'",value:"unknown[] == 2"},ListCondition:{field:"string > 0",operator:"'IN' | 'NOT_IN'",value:"unknown[]"},ContainsCondition:{field:"string > 0",operator:"'CONTAINS' | 'NOT_CONTAINS'",value:"string | unknown[]"},StringOperatorCondition:{field:"string > 0",operator:"'STARTS_WITH' | 'ENDS_WITH'",value:"string"},HasKeyCondition:{field:"string > 0",operator:"'HAS_KEY'",value:"string"},NullCondition:{field:"string > 0",operator:"'IS_NULL' | 'IS_NONE'","value?":"boolean | null"},EmptyCondition:{field:"string > 0",operator:"'IS_EMPTY'","value?":"boolean | null"},NumericCondition:{field:"string > 0",operator:"'>' | '>=' | '<' | '<=' | 'GT' | 'GTE' | 'LT' | 'LTE'",value:"number | string"},RegexCondition:{field:"string > 0",operator:"'MATCHES'",value:"string"},BasicCondition:{field:"string > 0",operator:"Operator",value:"unknown"},ConditionGroup:{operator:"'AND' | 'OR'",conditions:"(Condition | ConditionGroup)[] >= 1"},RuleCondition:"Condition | ConditionGroup",Action:{"type?":"string > 0","params?":"object","delay?":"number.integer >= 0 | string","probability?":"0 <= number <= 1 | string","if?":"RuleCondition | RuleCondition[]","then?":"Action | ActionGroup","else?":"Action | ActionGroup","break?":"boolean","continue?":"boolean"},ActionGroup:{"mode?":"'ALL' | 'EITHER' | 'SEQUENCE'",actions:"(Action | ActionGroup)[] >= 1"},RuleAction:"Action | ActionGroup",InlineConditionalAction:{if:"RuleCondition | RuleCondition[]","then?":"Action | ActionGroup","do?":"Action | ActionGroup","else?":"Action | ActionGroup","break?":"boolean","continue?":"boolean"},TriggerRule:{id:"string > 0","name?":"string","description?":"string","priority?":"number.integer","enabled?":"boolean","cooldown?":"number.integer >= 0","tags?":"string[]",on:"string > 0","if?":"RuleCondition | RuleCondition[]",do:"RuleAction | RuleAction[] | InlineConditionalAction","else?":"RuleAction | RuleAction[]","comment?":"string"}}).export(),GI=y1.Operator,_I=y1.Condition,VI=y1.ConditionGroup,HI=y1.RuleCondition,FI=y1.Action,zI=y1.ActionGroup,BI=y1.InlineConditionalAction,oG=y1.TriggerRule;class FX{static validate(Z){let X=oG(Z);if(X instanceof i.errors){let J=[];for(let q of X){let Y=q.path.join("."),W=q.message,$=void 0;if(Y.endsWith("on")&&(W.includes("string")||W.includes("must be")))if(typeof Z==="object"&&Z!==null&&"on"in Z&&Z.on===!0)W="The 'on' field is incorrect (boolean true found).",$=`In YAML, 'on' is a boolean keyword (true). Quote it: "on": "EventName"`;else $="Ensure 'on' is a string event name.";J.push({path:Y,message:W,suggestion:$,severity:"error"})}return{valid:!1,issues:J}}let Q=X,U=[];if(this.validateConditionsRecursive(Q.if,U,"if"),this.validateInlineConditionalRecursive(Q.do,U,"do"),Q.else)this.validateInlineConditionalRecursive(Q.else,U,"else");if(U.length>0)return{valid:!1,issues:U};return{valid:!0,rule:Q}}static validateInlineConditionalRecursive(Z,X,Q){if(!Z)return;if(Array.isArray(Z)){Z.forEach((U,J)=>{this.validateInlineConditionalRecursive(U,X,`${Q}.${J}`)});return}if(typeof Z==="object"&&Z!==null&&"mode"in Z&&"actions"in Z){let U=Z;if(Array.isArray(U.actions))U.actions.forEach((J,q)=>{this.validateInlineConditionalRecursive(J,X,`${Q}.actions.${q}`)});return}if(typeof Z==="object"&&Z!==null&&"if"in Z){let U=Z;if(this.validateConditionsRecursive(U.if,X,`${Q}.if`),U.then)this.validateInlineConditionalRecursive(U.then,X,`${Q}.then`);if(U.do)this.validateInlineConditionalRecursive(U.do,X,`${Q}.do`);if(U.else)this.validateInlineConditionalRecursive(U.else,X,`${Q}.else`);return}}static validateConditionsRecursive(Z,X,Q){if(!Z)return;if(Array.isArray(Z)){Z.forEach((U,J)=>{this.validateConditionsRecursive(U,X,`${Q}.${J}`)});return}if(typeof Z==="object"&&Z!==null&&"conditions"in Z&&Array.isArray(Z.conditions)){Z.conditions.forEach((U,J)=>{this.validateConditionsRecursive(U,X,`${Q}.conditions.${J}`)});return}if(typeof Z==="object"&&Z!==null&&"operator"in Z&&"value"in Z)this.validateConditionValue(Z,X,Q)}static validateConditionValue(Z,X,Q){let{operator:U,value:J}=Z,q=U;if(XJ(q)){if(!Array.isArray(J)){X.push({path:`${Q}.value`,message:`Incorrect value type: Operator '${q}' expects a List (Array), but received ${typeof J}.`,suggestion:q==="RANGE"?"Use format [min, max]":"Use format [item1, item2]",severity:"error"});return}if(q==="RANGE"){if(J.length!==2)X.push({path:`${Q}.value`,message:"Invalid Range: Operator 'RANGE' requires exactly 2 values (min and max).",suggestion:"Use format [min, max], e.g. [1, 10]",severity:"error"});else if(typeof J[0]!=="number"&&typeof J[0]!=="string")X.push({path:`${Q}.value`,message:"Incorrect range type: Range values must be numbers or expression strings.",severity:"error"})}}else if(q==="CONTAINS"||q==="NOT_CONTAINS"){if(typeof J!=="string"&&!Array.isArray(J))X.push({path:`${Q}.value`,message:`Incorrect value type: Operator 'CONTAINS' expects a String or List (Array), but received ${typeof J}.`,suggestion:"Use a substring or a list of items.",severity:"error"})}else if(QJ(q)){if(typeof J!=="string"&&!Array.isArray(J))X.push({path:`${Q}.value`,message:`Incorrect value type: Operator '${q}' expects a String or List (Array), but received ${typeof J}.`,suggestion:"Use a string prefix/suffix or a list of prefixes/suffixes.",severity:"error"})}else if(q==="MATCHES")if(typeof J!=="string")X.push({path:`${Q}.value`,message:`Incorrect value type: Operator 'MATCHES' expects a string (regex pattern), but received ${typeof J}.`,severity:"error"});else try{new RegExp(J)}catch(Y){X.push({path:`${Q}.value`,message:`Invalid Regex pattern: ${Y.message}`,severity:"error"})}else if(UJ(q)){if(typeof J!=="number"&&typeof J!=="string")X.push({path:`${Q}.value`,message:`Incorrect value type: Operator '${q}' expects a number or expression string, but received ${typeof J}.`,severity:"error"})}else if(q==="HAS_KEY"){if(typeof J!=="string")X.push({path:`${Q}.value`,message:`Incorrect value type: Operator 'HAS_KEY' expects a string (key name), but received ${typeof J}.`,severity:"error"})}}}function _9(Z,X){let Q=new Map,U=[];for(let q of Z){let W=q[X];if(W!==void 0&&W!==null){let $=String(W);if(!Q.has($))Q.set($,q)}else U.push(q)}let J=Array.from(new Set(U.map((q)=>JSON.stringify(q)))).map((q)=>JSON.parse(q));return[...Array.from(Q.values()),...J]}function u6(Z,X={}){let{deduplicate:Q=!0,uniqueIdField:U}=X;if(!Z)return;if(Array.isArray(Z)){let J=Z.map((Y)=>u6(Y,X)).filter((Y)=>Y!==void 0);if(!Q)return J.length===0?void 0:J.length===1?J[0]:J;let q=U?_9(J,U):Array.from(new Set(J.map((Y)=>JSON.stringify(Y)))).map((Y)=>JSON.parse(Y));return q.length===0?void 0:q.length===1?q[0]:q}if("operator"in Z&&"conditions"in Z){let J=Z,q=u6(J.conditions,X);if(!q)return;if(!Array.isArray(q))q=[q];let Y=[];for(let $ of q)if("operator"in $&&"conditions"in $&&$.operator===J.operator)Y.push(...$.conditions);else Y.push($);let W;if(!Q)W=Y;else if(U)W=_9(Y,U);else W=Array.from(new Set(Y.map(($)=>JSON.stringify($)))).map(($)=>JSON.parse($));if(W.length===0)return;if(W.length===1)return W[0];return{operator:J.operator,conditions:W}}return Z}function p6(Z,X={}){let{deduplicate:Q=!1,uniqueIdField:U}=X;if(!Z)return;if(Array.isArray(Z)){let J=Z.map(($)=>p6($,X)).filter(($)=>$!==void 0);if(!Q){let $=J.flatMap((_)=>Array.isArray(_)?_:[_]),L=[];for(let _ of $)if("mode"in _&&"actions"in _&&_.mode==="ALL")L.push(..._.actions);else L.push(_);if(L.length===0)return;if(L.length===1)return L[0];return L}let q=J.flatMap(($)=>Array.isArray($)?$:[$]),Y=[];for(let $ of q)if("mode"in $&&"actions"in $&&$.mode==="ALL")Y.push(...$.actions);else Y.push($);if(Y.length===0)return;if(Y.length===1)return Y[0];let W;if(U)W=_9(Y,U);else W=Array.from(new Set(Y.map(($)=>JSON.stringify($)))).map(($)=>JSON.parse($));return W}if("mode"in Z&&"actions"in Z){let J=Z,q=p6(J.actions,X);if(!q)return;if(!Array.isArray(q))q=[q];let Y=[];for(let $ of q)if("mode"in $&&"actions"in $&&$.mode===J.mode)Y.push(...$.actions);else Y.push($);if(Y.length===0)return;if(Y.length===1)return Y[0];let W;if(!Q)W=Y;else if(U)W=_9(Y,U);else W=Array.from(new Set(Y.map(($)=>JSON.stringify($)))).map(($)=>JSON.parse($));return{mode:J.mode,actions:W}}return Z}class k1{conditions=[];op="AND";constructor(Z="AND"){this.op=Z}where(Z,X,Q){return this.conditions.push({field:Z,operator:X,value:Q}),this}and(Z){let X=new k1("AND");return this.conditions.push(Z(X).build()),this}or(Z){let X=new k1("OR");return this.conditions.push(Z(X).build()),this}build(){if(this.conditions.length===0)throw Error("Condition group must have at least one condition");if(this.conditions.length===1&&this.op==="AND")return this.conditions[0];return{operator:this.op,conditions:this.conditions}}}class l6{actions=[];mode="ALL";setMode(Z){return this.mode=Z,this}add(Z,X,Q){return this.actions.push({type:Z,params:X,...Q}),this}build(){if(this.actions.length===0)throw Error("Action group must have at least one action");if(this.actions.length===1&&this.mode==="ALL")return this.actions[0];if(this.mode==="ALL")return this.actions;return{mode:this.mode,actions:this.actions}}}class zX{params={};set(Z,X){return this.params[Z]=X,this}setAll(Z){return Object.assign(this.params,Z),this}setNested(Z,X){let Q=Z.split("."),U=this.params;for(let q=0;q<Q.length-1;q++){let Y=Q[q];if(!Y)continue;if(!(Y in U))U[Y]={};U=U[Y]}let J=Q[Q.length-1];if(J)U[J]=X;return this}addItem(Z,X){if(!(Z in this.params)||!Array.isArray(this.params[Z]))this.params[Z]=[];return this.params[Z].push(X),this}remove(Z){return delete this.params[Z],this}has(Z){return Z in this.params}get(Z){return this.params[Z]}build(){return{...this.params}}getRaw(){return this.params}}var f={EVENT:"event",CONDITION:"condition",CONDITION_GROUP:"condition_group",ACTION:"action",ACTION_GROUP:"action_group",DO:"do"},w={EVENT_OUTPUT:"event-output",CONDITION_INPUT:"condition-input",CONDITION_OUTPUT:"output",CONDITION_OUTPUT_LEGACY:"condition-output",THEN_OUTPUT:"then-output",ELSE_OUTPUT:"else-output",CONDITION_GROUP_INPUT:"input",CONDITION_GROUP_OUTPUT:"cond-output",ACTION_INPUT:"action-input",ACTION_OUTPUT:"action-output",ACTION_OUTPUT_LEGACY:"action-group-output",ACTION_GROUP_INPUT:"input",ACTION_GROUP_OUTPUT:"action-output",ACTION_GROUP_CONDITION_OUTPUT:"condition-output",DO_INPUT:"do-input",DO_OUTPUT:"do-output",DO_CONDITION_OUTPUT:"do-condition-output"},f0={DO:"do",ELSE:"else"},BX={AND:"AND",OR:"OR"};var H9=(Z)=>Z.type===f.EVENT,R1=(Z)=>Z.type===f.CONDITION||Z.type===f.CONDITION_GROUP,Y1=(Z)=>Z.type===f.ACTION||Z.type===f.ACTION_GROUP||Z.type===f.DO,F9=(Z)=>Z.type===f.DO;var h2=(Z)=>{return Z.data?.branchType===f0.ELSE?f0.ELSE:f0.DO};function MX(Z){let X=Z.data||{};return{id:X.id,on:X.event,name:X.name,description:X.description,priority:X.priority!==void 0?Number(X.priority):void 0,enabled:X.enabled!==void 0?!!X.enabled:void 0,cooldown:X.cooldown!==void 0?Number(X.cooldown):void 0,tags:X.tags}}function X0(Z,X,Q){let U=[...Q];return Z.edges.filter((J)=>J.source===X&&U.includes(J.sourceHandle||""))}var n0={CONDITION_OUTPUT:[w.CONDITION_OUTPUT,w.CONDITION_OUTPUT_LEGACY],ACTION_OUTPUT:[w.ACTION_OUTPUT,w.ACTION_OUTPUT_LEGACY],DO_OUTPUT:[w.DO_OUTPUT,""],THEN_ELSE:[w.THEN_OUTPUT,w.ELSE_OUTPUT],DO_CONDITION:[w.DO_CONDITION_OUTPUT],CONDITION_CHAIN:[w.CONDITION_OUTPUT,w.CONDITION_OUTPUT_LEGACY,w.THEN_OUTPUT,w.ELSE_OUTPUT],ANY:[w.CONDITION_OUTPUT,w.CONDITION_OUTPUT_LEGACY,""]};class JJ{convert(Z,X){return{field:Z.field||"data",operator:Z.operator||"EQ",value:Z.value!==void 0?Z.value:""}}validate(Z){let X=[];if(!Z.field&&!Z.value)X.push("Condition must have at least a field or value");return{valid:X.length===0,errors:X.length>0?X:void 0}}}class qJ{convert(Z,X){let Q={};try{if(Z.params)Q=typeof Z.params==="string"?JSON.parse(Z.params):Z.params}catch{Q={}}let U={type:Z.type||"log",params:Q};if(Z.delay!==void 0)U.delay=Number(Z.delay);if(Z.probability!==void 0)U.probability=Number(Z.probability);return U}validate(Z){let X=[];if(!Z.type)X.push('Action type defaults to "log"');return{valid:!0,warnings:X.length>0?X:void 0}}}class YJ{convert(Z,X){return{id:Z.id,on:Z.event,name:Z.name,description:Z.description,priority:Z.priority!==void 0?Number(Z.priority):void 0,enabled:Z.enabled!==void 0?!!Z.enabled:void 0,cooldown:Z.cooldown!==void 0?Number(Z.cooldown):void 0,tags:Z.tags}}validate(Z){let X=[],Q=[];if(!Z.id)X.push("Event must have an ID");if(!Z.event)X.push("Event must have an event name");if(!Z.name)Q.push("Event should have a name");return{valid:X.length===0,errors:X.length>0?X:void 0,warnings:Q.length>0?Q:void 0}}}class WJ{conditionConverter=new JJ;actionConverter=new qJ;eventConverter=new YJ;getConditionConverter(){return this.conditionConverter}getActionConverter(){return this.actionConverter}getEventConverter(){return this.eventConverter}createContext(Z,X,Q,U){return{nodes:Z,edges:X,currentNode:Q,options:U}}}var $J=new WJ;function OX(Z){let X=Z.data||{};return $J.getConditionConverter().convert(X,{nodes:[],edges:[]})}function RX(Z){let X=Z.data||{};return $J.getActionConverter().convert(X,{nodes:[],edges:[]})}function z9(Z,X){let Q=X.options.isCondNode||R1,U=X.nodes.find((L)=>L.id===Z);if(!U||U.type!==f.CONDITION_GROUP)return{conditions:[],operator:BX.AND};let J=U.data.operator||BX.AND,q=[],Y=new Set;function W(L){if(Y.has(L))return;Y.add(L);let _=X.nodes.find((F)=>F.id===L);if(!_||!Q(_)||_.type===f.CONDITION_GROUP)return;let G=OX(_);q.push(G);let V=X0(X,L,[...n0.CONDITION_OUTPUT,w.THEN_OUTPUT]).filter((F)=>{let z=X.nodes.find((H)=>H.id===F.target);return z&&Q(z)});for(let F of V)W(F.target)}let $=X0(X,Z,[w.CONDITION_GROUP_OUTPUT]).filter((L)=>{let _=X.nodes.find((G)=>G.id===L.target);return _&&Q(_)});for(let L of $)W(L.target);return{conditions:q,operator:J}}function Q2(Z,X){if(X.options.resolveCondition&&X.options.resolveCondition!==Q2)return X.options.resolveCondition(Z,X);if(X.visitedConds.has(Z))return null;X.visitedConds.add(Z);let Q=X.nodes.find((Y)=>Y.id===Z),U=X.options.isCondNode||R1;if(!Q||!U(Q))return null;if(Q.type===f.CONDITION_GROUP){let{conditions:Y,operator:W}=z9(Z,X);if(Y.length===0)return null;if(Y.length===1)return Y[0];return{operator:W,conditions:Y}}let J=OX(Q);if(X.transformers?.condition){let Y=X.transformers.condition(J,Q);if(Y===null)return null;return Y}let q=X0(X,Z,n0.CONDITION_OUTPUT).filter((Y)=>{let W=X.nodes.find(($)=>$.id===Y.target);return W&&U(W)});if(q.length>0){let Y=q.map((W)=>Q2(W.target,X)).filter((W)=>W!==null);if(Y.length>0)return{operator:"AND",conditions:[J,...Y]}}return J}function PX(Z,X){let Q=X.options.isCondNode||R1,U,J;function q(Y){let W=X.nodes.find((_)=>_.id===Y);if(!W||!Q(W))return;let $=X.edges.filter((_)=>_.source===Y);for(let _ of $){let G=X.nodes.find((V)=>V.id===_.target);if(!G)continue;if(G.type===f.ACTION||G.type===f.ACTION_GROUP||G.type===f.DO)if(_.sourceHandle===w.ELSE_OUTPUT)J=_.target;else U=_.target}let L=X0(X,Y,n0.CONDITION_OUTPUT).filter((_)=>{let G=X.nodes.find((V)=>V.id===_.target);return G&&Q(G)});for(let _ of L)q(_.target)}return q(Z),{thenActionId:U,elseActionId:J}}function m2(Z,X){let Q=X.options.isActNode||Y1,U=X.nodes.find((_)=>_.id===Z);if(!U||U.type!==f.ACTION_GROUP)return{actions:[],mode:"ALL"};let J=U.data.mode||"ALL",q=[],Y=new Set;function W(_){if(Y.has(_))return;Y.add(_);let G=X.nodes.find((z)=>z.id===_);if(!G||!Q(G)||G.type===f.ACTION_GROUP)return;let V=RX(G);q.push(V);let F=X0(X,_,n0.ACTION_OUTPUT).filter((z)=>{let H=X.nodes.find((B)=>B.id===z.target);return H&&Q(H)});for(let z of F)W(z.target)}let $=X0(X,Z,[w.ACTION_GROUP_OUTPUT,w.DO_OUTPUT,"do-output","action-output","action-group-output"]).filter((_)=>{let G=X.nodes.find((V)=>V.id===_.target);return G&&Q(G)});for(let _ of $)W(_.target);let L=X0(X,Z,[w.ACTION_GROUP_CONDITION_OUTPUT,"condition-output"]);for(let _ of L){let G=B0(_.target,X);if(G)q.push(G)}return{actions:q,mode:J}}function B0(Z,X){if(X.options.resolveAction&&X.options.resolveAction!==B0)return X.options.resolveAction(Z,X);let Q=X.nodes.find((q)=>q.id===Z);if(!Q)return null;if(Q.type===f.ACTION_GROUP){if(X.visitedActs?.has(Z))return null;X.visitedActs?.add(Z);let{actions:q,mode:Y}=m2(Z,X);if(q.length===0)return null;return{mode:Y,actions:q}}if(Q.type===f.CONDITION){if(X.options.resolveCondition){let q=X.options.resolveCondition(Z,X);if(q){let{doBranches:Y,elseBranches:W}=d6(Z,X),$=null,L=null;if(Y.length>0){let _=Y[0],G=LJ(_,X);if(G.length>0)$=G.length===1?G[0]:{mode:"ALL",actions:G}}if(W.length>0){let _=W[0],G=LJ(_,X);if(G.length>0)L=G.length===1?G[0]:{mode:"ALL",actions:G}}if(!$&&!L){let _=PX(Z,X);if(_.thenActionId)$=B0(_.thenActionId,X);if(_.elseActionId)L=B0(_.elseActionId,X)}if($||L)return{if:q,then:$??void 0,do:$??void 0,else:L??void 0}}}}if(!(X.options.isActNode||Y1)(Q))return null;if(X.visitedActs?.has(Z))return null;X.visitedActs?.add(Z);let J=RX(Q);if(X.transformers?.action){let q=X.transformers.action(J,Q);if(q===null)return null;return q}return J}function LJ(Z,X){let Q=X.options.isActNode||Y1,U=[],J=X0(X,Z,[w.DO_OUTPUT,w.ELSE_OUTPUT,"do-output","else-output","action-output",""]).filter((q)=>{let Y=X.nodes.find((W)=>W.id===q.target);return Y&&Q(Y)});for(let q of J){let Y=B0(q.target,X);if(Y)U.push(Y)}return U}function d6(Z,X){let Q=X.options.isActNode?($)=>$.type===f.CONDITION||$.type===f.CONDITION_GROUP:($)=>$.type===f.CONDITION||$.type===f.CONDITION_GROUP,U=($)=>$.type===f.DO,J=[],q=[],Y=new Set;function W($){if(Y.has($))return;Y.add($);let L=X0(X,$,[...n0.CONDITION_OUTPUT,w.THEN_OUTPUT]).filter((G)=>{let V=X.nodes.find((F)=>F.id===G.target);return V&&U(V)});for(let G of L){let V=X.nodes.find((z)=>z.id===G.target);if(!V)continue;if(h2(V)===f0.ELSE){if(!q.includes(G.target))q.push(G.target)}else if(!J.includes(G.target))J.push(G.target)}let _=X0(X,$,n0.CONDITION_OUTPUT).filter((G)=>{let V=X.nodes.find((F)=>F.id===G.target);return V&&Q(V)});for(let G of _)W(G.target)}return W(Z),{doBranches:J,elseBranches:q}}function nG(Z,X,Q={},U){let J={...Q,resolveCondition:Q.resolveCondition||Q2,resolveAction:Q.resolveAction||B0};return{nodes:Z,edges:X,visitedConds:new Set,visitedActs:new Set,options:J,transformers:U}}var Vf=h2,tG=MX;function eG(Z,X,Q){let U=X.options.isCondNode||R1,J=F9,q=X0(X,Z,[w.DO_CONDITION_OUTPUT]).find((z)=>{let H=X.nodes.find((B)=>B.id===z.target);return H&&U(H)}),Y;if(q)Y=q.target;if(!Y)return null;let W=new Set(X.visitedConds);X.visitedConds.clear();let $=Q2(Y,X);if(X.visitedConds=W,!$)return null;let{thenActionId:L,elseActionId:_}=KX(Y,X),G=X0(X,Z,[w.DO_CONDITION_OUTPUT]).find((z)=>{let H=X.nodes.find((B)=>B.id===z.target);return H&&(X.options.isActNode?.(H)??Y1(H))});if(G&&!_)_=G.target;let V=L?B0(L,X):void 0,F=_?B0(_,X):void 0;return{if:$,do:V??void 0,else:F??void 0}}function B9(Z,X,Q){let U=X.options.isActNode||Y1,J=[],q=X0(X,Z,n0.DO_OUTPUT).filter((W)=>{let $=X.nodes.find((L)=>L.id===W.target);return $&&U($)});for(let W of q){let $=B0(W.target,X);if($)J.push($)}let Y=eG(Z,X,Q);if(Y)J.push(Y);return J}function KX(Z,X){let Q=X.options.isCondNode||R1,U=X.options.isActNode||Y1,J=F9,q,Y;function W($){let L=X.nodes.find((V)=>V.id===$);if(!L||!Q(L))return;let _=X0(X,$,[w.THEN_OUTPUT,w.ELSE_OUTPUT,w.CONDITION_OUTPUT,w.CONDITION_OUTPUT_LEGACY,w.DO_OUTPUT,""]);for(let V of _){let F=X.nodes.find((z)=>z.id===V.target);if(!F)continue;if(J(F)){let z=X0(X,F.id,[w.DO_OUTPUT,""]).filter((P)=>{let D=X.nodes.find((S)=>S.id===P.target);return D&&U(D)}),H=h2(F);for(let P of z)if(H===f0.ELSE)Y=P.target;else q=P.target;let B=X0(X,F.id,[w.DO_CONDITION_OUTPUT]),K=B.find((P)=>{let D=X.nodes.find((S)=>S.id===P.target);return D&&Q(D)}),T=B.find((P)=>{let D=X.nodes.find((S)=>S.id===P.target);return D&&U(D)});if(T&&!Y)Y=T.target;continue}if(F.type===f.ACTION_GROUP){q=V.target;continue}if(!U(F))continue;if(V.sourceHandle===w.ELSE_OUTPUT)Y=V.target;else q=V.target}let G=X0(X,$,n0.CONDITION_OUTPUT).filter((V)=>{let F=X.nodes.find((z)=>z.id===V.target);return F&&Q(F)});for(let V of G)W(V.target)}return W(Z),{thenActionId:q,elseActionId:Y}}function TX(Z,X,Q={},U){let J=new DX;if(Q.optimizeOptions)J.withOptimizeOptions(Q.optimizeOptions);let q=Q.isEventNode||H9,Y=Q.isCondNode||R1,W=Q.isActNode||Y1,$=Q.extractEventData||tG,L=Z.find((P)=>q(P));if(!L)throw Error("Missing Event Trigger node");let _=$(L);if(!_.id||!_.on)throw Error("Rule ID and Event Name are required");if(J.id(_.id).on(_.on),_.name)J.name(_.name);if(_.description)J.description(_.description);if(_.priority!==void 0)J.priority(Number(_.priority));if(_.enabled!==void 0)J.enabled(!!_.enabled);if(_.cooldown!==void 0)J.cooldown(Number(_.cooldown));if(_.tags)J.tags(_.tags);let G=nG(Z,X,Q,U),V=X.filter((P)=>P.source===L.id),F=[],z=[],H=[],B=[];for(let P of V){let D=G.nodes.find((S)=>S.id===P.target);if(!D)continue;if(D.type===f.CONDITION_GROUP)F.push(P.target);else if(Y(D))z.push(P.target);else if(D.type===f.ACTION_GROUP)H.push(P.target);else if(W(D))B.push(P.target)}for(let P of F){let{conditions:D,operator:S}=z9(P,G);if(D.length>0){let j={operator:S,conditions:D};J.withIf(j);let v=G.edges.filter((s)=>s.source===P&&s.sourceHandle?.startsWith("cond")).map((s)=>s.target),N=null,x=null;for(let s of v){let Q0=KX(s,G),a=Q0.thenActionId?B0(Q0.thenActionId,G):null,V0=Q0.elseActionId?B0(Q0.elseActionId,G):null,{doBranches:K0,elseBranches:y0}=d6(s,G),L1=[];for(let U6 of K0){let WZ=B9(U6,G,s);L1.push(...WZ)}if(L1.length>0)a=L1.length===1?L1[0]:{mode:"ALL",actions:L1};let G1=[];for(let U6 of y0){let WZ=B9(U6,G,s);G1.push(...WZ)}if(G1.length>0)V0=G1.length===1?G1[0]:{mode:"ALL",actions:G1};if(a)N=a;if(V0)x=V0}if(N)J.withDo(N);if(x)J.elseRule(x)}}if(z.length>0&&F.length===0){let P=[],D,S;for(let V0 of z){let K0=Q2(V0,G);if(K0)P.push(K0);let y0=KX(V0,G);if(y0.thenActionId)D=y0.thenActionId;if(y0.elseActionId)S=y0.elseActionId}if(P.length===1)J.withIf(P[0]);else if(P.length>1)J.withIf({operator:"AND",conditions:P});let j=z[0];if(!j)return J;let{doBranches:v,elseBranches:N}=d6(j,G),x=[];for(let V0 of v){let K0=B9(V0,G,j);x.push(...K0)}let s=x.length===1?x[0]:x.length>1?{mode:"ALL",actions:x}:D?B0(D,G):null,Q0=[];for(let V0 of N){let K0=B9(V0,G,j);Q0.push(...K0)}let a=Q0.length===1?Q0[0]:Q0.length>1?{mode:"ALL",actions:Q0}:S?B0(S,G):null;if(s)J.withDo(s);if(a)J.elseRule(a);if(!D&&!x.length)for(let V0 of z){let K0=X0(G,V0,[w.THEN_OUTPUT,w.CONDITION_OUTPUT,"condition-output","then-output","output",""]).filter((y0)=>{return G.nodes.find((G1)=>G1.id===y0.target)?.type===f.ACTION_GROUP});for(let y0 of K0){let{actions:L1,mode:G1}=m2(y0.target,G);if(L1.length>0){let U6={mode:G1,actions:L1};J.withDo(U6);break}}}}let K=new Set;if(z.length>0&&F.length===0)for(let P of z){let D=X0(G,P,[w.THEN_OUTPUT,w.CONDITION_OUTPUT,"condition-output","then-output","output",""]).filter((S)=>{return G.nodes.find((v)=>v.id===S.target)?.type===f.ACTION_GROUP});for(let S of D)K.add(S.target)}let T=H.filter((P)=>!K.has(P));if(T.length>0)for(let P of T)if(X0(G,P,[w.ACTION_GROUP_CONDITION_OUTPUT,"condition-output"]).filter((S)=>{let j=G.nodes.find((v)=>v.id===S.target);return j&&Y(j)}).length>0){let{actions:S,mode:j}=m2(P,G);if(S.length>0){let v={mode:j,actions:S};J.withDo(v)}}else{let{actions:S,mode:j}=m2(P,G);if(S.length>0)J.withDo({mode:j,actions:S})}if(B.length>0&&z.length===0&&F.length===0)for(let P of B){let D=B0(P,G);if(D)J.withDo(D)}return J}function GJ(Z,X,Q={},U){let J=Q.isEventNode||H9,q=Z.filter(($)=>J($));if(q.length===0)return{rules:[],errors:["No Event nodes found in the graph"]};let Y=[],W=[];for(let $ of q)try{let L=$.id,_=new Set([L]),G=[L];while(G.length>0){let B=G.shift(),K=X.filter((T)=>T.source===B);for(let T of K)if(!_.has(T.target))_.add(T.target),G.push(T.target)}let V=Z.filter((B)=>_.has(B.id)),F=X.filter((B)=>_.has(B.source)&&_.has(B.target)),H=TX(V,F,Q,U).build();Y.push(H)}catch(L){let _=L instanceof Error?L.message:String(L);W.push(`Failed to parse rule for event ${$.id}: ${_}`)}return{rules:Y,errors:W}}class DX{rule={enabled:!0,priority:0};optimizeOptions={};static fromGraph(Z,X,Q,U){return TX(Z,X,Q,U)}static fromGraphMultiple(Z,X,Q,U){return GJ(Z,X,Q,U)}withId(Z){return this.rule.id=Z,this}withName(Z){return this.rule.name=Z,this}withDescription(Z){return this.rule.description=Z,this}withPriority(Z){return this.rule.priority=Z,this}withCooldown(Z){return this.rule.cooldown=Z,this}withTags(Z){return this.rule.tags=Z,this}withEnabled(Z){return this.rule.enabled=Z,this}withOptimizeOptions(Z){return this.optimizeOptions=Z,this}id(Z){return this.withId(Z)}name(Z){return this.withName(Z)}description(Z){return this.withDescription(Z)}priority(Z){return this.withPriority(Z)}enabled(Z){return this.withEnabled(Z)}cooldown(Z){return this.withCooldown(Z)}tags(Z){return this.withTags(Z)}optimize(Z){return this.withOptimizeOptions(Z)}on(Z){return this.rule.on=Z,this}if(Z,X,Q){if(!this.rule.if)this.rule.if={field:Z,operator:X,value:Q};else if(Array.isArray(this.rule.if))this.rule.if.push({field:Z,operator:X,value:Q});else this.rule.if=[this.rule.if,{field:Z,operator:X,value:Q}];return this}ifComplex(Z){let X=new k1,Q=Z(X).build();return this.rule.if=Q,this}withIf(Z){return this.rule.if=Z,this}do(Z,X,Q){let U={type:Z,params:X,...Q};if(!this.rule.do)this.rule.do=U;else if(Array.isArray(this.rule.do))this.rule.do.push(U);else if(this.rule.do&&typeof this.rule.do==="object"&&"actions"in this.rule.do)this.rule.do.actions.push(U);else this.rule.do=[this.rule.do,U];return this}doComplex(Z){let X=new l6,Q=Z(X).build();return this.rule.do=Q,this}withDo(Z){return this.rule.do=Z,this}elseRule(Z){return this.rule.else=Z,this}when(Z,X,Q){return new V9(this,Z,X,Q)}whenComplex(Z){let X=new k1,Q=Z(X).build();return new V9(this,Q)}then(Z,X,Q){return this.do(Z,X,Q)}ifAction(Z,X,Q){let U=this.rule.do;if(!U)throw Error("Cannot add condition: no action defined. Use do() or then() first.");let J=(q)=>({...q,if:{field:Z,operator:X,value:Q}});if(Array.isArray(U)){let q=U.length-1,Y=U[q];if(Y&&"actions"in Y){let W=Y.actions,$=W.length-1;if($>=0)W[$]=J(W[$])}else if(Y)U[q]=J(Y)}else if(U&&"actions"in U){let q=U.actions,Y=q.length-1;if(Y>=0)q[Y]=J(q[Y])}else if(U)this.rule.do=J(U);return this}thenAction(Z){let X=this.rule.do;if(!X)throw Error("Cannot add then: no action defined. Use do() or then() first.");let Q=(U)=>({...U,then:Z});if(Array.isArray(X)){let U=X.length-1,J=X[U];if(J&&"actions"in J){let q=J.actions,Y=q.length-1;if(Y>=0)q[Y]=Q(q[Y])}else if(J)X[U]=Q(J)}else if(X&&"actions"in X){let U=X.actions,J=U.length-1;if(J>=0)U[J]=Q(U[J])}else if(X)this.rule.do=Q(X);return this}else(Z){let X=this.rule.do;if(!X)throw Error("Cannot add else: no action defined. Use do() or then() first.");let Q=(U)=>({...U,else:Z});if(Array.isArray(X)){let U=X.length-1,J=X[U];if(J&&"actions"in J){let q=J.actions,Y=q.length-1;if(Y>=0)q[Y]=Q(q[Y])}else if(J)X[U]=Q(J)}else if(X&&"actions"in X){let U=X.actions,J=U.length-1;if(J>=0)U[J]=Q(U[J])}else if(X)this.rule.do=[Q(X)];return this}elseAction(Z){return this.else(Z)}build(){if(!this.rule.id)throw Error("Rule ID is required");if(!this.rule.on)throw Error("Rule 'on' event is required");if(!this.rule.do)throw Error("Rule 'do' action is required");if(this.rule.if)this.rule.if=u6(this.rule.if,this.optimizeOptions);if(this.rule.do){let Z=p6(this.rule.do,this.optimizeOptions);this.rule.do=Z?Z:this.rule.do}return this.rule}}class V9{parent;condition;thenActions;elseActions;constructor(Z,X,Q,U){if(this.parent=Z,typeof X==="string")this.condition={field:X,operator:Q,value:U};else this.condition=X}then(Z,X,Q){if(typeof Z==="string")this.thenActions={type:Z,params:X,...Q};else this.thenActions=Z;return this}do(Z,X,Q){return this.then(Z,X,Q)}done(){return this.build()}else(Z,X,Q){if(typeof Z==="string")this.elseActions={type:Z,params:X,...Q};else this.elseActions=Z;return this.build()}build(){let Z={if:this.condition};if(this.thenActions)Z.then=this.thenActions;if(this.elseActions)Z.else=this.elseActions;let X=this.parent.rule.do;if(!X)this.parent.rule.do=Z;else if(Array.isArray(X))X.push(Z);else this.parent.rule.do=[X,Z];return this.parent}}var g3=s3(k3(),1);class eR{static toYaml(Z){let X=Array.isArray(Z)?Z:[Z];return g3.default.stringify(X)}static toJson(Z,X=!0){let Q=Array.isArray(Z)?Z:[Z];return JSON.stringify(Q,null,X?2:0)}static cleanRule(Z){let X={};if(X.id=Z.id,Z.name)X.name=Z.name;if(Z.description)X.description=Z.description;if(X.on=Z.on,Z.priority!==void 0&&Z.priority!==0)X.priority=Z.priority;if(Z.enabled!==void 0&&Z.enabled!==!0)X.enabled=Z.enabled;if(Z.cooldown!==void 0&&Z.cooldown!==0)X.cooldown=Z.cooldown;if(Z.tags&&Z.tags.length>0)X.tags=Z.tags;if(Z.if)X.if=Z.if;if(X.do=Z.do,Z.else)X.else=Z.else;return X}static toCleanYaml(Z){let Q=(Array.isArray(Z)?Z:[Z]).map((U)=>this.cleanRule(U));return g3.default.stringify(Q,{indent:2,lineWidth:0})}static toCleanJson(Z,X=!0){let U=(Array.isArray(Z)?Z:[Z]).map((J)=>this.cleanRule(J));return JSON.stringify(U,null,X?2:0)}static async saveToFile(Z,X){let Q=this.toYaml(Z);if(typeof process<"u"&&process.versions&&process.versions.node){let U=await import("fs/promises"),q=(await import("path")).dirname(X);await U.mkdir(q,{recursive:!0}),await U.writeFile(X,Q,"utf8")}else throw Error("saveToFile is only supported in Node.js/Bun environments")}}var YZ=s3(k3(),1);var ZP=["EQ","==","NEQ","!="],XP=["GT",">","GTE",">=","LT","<","LTE","<="],QP=["IN","NOT_IN","RANGE"],UP=["CONTAINS","NOT_CONTAINS","STARTS_WITH","ENDS_WITH"];var RY=[...ZP,...XP,...QP,...UP,"IS_EMPTY","HAS_KEY","MATCHES","SINCE","AFTER","BEFORE","UNTIL","RANGE"],PY=["AND","OR"],KY=["ALL","EITHER","SEQUENCE"];function P0(Z){return typeof Z==="object"&&Z!==null&&!Array.isArray(Z)}function JP(Z){return typeof Z==="string"&&Z.length>0}function qP(Z){return typeof Z==="number"&&!isNaN(Z)}function YP(Z){return typeof Z==="boolean"}function c1(Z){return"operator"in Z&&"conditions"in Z&&(Z.operator==="AND"||Z.operator==="OR")}function i1(Z){return"field"in Z&&"operator"in Z}function v3(Z){return typeof Z==="object"&&Z!==null&&"mode"in Z&&"actions"in Z&&Array.isArray(Z.actions)}function JZ(Z){return typeof Z==="object"&&Z!==null&&"if"in Z}function WP(Z){return typeof Z==="object"&&Z!==null&&"type"in Z}function x3(Z){return typeof Z==="string"&&KY.includes(Z)}function $P(Z){return typeof Z==="string"&&PY.includes(Z)}function LP(Z){return typeof Z==="string"&&zP(RY,Z)}function z4(Z){return Z.type||"log"}function B4(Z){if(!Z.params)return"{}";return typeof Z.params==="string"?Z.params:JSON.stringify(Z.params)}function t2(Z){if(i1(Z))return Z.field||"data";return"data"}function e2(Z){if(i1(Z))return Z.operator||"EQ";if(c1(Z))return Z.operator==="OR"?"OR":"AND";return"EQ"}function Z6(Z){if(i1(Z))return Z.value;return}function h3(Z=0){let X=Z;return()=>`node_${X++}`}function m3(){let Z=0;return()=>`edge_${Date.now()}_${Z++}`}function u3(Z=100,X=100,Q=300,U=150){return(J,q,Y)=>({x:Z+J*Q,y:X+q*U-Y*U/2})}function X6(Z){if(Z===void 0)return[];if(Array.isArray(Z))return Z;return[Z]}function GP(Z){if(!Z)return[];if(Array.isArray(Z))return Z;return[Z]}function _P(Z){if(!Z)return[];if(Array.isArray(Z))return Z;return[Z]}function VP(Z){return Z.replace(/\.(ya?ml)$/i,"")}function HP(Z){return{"==":"EQ","!=":"NEQ",">":"GT",">=":"GTE","<":"LT","<=":"LTE"}[Z]||Z}function FP(Z,X){if(!(X in Z)||Z[X]===void 0||Z[X]===null)throw Error(`Missing required field: ${X}`)}function zP(Z,X){return Z.includes(X)}function BP(Z,X,Q){let U=typeof Z;if(U!==X)throw Error(`Field "${Q}" expected type "${X}", got "${U}"`)}function MP(Z,X,Q){if(typeof Z!=="string"||!X.includes(Z))throw Error(`Field "${Q}" must be one of: ${X.join(", ")}`)}function M4(Z,X,Q,U){if(!P0(Z))throw Error(`Rule at index ${X} is not an object`);let J={...Z};if("actions"in J&&!("do"in J))J.do=J.actions,delete J.actions;if(!("enabled"in J))J.enabled=!0;if(!("priority"in J))J.priority=0;if(!J.id){if(U===!0&&Q){let q=Q.replace(/\.(ya?ml)$/i,"");J.id=q}else if(typeof U==="string")J.id=`${U}-${X}`}if("if"in J&&J.if!==void 0)J.if=qZ(J.if);if("do"in J&&J.do!==void 0)J.do=wY(J.do);if("else"in J&&J.else!==void 0)J.else=AY(J.else);return J}function qZ(Z){if(!Z)return[];if(P0(Z))return TY(Z);if(Array.isArray(Z))return Z.map((X,Q)=>{if(P0(X))return TY(X);throw Error(`Invalid condition at index ${Q}: expected object`)});throw Error("Invalid condition format: expected object or array")}function TY(Z){let X="operator"in Z&&(Z.operator==="AND"||Z.operator==="OR"),Q="conditions"in Z&&Array.isArray(Z.conditions);if(X&&Q){let Y=Z.operator,W=qZ(Z.conditions);return{operator:Y,conditions:Array.isArray(W)?W:[W]}}let{field:U,operator:J,value:q}=Z;return{field:U||"data",operator:J||"EQ",value:q}}function wY(Z){if(!Z)return[];if(P0(Z)&&"mode"in Z&&"actions"in Z)return G2(Z);if(P0(Z))return s1(Z);if(Array.isArray(Z))return Z.map((X,Q)=>{if(P0(X)){if("mode"in X&&"actions"in X)return G2(X);return s1(X)}throw Error(`Invalid action at index ${Q}: expected object`)});throw Error("Invalid do field format: expected object or array")}function AY(Z){if(!Z)return[];if(P0(Z)&&"mode"in Z&&"actions"in Z)return G2(Z);if(P0(Z))return s1(Z);if(Array.isArray(Z))return Z.map((X,Q)=>{if(P0(X)){if("mode"in X&&"actions"in X)return G2(X);return s1(X)}throw Error(`Invalid action at index ${Q}: expected object`)});throw Error("Invalid else field format: expected object or array")}function s1(Z){let X={...Z};if("do"in X&&!("then"in X))X.then=X.do,delete X.do;if("if"in X&&X.if!==void 0){let U={if:qZ(X.if)};if("then"in X&&X.then!==void 0)U.then=DY(X.then);if("else"in X&&X.else!==void 0)U.else=DY(X.else);if("break"in X)U.break=X.break;if("continue"in X)U.continue=X.continue;return U}let Q={};if("type"in X)Q.type=X.type;if("params"in X)Q.params=X.params;if("run"in X)Q.run=X.run;if("delay"in X)Q.delay=X.delay;if("probability"in X)Q.probability=X.probability;if("name"in X)Q.name=X.name;if("break"in X)Q.break=X.break;if("continue"in X)Q.continue=X.continue;return Q}function DY(Z){if(!Z)return[];if(P0(Z)&&"mode"in Z&&"actions"in Z)return G2(Z);if(P0(Z))return s1(Z);if(Array.isArray(Z)){let X=[];for(let Q=0;Q<Z.length;Q++){let U=Z[Q];if(P0(U))if("mode"in U&&"actions"in U){let J=G2(U);for(let q of J.actions)X.push(q)}else X.push(s1(U));else throw Error(`Invalid action in branch at index ${Q}: expected object`)}return X}throw Error("Invalid action branch format: expected object or array")}function G2(Z){let X=Z.mode||"ALL";if(!x3(X))throw Error(`Invalid execution mode: ${X}`);let Q=Z.actions;if(!Q||!Array.isArray(Q))throw Error("Action group must have an actions array");let U=Q.map((J,q)=>{if(P0(J)){if("mode"in J&&"actions"in J)return G2(J);return s1(J)}throw Error(`Invalid action in group at index ${q}: expected object`)});return{mode:X,actions:U}}function OP(Z,X,Q,U){let J=M4(Z,X,Q,U);if(!J.on)throw Error(`Rule at index ${X} missing required field: on`);return J}function RP(Z){let X=[];if(!Z.on)X.push("Missing required field: on");if(!Z.do&&Z.do!=="")X.push("Missing required field: do");if(Z.else&&!Z.if)X.push('Field "else" requires "if" to be present');return{valid:X.length===0,errors:X}}function SY(Z,X,Q){return{id:X,type:f.EVENT,position:Q,data:{id:Z.id||"rule-1",name:Z.name||"Imported Rule",description:Z.description||"",event:Z.on||"",priority:Z.priority||0,enabled:Z.enabled!==!1,cooldown:Z.cooldown,tags:Z.tags}}}function CY(Z,X,Q){return{id:X,type:f.CONDITION_GROUP,position:Q,data:{operator:Z}}}function O4(Z,X,Q,U,J){return{id:U,type:f.CONDITION,position:J,data:{field:Z||"data",operator:X||"EQ",value:Q??""}}}function p3(Z,X,Q){return{id:X,type:f.DO,position:Q,data:{branchType:Z}}}function NY(Z,X,Q){let U,J,q,Y,W,$,L;if(JZ(Z)){let G=Z.if;if(G){let H=(Array.isArray(G)?G:[G])[0];if(H&&i1(H))U=H.field,J=H.operator,q=H.value!==void 0?typeof H.value==="string"?H.value:JSON.stringify(H.value):void 0}let V=Z.then;if(V){let z=Array.isArray(V)?V:[V];if(z[0])Y=z4(z[0]),W=B4(z[0])}let F=Z.else;if(F){let z=Array.isArray(F)?F:[F];if(z[0])$=z4(z[0]),L=B4(z[0])}}let _={type:z4(Z),params:B4(Z)};if(U)_.conditionField=U;if(J)_.conditionOperator=J;if(q!==void 0)_.conditionValue=q;if(Y)_.thenType=Y;if(W)_.thenParams=W;if($)_.elseType=$;if(L)_.elseParams=L;return{id:X,type:f.ACTION,position:Q,data:_}}function jY(Z,X,Q){return{id:X,type:f.ACTION_GROUP,position:Q,data:{mode:Z||"SEQUENCE"}}}function c0(Z,X,Q,U,J){return{id:J?J():`edge_${Z}_${X}_${Date.now()}`,source:Z,target:X,sourceHandle:Q??null,targetHandle:U??null}}function PP(Z,X={}){let Q=[],U=[],J=[];if(!Z.id)J.push("Missing required field: id");if(!Z.on)J.push("Missing required field: on (event trigger)");if(!Z.do&&Z.do!=="")J.push("Missing required field: do (actions)");if(J.length>0)return{nodes:[],edges:[],valid:!1,errors:J};let q=X.startNodeId||"event-node",Y=h3(0),W=m3(),$=u3();try{let L=SY(Z,q,X.startPosition||{x:100,y:300});Q.push(L);let _=X6(Z.if);if(_.length>0){let{conditionNodes:G,groupNodeId:V}=KP(_,Q,U,L.id,Y,$),F=X6(Z.do);if(F.length>0){let H=G.length>0?G[G.length-1].id:V||L.id;Q6(F,Q,U,H,Y,W,$,"do")}let z=X6(Z.else);if(z.length>0){let H=G.length>0?G[G.length-1].id:V||L.id;Q6(z,Q,U,H,Y,W,$,"else")}}else{let G=X6(Z.do);if(G.length>0)Q6(G,Q,U,L.id,Y,W,$,"do")}return{nodes:Q,edges:U,valid:!0,errors:[]}}catch(L){let _=L instanceof Error?L.message:"Unknown error during conversion";return J.push(_),{nodes:Q,edges:U,valid:!1,errors:J}}}function KP(Z,X,Q,U,J,q){let Y=[],W,$=Z.length>1,L=Z.some(c1);if($||L){W=J();let _="AND",G=Z.find(c1);if(G&&c1(G))_=G.operator;let V=CY(_,W,q(1,0,1));X.push(V),Q.push(c0(U,W,null,w.CONDITION_GROUP_INPUT,void 0));let F=null;Z.forEach((z,H)=>{let B,K;if(c1(z)){if(z.conditions)z.conditions.forEach((T,P)=>{if(c1(T))return;if(B=J(),K=O4(t2(T),e2(T),Z6(T),B,q(2,H*2+P,Z.length*2)),X.push(K),Y.push(K),F)Q.push(c0(F,B,w.CONDITION_OUTPUT,w.CONDITION_INPUT,void 0));else Q.push(c0(W,B,w.CONDITION_GROUP_OUTPUT,w.CONDITION_INPUT,void 0));F=B})}else{if(B=J(),K=O4(t2(z),e2(z),Z6(z),B,q(2,H,Z.length)),X.push(K),Y.push(K),F)Q.push(c0(F,B,w.CONDITION_OUTPUT,w.CONDITION_INPUT,void 0));else Q.push(c0(W,B,w.CONDITION_GROUP_OUTPUT,w.CONDITION_INPUT,void 0));F=B}})}else{let _=J(),G=O4(t2(Z[0]),e2(Z[0]),Z6(Z[0]),_,q(1,0,1));X.push(G),Y.push(G),Q.push(c0(U,_,null,w.CONDITION_INPUT,void 0))}return{conditionNodes:Y,groupNodeId:W}}function Q6(Z,X,Q,U,J,q,Y,W){Z.forEach(($,L)=>{if(v3($)){let H=J(),B=X.find((D)=>D.id===U)?.position||{x:100,y:100},K=jY($.mode,H,{x:B.x+300,y:B.y+L*75});X.push(K);let T=X.find((D)=>D.id===U),P;if(T?.type===f.EVENT)P=w.EVENT_OUTPUT;else if(T?.type===f.CONDITION)P=w.CONDITION_OUTPUT;else if(T?.type===f.CONDITION_GROUP)P=w.CONDITION_GROUP_OUTPUT;else if(T?.type===f.ACTION_GROUP)P=w.ACTION_GROUP_OUTPUT;else if(T?.type===f.DO)P=w.DO_OUTPUT;else P=W===f0.ELSE?w.ELSE_OUTPUT:w.THEN_OUTPUT;Q.push(c0(U,H,P,w.ACTION_GROUP_INPUT,q)),Q6($.actions,X,Q,H,J,q,Y,W);return}if(JZ($)){let B=$.if,K=Array.isArray(B)?B[0]:B;if(K&&i1(K)){let T=J(),P=Y(2,L,Z.length),D=O4(t2(K),e2(K),Z6(K),T,{x:P.x+300,y:P.y});X.push(D);let S=X.find((x)=>x.id===U),j;if(S?.type===f.EVENT)j=w.EVENT_OUTPUT;else if(S?.type===f.ACTION_GROUP)j=w.ACTION_GROUP_CONDITION_OUTPUT;else if(S?.type===f.CONDITION)j=w.CONDITION_OUTPUT;else if(S?.type===f.DO)j=w.DO_OUTPUT;else j=W===f0.ELSE?w.CONDITION_OUTPUT:w.CONDITION_OUTPUT;Q.push(c0(U,T,j,w.CONDITION_INPUT,q));let v=$.then;if(v){let x=J(),s=p3("do",x,{x:D.position.x+300,y:D.position.y-100});X.push(s),Q.push(c0(T,x,w.CONDITION_OUTPUT,w.DO_INPUT,q));let Q0=Array.isArray(v)?v:[v];Q6(Q0,X,Q,x,J,q,(V0,K0,y0)=>{return{x:s.position.x+300,y:s.position.y-K0*150}},"do")}let N=$.else;if(N){let x=J(),s=p3("else",x,{x:D.position.x+300,y:D.position.y+100});X.push(s),Q.push(c0(T,x,w.CONDITION_OUTPUT,w.DO_INPUT,q));let Q0=Array.isArray(N)?N:[N];Q6(Q0,X,Q,x,J,q,(V0,K0,y0)=>{return{x:s.position.x+300,y:s.position.y+K0*150}},"else")}}return}let _=J(),G=X.find((H)=>H.id===U)?.position||{x:700,y:100},V=NY($,_,{x:G.x+300,y:G.y+L*150});X.push(V);let F=X.find((H)=>H.id===U),z;if(F?.type===f.EVENT)z=w.EVENT_OUTPUT;else if(F?.type===f.CONDITION)z=w.CONDITION_OUTPUT;else if(F?.type===f.CONDITION_GROUP)z=w.CONDITION_GROUP_OUTPUT;else if(F?.type===f.ACTION_GROUP)z=w.ACTION_GROUP_OUTPUT;else if(F?.type===f.DO)z=w.DO_OUTPUT;else z=W===f0.ELSE?w.CONDITION_OUTPUT:w.CONDITION_OUTPUT;Q.push(c0(U,_,z,w.ACTION_INPUT,q))})}function EY(Z,X={}){let{autoId:Q=!1,filename:U,throwOnError:J=!1,multiDocument:q=!0}=X,Y=[],W=[];try{let L;if(q){let G=YZ.parseAllDocuments(Z);for(let V of G)if(V.errors&&V.errors.length>0){let F=V.errors.map((z)=>z.message).join(", ");throw Error(`YAML syntax error: ${F}`)}L=G.map((V)=>V.toJS())}else{let G=YZ.parse(Z);L=Array.isArray(G)?[G]:[G]}let _=[];L.forEach((G)=>{if(Array.isArray(G))_.push(...G);else _.push(G)}),_.forEach((G,V)=>{try{let F;if(Q&&!U)F={...M4(G,V),id:`rule-${V}`};else F=M4(G,V,U,Q);let z=FX.validate(F);if(z.valid)W.push(z.rule);else Y.push({index:V,message:`Validation failed for rule at index ${V}`,issues:z.issues.map((H)=>({path:H.path,message:H.message,suggestion:H.suggestion}))})}catch(F){let z=F instanceof Error?F.message:`Unknown error at index ${V}`;Y.push({index:V,message:z})}})}catch(L){let _=L instanceof Error?L.message:"Unknown parsing error";Y.push({index:-1,message:`Failed to parse YAML: ${_}`})}let $={rules:W,errors:Y,valid:Y.length===0&&W.length>0};if(J&&!$.valid){let L=$.errors.map((_)=>{let G=`Rule ${_.index}: ${_.message}`;if(_.issues)G+=`
|
|
185
|
+
Issues:
|
|
186
|
+
`+_.issues.map((V)=>` - [${V.path}] ${V.message}`).join(`
|
|
187
|
+
`);return G}).join(`
|
|
188
|
+
`);throw Error(`YAML parsing failed:
|
|
189
|
+
${L}`)}return $}function $k(Z,X={}){return EY(Z,{...X,multiDocument:!1})}function Lk(Z,X={}){let Q=EY(Z,{...X,throwOnError:!0});if(Q.rules.length===0)throw Error("No valid rules found in YAML");return Q.rules[0]}var Tk={id:{description:"Unique identifier for this rule",examples:["my-rule-1","donation-handler","user-login-tracker"]},name:{description:"Human-readable name for the rule",examples:["Donation Handler","User Login Tracker"]},description:{description:"Detailed description of what this rule does"},on:{description:"The event name that triggers this rule",values:"String event name (e.g., `Donation`, `UserLogin`, `minecraft:player_join`)",examples:["Donation","UserLogin","minecraft:player_join","COMMAND"]},if:{description:"Condition(s) that must be met for the rule to execute",values:"Single condition object, array of conditions, or condition group with AND/OR operator"},do:{description:"Action(s) to execute when conditions are met",values:"Single action object, array of actions, or action group with mode (ALL, SEQUENCE, EITHER)"},priority:{description:"Execution priority (higher values execute first)",values:"Integer number",examples:["1","10","100"]},enabled:{description:"Whether this rule is active",values:"Boolean: `true` or `false`",examples:["true","false"]},cooldown:{description:"Minimum time in milliseconds between executions",values:"Non-negative integer (milliseconds)",examples:["1000","5000","60000"]},tags:{description:"Tags for categorizing and organizing rules",values:"Array of strings",examples:['["gameplay", "monetization"]','["debug", "test"]']},comment:{description:"Internal developer note (not used in execution)"}},Dk={EQ:{description:"Equal to (==)",valueType:"Any value",examples:["value: 100",'value: "hello"',"value: true"]},"==":{description:"Equal to (same as EQ)",valueType:"Any value",examples:["value: 100",'value: "hello"']},NEQ:{description:"Not equal to (!=)",valueType:"Any value",examples:["value: 0",'value: "goodbye"']},"!=":{description:"Not equal to (same as NEQ)",valueType:"Any value",examples:["value: 0"]},GT:{description:"Greater than (>)",valueType:"Number or expression string",examples:["value: 100",'value: "${state.count}"']},">":{description:"Greater than (same as GT)",valueType:"Number or expression string",examples:["value: 50"]},GTE:{description:"Greater than or equal to (>=)",valueType:"Number or expression string",examples:["value: 100"]},">=":{description:"Greater than or equal to (same as GTE)",valueType:"Number or expression string",examples:["value: 100"]},LT:{description:"Less than (<)",valueType:"Number or expression string",examples:["value: 100"]},"<":{description:"Less than (same as LT)",valueType:"Number or expression string",examples:["value: 50"]},LTE:{description:"Less than or equal to (<=)",valueType:"Number or expression string",examples:["value: 100"]},"<=":{description:"Less than or equal to (same as LTE)",valueType:"Number or expression string",examples:["value: 100"]},IN:{description:"Value is in the given list",valueType:"Array of values",examples:["value: [1, 2, 3]",'value: ["a", "b", "c"]']},NOT_IN:{description:"Value is not in the given list",valueType:"Array of values",examples:["value: [0, null]"]},CONTAINS:{description:"String contains substring, or array includes item",valueType:"String (for substring) or Array (for item check)",examples:['value: "hello"','value: ["item1", "item2"]']},NOT_CONTAINS:{description:"String does not contain substring, or array does not include item",valueType:"String (for substring) or Array (for item check)",examples:['value: "spam"','value: ["excluded"]']},STARTS_WITH:{description:"String starts with the specified prefix",valueType:"String",examples:['value: "https://"','value: "user_"']},ENDS_WITH:{description:"String ends with the specified suffix",valueType:"String",examples:['value: ".com"','value: "_admin"']},IS_EMPTY:{description:"Value is empty (string, array, object, or null)",valueType:"No value required",examples:["(no value needed)"]},IS_NULL:{description:"Value is null or undefined",valueType:"No value required",examples:["(no value needed)"]},IS_NONE:{description:"Alias for IS_NULL",valueType:"No value required",examples:["(no value needed)"]},HAS_KEY:{description:"Object has the specified key",valueType:"String (key name)",examples:['value: "userId"','value: "role"']},MATCHES:{description:"Value matches the regular expression pattern",valueType:"String (regex pattern)",examples:['value: "^[A-Z].*"','value: "\\\\d{3}-\\\\d{4}"']},RANGE:{description:"Value is within the specified range [min, max] (inclusive)",valueType:"Array of exactly 2 numbers: [min, max]",examples:["value: [0, 100]","value: [1, 10]"]},SINCE:{description:"Date/time is after or equal to the specified value",valueType:"Date string or timestamp",examples:['value: "2024-01-01"']},AFTER:{description:"Date/time is after the specified value (alias for SINCE)",valueType:"Date string or timestamp",examples:['value: "2024-01-01T00:00:00Z"']},BEFORE:{description:"Date/time is before the specified value",valueType:"Date string or timestamp",examples:['value: "2024-12-31"']},UNTIL:{description:"Date/time is before or equal to the specified value (alias for BEFORE)",valueType:"Date string or timestamp",examples:['value: "2024-12-31T23:59:59Z"']},AND:{description:"Logical AND - all conditions must be true",valueType:"Used in condition groups",examples:[`operator: AND
|
|
190
|
+
conditions:
|
|
191
|
+
- field: data.x
|
|
192
|
+
operator: GT
|
|
193
|
+
value: 0`]},OR:{description:"Logical OR - at least one condition must be true",valueType:"Used in condition groups",examples:[`operator: OR
|
|
194
|
+
conditions:
|
|
195
|
+
- field: data.x
|
|
196
|
+
operator: EQ
|
|
197
|
+
value: 1`]}},wk={field:{description:"The field path to check (e.g., `data.amount`, `event.user.id`)",values:"String path using dot notation"},operator:{description:"The comparison operator to use",values:"One of: EQ, ==, NEQ, !=, GT, >, GTE, >=, LT, <, LTE, <=, IN, NOT_IN, CONTAINS, NOT_CONTAINS, STARTS_WITH, ENDS_WITH, IS_EMPTY, IS_NULL, HAS_KEY, MATCHES, RANGE, SINCE, AFTER, BEFORE, UNTIL"},value:{description:"The value to compare against (type depends on operator)",values:"Varies by operator - see operator documentation for details"},conditions:{description:"Array of sub-conditions for AND/OR groups",values:"Array of condition objects"}},Ak={type:{description:"The type of action to perform",values:"String action type (e.g., `log`, `execute`, `notify`, `STATE_SET`, `EMIT_EVENT`)"},params:{description:"Parameters for the action (varies by action type)",values:"Object with action-specific parameters"},run:{description:"Direct script execution block (JavaScript-like syntax)",values:"String block of code"},delay:{description:"Delay in milliseconds before executing this action",values:"Non-negative integer (milliseconds)"},probability:{description:"Probability of executing this action (0.0 to 1.0)"},mode:{description:"Execution mode for action groups",values:"ALL (execute all), SEQUENCE (execute in order), or EITHER (execute one randomly)"},actions:{description:"Array of sub-actions for action groups",values:"Array of action objects"},then:{description:"Actions to execute when condition is true",values:"Action object or array of actions"},else:{description:"Actions to execute when condition is false",values:"Action object or array of actions"}},Sk={log:{description:"Prints a message to the engine console for debugging",params:["message: string (supports interpolation)"]},math:{description:`Expression to evaluate (e.g. "1 + 2" or "'Hi ' + data.user")`,params:[`expression: string (e.g. "1 + 2" or "'Hello ' + data.name")`]},execute:{description:"Runs a shell command on the host (Node.js only)",params:["command: string","safe: boolean"]},notify:{description:"Sends a notification to a specified target",params:["message: string","target: string"]},STATE_SET:{description:"Updates a value in the global state manager",params:["key: string","value: any"]},STATE_OP:{description:"Performs direct operations on state using a script",params:["run: string"]}};export{RP as validateRule,MP as validateFieldValue,BP as validateFieldType,PP as triggerRuleToNodes,p0 as triggerEmitter,L9 as ruleEvents,FP as requireField,EY as parseYamlRules,Lk as parseYamlRuleStrict,$k as parseYamlRule,GJ as parseGraphToRules,TX as parseGraph,u6 as optimizeCondition,p6 as optimizeAction,OP as normalizeRuleAdvanced,M4 as normalizeRule,HP as normalizeOperator,AY as normalizeElseField,wY as normalizeDoField,_P as normalizeConditionsUtils,qZ as normalizeConditions,GP as normalizeActions,s1 as normalizeAction,qP as isValidNumber,x3 as isValidExecutionMode,$P as isValidConditionOperator,LP as isValidComparisonOperator,i1 as isSimpleCondition,WP as isSimpleAction,P0 as isObject,JP as isNonEmptyString,c1 as isConditionGroup,YP as isBoolean,v3 as isActionGroup,JZ as hasConditionalExecution,Z6 as getConditionValue,e2 as getConditionOperator,t2 as getConditionField,z4 as getActionType,B4 as getActionParams,VP as generateRuleIdFromFilename,KX as findTerminalActions,X6 as ensureArray,Rb as engineEvents,Vf as defaultGetDoBranchType,tG as defaultExtractEventData,u3 as createPositionCalculator,nG as createParserContext,h3 as createNodeIdGenerator,m3 as createEdgeIdGenerator,B9 as collectDoActions,SY as buildEventNode,c0 as buildEdge,p3 as buildDoNode,O4 as buildConditionNode,CY as buildConditionGroupNode,NY as buildActionNode,jY as buildActionGroupNode,FX as TriggerValidator,HX as TriggerUtils,Db as TriggerSystem,oG as TriggerRuleSchema,m6 as TriggerEngine,GX as TriggerEmitter,z0 as StateManager,eR as RuleExporter,lG as RuleEvents,$9 as RuleEvent,n7 as RuleEngine,HI as RuleConditionSchema,DX as RuleBuilder,zX as ParamsBuilder,Dk as OPERATOR_DOCS,f as NodeType,u0 as MathFunctions,BI as InlineConditionalActionSchema,$X as InMemoryPersistence,w as HandleId,Tk as FIELD_DOCS,j0 as ExpressionEngine,pG as Events,dG as EventQueue,VX as ErrorMessages,x2 as EngineEvent,m6 as Engine,G9 as DebugMessages,_X as ControlFlow,hG as ContextKeys,iG as ContextAdapter,V9 as ConditionalActionBuilder,_I as ConditionSchema,BX as ConditionOperator,VI as ConditionGroupSchema,k1 as ConditionBuilder,GI as ComparisonOperatorSchema,wk as CONDITION_FIELD_DOCS,R0 as BuiltInAction,cG as BrowserPersistence,f0 as BranchType,uG as Actions,FI as ActionSchema,h6 as ActionRegistry,zI as ActionGroupSchema,l6 as ActionBuilder,Sk as ACTION_TYPE_DOCS,Ak as ACTION_FIELD_DOCS};
|
|
185
198
|
|
|
186
|
-
//# debugId=
|
|
199
|
+
//# debugId=4A21D319D1C873F964756E2164756E21
|