@reddb-io/red-skills 3.18.12 → 3.19.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,331 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
3
- var lv=Object.create;var _s=Object.defineProperty;var dv=Object.getOwnPropertyDescriptor;var fv=Object.getOwnPropertyNames;var pv=Object.getPrototypeOf,mv=Object.prototype.hasOwnProperty;var $t=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var w=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ed=(e,t)=>{for(var r in t)_s(e,r,{get:t[r],enumerable:!0})},hv=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of fv(t))!mv.call(e,o)&&o!==r&&_s(e,o,{get:()=>t[o],enumerable:!(n=dv(t,o))||n.enumerable});return e};var ws=(e,t,r)=>(r=e!=null?lv(pv(e)):{},hv(t||!e||!e.__esModule?_s(r,"default",{value:e,enumerable:!0}):r,e));var En=w(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.regexpCode=Z.getEsmExportName=Z.getProperty=Z.safeStringify=Z.stringify=Z.strConcat=Z.addCodeArg=Z.str=Z._=Z.nil=Z._Code=Z.Name=Z.IDENTIFIER=Z._CodeOrName=void 0;var $n=class{};Z._CodeOrName=$n;Z.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Kt=class extends $n{constructor(t){if(super(),!Z.IDENTIFIER.test(t))throw new Error("CodeGen: name must be a valid identifier");this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};Z.Name=Kt;var Ze=class extends $n{constructor(t){super(),this._items=typeof t=="string"?[t]:t}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let t=this._items[0];return t===""||t==='""'}get str(){var t;return(t=this._str)!==null&&t!==void 0?t:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var t;return(t=this._names)!==null&&t!==void 0?t:this._names=this._items.reduce((r,n)=>(n instanceof Kt&&(r[n.str]=(r[n.str]||0)+1),r),{})}};Z._Code=Ze;Z.nil=new Ze("");function Tm(e,...t){let r=[e[0]],n=0;for(;n<t.length;)Ma(r,t[n]),r.push(e[++n]);return new Ze(r)}Z._=Tm;var La=new Ze("+");function Pm(e,...t){let r=[Sn(e[0])],n=0;for(;n<t.length;)r.push(La),Ma(r,t[n]),r.push(La,Sn(e[++n]));return _k(r),new Ze(r)}Z.str=Pm;function Ma(e,t){t instanceof Ze?e.push(...t._items):t instanceof Kt?e.push(t):e.push(vk(t))}Z.addCodeArg=Ma;function _k(e){let t=1;for(;t<e.length-1;){if(e[t]===La){let r=wk(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+"}t++}}function wk(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof Kt||e[e.length-1]!=='"'?void 0:typeof t!="string"?`${e.slice(0,-1)}${t}"`:t[0]==='"'?e.slice(0,-1)+t.slice(1):void 0;if(typeof t=="string"&&t[0]==='"'&&!(e instanceof Kt))return`"${e}${t.slice(1)}`}function bk(e,t){return t.emptyStr()?e:e.emptyStr()?t:Pm`${e}${t}`}Z.strConcat=bk;function vk(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:Sn(Array.isArray(e)?e.join(","):e)}function xk(e){return new Ze(Sn(e))}Z.stringify=xk;function Sn(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}Z.safeStringify=Sn;function kk(e){return typeof e=="string"&&Z.IDENTIFIER.test(e)?new Ze(`.${e}`):Tm`[${e}]`}Z.getProperty=kk;function $k(e){if(typeof e=="string"&&Z.IDENTIFIER.test(e))return new Ze(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}Z.getEsmExportName=$k;function Sk(e){return new Ze(e.toString())}Z.regexpCode=Sk});var Za=w(Ae=>{"use strict";Object.defineProperty(Ae,"__esModule",{value:!0});Ae.ValueScope=Ae.ValueScopeName=Ae.Scope=Ae.varKinds=Ae.UsedValueState=void 0;var ze=En(),qa=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value}},Wo;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"})(Wo||(Ae.UsedValueState=Wo={}));Ae.varKinds={const:new ze.Name("const"),let:new ze.Name("let"),var:new ze.Name("var")};var Go=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r}toName(t){return t instanceof ze.Name?t:this.name(t)}name(t){return new ze.Name(this._newName(t))}_newName(t){let r=this._names[t]||this._nameGroup(t);return`${t}${r.index++}`}_nameGroup(t){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(t)||this._prefixes&&!this._prefixes.has(t))throw new Error(`CodeGen: prefix "${t}" is not allowed in this scope`);return this._names[t]={prefix:t,index:0}}};Ae.Scope=Go;var Jo=class extends ze.Name{constructor(t,r){super(r),this.prefix=t}setValue(t,{property:r,itemIndex:n}){this.value=t,this.scopePath=(0,ze._)`.${new ze.Name(r)}[${n}]`}};Ae.ValueScopeName=Jo;var Ek=(0,ze._)`\n`,Ba=class extends Go{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?Ek:ze.nil}}get(){return this._scope}name(t){return new Jo(t,this._newName(t))}value(t,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let o=this.toName(t),{prefix:i}=o,s=(n=r.key)!==null&&n!==void 0?n:r.ref,a=this._values[i];if(a){let u=a.get(s);if(u)return u}else a=this._values[i]=new Map;a.set(s,o);let c=this._scope[i]||(this._scope[i]=[]),l=c.length;return c[l]=r.ref,o.setValue(r,{property:i,itemIndex:l}),o}getValue(t,r){let n=this._values[t];if(n)return n.get(r)}scopeRefs(t,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,ze._)`${t}${n.scopePath}`})}scopeCode(t=this._values,r,n){return this._reduceValues(t,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},r,n)}_reduceValues(t,r,n={},o){let i=ze.nil;for(let s in t){let a=t[s];if(!a)continue;let c=n[s]=n[s]||new Map;a.forEach(l=>{if(c.has(l))return;c.set(l,Wo.Started);let u=r(l);if(u){let d=this.opts.es5?Ae.varKinds.var:Ae.varKinds.const;i=(0,ze._)`${i}${d} ${l} = ${u};${this.opts._n}`}else if(u=o?.(l))i=(0,ze._)`${i}${u}${this.opts._n}`;else throw new qa(l);c.set(l,Wo.Completed)})}return i}};Ae.ValueScope=Ba});var C=w(D=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0});D.or=D.and=D.not=D.CodeGen=D.operators=D.varKinds=D.ValueScopeName=D.ValueScope=D.Scope=D.Name=D.regexpCode=D.stringify=D.getProperty=D.nil=D.strConcat=D.str=D._=void 0;var M=En(),Ye=Za(),Pt=En();Object.defineProperty(D,"_",{enumerable:!0,get:function(){return Pt._}});Object.defineProperty(D,"str",{enumerable:!0,get:function(){return Pt.str}});Object.defineProperty(D,"strConcat",{enumerable:!0,get:function(){return Pt.strConcat}});Object.defineProperty(D,"nil",{enumerable:!0,get:function(){return Pt.nil}});Object.defineProperty(D,"getProperty",{enumerable:!0,get:function(){return Pt.getProperty}});Object.defineProperty(D,"stringify",{enumerable:!0,get:function(){return Pt.stringify}});Object.defineProperty(D,"regexpCode",{enumerable:!0,get:function(){return Pt.regexpCode}});Object.defineProperty(D,"Name",{enumerable:!0,get:function(){return Pt.Name}});var ei=Za();Object.defineProperty(D,"Scope",{enumerable:!0,get:function(){return ei.Scope}});Object.defineProperty(D,"ValueScope",{enumerable:!0,get:function(){return ei.ValueScope}});Object.defineProperty(D,"ValueScopeName",{enumerable:!0,get:function(){return ei.ValueScopeName}});Object.defineProperty(D,"varKinds",{enumerable:!0,get:function(){return ei.varKinds}});D.operators={GT:new M._Code(">"),GTE:new M._Code(">="),LT:new M._Code("<"),LTE:new M._Code("<="),EQ:new M._Code("==="),NEQ:new M._Code("!=="),NOT:new M._Code("!"),OR:new M._Code("||"),AND:new M._Code("&&"),ADD:new M._Code("+")};var _t=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},Ua=class extends _t{constructor(t,r,n){super(),this.varKind=t,this.name=r,this.rhs=n}render({es5:t,_n:r}){let n=t?Ye.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+r}optimizeNames(t,r){if(t[this.name.str])return this.rhs&&(this.rhs=vr(this.rhs,t,r)),this}get names(){return this.rhs instanceof M._CodeOrName?this.rhs.names:{}}},Yo=class extends _t{constructor(t,r,n){super(),this.lhs=t,this.rhs=r,this.sideEffects=n}render({_n:t}){return`${this.lhs} = ${this.rhs};`+t}optimizeNames(t,r){if(!(this.lhs instanceof M.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=vr(this.rhs,t,r),this}get names(){let t=this.lhs instanceof M.Name?{}:{...this.lhs.names};return Xo(t,this.rhs)}},Fa=class extends Yo{constructor(t,r,n,o){super(t,n,o),this.op=r}render({_n:t}){return`${this.lhs} ${this.op}= ${this.rhs};`+t}},Va=class extends _t{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`${this.label}:`+t}},Ka=class extends _t{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`break${this.label?` ${this.label}`:""};`+t}},Ha=class extends _t{constructor(t){super(),this.error=t}render({_n:t}){return`throw ${this.error};`+t}get names(){return this.error.names}},Wa=class extends _t{constructor(t){super(),this.code=t}render({_n:t}){return`${this.code};`+t}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(t,r){return this.code=vr(this.code,t,r),this}get names(){return this.code instanceof M._CodeOrName?this.code.names:{}}},Rn=class extends _t{constructor(t=[]){super(),this.nodes=t}render(t){return this.nodes.reduce((r,n)=>r+n.render(t),"")}optimizeNodes(){let{nodes:t}=this,r=t.length;for(;r--;){let n=t[r].optimizeNodes();Array.isArray(n)?t.splice(r,1,...n):n?t[r]=n:t.splice(r,1)}return t.length>0?this:void 0}optimizeNames(t,r){let{nodes:n}=this,o=n.length;for(;o--;){let i=n[o];i.optimizeNames(t,r)||(Rk(t,i.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>Gt(t,r.names),{})}},wt=class extends Rn{render(t){return"{"+t._n+super.render(t)+"}"+t._n}},Ga=class extends Rn{},br=class extends wt{};br.kind="else";var Ht=class e extends wt{constructor(t,r){super(r),this.condition=t}render(t){let r=`if(${this.condition})`+super.render(t);return this.else&&(r+="else "+this.else.render(t)),r}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new br(n):n}if(r)return t===!1?r instanceof e?r:r.nodes:this.nodes.length?this:new e(Om(t),r instanceof e?[r]:r.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(t,r),!!(super.optimizeNames(t,r)||this.else))return this.condition=vr(this.condition,t,r),this}get names(){let t=super.names;return Xo(t,this.condition),this.else&&Gt(t,this.else.names),t}};Ht.kind="if";var Wt=class extends wt{};Wt.kind="for";var Ja=class extends Wt{constructor(t){super(),this.iteration=t}render(t){return`for(${this.iteration})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iteration=vr(this.iteration,t,r),this}get names(){return Gt(super.names,this.iteration.names)}},Ya=class extends Wt{constructor(t,r,n,o){super(),this.varKind=t,this.name=r,this.from=n,this.to=o}render(t){let r=t.es5?Ye.varKinds.var:this.varKind,{name:n,from:o,to:i}=this;return`for(${r} ${n}=${o}; ${n}<${i}; ${n}++)`+super.render(t)}get names(){let t=Xo(super.names,this.from);return Xo(t,this.to)}},Qo=class extends Wt{constructor(t,r,n,o){super(),this.loop=t,this.varKind=r,this.name=n,this.iterable=o}render(t){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iterable=vr(this.iterable,t,r),this}get names(){return Gt(super.names,this.iterable.names)}},Tn=class extends wt{constructor(t,r,n){super(),this.name=t,this.args=r,this.async=n}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}};Tn.kind="func";var Pn=class extends Rn{render(t){return"return "+super.render(t)}};Pn.kind="return";var Qa=class extends wt{render(t){let r="try"+super.render(t);return this.catch&&(r+=this.catch.render(t)),this.finally&&(r+=this.finally.render(t)),r}optimizeNodes(){var t,r;return super.optimizeNodes(),(t=this.catch)===null||t===void 0||t.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(t,r){var n,o;return super.optimizeNames(t,r),(n=this.catch)===null||n===void 0||n.optimizeNames(t,r),(o=this.finally)===null||o===void 0||o.optimizeNames(t,r),this}get names(){let t=super.names;return this.catch&&Gt(t,this.catch.names),this.finally&&Gt(t,this.finally.names),t}},On=class extends wt{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}};On.kind="catch";var zn=class extends wt{render(t){return"finally"+super.render(t)}};zn.kind="finally";var Xa=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
4
- `:""},this._extScope=t,this._scope=new Ye.Scope({parent:t}),this._nodes=[new Ga]}toString(){return this._root.render(this.opts)}name(t){return this._scope.name(t)}scopeName(t){return this._extScope.name(t)}scopeValue(t,r){let n=this._extScope.value(t,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(t,r){return this._extScope.getValue(t,r)}scopeRefs(t){return this._extScope.scopeRefs(t,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(t,r,n,o){let i=this._scope.toName(r);return n!==void 0&&o&&(this._constants[i.str]=n),this._leafNode(new Ua(t,i,n)),i}const(t,r,n){return this._def(Ye.varKinds.const,t,r,n)}let(t,r,n){return this._def(Ye.varKinds.let,t,r,n)}var(t,r,n){return this._def(Ye.varKinds.var,t,r,n)}assign(t,r,n){return this._leafNode(new Yo(t,r,n))}add(t,r){return this._leafNode(new Fa(t,D.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==M.nil&&this._leafNode(new Wa(t)),this}object(...t){let r=["{"];for(let[n,o]of t)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,M.addCodeArg)(r,o));return r.push("}"),new M._Code(r)}if(t,r,n){if(this._blockNode(new Ht(t)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(t){return this._elseNode(new Ht(t))}else(){return this._elseNode(new br)}endIf(){return this._endBlockNode(Ht,br)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new Ja(t),r)}forRange(t,r,n,o,i=this.opts.es5?Ye.varKinds.var:Ye.varKinds.let){let s=this._scope.toName(t);return this._for(new Ya(i,s,r,n),()=>o(s))}forOf(t,r,n,o=Ye.varKinds.const){let i=this._scope.toName(t);if(this.opts.es5){let s=r instanceof M.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,M._)`${s}.length`,a=>{this.var(i,(0,M._)`${s}[${a}]`),n(i)})}return this._for(new Qo("of",o,i,r),()=>n(i))}forIn(t,r,n,o=this.opts.es5?Ye.varKinds.var:Ye.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0,M._)`Object.keys(${r})`,n);let i=this._scope.toName(t);return this._for(new Qo("in",o,i,r),()=>n(i))}endFor(){return this._endBlockNode(Wt)}label(t){return this._leafNode(new Va(t))}break(t){return this._leafNode(new Ka(t))}return(t){let r=new Pn;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Pn)}try(t,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new Qa;if(this._blockNode(o),this.code(t),r){let i=this.name("e");this._currNode=o.catch=new On(i),r(i)}return n&&(this._currNode=o.finally=new zn,this.code(n)),this._endBlockNode(On,zn)}throw(t){return this._leafNode(new Ha(t))}block(t,r){return this._blockStarts.push(this._nodes.length),t&&this.code(t).endBlock(r),this}endBlock(t){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||t!==void 0&&n!==t)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${t} expected`);return this._nodes.length=r,this}func(t,r=M.nil,n,o){return this._blockNode(new Tn(t,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(Tn)}optimize(t=1){for(;t-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(t){return this._currNode.nodes.push(t),this}_blockNode(t){this._currNode.nodes.push(t),this._nodes.push(t)}_endBlockNode(t,r){let n=this._currNode;if(n instanceof t||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${t.kind}/${r.kind}`:t.kind}"`)}_elseNode(t){let r=this._currNode;if(!(r instanceof Ht))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=t,this}get _root(){return this._nodes[0]}get _currNode(){let t=this._nodes;return t[t.length-1]}set _currNode(t){let r=this._nodes;r[r.length-1]=t}};D.CodeGen=Xa;function Gt(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function Xo(e,t){return t instanceof M._CodeOrName?Gt(e,t.names):e}function vr(e,t,r){if(e instanceof M.Name)return n(e);if(!o(e))return e;return new M._Code(e._items.reduce((i,s)=>(s instanceof M.Name&&(s=n(s)),s instanceof M._Code?i.push(...s._items):i.push(s),i),[]));function n(i){let s=r[i.str];return s===void 0||t[i.str]!==1?i:(delete t[i.str],s)}function o(i){return i instanceof M._Code&&i._items.some(s=>s instanceof M.Name&&t[s.str]===1&&r[s.str]!==void 0)}}function Rk(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0)}function Om(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,M._)`!${ec(e)}`}D.not=Om;var Tk=zm(D.operators.AND);function Pk(...e){return e.reduce(Tk)}D.and=Pk;var Ok=zm(D.operators.OR);function zk(...e){return e.reduce(Ok)}D.or=zk;function zm(e){return(t,r)=>t===M.nil?r:r===M.nil?t:(0,M._)`${ec(t)} ${e} ${ec(r)}`}function ec(e){return e instanceof M.Name?e:(0,M._)`(${e})`}});var q=w(j=>{"use strict";Object.defineProperty(j,"__esModule",{value:!0});j.checkStrictMode=j.getErrorPath=j.Type=j.useFunc=j.setEvaluated=j.evaluatedPropsToName=j.mergeEvaluated=j.eachItem=j.unescapeJsonPointer=j.escapeJsonPointer=j.escapeFragment=j.unescapeFragment=j.schemaRefOrVal=j.schemaHasRulesButRef=j.schemaHasRules=j.checkUnknownRules=j.alwaysValidSchema=j.toHash=void 0;var H=C(),Ak=En();function Ik(e){let t={};for(let r of e)t[r]=!0;return t}j.toHash=Ik;function Nk(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(Nm(e,t),!Cm(t,e.self.RULES.all))}j.alwaysValidSchema=Nk;function Nm(e,t=e.schema){let{opts:r,self:n}=e;if(!r.strictSchema||typeof t=="boolean")return;let o=n.RULES.keywords;for(let i in t)o[i]||Lm(e,`unknown keyword: "${i}"`)}j.checkUnknownRules=Nm;function Cm(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(t[r])return!0;return!1}j.schemaHasRules=Cm;function Ck(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(r!=="$ref"&&t.all[r])return!0;return!1}j.schemaHasRulesButRef=Ck;function Dk({topSchemaRef:e,schemaPath:t},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,H._)`${r}`}return(0,H._)`${e}${t}${(0,H.getProperty)(n)}`}j.schemaRefOrVal=Dk;function jk(e){return Dm(decodeURIComponent(e))}j.unescapeFragment=jk;function Lk(e){return encodeURIComponent(rc(e))}j.escapeFragment=Lk;function rc(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}j.escapeJsonPointer=rc;function Dm(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}j.unescapeJsonPointer=Dm;function Mk(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e)}j.eachItem=Mk;function Am({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return(o,i,s,a)=>{let c=s===void 0?i:s instanceof H.Name?(i instanceof H.Name?e(o,i,s):t(o,i,s),s):i instanceof H.Name?(t(o,s,i),i):r(i,s);return a===H.Name&&!(c instanceof H.Name)?n(o,c):c}}j.mergeEvaluated={props:Am({mergeNames:(e,t,r)=>e.if((0,H._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0,H._)`${t} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,H._)`${r} || {}`).code((0,H._)`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if((0,H._)`${r} !== true`,()=>{t===!0?e.assign(r,!0):(e.assign(r,(0,H._)`${r} || {}`),nc(e,r,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:jm}),items:Am({mergeNames:(e,t,r)=>e.if((0,H._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0,H._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0,H._)`${r} !== true`,()=>e.assign(r,t===!0?!0:(0,H._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function jm(e,t){if(t===!0)return e.var("props",!0);let r=e.var("props",(0,H._)`{}`);return t!==void 0&&nc(e,r,t),r}j.evaluatedPropsToName=jm;function nc(e,t,r){Object.keys(r).forEach(n=>e.assign((0,H._)`${t}${(0,H.getProperty)(n)}`,!0))}j.setEvaluated=nc;var Im={};function qk(e,t){return e.scopeValue("func",{ref:t,code:Im[t.code]||(Im[t.code]=new Ak._Code(t.code))})}j.useFunc=qk;var tc;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(tc||(j.Type=tc={}));function Bk(e,t,r){if(e instanceof H.Name){let n=t===tc.Num;return r?n?(0,H._)`"[" + ${e} + "]"`:(0,H._)`"['" + ${e} + "']"`:n?(0,H._)`"/" + ${e}`:(0,H._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,H.getProperty)(e).toString():"/"+rc(e)}j.getErrorPath=Bk;function Lm(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===!0)throw new Error(t);e.self.logger.warn(t)}}j.checkStrictMode=Lm});var bt=w(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});var we=C(),Zk={data:new we.Name("data"),valCxt:new we.Name("valCxt"),instancePath:new we.Name("instancePath"),parentData:new we.Name("parentData"),parentDataProperty:new we.Name("parentDataProperty"),rootData:new we.Name("rootData"),dynamicAnchors:new we.Name("dynamicAnchors"),vErrors:new we.Name("vErrors"),errors:new we.Name("errors"),this:new we.Name("this"),self:new we.Name("self"),scope:new we.Name("scope"),json:new we.Name("json"),jsonPos:new we.Name("jsonPos"),jsonLen:new we.Name("jsonLen"),jsonPart:new we.Name("jsonPart")};oc.default=Zk});var An=w(be=>{"use strict";Object.defineProperty(be,"__esModule",{value:!0});be.extendErrors=be.resetErrorsCount=be.reportExtraError=be.reportError=be.keyword$DataError=be.keywordError=void 0;var B=C(),ti=q(),Ee=bt();be.keywordError={message:({keyword:e})=>(0,B.str)`must pass "${e}" keyword validation`};be.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0,B.str)`"${e}" keyword must be ${t} ($data)`:(0,B.str)`"${e}" keyword is invalid ($data)`};function Uk(e,t=be.keywordError,r,n){let{it:o}=e,{gen:i,compositeRule:s,allErrors:a}=o,c=Bm(e,t,r);n??(s||a)?Mm(i,c):qm(o,(0,B._)`[${c}]`)}be.reportError=Uk;function Fk(e,t=be.keywordError,r){let{it:n}=e,{gen:o,compositeRule:i,allErrors:s}=n,a=Bm(e,t,r);Mm(o,a),i||s||qm(n,Ee.default.vErrors)}be.reportExtraError=Fk;function Vk(e,t){e.assign(Ee.default.errors,t),e.if((0,B._)`${Ee.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0,B._)`${Ee.default.vErrors}.length`,t),()=>e.assign(Ee.default.vErrors,null)))}be.resetErrorsCount=Vk;function Kk({gen:e,keyword:t,schemaValue:r,data:n,errsCount:o,it:i}){if(o===void 0)throw new Error("ajv implementation error");let s=e.name("err");e.forRange("i",o,Ee.default.errors,a=>{e.const(s,(0,B._)`${Ee.default.vErrors}[${a}]`),e.if((0,B._)`${s}.instancePath === undefined`,()=>e.assign((0,B._)`${s}.instancePath`,(0,B.strConcat)(Ee.default.instancePath,i.errorPath))),e.assign((0,B._)`${s}.schemaPath`,(0,B.str)`${i.errSchemaPath}/${t}`),i.opts.verbose&&(e.assign((0,B._)`${s}.schema`,r),e.assign((0,B._)`${s}.data`,n))})}be.extendErrors=Kk;function Mm(e,t){let r=e.const("err",t);e.if((0,B._)`${Ee.default.vErrors} === null`,()=>e.assign(Ee.default.vErrors,(0,B._)`[${r}]`),(0,B._)`${Ee.default.vErrors}.push(${r})`),e.code((0,B._)`${Ee.default.errors}++`)}function qm(e,t){let{gen:r,validateName:n,schemaEnv:o}=e;o.$async?r.throw((0,B._)`new ${e.ValidationError}(${t})`):(r.assign((0,B._)`${n}.errors`,t),r.return(!1))}var Jt={keyword:new B.Name("keyword"),schemaPath:new B.Name("schemaPath"),params:new B.Name("params"),propertyName:new B.Name("propertyName"),message:new B.Name("message"),schema:new B.Name("schema"),parentSchema:new B.Name("parentSchema")};function Bm(e,t,r){let{createErrors:n}=e.it;return n===!1?(0,B._)`{}`:Hk(e,t,r)}function Hk(e,t,r={}){let{gen:n,it:o}=e,i=[Wk(o,r),Gk(e,r)];return Jk(e,t,i),n.object(...i)}function Wk({errorPath:e},{instancePath:t}){let r=t?(0,B.str)`${e}${(0,ti.getErrorPath)(t,ti.Type.Str)}`:e;return[Ee.default.instancePath,(0,B.strConcat)(Ee.default.instancePath,r)]}function Gk({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:n}){let o=n?t:(0,B.str)`${t}/${e}`;return r&&(o=(0,B.str)`${o}${(0,ti.getErrorPath)(r,ti.Type.Str)}`),[Jt.schemaPath,o]}function Jk(e,{params:t,message:r},n){let{keyword:o,data:i,schemaValue:s,it:a}=e,{opts:c,propertyName:l,topSchemaRef:u,schemaPath:d}=a;n.push([Jt.keyword,o],[Jt.params,typeof t=="function"?t(e):t||(0,B._)`{}`]),c.messages&&n.push([Jt.message,typeof r=="function"?r(e):r]),c.verbose&&n.push([Jt.schema,s],[Jt.parentSchema,(0,B._)`${u}${d}`],[Ee.default.data,i]),l&&n.push([Jt.propertyName,l])}});var Um=w(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.boolOrEmptySchema=xr.topBoolOrEmptySchema=void 0;var Yk=An(),Qk=C(),Xk=bt(),e$={message:"boolean schema is false"};function t$(e){let{gen:t,schema:r,validateName:n}=e;r===!1?Zm(e,!1):typeof r=="object"&&r.$async===!0?t.return(Xk.default.data):(t.assign((0,Qk._)`${n}.errors`,null),t.return(!0))}xr.topBoolOrEmptySchema=t$;function r$(e,t){let{gen:r,schema:n}=e;n===!1?(r.var(t,!1),Zm(e)):r.var(t,!0)}xr.boolOrEmptySchema=r$;function Zm(e,t){let{gen:r,data:n}=e,o={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,Yk.reportError)(o,e$,void 0,t)}});var ic=w(kr=>{"use strict";Object.defineProperty(kr,"__esModule",{value:!0});kr.getRules=kr.isJSONType=void 0;var n$=["string","number","integer","boolean","null","object","array"],o$=new Set(n$);function i$(e){return typeof e=="string"&&o$.has(e)}kr.isJSONType=i$;function s$(){let e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}kr.getRules=s$});var sc=w(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.shouldUseRule=Ot.shouldUseGroup=Ot.schemaHasRulesForType=void 0;function a$({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==!0&&Fm(e,n)}Ot.schemaHasRulesForType=a$;function Fm(e,t){return t.rules.some(r=>Vm(e,r))}Ot.shouldUseGroup=Fm;function Vm(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some(n=>e[n]!==void 0))}Ot.shouldUseRule=Vm});var In=w(ve=>{"use strict";Object.defineProperty(ve,"__esModule",{value:!0});ve.reportTypeError=ve.checkDataTypes=ve.checkDataType=ve.coerceAndCheckDataType=ve.getJSONTypes=ve.getSchemaTypes=ve.DataType=void 0;var c$=ic(),u$=sc(),l$=An(),N=C(),Km=q(),$r;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})($r||(ve.DataType=$r={}));function d$(e){let t=Hm(e.type);if(t.includes("null")){if(e.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===!0&&t.push("null")}return t}ve.getSchemaTypes=d$;function Hm(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(c$.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}ve.getJSONTypes=Hm;function f$(e,t){let{gen:r,data:n,opts:o}=e,i=p$(t,o.coerceTypes),s=t.length>0&&!(i.length===0&&t.length===1&&(0,u$.schemaHasRulesForType)(e,t[0]));if(s){let a=cc(t,n,o.strictNumbers,$r.Wrong);r.if(a,()=>{i.length?m$(e,t,i):uc(e)})}return s}ve.coerceAndCheckDataType=f$;var Wm=new Set(["string","number","integer","boolean","null"]);function p$(e,t){return t?e.filter(r=>Wm.has(r)||t==="array"&&r==="array"):[]}function m$(e,t,r){let{gen:n,data:o,opts:i}=e,s=n.let("dataType",(0,N._)`typeof ${o}`),a=n.let("coerced",(0,N._)`undefined`);i.coerceTypes==="array"&&n.if((0,N._)`${s} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,N._)`${o}[0]`).assign(s,(0,N._)`typeof ${o}`).if(cc(t,o,i.strictNumbers),()=>n.assign(a,o))),n.if((0,N._)`${a} !== undefined`);for(let l of r)(Wm.has(l)||l==="array"&&i.coerceTypes==="array")&&c(l);n.else(),uc(e),n.endIf(),n.if((0,N._)`${a} !== undefined`,()=>{n.assign(o,a),h$(e,a)});function c(l){switch(l){case"string":n.elseIf((0,N._)`${s} == "number" || ${s} == "boolean"`).assign(a,(0,N._)`"" + ${o}`).elseIf((0,N._)`${o} === null`).assign(a,(0,N._)`""`);return;case"number":n.elseIf((0,N._)`${s} == "boolean" || ${o} === null
5
- || (${s} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,N._)`+${o}`);return;case"integer":n.elseIf((0,N._)`${s} === "boolean" || ${o} === null
6
- || (${s} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(a,(0,N._)`+${o}`);return;case"boolean":n.elseIf((0,N._)`${o} === "false" || ${o} === 0 || ${o} === null`).assign(a,!1).elseIf((0,N._)`${o} === "true" || ${o} === 1`).assign(a,!0);return;case"null":n.elseIf((0,N._)`${o} === "" || ${o} === 0 || ${o} === false`),n.assign(a,null);return;case"array":n.elseIf((0,N._)`${s} === "string" || ${s} === "number"
7
- || ${s} === "boolean" || ${o} === null`).assign(a,(0,N._)`[${o}]`)}}}function h$({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,N._)`${t} !== undefined`,()=>e.assign((0,N._)`${t}[${r}]`,n))}function ac(e,t,r,n=$r.Correct){let o=n===$r.Correct?N.operators.EQ:N.operators.NEQ,i;switch(e){case"null":return(0,N._)`${t} ${o} null`;case"array":i=(0,N._)`Array.isArray(${t})`;break;case"object":i=(0,N._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":i=s((0,N._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":i=s();break;default:return(0,N._)`typeof ${t} ${o} ${e}`}return n===$r.Correct?i:(0,N.not)(i);function s(a=N.nil){return(0,N.and)((0,N._)`typeof ${t} == "number"`,a,r?(0,N._)`isFinite(${t})`:N.nil)}}ve.checkDataType=ac;function cc(e,t,r,n){if(e.length===1)return ac(e[0],t,r,n);let o,i=(0,Km.toHash)(e);if(i.array&&i.object){let s=(0,N._)`typeof ${t} != "object"`;o=i.null?s:(0,N._)`!${t} || ${s}`,delete i.null,delete i.array,delete i.object}else o=N.nil;i.number&&delete i.integer;for(let s in i)o=(0,N.and)(o,ac(s,t,r,n));return o}ve.checkDataTypes=cc;var g$={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,N._)`{type: ${e}}`:(0,N._)`{type: ${t}}`};function uc(e){let t=y$(e);(0,l$.reportError)(t,g$)}ve.reportTypeError=uc;function y$(e){let{gen:t,data:r,schema:n}=e,o=(0,Km.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:e}}});var Jm=w(ri=>{"use strict";Object.defineProperty(ri,"__esModule",{value:!0});ri.assignDefaults=void 0;var Sr=C(),_$=q();function w$(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let o in r)Gm(e,o,r[o].default);else t==="array"&&Array.isArray(n)&&n.forEach((o,i)=>Gm(e,i,o.default))}ri.assignDefaults=w$;function Gm(e,t,r){let{gen:n,compositeRule:o,data:i,opts:s}=e;if(r===void 0)return;let a=(0,Sr._)`${i}${(0,Sr.getProperty)(t)}`;if(o){(0,_$.checkStrictMode)(e,`default is ignored for: ${a}`);return}let c=(0,Sr._)`${a} === undefined`;s.useDefaults==="empty"&&(c=(0,Sr._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,Sr._)`${a} = ${(0,Sr.stringify)(r)}`)}});var Ue=w(K=>{"use strict";Object.defineProperty(K,"__esModule",{value:!0});K.validateUnion=K.validateArray=K.usePattern=K.callValidateCode=K.schemaProperties=K.allSchemaProperties=K.noPropertyInData=K.propertyInData=K.isOwnProperty=K.hasPropFunc=K.reportMissingProp=K.checkMissingProp=K.checkReportMissingProp=void 0;var ee=C(),lc=q(),zt=bt(),b$=q();function v$(e,t){let{gen:r,data:n,it:o}=e;r.if(fc(r,n,t,o.opts.ownProperties),()=>{e.setParams({missingProperty:(0,ee._)`${t}`},!0),e.error()})}K.checkReportMissingProp=v$;function x$({gen:e,data:t,it:{opts:r}},n,o){return(0,ee.or)(...n.map(i=>(0,ee.and)(fc(e,t,i,r.ownProperties),(0,ee._)`${o} = ${i}`)))}K.checkMissingProp=x$;function k$(e,t){e.setParams({missingProperty:t},!0),e.error()}K.reportMissingProp=k$;function Ym(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,ee._)`Object.prototype.hasOwnProperty`})}K.hasPropFunc=Ym;function dc(e,t,r){return(0,ee._)`${Ym(e)}.call(${t}, ${r})`}K.isOwnProperty=dc;function $$(e,t,r,n){let o=(0,ee._)`${t}${(0,ee.getProperty)(r)} !== undefined`;return n?(0,ee._)`${o} && ${dc(e,t,r)}`:o}K.propertyInData=$$;function fc(e,t,r,n){let o=(0,ee._)`${t}${(0,ee.getProperty)(r)} === undefined`;return n?(0,ee.or)(o,(0,ee.not)(dc(e,t,r))):o}K.noPropertyInData=fc;function Qm(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}K.allSchemaProperties=Qm;function S$(e,t){return Qm(t).filter(r=>!(0,lc.alwaysValidSchema)(e,t[r]))}K.schemaProperties=S$;function E$({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:i},it:s},a,c,l){let u=l?(0,ee._)`${e}, ${t}, ${n}${o}`:t,d=[[zt.default.instancePath,(0,ee.strConcat)(zt.default.instancePath,i)],[zt.default.parentData,s.parentData],[zt.default.parentDataProperty,s.parentDataProperty],[zt.default.rootData,zt.default.rootData]];s.opts.dynamicRef&&d.push([zt.default.dynamicAnchors,zt.default.dynamicAnchors]);let f=(0,ee._)`${u}, ${r.object(...d)}`;return c!==ee.nil?(0,ee._)`${a}.call(${c}, ${f})`:(0,ee._)`${a}(${f})`}K.callValidateCode=E$;var R$=(0,ee._)`new RegExp`;function T$({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:o}=t.code,i=o(r,n);return e.scopeValue("pattern",{key:i.toString(),ref:i,code:(0,ee._)`${o.code==="new RegExp"?R$:(0,b$.useFunc)(e,o)}(${r}, ${n})`})}K.usePattern=T$;function P$(e){let{gen:t,data:r,keyword:n,it:o}=e,i=t.name("valid");if(o.allErrors){let a=t.let("valid",!0);return s(()=>t.assign(a,!1)),a}return t.var(i,!0),s(()=>t.break()),i;function s(a){let c=t.const("len",(0,ee._)`${r}.length`);t.forRange("i",0,c,l=>{e.subschema({keyword:n,dataProp:l,dataPropType:lc.Type.Num},i),t.if((0,ee.not)(i),a)})}}K.validateArray=P$;function O$(e){let{gen:t,schema:r,keyword:n,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,lc.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let s=t.let("valid",!1),a=t.name("_valid");t.block(()=>r.forEach((c,l)=>{let u=e.subschema({keyword:n,schemaProp:l,compositeRule:!0},a);t.assign(s,(0,ee._)`${s} || ${a}`),e.mergeValidEvaluated(u,a)||t.if((0,ee.not)(s))})),e.result(s,()=>e.reset(),()=>e.error(!0))}K.validateUnion=O$});var th=w(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.validateKeywordUsage=ct.validSchemaType=ct.funcKeywordCode=ct.macroKeywordCode=void 0;var Re=C(),Yt=bt(),z$=Ue(),A$=An();function I$(e,t){let{gen:r,keyword:n,schema:o,parentSchema:i,it:s}=e,a=t.macro.call(s.self,o,i,s),c=eh(r,n,a);s.opts.validateSchema!==!1&&s.self.validateSchema(a,!0);let l=r.name("valid");e.subschema({schema:a,schemaPath:Re.nil,errSchemaPath:`${s.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},l),e.pass(l,()=>e.error(!0))}ct.macroKeywordCode=I$;function N$(e,t){var r;let{gen:n,keyword:o,schema:i,parentSchema:s,$data:a,it:c}=e;D$(c,t);let l=!a&&t.compile?t.compile.call(c.self,i,s,c):t.validate,u=eh(n,o,l),d=n.let("valid");e.block$data(d,f),e.ok((r=t.valid)!==null&&r!==void 0?r:d);function f(){if(t.errors===!1)h(),t.modifying&&Xm(e),_(()=>e.error());else{let b=t.async?p():m();t.modifying&&Xm(e),_(()=>C$(e,b))}}function p(){let b=n.let("ruleErrs",null);return n.try(()=>h((0,Re._)`await `),v=>n.assign(d,!1).if((0,Re._)`${v} instanceof ${c.ValidationError}`,()=>n.assign(b,(0,Re._)`${v}.errors`),()=>n.throw(v))),b}function m(){let b=(0,Re._)`${u}.errors`;return n.assign(b,null),h(Re.nil),b}function h(b=t.async?(0,Re._)`await `:Re.nil){let v=c.opts.passContext?Yt.default.this:Yt.default.self,x=!("compile"in t&&!a||t.schema===!1);n.assign(d,(0,Re._)`${b}${(0,z$.callValidateCode)(e,u,v,x)}`,t.modifying)}function _(b){var v;n.if((0,Re.not)((v=t.valid)!==null&&v!==void 0?v:d),b)}}ct.funcKeywordCode=N$;function Xm(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,Re._)`${n.parentData}[${n.parentDataProperty}]`))}function C$(e,t){let{gen:r}=e;r.if((0,Re._)`Array.isArray(${t})`,()=>{r.assign(Yt.default.vErrors,(0,Re._)`${Yt.default.vErrors} === null ? ${t} : ${Yt.default.vErrors}.concat(${t})`).assign(Yt.default.errors,(0,Re._)`${Yt.default.vErrors}.length`),(0,A$.extendErrors)(e)},()=>e.error())}function D$({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function eh(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Re.stringify)(r)})}function j$(e,t,r=!1){return!t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}ct.validSchemaType=j$;function L$({schema:e,opts:t,self:r,errSchemaPath:n},o,i){if(Array.isArray(o.keyword)?!o.keyword.includes(i):o.keyword!==i)throw new Error("ajv implementation error");let s=o.dependencies;if(s?.some(a=>!Object.prototype.hasOwnProperty.call(e,a)))throw new Error(`parent schema must have dependencies of ${i}: ${s.join(",")}`);if(o.validateSchema&&!o.validateSchema(e[i])){let c=`keyword "${i}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}ct.validateKeywordUsage=L$});var nh=w(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.extendSubschemaMode=At.extendSubschemaData=At.getSubschema=void 0;var ut=C(),rh=q();function M$(e,{keyword:t,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:i,topSchemaRef:s}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let a=e.schema[t];return r===void 0?{schema:a,schemaPath:(0,ut._)`${e.schemaPath}${(0,ut.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:a[r],schemaPath:(0,ut._)`${e.schemaPath}${(0,ut.getProperty)(t)}${(0,ut.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,rh.escapeFragment)(r)}`}}if(n!==void 0){if(o===void 0||i===void 0||s===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:o,topSchemaRef:s,errSchemaPath:i}}throw new Error('either "keyword" or "schema" must be passed')}At.getSubschema=M$;function q$(e,t,{dataProp:r,dataPropType:n,data:o,dataTypes:i,propertyName:s}){if(o!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=t;if(r!==void 0){let{errorPath:l,dataPathArr:u,opts:d}=t,f=a.let("data",(0,ut._)`${t.data}${(0,ut.getProperty)(r)}`,!0);c(f),e.errorPath=(0,ut.str)`${l}${(0,rh.getErrorPath)(r,n,d.jsPropertySyntax)}`,e.parentDataProperty=(0,ut._)`${r}`,e.dataPathArr=[...u,e.parentDataProperty]}if(o!==void 0){let l=o instanceof ut.Name?o:a.let("data",o,!0);c(l),s!==void 0&&(e.propertyName=s)}i&&(e.dataTypes=i);function c(l){e.data=l,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,l]}}At.extendSubschemaData=q$;function B$(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:i}){n!==void 0&&(e.compositeRule=n),o!==void 0&&(e.createErrors=o),i!==void 0&&(e.allErrors=i),e.jtdDiscriminator=t,e.jtdMetadata=r}At.extendSubschemaMode=B$});var pc=w((Tq,oh)=>{"use strict";oh.exports=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var n,o,i;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!e(t[o],r[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(i=Object.keys(t),n=i.length,n!==Object.keys(r).length)return!1;for(o=n;o--!==0;)if(!Object.prototype.hasOwnProperty.call(r,i[o]))return!1;for(o=n;o--!==0;){var s=i[o];if(!e(t[s],r[s]))return!1}return!0}return t!==t&&r!==r}});var sh=w((Pq,ih)=>{"use strict";var It=ih.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};ni(t,n,o,e,"",e)};It.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};It.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};It.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};It.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function ni(e,t,r,n,o,i,s,a,c,l){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,o,i,s,a,c,l);for(var u in n){var d=n[u];if(Array.isArray(d)){if(u in It.arrayKeywords)for(var f=0;f<d.length;f++)ni(e,t,r,d[f],o+"/"+u+"/"+f,i,o,u,n,f)}else if(u in It.propsKeywords){if(d&&typeof d=="object")for(var p in d)ni(e,t,r,d[p],o+"/"+u+"/"+Z$(p),i,o,u,n,p)}else(u in It.keywords||e.allKeys&&!(u in It.skipKeywords))&&ni(e,t,r,d,o+"/"+u,i,o,u,n)}r(n,o,i,s,a,c,l)}}function Z$(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var Nn=w(Ie=>{"use strict";Object.defineProperty(Ie,"__esModule",{value:!0});Ie.getSchemaRefs=Ie.resolveUrl=Ie.normalizeId=Ie._getFullPath=Ie.getFullPath=Ie.inlineRef=void 0;var U$=q(),F$=pc(),V$=sh(),K$=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function H$(e,t=!0){return typeof e=="boolean"?!0:t===!0?!mc(e):t?ah(e)<=t:!1}Ie.inlineRef=H$;var W$=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function mc(e){for(let t in e){if(W$.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(mc)||typeof r=="object"&&mc(r))return!0}return!1}function ah(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!K$.has(r)&&(typeof e[r]=="object"&&(0,U$.eachItem)(e[r],n=>t+=ah(n)),t===1/0))return 1/0}return t}function ch(e,t="",r){r!==!1&&(t=Er(t));let n=e.parse(t);return uh(e,n)}Ie.getFullPath=ch;function uh(e,t){return e.serialize(t).split("#")[0]+"#"}Ie._getFullPath=uh;var G$=/#\/?$/;function Er(e){return e?e.replace(G$,""):""}Ie.normalizeId=Er;function J$(e,t,r){return r=Er(r),e.resolve(t,r)}Ie.resolveUrl=J$;var Y$=/^[a-z_][-a-z0-9._]*$/i;function Q$(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=Er(e[r]||t),i={"":o},s=ch(n,o,!1),a={},c=new Set;return V$(e,{allKeys:!0},(d,f,p,m)=>{if(m===void 0)return;let h=s+f,_=i[m];typeof d[r]=="string"&&(_=b.call(this,d[r])),v.call(this,d.$anchor),v.call(this,d.$dynamicAnchor),i[f]=_;function b(x){let T=this.opts.uriResolver.resolve;if(x=Er(_?T(_,x):x),c.has(x))throw u(x);c.add(x);let z=this.refs[x];return typeof z=="string"&&(z=this.refs[z]),typeof z=="object"?l(d,z.schema,x):x!==Er(h)&&(x[0]==="#"?(l(d,a[x],x),a[x]=d):this.refs[x]=h),x}function v(x){if(typeof x=="string"){if(!Y$.test(x))throw new Error(`invalid anchor "${x}"`);b.call(this,`#${x}`)}}}),a;function l(d,f,p){if(f!==void 0&&!F$(d,f))throw u(p)}function u(d){return new Error(`reference "${d}" resolves to more than one schema`)}}Ie.getSchemaRefs=Q$});var jn=w(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.getData=Nt.KeywordCxt=Nt.validateFunctionCode=void 0;var mh=Um(),lh=In(),gc=sc(),oi=In(),X$=Jm(),Dn=th(),hc=nh(),S=C(),I=bt(),eS=Nn(),vt=q(),Cn=An();function tS(e){if(yh(e)&&(_h(e),gh(e))){oS(e);return}hh(e,()=>(0,mh.topBoolOrEmptySchema)(e))}Nt.validateFunctionCode=tS;function hh({gen:e,validateName:t,schema:r,schemaEnv:n,opts:o},i){o.code.es5?e.func(t,(0,S._)`${I.default.data}, ${I.default.valCxt}`,n.$async,()=>{e.code((0,S._)`"use strict"; ${dh(r,o)}`),nS(e,o),e.code(i)}):e.func(t,(0,S._)`${I.default.data}, ${rS(o)}`,n.$async,()=>e.code(dh(r,o)).code(i))}function rS(e){return(0,S._)`{${I.default.instancePath}="", ${I.default.parentData}, ${I.default.parentDataProperty}, ${I.default.rootData}=${I.default.data}${e.dynamicRef?(0,S._)`, ${I.default.dynamicAnchors}={}`:S.nil}}={}`}function nS(e,t){e.if(I.default.valCxt,()=>{e.var(I.default.instancePath,(0,S._)`${I.default.valCxt}.${I.default.instancePath}`),e.var(I.default.parentData,(0,S._)`${I.default.valCxt}.${I.default.parentData}`),e.var(I.default.parentDataProperty,(0,S._)`${I.default.valCxt}.${I.default.parentDataProperty}`),e.var(I.default.rootData,(0,S._)`${I.default.valCxt}.${I.default.rootData}`),t.dynamicRef&&e.var(I.default.dynamicAnchors,(0,S._)`${I.default.valCxt}.${I.default.dynamicAnchors}`)},()=>{e.var(I.default.instancePath,(0,S._)`""`),e.var(I.default.parentData,(0,S._)`undefined`),e.var(I.default.parentDataProperty,(0,S._)`undefined`),e.var(I.default.rootData,I.default.data),t.dynamicRef&&e.var(I.default.dynamicAnchors,(0,S._)`{}`)})}function oS(e){let{schema:t,opts:r,gen:n}=e;hh(e,()=>{r.$comment&&t.$comment&&bh(e),uS(e),n.let(I.default.vErrors,null),n.let(I.default.errors,0),r.unevaluated&&iS(e),wh(e),fS(e)})}function iS(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,S._)`${r}.evaluated`),t.if((0,S._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,S._)`${e.evaluated}.props`,(0,S._)`undefined`)),t.if((0,S._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,S._)`${e.evaluated}.items`,(0,S._)`undefined`))}function dh(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,S._)`/*# sourceURL=${r} */`:S.nil}function sS(e,t){if(yh(e)&&(_h(e),gh(e))){aS(e,t);return}(0,mh.boolOrEmptySchema)(e,t)}function gh({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let r in e)if(t.RULES.all[r])return!0;return!1}function yh(e){return typeof e.schema!="boolean"}function aS(e,t){let{schema:r,gen:n,opts:o}=e;o.$comment&&r.$comment&&bh(e),lS(e),dS(e);let i=n.const("_errs",I.default.errors);wh(e,i),n.var(t,(0,S._)`${i} === ${I.default.errors}`)}function _h(e){(0,vt.checkUnknownRules)(e),cS(e)}function wh(e,t){if(e.opts.jtd)return fh(e,[],!1,t);let r=(0,lh.getSchemaTypes)(e.schema),n=(0,lh.coerceAndCheckDataType)(e,r);fh(e,r,!n,t)}function cS(e){let{schema:t,errSchemaPath:r,opts:n,self:o}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,vt.schemaHasRulesButRef)(t,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function uS(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,vt.checkStrictMode)(e,"default is ignored in the schema root")}function lS(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,eS.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function dS(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function bh({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:o}){let i=r.$comment;if(o.$comment===!0)e.code((0,S._)`${I.default.self}.logger.log(${i})`);else if(typeof o.$comment=="function"){let s=(0,S.str)`${n}/$comment`,a=e.scopeValue("root",{ref:t.root});e.code((0,S._)`${I.default.self}.opts.$comment(${i}, ${s}, ${a}.schema)`)}}function fS(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:o,opts:i}=e;r.$async?t.if((0,S._)`${I.default.errors} === 0`,()=>t.return(I.default.data),()=>t.throw((0,S._)`new ${o}(${I.default.vErrors})`)):(t.assign((0,S._)`${n}.errors`,I.default.vErrors),i.unevaluated&&pS(e),t.return((0,S._)`${I.default.errors} === 0`))}function pS({gen:e,evaluated:t,props:r,items:n}){r instanceof S.Name&&e.assign((0,S._)`${t}.props`,r),n instanceof S.Name&&e.assign((0,S._)`${t}.items`,n)}function fh(e,t,r,n){let{gen:o,schema:i,data:s,allErrors:a,opts:c,self:l}=e,{RULES:u}=l;if(i.$ref&&(c.ignoreKeywordsWithRef||!(0,vt.schemaHasRulesButRef)(i,u))){o.block(()=>xh(e,"$ref",u.all.$ref.definition));return}c.jtd||mS(e,t),o.block(()=>{for(let f of u.rules)d(f);d(u.post)});function d(f){(0,gc.shouldUseGroup)(i,f)&&(f.type?(o.if((0,oi.checkDataType)(f.type,s,c.strictNumbers)),ph(e,f),t.length===1&&t[0]===f.type&&r&&(o.else(),(0,oi.reportTypeError)(e)),o.endIf()):ph(e,f),a||o.if((0,S._)`${I.default.errors} === ${n||0}`))}}function ph(e,t){let{gen:r,schema:n,opts:{useDefaults:o}}=e;o&&(0,X$.assignDefaults)(e,t.type),r.block(()=>{for(let i of t.rules)(0,gc.shouldUseRule)(n,i)&&xh(e,i.keyword,i.definition,t.type)})}function mS(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(hS(e,t),e.opts.allowUnionTypes||gS(e,t),yS(e,e.dataTypes))}function hS(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{vh(e.dataTypes,r)||yc(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),wS(e,t)}}function gS(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&yc(e,"use allowUnionTypes to allow union type keyword")}function yS(e,t){let r=e.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,gc.shouldUseRule)(e.schema,o)){let{type:i}=o.definition;i.length&&!i.some(s=>_S(t,s))&&yc(e,`missing type "${i.join(",")}" for keyword "${n}"`)}}}function _S(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function vh(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function wS(e,t){let r=[];for(let n of e.dataTypes)vh(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function yc(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,vt.checkStrictMode)(e,t,e.opts.strictTypes)}var ii=class{constructor(t,r,n){if((0,Dn.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,vt.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",kh(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,Dn.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=t.gen.const("_errs",I.default.errors))}result(t,r,n){this.failResult((0,S.not)(t),r,n)}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,S.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(t){if(!this.$data)return this.fail(t);let{schemaCode:r}=this;this.fail((0,S._)`${r} !== undefined && (${(0,S.or)(this.invalid$data(),t)})`)}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n)}_error(t,r){(t?Cn.reportExtraError:Cn.reportError)(this,this.def.error,r)}$dataError(){(0,Cn.reportError)(this,this.def.$dataError||Cn.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Cn.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,n=S.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=S.nil,r=S.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:i,def:s}=this;n.if((0,S.or)((0,S._)`${o} === undefined`,r)),t!==S.nil&&n.assign(t,!0),(i.length||s.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==S.nil&&n.assign(t,!1)),n.else()}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:o,it:i}=this;return(0,S.or)(s(),a());function s(){if(n.length){if(!(r instanceof S.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,S._)`${(0,oi.checkDataTypes)(c,r,i.opts.strictNumbers,oi.DataType.Wrong)}`}return S.nil}function a(){if(o.validateSchema){let c=t.scopeValue("validate$data",{ref:o.validateSchema});return(0,S._)`!${c}(${r})`}return S.nil}}subschema(t,r){let n=(0,hc.getSubschema)(this.it,t);(0,hc.extendSubschemaData)(n,this.it,t),(0,hc.extendSubschemaMode)(n,t);let o={...this.it,...n,items:void 0,props:void 0};return sS(o,r),o}mergeEvaluated(t,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=vt.mergeEvaluated.props(o,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=vt.mergeEvaluated.items(o,t.items,n.items,r)))}mergeValidEvaluated(t,r){let{it:n,gen:o}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return o.if(r,()=>this.mergeEvaluated(t,S.Name)),!0}};Nt.KeywordCxt=ii;function xh(e,t,r,n){let o=new ii(e,r,t);"code"in r?r.code(o,n):o.$data&&r.validate?(0,Dn.funcKeywordCode)(o,r):"macro"in r?(0,Dn.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,Dn.funcKeywordCode)(o,r)}var bS=/^\/(?:[^~]|~0|~1)*$/,vS=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function kh(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let o,i;if(e==="")return I.default.rootData;if(e[0]==="/"){if(!bS.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);o=e,i=I.default.rootData}else{let l=vS.exec(e);if(!l)throw new Error(`Invalid JSON-pointer: ${e}`);let u=+l[1];if(o=l[2],o==="#"){if(u>=t)throw new Error(c("property/index",u));return n[t-u]}if(u>t)throw new Error(c("data",u));if(i=r[t-u],!o)return i}let s=i,a=o.split("/");for(let l of a)l&&(i=(0,S._)`${i}${(0,S.getProperty)((0,vt.unescapeJsonPointer)(l))}`,s=(0,S._)`${s} && ${i}`);return s;function c(l,u){return`Cannot access ${l} ${u} levels up, current level is ${t}`}}Nt.getData=kh});var si=w(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});var _c=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};wc.default=_c});var Ln=w(xc=>{"use strict";Object.defineProperty(xc,"__esModule",{value:!0});var bc=Nn(),vc=class extends Error{constructor(t,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,bc.resolveUrl)(t,r,n),this.missingSchema=(0,bc.normalizeId)((0,bc.getFullPath)(t,this.missingRef))}};xc.default=vc});var ci=w(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.resolveSchema=Fe.getCompilingSchema=Fe.resolveRef=Fe.compileSchema=Fe.SchemaEnv=void 0;var Qe=C(),xS=si(),Qt=bt(),Xe=Nn(),$h=q(),kS=jn(),Rr=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,Xe.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={}}};Fe.SchemaEnv=Rr;function $c(e){let t=Sh.call(this,e);if(t)return t;let r=(0,Xe.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:i}=this.opts,s=new Qe.CodeGen(this.scope,{es5:n,lines:o,ownProperties:i}),a;e.$async&&(a=s.scopeValue("Error",{ref:xS.default,code:(0,Qe._)`require("ajv/dist/runtime/validation_error").default`}));let c=s.scopeName("validate");e.validateName=c;let l={gen:s,allErrors:this.opts.allErrors,data:Qt.default.data,parentData:Qt.default.parentData,parentDataProperty:Qt.default.parentDataProperty,dataNames:[Qt.default.data],dataPathArr:[Qe.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:s.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,Qe.stringify)(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:a,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:Qe.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Qe._)`""`,opts:this.opts,self:this},u;try{this._compilations.add(e),(0,kS.validateFunctionCode)(l),s.optimize(this.opts.code.optimize);let d=s.toString();u=`${s.scopeRefs(Qt.default.scope)}return ${d}`,this.opts.code.process&&(u=this.opts.code.process(u,e));let p=new Function(`${Qt.default.self}`,`${Qt.default.scope}`,u)(this,this.scope.get());if(this.scope.value(c,{ref:p}),p.errors=null,p.schema=e.schema,p.schemaEnv=e,e.$async&&(p.$async=!0),this.opts.code.source===!0&&(p.source={validateName:c,validateCode:d,scopeValues:s._values}),this.opts.unevaluated){let{props:m,items:h}=l;p.evaluated={props:m instanceof Qe.Name?void 0:m,items:h instanceof Qe.Name?void 0:h,dynamicProps:m instanceof Qe.Name,dynamicItems:h instanceof Qe.Name},p.source&&(p.source.evaluated=(0,Qe.stringify)(p.evaluated))}return e.validate=p,e}catch(d){throw delete e.validate,delete e.validateName,u&&this.logger.error("Error compiling schema, function code:",u),d}finally{this._compilations.delete(e)}}Fe.compileSchema=$c;function $S(e,t,r){var n;r=(0,Xe.resolveUrl)(this.opts.uriResolver,t,r);let o=e.refs[r];if(o)return o;let i=RS.call(this,e,r);if(i===void 0){let s=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;s&&(i=new Rr({schema:s,schemaId:a,root:e,baseId:t}))}if(i!==void 0)return e.refs[r]=SS.call(this,i)}Fe.resolveRef=$S;function SS(e){return(0,Xe.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:$c.call(this,e)}function Sh(e){for(let t of this._compilations)if(ES(t,e))return t}Fe.getCompilingSchema=Sh;function ES(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function RS(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||ai.call(this,e,t)}function ai(e,t){let r=this.opts.uriResolver.parse(t),n=(0,Xe._getFullPath)(this.opts.uriResolver,r),o=(0,Xe.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===o)return kc.call(this,r,e);let i=(0,Xe.normalizeId)(n),s=this.refs[i]||this.schemas[i];if(typeof s=="string"){let a=ai.call(this,e,s);return typeof a?.schema!="object"?void 0:kc.call(this,r,a)}if(typeof s?.schema=="object"){if(s.validate||$c.call(this,s),i===(0,Xe.normalizeId)(t)){let{schema:a}=s,{schemaId:c}=this.opts,l=a[c];return l&&(o=(0,Xe.resolveUrl)(this.opts.uriResolver,o,l)),new Rr({schema:a,schemaId:c,root:e,baseId:o})}return kc.call(this,r,s)}}Fe.resolveSchema=ai;var TS=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function kc(e,{baseId:t,schema:r,root:n}){var o;if(((o=e.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let a of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,$h.unescapeFragment)(a)];if(c===void 0)return;r=c;let l=typeof r=="object"&&r[this.opts.schemaId];!TS.has(a)&&l&&(t=(0,Xe.resolveUrl)(this.opts.uriResolver,t,l))}let i;if(typeof r!="boolean"&&r.$ref&&!(0,$h.schemaHasRulesButRef)(r,this.RULES)){let a=(0,Xe.resolveUrl)(this.opts.uriResolver,t,r.$ref);i=ai.call(this,n,a)}let{schemaId:s}=this.opts;if(i=i||new Rr({schema:r,schemaId:s,root:n,baseId:t}),i.schema!==i.root.schema)return i}});var Eh=w((Cq,PS)=>{PS.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var Rc=w((Dq,Ah)=>{"use strict";var OS=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Th=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u),Sc=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),Ph=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),zS=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function Ec(e){let t="",r=0,n=0;for(n=0;n<e.length;n++)if(r=e[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n];break}for(n+=1;n<e.length;n++){if(r=e[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n]}return t}var AS=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Rh(e){return e.length=0,!0}function IS(e,t,r){if(e.length){let n=Ec(e);if(n!=="")t.push(n);else return r.error=!0,!1;e.length=0}return!0}function NS(e){let t=0,r={error:!1,address:"",zone:""},n=[],o=[],i=!1,s=!1,a=IS;for(let c=0;c<e.length;c++){let l=e[c];if(!(l==="["||l==="]"))if(l===":"){if(i===!0&&(s=!0),!a(o,n,r))break;if(++t>7){r.error=!0;break}c>0&&e[c-1]===":"&&(i=!0),n.push(":");continue}else if(l==="%"){if(!a(o,n,r))break;a=Rh}else{o.push(l);continue}}return o.length&&(a===Rh?r.zone=o.join(""):s?n.push(o.join("")):n.push(Ec(o))),r.address=n.join(""),r}function Oh(e){if(CS(e,":")<2)return{host:e,isIPV6:!1};let t=NS(e);if(t.error)return{host:e,isIPV6:!1};{let r=t.address,n=t.address;return t.zone&&(r+="%"+t.zone,n+="%25"+t.zone),{host:r,isIPV6:!0,escapedHost:n}}}function CS(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}function DS(e){let t=e,r=[],n=-1,o=0;for(;o=t.length;){if(o===1){if(t===".")break;if(t==="/"){r.push("/");break}else{r.push(t);break}}else if(o===2){if(t[0]==="."){if(t[1]===".")break;if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&(t[1]==="."||t[1]==="/")){r.push("/");break}}else if(o===3&&t==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(t[0]==="."){if(t[1]==="."){if(t[2]==="/"){t=t.slice(3);continue}}else if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&t[1]==="."){if(t[2]==="/"){t=t.slice(2);continue}else if(t[2]==="."&&t[3]==="/"){t=t.slice(3),r.length!==0&&r.pop();continue}}if((n=t.indexOf("/",1))===-1){r.push(t);break}else r.push(t.slice(0,n)),t=t.slice(n)}return r.join("")}var jS={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},LS=/[@/?#:]/g,MS=/[@/?#]/g;function zh(e,t){let r=t?MS:LS;return r.lastIndex=0,e.replace(r,n=>jS[n])}function qS(e,t=!1){if(e.indexOf("%")===-1)return e;let r="";for(let n=0;n<e.length;n++){if(e[n]==="%"&&n+2<e.length){let o=e.slice(n+1,n+3);if(Sc(o)){let i=o.toUpperCase(),s=String.fromCharCode(parseInt(i,16));t&&Ph(s)?r+=s:r+="%"+i,n+=2;continue}}r+=e[n]}return r}function BS(e){let t="";for(let r=0;r<e.length;r++){if(e[r]==="%"&&r+2<e.length){let n=e.slice(r+1,r+3);if(Sc(n)){let o=n.toUpperCase(),i=String.fromCharCode(parseInt(o,16));i!=="."&&Ph(i)?t+=i:t+="%"+o,r+=2;continue}}zS(e[r])?t+=e[r]:t+=escape(e[r])}return t}function ZS(e){let t="";for(let r=0;r<e.length;r++){if(e[r]==="%"&&r+2<e.length){let n=e.slice(r+1,r+3);if(Sc(n)){t+="%"+n.toUpperCase(),r+=2;continue}}t+=escape(e[r])}return t}function US(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!Th(r)){let n=Oh(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=zh(r,!1)}t.push(r)}return(typeof e.port=="number"||typeof e.port=="string")&&(t.push(":"),t.push(String(e.port))),t.length?t.join(""):void 0}Ah.exports={nonSimpleDomain:AS,recomposeAuthority:US,reescapeHostDelimiters:zh,normalizePercentEncoding:qS,normalizePathEncoding:BS,escapePreservingEscapes:ZS,removeDotSegments:DS,isIPv4:Th,isUUID:OS,normalizeIPv6:Oh,stringArrayToHexStripped:Ec}});var jh=w((jq,Dh)=>{"use strict";var{isUUID:FS}=Rc(),VS=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,KS=["http","https","ws","wss","urn","urn:uuid"];function HS(e){return KS.indexOf(e)!==-1}function Tc(e){return e.secure===!0?!0:e.secure===!1?!1:e.scheme?e.scheme.length===3&&(e.scheme[0]==="w"||e.scheme[0]==="W")&&(e.scheme[1]==="s"||e.scheme[1]==="S")&&(e.scheme[2]==="s"||e.scheme[2]==="S"):!1}function Ih(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function Nh(e){let t=String(e.scheme).toLowerCase()==="https";return(e.port===(t?443:80)||e.port==="")&&(e.port=void 0),e.path||(e.path="/"),e}function WS(e){return e.secure=Tc(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function GS(e){if((e.port===(Tc(e)?443:80)||e.port==="")&&(e.port=void 0),typeof e.secure=="boolean"&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function JS(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(VS);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let o=`${n}:${t.nid||e.nid}`,i=Pc(o);e.path=void 0,i&&(e=i.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function YS(e,t){if(e.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),o=`${r}:${t.nid||n}`,i=Pc(o);i&&(e=i.serialize(e,t));let s=e,a=e.nss;return s.path=`${n||t.nid}:${a}`,t.skipEscape=!0,s}function QS(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!FS(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function XS(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var Ch={scheme:"http",domainHost:!0,parse:Ih,serialize:Nh},eE={scheme:"https",domainHost:Ch.domainHost,parse:Ih,serialize:Nh},ui={scheme:"ws",domainHost:!0,parse:WS,serialize:GS},tE={scheme:"wss",domainHost:ui.domainHost,parse:ui.parse,serialize:ui.serialize},rE={scheme:"urn",parse:JS,serialize:YS,skipNormalize:!0},nE={scheme:"urn:uuid",parse:QS,serialize:XS,skipNormalize:!0},li={http:Ch,https:eE,ws:ui,wss:tE,urn:rE,"urn:uuid":nE};Object.setPrototypeOf(li,null);function Pc(e){return e&&(li[e]||li[e.toLowerCase()])||void 0}Dh.exports={wsIsSecure:Tc,SCHEMES:li,isValidSchemeName:HS,getSchemeHandler:Pc}});var Uh=w((Lq,di)=>{"use strict";var{normalizeIPv6:oE,removeDotSegments:Mn,recomposeAuthority:iE,normalizePercentEncoding:sE,normalizePathEncoding:aE,escapePreservingEscapes:cE,reescapeHostDelimiters:uE,isIPv4:lE,nonSimpleDomain:dE}=Rc(),{SCHEMES:fE,getSchemeHandler:Mh}=jh();function pE(e,t){return typeof e=="string"?e=_E(e,t):typeof e=="object"&&(e=Tr(Xt(e,t),t)),e}function mE(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=qh(Tr(e,n),Tr(t,n),n,!0);return n.skipEscape=!0,Xt(o,n)}function qh(e,t,r,n){let o={};return n||(e=Tr(Xt(e,r),r),t=Tr(Xt(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(o.scheme=t.scheme,o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=Mn(t.path||""),o.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=Mn(t.path||""),o.query=t.query):(t.path?(t.path[0]==="/"?o.path=Mn(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?o.path="/"+t.path:e.path?o.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:o.path=t.path,o.path=Mn(o.path)),o.query=t.query):(o.path=e.path,t.query!==void 0?o.query=t.query:o.query=e.query),o.userinfo=e.userinfo,o.host=e.host,o.port=e.port),o.scheme=e.scheme),o.fragment=t.fragment,o}function hE(e,t,r){let n=Lh(e,r),o=Lh(t,r);return n!==void 0&&o!==void 0&&n.toLowerCase()===o.toLowerCase()}function Xt(e,t){let r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},n=Object.assign({},t),o=[],i=Mh(n.scheme||r.scheme);i&&i.serialize&&i.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=sE(r.path):(r.path=cE(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&o.push(r.scheme,":");let s=iE(r);if(s!==void 0&&(n.reference!=="suffix"&&o.push("//"),o.push(s),r.path&&r.path[0]!=="/"&&o.push("/")),r.path!==void 0){let a=r.path;!n.absolutePath&&(!i||!i.absolutePath)&&(a=Mn(a)),s===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),o.push(a)}return r.query!==void 0&&o.push("?",r.query),r.fragment!==void 0&&o.push("#",r.fragment),o.join("")}var gE=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function yE(e,t){if(t[2]!==void 0&&e.path&&e.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof e.port=="number"&&(e.port<0||e.port>65535))return"URI port is malformed."}function Bh(e,t){let r=Object.assign({},t),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},o=!1,i=!1;r.reference==="suffix"&&(r.scheme?e=r.scheme+":"+e:e="//"+e);let s=e.match(gE);if(s){n.scheme=s[1],n.userinfo=s[3],n.host=s[4],n.port=parseInt(s[5],10),n.path=s[6]||"",n.query=s[7],n.fragment=s[8],isNaN(n.port)&&(n.port=s[5]);let a=yE(n,s);if(a!==void 0&&(n.error=n.error||a,o=!0),n.host)if(lE(n.host)===!1){let u=oE(n.host);n.host=u.host.toLowerCase(),i=u.isIPV6}else i=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let c=Mh(r.scheme||n.scheme);if(!r.unicodeSupport&&(!c||!c.unicodeSupport)&&n.host&&(r.domainHost||c&&c.domainHost)&&i===!1&&dE(n.host))try{n.host=new URL("http://"+n.host).hostname}catch(l){n.error=n.error||"Host's domain name can not be converted to ASCII: "+l}if((!c||c&&!c.skipNormalize)&&(e.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=uE(unescape(n.host),i))),n.path&&(n.path=aE(n.path)),n.fragment))try{n.fragment=encodeURI(decodeURIComponent(n.fragment))}catch{n.error=n.error||"URI malformed"}c&&c.parse&&c.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return{parsed:n,malformedAuthorityOrPort:o}}function Tr(e,t){return Bh(e,t).parsed}function _E(e,t){return Zh(e,t).normalized}function Zh(e,t){let{parsed:r,malformedAuthorityOrPort:n}=Bh(e,t);return{normalized:n?e:Xt(r,t),malformedAuthorityOrPort:n}}function Lh(e,t){if(typeof e=="string"){let{normalized:r,malformedAuthorityOrPort:n}=Zh(e,t);return n?void 0:r}if(typeof e=="object")return Xt(e,t)}var Oc={SCHEMES:fE,normalize:pE,resolve:mE,resolveComponent:qh,equal:hE,serialize:Xt,parse:Tr};di.exports=Oc;di.exports.default=Oc;di.exports.fastUri=Oc});var Vh=w(zc=>{"use strict";Object.defineProperty(zc,"__esModule",{value:!0});var Fh=Uh();Fh.code='require("ajv/dist/runtime/uri").default';zc.default=Fh});var Xh=w(he=>{"use strict";Object.defineProperty(he,"__esModule",{value:!0});he.CodeGen=he.Name=he.nil=he.stringify=he.str=he._=he.KeywordCxt=void 0;var wE=jn();Object.defineProperty(he,"KeywordCxt",{enumerable:!0,get:function(){return wE.KeywordCxt}});var Pr=C();Object.defineProperty(he,"_",{enumerable:!0,get:function(){return Pr._}});Object.defineProperty(he,"str",{enumerable:!0,get:function(){return Pr.str}});Object.defineProperty(he,"stringify",{enumerable:!0,get:function(){return Pr.stringify}});Object.defineProperty(he,"nil",{enumerable:!0,get:function(){return Pr.nil}});Object.defineProperty(he,"Name",{enumerable:!0,get:function(){return Pr.Name}});Object.defineProperty(he,"CodeGen",{enumerable:!0,get:function(){return Pr.CodeGen}});var bE=si(),Jh=Ln(),vE=ic(),qn=ci(),xE=C(),Bn=Nn(),fi=In(),Ic=q(),Kh=Eh(),kE=Vh(),Yh=(e,t)=>new RegExp(e,t);Yh.code="new RegExp";var $E=["removeAdditional","useDefaults","coerceTypes"],SE=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),EE={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},RE={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Hh=200;function TE(e){var t,r,n,o,i,s,a,c,l,u,d,f,p,m,h,_,b,v,x,T,z,$e,Le,fr,gs;let en=e.strict,ys=(t=e.code)===null||t===void 0?void 0:t.optimize,Ql=ys===!0||ys===void 0?1:ys||0,Xl=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Yh,uv=(o=e.uriResolver)!==null&&o!==void 0?o:kE.default;return{strictSchema:(s=(i=e.strictSchema)!==null&&i!==void 0?i:en)!==null&&s!==void 0?s:!0,strictNumbers:(c=(a=e.strictNumbers)!==null&&a!==void 0?a:en)!==null&&c!==void 0?c:!0,strictTypes:(u=(l=e.strictTypes)!==null&&l!==void 0?l:en)!==null&&u!==void 0?u:"log",strictTuples:(f=(d=e.strictTuples)!==null&&d!==void 0?d:en)!==null&&f!==void 0?f:"log",strictRequired:(m=(p=e.strictRequired)!==null&&p!==void 0?p:en)!==null&&m!==void 0?m:!1,code:e.code?{...e.code,optimize:Ql,regExp:Xl}:{optimize:Ql,regExp:Xl},loopRequired:(h=e.loopRequired)!==null&&h!==void 0?h:Hh,loopEnum:(_=e.loopEnum)!==null&&_!==void 0?_:Hh,meta:(b=e.meta)!==null&&b!==void 0?b:!0,messages:(v=e.messages)!==null&&v!==void 0?v:!0,inlineRefs:(x=e.inlineRefs)!==null&&x!==void 0?x:!0,schemaId:(T=e.schemaId)!==null&&T!==void 0?T:"$id",addUsedSchema:(z=e.addUsedSchema)!==null&&z!==void 0?z:!0,validateSchema:($e=e.validateSchema)!==null&&$e!==void 0?$e:!0,validateFormats:(Le=e.validateFormats)!==null&&Le!==void 0?Le:!0,unicodeRegExp:(fr=e.unicodeRegExp)!==null&&fr!==void 0?fr:!0,int32range:(gs=e.int32range)!==null&&gs!==void 0?gs:!0,uriResolver:uv}}var Zn=class{constructor(t={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...TE(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new xE.ValueScope({scope:{},prefixes:SE,es5:r,lines:n}),this.logger=NE(t.logger);let o=t.validateFormats;t.validateFormats=!1,this.RULES=(0,vE.getRules)(),Wh.call(this,EE,t,"NOT SUPPORTED"),Wh.call(this,RE,t,"DEPRECATED","warn"),this._metaOpts=AE.call(this),t.formats&&OE.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&zE.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),PE.call(this),t.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,o=Kh;n==="id"&&(o={...Kh},o.id=o.$id,delete o.$id),r&&t&&this.addMetaSchema(o,o[n],!1)}defaultMeta(){let{meta:t,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[r]||t:void 0}validate(t,r){let n;if(typeof t=="string"){if(n=this.getSchema(t),!n)throw new Error(`no schema with key or ref "${t}"`)}else n=this.compile(t);let o=n(r);return"$async"in n||(this.errors=n.errors),o}compile(t,r){let n=this._addSchema(t,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(t,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return o.call(this,t,r);async function o(u,d){await i.call(this,u.$schema);let f=this._addSchema(u,d);return f.validate||s.call(this,f)}async function i(u){u&&!this.getSchema(u)&&await o.call(this,{$ref:u},!0)}async function s(u){try{return this._compileSchemaEnv(u)}catch(d){if(!(d instanceof Jh.default))throw d;return a.call(this,d),await c.call(this,d.missingSchema),s.call(this,u)}}function a({missingSchema:u,missingRef:d}){if(this.refs[u])throw new Error(`AnySchema ${u} is loaded but ${d} cannot be resolved`)}async function c(u){let d=await l.call(this,u);this.refs[u]||await i.call(this,d.$schema),this.refs[u]||this.addSchema(d,u,r)}async function l(u){let d=this._loading[u];if(d)return d;try{return await(this._loading[u]=n(u))}finally{delete this._loading[u]}}}addSchema(t,r,n,o=this.opts.validateSchema){if(Array.isArray(t)){for(let s of t)this.addSchema(s,void 0,n,o);return this}let i;if(typeof t=="object"){let{schemaId:s}=this.opts;if(i=t[s],i!==void 0&&typeof i!="string")throw new Error(`schema ${s} must be string`)}return r=(0,Bn.normalizeId)(r||i),this._checkUnique(r),this.schemas[r]=this._addSchema(t,n,r,o,!0),this}addMetaSchema(t,r,n=this.opts.validateSchema){return this.addSchema(t,r,!0,n),this}validateSchema(t,r){if(typeof t=="boolean")return!0;let n;if(n=t.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let o=this.validate(n,t);if(!o&&r){let i="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(i);else throw new Error(i)}return o}getSchema(t){let r;for(;typeof(r=Gh.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,o=new qn.SchemaEnv({schema:{},schemaId:n});if(r=qn.resolveSchema.call(this,o,t),!r)return;this.refs[t]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(t){if(t instanceof RegExp)return this._removeAllSchemas(this.schemas,t),this._removeAllSchemas(this.refs,t),this;switch(typeof t){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=Gh.call(this,t);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[t],delete this.refs[t],this}case"object":{let r=t;this._cache.delete(r);let n=t[this.opts.schemaId];return n&&(n=(0,Bn.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let r of t)this.addKeyword(r);return this}addKeyword(t,r){let n;if(typeof t=="string")n=t,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof t=="object"&&r===void 0){if(r=t,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(DE.call(this,n,r),!r)return(0,Ic.eachItem)(n,i=>Ac.call(this,i)),this;LE.call(this,r);let o={...r,type:(0,fi.getJSONTypes)(r.type),schemaType:(0,fi.getJSONTypes)(r.schemaType)};return(0,Ic.eachItem)(n,o.type.length===0?i=>Ac.call(this,i,o):i=>o.type.forEach(s=>Ac.call(this,i,o,s))),this}getKeyword(t){let r=this.RULES.all[t];return typeof r=="object"?r.definition:!!r}removeKeyword(t){let{RULES:r}=this;delete r.keywords[t],delete r.all[t];for(let n of r.rules){let o=n.rules.findIndex(i=>i.keyword===t);o>=0&&n.rules.splice(o,1)}return this}addFormat(t,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[t]=r,this}errorsText(t=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!t||t.length===0?"No errors":t.map(o=>`${n}${o.instancePath} ${o.message}`).reduce((o,i)=>o+r+i)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let o of r){let i=o.split("/").slice(1),s=t;for(let a of i)s=s[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:l}=c.definition,u=s[a];l&&u&&(s[a]=Qh(u))}}return t}_removeAllSchemas(t,r){for(let n in t){let o=t[n];(!r||r.test(n))&&(typeof o=="string"?delete t[n]:o&&!o.meta&&(this._cache.delete(o.schema),delete t[n]))}}_addSchema(t,r,n,o=this.opts.validateSchema,i=this.opts.addUsedSchema){let s,{schemaId:a}=this.opts;if(typeof t=="object")s=t[a];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof t!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(t);if(c!==void 0)return c;n=(0,Bn.normalizeId)(s||n);let l=Bn.getSchemaRefs.call(this,t,n);return c=new qn.SchemaEnv({schema:t,schemaId:a,meta:r,baseId:n,localRefs:l}),this._cache.set(c.schema,c),i&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),o&&this.validateSchema(t,!0),c}_checkUnique(t){if(this.schemas[t]||this.refs[t])throw new Error(`schema with key or id "${t}" already exists`)}_compileSchemaEnv(t){if(t.meta?this._compileMetaSchema(t):qn.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let r=this.opts;this.opts=this._metaOpts;try{qn.compileSchema.call(this,t)}finally{this.opts=r}}};Zn.ValidationError=bE.default;Zn.MissingRefError=Jh.default;he.default=Zn;function Wh(e,t,r,n="error"){for(let o in e){let i=o;i in t&&this.logger[n](`${r}: option ${o}. ${e[i]}`)}}function Gh(e){return e=(0,Bn.normalizeId)(e),this.schemas[e]||this.refs[e]}function PE(){let e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t)}function OE(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function zE(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r)}}function AE(){let e={...this.opts};for(let t of $E)delete e[t];return e}var IE={log(){},warn(){},error(){}};function NE(e){if(e===!1)return IE;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}var CE=/^[a-z_$][a-z0-9_$:-]*$/i;function DE(e,t){let{RULES:r}=this;if((0,Ic.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!CE.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function Ac(e,t,r){var n;let o=t?.post;if(r&&o)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:i}=this,s=o?i.post:i.rules.find(({type:c})=>c===r);if(s||(s={type:r,rules:[]},i.rules.push(s)),i.keywords[e]=!0,!t)return;let a={keyword:e,definition:{...t,type:(0,fi.getJSONTypes)(t.type),schemaType:(0,fi.getJSONTypes)(t.schemaType)}};t.before?jE.call(this,s,a,t.before):s.rules.push(a),i.all[e]=a,(n=t.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function jE(e,t,r){let n=e.rules.findIndex(o=>o.keyword===r);n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function LE(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=Qh(t)),e.validateSchema=this.compile(t,!0))}var ME={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Qh(e){return{anyOf:[e,ME]}}});var eg=w(Nc=>{"use strict";Object.defineProperty(Nc,"__esModule",{value:!0});var qE={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Nc.default=qE});var og=w(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.callRef=er.getValidate=void 0;var BE=Ln(),tg=Ue(),Ne=C(),Or=bt(),rg=ci(),pi=q(),ZE={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:o,schemaEnv:i,validateName:s,opts:a,self:c}=n,{root:l}=i;if((r==="#"||r==="#/")&&o===l.baseId)return d();let u=rg.resolveRef.call(c,l,o,r);if(u===void 0)throw new BE.default(n.opts.uriResolver,o,r);if(u instanceof rg.SchemaEnv)return f(u);return p(u);function d(){if(i===l)return mi(e,s,i,i.$async);let m=t.scopeValue("root",{ref:l});return mi(e,(0,Ne._)`${m}.validate`,l,l.$async)}function f(m){let h=ng(e,m);mi(e,h,m,m.$async)}function p(m){let h=t.scopeValue("schema",a.code.source===!0?{ref:m,code:(0,Ne.stringify)(m)}:{ref:m}),_=t.name("valid"),b=e.subschema({schema:m,dataTypes:[],schemaPath:Ne.nil,topSchemaRef:h,errSchemaPath:r},_);e.mergeEvaluated(b),e.ok(_)}}};function ng(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,Ne._)`${r.scopeValue("wrapper",{ref:t})}.validate`}er.getValidate=ng;function mi(e,t,r,n){let{gen:o,it:i}=e,{allErrors:s,schemaEnv:a,opts:c}=i,l=c.passContext?Or.default.this:Ne.nil;n?u():d();function u(){if(!a.$async)throw new Error("async schema referenced by sync schema");let m=o.let("valid");o.try(()=>{o.code((0,Ne._)`await ${(0,tg.callValidateCode)(e,t,l)}`),p(t),s||o.assign(m,!0)},h=>{o.if((0,Ne._)`!(${h} instanceof ${i.ValidationError})`,()=>o.throw(h)),f(h),s||o.assign(m,!1)}),e.ok(m)}function d(){e.result((0,tg.callValidateCode)(e,t,l),()=>p(t),()=>f(t))}function f(m){let h=(0,Ne._)`${m}.errors`;o.assign(Or.default.vErrors,(0,Ne._)`${Or.default.vErrors} === null ? ${h} : ${Or.default.vErrors}.concat(${h})`),o.assign(Or.default.errors,(0,Ne._)`${Or.default.vErrors}.length`)}function p(m){var h;if(!i.opts.unevaluated)return;let _=(h=r?.validate)===null||h===void 0?void 0:h.evaluated;if(i.props!==!0)if(_&&!_.dynamicProps)_.props!==void 0&&(i.props=pi.mergeEvaluated.props(o,_.props,i.props));else{let b=o.var("props",(0,Ne._)`${m}.evaluated.props`);i.props=pi.mergeEvaluated.props(o,b,i.props,Ne.Name)}if(i.items!==!0)if(_&&!_.dynamicItems)_.items!==void 0&&(i.items=pi.mergeEvaluated.items(o,_.items,i.items));else{let b=o.var("items",(0,Ne._)`${m}.evaluated.items`);i.items=pi.mergeEvaluated.items(o,b,i.items,Ne.Name)}}}er.callRef=mi;er.default=ZE});var ig=w(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});var UE=eg(),FE=og(),VE=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",UE.default,FE.default];Cc.default=VE});var sg=w(Dc=>{"use strict";Object.defineProperty(Dc,"__esModule",{value:!0});var hi=C(),Ct=hi.operators,gi={maximum:{okStr:"<=",ok:Ct.LTE,fail:Ct.GT},minimum:{okStr:">=",ok:Ct.GTE,fail:Ct.LT},exclusiveMaximum:{okStr:"<",ok:Ct.LT,fail:Ct.GTE},exclusiveMinimum:{okStr:">",ok:Ct.GT,fail:Ct.LTE}},KE={message:({keyword:e,schemaCode:t})=>(0,hi.str)`must be ${gi[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,hi._)`{comparison: ${gi[e].okStr}, limit: ${t}}`},HE={keyword:Object.keys(gi),type:"number",schemaType:"number",$data:!0,error:KE,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,hi._)`${r} ${gi[t].fail} ${n} || isNaN(${r})`)}};Dc.default=HE});var ag=w(jc=>{"use strict";Object.defineProperty(jc,"__esModule",{value:!0});var Un=C(),WE={message:({schemaCode:e})=>(0,Un.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,Un._)`{multipleOf: ${e}}`},GE={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:WE,code(e){let{gen:t,data:r,schemaCode:n,it:o}=e,i=o.opts.multipleOfPrecision,s=t.let("res"),a=i?(0,Un._)`Math.abs(Math.round(${s}) - ${s}) > 1e-${i}`:(0,Un._)`${s} !== parseInt(${s})`;e.fail$data((0,Un._)`(${n} === 0 || (${s} = ${r}/${n}, ${a}))`)}};jc.default=GE});var ug=w(Lc=>{"use strict";Object.defineProperty(Lc,"__esModule",{value:!0});function cg(e){let t=e.length,r=0,n=0,o;for(;n<t;)r++,o=e.charCodeAt(n++),o>=55296&&o<=56319&&n<t&&(o=e.charCodeAt(n),(o&64512)===56320&&n++);return r}Lc.default=cg;cg.code='require("ajv/dist/runtime/ucs2length").default'});var lg=w(Mc=>{"use strict";Object.defineProperty(Mc,"__esModule",{value:!0});var tr=C(),JE=q(),YE=ug(),QE={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return(0,tr.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,tr._)`{limit: ${e}}`},XE={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:QE,code(e){let{keyword:t,data:r,schemaCode:n,it:o}=e,i=t==="maxLength"?tr.operators.GT:tr.operators.LT,s=o.opts.unicode===!1?(0,tr._)`${r}.length`:(0,tr._)`${(0,JE.useFunc)(e.gen,YE.default)}(${r})`;e.fail$data((0,tr._)`${s} ${i} ${n}`)}};Mc.default=XE});var dg=w(qc=>{"use strict";Object.defineProperty(qc,"__esModule",{value:!0});var eR=Ue(),tR=q(),zr=C(),rR={message:({schemaCode:e})=>(0,zr.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,zr._)`{pattern: ${e}}`},nR={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:rR,code(e){let{gen:t,data:r,$data:n,schema:o,schemaCode:i,it:s}=e,a=s.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=s.opts.code,l=c.code==="new RegExp"?(0,zr._)`new RegExp`:(0,tR.useFunc)(t,c),u=t.let("valid");t.try(()=>t.assign(u,(0,zr._)`${l}(${i}, ${a}).test(${r})`),()=>t.assign(u,!1)),e.fail$data((0,zr._)`!${u}`)}else{let c=(0,eR.usePattern)(e,o);e.fail$data((0,zr._)`!${c}.test(${r})`)}}};qc.default=nR});var fg=w(Bc=>{"use strict";Object.defineProperty(Bc,"__esModule",{value:!0});var Fn=C(),oR={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,Fn.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,Fn._)`{limit: ${e}}`},iR={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:oR,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxProperties"?Fn.operators.GT:Fn.operators.LT;e.fail$data((0,Fn._)`Object.keys(${r}).length ${o} ${n}`)}};Bc.default=iR});var pg=w(Zc=>{"use strict";Object.defineProperty(Zc,"__esModule",{value:!0});var Vn=Ue(),Kn=C(),sR=q(),aR={message:({params:{missingProperty:e}})=>(0,Kn.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,Kn._)`{missingProperty: ${e}}`},cR={keyword:"required",type:"object",schemaType:"array",$data:!0,error:aR,code(e){let{gen:t,schema:r,schemaCode:n,data:o,$data:i,it:s}=e,{opts:a}=s;if(!i&&r.length===0)return;let c=r.length>=a.loopRequired;if(s.allErrors?l():u(),a.strictRequired){let p=e.parentSchema.properties,{definedProperties:m}=e.it;for(let h of r)if(p?.[h]===void 0&&!m.has(h)){let _=s.schemaEnv.baseId+s.errSchemaPath,b=`required property "${h}" is not defined at "${_}" (strictRequired)`;(0,sR.checkStrictMode)(s,b,s.opts.strictRequired)}}function l(){if(c||i)e.block$data(Kn.nil,d);else for(let p of r)(0,Vn.checkReportMissingProp)(e,p)}function u(){let p=t.let("missing");if(c||i){let m=t.let("valid",!0);e.block$data(m,()=>f(p,m)),e.ok(m)}else t.if((0,Vn.checkMissingProp)(e,r,p)),(0,Vn.reportMissingProp)(e,p),t.else()}function d(){t.forOf("prop",n,p=>{e.setParams({missingProperty:p}),t.if((0,Vn.noPropertyInData)(t,o,p,a.ownProperties),()=>e.error())})}function f(p,m){e.setParams({missingProperty:p}),t.forOf(p,n,()=>{t.assign(m,(0,Vn.propertyInData)(t,o,p,a.ownProperties)),t.if((0,Kn.not)(m),()=>{e.error(),t.break()})},Kn.nil)}}};Zc.default=cR});var mg=w(Uc=>{"use strict";Object.defineProperty(Uc,"__esModule",{value:!0});var Hn=C(),uR={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,Hn.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,Hn._)`{limit: ${e}}`},lR={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:uR,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxItems"?Hn.operators.GT:Hn.operators.LT;e.fail$data((0,Hn._)`${r}.length ${o} ${n}`)}};Uc.default=lR});var yi=w(Fc=>{"use strict";Object.defineProperty(Fc,"__esModule",{value:!0});var hg=pc();hg.code='require("ajv/dist/runtime/equal").default';Fc.default=hg});var gg=w(Kc=>{"use strict";Object.defineProperty(Kc,"__esModule",{value:!0});var Vc=In(),ge=C(),dR=q(),fR=yi(),pR={message:({params:{i:e,j:t}})=>(0,ge.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,ge._)`{i: ${e}, j: ${t}}`},mR={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:pR,code(e){let{gen:t,data:r,$data:n,schema:o,parentSchema:i,schemaCode:s,it:a}=e;if(!n&&!o)return;let c=t.let("valid"),l=i.items?(0,Vc.getSchemaTypes)(i.items):[];e.block$data(c,u,(0,ge._)`${s} === false`),e.ok(c);function u(){let m=t.let("i",(0,ge._)`${r}.length`),h=t.let("j");e.setParams({i:m,j:h}),t.assign(c,!0),t.if((0,ge._)`${m} > 1`,()=>(d()?f:p)(m,h))}function d(){return l.length>0&&!l.some(m=>m==="object"||m==="array")}function f(m,h){let _=t.name("item"),b=(0,Vc.checkDataTypes)(l,_,a.opts.strictNumbers,Vc.DataType.Wrong),v=t.const("indices",(0,ge._)`{}`);t.for((0,ge._)`;${m}--;`,()=>{t.let(_,(0,ge._)`${r}[${m}]`),t.if(b,(0,ge._)`continue`),l.length>1&&t.if((0,ge._)`typeof ${_} == "string"`,(0,ge._)`${_} += "_"`),t.if((0,ge._)`typeof ${v}[${_}] == "number"`,()=>{t.assign(h,(0,ge._)`${v}[${_}]`),e.error(),t.assign(c,!1).break()}).code((0,ge._)`${v}[${_}] = ${m}`)})}function p(m,h){let _=(0,dR.useFunc)(t,fR.default),b=t.name("outer");t.label(b).for((0,ge._)`;${m}--;`,()=>t.for((0,ge._)`${h} = ${m}; ${h}--;`,()=>t.if((0,ge._)`${_}(${r}[${m}], ${r}[${h}])`,()=>{e.error(),t.assign(c,!1).break(b)})))}}};Kc.default=mR});var yg=w(Wc=>{"use strict";Object.defineProperty(Wc,"__esModule",{value:!0});var Hc=C(),hR=q(),gR=yi(),yR={message:"must be equal to constant",params:({schemaCode:e})=>(0,Hc._)`{allowedValue: ${e}}`},_R={keyword:"const",$data:!0,error:yR,code(e){let{gen:t,data:r,$data:n,schemaCode:o,schema:i}=e;n||i&&typeof i=="object"?e.fail$data((0,Hc._)`!${(0,hR.useFunc)(t,gR.default)}(${r}, ${o})`):e.fail((0,Hc._)`${i} !== ${r}`)}};Wc.default=_R});var _g=w(Gc=>{"use strict";Object.defineProperty(Gc,"__esModule",{value:!0});var Wn=C(),wR=q(),bR=yi(),vR={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,Wn._)`{allowedValues: ${e}}`},xR={keyword:"enum",schemaType:"array",$data:!0,error:vR,code(e){let{gen:t,data:r,$data:n,schema:o,schemaCode:i,it:s}=e;if(!n&&o.length===0)throw new Error("enum must have non-empty array");let a=o.length>=s.opts.loopEnum,c,l=()=>c??(c=(0,wR.useFunc)(t,bR.default)),u;if(a||n)u=t.let("valid"),e.block$data(u,d);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let p=t.const("vSchema",i);u=(0,Wn.or)(...o.map((m,h)=>f(p,h)))}e.pass(u);function d(){t.assign(u,!1),t.forOf("v",i,p=>t.if((0,Wn._)`${l()}(${r}, ${p})`,()=>t.assign(u,!0).break()))}function f(p,m){let h=o[m];return typeof h=="object"&&h!==null?(0,Wn._)`${l()}(${r}, ${p}[${m}])`:(0,Wn._)`${r} === ${h}`}}};Gc.default=xR});var wg=w(Jc=>{"use strict";Object.defineProperty(Jc,"__esModule",{value:!0});var kR=sg(),$R=ag(),SR=lg(),ER=dg(),RR=fg(),TR=pg(),PR=mg(),OR=gg(),zR=yg(),AR=_g(),IR=[kR.default,$R.default,SR.default,ER.default,RR.default,TR.default,PR.default,OR.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},zR.default,AR.default];Jc.default=IR});var Qc=w(Gn=>{"use strict";Object.defineProperty(Gn,"__esModule",{value:!0});Gn.validateAdditionalItems=void 0;var rr=C(),Yc=q(),NR={message:({params:{len:e}})=>(0,rr.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,rr._)`{limit: ${e}}`},CR={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:NR,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,Yc.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}bg(e,n)}};function bg(e,t){let{gen:r,schema:n,data:o,keyword:i,it:s}=e;s.items=!0;let a=r.const("len",(0,rr._)`${o}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,rr._)`${a} <= ${t.length}`);else if(typeof n=="object"&&!(0,Yc.alwaysValidSchema)(s,n)){let l=r.var("valid",(0,rr._)`${a} <= ${t.length}`);r.if((0,rr.not)(l),()=>c(l)),e.ok(l)}function c(l){r.forRange("i",t.length,a,u=>{e.subschema({keyword:i,dataProp:u,dataPropType:Yc.Type.Num},l),s.allErrors||r.if((0,rr.not)(l),()=>r.break())})}}Gn.validateAdditionalItems=bg;Gn.default=CR});var Xc=w(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});Jn.validateTuple=void 0;var vg=C(),_i=q(),DR=Ue(),jR={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return xg(e,"additionalItems",t);r.items=!0,!(0,_i.alwaysValidSchema)(r,t)&&e.ok((0,DR.validateArray)(e))}};function xg(e,t,r=e.schema){let{gen:n,parentSchema:o,data:i,keyword:s,it:a}=e;u(o),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=_i.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),l=n.const("len",(0,vg._)`${i}.length`);r.forEach((d,f)=>{(0,_i.alwaysValidSchema)(a,d)||(n.if((0,vg._)`${l} > ${f}`,()=>e.subschema({keyword:s,schemaProp:f,dataProp:f},c)),e.ok(c))});function u(d){let{opts:f,errSchemaPath:p}=a,m=r.length,h=m===d.minItems&&(m===d.maxItems||d[t]===!1);if(f.strictTuples&&!h){let _=`"${s}" is ${m}-tuple, but minItems or maxItems/${t} are not specified or different at path "${p}"`;(0,_i.checkStrictMode)(a,_,f.strictTuples)}}}Jn.validateTuple=xg;Jn.default=jR});var kg=w(eu=>{"use strict";Object.defineProperty(eu,"__esModule",{value:!0});var LR=Xc(),MR={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,LR.validateTuple)(e,"items")};eu.default=MR});var Sg=w(tu=>{"use strict";Object.defineProperty(tu,"__esModule",{value:!0});var $g=C(),qR=q(),BR=Ue(),ZR=Qc(),UR={message:({params:{len:e}})=>(0,$g.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,$g._)`{limit: ${e}}`},FR={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:UR,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:o}=r;n.items=!0,!(0,qR.alwaysValidSchema)(n,t)&&(o?(0,ZR.validateAdditionalItems)(e,o):e.ok((0,BR.validateArray)(e)))}};tu.default=FR});var Eg=w(ru=>{"use strict";Object.defineProperty(ru,"__esModule",{value:!0});var Ve=C(),wi=q(),VR={message:({params:{min:e,max:t}})=>t===void 0?(0,Ve.str)`must contain at least ${e} valid item(s)`:(0,Ve.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,Ve._)`{minContains: ${e}}`:(0,Ve._)`{minContains: ${e}, maxContains: ${t}}`},KR={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:VR,code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:i}=e,s,a,{minContains:c,maxContains:l}=n;i.opts.next?(s=c===void 0?1:c,a=l):s=1;let u=t.const("len",(0,Ve._)`${o}.length`);if(e.setParams({min:s,max:a}),a===void 0&&s===0){(0,wi.checkStrictMode)(i,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&s>a){(0,wi.checkStrictMode)(i,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,wi.alwaysValidSchema)(i,r)){let h=(0,Ve._)`${u} >= ${s}`;a!==void 0&&(h=(0,Ve._)`${h} && ${u} <= ${a}`),e.pass(h);return}i.items=!0;let d=t.name("valid");a===void 0&&s===1?p(d,()=>t.if(d,()=>t.break())):s===0?(t.let(d,!0),a!==void 0&&t.if((0,Ve._)`${o}.length > 0`,f)):(t.let(d,!1),f()),e.result(d,()=>e.reset());function f(){let h=t.name("_valid"),_=t.let("count",0);p(h,()=>t.if(h,()=>m(_)))}function p(h,_){t.forRange("i",0,u,b=>{e.subschema({keyword:"contains",dataProp:b,dataPropType:wi.Type.Num,compositeRule:!0},h),_()})}function m(h){t.code((0,Ve._)`${h}++`),a===void 0?t.if((0,Ve._)`${h} >= ${s}`,()=>t.assign(d,!0).break()):(t.if((0,Ve._)`${h} > ${a}`,()=>t.assign(d,!1).break()),s===1?t.assign(d,!0):t.if((0,Ve._)`${h} >= ${s}`,()=>t.assign(d,!0)))}}};ru.default=KR});var Pg=w(lt=>{"use strict";Object.defineProperty(lt,"__esModule",{value:!0});lt.validateSchemaDeps=lt.validatePropertyDeps=lt.error=void 0;var nu=C(),HR=q(),Yn=Ue();lt.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,nu.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,nu._)`{property: ${e},
8
- missingProperty: ${n},
9
- depsCount: ${t},
10
- deps: ${r}}`};var WR={keyword:"dependencies",type:"object",schemaType:"object",error:lt.error,code(e){let[t,r]=GR(e);Rg(e,t),Tg(e,r)}};function GR({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let o=Array.isArray(e[n])?t:r;o[n]=e[n]}return[t,r]}function Rg(e,t=e.schema){let{gen:r,data:n,it:o}=e;if(Object.keys(t).length===0)return;let i=r.let("missing");for(let s in t){let a=t[s];if(a.length===0)continue;let c=(0,Yn.propertyInData)(r,n,s,o.opts.ownProperties);e.setParams({property:s,depsCount:a.length,deps:a.join(", ")}),o.allErrors?r.if(c,()=>{for(let l of a)(0,Yn.checkReportMissingProp)(e,l)}):(r.if((0,nu._)`${c} && (${(0,Yn.checkMissingProp)(e,a,i)})`),(0,Yn.reportMissingProp)(e,i),r.else())}}lt.validatePropertyDeps=Rg;function Tg(e,t=e.schema){let{gen:r,data:n,keyword:o,it:i}=e,s=r.name("valid");for(let a in t)(0,HR.alwaysValidSchema)(i,t[a])||(r.if((0,Yn.propertyInData)(r,n,a,i.opts.ownProperties),()=>{let c=e.subschema({keyword:o,schemaProp:a},s);e.mergeValidEvaluated(c,s)},()=>r.var(s,!0)),e.ok(s))}lt.validateSchemaDeps=Tg;lt.default=WR});var zg=w(ou=>{"use strict";Object.defineProperty(ou,"__esModule",{value:!0});var Og=C(),JR=q(),YR={message:"property name must be valid",params:({params:e})=>(0,Og._)`{propertyName: ${e.propertyName}}`},QR={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:YR,code(e){let{gen:t,schema:r,data:n,it:o}=e;if((0,JR.alwaysValidSchema)(o,r))return;let i=t.name("valid");t.forIn("key",n,s=>{e.setParams({propertyName:s}),e.subschema({keyword:"propertyNames",data:s,dataTypes:["string"],propertyName:s,compositeRule:!0},i),t.if((0,Og.not)(i),()=>{e.error(!0),o.allErrors||t.break()})}),e.ok(i)}};ou.default=QR});var su=w(iu=>{"use strict";Object.defineProperty(iu,"__esModule",{value:!0});var bi=Ue(),et=C(),XR=bt(),vi=q(),eT={message:"must NOT have additional properties",params:({params:e})=>(0,et._)`{additionalProperty: ${e.additionalProperty}}`},tT={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:eT,code(e){let{gen:t,schema:r,parentSchema:n,data:o,errsCount:i,it:s}=e;if(!i)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=s;if(s.props=!0,c.removeAdditional!=="all"&&(0,vi.alwaysValidSchema)(s,r))return;let l=(0,bi.allSchemaProperties)(n.properties),u=(0,bi.allSchemaProperties)(n.patternProperties);d(),e.ok((0,et._)`${i} === ${XR.default.errors}`);function d(){t.forIn("key",o,_=>{!l.length&&!u.length?m(_):t.if(f(_),()=>m(_))})}function f(_){let b;if(l.length>8){let v=(0,vi.schemaRefOrVal)(s,n.properties,"properties");b=(0,bi.isOwnProperty)(t,v,_)}else l.length?b=(0,et.or)(...l.map(v=>(0,et._)`${_} === ${v}`)):b=et.nil;return u.length&&(b=(0,et.or)(b,...u.map(v=>(0,et._)`${(0,bi.usePattern)(e,v)}.test(${_})`))),(0,et.not)(b)}function p(_){t.code((0,et._)`delete ${o}[${_}]`)}function m(_){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){p(_);return}if(r===!1){e.setParams({additionalProperty:_}),e.error(),a||t.break();return}if(typeof r=="object"&&!(0,vi.alwaysValidSchema)(s,r)){let b=t.name("valid");c.removeAdditional==="failing"?(h(_,b,!1),t.if((0,et.not)(b),()=>{e.reset(),p(_)})):(h(_,b),a||t.if((0,et.not)(b),()=>t.break()))}}function h(_,b,v){let x={keyword:"additionalProperties",dataProp:_,dataPropType:vi.Type.Str};v===!1&&Object.assign(x,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(x,b)}}};iu.default=tT});var Ng=w(cu=>{"use strict";Object.defineProperty(cu,"__esModule",{value:!0});var rT=jn(),Ag=Ue(),au=q(),Ig=su(),nT={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:i}=e;i.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&Ig.default.code(new rT.KeywordCxt(i,Ig.default,"additionalProperties"));let s=(0,Ag.allSchemaProperties)(r);for(let d of s)i.definedProperties.add(d);i.opts.unevaluated&&s.length&&i.props!==!0&&(i.props=au.mergeEvaluated.props(t,(0,au.toHash)(s),i.props));let a=s.filter(d=>!(0,au.alwaysValidSchema)(i,r[d]));if(a.length===0)return;let c=t.name("valid");for(let d of a)l(d)?u(d):(t.if((0,Ag.propertyInData)(t,o,d,i.opts.ownProperties)),u(d),i.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(d),e.ok(c);function l(d){return i.opts.useDefaults&&!i.compositeRule&&r[d].default!==void 0}function u(d){e.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};cu.default=nT});var Lg=w(uu=>{"use strict";Object.defineProperty(uu,"__esModule",{value:!0});var Cg=Ue(),xi=C(),Dg=q(),jg=q(),oT={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:o,it:i}=e,{opts:s}=i,a=(0,Cg.allSchemaProperties)(r),c=a.filter(h=>(0,Dg.alwaysValidSchema)(i,r[h]));if(a.length===0||c.length===a.length&&(!i.opts.unevaluated||i.props===!0))return;let l=s.strictSchema&&!s.allowMatchingProperties&&o.properties,u=t.name("valid");i.props!==!0&&!(i.props instanceof xi.Name)&&(i.props=(0,jg.evaluatedPropsToName)(t,i.props));let{props:d}=i;f();function f(){for(let h of a)l&&p(h),i.allErrors?m(h):(t.var(u,!0),m(h),t.if(u))}function p(h){for(let _ in l)new RegExp(h).test(_)&&(0,Dg.checkStrictMode)(i,`property ${_} matches pattern ${h} (use allowMatchingProperties)`)}function m(h){t.forIn("key",n,_=>{t.if((0,xi._)`${(0,Cg.usePattern)(e,h)}.test(${_})`,()=>{let b=c.includes(h);b||e.subschema({keyword:"patternProperties",schemaProp:h,dataProp:_,dataPropType:jg.Type.Str},u),i.opts.unevaluated&&d!==!0?t.assign((0,xi._)`${d}[${_}]`,!0):!b&&!i.allErrors&&t.if((0,xi.not)(u),()=>t.break())})})}}};uu.default=oT});var Mg=w(lu=>{"use strict";Object.defineProperty(lu,"__esModule",{value:!0});var iT=q(),sT={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,iT.alwaysValidSchema)(n,r)){e.fail();return}let o=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),e.failResult(o,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};lu.default=sT});var qg=w(du=>{"use strict";Object.defineProperty(du,"__esModule",{value:!0});var aT=Ue(),cT={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:aT.validateUnion,error:{message:"must match a schema in anyOf"}};du.default=cT});var Bg=w(fu=>{"use strict";Object.defineProperty(fu,"__esModule",{value:!0});var ki=C(),uT=q(),lT={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,ki._)`{passingSchemas: ${e.passing}}`},dT={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:lT,code(e){let{gen:t,schema:r,parentSchema:n,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let i=r,s=t.let("valid",!1),a=t.let("passing",null),c=t.name("_valid");e.setParams({passing:a}),t.block(l),e.result(s,()=>e.reset(),()=>e.error(!0));function l(){i.forEach((u,d)=>{let f;(0,uT.alwaysValidSchema)(o,u)?t.var(c,!0):f=e.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&t.if((0,ki._)`${c} && ${s}`).assign(s,!1).assign(a,(0,ki._)`[${a}, ${d}]`).else(),t.if(c,()=>{t.assign(s,!0),t.assign(a,d),f&&e.mergeEvaluated(f,ki.Name)})})}}};fu.default=dT});var Zg=w(pu=>{"use strict";Object.defineProperty(pu,"__esModule",{value:!0});var fT=q(),pT={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let o=t.name("valid");r.forEach((i,s)=>{if((0,fT.alwaysValidSchema)(n,i))return;let a=e.subschema({keyword:"allOf",schemaProp:s},o);e.ok(o),e.mergeEvaluated(a)})}};pu.default=pT});var Vg=w(mu=>{"use strict";Object.defineProperty(mu,"__esModule",{value:!0});var $i=C(),Fg=q(),mT={message:({params:e})=>(0,$i.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,$i._)`{failingKeyword: ${e.ifClause}}`},hT={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:mT,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,Fg.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=Ug(n,"then"),i=Ug(n,"else");if(!o&&!i)return;let s=t.let("valid",!0),a=t.name("_valid");if(c(),e.reset(),o&&i){let u=t.let("ifClause");e.setParams({ifClause:u}),t.if(a,l("then",u),l("else",u))}else o?t.if(a,l("then")):t.if((0,$i.not)(a),l("else"));e.pass(s,()=>e.error(!0));function c(){let u=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);e.mergeEvaluated(u)}function l(u,d){return()=>{let f=e.subschema({keyword:u},a);t.assign(s,a),e.mergeValidEvaluated(f,s),d?t.assign(d,(0,$i._)`${u}`):e.setParams({ifClause:u})}}}};function Ug(e,t){let r=e.schema[t];return r!==void 0&&!(0,Fg.alwaysValidSchema)(e,r)}mu.default=hT});var Kg=w(hu=>{"use strict";Object.defineProperty(hu,"__esModule",{value:!0});var gT=q(),yT={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,gT.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};hu.default=yT});var Hg=w(gu=>{"use strict";Object.defineProperty(gu,"__esModule",{value:!0});var _T=Qc(),wT=kg(),bT=Xc(),vT=Sg(),xT=Eg(),kT=Pg(),$T=zg(),ST=su(),ET=Ng(),RT=Lg(),TT=Mg(),PT=qg(),OT=Bg(),zT=Zg(),AT=Vg(),IT=Kg();function NT(e=!1){let t=[TT.default,PT.default,OT.default,zT.default,AT.default,IT.default,$T.default,ST.default,kT.default,ET.default,RT.default];return e?t.push(wT.default,vT.default):t.push(_T.default,bT.default),t.push(xT.default),t}gu.default=NT});var Wg=w(yu=>{"use strict";Object.defineProperty(yu,"__esModule",{value:!0});var ae=C(),CT={message:({schemaCode:e})=>(0,ae.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,ae._)`{format: ${e}}`},DT={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:CT,code(e,t){let{gen:r,data:n,$data:o,schema:i,schemaCode:s,it:a}=e,{opts:c,errSchemaPath:l,schemaEnv:u,self:d}=a;if(!c.validateFormats)return;o?f():p();function f(){let m=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),h=r.const("fDef",(0,ae._)`${m}[${s}]`),_=r.let("fType"),b=r.let("format");r.if((0,ae._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(_,(0,ae._)`${h}.type || "string"`).assign(b,(0,ae._)`${h}.validate`),()=>r.assign(_,(0,ae._)`"string"`).assign(b,h)),e.fail$data((0,ae.or)(v(),x()));function v(){return c.strictSchema===!1?ae.nil:(0,ae._)`${s} && !${b}`}function x(){let T=u.$async?(0,ae._)`(${h}.async ? await ${b}(${n}) : ${b}(${n}))`:(0,ae._)`${b}(${n})`,z=(0,ae._)`(typeof ${b} == "function" ? ${T} : ${b}.test(${n}))`;return(0,ae._)`${b} && ${b} !== true && ${_} === ${t} && !${z}`}}function p(){let m=d.formats[i];if(!m){v();return}if(m===!0)return;let[h,_,b]=x(m);h===t&&e.pass(T());function v(){if(c.strictSchema===!1){d.logger.warn(z());return}throw new Error(z());function z(){return`unknown format "${i}" ignored in schema at path "${l}"`}}function x(z){let $e=z instanceof RegExp?(0,ae.regexpCode)(z):c.code.formats?(0,ae._)`${c.code.formats}${(0,ae.getProperty)(i)}`:void 0,Le=r.scopeValue("formats",{key:i,ref:z,code:$e});return typeof z=="object"&&!(z instanceof RegExp)?[z.type||"string",z.validate,(0,ae._)`${Le}.validate`]:["string",z,Le]}function T(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!u.$async)throw new Error("async format in sync schema");return(0,ae._)`await ${b}(${n})`}return typeof _=="function"?(0,ae._)`${b}(${n})`:(0,ae._)`${b}.test(${n})`}}}};yu.default=DT});var Gg=w(_u=>{"use strict";Object.defineProperty(_u,"__esModule",{value:!0});var jT=Wg(),LT=[jT.default];_u.default=LT});var Jg=w(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.contentVocabulary=Ar.metadataVocabulary=void 0;Ar.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Ar.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Qg=w(wu=>{"use strict";Object.defineProperty(wu,"__esModule",{value:!0});var MT=ig(),qT=wg(),BT=Hg(),ZT=Gg(),Yg=Jg(),UT=[MT.default,qT.default,(0,BT.default)(),ZT.default,Yg.metadataVocabulary,Yg.contentVocabulary];wu.default=UT});var ey=w(Si=>{"use strict";Object.defineProperty(Si,"__esModule",{value:!0});Si.DiscrError=void 0;var Xg;(function(e){e.Tag="tag",e.Mapping="mapping"})(Xg||(Si.DiscrError=Xg={}))});var ry=w(vu=>{"use strict";Object.defineProperty(vu,"__esModule",{value:!0});var Ir=C(),bu=ey(),ty=ci(),FT=Ln(),VT=q(),KT={message:({params:{discrError:e,tagName:t}})=>e===bu.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,Ir._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},HT={keyword:"discriminator",type:"object",schemaType:"object",error:KT,code(e){let{gen:t,data:r,schema:n,parentSchema:o,it:i}=e,{oneOf:s}=o;if(!i.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=n.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!s)throw new Error("discriminator: requires oneOf keyword");let c=t.let("valid",!1),l=t.const("tag",(0,Ir._)`${r}${(0,Ir.getProperty)(a)}`);t.if((0,Ir._)`typeof ${l} == "string"`,()=>u(),()=>e.error(!1,{discrError:bu.DiscrError.Tag,tag:l,tagName:a})),e.ok(c);function u(){let p=f();t.if(!1);for(let m in p)t.elseIf((0,Ir._)`${l} === ${m}`),t.assign(c,d(p[m]));t.else(),e.error(!1,{discrError:bu.DiscrError.Mapping,tag:l,tagName:a}),t.endIf()}function d(p){let m=t.name("valid"),h=e.subschema({keyword:"oneOf",schemaProp:p},m);return e.mergeEvaluated(h,Ir.Name),m}function f(){var p;let m={},h=b(o),_=!0;for(let T=0;T<s.length;T++){let z=s[T];if(z?.$ref&&!(0,VT.schemaHasRulesButRef)(z,i.self.RULES)){let Le=z.$ref;if(z=ty.resolveRef.call(i.self,i.schemaEnv.root,i.baseId,Le),z instanceof ty.SchemaEnv&&(z=z.schema),z===void 0)throw new FT.default(i.opts.uriResolver,i.baseId,Le)}let $e=(p=z?.properties)===null||p===void 0?void 0:p[a];if(typeof $e!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);_=_&&(h||b(z)),v($e,T)}if(!_)throw new Error(`discriminator: "${a}" must be required`);return m;function b({required:T}){return Array.isArray(T)&&T.includes(a)}function v(T,z){if(T.const)x(T.const,z);else if(T.enum)for(let $e of T.enum)x($e,z);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function x(T,z){if(typeof T!="string"||T in m)throw new Error(`discriminator: "${a}" values must be unique strings`);m[T]=z}}}};vu.default=HT});var ny=w((EB,WT)=>{WT.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var ku=w((te,xu)=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});te.MissingRefError=te.ValidationError=te.CodeGen=te.Name=te.nil=te.stringify=te.str=te._=te.KeywordCxt=te.Ajv=void 0;var GT=Xh(),JT=Qg(),YT=ry(),oy=ny(),QT=["/properties"],Ei="http://json-schema.org/draft-07/schema",Nr=class extends GT.default{_addVocabularies(){super._addVocabularies(),JT.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(YT.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(oy,QT):oy;this.addMetaSchema(t,Ei,!1),this.refs["http://json-schema.org/schema"]=Ei}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Ei)?Ei:void 0)}};te.Ajv=Nr;xu.exports=te=Nr;xu.exports.Ajv=Nr;Object.defineProperty(te,"__esModule",{value:!0});te.default=Nr;var XT=jn();Object.defineProperty(te,"KeywordCxt",{enumerable:!0,get:function(){return XT.KeywordCxt}});var Cr=C();Object.defineProperty(te,"_",{enumerable:!0,get:function(){return Cr._}});Object.defineProperty(te,"str",{enumerable:!0,get:function(){return Cr.str}});Object.defineProperty(te,"stringify",{enumerable:!0,get:function(){return Cr.stringify}});Object.defineProperty(te,"nil",{enumerable:!0,get:function(){return Cr.nil}});Object.defineProperty(te,"Name",{enumerable:!0,get:function(){return Cr.Name}});Object.defineProperty(te,"CodeGen",{enumerable:!0,get:function(){return Cr.CodeGen}});var eP=si();Object.defineProperty(te,"ValidationError",{enumerable:!0,get:function(){return eP.default}});var tP=Ln();Object.defineProperty(te,"MissingRefError",{enumerable:!0,get:function(){return tP.default}})});var fy=w(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.formatNames=ft.fastFormats=ft.fullFormats=void 0;function dt(e,t){return{validate:e,compare:t}}ft.fullFormats={date:dt(cy,Ru),time:dt(Su(!0),Tu),"date-time":dt(iy(!0),ly),"iso-time":dt(Su(),uy),"iso-date-time":dt(iy(),dy),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:aP,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:mP,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:cP,int32:{type:"number",validate:dP},int64:{type:"number",validate:fP},float:{type:"number",validate:ay},double:{type:"number",validate:ay},password:!0,binary:!0};ft.fastFormats={...ft.fullFormats,date:dt(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,Ru),time:dt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,Tu),"date-time":dt(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,ly),"iso-time":dt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,uy),"iso-date-time":dt(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,dy),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};ft.formatNames=Object.keys(ft.fullFormats);function rP(e){return e%4===0&&(e%100!==0||e%400===0)}var nP=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,oP=[0,31,28,31,30,31,30,31,31,30,31,30,31];function cy(e){let t=nP.exec(e);if(!t)return!1;let r=+t[1],n=+t[2],o=+t[3];return n>=1&&n<=12&&o>=1&&o<=(n===2&&rP(r)?29:oP[n])}function Ru(e,t){if(e&&t)return e>t?1:e<t?-1:0}var $u=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function Su(e){return function(r){let n=$u.exec(r);if(!n)return!1;let o=+n[1],i=+n[2],s=+n[3],a=n[4],c=n[5]==="-"?-1:1,l=+(n[6]||0),u=+(n[7]||0);if(l>23||u>59||e&&!a)return!1;if(o<=23&&i<=59&&s<60)return!0;let d=i-u*c,f=o-l*c-(d<0?1:0);return(f===23||f===-1)&&(d===59||d===-1)&&s<61}}function Tu(e,t){if(!(e&&t))return;let r=new Date("2020-01-01T"+e).valueOf(),n=new Date("2020-01-01T"+t).valueOf();if(r&&n)return r-n}function uy(e,t){if(!(e&&t))return;let r=$u.exec(e),n=$u.exec(t);if(r&&n)return e=r[1]+r[2]+r[3],t=n[1]+n[2]+n[3],e>t?1:e<t?-1:0}var Eu=/t|\s/i;function iy(e){let t=Su(e);return function(n){let o=n.split(Eu);return o.length===2&&cy(o[0])&&t(o[1])}}function ly(e,t){if(!(e&&t))return;let r=new Date(e).valueOf(),n=new Date(t).valueOf();if(r&&n)return r-n}function dy(e,t){if(!(e&&t))return;let[r,n]=e.split(Eu),[o,i]=t.split(Eu),s=Ru(r,o);if(s!==void 0)return s||Tu(n,i)}var iP=/\/|:/,sP=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function aP(e){return iP.test(e)&&sP.test(e)}var sy=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function cP(e){return sy.lastIndex=0,sy.test(e)}var uP=-(2**31),lP=2**31-1;function dP(e){return Number.isInteger(e)&&e<=lP&&e>=uP}function fP(e){return Number.isInteger(e)}function ay(){return!0}var pP=/[^\\]\\Z/;function mP(e){if(pP.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}});var py=w(Dr=>{"use strict";Object.defineProperty(Dr,"__esModule",{value:!0});Dr.formatLimitDefinition=void 0;var hP=ku(),tt=C(),Dt=tt.operators,Ri={formatMaximum:{okStr:"<=",ok:Dt.LTE,fail:Dt.GT},formatMinimum:{okStr:">=",ok:Dt.GTE,fail:Dt.LT},formatExclusiveMaximum:{okStr:"<",ok:Dt.LT,fail:Dt.GTE},formatExclusiveMinimum:{okStr:">",ok:Dt.GT,fail:Dt.LTE}},gP={message:({keyword:e,schemaCode:t})=>(0,tt.str)`should be ${Ri[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,tt._)`{comparison: ${Ri[e].okStr}, limit: ${t}}`};Dr.formatLimitDefinition={keyword:Object.keys(Ri),type:"string",schemaType:"string",$data:!0,error:gP,code(e){let{gen:t,data:r,schemaCode:n,keyword:o,it:i}=e,{opts:s,self:a}=i;if(!s.validateFormats)return;let c=new hP.KeywordCxt(i,a.RULES.all.format.definition,"format");c.$data?l():u();function l(){let f=t.scopeValue("formats",{ref:a.formats,code:s.code.formats}),p=t.const("fmt",(0,tt._)`${f}[${c.schemaCode}]`);e.fail$data((0,tt.or)((0,tt._)`typeof ${p} != "object"`,(0,tt._)`${p} instanceof RegExp`,(0,tt._)`typeof ${p}.compare != "function"`,d(p)))}function u(){let f=c.schema,p=a.formats[f];if(!p||p===!0)return;if(typeof p!="object"||p instanceof RegExp||typeof p.compare!="function")throw new Error(`"${o}": format "${f}" does not define "compare" function`);let m=t.scopeValue("formats",{key:f,ref:p,code:s.code.formats?(0,tt._)`${s.code.formats}${(0,tt.getProperty)(f)}`:void 0});e.fail$data(d(m))}function d(f){return(0,tt._)`${f}.compare(${r}, ${n}) ${Ri[o].fail} 0`}},dependencies:["format"]};var yP=e=>(e.addKeyword(Dr.formatLimitDefinition),e);Dr.default=yP});var yy=w((Qn,gy)=>{"use strict";Object.defineProperty(Qn,"__esModule",{value:!0});var jr=fy(),_P=py(),Pu=C(),my=new Pu.Name("fullFormats"),wP=new Pu.Name("fastFormats"),Ou=(e,t={keywords:!0})=>{if(Array.isArray(t))return hy(e,t,jr.fullFormats,my),e;let[r,n]=t.mode==="fast"?[jr.fastFormats,wP]:[jr.fullFormats,my],o=t.formats||jr.formatNames;return hy(e,o,r,n),t.keywords&&(0,_P.default)(e),e};Ou.get=(e,t="full")=>{let n=(t==="fast"?jr.fastFormats:jr.fullFormats)[e];if(!n)throw new Error(`Unknown format "${e}"`);return n};function hy(e,t,r,n){var o,i;(o=(i=e.opts.code).formats)!==null&&o!==void 0||(i.formats=(0,Pu._)`require("ajv-formats/dist/formats").${n}`);for(let s of t)e.addFormat(s,r[s])}gy.exports=Qn=Ou;Object.defineProperty(Qn,"__esModule",{value:!0});Qn.default=Ou});var Ey=w((qB,Sy)=>{Sy.exports=$y;$y.sync=kP;var xy=$t("fs");function xP(e,t){var r=t.pathExt!==void 0?t.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var n=0;n<r.length;n++){var o=r[n].toLowerCase();if(o&&e.substr(-o.length).toLowerCase()===o)return!0}return!1}function ky(e,t,r){return!e.isSymbolicLink()&&!e.isFile()?!1:xP(t,r)}function $y(e,t,r){xy.stat(e,function(n,o){r(n,n?!1:ky(o,e,t))})}function kP(e,t){return ky(xy.statSync(e),e,t)}});var zy=w((BB,Oy)=>{Oy.exports=Ty;Ty.sync=$P;var Ry=$t("fs");function Ty(e,t,r){Ry.stat(e,function(n,o){r(n,n?!1:Py(o,t))})}function $P(e,t){return Py(Ry.statSync(e),t)}function Py(e,t){return e.isFile()&&SP(e,t)}function SP(e,t){var r=e.mode,n=e.uid,o=e.gid,i=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),s=t.gid!==void 0?t.gid:process.getgid&&process.getgid(),a=parseInt("100",8),c=parseInt("010",8),l=parseInt("001",8),u=a|c,d=r&l||r&c&&o===s||r&a&&n===i||r&u&&i===0;return d}});var Iy=w((UB,Ay)=>{var ZB=$t("fs"),Ai;process.platform==="win32"||global.TESTING_WINDOWS?Ai=Ey():Ai=zy();Ay.exports=zu;zu.sync=EP;function zu(e,t,r){if(typeof t=="function"&&(r=t,t={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(n,o){zu(e,t||{},function(i,s){i?o(i):n(s)})})}Ai(e,t||{},function(n,o){n&&(n.code==="EACCES"||t&&t.ignoreErrors)&&(n=null,o=!1),r(n,o)})}function EP(e,t){try{return Ai.sync(e,t||{})}catch(r){if(t&&t.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var qy=w((FB,My)=>{var Lr=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Ny=$t("path"),RP=Lr?";":":",Cy=Iy(),Dy=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),jy=(e,t)=>{let r=t.colon||RP,n=e.match(/\//)||Lr&&e.match(/\\/)?[""]:[...Lr?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(r)],o=Lr?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",i=Lr?o.split(r):[""];return Lr&&e.indexOf(".")!==-1&&i[0]!==""&&i.unshift(""),{pathEnv:n,pathExt:i,pathExtExe:o}},Ly=(e,t,r)=>{typeof t=="function"&&(r=t,t={}),t||(t={});let{pathEnv:n,pathExt:o,pathExtExe:i}=jy(e,t),s=[],a=l=>new Promise((u,d)=>{if(l===n.length)return t.all&&s.length?u(s):d(Dy(e));let f=n[l],p=/^".*"$/.test(f)?f.slice(1,-1):f,m=Ny.join(p,e),h=!p&&/^\.[\\\/]/.test(e)?e.slice(0,2)+m:m;u(c(h,l,0))}),c=(l,u,d)=>new Promise((f,p)=>{if(d===o.length)return f(a(u+1));let m=o[d];Cy(l+m,{pathExt:i},(h,_)=>{if(!h&&_)if(t.all)s.push(l+m);else return f(l+m);return f(c(l,u,d+1))})});return r?a(0).then(l=>r(null,l),r):a(0)},TP=(e,t)=>{t=t||{};let{pathEnv:r,pathExt:n,pathExtExe:o}=jy(e,t),i=[];for(let s=0;s<r.length;s++){let a=r[s],c=/^".*"$/.test(a)?a.slice(1,-1):a,l=Ny.join(c,e),u=!c&&/^\.[\\\/]/.test(e)?e.slice(0,2)+l:l;for(let d=0;d<n.length;d++){let f=u+n[d];try{if(Cy.sync(f,{pathExt:o}))if(t.all)i.push(f);else return f}catch{}}}if(t.all&&i.length)return i;if(t.nothrow)return null;throw Dy(e)};My.exports=Ly;Ly.sync=TP});var Zy=w((VB,Au)=>{"use strict";var By=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(n=>n.toUpperCase()==="PATH")||"Path"};Au.exports=By;Au.exports.default=By});var Ky=w((KB,Vy)=>{"use strict";var Uy=$t("path"),PP=qy(),OP=Zy();function Fy(e,t){let r=e.options.env||process.env,n=process.cwd(),o=e.options.cwd!=null,i=o&&process.chdir!==void 0&&!process.chdir.disabled;if(i)try{process.chdir(e.options.cwd)}catch{}let s;try{s=PP.sync(e.command,{path:r[OP({env:r})],pathExt:t?Uy.delimiter:void 0})}catch{}finally{i&&process.chdir(n)}return s&&(s=Uy.resolve(o?e.options.cwd:"",s)),s}function zP(e){return Fy(e)||Fy(e,!0)}Vy.exports=zP});var Hy=w((HB,Nu)=>{"use strict";var Iu=/([()\][%!^"`<>&|;, *?])/g;function AP(e){return e=e.replace(Iu,"^$1"),e}function IP(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(Iu,"^$1"),t&&(e=e.replace(Iu,"^$1")),e}Nu.exports.command=AP;Nu.exports.argument=IP});var Gy=w((WB,Wy)=>{"use strict";Wy.exports=/^#!(.*)/});var Yy=w((GB,Jy)=>{"use strict";var NP=Gy();Jy.exports=(e="")=>{let t=e.match(NP);if(!t)return null;let[r,n]=t[0].replace(/#! ?/,"").split(" "),o=r.split("/").pop();return o==="env"?n:n?`${o} ${n}`:o}});var Xy=w((JB,Qy)=>{"use strict";var Cu=$t("fs"),CP=Yy();function DP(e){let r=Buffer.alloc(150),n;try{n=Cu.openSync(e,"r"),Cu.readSync(n,r,0,150,0),Cu.closeSync(n)}catch{}return CP(r.toString())}Qy.exports=DP});var n_=w((YB,r_)=>{"use strict";var jP=$t("path"),e_=Ky(),t_=Hy(),LP=Xy(),MP=process.platform==="win32",qP=/\.(?:com|exe)$/i,BP=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function ZP(e){e.file=e_(e);let t=e.file&&LP(e.file);return t?(e.args.unshift(e.file),e.command=t,e_(e)):e.file}function UP(e){if(!MP)return e;let t=ZP(e),r=!qP.test(t);if(e.options.forceShell||r){let n=BP.test(t);e.command=jP.normalize(e.command),e.command=t_.command(e.command),e.args=e.args.map(i=>t_.argument(i,n));let o=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${o}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}function FP(e,t,r){t&&!Array.isArray(t)&&(r=t,t=null),t=t?t.slice(0):[],r=Object.assign({},r);let n={command:e,args:t,options:r,file:void 0,original:{command:e,args:t}};return r.shell?n:UP(n)}r_.exports=FP});var s_=w((QB,i_)=>{"use strict";var Du=process.platform==="win32";function ju(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function VP(e,t){if(!Du)return;let r=e.emit;e.emit=function(n,o){if(n==="exit"){let i=o_(o,t);if(i)return r.call(e,"error",i)}return r.apply(e,arguments)}}function o_(e,t){return Du&&e===1&&!t.file?ju(t.original,"spawn"):null}function KP(e,t){return Du&&e===1&&!t.file?ju(t.original,"spawnSync"):null}i_.exports={hookChildProcess:VP,verifyENOENT:o_,verifyENOENTSync:KP,notFoundError:ju}});var u_=w((XB,Mr)=>{"use strict";var a_=$t("child_process"),Lu=n_(),Mu=s_();function c_(e,t,r){let n=Lu(e,t,r),o=a_.spawn(n.command,n.args,n.options);return Mu.hookChildProcess(o,n),o}function HP(e,t,r){let n=Lu(e,t,r),o=a_.spawnSync(n.command,n.args,n.options);return o.error=o.error||Mu.verifyENOENTSync(o.status,n),o}Mr.exports=c_;Mr.exports.spawn=c_;Mr.exports.sync=HP;Mr.exports._parse=Lu;Mr.exports._enoent=Mu});import{readFile as yC,mkdir as _C,writeFile as wC}from"node:fs/promises";import{dirname as bC,join as cv}from"node:path";function td(e){let t={app:e,version:gv(pr("__RED_BUILD_VERSION__",()=>"3.18.12")??"0.0.0-dev"),gitSha:pr("__RED_BUILD_GIT_SHA__",()=>"32cbc744a08a6ac2c77422f427ed6a9eb7c80b1a")??"unknown",buildTime:pr("__RED_BUILD_TIME__",()=>"2026-08-15T13:15:35-03:00")??"unknown",bundleAsset:pr("__RED_BUNDLE_ASSET__",()=>"brain.bundle.min.mjs")??"unknown"},r=pr("__REDDB_SDK_VERSION__",()=>"1.23.1"),n=pr("__REDDB_BINARY_TAG__",()=>"v1.23.1");return r&&(t.reddbSdkVersion=r),n&&(t.reddbBinaryTag=n),t}function gv(e){return e.startsWith("v")?e.slice(1):e}function rd(e){return`${e.app} ${e.version} ${e.gitSha}`}function pr(e,t){try{let r=t();return typeof r=="string"&&r.length>0?r:void 0}catch{return process.env[e.replace(/^__|__$/g,"")]}}var MC=Object.freeze({status:"aborted"});function y(e,t,r){function n(a,c){var l;Object.defineProperty(a,"_zod",{value:a._zod??{},enumerable:!1}),(l=a._zod).traits??(l.traits=new Set),a._zod.traits.add(e),t(a,c);for(let u in s.prototype)u in a||Object.defineProperty(a,u,{value:s.prototype[u].bind(a)});a._zod.constr=s,a._zod.def=c}let o=r?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:e});function s(a){var c;let l=r?.Parent?new i:this;n(l,a),(c=l._zod).deferred??(c.deferred=[]);for(let u of l._zod.deferred)u();return l}return Object.defineProperty(s,"init",{value:n}),Object.defineProperty(s,Symbol.hasInstance,{value:a=>r?.Parent&&a instanceof r.Parent?!0:a?._zod?.traits?.has(e)}),Object.defineProperty(s,"name",{value:e}),s}var qC=Symbol("zod_brand"),gt=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},_o={};function Me(e){return e&&Object.assign(_o,e),_o}var U={};ed(U,{BIGINT_FORMAT_RANGES:()=>od,Class:()=>vs,NUMBER_FORMAT_RANGES:()=>Ps,aborted:()=>Zt,allowsEval:()=>Es,assert:()=>vv,assertEqual:()=>yv,assertIs:()=>wv,assertNever:()=>bv,assertNotEqual:()=>_v,assignProp:()=>Ss,cached:()=>rn,captureStackTrace:()=>bo,cleanEnum:()=>Nv,cleanRegex:()=>on,clone:()=>st,createTransparentProxy:()=>Rv,defineLazy:()=>W,esc:()=>Bt,escapeRegex:()=>St,extend:()=>Ov,finalizeIssue:()=>Ge,floatSafeRemainder:()=>$s,getElementAtPath:()=>xv,getEnumValues:()=>xs,getLengthableOrigin:()=>sn,getParsedType:()=>Ev,getSizableOrigin:()=>id,isObject:()=>mr,isPlainObject:()=>hr,issue:()=>Os,joinValues:()=>wo,jsonStringifyReplacer:()=>ks,merge:()=>zv,normalizeParams:()=>P,nullish:()=>nn,numKeys:()=>Sv,omit:()=>Pv,optionalKeys:()=>Ts,partial:()=>Av,pick:()=>Tv,prefixIssues:()=>at,primitiveTypes:()=>nd,promiseAllObject:()=>kv,propertyKeyTypes:()=>Rs,randomString:()=>$v,required:()=>Iv,stringifyPrimitive:()=>vo,unwrapMessage:()=>tn});function yv(e){return e}function _v(e){return e}function wv(e){}function bv(e){throw new Error}function vv(e){}function xs(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function wo(e,t="|"){return e.map(r=>vo(r)).join(t)}function ks(e,t){return typeof t=="bigint"?t.toString():t}function rn(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function nn(e){return e==null}function on(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function $s(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,o=r>n?r:n,i=Number.parseInt(e.toFixed(o).replace(".","")),s=Number.parseInt(t.toFixed(o).replace(".",""));return i%s/10**o}function W(e,t,r){Object.defineProperty(e,t,{get(){{let o=r();return e[t]=o,o}throw new Error("cached value already set")},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function Ss(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function xv(e,t){return t?t.reduce((r,n)=>r?.[n],e):e}function kv(e){let t=Object.keys(e),r=t.map(n=>e[n]);return Promise.all(r).then(n=>{let o={};for(let i=0;i<t.length;i++)o[t[i]]=n[i];return o})}function $v(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<e;n++)r+=t[Math.floor(Math.random()*t.length)];return r}function Bt(e){return JSON.stringify(e)}var bo=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function mr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Es=rn(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function hr(e){if(mr(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let r=t.prototype;return!(mr(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Sv(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}var Ev=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},Rs=new Set(["string","number","symbol"]),nd=new Set(["string","number","bigint","boolean","symbol","undefined"]);function St(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function st(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function P(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function Rv(e){let t;return new Proxy({},{get(r,n,o){return t??(t=e()),Reflect.get(t,n,o)},set(r,n,o,i){return t??(t=e()),Reflect.set(t,n,o,i)},has(r,n){return t??(t=e()),Reflect.has(t,n)},deleteProperty(r,n){return t??(t=e()),Reflect.deleteProperty(t,n)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,n){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,n)},defineProperty(r,n,o){return t??(t=e()),Reflect.defineProperty(t,n,o)}})}function vo(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function Ts(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Ps={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},od={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Tv(e,t){let r={},n=e._zod.def;for(let o in t){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&(r[o]=n.shape[o])}return st(e,{...e._zod.def,shape:r,checks:[]})}function Pv(e,t){let r={...e._zod.def.shape},n=e._zod.def;for(let o in t){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&delete r[o]}return st(e,{...e._zod.def,shape:r,checks:[]})}function Ov(e,t){if(!hr(t))throw new Error("Invalid input to extend: expected a plain object");let r={...e._zod.def,get shape(){let n={...e._zod.def.shape,...t};return Ss(this,"shape",n),n},checks:[]};return st(e,r)}function zv(e,t){return st(e,{...e._zod.def,get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return Ss(this,"shape",r),r},catchall:t._zod.def.catchall,checks:[]})}function Av(e,t,r){let n=t._zod.def.shape,o={...n};if(r)for(let i in r){if(!(i in n))throw new Error(`Unrecognized key: "${i}"`);r[i]&&(o[i]=e?new e({type:"optional",innerType:n[i]}):n[i])}else for(let i in n)o[i]=e?new e({type:"optional",innerType:n[i]}):n[i];return st(t,{...t._zod.def,shape:o,checks:[]})}function Iv(e,t,r){let n=t._zod.def.shape,o={...n};if(r)for(let i in r){if(!(i in o))throw new Error(`Unrecognized key: "${i}"`);r[i]&&(o[i]=new e({type:"nonoptional",innerType:n[i]}))}else for(let i in n)o[i]=new e({type:"nonoptional",innerType:n[i]});return st(t,{...t._zod.def,shape:o,checks:[]})}function Zt(e,t=0){for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function at(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function tn(e){return typeof e=="string"?e:e?.message}function Ge(e,t,r){let n={...e,path:e.path??[]};if(!e.message){let o=tn(e.inst?._zod.def?.error?.(e))??tn(t?.error?.(e))??tn(r.customError?.(e))??tn(r.localeError?.(e))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function id(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function sn(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function Os(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}function Nv(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}var vs=class{constructor(...t){}};var sd=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(t,ks,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},xo=y("$ZodError",sd),zs=y("$ZodError",sd,{Parent:Error});function ad(e,t=r=>r.message){let r={},n=[];for(let o of e.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(t(o))):n.push(t(o));return{formErrors:n,fieldErrors:r}}function cd(e,t){let r=t||function(i){return i.message},n={_errors:[]},o=i=>{for(let s of i.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map(a=>o({issues:a}));else if(s.code==="invalid_key")o({issues:s.issues});else if(s.code==="invalid_element")o({issues:s.issues});else if(s.path.length===0)n._errors.push(r(s));else{let a=n,c=0;for(;c<s.path.length;){let l=s.path[c];c===s.path.length-1?(a[l]=a[l]||{_errors:[]},a[l]._errors.push(r(s))):a[l]=a[l]||{_errors:[]},a=a[l],c++}}};return o(e),n}var ud=e=>(t,r,n,o)=>{let i=n?Object.assign(n,{async:!1}):{async:!1},s=t._zod.run({value:r,issues:[]},i);if(s instanceof Promise)throw new gt;if(s.issues.length){let a=new(o?.Err??e)(s.issues.map(c=>Ge(c,i,Me())));throw bo(a,o?.callee),a}return s.value};var ld=e=>async(t,r,n,o)=>{let i=n?Object.assign(n,{async:!0}):{async:!0},s=t._zod.run({value:r,issues:[]},i);if(s instanceof Promise&&(s=await s),s.issues.length){let a=new(o?.Err??e)(s.issues.map(c=>Ge(c,i,Me())));throw bo(a,o?.callee),a}return s.value};var As=e=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},i=t._zod.run({value:r,issues:[]},o);if(i instanceof Promise)throw new gt;return i.issues.length?{success:!1,error:new(e??xo)(i.issues.map(s=>Ge(s,o,Me())))}:{success:!0,data:i.value}},an=As(zs),Is=e=>async(t,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},i=t._zod.run({value:r,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(s=>Ge(s,o,Me())))}:{success:!0,data:i.value}},ko=Is(zs);var dd=/^[cC][^\s-]{8,}$/,fd=/^[0-9a-z]+$/,pd=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,md=/^[0-9a-vA-V]{20}$/,hd=/^[A-Za-z0-9]{27}$/,gd=/^[a-zA-Z0-9_-]{21}$/,yd=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var _d=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Ns=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;var wd=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var Dv="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function bd(){return new RegExp(Dv,"u")}var vd=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,xd=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,kd=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,$d=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Sd=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Cs=/^[A-Za-z0-9_-]*$/,Ed=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var Rd=/^\+(?:[0-9]){6,14}[0-9]$/,Td="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Pd=new RegExp(`^${Td}$`);function Od(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function zd(e){return new RegExp(`^${Od(e)}$`)}function Ad(e){let t=Od({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${t}(?:${r.join("|")})`;return new RegExp(`^${Td}T(?:${n})$`)}var Id=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var Nd=/^\d+$/,Cd=/^-?\d+(?:\.\d+)?/i,Dd=/true|false/i,jd=/null/i;var Ld=/^[^A-Z]*$/,Md=/^[^a-z]*$/;var _e=y("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),qd={number:"number",bigint:"bigint",object:"date"},js=y("$ZodCheckLessThan",(e,t)=>{_e.init(e,t);let r=qd[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,i=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<i&&(t.inclusive?o.maximum=t.value:o.exclusiveMaximum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:r,code:"too_big",maximum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ls=y("$ZodCheckGreaterThan",(e,t)=>{_e.init(e,t);let r=qd[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,i=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>i&&(t.inclusive?o.minimum=t.value:o.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:r,code:"too_small",minimum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Bd=y("$ZodCheckMultipleOf",(e,t)=>{_e.init(e,t),e._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):$s(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),Zd=y("$ZodCheckNumberFormat",(e,t)=>{_e.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[o,i]=Ps[t.format];e._zod.onattach.push(s=>{let a=s._zod.bag;a.format=t.format,a.minimum=o,a.maximum=i,r&&(a.pattern=Nd)}),e._zod.check=s=>{let a=s.value;if(r){if(!Number.isInteger(a)){s.issues.push({expected:n,format:t.format,code:"invalid_type",input:a,inst:e});return}if(!Number.isSafeInteger(a)){a>0?s.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort}):s.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort});return}}a<o&&s.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),a>i&&s.issues.push({origin:"number",input:a,code:"too_big",maximum:i,inst:e})}});var Ud=y("$ZodCheckMaxLength",(e,t)=>{var r;_e.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!nn(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let o=n.value;if(o.length<=t.maximum)return;let s=sn(o);n.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Fd=y("$ZodCheckMinLength",(e,t)=>{var r;_e.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!nn(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let o=n.value;if(o.length>=t.minimum)return;let s=sn(o);n.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Vd=y("$ZodCheckLengthEquals",(e,t)=>{var r;_e.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!nn(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=n=>{let o=n.value,i=o.length;if(i===t.length)return;let s=sn(o),a=i>t.length;n.issues.push({origin:s,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),cn=y("$ZodCheckStringFormat",(e,t)=>{var r,n;_e.init(e,t),e._zod.onattach.push(o=>{let i=o._zod.bag;i.format=t.format,t.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),Kd=y("$ZodCheckRegex",(e,t)=>{cn.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Hd=y("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Ld),cn.init(e,t)}),Wd=y("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Md),cn.init(e,t)}),Gd=y("$ZodCheckIncludes",(e,t)=>{_e.init(e,t);let r=St(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(o=>{let i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(n)}),e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Jd=y("$ZodCheckStartsWith",(e,t)=>{_e.init(e,t);let r=new RegExp(`^${St(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Yd=y("$ZodCheckEndsWith",(e,t)=>{_e.init(e,t);let r=new RegExp(`.*${St(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});var Qd=y("$ZodCheckOverwrite",(e,t)=>{_e.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});var $o=class{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let n=t.split(`
11
- `).filter(s=>s),o=Math.min(...n.map(s=>s.length-s.trimStart().length)),i=n.map(s=>s.slice(o)).map(s=>" ".repeat(this.indent*2)+s);for(let s of i)this.content.push(s)}compile(){let t=Function,r=this?.args,o=[...(this?.content??[""]).map(i=>` ${i}`)];return new t(...r,o.join(`
12
- `))}};var ef={major:4,minor:0,patch:0};var G=y("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=ef;let n=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&n.unshift(e);for(let o of n)for(let i of o._zod.onattach)i(e);if(n.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(i,s,a)=>{let c=Zt(i),l;for(let u of s){if(u._zod.def.when){if(!u._zod.def.when(i))continue}else if(c)continue;let d=i.issues.length,f=u._zod.check(i);if(f instanceof Promise&&a?.async===!1)throw new gt;if(l||f instanceof Promise)l=(l??Promise.resolve()).then(async()=>{await f,i.issues.length!==d&&(c||(c=Zt(i,d)))});else{if(i.issues.length===d)continue;c||(c=Zt(i,d))}}return l?l.then(()=>i):i};e._zod.run=(i,s)=>{let a=e._zod.parse(i,s);if(a instanceof Promise){if(s.async===!1)throw new gt;return a.then(c=>o(c,n,s))}return o(a,n,s)}}e["~standard"]={validate:o=>{try{let i=an(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return ko(e,o).then(s=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}}),Eo=y("$ZodString",(e,t)=>{G.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Id(e._zod.bag),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),Q=y("$ZodStringFormat",(e,t)=>{cn.init(e,t),Eo.init(e,t)}),df=y("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=_d),Q.init(e,t)}),ff=y("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Ns(n))}else t.pattern??(t.pattern=Ns());Q.init(e,t)}),pf=y("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=wd),Q.init(e,t)}),mf=y("$ZodURL",(e,t)=>{Q.init(e,t),e._zod.check=r=>{try{let n=r.value,o=new URL(n),i=o.href;t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:Ed.source,input:r.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})),!n.endsWith("/")&&i.endsWith("/")?r.value=i.slice(0,-1):r.value=i;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),hf=y("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=bd()),Q.init(e,t)}),gf=y("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=gd),Q.init(e,t)}),yf=y("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=dd),Q.init(e,t)}),_f=y("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=fd),Q.init(e,t)}),wf=y("$ZodULID",(e,t)=>{t.pattern??(t.pattern=pd),Q.init(e,t)}),bf=y("$ZodXID",(e,t)=>{t.pattern??(t.pattern=md),Q.init(e,t)}),vf=y("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=hd),Q.init(e,t)}),xf=y("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Ad(t)),Q.init(e,t)}),kf=y("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Pd),Q.init(e,t)}),$f=y("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=zd(t)),Q.init(e,t)}),Sf=y("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=yd),Q.init(e,t)}),Ef=y("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=vd),Q.init(e,t),e._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),Rf=y("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=xd),Q.init(e,t),e._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv6"}),e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),Tf=y("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=kd),Q.init(e,t)}),Pf=y("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=$d),Q.init(e,t),e._zod.check=r=>{let[n,o]=r.value.split("/");try{if(!o)throw new Error;let i=Number(o);if(`${i}`!==o)throw new Error;if(i<0||i>128)throw new Error;new URL(`http://[${n}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}}});function Of(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var zf=y("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Sd),Q.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),e._zod.check=r=>{Of(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function jv(e){if(!Cs.test(e))return!1;let t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return Of(r)}var Af=y("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Cs),Q.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),e._zod.check=r=>{jv(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),If=y("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Rd),Q.init(e,t)});function Lv(e,t=null){try{let r=e.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let o=JSON.parse(atob(n));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}var Nf=y("$ZodJWT",(e,t)=>{Q.init(e,t),e._zod.check=r=>{Lv(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}});var qs=y("$ZodNumber",(e,t)=>{G.init(e,t),e._zod.pattern=e._zod.bag.pattern??Cd,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch{}let o=r.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let i=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),r}}),Cf=y("$ZodNumber",(e,t)=>{Zd.init(e,t),qs.init(e,t)}),Df=y("$ZodBoolean",(e,t)=>{G.init(e,t),e._zod.pattern=Dd,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=!!r.value}catch{}let o=r.value;return typeof o=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),r}});var jf=y("$ZodNull",(e,t)=>{G.init(e,t),e._zod.pattern=jd,e._zod.values=new Set([null]),e._zod.parse=(r,n)=>{let o=r.value;return o===null||r.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),r}});var Lf=y("$ZodUnknown",(e,t)=>{G.init(e,t),e._zod.parse=r=>r}),Mf=y("$ZodNever",(e,t)=>{G.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function tf(e,t,r){e.issues.length&&t.issues.push(...at(r,e.issues)),t.value[r]=e.value}var qf=y("$ZodArray",(e,t)=>{G.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),r;r.value=Array(o.length);let i=[];for(let s=0;s<o.length;s++){let a=o[s],c=t.element._zod.run({value:a,issues:[]},n);c instanceof Promise?i.push(c.then(l=>tf(l,r,s))):tf(c,r,s)}return i.length?Promise.all(i).then(()=>r):r}});function So(e,t,r){e.issues.length&&t.issues.push(...at(r,e.issues)),t.value[r]=e.value}function rf(e,t,r,n){e.issues.length?n[r]===void 0?r in n?t.value[r]=void 0:t.value[r]=e.value:t.issues.push(...at(r,e.issues)):e.value===void 0?r in n&&(t.value[r]=void 0):t.value[r]=e.value}var Bf=y("$ZodObject",(e,t)=>{G.init(e,t);let r=rn(()=>{let d=Object.keys(t.shape);for(let p of d)if(!(t.shape[p]instanceof G))throw new Error(`Invalid element at key "${p}": expected a Zod schema`);let f=Ts(t.shape);return{shape:t.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(f)}});W(e._zod,"propValues",()=>{let d=t.shape,f={};for(let p in d){let m=d[p]._zod;if(m.values){f[p]??(f[p]=new Set);for(let h of m.values)f[p].add(h)}}return f});let n=d=>{let f=new $o(["shape","payload","ctx"]),p=r.value,m=v=>{let x=Bt(v);return`shape[${x}]._zod.run({ value: input[${x}], issues: [] }, ctx)`};f.write("const input = payload.value;");let h=Object.create(null),_=0;for(let v of p.keys)h[v]=`key_${_++}`;f.write("const newResult = {}");for(let v of p.keys)if(p.optionalKeys.has(v)){let x=h[v];f.write(`const ${x} = ${m(v)};`);let T=Bt(v);f.write(`
13
- if (${x}.issues.length) {
14
- if (input[${T}] === undefined) {
15
- if (${T} in input) {
16
- newResult[${T}] = undefined;
17
- }
18
- } else {
19
- payload.issues = payload.issues.concat(
20
- ${x}.issues.map((iss) => ({
21
- ...iss,
22
- path: iss.path ? [${T}, ...iss.path] : [${T}],
23
- }))
24
- );
25
- }
26
- } else if (${x}.value === undefined) {
27
- if (${T} in input) newResult[${T}] = undefined;
28
- } else {
29
- newResult[${T}] = ${x}.value;
30
- }
31
- `)}else{let x=h[v];f.write(`const ${x} = ${m(v)};`),f.write(`
32
- if (${x}.issues.length) payload.issues = payload.issues.concat(${x}.issues.map(iss => ({
33
- ...iss,
34
- path: iss.path ? [${Bt(v)}, ...iss.path] : [${Bt(v)}]
35
- })));`),f.write(`newResult[${Bt(v)}] = ${x}.value`)}f.write("payload.value = newResult;"),f.write("return payload;");let b=f.compile();return(v,x)=>b(d,v,x)},o,i=mr,s=!_o.jitless,c=s&&Es.value,l=t.catchall,u;e._zod.parse=(d,f)=>{u??(u=r.value);let p=d.value;if(!i(p))return d.issues.push({expected:"object",code:"invalid_type",input:p,inst:e}),d;let m=[];if(s&&c&&f?.async===!1&&f.jitless!==!0)o||(o=n(t.shape)),d=o(d,f);else{d.value={};let x=u.shape;for(let T of u.keys){let z=x[T],$e=z._zod.run({value:p[T],issues:[]},f),Le=z._zod.optin==="optional"&&z._zod.optout==="optional";$e instanceof Promise?m.push($e.then(fr=>Le?rf(fr,d,T,p):So(fr,d,T))):Le?rf($e,d,T,p):So($e,d,T)}}if(!l)return m.length?Promise.all(m).then(()=>d):d;let h=[],_=u.keySet,b=l._zod,v=b.def.type;for(let x of Object.keys(p)){if(_.has(x))continue;if(v==="never"){h.push(x);continue}let T=b.run({value:p[x],issues:[]},f);T instanceof Promise?m.push(T.then(z=>So(z,d,x))):So(T,d,x)}return h.length&&d.issues.push({code:"unrecognized_keys",keys:h,input:p,inst:e}),m.length?Promise.all(m).then(()=>d):d}});function nf(e,t,r,n){for(let o of e)if(o.issues.length===0)return t.value=o.value,t;return t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(o=>o.issues.map(i=>Ge(i,n,Me())))}),t}var Bs=y("$ZodUnion",(e,t)=>{G.init(e,t),W(e._zod,"optin",()=>t.options.some(r=>r._zod.optin==="optional")?"optional":void 0),W(e._zod,"optout",()=>t.options.some(r=>r._zod.optout==="optional")?"optional":void 0),W(e._zod,"values",()=>{if(t.options.every(r=>r._zod.values))return new Set(t.options.flatMap(r=>Array.from(r._zod.values)))}),W(e._zod,"pattern",()=>{if(t.options.every(r=>r._zod.pattern)){let r=t.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>on(n.source)).join("|")})$`)}}),e._zod.parse=(r,n)=>{let o=!1,i=[];for(let s of t.options){let a=s._zod.run({value:r.value,issues:[]},n);if(a instanceof Promise)i.push(a),o=!0;else{if(a.issues.length===0)return a;i.push(a)}}return o?Promise.all(i).then(s=>nf(s,r,e,n)):nf(i,r,e,n)}}),Zf=y("$ZodDiscriminatedUnion",(e,t)=>{Bs.init(e,t);let r=e._zod.parse;W(e._zod,"propValues",()=>{let o={};for(let i of t.options){let s=i._zod.propValues;if(!s||Object.keys(s).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(let[a,c]of Object.entries(s)){o[a]||(o[a]=new Set);for(let l of c)o[a].add(l)}}return o});let n=rn(()=>{let o=t.options,i=new Map;for(let s of o){let a=s._zod.propValues[t.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(s)}"`);for(let c of a){if(i.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);i.set(c,s)}}return i});e._zod.parse=(o,i)=>{let s=o.value;if(!mr(s))return o.issues.push({code:"invalid_type",expected:"object",input:s,inst:e}),o;let a=n.value.get(s?.[t.discriminator]);return a?a._zod.run(o,i):t.unionFallback?r(o,i):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:s,path:[t.discriminator],inst:e}),o)}}),Uf=y("$ZodIntersection",(e,t)=>{G.init(e,t),e._zod.parse=(r,n)=>{let o=r.value,i=t.left._zod.run({value:o,issues:[]},n),s=t.right._zod.run({value:o,issues:[]},n);return i instanceof Promise||s instanceof Promise?Promise.all([i,s]).then(([c,l])=>of(r,c,l)):of(r,i,s)}});function Ms(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(hr(e)&&hr(t)){let r=Object.keys(t),n=Object.keys(e).filter(i=>r.indexOf(i)!==-1),o={...e,...t};for(let i of n){let s=Ms(e[i],t[i]);if(!s.valid)return{valid:!1,mergeErrorPath:[i,...s.mergeErrorPath]};o[i]=s.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<e.length;n++){let o=e[n],i=t[n],s=Ms(o,i);if(!s.valid)return{valid:!1,mergeErrorPath:[n,...s.mergeErrorPath]};r.push(s.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function of(e,t,r){if(t.issues.length&&e.issues.push(...t.issues),r.issues.length&&e.issues.push(...r.issues),Zt(e))return e;let n=Ms(t.value,r.value);if(!n.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(n.mergeErrorPath)}`);return e.value=n.data,e}var Ff=y("$ZodRecord",(e,t)=>{G.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!hr(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),r;let i=[];if(t.keyType._zod.values){let s=t.keyType._zod.values;r.value={};for(let c of s)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let l=t.valueType._zod.run({value:o[c],issues:[]},n);l instanceof Promise?i.push(l.then(u=>{u.issues.length&&r.issues.push(...at(c,u.issues)),r.value[c]=u.value})):(l.issues.length&&r.issues.push(...at(c,l.issues)),r.value[c]=l.value)}let a;for(let c in o)s.has(c)||(a=a??[],a.push(c));a&&a.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:a})}else{r.value={};for(let s of Reflect.ownKeys(o)){if(s==="__proto__")continue;let a=t.keyType._zod.run({value:s,issues:[]},n);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){r.issues.push({origin:"record",code:"invalid_key",issues:a.issues.map(l=>Ge(l,n,Me())),input:s,path:[s],inst:e}),r.value[a.value]=a.value;continue}let c=t.valueType._zod.run({value:o[s],issues:[]},n);c instanceof Promise?i.push(c.then(l=>{l.issues.length&&r.issues.push(...at(s,l.issues)),r.value[a.value]=l.value})):(c.issues.length&&r.issues.push(...at(s,c.issues)),r.value[a.value]=c.value)}}return i.length?Promise.all(i).then(()=>r):r}});var Vf=y("$ZodEnum",(e,t)=>{G.init(e,t);let r=xs(t.entries);e._zod.values=new Set(r),e._zod.pattern=new RegExp(`^(${r.filter(n=>Rs.has(typeof n)).map(n=>typeof n=="string"?St(n):n.toString()).join("|")})$`),e._zod.parse=(n,o)=>{let i=n.value;return e._zod.values.has(i)||n.issues.push({code:"invalid_value",values:r,input:i,inst:e}),n}}),Kf=y("$ZodLiteral",(e,t)=>{G.init(e,t),e._zod.values=new Set(t.values),e._zod.pattern=new RegExp(`^(${t.values.map(r=>typeof r=="string"?St(r):r?r.toString():String(r)).join("|")})$`),e._zod.parse=(r,n)=>{let o=r.value;return e._zod.values.has(o)||r.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),r}});var Hf=y("$ZodTransform",(e,t)=>{G.init(e,t),e._zod.parse=(r,n)=>{let o=t.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(s=>(r.value=s,r));if(o instanceof Promise)throw new gt;return r.value=o,r}}),Wf=y("$ZodOptional",(e,t)=>{G.init(e,t),e._zod.optin="optional",e._zod.optout="optional",W(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),W(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${on(r.source)})?$`):void 0}),e._zod.parse=(r,n)=>t.innerType._zod.optin==="optional"?t.innerType._zod.run(r,n):r.value===void 0?r:t.innerType._zod.run(r,n)}),Gf=y("$ZodNullable",(e,t)=>{G.init(e,t),W(e._zod,"optin",()=>t.innerType._zod.optin),W(e._zod,"optout",()=>t.innerType._zod.optout),W(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${on(r.source)}|null)$`):void 0}),W(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>r.value===null?r:t.innerType._zod.run(r,n)}),Jf=y("$ZodDefault",(e,t)=>{G.init(e,t),e._zod.optin="optional",W(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=t.defaultValue,r;let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>sf(i,t)):sf(o,t)}});function sf(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Yf=y("$ZodPrefault",(e,t)=>{G.init(e,t),e._zod.optin="optional",W(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>(r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,n))}),Qf=y("$ZodNonOptional",(e,t)=>{G.init(e,t),W(e._zod,"values",()=>{let r=t.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>af(i,e)):af(o,e)}});function af(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var Xf=y("$ZodCatch",(e,t)=>{G.init(e,t),e._zod.optin="optional",W(e._zod,"optout",()=>t.innerType._zod.optout),W(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>(r.value=i.value,i.issues.length&&(r.value=t.catchValue({...r,error:{issues:i.issues.map(s=>Ge(s,n,Me()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=t.catchValue({...r,error:{issues:o.issues.map(i=>Ge(i,n,Me()))},input:r.value}),r.issues=[]),r)}});var ep=y("$ZodPipe",(e,t)=>{G.init(e,t),W(e._zod,"values",()=>t.in._zod.values),W(e._zod,"optin",()=>t.in._zod.optin),W(e._zod,"optout",()=>t.out._zod.optout),e._zod.parse=(r,n)=>{let o=t.in._zod.run(r,n);return o instanceof Promise?o.then(i=>cf(i,t,n)):cf(o,t,n)}});function cf(e,t,r){return Zt(e)?e:t.out._zod.run({value:e.value,issues:e.issues},r)}var tp=y("$ZodReadonly",(e,t)=>{G.init(e,t),W(e._zod,"propValues",()=>t.innerType._zod.propValues),W(e._zod,"values",()=>t.innerType._zod.values),W(e._zod,"optin",()=>t.innerType._zod.optin),W(e._zod,"optout",()=>t.innerType._zod.optout),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(uf):uf(o)}});function uf(e){return e.value=Object.freeze(e.value),e}var rp=y("$ZodCustom",(e,t)=>{_e.init(e,t),G.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{let n=r.value,o=t.fn(n);if(o instanceof Promise)return o.then(i=>lf(i,r,n,e));lf(o,r,n,e)}});function lf(e,t,r,n){if(!e){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),t.issues.push(Os(o))}}var Mv=e=>{let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"NaN":"number";case"object":{if(Array.isArray(e))return"array";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return t},qv=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function t(n){return e[n]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return n=>{switch(n.code){case"invalid_type":return`Invalid input: expected ${n.expected}, received ${Mv(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${vo(n.values[0])}`:`Invalid option: expected one of ${wo(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",i=t(n.origin);return i?`Too big: expected ${n.origin??"value"} to have ${o}${n.maximum.toString()} ${i.unit??"elements"}`:`Too big: expected ${n.origin??"value"} to be ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",i=t(n.origin);return i?`Too small: expected ${n.origin} to have ${o}${n.minimum.toString()} ${i.unit}`:`Too small: expected ${n.origin} to be ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Invalid string: must start with "${o.prefix}"`:o.format==="ends_with"?`Invalid string: must end with "${o.suffix}"`:o.format==="includes"?`Invalid string: must include "${o.includes}"`:o.format==="regex"?`Invalid string: must match pattern ${o.pattern}`:`Invalid ${r[o.format]??n.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${n.divisor}`;case"unrecognized_keys":return`Unrecognized key${n.keys.length>1?"s":""}: ${wo(n.keys,", ")}`;case"invalid_key":return`Invalid key in ${n.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${n.origin}`;default:return"Invalid input"}}};function np(){return{localeError:qv()}}var e1=Symbol("ZodOutput"),t1=Symbol("ZodInput"),Zs=class{constructor(){this._map=new Map,this._idmap=new Map}add(t,...r){let n=r[0];if(this._map.set(t,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,t)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(t){let r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){let r=t._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(t)}}return this._map.get(t)}has(t){return this._map.has(t)}};function Bv(){return new Zs}var un=Bv();function op(e,t){return new e({type:"string",...P(t)})}function ip(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...P(t)})}function Us(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...P(t)})}function sp(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...P(t)})}function ap(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...P(t)})}function cp(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...P(t)})}function up(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...P(t)})}function lp(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...P(t)})}function dp(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...P(t)})}function fp(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...P(t)})}function pp(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...P(t)})}function mp(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...P(t)})}function hp(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...P(t)})}function gp(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...P(t)})}function yp(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...P(t)})}function _p(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...P(t)})}function wp(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...P(t)})}function bp(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...P(t)})}function vp(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...P(t)})}function xp(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...P(t)})}function kp(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...P(t)})}function $p(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...P(t)})}function Sp(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...P(t)})}function Ep(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...P(t)})}function Rp(e,t){return new e({type:"string",format:"date",check:"string_format",...P(t)})}function Tp(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...P(t)})}function Pp(e,t){return new e({type:"string",format:"duration",check:"string_format",...P(t)})}function Op(e,t){return new e({type:"number",checks:[],...P(t)})}function zp(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...P(t)})}function Ap(e,t){return new e({type:"boolean",...P(t)})}function Ip(e,t){return new e({type:"null",...P(t)})}function Np(e){return new e({type:"unknown"})}function Cp(e,t){return new e({type:"never",...P(t)})}function Ro(e,t){return new js({check:"less_than",...P(t),value:e,inclusive:!1})}function ln(e,t){return new js({check:"less_than",...P(t),value:e,inclusive:!0})}function To(e,t){return new Ls({check:"greater_than",...P(t),value:e,inclusive:!1})}function dn(e,t){return new Ls({check:"greater_than",...P(t),value:e,inclusive:!0})}function Po(e,t){return new Bd({check:"multiple_of",...P(t),value:e})}function Oo(e,t){return new Ud({check:"max_length",...P(t),maximum:e})}function gr(e,t){return new Fd({check:"min_length",...P(t),minimum:e})}function zo(e,t){return new Vd({check:"length_equals",...P(t),length:e})}function Fs(e,t){return new Kd({check:"string_format",format:"regex",...P(t),pattern:e})}function Vs(e){return new Hd({check:"string_format",format:"lowercase",...P(e)})}function Ks(e){return new Wd({check:"string_format",format:"uppercase",...P(e)})}function Hs(e,t){return new Gd({check:"string_format",format:"includes",...P(t),includes:e})}function Ws(e,t){return new Jd({check:"string_format",format:"starts_with",...P(t),prefix:e})}function Gs(e,t){return new Yd({check:"string_format",format:"ends_with",...P(t),suffix:e})}function Ut(e){return new Qd({check:"overwrite",tx:e})}function Js(e){return Ut(t=>t.normalize(e))}function Ys(){return Ut(e=>e.trim())}function Qs(){return Ut(e=>e.toLowerCase())}function Xs(){return Ut(e=>e.toUpperCase())}function Dp(e,t,r){return new e({type:"array",element:t,...P(r)})}function jp(e,t,r){let n=P(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}function Lp(e,t,r){return new e({type:"custom",check:"custom",fn:t,...P(r)})}function yr(e){return!!e._zod}function Je(e,t){return yr(e)?an(e,t):e.safeParse(t)}function Ao(e){if(!e)return;let t;if(yr(e)?t=e._zod?.def?.shape:t=e.shape,!!t){if(typeof t=="function")try{return t()}catch{return}return t}}function Mp(e){if(yr(e)){let i=e._zod?.def;if(i){if(i.value!==void 0)return i.value;if(Array.isArray(i.values)&&i.values.length>0)return i.values[0]}}let r=e._def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}let n=e.value;if(n!==void 0)return n}var pn={};ed(pn,{ZodISODate:()=>Bp,ZodISODateTime:()=>qp,ZodISODuration:()=>Up,ZodISOTime:()=>Zp,date:()=>ta,datetime:()=>ea,duration:()=>na,time:()=>ra});var qp=y("ZodISODateTime",(e,t)=>{xf.init(e,t),re.init(e,t)});function ea(e){return Ep(qp,e)}var Bp=y("ZodISODate",(e,t)=>{kf.init(e,t),re.init(e,t)});function ta(e){return Rp(Bp,e)}var Zp=y("ZodISOTime",(e,t)=>{$f.init(e,t),re.init(e,t)});function ra(e){return Tp(Zp,e)}var Up=y("ZodISODuration",(e,t)=>{Sf.init(e,t),re.init(e,t)});function na(e){return Pp(Up,e)}var Fp=(e,t)=>{xo.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>cd(e,r)},flatten:{value:r=>ad(e,r)},addIssue:{value:r=>e.issues.push(r)},addIssues:{value:r=>e.issues.push(...r)},isEmpty:{get(){return e.issues.length===0}}})},C1=y("ZodError",Fp),mn=y("ZodError",Fp,{Parent:Error});var Vp=ud(mn),Kp=ld(mn),Hp=As(mn),Wp=Is(mn);var ie=y("ZodType",(e,t)=>(G.init(e,t),e.def=t,Object.defineProperty(e,"_def",{value:t}),e.check=(...r)=>e.clone({...t,checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),e.clone=(r,n)=>st(e,r,n),e.brand=()=>e,e.register=(r,n)=>(r.add(e,n),e),e.parse=(r,n)=>Vp(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>Hp(e,r,n),e.parseAsync=async(r,n)=>Kp(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>Wp(e,r,n),e.spa=e.safeParseAsync,e.refine=(r,n)=>e.check(Lx(r,n)),e.superRefine=r=>e.check(Mx(r)),e.overwrite=r=>e.check(Ut(r)),e.optional=()=>oe(e),e.nullable=()=>Yp(e),e.nullish=()=>oe(Yp(e)),e.nonoptional=r=>zx(e,r),e.array=()=>L(e),e.or=r=>X([e,r]),e.and=r=>No(e,r),e.transform=r=>ia(e,nm(r)),e.default=r=>Tx(e,r),e.prefault=r=>Ox(e,r),e.catch=r=>Ix(e,r),e.pipe=r=>ia(e,r),e.readonly=()=>Dx(e),e.describe=r=>{let n=e.clone();return un.add(n,{description:r}),n},Object.defineProperty(e,"description",{get(){return un.get(e)?.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return un.get(e);let n=e.clone();return un.add(n,r[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),Qp=y("_ZodString",(e,t)=>{Eo.init(e,t),ie.init(e,t);let r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...n)=>e.check(Fs(...n)),e.includes=(...n)=>e.check(Hs(...n)),e.startsWith=(...n)=>e.check(Ws(...n)),e.endsWith=(...n)=>e.check(Gs(...n)),e.min=(...n)=>e.check(gr(...n)),e.max=(...n)=>e.check(Oo(...n)),e.length=(...n)=>e.check(zo(...n)),e.nonempty=(...n)=>e.check(gr(1,...n)),e.lowercase=n=>e.check(Vs(n)),e.uppercase=n=>e.check(Ks(n)),e.trim=()=>e.check(Ys()),e.normalize=(...n)=>e.check(Js(...n)),e.toLowerCase=()=>e.check(Qs()),e.toUpperCase=()=>e.check(Xs())}),Jv=y("ZodString",(e,t)=>{Eo.init(e,t),Qp.init(e,t),e.email=r=>e.check(ip(Yv,r)),e.url=r=>e.check(lp(Qv,r)),e.jwt=r=>e.check(Sp(px,r)),e.emoji=r=>e.check(dp(Xv,r)),e.guid=r=>e.check(Us(Gp,r)),e.uuid=r=>e.check(sp(Io,r)),e.uuidv4=r=>e.check(ap(Io,r)),e.uuidv6=r=>e.check(cp(Io,r)),e.uuidv7=r=>e.check(up(Io,r)),e.nanoid=r=>e.check(fp(ex,r)),e.guid=r=>e.check(Us(Gp,r)),e.cuid=r=>e.check(pp(tx,r)),e.cuid2=r=>e.check(mp(rx,r)),e.ulid=r=>e.check(hp(nx,r)),e.base64=r=>e.check(xp(lx,r)),e.base64url=r=>e.check(kp(dx,r)),e.xid=r=>e.check(gp(ox,r)),e.ksuid=r=>e.check(yp(ix,r)),e.ipv4=r=>e.check(_p(sx,r)),e.ipv6=r=>e.check(wp(ax,r)),e.cidrv4=r=>e.check(bp(cx,r)),e.cidrv6=r=>e.check(vp(ux,r)),e.e164=r=>e.check($p(fx,r)),e.datetime=r=>e.check(ea(r)),e.date=r=>e.check(ta(r)),e.time=r=>e.check(ra(r)),e.duration=r=>e.check(na(r))});function g(e){return op(Jv,e)}var re=y("ZodStringFormat",(e,t)=>{Q.init(e,t),Qp.init(e,t)}),Yv=y("ZodEmail",(e,t)=>{pf.init(e,t),re.init(e,t)});var Gp=y("ZodGUID",(e,t)=>{df.init(e,t),re.init(e,t)});var Io=y("ZodUUID",(e,t)=>{ff.init(e,t),re.init(e,t)});var Qv=y("ZodURL",(e,t)=>{mf.init(e,t),re.init(e,t)});var Xv=y("ZodEmoji",(e,t)=>{hf.init(e,t),re.init(e,t)});var ex=y("ZodNanoID",(e,t)=>{gf.init(e,t),re.init(e,t)});var tx=y("ZodCUID",(e,t)=>{yf.init(e,t),re.init(e,t)});var rx=y("ZodCUID2",(e,t)=>{_f.init(e,t),re.init(e,t)});var nx=y("ZodULID",(e,t)=>{wf.init(e,t),re.init(e,t)});var ox=y("ZodXID",(e,t)=>{bf.init(e,t),re.init(e,t)});var ix=y("ZodKSUID",(e,t)=>{vf.init(e,t),re.init(e,t)});var sx=y("ZodIPv4",(e,t)=>{Ef.init(e,t),re.init(e,t)});var ax=y("ZodIPv6",(e,t)=>{Rf.init(e,t),re.init(e,t)});var cx=y("ZodCIDRv4",(e,t)=>{Tf.init(e,t),re.init(e,t)});var ux=y("ZodCIDRv6",(e,t)=>{Pf.init(e,t),re.init(e,t)});var lx=y("ZodBase64",(e,t)=>{zf.init(e,t),re.init(e,t)});var dx=y("ZodBase64URL",(e,t)=>{Af.init(e,t),re.init(e,t)});var fx=y("ZodE164",(e,t)=>{If.init(e,t),re.init(e,t)});var px=y("ZodJWT",(e,t)=>{Nf.init(e,t),re.init(e,t)});var Xp=y("ZodNumber",(e,t)=>{qs.init(e,t),ie.init(e,t),e.gt=(n,o)=>e.check(To(n,o)),e.gte=(n,o)=>e.check(dn(n,o)),e.min=(n,o)=>e.check(dn(n,o)),e.lt=(n,o)=>e.check(Ro(n,o)),e.lte=(n,o)=>e.check(ln(n,o)),e.max=(n,o)=>e.check(ln(n,o)),e.int=n=>e.check(Jp(n)),e.safe=n=>e.check(Jp(n)),e.positive=n=>e.check(To(0,n)),e.nonnegative=n=>e.check(dn(0,n)),e.negative=n=>e.check(Ro(0,n)),e.nonpositive=n=>e.check(ln(0,n)),e.multipleOf=(n,o)=>e.check(Po(n,o)),e.step=(n,o)=>e.check(Po(n,o)),e.finite=()=>e;let r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function V(e){return Op(Xp,e)}var mx=y("ZodNumberFormat",(e,t)=>{Cf.init(e,t),Xp.init(e,t)});function Jp(e){return zp(mx,e)}var hx=y("ZodBoolean",(e,t)=>{Df.init(e,t),ie.init(e,t)});function le(e){return Ap(hx,e)}var gx=y("ZodNull",(e,t)=>{jf.init(e,t),ie.init(e,t)});function em(e){return Ip(gx,e)}var yx=y("ZodUnknown",(e,t)=>{Lf.init(e,t),ie.init(e,t)});function ne(){return Np(yx)}var _x=y("ZodNever",(e,t)=>{Mf.init(e,t),ie.init(e,t)});function wx(e){return Cp(_x,e)}var bx=y("ZodArray",(e,t)=>{qf.init(e,t),ie.init(e,t),e.element=t.element,e.min=(r,n)=>e.check(gr(r,n)),e.nonempty=r=>e.check(gr(1,r)),e.max=(r,n)=>e.check(Oo(r,n)),e.length=(r,n)=>e.check(zo(r,n)),e.unwrap=()=>e.element});function L(e,t){return Dp(bx,e,t)}var tm=y("ZodObject",(e,t)=>{Bf.init(e,t),ie.init(e,t),U.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>Oe(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:ne()}),e.loose=()=>e.clone({...e._zod.def,catchall:ne()}),e.strict=()=>e.clone({...e._zod.def,catchall:wx()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>U.extend(e,r),e.merge=r=>U.merge(e,r),e.pick=r=>U.pick(e,r),e.omit=r=>U.omit(e,r),e.partial=(...r)=>U.partial(om,e,r[0]),e.required=(...r)=>U.required(im,e,r[0])});function k(e,t){let r={type:"object",get shape(){return U.assignProp(this,"shape",{...e}),this.shape},...U.normalizeParams(t)};return new tm(r)}function Se(e,t){return new tm({type:"object",get shape(){return U.assignProp(this,"shape",{...e}),this.shape},catchall:ne(),...U.normalizeParams(t)})}var rm=y("ZodUnion",(e,t)=>{Bs.init(e,t),ie.init(e,t),e.options=t.options});function X(e,t){return new rm({type:"union",options:e,...U.normalizeParams(t)})}var vx=y("ZodDiscriminatedUnion",(e,t)=>{rm.init(e,t),Zf.init(e,t)});function sa(e,t,r){return new vx({type:"union",options:t,discriminator:e,...U.normalizeParams(r)})}var xx=y("ZodIntersection",(e,t)=>{Uf.init(e,t),ie.init(e,t)});function No(e,t){return new xx({type:"intersection",left:e,right:t})}var kx=y("ZodRecord",(e,t)=>{Ff.init(e,t),ie.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function J(e,t,r){return new kx({type:"record",keyType:e,valueType:t,...U.normalizeParams(r)})}var oa=y("ZodEnum",(e,t)=>{Vf.init(e,t),ie.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);let r=new Set(Object.keys(t.entries));e.extract=(n,o)=>{let i={};for(let s of n)if(r.has(s))i[s]=t.entries[s];else throw new Error(`Key ${s} not found in enum`);return new oa({...t,checks:[],...U.normalizeParams(o),entries:i})},e.exclude=(n,o)=>{let i={...t.entries};for(let s of n)if(r.has(s))delete i[s];else throw new Error(`Key ${s} not found in enum`);return new oa({...t,checks:[],...U.normalizeParams(o),entries:i})}});function Oe(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new oa({type:"enum",entries:r,...U.normalizeParams(t)})}var $x=y("ZodLiteral",(e,t)=>{Kf.init(e,t),ie.init(e,t),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function $(e,t){return new $x({type:"literal",values:Array.isArray(e)?e:[e],...U.normalizeParams(t)})}var Sx=y("ZodTransform",(e,t)=>{Hf.init(e,t),ie.init(e,t),e._zod.parse=(r,n)=>{r.addIssue=i=>{if(typeof i=="string")r.issues.push(U.issue(i,r.value,t));else{let s=i;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=r.value),s.inst??(s.inst=e),s.continue??(s.continue=!0),r.issues.push(U.issue(s))}};let o=t.transform(r.value,r);return o instanceof Promise?o.then(i=>(r.value=i,r)):(r.value=o,r)}});function nm(e){return new Sx({type:"transform",transform:e})}var om=y("ZodOptional",(e,t)=>{Wf.init(e,t),ie.init(e,t),e.unwrap=()=>e._zod.def.innerType});function oe(e){return new om({type:"optional",innerType:e})}var Ex=y("ZodNullable",(e,t)=>{Gf.init(e,t),ie.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Yp(e){return new Ex({type:"nullable",innerType:e})}var Rx=y("ZodDefault",(e,t)=>{Jf.init(e,t),ie.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Tx(e,t){return new Rx({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var Px=y("ZodPrefault",(e,t)=>{Yf.init(e,t),ie.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Ox(e,t){return new Px({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var im=y("ZodNonOptional",(e,t)=>{Qf.init(e,t),ie.init(e,t),e.unwrap=()=>e._zod.def.innerType});function zx(e,t){return new im({type:"nonoptional",innerType:e,...U.normalizeParams(t)})}var Ax=y("ZodCatch",(e,t)=>{Xf.init(e,t),ie.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Ix(e,t){return new Ax({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var Nx=y("ZodPipe",(e,t)=>{ep.init(e,t),ie.init(e,t),e.in=t.in,e.out=t.out});function ia(e,t){return new Nx({type:"pipe",in:e,out:t})}var Cx=y("ZodReadonly",(e,t)=>{tp.init(e,t),ie.init(e,t)});function Dx(e){return new Cx({type:"readonly",innerType:e})}var sm=y("ZodCustom",(e,t)=>{rp.init(e,t),ie.init(e,t)});function jx(e){let t=new _e({check:"custom"});return t._zod.check=e,t}function am(e,t){return jp(sm,e??(()=>!0),t)}function Lx(e,t={}){return Lp(sm,e,t)}function Mx(e){let t=jx(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(U.issue(n,r.value,t._zod.def));else{let o=n;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=t),o.continue??(o.continue=!t._zod.def.abort),r.issues.push(U.issue(o))}},e(r.value,r)));return t}function aa(e,t){return ia(nm(e),t)}Me(np());var ua="2025-11-25";var cm=[ua,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],Et="io.modelcontextprotocol/related-task",Do="2.0",ue=am(e=>e!==null&&(typeof e=="object"||typeof e=="function")),um=X([g(),V().int()]),lm=g(),TD=Se({ttl:V().optional(),pollInterval:V().optional()}),qx=k({ttl:V().optional()}),Bx=k({taskId:g()}),la=Se({progressToken:um.optional(),[Et]:Bx.optional()}),De=k({_meta:la.optional()}),hn=De.extend({task:qx.optional()}),dm=e=>hn.safeParse(e).success,fe=k({method:g(),params:De.loose().optional()}),qe=k({_meta:la.optional()}),Be=k({method:g(),params:qe.loose().optional()}),pe=Se({_meta:la.optional()}),jo=X([g(),V().int()]),fm=k({jsonrpc:$(Do),id:jo,...fe.shape}).strict(),da=e=>fm.safeParse(e).success,pm=k({jsonrpc:$(Do),...Be.shape}).strict(),mm=e=>pm.safeParse(e).success,fa=k({jsonrpc:$(Do),id:jo,result:pe}).strict(),gn=e=>fa.safeParse(e).success;var A;(function(e){e[e.ConnectionClosed=-32e3]="ConnectionClosed",e[e.RequestTimeout=-32001]="RequestTimeout",e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError",e[e.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(A||(A={}));var pa=k({jsonrpc:$(Do),id:jo.optional(),error:k({code:V().int(),message:g(),data:ne().optional()})}).strict();var hm=e=>pa.safeParse(e).success;var gm=X([fm,pm,fa,pa]),PD=X([fa,pa]),Ft=pe.strict(),Zx=qe.extend({requestId:jo.optional(),reason:g().optional()}),Lo=Be.extend({method:$("notifications/cancelled"),params:Zx}),Ux=k({src:g(),mimeType:g().optional(),sizes:L(g()).optional(),theme:Oe(["light","dark"]).optional()}),yn=k({icons:L(Ux).optional()}),_r=k({name:g(),title:g().optional()}),ym=_r.extend({..._r.shape,...yn.shape,version:g(),websiteUrl:g().optional(),description:g().optional()}),Fx=No(k({applyDefaults:le().optional()}),J(g(),ne())),Vx=aa(e=>e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,No(k({form:Fx.optional(),url:ue.optional()}),J(g(),ne()).optional())),Kx=Se({list:ue.optional(),cancel:ue.optional(),requests:Se({sampling:Se({createMessage:ue.optional()}).optional(),elicitation:Se({create:ue.optional()}).optional()}).optional()}),Hx=Se({list:ue.optional(),cancel:ue.optional(),requests:Se({tools:Se({call:ue.optional()}).optional()}).optional()}),Wx=k({experimental:J(g(),ue).optional(),sampling:k({context:ue.optional(),tools:ue.optional()}).optional(),elicitation:Vx.optional(),roots:k({listChanged:le().optional()}).optional(),tasks:Kx.optional(),extensions:J(g(),ue).optional()}),Gx=De.extend({protocolVersion:g(),capabilities:Wx,clientInfo:ym}),Jx=fe.extend({method:$("initialize"),params:Gx});var Yx=k({experimental:J(g(),ue).optional(),logging:ue.optional(),completions:ue.optional(),prompts:k({listChanged:le().optional()}).optional(),resources:k({subscribe:le().optional(),listChanged:le().optional()}).optional(),tools:k({listChanged:le().optional()}).optional(),tasks:Hx.optional(),extensions:J(g(),ue).optional()}),ma=pe.extend({protocolVersion:g(),capabilities:Yx,serverInfo:ym,instructions:g().optional()}),Qx=Be.extend({method:$("notifications/initialized"),params:qe.optional()});var Mo=fe.extend({method:$("ping"),params:De.optional()}),Xx=k({progress:V(),total:oe(V()),message:oe(g())}),e0=k({...qe.shape,...Xx.shape,progressToken:um}),qo=Be.extend({method:$("notifications/progress"),params:e0}),t0=De.extend({cursor:lm.optional()}),_n=fe.extend({params:t0.optional()}),wn=pe.extend({nextCursor:lm.optional()}),r0=Oe(["working","input_required","completed","failed","cancelled"]),bn=k({taskId:g(),status:r0,ttl:X([V(),em()]),createdAt:g(),lastUpdatedAt:g(),pollInterval:oe(V()),statusMessage:oe(g())}),Vt=pe.extend({task:bn}),n0=qe.merge(bn),vn=Be.extend({method:$("notifications/tasks/status"),params:n0}),Bo=fe.extend({method:$("tasks/get"),params:De.extend({taskId:g()})}),Zo=pe.merge(bn),Uo=fe.extend({method:$("tasks/result"),params:De.extend({taskId:g()})}),OD=pe.loose(),Fo=_n.extend({method:$("tasks/list")}),Vo=wn.extend({tasks:L(bn)}),Ko=fe.extend({method:$("tasks/cancel"),params:De.extend({taskId:g()})}),_m=pe.merge(bn),wm=k({uri:g(),mimeType:oe(g()),_meta:J(g(),ne()).optional()}),bm=wm.extend({text:g()}),ha=g().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),vm=wm.extend({blob:ha}),xn=Oe(["user","assistant"]),wr=k({audience:L(xn).optional(),priority:V().min(0).max(1).optional(),lastModified:pn.datetime({offset:!0}).optional()}),xm=k({..._r.shape,...yn.shape,uri:g(),description:oe(g()),mimeType:oe(g()),size:oe(V()),annotations:wr.optional(),_meta:oe(Se({}))}),o0=k({..._r.shape,...yn.shape,uriTemplate:g(),description:oe(g()),mimeType:oe(g()),annotations:wr.optional(),_meta:oe(Se({}))}),i0=_n.extend({method:$("resources/list")}),ga=wn.extend({resources:L(xm)}),s0=_n.extend({method:$("resources/templates/list")}),ya=wn.extend({resourceTemplates:L(o0)}),_a=De.extend({uri:g()}),a0=_a,c0=fe.extend({method:$("resources/read"),params:a0}),wa=pe.extend({contents:L(X([bm,vm]))}),ba=Be.extend({method:$("notifications/resources/list_changed"),params:qe.optional()}),u0=_a,l0=fe.extend({method:$("resources/subscribe"),params:u0}),d0=_a,f0=fe.extend({method:$("resources/unsubscribe"),params:d0}),p0=qe.extend({uri:g()}),m0=Be.extend({method:$("notifications/resources/updated"),params:p0}),h0=k({name:g(),description:oe(g()),required:oe(le())}),g0=k({..._r.shape,...yn.shape,description:oe(g()),arguments:oe(L(h0)),_meta:oe(Se({}))}),y0=_n.extend({method:$("prompts/list")}),va=wn.extend({prompts:L(g0)}),_0=De.extend({name:g(),arguments:J(g(),g()).optional()}),w0=fe.extend({method:$("prompts/get"),params:_0}),xa=k({type:$("text"),text:g(),annotations:wr.optional(),_meta:J(g(),ne()).optional()}),ka=k({type:$("image"),data:ha,mimeType:g(),annotations:wr.optional(),_meta:J(g(),ne()).optional()}),$a=k({type:$("audio"),data:ha,mimeType:g(),annotations:wr.optional(),_meta:J(g(),ne()).optional()}),b0=k({type:$("tool_use"),name:g(),id:g(),input:J(g(),ne()),_meta:J(g(),ne()).optional()}),v0=k({type:$("resource"),resource:X([bm,vm]),annotations:wr.optional(),_meta:J(g(),ne()).optional()}),x0=xm.extend({type:$("resource_link")}),Sa=X([xa,ka,$a,x0,v0]),k0=k({role:xn,content:Sa}),Ea=pe.extend({description:g().optional(),messages:L(k0)}),Ra=Be.extend({method:$("notifications/prompts/list_changed"),params:qe.optional()}),$0=k({title:g().optional(),readOnlyHint:le().optional(),destructiveHint:le().optional(),idempotentHint:le().optional(),openWorldHint:le().optional()}),S0=k({taskSupport:Oe(["required","optional","forbidden"]).optional()}),km=k({..._r.shape,...yn.shape,description:g().optional(),inputSchema:k({type:$("object"),properties:J(g(),ue).optional(),required:L(g()).optional()}).catchall(ne()),outputSchema:k({type:$("object"),properties:J(g(),ue).optional(),required:L(g()).optional()}).catchall(ne()).optional(),annotations:$0.optional(),execution:S0.optional(),_meta:J(g(),ne()).optional()}),E0=_n.extend({method:$("tools/list")}),Ta=wn.extend({tools:L(km)}),Rt=pe.extend({content:L(Sa).default([]),structuredContent:J(g(),ne()).optional(),isError:le().optional()}),zD=Rt.or(pe.extend({toolResult:ne()})),R0=hn.extend({name:g(),arguments:J(g(),ne()).optional()}),T0=fe.extend({method:$("tools/call"),params:R0}),Pa=Be.extend({method:$("notifications/tools/list_changed"),params:qe.optional()}),$m=k({autoRefresh:le().default(!0),debounceMs:V().int().nonnegative().default(300)}),Sm=Oe(["debug","info","notice","warning","error","critical","alert","emergency"]),P0=De.extend({level:Sm}),O0=fe.extend({method:$("logging/setLevel"),params:P0}),z0=qe.extend({level:Sm,logger:g().optional(),data:ne()}),A0=Be.extend({method:$("notifications/message"),params:z0}),I0=k({name:g().optional()}),N0=k({hints:L(I0).optional(),costPriority:V().min(0).max(1).optional(),speedPriority:V().min(0).max(1).optional(),intelligencePriority:V().min(0).max(1).optional()}),C0=k({mode:Oe(["auto","required","none"]).optional()}),D0=k({type:$("tool_result"),toolUseId:g().describe("The unique identifier for the corresponding tool call."),content:L(Sa).default([]),structuredContent:k({}).loose().optional(),isError:le().optional(),_meta:J(g(),ne()).optional()}),j0=sa("type",[xa,ka,$a]),Co=sa("type",[xa,ka,$a,b0,D0]),L0=k({role:xn,content:X([Co,L(Co)]),_meta:J(g(),ne()).optional()}),M0=hn.extend({messages:L(L0),modelPreferences:N0.optional(),systemPrompt:g().optional(),includeContext:Oe(["none","thisServer","allServers"]).optional(),temperature:V().optional(),maxTokens:V().int(),stopSequences:L(g()).optional(),metadata:ue.optional(),tools:L(km).optional(),toolChoice:C0.optional()}),Oa=fe.extend({method:$("sampling/createMessage"),params:M0}),za=pe.extend({model:g(),stopReason:oe(Oe(["endTurn","stopSequence","maxTokens"]).or(g())),role:xn,content:j0}),Aa=pe.extend({model:g(),stopReason:oe(Oe(["endTurn","stopSequence","maxTokens","toolUse"]).or(g())),role:xn,content:X([Co,L(Co)])}),q0=k({type:$("boolean"),title:g().optional(),description:g().optional(),default:le().optional()}),B0=k({type:$("string"),title:g().optional(),description:g().optional(),minLength:V().optional(),maxLength:V().optional(),format:Oe(["email","uri","date","date-time"]).optional(),default:g().optional()}),Z0=k({type:Oe(["number","integer"]),title:g().optional(),description:g().optional(),minimum:V().optional(),maximum:V().optional(),default:V().optional()}),U0=k({type:$("string"),title:g().optional(),description:g().optional(),enum:L(g()),default:g().optional()}),F0=k({type:$("string"),title:g().optional(),description:g().optional(),oneOf:L(k({const:g(),title:g()})),default:g().optional()}),V0=k({type:$("string"),title:g().optional(),description:g().optional(),enum:L(g()),enumNames:L(g()).optional(),default:g().optional()}),K0=X([U0,F0]),H0=k({type:$("array"),title:g().optional(),description:g().optional(),minItems:V().optional(),maxItems:V().optional(),items:k({type:$("string"),enum:L(g())}),default:L(g()).optional()}),W0=k({type:$("array"),title:g().optional(),description:g().optional(),minItems:V().optional(),maxItems:V().optional(),items:k({anyOf:L(k({const:g(),title:g()}))}),default:L(g()).optional()}),G0=X([H0,W0]),J0=X([V0,K0,G0]),Y0=X([J0,q0,B0,Z0]),Q0=hn.extend({mode:$("form").optional(),message:g(),requestedSchema:k({type:$("object"),properties:J(g(),Y0),required:L(g()).optional()})}),X0=hn.extend({mode:$("url"),message:g(),elicitationId:g(),url:g().url()}),ek=X([Q0,X0]),Ia=fe.extend({method:$("elicitation/create"),params:ek}),tk=qe.extend({elicitationId:g()}),rk=Be.extend({method:$("notifications/elicitation/complete"),params:tk}),Na=pe.extend({action:Oe(["accept","decline","cancel"]),content:aa(e=>e===null?void 0:e,J(g(),X([g(),V(),le(),L(g())])).optional())}),nk=k({type:$("ref/resource"),uri:g()});var ok=k({type:$("ref/prompt"),name:g()}),ik=De.extend({ref:X([ok,nk]),argument:k({name:g(),value:g()}),context:k({arguments:J(g(),g()).optional()}).optional()}),sk=fe.extend({method:$("completion/complete"),params:ik});var Ca=pe.extend({completion:Se({values:L(g()).max(100),total:oe(V().int()),hasMore:oe(le())})}),ak=k({uri:g().startsWith("file://"),name:g().optional(),_meta:J(g(),ne()).optional()}),ck=fe.extend({method:$("roots/list"),params:De.optional()}),uk=pe.extend({roots:L(ak)}),lk=Be.extend({method:$("notifications/roots/list_changed"),params:qe.optional()}),AD=X([Mo,Jx,sk,O0,w0,y0,i0,s0,c0,l0,f0,T0,E0,Bo,Uo,Fo,Ko]),ID=X([Lo,qo,Qx,lk,vn]),ND=X([Ft,za,Aa,Na,uk,Zo,Vo,Vt]),CD=X([Mo,Oa,Ia,ck,Bo,Uo,Fo,Ko]),DD=X([Lo,qo,A0,m0,ba,Pa,Ra,vn,rk]),jD=X([Ft,ma,Ca,Ea,va,ga,ya,wa,Rt,Ta,Zo,Vo,Vt]),R=class e extends Error{constructor(t,r,n){super(`MCP error ${t}: ${r}`),this.code=t,this.data=n,this.name="McpError"}static fromError(t,r,n){if(t===A.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new ca(o.elicitations,r)}return new e(t,r,n)}},ca=class extends R{constructor(t,r=`URL elicitation${t.length>1?"s":""} required`){super(A.UrlElicitationRequired,r,{elicitations:t})}get elicitations(){return this.data?.elicitations??[]}};function Tt(e){return e==="completed"||e==="failed"||e==="cancelled"}var dk=Symbol("Let zodToJsonSchema decide on which parser to use");var gj=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Da(e){let r=Ao(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=Mp(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function ja(e,t){let r=Je(e,t);if(!r.success)throw r.error;return r.data}var yk=6e4,Ho=class{constructor(t){this._options=t,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(Lo,r=>{this._oncancel(r)}),this.setNotificationHandler(qo,r=>{this._onprogress(r)}),this.setRequestHandler(Mo,r=>({})),this._taskStore=t?.taskStore,this._taskMessageQueue=t?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Bo,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new R(A.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(Uo,async(r,n)=>{let o=async()=>{let i=r.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(i,n.sessionId);){if(a.type==="response"||a.type==="error"){let c=a.message,l=c.id,u=this._requestResolvers.get(l);if(u)if(this._requestResolvers.delete(l),a.type==="response")u(c);else{let d=c,f=new R(d.error.code,d.error.message,d.error.data);u(f)}else{let d=a.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${l}`))}continue}await this._transport?.send(a.message,{relatedRequestId:n.requestId})}}let s=await this._taskStore.getTask(i,n.sessionId);if(!s)throw new R(A.InvalidParams,`Task not found: ${i}`);if(!Tt(s.status))return await this._waitForTaskUpdate(i,n.signal),await o();if(Tt(s.status)){let a=await this._taskStore.getTaskResult(i,n.sessionId);return this._clearTaskQueue(i),{...a,_meta:{...a._meta,[Et]:{taskId:i}}}}return await o()};return await o()}),this.setRequestHandler(Fo,async(r,n)=>{try{let{tasks:o,nextCursor:i}=await this._taskStore.listTasks(r.params?.cursor,n.sessionId);return{tasks:o,nextCursor:i,_meta:{}}}catch(o){throw new R(A.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(Ko,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new R(A.InvalidParams,`Task not found: ${r.params.taskId}`);if(Tt(o.status))throw new R(A.InvalidParams,`Cannot cancel task in terminal status: ${o.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",n.sessionId),this._clearTaskQueue(r.params.taskId);let i=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!i)throw new R(A.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...i}}catch(o){throw o instanceof R?o:new R(A.InvalidRequest,`Failed to cancel task: ${o instanceof Error?o.message:String(o)}`)}}))}async _oncancel(t){if(!t.params.requestId)return;this._requestHandlerAbortControllers.get(t.params.requestId)?.abort(t.params.reason)}_setupTimeout(t,r,n,o,i=!1){this._timeoutInfo.set(t,{timeoutId:setTimeout(o,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:i,onTimeout:o})}_resetTimeout(t){let r=this._timeoutInfo.get(t);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(t),R.fromError(A.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(t){let r=this._timeoutInfo.get(t);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(t))}async connect(t){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=t;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=i=>{n?.(i),this._onerror(i)};let o=this._transport?.onmessage;this._transport.onmessage=(i,s)=>{o?.(i,s),gn(i)||hm(i)?this._onresponse(i):da(i)?this._onrequest(i,s):mm(i)?this._onnotification(i):this._onerror(new Error(`Unknown message type: ${JSON.stringify(i)}`))},await this._transport.start()}_onclose(){let t=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let n of this._timeoutInfo.values())clearTimeout(n.timeoutId);this._timeoutInfo.clear();for(let n of this._requestHandlerAbortControllers.values())n.abort();this._requestHandlerAbortControllers.clear();let r=R.fromError(A.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of t.values())n(r)}_onerror(t){this.onerror?.(t)}_onnotification(t){let r=this._notificationHandlers.get(t.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(t)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(t,r){let n=this._requestHandlers.get(t.method)??this.fallbackRequestHandler,o=this._transport,i=t.params?._meta?.[Et]?.taskId;if(n===void 0){let u={jsonrpc:"2.0",id:t.id,error:{code:A.MethodNotFound,message:"Method not found"}};i&&this._taskMessageQueue?this._enqueueTaskMessage(i,{type:"error",message:u,timestamp:Date.now()},o?.sessionId).catch(d=>this._onerror(new Error(`Failed to enqueue error response: ${d}`))):o?.send(u).catch(d=>this._onerror(new Error(`Failed to send an error response: ${d}`)));return}let s=new AbortController;this._requestHandlerAbortControllers.set(t.id,s);let a=dm(t.params)?t.params.task:void 0,c=this._taskStore?this.requestTaskStore(t,o?.sessionId):void 0,l={signal:s.signal,sessionId:o?.sessionId,_meta:t.params?._meta,sendNotification:async u=>{if(s.signal.aborted)return;let d={relatedRequestId:t.id};i&&(d.relatedTask={taskId:i}),await this.notification(u,d)},sendRequest:async(u,d,f)=>{if(s.signal.aborted)throw new R(A.ConnectionClosed,"Request was cancelled");let p={...f,relatedRequestId:t.id};i&&!p.relatedTask&&(p.relatedTask={taskId:i});let m=p.relatedTask?.taskId??i;return m&&c&&await c.updateTaskStatus(m,"input_required"),await this.request(u,d,p)},authInfo:r?.authInfo,requestId:t.id,requestInfo:r?.requestInfo,taskId:i,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(t.method)}).then(()=>n(t,l)).then(async u=>{if(s.signal.aborted)return;let d={result:u,jsonrpc:"2.0",id:t.id};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:"response",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)},async u=>{if(s.signal.aborted)return;let d={jsonrpc:"2.0",id:t.id,error:{code:Number.isSafeInteger(u.code)?u.code:A.InternalError,message:u.message??"Internal error",...u.data!==void 0&&{data:u.data}}};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:"error",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)}).catch(u=>this._onerror(new Error(`Failed to send response: ${u}`))).finally(()=>{this._requestHandlerAbortControllers.get(t.id)===s&&this._requestHandlerAbortControllers.delete(t.id)})}_onprogress(t){let{progressToken:r,...n}=t.params,o=Number(r),i=this._progressHandlers.get(o);if(!i){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(t)}`));return}let s=this._responseHandlers.get(o),a=this._timeoutInfo.get(o);if(a&&s&&a.resetTimeoutOnProgress)try{this._resetTimeout(o)}catch(c){this._responseHandlers.delete(o),this._progressHandlers.delete(o),this._cleanupTimeout(o),s(c);return}i(n)}_onresponse(t){let r=Number(t.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),gn(t))n(t);else{let s=new R(t.error.code,t.error.message,t.error.data);n(s)}return}let o=this._responseHandlers.get(r);if(o===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(t)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let i=!1;if(gn(t)&&t.result&&typeof t.result=="object"){let s=t.result;if(s.task&&typeof s.task=="object"){let a=s.task;typeof a.taskId=="string"&&(i=!0,this._taskProgressTokens.set(a.taskId,r))}}if(i||this._progressHandlers.delete(r),gn(t))o(t);else{let s=R.fromError(t.error.code,t.error.message,t.error.data);o(s)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(t,r,n){let{task:o}=n??{};if(!o){try{yield{type:"result",result:await this.request(t,r,n)}}catch(s){yield{type:"error",error:s instanceof R?s:new R(A.InternalError,String(s))}}return}let i;try{let s=await this.request(t,Vt,n);if(s.task)i=s.task.taskId,yield{type:"taskCreated",task:s.task};else throw new R(A.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:i},n);if(yield{type:"taskStatus",task:a},Tt(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:i},r,n)}:a.status==="failed"?yield{type:"error",error:new R(A.InternalError,`Task ${i} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new R(A.InternalError,`Task ${i} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:i},r,n)};return}let c=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(l=>setTimeout(l,c)),n?.signal?.throwIfAborted()}}catch(s){yield{type:"error",error:s instanceof R?s:new R(A.InternalError,String(s))}}}request(t,r,n){let{relatedRequestId:o,resumptionToken:i,onresumptiontoken:s,task:a,relatedTask:c}=n??{};return new Promise((l,u)=>{let d=v=>{u(v)};if(!this._transport){d(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(t.method),a&&this.assertTaskCapability(t.method)}catch(v){d(v);return}n?.signal?.throwIfAborted();let f=this._requestMessageId++,p={...t,jsonrpc:"2.0",id:f};n?.onprogress&&(this._progressHandlers.set(f,n.onprogress),p.params={...t.params,_meta:{...t.params?._meta||{},progressToken:f}}),a&&(p.params={...p.params,task:a}),c&&(p.params={...p.params,_meta:{...p.params?._meta||{},[Et]:c}});let m=v=>{this._responseHandlers.delete(f),this._progressHandlers.delete(f),this._cleanupTimeout(f),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:f,reason:String(v)}},{relatedRequestId:o,resumptionToken:i,onresumptiontoken:s}).catch(T=>this._onerror(new Error(`Failed to send cancellation: ${T}`)));let x=v instanceof R?v:new R(A.RequestTimeout,String(v));u(x)};this._responseHandlers.set(f,v=>{if(!n?.signal?.aborted){if(v instanceof Error)return u(v);try{let x=Je(r,v.result);x.success?l(x.data):u(x.error)}catch(x){u(x)}}}),n?.signal?.addEventListener("abort",()=>{m(n?.signal?.reason)});let h=n?.timeout??yk,_=()=>m(R.fromError(A.RequestTimeout,"Request timed out",{timeout:h}));this._setupTimeout(f,h,n?.maxTotalTimeout,_,n?.resetTimeoutOnProgress??!1);let b=c?.taskId;if(b){let v=x=>{let T=this._responseHandlers.get(f);T?T(x):this._onerror(new Error(`Response handler missing for side-channeled request ${f}`))};this._requestResolvers.set(f,v),this._enqueueTaskMessage(b,{type:"request",message:p,timestamp:Date.now()}).catch(x=>{this._cleanupTimeout(f),u(x)})}else this._transport.send(p,{relatedRequestId:o,resumptionToken:i,onresumptiontoken:s}).catch(v=>{this._cleanupTimeout(f),u(v)})})}async getTask(t,r){return this.request({method:"tasks/get",params:t},Zo,r)}async getTaskResult(t,r,n){return this.request({method:"tasks/result",params:t},r,n)}async listTasks(t,r){return this.request({method:"tasks/list",params:t},Vo,r)}async cancelTask(t,r){return this.request({method:"tasks/cancel",params:t},_m,r)}async notification(t,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(t.method);let n=r?.relatedTask?.taskId;if(n){let a={...t,jsonrpc:"2.0",params:{...t.params,_meta:{...t.params?._meta||{},[Et]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(t.method)&&!t.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(t.method))return;this._pendingDebouncedNotifications.add(t.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(t.method),!this._transport)return;let a={...t,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[Et]:r.relatedTask}}}),this._transport?.send(a,r).catch(c=>this._onerror(c))});return}let s={...t,jsonrpc:"2.0"};r?.relatedTask&&(s={...s,params:{...s.params,_meta:{...s.params?._meta||{},[Et]:r.relatedTask}}}),await this._transport.send(s,r)}setRequestHandler(t,r){let n=Da(t);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,i)=>{let s=ja(t,o);return Promise.resolve(r(s,i))})}removeRequestHandler(t){this._requestHandlers.delete(t)}assertCanSetRequestHandler(t){if(this._requestHandlers.has(t))throw new Error(`A request handler for ${t} already exists, which would be overridden`)}setNotificationHandler(t,r){let n=Da(t);this._notificationHandlers.set(n,o=>{let i=ja(t,o);return Promise.resolve(r(i))})}removeNotificationHandler(t){this._notificationHandlers.delete(t)}_cleanupTaskProgressHandler(t){let r=this._taskProgressTokens.get(t);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(t))}async _enqueueTaskMessage(t,r,n){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let o=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(t,r,n,o)}async _clearTaskQueue(t,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(t,r);for(let o of n)if(o.type==="request"&&da(o.message)){let i=o.message.id,s=this._requestResolvers.get(i);s?(s(new R(A.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(i)):this._onerror(new Error(`Resolver missing for request ${i} during task ${t} cleanup`))}}}async _waitForTaskUpdate(t,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let o=await this._taskStore?.getTask(t);o?.pollInterval&&(n=o.pollInterval)}catch{}return new Promise((o,i)=>{if(r.aborted){i(new R(A.InvalidRequest,"Request cancelled"));return}let s=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(s),i(new R(A.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(t,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async o=>{if(!t)throw new Error("No request provided");return await n.createTask(o,t.id,{method:t.method,params:t.params},r)},getTask:async o=>{let i=await n.getTask(o,r);if(!i)throw new R(A.InvalidParams,"Failed to retrieve task: Task not found");return i},storeTaskResult:async(o,i,s)=>{await n.storeTaskResult(o,i,s,r);let a=await n.getTask(o,r);if(a){let c=vn.parse({method:"notifications/tasks/status",params:a});await this.notification(c),Tt(a.status)&&this._cleanupTaskProgressHandler(o)}},getTaskResult:o=>n.getTaskResult(o,r),updateTaskStatus:async(o,i,s)=>{let a=await n.getTask(o,r);if(!a)throw new R(A.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(Tt(a.status))throw new R(A.InvalidParams,`Cannot update task "${o}" from terminal status "${a.status}" to "${i}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(o,i,s,r);let c=await n.getTask(o,r);if(c){let l=vn.parse({method:"notifications/tasks/status",params:c});await this.notification(l),Tt(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function Em(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Rm(e,t){let r={...e};for(let n in t){let o=n,i=t[o];if(i===void 0)continue;let s=r[o];Em(s)&&Em(i)?r[o]={...s,...i}:r[o]=i}return r}var _y=ws(ku(),1),wy=ws(yy(),1);function bP(){let e=new _y.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,wy.default)(e),e}var Ti=class{constructor(t){this._ajv=t??bP()}getValidator(t){let r="$id"in t&&typeof t.$id=="string"?this._ajv.getSchema(t.$id)??this._ajv.compile(t):this._ajv.compile(t);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var Pi=class{constructor(t){this._client=t}async*callToolStream(t,r=Rt,n){let o=this._client,i={...n,task:n?.task??(o.isToolTask(t.name)?{}:void 0)},s=o.requestStream({method:"tools/call",params:t},r,i),a=o.getToolOutputValidator(t.name);for await(let c of s){if(c.type==="result"&&a){let l=c.result;if(!l.structuredContent&&!l.isError){yield{type:"error",error:new R(A.InvalidRequest,`Tool ${t.name} has an output schema but did not return structured content`)};return}if(l.structuredContent)try{let u=a(l.structuredContent);if(!u.valid){yield{type:"error",error:new R(A.InvalidParams,`Structured content does not match the tool's output schema: ${u.errorMessage}`)};return}}catch(u){if(u instanceof R){yield{type:"error",error:u};return}yield{type:"error",error:new R(A.InvalidParams,`Failed to validate structured content: ${u instanceof Error?u.message:String(u)}`)};return}}yield c}}async getTask(t,r){return this._client.getTask({taskId:t},r)}async getTaskResult(t,r,n){return this._client.getTaskResult({taskId:t},r,n)}async listTasks(t,r){return this._client.listTasks(t?{cursor:t}:void 0,r)}async cancelTask(t,r){return this._client.cancelTask({taskId:t},r)}requestStream(t,r,n){return this._client.requestStream(t,r,n)}};function by(e,t,r){if(!e)throw new Error(`${r} does not support task creation (required for ${t})`);switch(t){case"tools/call":if(!e.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${t})`);break;default:break}}function vy(e,t,r){if(!e)throw new Error(`${r} does not support task creation (required for ${t})`);switch(t){case"sampling/createMessage":if(!e.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${t})`);break;case"elicitation/create":if(!e.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${t})`);break;default:break}}function Oi(e,t){if(!(!e||t===null||typeof t!="object")){if(e.type==="object"&&e.properties&&typeof e.properties=="object"){let r=t,n=e.properties;for(let o of Object.keys(n)){let i=n[o];r[o]===void 0&&Object.prototype.hasOwnProperty.call(i,"default")&&(r[o]=i.default),r[o]!==void 0&&Oi(i,r[o])}}if(Array.isArray(e.anyOf))for(let r of e.anyOf)typeof r!="boolean"&&Oi(r,t);if(Array.isArray(e.oneOf))for(let r of e.oneOf)typeof r!="boolean"&&Oi(r,t)}}function vP(e){if(!e)return{supportsFormMode:!1,supportsUrlMode:!1};let t=e.form!==void 0,r=e.url!==void 0;return{supportsFormMode:t||!t&&!r,supportsUrlMode:r}}var zi=class extends Ho{constructor(t,r){super(r),this._clientInfo=t,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=r?.capabilities??{},this._jsonSchemaValidator=r?.jsonSchemaValidator??new Ti,r?.listChanged&&(this._pendingListChangedConfig=r.listChanged)}_setupListChangedHandlers(t){t.tools&&this._serverCapabilities?.tools?.listChanged&&this._setupListChangedHandler("tools",Pa,t.tools,async()=>(await this.listTools()).tools),t.prompts&&this._serverCapabilities?.prompts?.listChanged&&this._setupListChangedHandler("prompts",Ra,t.prompts,async()=>(await this.listPrompts()).prompts),t.resources&&this._serverCapabilities?.resources?.listChanged&&this._setupListChangedHandler("resources",ba,t.resources,async()=>(await this.listResources()).resources)}get experimental(){return this._experimental||(this._experimental={tasks:new Pi(this)}),this._experimental}registerCapabilities(t){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Rm(this._capabilities,t)}setRequestHandler(t,r){let o=Ao(t)?.method;if(!o)throw new Error("Schema is missing a method literal");let i;if(yr(o)){let a=o;i=a._zod?.def?.value??a.value}else{let a=o;i=a._def?.value??a.value}if(typeof i!="string")throw new Error("Schema method literal must be a string");let s=i;if(s==="elicitation/create"){let a=async(c,l)=>{let u=Je(Ia,c);if(!u.success){let v=u.error instanceof Error?u.error.message:String(u.error);throw new R(A.InvalidParams,`Invalid elicitation request: ${v}`)}let{params:d}=u.data;d.mode=d.mode??"form";let{supportsFormMode:f,supportsUrlMode:p}=vP(this._capabilities.elicitation);if(d.mode==="form"&&!f)throw new R(A.InvalidParams,"Client does not support form-mode elicitation requests");if(d.mode==="url"&&!p)throw new R(A.InvalidParams,"Client does not support URL-mode elicitation requests");let m=await Promise.resolve(r(c,l));if(d.task){let v=Je(Vt,m);if(!v.success){let x=v.error instanceof Error?v.error.message:String(v.error);throw new R(A.InvalidParams,`Invalid task creation result: ${x}`)}return v.data}let h=Je(Na,m);if(!h.success){let v=h.error instanceof Error?h.error.message:String(h.error);throw new R(A.InvalidParams,`Invalid elicitation result: ${v}`)}let _=h.data,b=d.mode==="form"?d.requestedSchema:void 0;if(d.mode==="form"&&_.action==="accept"&&_.content&&b&&this._capabilities.elicitation?.form?.applyDefaults)try{Oi(b,_.content)}catch{}return _};return super.setRequestHandler(t,a)}if(s==="sampling/createMessage"){let a=async(c,l)=>{let u=Je(Oa,c);if(!u.success){let _=u.error instanceof Error?u.error.message:String(u.error);throw new R(A.InvalidParams,`Invalid sampling request: ${_}`)}let{params:d}=u.data,f=await Promise.resolve(r(c,l));if(d.task){let _=Je(Vt,f);if(!_.success){let b=_.error instanceof Error?_.error.message:String(_.error);throw new R(A.InvalidParams,`Invalid task creation result: ${b}`)}return _.data}let m=d.tools||d.toolChoice?Aa:za,h=Je(m,f);if(!h.success){let _=h.error instanceof Error?h.error.message:String(h.error);throw new R(A.InvalidParams,`Invalid sampling result: ${_}`)}return h.data};return super.setRequestHandler(t,a)}return super.setRequestHandler(t,r)}assertCapability(t,r){if(!this._serverCapabilities?.[t])throw new Error(`Server does not support ${t} (required for ${r})`)}async connect(t,r){if(await super.connect(t),t.sessionId===void 0)try{let n=await this.request({method:"initialize",params:{protocolVersion:ua,capabilities:this._capabilities,clientInfo:this._clientInfo}},ma,r);if(n===void 0)throw new Error(`Server sent invalid initialize result: ${n}`);if(!cm.includes(n.protocolVersion))throw new Error(`Server's protocol version is not supported: ${n.protocolVersion}`);this._serverCapabilities=n.capabilities,this._serverVersion=n.serverInfo,t.setProtocolVersion&&t.setProtocolVersion(n.protocolVersion),this._instructions=n.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig&&(this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0)}catch(n){throw this.close(),n}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(t){switch(t){case"logging/setLevel":if(!this._serverCapabilities?.logging)throw new Error(`Server does not support logging (required for ${t})`);break;case"prompts/get":case"prompts/list":if(!this._serverCapabilities?.prompts)throw new Error(`Server does not support prompts (required for ${t})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!this._serverCapabilities?.resources)throw new Error(`Server does not support resources (required for ${t})`);if(t==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw new Error(`Server does not support resource subscriptions (required for ${t})`);break;case"tools/call":case"tools/list":if(!this._serverCapabilities?.tools)throw new Error(`Server does not support tools (required for ${t})`);break;case"completion/complete":if(!this._serverCapabilities?.completions)throw new Error(`Server does not support completions (required for ${t})`);break;case"initialize":break;case"ping":break}}assertNotificationCapability(t){switch(t){case"notifications/roots/list_changed":if(!this._capabilities.roots?.listChanged)throw new Error(`Client does not support roots list changed notifications (required for ${t})`);break;case"notifications/initialized":break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(t){if(this._capabilities)switch(t){case"sampling/createMessage":if(!this._capabilities.sampling)throw new Error(`Client does not support sampling capability (required for ${t})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw new Error(`Client does not support elicitation capability (required for ${t})`);break;case"roots/list":if(!this._capabilities.roots)throw new Error(`Client does not support roots capability (required for ${t})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Client does not support tasks capability (required for ${t})`);break;case"ping":break}}assertTaskCapability(t){by(this._serverCapabilities?.tasks?.requests,t,"Server")}assertTaskHandlerCapability(t){this._capabilities&&vy(this._capabilities.tasks?.requests,t,"Client")}async ping(t){return this.request({method:"ping"},Ft,t)}async complete(t,r){return this.request({method:"completion/complete",params:t},Ca,r)}async setLoggingLevel(t,r){return this.request({method:"logging/setLevel",params:{level:t}},Ft,r)}async getPrompt(t,r){return this.request({method:"prompts/get",params:t},Ea,r)}async listPrompts(t,r){return this.request({method:"prompts/list",params:t},va,r)}async listResources(t,r){return this.request({method:"resources/list",params:t},ga,r)}async listResourceTemplates(t,r){return this.request({method:"resources/templates/list",params:t},ya,r)}async readResource(t,r){return this.request({method:"resources/read",params:t},wa,r)}async subscribeResource(t,r){return this.request({method:"resources/subscribe",params:t},Ft,r)}async unsubscribeResource(t,r){return this.request({method:"resources/unsubscribe",params:t},Ft,r)}async callTool(t,r=Rt,n){if(this.isToolTaskRequired(t.name))throw new R(A.InvalidRequest,`Tool "${t.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);let o=await this.request({method:"tools/call",params:t},r,n),i=this.getToolOutputValidator(t.name);if(i){if(!o.structuredContent&&!o.isError)throw new R(A.InvalidRequest,`Tool ${t.name} has an output schema but did not return structured content`);if(o.structuredContent)try{let s=i(o.structuredContent);if(!s.valid)throw new R(A.InvalidParams,`Structured content does not match the tool's output schema: ${s.errorMessage}`)}catch(s){throw s instanceof R?s:new R(A.InvalidParams,`Failed to validate structured content: ${s instanceof Error?s.message:String(s)}`)}}return o}isToolTask(t){return this._serverCapabilities?.tasks?.requests?.tools?.call?this._cachedKnownTaskTools.has(t):!1}isToolTaskRequired(t){return this._cachedRequiredTaskTools.has(t)}cacheToolMetadata(t){this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(let r of t){if(r.outputSchema){let o=this._jsonSchemaValidator.getValidator(r.outputSchema);this._cachedToolOutputValidators.set(r.name,o)}let n=r.execution?.taskSupport;(n==="required"||n==="optional")&&this._cachedKnownTaskTools.add(r.name),n==="required"&&this._cachedRequiredTaskTools.add(r.name)}}getToolOutputValidator(t){return this._cachedToolOutputValidators.get(t)}async listTools(t,r){let n=await this.request({method:"tools/list",params:t},Ta,r);return this.cacheToolMetadata(n.tools),n}_setupListChangedHandler(t,r,n,o){let i=$m.safeParse(n);if(!i.success)throw new Error(`Invalid ${t} listChanged options: ${i.error.message}`);if(typeof n.onChanged!="function")throw new Error(`Invalid ${t} listChanged options: onChanged must be a function`);let{autoRefresh:s,debounceMs:a}=i.data,{onChanged:c}=n,l=async()=>{if(!s){c(null,null);return}try{let d=await o();c(null,d)}catch(d){let f=d instanceof Error?d:new Error(String(d));c(f,null)}},u=()=>{if(a){let d=this._listChangedDebounceTimers.get(t);d&&clearTimeout(d);let f=setTimeout(l,a);this._listChangedDebounceTimers.set(t,f)}else l()};this.setNotificationHandler(r,u)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}};var d_=ws(u_(),1);import qu from"node:process";import{PassThrough as GP}from"node:stream";var Ii=class{append(t){this._buffer=this._buffer?Buffer.concat([this._buffer,t]):t}readMessage(){if(!this._buffer)return null;let t=this._buffer.indexOf(`
36
- `);if(t===-1)return null;let r=this._buffer.toString("utf8",0,t).replace(/\r$/,"");return this._buffer=this._buffer.subarray(t+1),WP(r)}clear(){this._buffer=void 0}};function WP(e){return gm.parse(JSON.parse(e))}function l_(e){return JSON.stringify(e)+`
37
- `}var JP=qu.platform==="win32"?["APPDATA","HOMEDRIVE","HOMEPATH","LOCALAPPDATA","PATH","PROCESSOR_ARCHITECTURE","SYSTEMDRIVE","SYSTEMROOT","TEMP","USERNAME","USERPROFILE","PROGRAMFILES"]:["HOME","LOGNAME","PATH","SHELL","TERM","USER"];function YP(){let e={};for(let t of JP){let r=qu.env[t];r!==void 0&&(r.startsWith("()")||(e[t]=r))}return e}var Ni=class{constructor(t){this._readBuffer=new Ii,this._stderrStream=null,this._serverParams=t,(t.stderr==="pipe"||t.stderr==="overlapped")&&(this._stderrStream=new GP)}async start(){if(this._process)throw new Error("StdioClientTransport already started! If using Client class, note that connect() calls start() automatically.");return new Promise((t,r)=>{this._process=(0,d_.default)(this._serverParams.command,this._serverParams.args??[],{env:{...YP(),...this._serverParams.env},stdio:["pipe","pipe",this._serverParams.stderr??"inherit"],shell:!1,windowsHide:qu.platform==="win32",cwd:this._serverParams.cwd}),this._process.on("error",n=>{r(n),this.onerror?.(n)}),this._process.on("spawn",()=>{t()}),this._process.on("close",n=>{this._process=void 0,this.onclose?.()}),this._process.stdin?.on("error",n=>{this.onerror?.(n)}),this._process.stdout?.on("data",n=>{this._readBuffer.append(n),this.processReadBuffer()}),this._process.stdout?.on("error",n=>{this.onerror?.(n)}),this._stderrStream&&this._process.stderr&&this._process.stderr.pipe(this._stderrStream)})}get stderr(){return this._stderrStream?this._stderrStream:this._process?.stderr??null}get pid(){return this._process?.pid??null}processReadBuffer(){for(;;)try{let t=this._readBuffer.readMessage();if(t===null)break;this.onmessage?.(t)}catch(t){this.onerror?.(t)}}async close(){if(this._process){let t=this._process;this._process=void 0;let r=new Promise(n=>{t.once("close",()=>{n()})});try{t.stdin?.end()}catch{}if(await Promise.race([r,new Promise(n=>setTimeout(n,2e3).unref())]),t.exitCode===null){try{t.kill("SIGTERM")}catch{}await Promise.race([r,new Promise(n=>setTimeout(n,2e3).unref())])}if(t.exitCode===null)try{t.kill("SIGKILL")}catch{}}this._readBuffer.clear()}send(t){return new Promise(r=>{if(!this._process?.stdin)throw new Error("Not connected");let n=l_(t);this._process.stdin.write(n)?r():this._process.stdin.once("drain",r)})}};var QP=["conversations_list","conversation_get","messages_read","attachments_fetch","events_poll","events_wait","messages_send","channels_list","permissions_list_open","permissions_respond"];var nr=class e{client;transport;constructor(t,r){this.client=t,this.transport=r}static async connect(t={}){let r=new Ni({command:t.command??"hermes",args:t.args??["mcp","serve"],cwd:t.cwd,env:t.env??XP(),stderr:t.stderr??"pipe"}),n=new zi({name:"brain-channel-bridge",version:"0.0.0"},{capabilities:{}});try{await n.connect(r);let o=new e(n,r);return await o.assertHermesContract(),o}catch(o){throw await n.close().catch(()=>{}),await r.close().catch(()=>{}),o}}async poll(t={}){let r=await this.callJson("events_poll",{after_cursor:t.afterCursor,session_key:t.sessionKey,limit:t.limit});return{events:tO(r).map(rO),nextCursor:f_(r,["next_cursor","nextCursor","cursor"]),raw:r}}async send(t,r){let n=await this.callJson("messages_send",{target:t,message:r});return{ok:!Ci(n,["error"])&&iO(n,["ok","success"],!0),target:t,messageId:rt(n,["message_id","messageId","id"]),raw:n}}async channels(t={}){let r=await this.callJson("channels_list",{platform:t.platform});return{channels:nO(r).map(oO).filter(n=>n!=null),raw:r}}async close(){await this.client.close(),await this.transport.close().catch(()=>{})}async assertHermesContract(){let{tools:t}=await this.client.listTools(),r=new Set(t.map(o=>o.name)),n=QP.filter(o=>!r.has(o));if(n.length>0)throw new Error(`Hermes channel bridge is missing tool(s): ${n.join(", ")}`)}async callJson(t,r){let n=await this.client.callTool({name:t,arguments:eO(r)},Rt);if(n.structuredContent&&Object.keys(n.structuredContent).length>0)return n.structuredContent;let i=(Array.isArray(n.content)?n.content:[]).filter(s=>s.type==="text").map(s=>s.text??"").join(`
38
- `).trim();if(!i)return{};try{return JSON.parse(i)}catch{return{text:i}}}};function XP(){let e={};for(let[t,r]of Object.entries(process.env))typeof r=="string"&&(e[t]=r);return e}function eO(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0))}function tO(e){if(Array.isArray(e))return e;if(!qr(e))return[];let t=e.events;if(Array.isArray(t))return t;let r=e.event;return r&&qr(r)?[r]:[]}function rO(e){return qr(e)?{id:rt(e,["id","message_id","messageId"]),cursor:f_(e,["cursor"]),type:rt(e,["type","event_type","eventType"]),platform:rt(e,["platform"]),target:rt(e,["target"]),sessionKey:rt(e,["session_key","sessionKey"]),timestamp:rt(e,["timestamp","created_at","createdAt"]),message:rt(e,["message","text","content"]),raw:e}:{raw:e}}function nO(e){if(Array.isArray(e))return e;if(!qr(e))return[];for(let t of["channels","targets","conversations"]){let r=e[t];if(Array.isArray(r))return r}return[]}function oO(e){if(!qr(e))return null;let t=rt(e,["target","id","session_key","sessionKey"]);return t?{target:t,platform:rt(e,["platform"]),name:rt(e,["name","display_name","displayName","chat_name","chatName"]),raw:e}:null}function rt(e,t){let r=Ci(e,t);return typeof r=="string"?r:void 0}function iO(e,t,r){let n=Ci(e,t);return typeof n=="boolean"?n:r}function f_(e,t){let r=Ci(e,t);return typeof r=="string"||typeof r=="number"?r:void 0}function Ci(e,t){if(qr(e))for(let r of t){let n=e[r];if(n!=null)return n}}function qr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}import{mkdir as bN,writeFile as vN}from"node:fs/promises";import{join as Pb}from"node:path";var Br=class extends SyntaxError{line;source;reason;constructor(t,r={}){let n=r.line===void 0||r.line===0?"":`Line ${r.line}: `;super(n+t,r.cause===void 0?void 0:{cause:r.cause}),this.name="ToonDecodeError",this.line=r.line,this.source=r.source,this.reason=t}},or=class extends SyntaxError{line;source;reason;constructor(t,r,n={}){super(t===0?r:`line ${t}: ${r}`,n.cause===void 0?void 0:{cause:n.cause}),this.name="ToonError",this.line=t,this.source=n.source,this.reason=r}};function E(e,t,r={}){return new or(e,t,r)}var sO=/(?:^\uFEFF?|\n) *#/,Bu=class{value;constructor(t){if(sO.test(t))throw new TypeError(`Raw string must not contain a line starting with "#": ${JSON.stringify(t)}`);this.value=t}};function ir(e){return e instanceof Bu}function pt(e){return E(e,"invalid quoted string")}function Ke(e,t){if(e==="")return"";if(e.startsWith('"'))return h_(e,t);if(e.includes('"'))throw pt(t);if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(aO(e)){let r=Number(e);return Object.is(r,-0)?0:r}return e}function Zr(e,t){let r=e.trim();if(r.startsWith('"'))return[h_(r,t),!0];if(r.includes('"')||/\s/.test(r))throw E(t,"expected non-empty field name");return[r,!1]}var p_=/["\\\u0000-\u0008\u000a-\u001f]/g;function h_(e,t){if(e.charCodeAt(0)!==34)throw pt(t);let r="",n=1;for(;n<e.length;){p_.lastIndex=n;let o=p_.exec(e);if(o===null)break;if(o[0]==='"'){if(e.slice(o.index+1).trim()==="")return r+e.slice(n,o.index);throw pt(t)}if(o[0]!=="\\")throw pt(t);r+=e.slice(n,o.index);let i=e[o.index+1];switch(n=o.index+2,i){case'"':r+='"';break;case"\\":r+="\\";break;case"n":r+=`
39
- `;break;case"r":r+="\r";break;case"t":r+=" ";break;case"u":{let s=e.slice(n,n+4);if(!/^[0-9a-fA-F]{4}$/.test(s))throw pt(t);let a=Number.parseInt(s,16);if(a>=55296&&a<=57343)throw pt(t);r+=String.fromCharCode(a),n+=4;break}default:throw pt(t)}}throw pt(t)}function g_(e,t,r){for(;;){let n=e.indexOf('"',t),o=e.indexOf("\\",t);if(o!==-1&&(n===-1||o<n)){if(o===e.length-1)throw pt(r);t=o+2;continue}if(n===-1)throw pt(r);return n+1}}function Xn(e,t,r){if(e==="")return[];let n=[],o=0,i=0;for(;i<e.length;){let s=e.indexOf('"',i),a=e.indexOf(t,i);if(a!==-1&&(s===-1||a<s))n.push(e.slice(o,a).trim()),o=a+1,i=a+1;else if(s!==-1)i=g_(e,s+1,r);else break}return n.push(e.slice(o).trim()),n}function nt(e,t,r){let n=0;for(;n<e.length;){let o=e.indexOf('"',n),i=e.indexOf(t,n);if(i!==-1&&(o===-1||i<o))return i;if(o===-1)return-1;n=g_(e,o+1,r)}return-1}function aO(e){return/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function cO(e){return/^[+-]?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function uO(e){if(Object.is(e,-0))return"0";if(!Number.isFinite(e))throw E(0,"number is not representable in TOON");return String(e)}function Di(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"}function Ce(e,t){if(ir(e))return e.value;if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="number")return uO(e);if(typeof e=="string")return dO(e,t);throw E(0,"not a primitive")}function lO(e){return/^[A-Za-z_][A-Za-z0-9_.]*$/.test(e)}function Te(e){return lO(e)?e:ji(e)}function dO(e,t){return Zu(e,t)?ji(e):e}function Zu(e,t){return e===""||/^[ \t]|[ \t]$/.test(e)||e==="true"||e==="false"||e==="null"||cO(e)||/[:"\\[\]{}]/.test(e)||/[\u0000-\u001f]/.test(e)||e.includes(t)||e.startsWith("-")||e.startsWith("#")}var m_=/["\\\u0000-\u001f]/g;function ji(e){return`"${y_(e)}"`}function y_(e){let t="",r=0;m_.lastIndex=0;let n;for(;(n=m_.exec(e))!==null;){let o=e.charCodeAt(n.index),i;o===34?i='\\"':o===92?i="\\\\":o===10?i="\\n":o===13?i="\\r":o===9?i="\\t":i=`\\u${o.toString(16).padStart(4,"0")}`,t+=e.slice(r,n.index)+i,r=n.index+1}return`${t}${e.slice(r)}`}function Ur(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}var __={comma:",",tab:" ",pipe:"|"},fO=__.comma;var eo=1e3,w_=["type","kind","event"],sr="|",b_=new Set(["order","discriminator","rows","common"]);function*x_(e,t,r,n,o,i,s){yield*k_(r,e,n,t,{index:0},o,s,!0,i)}function*k_(e,t,r,n,o,i,s,a,c){let l=E_(e,t,r,n,o.index,i,s),u=0;for(;u<e;){let f=n[o.index];if(f===void 0||f.depth<i)break;if(f.depth>i)throw E(f.number,"invalid indentation");if(f.blankBefore&&s.strict)throw E(f.number,"blank line inside array");if(!Li(f.content,r,f.number))break;let p=Xn(f.content,r,f.number),m={cellIndex:0,nextIndex:o.index+1,flatWidth:Mi(t),childTableFields:l};if(a&&t.length===1&&t[0].fixedLength!==void 0?yield*S_(t[0],p,m,f.number):(yield{type:"startObject",line:f.number},yield*$_(t,p,f,n,m,i+1,r,s),yield{type:"endObject",line:f.number}),m.cellIndex!==p.length)throw E(f.number,"array row length mismatch");o.index=m.nextIndex,u++}if(u!==e)throw gO(n,o.index,c);let d=n[o.index];if(d!==void 0&&d.depth>=i&&Li(d.content,r,d.number))throw E(d.number,"array length mismatch")}function*$_(e,t,r,n,o,i,s,a){for(let c=0;c<e.length;c++){let l=e[c];yield{type:"key",key:l.name,line:r.number},yield*pO(l,e.slice(c+1),t,r,n,o,i,s,a)}}function*pO(e,t,r,n,o,i,s,a,c){if(e.fixedLength!==void 0){yield*S_(e,r,i,n.number);return}if(e.listDelimiter!==void 0){let u=v_(r,i,n.number),d=Xn(u,e.listDelimiter,n.number);yield{type:"startArray",length:d.length,line:n.number};for(let f of d)yield{type:"primitive",value:Ke(f,n.number),line:n.number};yield{type:"endArray",line:n.number};return}if(e.children!==void 0){let u=Mi(e.children),d=r[i.cellIndex],f=T_(d),p=r.length-i.cellIndex-1,m=o[i.nextIndex],h=m!==void 0&&m.depth===s;if(i.childTableFields?.has(e)??(f!==void 0&&(h||r.length!==i.flatWidth&&p<u+hO(t)))){if(!c.objectArrayColumns||f===void 0)throw E(n.number,"array row length mismatch");i.cellIndex++,yield{type:"startArray",length:f,line:n.number};let v={index:i.nextIndex};yield*k_(f,e.children,a,o,v,s,c,!1,n.number),i.nextIndex=v.index,yield{type:"endArray",line:o[i.nextIndex-1]?.number??n.number};return}yield{type:"startObject",line:n.number},yield*$_(e.children,r,n,o,i,s,a,c),yield{type:"endObject",line:n.number};return}let l=v_(r,i,n.number);yield{type:"primitive",value:Ke(l,n.number),line:n.number}}function*S_(e,t,r,n){let o=e.fixedLength;if(r.cellIndex+o>t.length)throw E(n,"array row length mismatch");yield{type:"startArray",length:o,line:n};for(let i of t.slice(r.cellIndex,r.cellIndex+o))yield{type:"primitive",value:Ke(i,n),line:n};r.cellIndex+=o,yield{type:"endArray",line:n}}function v_(e,t,r){let n=e[t.cellIndex];if(n===void 0)throw E(r,"array row length mismatch");return t.cellIndex++,n}function E_(e,t,r,n,o,i,s){let a=t.filter(l=>l.children!==void 0);if(a.length===0)return new Set;if(a.length>12)return;let c;for(let l=0;l<1<<a.length;l++){let u=new Set;a.forEach((f,p)=>{l&1<<p&&u.add(f)});let d=R_(e,t,u,r,n,o,i,s);d!==void 0&&(c===void 0||d.consumed>c.consumed||d.consumed===c.consumed&&u.size<c.fields.size)&&(c={fields:u,consumed:d.consumed})}return c?.fields}function R_(e,t,r,n,o,i,s,a){let c=i,l=0;try{for(let d=0;d<e;d++){let f=o[c];if(f===void 0||f.depth!==s||f.blankBefore&&a.strict||!Li(f.content,n,f.number))return;let p=mO(t,r,Xn(f.content,n,f.number),n,o,c+1,s+1,a);if(p===void 0||o[p.nextIndex]?.depth>s)return;c=p.nextIndex,l+=p.consumed}let u=o[c];if(u!==void 0&&u.depth>=s&&Li(u.content,n,u.number))return}catch{return}return{nextIndex:c,consumed:l}}function mO(e,t,r,n,o,i,s,a){let c=0,l=i,u=0;for(let d of e){if(d.fixedLength!==void 0)c+=d.fixedLength;else if(d.children!==void 0)if(t.has(d)){let f=T_(r[c]);if(f===void 0)return;c++;let p=E_(f,d.children,n,o,l,s,a);if(p===void 0)return;let m=R_(f,d.children,p,n,o,l,s,a);if(m===void 0)return;l=m.nextIndex,u+=f+m.consumed}else c+=Mi(d.children);else c++;if(c>r.length)return}return c===r.length?{nextIndex:l,consumed:u}:void 0}function T_(e){return e!==void 0&&/^(0|[1-9][0-9]*)$/.test(e)?Number(e):void 0}function Mi(e){return e.reduce((t,r)=>t+P_(r),0)}function P_(e){return e.fixedLength!==void 0?e.fixedLength:e.children!==void 0?Mi(e.children):1}function hO(e){return e.reduce((t,r)=>t+(r.children===void 0?P_(r):1),0)}function Li(e,t,r){let n=nt(e,":",r);if(n===-1)return!0;let o=nt(e,t,r);return o!==-1&&o<n}function gO(e,t,r){return E(e[t]?.number??e[e.length-1]?.number??r,"array length mismatch")}function yO(e){let t=0;for(;t<e.length&&e[t]===" ";)t++;return e[t]==="#"}var Bi=class{ctx;sourceByLine=new Map;number=0;blankPending=!1;firstLine=!0;constructor(t){this.ctx=t}push(t){let r=t;if(this.number++,this.sourceByLine.set(this.number,t),this.firstLine&&(r.startsWith("\uFEFF")&&(r=r.slice(1)),this.firstLine=!1),r.endsWith("\r")&&(r=r.slice(0,-1)),r=r.replace(/ +$/,""),r.trim()===""){this.blankPending=!0;return}if(yO(r))return;let n=0,o=0,i=0;for(;n<r.length&&(r[n]===" "||r[n]===" ");){if(r[n]===" "){if(this.ctx.strict)throw E(this.number,"tab used as indentation");o++}else i++;n++}let s;if(i%this.ctx.indentSize===0)s=i/this.ctx.indentSize;else{if(this.ctx.strict)throw E(this.number,"invalid indentation");s=Math.floor(i/this.ctx.indentSize)}s+=o,q_(s,this.number,this.ctx);let a={number:this.number,depth:s,content:r.slice(n),blankBefore:this.blankPending};return this.blankPending=!1,a}};function*_O(e,t){for(let r of e){let n=t.push(r);n!==void 0&&(yield n)}}async function*wO(e,t){for await(let r of e){let n=t.push(r);n!==void 0&&(yield n)}}var bO=/^(0|[1-9]\d*)$/;function Hu(e,t){let r=nt(e,"[",t);if(r===-1)return null;let n=nt(e,":",t);if(n!==-1&&n<r)return null;let o=e.slice(0,r);if(o!==""&&/\s$/.test(o))throw E(t,"whitespace between key and bracket segment");let i=e.indexOf("]",r);if(i===-1)return null;let s=e.slice(r+1,i),a=!1,c=",",l=s.indexOf(":");if(l!==-1){let h=s.slice(l+1);if(s=s.slice(0,l),a=!0,h===" "||h==="|")c=h;else if(h!=="")throw E(t,"malformed bracket segment")}else(s.endsWith(" ")||s.endsWith("|"))&&(c=s.slice(-1),s=s.slice(0,-1));if(!bO.test(s))throw E(t,"malformed array header length");let u=Number(s),d=e.slice(i+1),f;if(d.startsWith("{")){let h=z_(d,t);f=vO(d.slice(1,h),c,t),d=d.slice(h+1)}if(a&&f===void 0)throw E(t,"keyed header requires a field list");if(!d.startsWith(":"))throw E(t,"expected colon after array header");let p=mt(d.slice(1));if((f!==void 0||a)&&p!=="")throw E(t,"unexpected content after fields-bearing header colon");return{key:o===""?void 0:Zr(o,t)[0],length:u,delimiter:c,fields:f,keyed:a,inline:p===""?void 0:p}}function z_(e,t){let r=0,n=!1;for(let o=0;o<e.length;o++){let i=e[o];if(n){i==="\\"?o++:i==='"'&&(n=!1);continue}if(i==='"')n=!0;else if(i==="{")r++;else if(i==="}"&&(r--,r===0))return o}throw E(t,"malformed tabular header fields")}function vO(e,t,r){if(t!==","&&e.includes(",")&&(e.includes("[")||e.includes("{")))return qi(e,",",t,r);try{return qi(e,t,t,r)}catch(n){if(t===",")throw n;return qi(e,",",t,r)}}function qi(e,t,r,n){let o=[],i=0,s=0,a=0,c=!1,l=u=>{o.push(xO(u,t,r,n))};for(let u=0;u<e.length;u++){let d=e[u];if(c){d==="\\"?u++:d==='"'&&(c=!1);continue}d==='"'?c=!0:d==="{"?s++:d==="}"?s--:d==="["?a++:d==="]"?a--:d===t&&s===0&&a===0&&(l(e.slice(i,u)),i=u+1)}return l(e.slice(i)),o}function xO(e,t,r,n){let o=mt(e);if(o==="")throw E(n,"empty field entry in header");let i=o.startsWith('"')?kO(o,n)+1:0,s=o.indexOf("{",i),a=o.indexOf("[",i),c=s===-1?a:a===-1?s:Math.min(s,a);if(c===-1)return{name:Zr(o,n)[0]};let l=Zr(o.slice(0,c),n)[0];if(c===a){let f=o.indexOf("]",a);if(f===-1||f!==o.length-1)throw E(n,"invalid array header");let p=o.slice(a+1,f),m=/^(0|[1-9]\d*)(\t|\|)?$/.exec(p);if(m!==null){if((m[2]??",")!==r)throw E(n,"invalid array header");return{name:l,fixedLength:Number(m[1])}}if(p.length!==1||p===r||/[ \t\r\n"[\]{}:]/.test(p))throw E(n,"invalid array header");return{name:l,listDelimiter:p}}let u=z_(o.slice(s),n)+s;if(u!==o.length-1)throw E(n,"malformed tabular header fields");if(u===s+1)throw E(n,"invalid array header");let d=qi(o.slice(s+1,u),t,r,n);return{name:l,children:d}}function kO(e,t){for(let r=1;r<e.length;r++)if(e[r]==="\\")r++;else if(e[r]==='"')return r;throw E(t,"invalid quoted string")}function Wu(e){let t=0;for(let r of e)t+=r.children===void 0?1:Wu(r.children);return t}function Gu(e,t,r){let n=new Set;for(let o of e){if(n.has(o.name)&&r.strict)throw E(t,"duplicate field name in header");n.add(o.name),o.children!==void 0&&Gu(o.children,t,r)}}function mt(e){let t=0,r=e.length;for(;t<r&&e[t]===" ";)t++;for(;r>t&&e[r-1]===" ";)r--;return e.slice(t,r)}function Ju(e,t,r){if(mt(e)==="")return[];let n=[],o=0,i=!1;for(let s=0;s<e.length;s++){let a=e[s];if(i){a==="\\"?s++:a==='"'&&(i=!1);continue}a==='"'?i=!0:a===t&&(n.push(mt(e.slice(o,s))),o=s+1)}return n.push(mt(e.slice(o))),n}var Yu=Symbol("need line"),O_=2,Fu=class{lines=[];ended=!1;previous;spanActive=0;*peek(t=0){if(t>=O_)throw new Error(`decoder lookahead exceeds ${O_} classified lines`);for(;!this.ended&&this.lines.length<=t;){let r=yield Yu;r===void 0?this.ended=!0:this.lines.push(r)}return this.lines[t]}*take(t){let r=yield*this.peek();if(r===void 0)throw new Error("decoder attempted to read past end of input");if(this.lines.shift(),t.strict&&this.spanActive>0&&r.blankBefore)throw E(r.number,"blank line inside a header span");return this.previous=r,r}lastNumber(t){return this.previous===void 0?t:this.previous.number}stop(){this.lines.length=0,this.ended=!0}};function A_(e,t){return nt(e,":",t)!==-1}function I_(e,t){try{return Zr(e,t)[0]}catch(r){if(e.startsWith('"'))throw r;return e}}function N_(e){let t=e?.maxDepth??eo;return{indentSize:e?.indentSize??e?.indent??2,strict:e?.strict??!0,objectArrayColumns:e?.objectArrayColumns??!0,maxDepth:t===Number.POSITIVE_INFINITY?0:Math.max(0,Math.floor(t))}}function*C_(e){let t=new Fu,r=yield*t.peek();if(r===void 0){yield{type:"startObject",line:1},yield{type:"endObject",line:1};return}if(r.depth!==0)throw E(r.number,"invalid indentation");if(yield*t.peek(1),r.content==="[]"){yield*t.take(e),yield{type:"startArray",length:0,line:r.number},yield{type:"endArray",line:r.number},yield*Uu(t,e);return}let n=null,o=!1;try{n=Hu(r.content,r.number)}catch(i){if(e.strict)throw i;o=!0}if(n!=null&&Zi(n.fields,r.number,e),n!=null&&!o&&n.key===void 0){yield*t.take(e),n.keyed?yield*M_(t,r,n,e):yield*Qu(t,r,n,e),yield*Uu(t,e);return}if((n===null||o)&&!A_(r.content,r.number)&&(yield*t.peek(1))===void 0){yield*t.take(e),yield{type:"primitive",value:Ke(mt(r.content),r.number),line:r.number};return}yield*D_(t,0,r.number,e),yield*Uu(t,e)}function*Uu(e,t){let r=yield*e.peek();if(r!==void 0&&t.strict)throw E(r.number,"expected end of document");e.stop()}function*D_(e,t,r,n){yield{type:"startObject",line:r};let o=new Set;for(;;){let i=yield*e.peek();if(i===void 0||i.depth<t)break;if(i.depth>t)throw E(i.number,"over-indented line");yield*e.take(n),yield*Vu(e,i,i.content,t,n,o)}yield{type:"endObject",line:e.lastNumber(r)}}function*Vu(e,t,r,n,o,i){let s=null;try{s=Hu(r,t.number)}catch(u){if(o.strict)throw u;s=null}if(s!=null)if(Zi(s.fields,t.number,o),s.key===void 0){if(o.strict)throw E(t.number,"keyless header is only valid at the root or as a list item");s=null}else{Ku(i,s.key,t.number,o),yield{type:"key",key:s.key,line:t.number},s.keyed?yield*M_(e,{...t,depth:n},s,o):yield*Qu(e,{...t,depth:n},s,o);return}let a=nt(r,":",t.number);if(a===-1)throw E(t.number,"expected key-value line");let c=I_(mt(r.slice(0,a)),t.number),l=mt(r.slice(a+1));if(Ku(i,c,t.number,o),yield{type:"key",key:c,line:t.number},l===""){let u=yield*e.peek();if(u!==void 0&&u.depth>n){if(u.depth!==n+1)throw E(u.number,"over-indented line");yield*D_(e,n+1,u.number,o)}else yield{type:"startObject",line:t.number},yield{type:"endObject",line:t.number};return}if(l==="[]"){yield{type:"startArray",length:0,line:t.number},yield{type:"endArray",line:t.number};return}yield{type:"primitive",value:Ke(l,t.number),line:t.number}}function Ku(e,t,r,n){if(e.has(t)&&n.strict)throw E(r,"duplicate object key");e.add(t)}function*Qu(e,t,r,n){if(yield{type:"startArray",length:r.length,line:t.number},r.fields!==void 0){if(Gu(r.fields,t.number,n),j_(r.fields,n)){if(!n.objectArrayColumns&&L_(r.fields))throw E(t.number,"invalid array header");let s=[];for(;;){let a=yield*e.peek();if(a===void 0||a.depth<=t.depth)break;s.push(yield*e.take(n))}yield*x_(r.fields,s,r.length,r.delimiter,t.depth+1,t.number,n),yield{type:"endArray",line:e.lastNumber(t.number)};return}yield*SO(e,t,r,n);return}if(r.inline!==void 0){let s=Ju(r.inline,r.delimiter,t.number);el(s.length,r.length,t.number,"inline-form values",n);for(let a of s)yield{type:"primitive",value:Ke(a,t.number),line:t.number};yield{type:"endArray",line:t.number};return}let o=0;for(;;){let s=yield*e.peek();if(s===void 0||s.depth<=t.depth)break;if(s.depth!==t.depth+1)throw E(s.number,"over-indented line");if(!s.content.startsWith("- ")&&s.content!=="-")break;yield*e.take(n),o===0&&e.spanActive++,o++,yield*$O(e,s,n)}o>0&&e.spanActive--;let i=e.lastNumber(t.number);if(n.strict&&o!==r.length)throw E(i,`expected ${r.length} list items, but got ${o}`);yield{type:"endArray",line:i}}function j_(e,t){return e.some(r=>r.listDelimiter!==void 0||r.fixedLength!==void 0||t.objectArrayColumns&&r.children!==void 0||r.children!==void 0&&j_(r.children,t))}function L_(e){return e.some(t=>t.fixedLength!==void 0||t.children!==void 0&&L_(t.children))}function*$O(e,t,r){if(t.content==="-"){yield{type:"startObject",line:t.number},yield{type:"endObject",line:t.number};return}let n=mt(t.content.slice(2));if(n==="[]"){yield{type:"startArray",length:0,line:t.number},yield{type:"endArray",line:t.number};return}let o=null;try{o=Hu(n,t.number)}catch(i){if(r.strict)throw i;o=null}if(o!=null&&o.key===void 0){if(Zi(o.fields,t.number,r),o.keyed||o.fields!==void 0){if(r.strict)throw E(t.number,"keyless fields-bearing header is only valid at the root");yield{type:"primitive",value:Ke(n,t.number),line:t.number};return}yield*Qu(e,t,o,r);return}if(o!=null&&o.key!==void 0||A_(n,t.number)){yield{type:"startObject",line:t.number};let i=new Set;for(yield*Vu(e,t,n,t.depth+1,r,i);;){let s=yield*e.peek();if(s===void 0||s.depth!==t.depth+1||s.content.startsWith("- ")||s.content==="-")break;yield*e.take(r),yield*Vu(e,s,s.content,t.depth+1,r,i)}yield{type:"endObject",line:e.lastNumber(t.number)};return}yield{type:"primitive",value:Ke(n,t.number),line:t.number}}function*SO(e,t,r,n){let o=r.fields,i=Wu(o),s=t.depth+1,a=0;for(;;){let l=yield*e.peek();if(l===void 0||l.depth<=t.depth)break;if(l.depth!==s)throw E(l.number,"over-indented line");if(!EO(l.content,r.delimiter,l.number))break;yield*e.take(n),a===0&&e.spanActive++,a++;let u=Ju(l.content,r.delimiter,l.number);el(u.length,i,l.number,"row cells",n),yield*Xu(o,u,{next:0},l.number)}a>0&&e.spanActive--;let c=e.lastNumber(t.number);if(n.strict&&a!==r.length)throw E(c,`expected ${r.length} tabular rows, but got ${a}`);yield{type:"endArray",line:c}}function EO(e,t,r){let n=nt(e,":",r);if(n===-1)return!0;let o=nt(e,t,r);return o===-1?!1:o<n}function*Xu(e,t,r,n){yield{type:"startObject",line:n};for(let o of e)if(yield{type:"key",key:o.name,line:n},o.children===void 0){let i=t[r.next++]??"";yield{type:"primitive",value:Ke(i,n),line:n}}else yield*Xu(o.children,t,r,n);yield{type:"endObject",line:n}}function*M_(e,t,r,n){let o=r.fields;Gu(o,t.number,n);let i=Wu(o),s=t.depth+1;yield{type:"startObject",line:t.number};let a=new Set,c=0;for(;;){let u=yield*e.peek();if(u===void 0||u.depth<=t.depth)break;if(u.depth!==s)throw E(u.number,"over-indented line");let d=nt(u.content,":",u.number);if(d===-1){if(n.strict)throw E(u.number,"expected a keyed entry row");yield*e.take(n);continue}yield*e.take(n),c===0&&e.spanActive++,c++;let f=I_(mt(u.content.slice(0,d)),u.number);Ku(a,f,u.number,n),yield{type:"key",key:f,line:u.number};let p=Ju(u.content.slice(d+1),r.delimiter,u.number);el(p.length,i,u.number,"entry row cells",n),yield*Xu(o,p,{next:0},u.number)}c>0&&e.spanActive--;let l=e.lastNumber(t.number);if(n.strict&&c!==r.length)throw E(l,`expected ${r.length} entry rows, but got ${c}`);yield{type:"endObject",line:l}}function el(e,t,r,n,o){if(o.strict&&e!==t)throw E(r,`expected ${t} ${n}, but got ${e}`)}function q_(e,t,r){if(r.maxDepth!==0&&e>r.maxDepth)throw E(t,`maximum nesting depth exceeded (maxDepth ${r.maxDepth})`)}function Zi(e,t,r,n=1){if(e!==void 0){q_(n,t,r);for(let o of e)o.children!==void 0&&Zi(o.children,t,r,n+1)}}function*B_(e,t){let r=N_(t),n=new Bi(r),o=_O(e,n),i=C_(r),s=i.next();try{for(;!s.done;)if(s.value===Yu){let a=o.next();s=i.next(a.done?void 0:a.value)}else yield s.value,s=i.next()}catch(a){throw U_(a,n)}finally{i.return(),o.return(void 0)}}async function*Z_(e,t){let r=N_(t),n=new Bi(r),o=wO(e,n),i=C_(r),s=i.next();try{for(;!s.done;)if(s.value===Yu){let a=await o.next();s=i.next(a.done?void 0:a.value)}else yield s.value,s=i.next()}catch(a){throw U_(a,n)}finally{i.return(),await o.return(void 0)}}function U_(e,t){return!(e instanceof or)||e.source!==void 0?e:new Br(e.reason,{line:e.line,source:t.sourceByLine.get(e.line),cause:e})}function tl(e,t){return Symbol.asyncIterator in e?Z_(e,t):B_(e,t)}var RO=/[\uD800-\uDFFF]/;function je(e){if(e===null)return null;if(ir(e))return e;if(typeof e=="object"&&e!==null&&"toJSON"in e&&typeof e.toJSON=="function"){let t=e.toJSON();if(t!==e)return je(t)}if(typeof e=="string")return F_(e,"string value"),e;if(typeof e=="boolean")return e;if(typeof e=="number")return Object.is(e,-0)?0:Number.isFinite(e)?e:null;if(typeof e=="bigint")return e>=Number.MIN_SAFE_INTEGER&&e<=Number.MAX_SAFE_INTEGER?Number(e):e.toString();if(e instanceof Date)return e.toISOString();if(Array.isArray(e))return e.map(je);if(e instanceof Set)return Array.from(e,je);if(e instanceof Map){let t={};for(let[r,n]of e)Fr(t,String(r),je(n));return t}if(se(e)){let t={};for(let r of Object.keys(e))F_(r,"object key"),Fr(t,r,je(e[r]));return t}return null}function F_(e,t){if(RO.test(e))for(let r=0;r<e.length;r+=1){let n=e.charCodeAt(r);if(n<55296||n>57343)continue;let o=e.charCodeAt(r+1);if(n<=56319&&o>=56320&&o<=57343){r+=1;continue}throw new TypeError(`Cannot encode ${t} containing an unpaired surrogate U+${n.toString(16).toUpperCase()} at index ${r}`)}}function se(e){if(e===null||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function He(e){return e===null||ir(e)||["string","number","boolean"].includes(typeof e)}function Fr(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function H_(e){if(!se(e)||Object.keys(e).length===0)return e;let t={};for(let[r,n]of Object.entries(e)){let o=TO(n,1);if(o===void 0)return e;Ur(t,r,o)}return t}function TO(e,t){if(!se(e)||!PO(e))return;let{order:r,discriminator:n,rows:o}=e;if(typeof r!="string"||typeof n!="string"||!Number.isSafeInteger(o)||o<0)throw xe(t);let i=OO(r,o,t),s=e.common,a=s===void 0?Array.from({length:o},()=>({})):s;if(!Array.isArray(a)||a.length!==o||!a.every(se))throw W_(t);let c=new Map;for(let[d,f]of Object.entries(e))if(!b_.has(d)){if(!Array.isArray(f)||!f.every(se))throw xe(t);c.set(d,f)}if(c.size===0)throw xe(t);let l=new Map,u=i.map((d,f)=>{let p=c.get(d);if(p===void 0)throw rl(t);let m=l.get(d)??0,h=p[m];if(h===void 0)throw rl(t);return l.set(d,m+1),zO(n,d,a[f],h,t)});for(let[d,f]of c)if((l.get(d)??0)!==f.length)throw rl(t);return u}function PO(e){return Object.prototype.hasOwnProperty.call(e,"order")||Object.prototype.hasOwnProperty.call(e,"discriminator")||Object.prototype.hasOwnProperty.call(e,"rows")}function OO(e,t,r){if(!e.startsWith("cycle("))throw xe(r);let n=e.slice(6),o=n.indexOf(")*");if(o===-1)throw xe(r);let i=n.slice(0,o),s=n.slice(o+2);if(i===""||s.includes("+tail("))throw xe(r);let a=i.split(",").map(u=>CO(u,r));if(a.some(u=>u===""))throw xe(r);let c=NO(s,r),l=a.length*c;if(!Number.isSafeInteger(l))throw xe(r);if(l!==t)throw W_(r);return Array.from({length:l},(u,d)=>a[d%a.length])}function zO(e,t,r,n,o){let i={};Ur(i,e,t);for(let[s,a]of Object.entries(r??{})){if(s===e||Object.prototype.hasOwnProperty.call(i,s))throw xe(o);Ur(i,s,a)}for(let[s,a]of Object.entries(AO(n,o))){if(s===e||Object.prototype.hasOwnProperty.call(i,s))throw xe(o);Ur(i,s,a)}return i}function AO(e,t){let r={};for(let[n,o]of Object.entries(e))IO(r,n.split("."),o,t);return Ui(r,t)}function IO(e,t,r,n){if(t.some(i=>i===""))throw xe(n);let o=e;for(let i=0;i<t.length;i+=1){let s=t[i];if(i===t.length-1){o[s]=r;return}if(o[s]??={},o=o[s],!se(o))throw xe(n)}}function Ui(e,t){return Array.isArray(e)?e.map(r=>Ui(r,t)):se(e)?Number.isSafeInteger(e.length)&&e.length>=0?Array.from({length:e.length},(r,n)=>{if(!Object.prototype.hasOwnProperty.call(e,String(n)))throw xe(t);return Ui(e[String(n)],t)}):Object.fromEntries(Object.entries(e).map(([r,n])=>[r,Ui(n,t)])):e}function NO(e,t){if(e===""||e.length>1&&e.startsWith("0")||!/^[0-9]+$/.test(e))throw xe(t);let r=Number(e);if(!Number.isSafeInteger(r))throw xe(t);return r}function CO(e,t){try{return decodeURIComponent(e)}catch{throw xe(t)}}function V_(e){return encodeURIComponent(e)}function xe(e){return E(e,"invalid cyclic array wire")}function W_(e){return E(e,"cyclic array length mismatch")}function rl(e){return E(e,"cyclic array group length mismatch")}function G_(e){if(!se(e))return;let t=Object.entries(e);if(t.length===0)return;let r=[];for(let[o,i]of t){let s=DO(i);if(s===void 0)return;r.push([o,s])}let n=[];for(let[o,i]of r)qO(n,o,i);return n.join("")}function DO(e){if(!Array.isArray(e)||e.length===0||!e.every(se))return;let t=jO(e);if(t===void 0)return;let r=e.map(a=>a[t]),n=LO(r);if(n===void 0)return;let o=MO(e,t),i=new Map;for(let a of e){let c=a[t];i.has(c)||i.set(c,[]);let l={};for(let[u,d]of Object.entries(a))if(u!==t&&!o.includes(u)&&!nl(d,u,l))return;i.get(c).push(l)}let s=[];for(let a of n.cycle){let c=i.get(a),l=ZO(c);if(l===void 0||l.length===0)return;s.push({fields:l,label:a,rows:c})}return{common:o,commonRows:e.map(a=>Object.fromEntries(o.map(c=>[c,a[c]]))),discriminator:t,groups:s,order:n,rows:e}}function jO(e){return w_.find(t=>e.every(r=>typeof r[t]=="string"))}function LO(e){if(!(e.length<12))for(let t=2;t<=Math.min(8,Math.floor(e.length/3));t+=1){if(e.length%t!==0)continue;let r=e.slice(0,t);if(new Set(r).size<2||!e.every((s,a)=>s===r[a%t]))continue;let n=e.length/t;if(n<3)continue;let o=e.map(V_).join(","),i=`cycle(${r.map(V_).join(",")})*${n}`;if(i.length<=o.length*.4)return{cycle:r,encoded:i,repeats:n}}}function MO(e,t){let r=[],n=Object.keys(e[0]),o=n.indexOf(t)+1;for(let i of n.slice(o).filter(s=>s!==t)){if(!BO(i)||!e.every(s=>Object.prototype.hasOwnProperty.call(s,i))||!e.every(s=>Di(s[i])))break;r.push(i)}return r}function qO(e,t,r){e.push(Te(t),`:
40
- `),e.push(" order: ",Ce(r.order.encoded,sr),`
41
- `),e.push(" discriminator: ",Ce(r.discriminator,sr),`
42
- `),e.push(" rows: ",String(r.rows.length),`
43
- `),r.common.length>0&&K_(e,"common",r.common,r.commonRows);for(let n of r.groups)K_(e,n.label,n.fields,n.rows)}function K_(e,t,r,n){e.push(" ",Te(t),"[",String(n.length),sr,"]{",r.map(Te).join(sr),`}:
44
- `);for(let o of n)e.push(" ",r.map(i=>Ce(o[i],sr)).join(sr),`
45
- `)}function BO(e){return e!==""&&ol(e)}function nl(e,t,r,n=new Set){if(!ol(t))return!1;if(Di(e))return r[t]=e,!0;if(Array.isArray(e)){if(n.has(e))return!1;n.add(e),r[`${t}.length`]=e.length;let o=e.every((i,s)=>nl(i,`${t}.${s}`,r,n));return n.delete(e),o}if(se(e)){if(n.has(e))return!1;n.add(e);let o=Object.entries(e).every(([i,s])=>!i.includes(".")&&nl(s,`${t}.${i}`,r,n));return n.delete(e),o}return!1}function ZO(e){let t=Object.keys(e[0]??{});if(e.every(r=>UO(Object.keys(r),t)))return t.every(ol)?t:void 0}function UO(e,t){return e.length===t.length&&e.every((r,n)=>r===t[n])}function ol(e){return e.split(".").every(t=>/^[A-Za-z_][A-Za-z0-9_]*$|^(?:0|[1-9][0-9]*)$/.test(t))}function il(e,t){let r=sl(e,t,[]),n=t("",r,[]);return n===void 0?r:je(n)}function sl(e,t,r){return Array.isArray(e)?VO(e,t,r):se(e)?FO(e,t,r):e}function FO(e,t,r){let n={};for(let[o,i]of Object.entries(e)){if(i===void 0)continue;let s=[...r,o],a=t(o,sl(i,t,s),s);a!==void 0&&Fr(n,o,je(a))}return n}function VO(e,t,r){let n=[];for(let o=0;o<e.length;o+=1){let i=[...r,o],s=t(String(o),sl(e[o],t,i),i);s!==void 0&&n.push(je(s))}return n}var J_=Symbol("unset");function Y_(e){let t=[],r,n=J_,o=i=>{let s=t[t.length-1];s===void 0?n=i:Array.isArray(s)?s.push(i):Object.defineProperty(s,r,{value:i,enumerable:!0,writable:!0,configurable:!0})};for(let i of e)switch(i.type){case"startObject":{let s={};o(s),t.push(s);break}case"startArray":{let s=[];o(s),t.push(s);break}case"endObject":case"endArray":t.pop();break;case"key":r=i.key;break;case"primitive":o(i.value);break}return n===J_?{}:n}function Q_(e,t){let r=Y_(tl(e,t));return t?.reviver?il(r,t.reviver):r}function al(e,t){let{reviver:r,...n}=t??{},o=Q_(KO(e),n),i=t?.cyclicDiscriminatedArrays===!0?H_(o):o;return r?il(i,r):i}function*KO(e){let t=0;for(;;){let r=e.indexOf(`
46
- `,t);if(r===-1){yield e.slice(t);return}yield e.slice(t,r),t=r+1}}function X_(e,t){let r=t("",e,[]);return r===void 0?cl(e,t,[]):ul(e,r,t,[])}function ul(e,t,r,n){return ir(t)&&(Array.isArray(e)||se(e))?cl(e,r,n):cl(je(t),r,n)}function cl(e,t,r){return Array.isArray(e)?WO(e,t,r):se(e)?HO(e,t,r):e}function HO(e,t,r){let n={};for(let[o,i]of Object.entries(e)){let s=[...r,o],a=t(o,i,s);a!==void 0&&Fr(n,o,ul(i,a,t,s))}return n}function WO(e,t,r){let n=[];for(let o=0;o<e.length;o+=1){let i=[...r,o],s=t(String(o),e[o],i);s!==void 0&&n.push(ul(e[o],s,t,i))}return n}function Vr(e,t={}){if(t.objectArrayColumns===!0){let o=ew(e);if(o!==void 0)return[{name:"values",fixedLength:o,self:!0}]}let r=Object.keys(e[0]??{});if(r.length===0)return;for(let o of e)if(!se(o)||Object.keys(o).length!==r.length||r.some(i=>!Object.prototype.hasOwnProperty.call(o,i)))return;let n=[];for(let o of r){let i=e.map(a=>a[o]);if(i.every(He)){n.push({name:o});continue}if(t.primitiveArrayColumns===!0&&i.every(a=>Array.isArray(a)&&a.every(He))){n.push({name:o,listDelimiter:";"});continue}if(t.objectArrayColumns===!0&&i.every(Array.isArray)){let a=ew(i);if(a!==void 0){n.push({name:o,fixedLength:a});continue}let c=i.flat(),l=Vr(c,t);if(l!==void 0){n.push({name:o,children:l,childTable:!0});continue}}if(!i.every(a=>se(a)&&Object.keys(a).length>0))return;let s=Vr(i,t);if(s===void 0)return;n.push({name:o,children:s})}return n}function Fi(e,t={}){let r=Object.values(e);if(!(r.length<2)&&r.every(n=>se(n)&&Object.keys(n).length>0))return Vr(r,t)}function ew(e){let t=Array.isArray(e[0])?e[0].length:0;if(t!==0)return e.every(r=>Array.isArray(r)&&r.length===t&&r.every(He))?t:void 0}function ht(e,t={}){return Array.from(tw(e,t)).join(`
47
- `)}function tw(e,t={}){let r=t.delimiter??",";if(![",","|"," "].includes(r))throw new TypeError("invalid delimiter");let n=t.indentSize??t.indent??2,o=t.maxDepth??eo,i=o===Number.POSITIVE_INFINITY?0:Math.max(0,Math.floor(o)),s=je(e),a=t.replacer?X_(s,t.replacer):s,c={delimiter:r,indentSize:n,maxDepth:i,primitiveArrayColumns:t.primitiveArrayColumns===!0,objectArrayColumns:t.objectArrayColumns===!0};if(t.cyclicDiscriminatedArrays===!0){let l=G_(a);if(l!==void 0)return l.trimEnd().split(`
48
- `)}return GO(a,c)}function GO(e,t){if(He(e))return[Ce(e,t.delimiter)];if(Array.isArray(e))return nw(void 0,e,0,t);let r=Fi(e,t);return r===void 0?Vi(e,0,t):rw(void 0,e,r,0,t)}function Vi(e,t,r){return Hr(t,r),Object.entries(e).flatMap(([n,o])=>JO(n,o,t,r))}function JO(e,t,r,n){let o=de(r,n)+Te(e);if(He(t))return[`${o}: ${Ce(t,n.delimiter)}`];if(Array.isArray(t))return nw(e,t,r,n);let i=Fi(t,n);if(i!==void 0)return rw(e,t,i,r,n);let s=[`${o}:`];return Object.keys(t).length>0&&s.push(...Vi(t,r+1,n)),s}function rw(e,t,r,n,o){Hr(n,o);let i=Object.entries(t);to(r,n+1,o);let s=[de(n,o)+ot(e,i.length,r,o.delimiter,!0)];for(let[a,c]of i){let l=Kr(c,r,n+2,o);s.push(de(n+1,o)+Te(a)+": "+l.cells),s.push(...l.children)}return s}function nw(e,t,r,n){Hr(r,n);let o=de(r,n);if(t.length===0)return[e===void 0?`${o}[]`:`${o}${Te(e)}: []`];if(t.every(He))return[o+ot(e,t.length,void 0,n.delimiter)+" "+dl(t,n.delimiter)];let i=Vr(t,n);if(i!==void 0)return YO(e,t,i,r,n);let s=[o+ot(e,t.length,void 0,n.delimiter)];for(let a of t)s.push(...ll(a,r+1,n));return s}function YO(e,t,r,n,o){to(r,n+1,o);let i=[de(n,o)+ot(e,t.length,r,o.delimiter)];for(let s of t){let a=Kr(s,r,n+2,o);i.push(de(n+1,o)+a.cells),i.push(...a.children)}return i}function ll(e,t,r){Hr(t,r);let n=de(t,r)+"-";if(He(e))return[`${n} ${Ce(e,r.delimiter)}`];if(Array.isArray(e)){if(e.length===0)return[`${n} ${ot(void 0,0,void 0,r.delimiter)}`];if(e.every(He))return[`${n} ${ot(void 0,e.length,void 0,r.delimiter)} ${dl(e,r.delimiter)}`];let o=[`${n} ${ot(void 0,e.length,void 0,r.delimiter)}`];for(let i of e)o.push(...ll(i,t+1,r));return o}return QO(e,t,r)}function QO(e,t,r){Hr(t,r);let n=Object.entries(e);if(n.length===0)return[de(t,r)+"-"];let[[o,i],...s]=n,a=XO(o,i,t,r),c;if(a!==void 0)c=a;else if(He(i))c=[de(t,r)+"- "+Te(o)+": "+Ce(i,r.delimiter)];else if(Array.isArray(i))if(i.length===0)c=[de(t,r)+"- "+Te(o)+": []"];else{c=[de(t,r)+"- "+ot(o,i.length,void 0,r.delimiter)];for(let l of i)c.push(...ll(l,t+2,r))}else c=[de(t,r)+"- "+Te(o)+":"],Object.keys(i).length>0&&c.push(...Vi(i,t+2,r));return s.length>0&&c.push(...Vi(Object.fromEntries(s),t+1,r)),c}function XO(e,t,r,n){if(Array.isArray(t)&&t.length>0&&t.every(He))return[de(r,n)+"- "+ot(e,t.length,void 0,n.delimiter)+" "+dl(t,n.delimiter)];if(Array.isArray(t)&&t.every(se)){let o=Vr(t,n);if(o!==void 0){to(o,r+1,n);let i=[de(r,n)+"- "+ot(e,t.length,o,n.delimiter)];for(let s of t){let a=Kr(s,o,r+3,n);i.push(de(r+2,n)+a.cells),i.push(...a.children)}return i}}if(se(t)){let o=Fi(t,n);if(o!==void 0){to(o,r+1,n);let i=Object.entries(t),s=[de(r,n)+"- "+ot(e,i.length,o,n.delimiter,!0)];for(let[a,c]of i){let l=Kr(c,o,r+3,n);s.push(de(r+2,n)+Te(a)+": "+l.cells),s.push(...l.children)}return s}}}function ot(e,t,r,n,o=!1){let i=e===void 0?"":Te(e),s=o?":":"",a=n===","?"":n,c=r===void 0?"":`{${ow(r,n)}}`;return`${i}[${t}${s}${a}]${c}:`}function ow(e,t){return e.map(r=>{let n=Te(r.name);if(r.listDelimiter!==void 0)return`${n}[${r.listDelimiter}]`;if(r.fixedLength!==void 0){let o=t===","?"":t;return`${n}[${r.fixedLength}${o}]`}return n+(r.children===void 0?"":`{${ow(r.children,t)}}`)}).join(t)}function Kr(e,t,r,n){let o=[],i=[];for(let s of t){let a=s.self===!0?e:e[s.name];if(s.childTable===!0){o.push(String(a.length));for(let c of a){let l=Kr(c,s.children??[],r+1,n);i.push(de(r,n)+l.cells,...l.children)}}else if(s.fixedLength!==void 0)o.push(...a.map(c=>Ce(c,n.delimiter)));else if(s.listDelimiter!==void 0)o.push(a.map(c=>ez(c,n.delimiter,s.listDelimiter)).join(s.listDelimiter));else if(s.children!==void 0){let c=Kr(a,s.children,r,n);o.push(c.cells),i.push(...c.children)}else o.push(Ce(a,n.delimiter))}return{cells:o.join(n.delimiter),children:i}}function ez(e,t,r){return typeof e!="string"?Ce(e,t):Zu(e,t)||e.includes(r)?ji(e):e}function dl(e,t){return e.map(r=>Ce(r,t)).join(t)}function de(e,t){return" ".repeat(e*t.indentSize)}function Hr(e,t){if(t.maxDepth!==0&&e>t.maxDepth)throw E(0,`maximum nesting depth exceeded (maxDepth ${t.maxDepth})`)}function to(e,t,r){Hr(t,r);for(let n of e)n.children!==void 0&&to(n.children,t+1,r)}var lU=new TextEncoder,dU=new TextDecoder;var jt=al;import{basename as Tb}from"node:path";import{randomUUID as Sl}from"node:crypto";import{spawn as jz}from"node:child_process";import{readFileSync as Lz}from"node:fs";import{mkdir as Mz,readFile as PF,rm as Ji,stat as OF}from"node:fs/promises";import{dirname as no,join as xt,resolve as El}from"node:path";import{isAbsolute as YU,join as Wr,resolve as rz}from"node:path";var nz=".red";function oz(e){if(!e)throw new Error("root is required");return e.replace(/\/$/,"")}function iw(e){return Wr(oz(e),nz)}function sw(e){return Wr(iw(e),"state")}function iz(e){return Wr(iw(e),"tmp")}function fl(e){return Wr(sw(e),"rsp")}function pl(e){return Wr(sw(e),"red-skills.rdb")}var sz=".red/tmp/red-skills.rdb";function aw(e){return Wr(iz(e),"red-skills.rdb")}function cw(e,t){let r=pl(e);if(t(r))return r;let n=aw(e);if(t(n))throw ml();return r}function uw(e,t){return t===sz||rz(e,t)===aw(e)}function ml(){return new Error("Legacy shared store found at .red/tmp/red-skills.rdb. Run `rsp setup` to migrate it to .red/state/red-skills.rdb before using rsp, memory, or brain.")}import{mkdir as lF,readFile as kz,rename as dF,rm as fF,writeFile as pF}from"node:fs/promises";import{createHash as uz}from"node:crypto";import{constants as gl}from"node:fs";import{mkdir as vw,open as lz,readFile as dz,rm as xw,stat as fz}from"node:fs/promises";import{createConnection as pz}from"node:net";import{tmpdir as mz}from"node:os";import{dirname as kw,join as ro}from"node:path";var az="toon";function fw(e){return e.trimStart().startsWith("{")?"json":"toon"}function pw(e){let t=0;for(;e[t]===`
49
- `||e[t]==="\r";)t+=1;let r=e.slice(t);if(r==="")return null;let n=fw(r);if(n==="json"){let i=r.indexOf(`
50
- `);return i<0?null:{frame:r.slice(0,i),dialect:n,rest:r.slice(i+1)}}let o=r.indexOf(`
51
-
52
- `);return o<0?null:{frame:r.slice(0,o+1),dialect:n,rest:r.slice(o+2)}}function mw(e){let t=fw(e)==="json"?hl:lw,r=t===hl?lw:hl;try{return t(e)}catch(n){try{return r(e)}catch{throw n}}}function hl(e){return JSON.parse(e)}function lw(e){return jt(e)}function hw(e,t){if(t==="toon"){let r=cz(e);if(r!==null)return r.endsWith(`
53
- `)?`${r}
54
- `:`${r}
55
-
56
- `}return`${JSON.stringify(e)}
57
- `}function cz(e){try{let t=JSON.stringify(e);if(t===void 0)return null;let r=ht(JSON.parse(t));return r.trim()===""?null:r}catch{return null}}function gw(e,t){return!dw(e)||!dw(t)||t.ok!==!1?!1:typeof e.id=="string"&&typeof t.id=="string"&&t.id!==e.id}function dw(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var yw=new Set;function _w(e){return yw.has(e)?"json":az}function ww(e){yw.add(e)}var hz=108;async function $w(e,t,r="resident server"){let n=e.wire,o=n??_w(e.socketPath),i=await bw(e,t,r,o);return n||o==="json"||!gw(t,i)?i:(ww(e.socketPath),await bw(e,t,r,"json"))}async function bw(e,t,r,n){let o=e.timeoutMs??1e3;return await new Promise((i,s)=>{let a=pz(e.socketPath),c=!1,l="",u=setTimeout(()=>{d(()=>s(new Error(`${r} timed out`))),a.destroy()},o);function d(f){c||(c=!0,clearTimeout(u),f())}a.on("connect",()=>{a.write(hw(t,n))}),a.on("data",f=>{l+=f.toString("utf8");let p=pw(l);p&&(l=p.rest,d(()=>{try{i(mw(p.frame))}catch(m){s(m)}}),a.end())}),a.on("error",f=>d(()=>s(f))),a.on("close",()=>{c||d(()=>s(new Error(`${r} closed without response`)))})})}async function Sw(e){await vw(kw(e),{recursive:!0,mode:448});try{return await lz(e,gl.O_CREAT|gl.O_EXCL|gl.O_RDWR)}catch(t){if(t.code!=="EEXIST")throw t;return null}}var gz=6e4,Ew="resident-spawn-lock v1",yz=3;async function yl(e,t={}){let r=t.maxAgeMs??gz,n=t.now??Date.now,o=t.pid??process.pid,i=t.isPidAlive??ar;await vw(kw(e),{recursive:!0,mode:448});let s=[];for(let a=0;;a+=1){let c=await Sw(e);if(c)return await c.writeFile(`${Ew} pid=${o} taken=${new Date(n()).toISOString()}
58
- `).catch(()=>{}),{acquired:!0,lockPath:e,handle:c,reaped:s};let l=await wz(e),u=await vz(e,l,n());if(a>=yz||u==null)return{acquired:!1,lockPath:e,holder:l,ageMs:u};let d=_z(l,u,r,i);if(d==null)return{acquired:!1,lockPath:e,holder:l,ageMs:u};let f={lockPath:e,reason:d,holder:l,ageMs:u};await xw(e,{force:!0}),s.push(f),t.onReap?.(f)}}async function _l(e){await e.handle.close().catch(()=>{}),await xw(e.lockPath,{force:!0})}function _z(e,t,r,n){return e==null?t>r?"unattributed":null:n(e.pid)?t>r?"aged-out":null:"holder-dead"}function wl(e){let t=e.ageMs==null?"of unknown age":`taken ${Math.round(e.ageMs/1e3)}s ago`,r=e.holder==null?"an owner it does not name":`pid ${e.holder.pid} (at ${e.holder.takenAt})`;return`no spawn was attempted: the spawn lock ${JSON.stringify(e.lockPath)} is held by ${r}, ${t}. If that process is gone, remove the file to clear it`}async function wz(e){try{return bz(await dz(e,"utf8"))}catch{return null}}function bz(e){let t=e.split(`
59
- `,1)[0]?.trim()??"";if(!t.startsWith(Ew))return null;let r=Number(/\bpid=(\d+)\b/.exec(t)?.[1]??""),n=/\btaken=(\S+)/.exec(t)?.[1]??"";return!Number.isInteger(r)||r<=0||!Number.isFinite(Date.parse(n))?null:{pid:r,takenAt:n}}async function vz(e,t,r){let n=t==null?Number.NaN:Date.parse(t.takenAt);if(Number.isFinite(n))return Math.max(0,r-n);try{return Math.max(0,r-(await fz(e)).mtimeMs)}catch{return null}}function ar(e){if(!Number.isInteger(e)||e<=0)return!1;try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}async function Rw(e,t=1e3){if(!ar(e))return;try{process.kill(e,"SIGTERM")}catch{return}let r=Date.now()+t;for(;Date.now()<r;){if(!ar(e))return;await new Promise(n=>setTimeout(n,50))}try{process.kill(e,"SIGKILL")}catch{}}var xz="/tmp";function Tw(e){let t=e.env??process.env,r=uz("sha256").update(e.key).digest("hex").slice(0,20),n=c=>ro(c,e.socketFileName).length<hz,o=t.XDG_RUNTIME_DIR;if(o){let c=ro(o,"red-skills",r);if(n(c))return c}let i=e.uid??(typeof process.getuid=="function"?process.getuid():"nouid"),s=ro(`red-skills-${i}`,r),a=ro(mz(),s);return n(a)||process.platform==="win32"?a:ro(xz,s)}var gF=5*6e4;async function Pw(e){try{let t=(await kz(e,"utf8")).trim();if(t==="")return null;try{return JSON.parse(t)}catch{return jt(t)}}catch{return null}}async function Ki(e,t){return await $w(e,t,"resident rsp server")}import{existsSync as $z,readdirSync as Sz}from"node:fs";import{homedir as Ez}from"node:os";import{basename as vl,dirname as bl,join as We,resolve as Hi}from"node:path";var Wi="rsp-resident-entry-unresolved";function Rz(e){return"command"in e}var Gi=class extends Error{code=Wi;searched;callerEntry;constructor(t){super(`${Wi}: no rsp entrypoint found for the resident auto-spawn${t.callerEntry?` (caller entry: ${t.callerEntry})`:""}
60
- searched:
61
- ${t.searched.map(r=>` ${r}`).join(`
62
- `)}`),this.name="RspResidentEntryError",this.searched=t.searched,this.callerEntry=t.callerEntry}},cr="rsp.bundle.min.mjs",Tz=/^([a-z0-9-]+)-(.+)\.bundle\.min\.mjs$/,xl=/^rsp-(.+)\.bundle\.min\.mjs$/,Pz=["RED_SKILLS_DEV_PLUGIN_ROOT","CLAUDE_PLUGIN_ROOT","CODEX_PLUGIN_ROOT","OPENCODE_PLUGIN_ROOT"];function zw(e={},t={}){if(e.serverCommand)return{command:e.serverCommand,args:e.serverArgs??[],source:"server-command"};let r=t.env??process.env,n=t.exists??$z,o=t.execPath??process.execPath,i=t.execArgv??process.execArgv,s=t.callerEntry===void 0?process.argv[1]:t.callerEntry,a=(l,u)=>({command:o,args:[...i,l],source:u});if(r.RSP_BIN)return{command:r.RSP_BIN,args:[],source:"env-rsp-bin"};if(s&&Oz(s))return a(Hi(s),"caller-entry");let c=[];for(let[l,u]of Az(s,t.rootDir,r,t.listDir??Dz))if(c.push(l),n(l))return a(l,u);return{diagnostic:Wi,searched:c,...s?{callerEntry:Hi(s)}:{}}}function Aw(e={},t={}){let r=zw(e,t);if(Rz(r))return r;throw new Gi(r)}function Oz(e){let t=vl(e);return t===cr||xl.test(t)||t==="rsp"||t==="rsp.mjs"||t==="rsp.js"?!0:t!=="cli.js"&&t!=="cli.mjs"&&t!=="cli.ts"?!1:zz(Hi(e))}function zz(e){let t=bl(e);for(let r=0;r<4;r++){if(vl(t)==="rsp")return!0;let n=bl(t);if(n===t)return!1;t=n}return!1}function*Az(e,t,r,n){if(e){let i=bl(Hi(e));yield[We(i,cr),"caller-sibling-bundle"];let s=Tz.exec(vl(e));s&&(yield[We(i,`rsp-${s[2]}.bundle.min.mjs`),"caller-sibling-bundle"]),yield[We(i,"..","dist",cr),"caller-sibling-bundle"]}for(let i of Pz){let s=r[i];s&&(yield[We(s,"dist",cr),"plugin-root-bundle"],yield[We(s,"..","..","dist",cr),"plugin-root-bundle"])}t&&(yield[We(t,"dist",cr),"repo-bundle"],yield[We(t,"apps","rsp","dist","cli.js"),"workspace-entry"],yield[We(t,"node_modules","@reddb-io","rsp","dist","cli.js"),"node-modules-entry"]);let o=Iz(r);yield[We(o,cr),"bundle-cache"];for(let i of Nz(o,n))yield[We(o,i),"bundle-cache"]}function Iz(e){if(e.RED_SKILLS_CACHE_DIR)return e.RED_SKILLS_CACHE_DIR;let t=e.XDG_CACHE_HOME||We(e.HOME||Ez(),".cache");return We(t,"red-skills","bundles")}function Nz(e,t){return t(e).filter(r=>xl.test(r)).sort((r,n)=>Cz(Ow(n),Ow(r)))}function Ow(e){return xl.exec(e)?.[1]??""}function Cz(e,t){let r=i=>i.split(".").map(s=>Number.parseInt(s,10)),[n,o]=[r(e),r(t)];for(let i=0;i<Math.max(n.length,o.length);i++){let[s,a]=[n[i],o[i]];if(Number.isNaN(s)||s===void 0)return Number.isNaN(a)||a===void 0?e.localeCompare(t):-1;if(Number.isNaN(a)||a===void 0)return 1;if(s!==a)return s-a}return 0}function Dz(e){try{return Sz(e)}catch{return[]}}var qz=1,Bz=5e3;function Qi(e){let t=Qz(e)??El(e),r=Yz(t),n=fl(t);return{rootDir:t,socketPath:xt(r,"rsp.sock"),pidPath:xt(r,"rsp.pid"),lockPath:xt(r,"rsp.lock"),wakeLockPath:xt(t,".red","tmp","rsp","wake.lock"),summaryPath:xt(n,"rsp-status-summary.toon"),registryPath:xt(n,"rsp-resident.pid.toon")}}var Yi=class{constructor(t,r){this.paths=t;this.config=r}async request(t){await Zz(this.paths,this.config);let r=await Ki(this.paths,{...t,id:Sl()});if(!r.ok)throw new Error(r.error);return r.value}};async function Zz(e,t){if(await Mz(no(e.socketPath),{recursive:!0,mode:448}),await Cw(e.socketPath,t))return;await Nw(e,t);let r=await yl(e.lockPath,{onReap:n=>process.stderr.write(`rsp: reaped the resident spawn lock ${JSON.stringify(n.lockPath)} (${n.reason}, ${Math.round(n.ageMs/1e3)}s old)
63
- `)});if(r.acquired)try{if(await Cw(e.socketPath,t))return;await Nw(e,t),await Vz(e.socketPath);let n=Kz(e,t);await Iw(e.socketPath,n);return}finally{await _l(r)}try{await Iw(e.socketPath)}catch(n){throw new Error(`${n instanceof Error?n.message:String(n)}; ${wl(r)}`)}}async function oo(e,t=200){try{return await jw(e,t)!=null}catch{return!1}}async function jw(e,t=200){let r=await Ki({socketPath:e,timeoutMs:t},{id:Sl(),op:"ping"});return r.ok?Mw(r.value)?{version:rA(r.value.version)}:{}:null}async function Uz(e){let t=await Pw(e);return nA(t)?t:null}async function Iw(e,t){let r=Date.now()+Fz(),n;for(;Date.now()<r;){if(await oo(e))return;if(t){let o=t.spawnError();if(o)throw new Error(kl("resident rsp server spawn failed",t,o));if(t.child.exitCode!=null||t.child.signalCode!=null)throw new Error(kl("resident rsp server exited before ready",t))}await new Promise(o=>setTimeout(o,50))}throw n instanceof Error?n:new Error(t?kl("resident rsp server did not start",t):"resident rsp server did not start")}function Fz(){let e=Number(process.env.RSP_RESIDENT_READY_TIMEOUT_MS??"");return Number.isFinite(e)&&e>0?e:Bz}async function Vz(e){await Ji(e,{force:!0})}function Kz(e,t){let[r,n]=Jz(e,t),o=process.env.RSP_DEBUG==="1",i,s="",a=jz(r,[...n,"server","--socket",e.socketPath,"--pid-file",e.pidPath,"--store-uri",t.storeUri,"--ttl-days",String(t.ttlDays),"--ephemeral-ttl-hours",String(t.ephemeralTtlHours??6),"--byte-budget",String(t.byteBudget),"--telemetry-ttl-days",String(t.telemetryTtlDays??90),"--telemetry-byte-budget",String(t.telemetryByteBudget??t.byteBudget),"--telemetry-drain-interval-ms",String(t.telemetryDrainIntervalMs??3e4),"--telemetry-drain-timeout-ms",String(t.telemetryDrainTimeoutMs??2e3),"--idle-ms",String(t.idleMs??3e5),"--resident-version",t.clientVersion??"0.0.0-dev","--registry",e.registryPath],{cwd:e.rootDir,detached:!0,stdio:o?["ignore","ignore","pipe"]:"ignore",env:{...process.env,RSP_RESIDENT_SERVER:"1"}});return a.on("error",c=>{i=c}),o&&(a.stderr?.setEncoding("utf8"),a.stderr?.on("data",c=>{s=Wz(`${s}${c}`,Hz)})),a.unref(),{child:a,stderrTail:()=>s,spawnError:()=>i}}var Hz=8*1024;function kl(e,t,r){let n=[e];r&&n.push(`error: ${r.message}`),t.child.exitCode!=null&&n.push(`exit code: ${t.child.exitCode}`),t.child.signalCode!=null&&n.push(`signal: ${t.child.signalCode}`);let o=t.stderrTail().trimEnd();return o&&n.push(`stderr tail:
64
- ${o}`),n.join(`
65
- `)}function Wz(e,t){let r=Buffer.byteLength(e,"utf8");return r<=t?e:Buffer.from(e,"utf8").subarray(r-t).toString("utf8").replace(/^\uFFFD+/,"")}async function Nw(e,t){try{let r=await Uz(e.registryPath);if(!r||r.socket_path!==e.socketPath||r.store_uri!==t.storeUri)return;if(!ar(r.pid)){await Ji(e.registryPath,{force:!0});return}if(await oo(r.socket_path,100))return;if(Lw(t.clientVersion,r.resident_version)&&(await Gz(r.pid,1500),!ar(r.pid))){await Ji(e.registryPath,{force:!0});return}await Rw(r.pid),await Ji(e.registryPath,{force:!0})}catch{}}async function Gz(e,t){let r=Date.now()+t;for(;Date.now()<r;){if(!ar(e))return;await new Promise(n=>setTimeout(n,50))}}function Jz(e,t){let r=Aw(t,{rootDir:e.rootDir});return[r.command,r.args]}function Yz(e){return Tw({key:e,socketFileName:"rsp.sock"})}function Qz(e){let t=El(e);for(let r=0;r<32;r++){try{let o=$l(xt(t,".git"));if(o!=null)return Xz(t,o)??t;if($l(xt(t,".git","HEAD"))!=null||$l(xt(t,".red","config.yaml"))!=null)return t}catch{}let n=no(t);if(n===t)return null;t=n}return null}function Xz(e,t){let r=/^gitdir:\s*(.+?)\s*$/m.exec(t);if(!r)return null;let n=El(e,r[1]);return/[/\\]worktrees[/\\][^/\\]+$/.test(n)?no(no(no(n))):null}function $l(e){try{return Lz(e,"utf8")}catch{return null}}async function Cw(e,t){let r=await jw(e).catch(()=>null);return r?Lw(t.clientVersion,r.version)?(await eA(e,t.clientVersion),await oA(e),!1):!0:!1}async function eA(e,t){try{await Ki({socketPath:e,timeoutMs:200},{id:Sl(),op:"handover",clientVersion:t})}catch{}}function Lw(e,t){return!e||!t?!1:tA(e,t)>0}function tA(e,t){let r=Dw(e),n=Dw(t);return!r||!n?0:r.major-n.major||r.minor-n.minor||r.patch-n.patch}function Dw(e){let t=/^(\d+)\.(\d+)\.(\d+)/.exec(String(e).trim());return t?{major:Number(t[1]),minor:Number(t[2]),patch:Number(t[3])}:null}function Mw(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function rA(e){return typeof e=="string"&&e.length>0?e:void 0}function nA(e){return Mw(e)&&e.version===qz&&Number.isInteger(e.pid)&&typeof e.socket_path=="string"&&typeof e.store_uri=="string"&&typeof e.resident_version=="string"&&typeof e.started_at=="string"}async function oA(e){let t=Date.now()+1e3;for(;Date.now()<t;){if(!await oo(e,50))return;await new Promise(r=>setTimeout(r,50))}}import{spawn as iA}from"node:child_process";var Tl=["supports","contradicts","related_to"];function Pl(e){return{rid:e.rid,id:e.properties.id,title:e.properties.title,kind:e.kind,content:e.properties.content,tags:e.properties.tags}}function Ol(e){return typeof e=="string"&&Tl.includes(e)}function Gr(e){return e.properties.metadata?.derived===!0||typeof e.properties.metadata?.derived_kind=="string"}function qw(e){return[e.properties.title,e.kind,...e.properties.tags,e.properties.content].join(`
66
- `)}function sA(e){return{deriveConnections(t){return cA(e,t)}}}function Bw(e=process.env){let t=e.RED_BRAIN_AUTOLINK_AFK_COMMAND??e.RED_BRAIN_AUTOLINK_HEADLESS_COMMAND;if(t)return sA({command:t,args:uA(e.RED_BRAIN_AUTOLINK_AFK_ARGS??e.RED_BRAIN_AUTOLINK_HEADLESS_ARGS),cwd:e.RED_BRAIN_AUTOLINK_AFK_CWD??e.RED_BRAIN_AUTOLINK_HEADLESS_CWD,env:e,timeoutMs:lA(e.RED_BRAIN_AUTOLINK_AFK_TIMEOUT_MS)??6e4})}function aA(e){let t=JSON.parse(dA(e));return(Array.isArray(t)?t:Rl(t)&&Array.isArray(t.connections)?t.connections:[]).filter(fA).map(n=>({from:n.from,to:n.to,kind:n.kind,reason:typeof n.reason=="string"?n.reason:void 0,metadata:Rl(n.metadata)?n.metadata:void 0}))}async function cA(e,t){let r=iA(e.command,e.args??[],{cwd:e.cwd,env:e.env,stdio:["pipe","pipe","pipe"]}),n=[],o=[],i,s=new Promise((a,c)=>{r.once("error",c),r.stdout.on("data",l=>n.push(l)),r.stderr.on("data",l=>o.push(l)),r.once("close",l=>a(l??0)),e.timeoutMs&&e.timeoutMs>0&&(i=setTimeout(()=>{r.kill("SIGTERM"),c(new Error(`Brain autolink AFK headless provider timed out after ${e.timeoutMs}ms`))},e.timeoutMs))});r.stdin.end(JSON.stringify(t));try{let a=await s;if(a!==0){let c=Buffer.concat(o).toString("utf8").trim();throw new Error(`Brain autolink AFK headless provider exited ${a}${c?`: ${c}`:""}`)}return aA(Buffer.concat(n).toString("utf8"))}finally{i&&clearTimeout(i)}}function uA(e){if(!e)return[];let t=JSON.parse(e);if(!Array.isArray(t)||t.some(r=>typeof r!="string"))throw new Error("RED_BRAIN_AUTOLINK_AFK_ARGS must be a JSON array of strings");return t}function lA(e){if(e==null||e==="")return;let t=Number(e);return Number.isInteger(t)&&t>0?t:void 0}function dA(e){let t=e.trim();return(t.match(/```(?:json)?\s*([\s\S]*?)\s*```/i)?.[1]??t).trim()}function fA(e){return Rl(e)&&(typeof e.from=="number"||typeof e.from=="string")&&(typeof e.to=="number"||typeof e.to=="string")&&Ol(e.kind)}function Rl(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}import{existsSync as Xi}from"node:fs";import{mkdir as pA,readFile as zl,writeFile as mA}from"node:fs/promises";import{dirname as Al,isAbsolute as hA,join as Jr,resolve as Lt}from"node:path";var es="file://./.red/brain/brain.rdb",gA="RED_BRAIN_ROOT",yA="brain.root";async function _A(e=process.cwd(),t={}){let n=(t.env??process.env)[gA];if(n)return Lt(e,n);let o=await wA(e);if(o)return o;let i=Lt(e),s=null;for(;;){let a=Jr(i,".red");if(Xi(a)&&(s??=i,Xi(Jr(a,"brain"))||Xi(Jr(a,yA))))return i;let c=Al(i);if(c===i)return s??Lt(e);i=c}}async function wA(e){let t=Lt(e);for(;;){let r=Jr(t,".red","config.yaml");try{let o=await zl(r,"utf8"),i=bA(o);if(i)return Lt(t,i)}catch(o){if(o.code!=="ENOENT")throw o}let n=Al(t);if(n===t)return null;t=n}}function bA(e){let t=vA(e);return t["plugins.brain.rootDir"]??t["plugins.brain.root"]??t["plugins.brain.root_dir"]??t["brain.rootDir"]??t["brain.root"]??t["brain.root_dir"]??null}function vA(e){let t={},r=[],n=[];for(let o of e.split(`
67
- `)){let i=o.replace(/\r$/,"");if(!/".*"/.test(i)&&!/'.*'/.test(i)){let f=i.indexOf("#");f>=0&&(i=i.slice(0,f))}if(i.replace(/\s/g,"")==="")continue;let s=i.match(/^ */)?.[0].length??0;if(s%2!==0)continue;let a=i.slice(s).replace(/\s+$/,""),c=a.indexOf(":");if(c<0||!/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(a.slice(0,c)))continue;let l=a.slice(0,c),u=a.slice(c+1).replace(/^\s+/,"");for((u.startsWith('"')&&u.endsWith('"')&&u.length>=2||u.startsWith("'")&&u.endsWith("'")&&u.length>=2)&&(u=u.slice(1,-1));n.length>0&&n[n.length-1]>=s;)r.pop(),n.pop();let d=r.length>0?`${r.join(".")}.${l}`:l;u===""?(r.push(l),n.push(s)):t[d]=u}return t}function Zw(e){return Jr(Lt(e),".red","brain","config.yaml")}function xA(e){return Jr(Lt(e),".env")}async function kA(e){let t=Zw(e);return Xi(t)||(await pA(Al(t),{recursive:!0}),await mA(t,`connection_string: ${es}
68
- `,"utf8")),t}async function $A(e){let t=Zw(e);try{let r=await zl(t,"utf8");return SA(r)}catch(r){if(r.code==="ENOENT")return null;throw r}}function SA(e){let t=e.split(/\r?\n/).map(n=>n.trim()).find(n=>n.startsWith("connection_string:"));if(!t)return{connection_string:es};let r=t.slice(18).trim();return{connection_string:Uw(r)||es}}function Uw(e){return e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1):e}async function Fw(e=process.cwd()){let t=await _A(e),r=await kA(t),n=await $A(t)??{connection_string:es},o=await EA(t),i=n.connection_string,s=RA(i,o);return{rootDir:t,configPath:r,rawConnectionString:i,connectionString:TA(t,s)}}async function EA(e){let t={...process.env};try{let r=await zl(xA(e),"utf8");for(let n of r.split(/\r?\n/)){let o=n.trim();if(!o||o.startsWith("#"))continue;let i=o.indexOf("=");if(i<=0)continue;let s=o.slice(0,i).trim(),a=Uw(o.slice(i+1).trim());t[s]==null&&(t[s]=a)}}catch(r){if(r.code!=="ENOENT")throw r}return t}function RA(e,t){return e.replace(/\$(\w+)|\$\{([^}]+)\}/g,(r,n,o)=>{let i=String(n??o),s=t[i];if(s==null||s==="")throw new Error(`Brain connection_string references missing environment variable ${i}`);return s})}function TA(e,t){if(!t.startsWith("file://"))return t;let r=t.slice(7);return hA(r)?t:`file://${Lt(e,r)}`}import{existsSync as PA}from"node:fs";import{resolve as OA}from"node:path";var zA=7,AA=64*1024*1024;function Kw(e){if(!e.connectionString.startsWith("file://"))return!1;let t=e.connectionString.slice(7);if(uw(e.rootDir,t))throw ml();return t===pl(e.rootDir)}async function Hw(e){let t=Qi(e.rootDir),r=new Yi(t,NA(e.rootDir));return await r.request({op:"ping"}),new Il(r)}function IA(e){return`file://${cw(OA(e),PA)}`}function NA(e){return{storeUri:IA(e),ttlDays:zA,byteBudget:AA}}var Il=class{constructor(t){this.client=t}async close(){}async status(){let t=await this.request("status");return CA(t)?t:{}}async capture(t){return await this.request("capture",t)}async getArtifact(t){return await this.request("getArtifact",{ridOrId:t})}async listArtifacts(){return await this.request("listArtifacts")}async search(t,r=10,n={}){return await this.request("search",{query:t,limit:r,options:Vw(n)})}async think(t,r=8,n={}){return await this.request("think",{query:t,limit:r,options:Vw(n)})}async link(t){return await this.request("link",t)}async backlinks(t){return await this.request("backlinks",{target:t})}async listConnections(){return await this.request("listConnections")}async eventKpis(t={}){return await this.request("eventKpis",t)}async appendOutcomeEvent(t){return await this.request("appendOutcomeEvent",t)}async replayOutcomeEvents(){return await this.request("replayOutcomeEvents")}async loadModelTierBanditDocument(){return await this.request("loadModelTierBanditDocument")}async saveModelTierBanditDocument(t){return await this.request("saveModelTierBanditDocument",t)}async refreshModelTierBanditDocument(){return await this.request("refreshModelTierBanditDocument")}async request(t,r){return await this.client.request({op:"brain",action:t,payload:r})}};function Vw(e){return{...e,excludeRids:e.excludeRids?[...e.excludeRids]:void 0}}function CA(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var DA=typeof globalThis.Bun<"u"&&typeof globalThis.Bun.spawn=="function",jA=typeof globalThis.Deno<"u"&&typeof globalThis.Deno.Command=="function";async function Ww(e,t){return DA?MA(e,t):jA?BA(e,t):LA(e,t)}async function LA(e,t){let{spawn:r}=await import("node:child_process"),n=r(e,t,{stdio:["pipe","pipe","inherit"]});return{runtime:"node",stdin:{write(o){return new Promise((i,s)=>{n.stdin.write(o,a=>a?s(a):i())})},end(){n.stdin.end()}},stdout:n.stdout,kill(){n.kill("SIGTERM")},wait(){return new Promise(o=>{n.on("exit",i=>o(i??0))})}}}function MA(e,t){let r=globalThis.Bun.spawn({cmd:[e,...t],stdin:"pipe",stdout:"pipe",stderr:"inherit"}),n=r.stdin.getWriter?r.stdin.getWriter():null;return{runtime:"bun",stdin:{async write(o){n?await n.write(o):(r.stdin.write(o),await r.stdin.flush())},end(){n?n.close():r.stdin.end()}},stdout:qA(r.stdout),kill(){r.kill()},wait(){return r.exited}}}async function*qA(e){let t=e.getReader();try{for(;;){let{value:r,done:n}=await t.read();if(n)return;yield r}}finally{t.releaseLock()}}async function BA(e,t){let n=new globalThis.Deno.Command(e,{args:t,stdin:"piped",stdout:"piped",stderr:"inherit"}).spawn(),o=n.stdin.getWriter();return{runtime:"deno",stdin:{async write(i){await o.write(i)},end(){try{o.close()}catch{}}},stdout:ZA(n.stdout),kill(){try{n.kill("SIGTERM")}catch{}},async wait(){return(await n.status).code??0}}}async function*ZA(e){let t=e.getReader();try{for(;;){let{value:r,done:n}=await t.read();if(n)return;yield r}}finally{t.releaseLock()}}import{fileURLToPath as VA}from"node:url";import{dirname as KA,resolve as HA,join as n2}from"node:path";import{existsSync as UA}from"node:fs";import{join as FA}from"node:path";function Gw(e){if(!e||typeof e!="object")throw new TypeError("resolveBin: options object required");let{name:t,packageRoot:r,envVar:n}=e;if(typeof t!="string"||t==="")throw new TypeError("resolveBin: `name` must be a non-empty string");if(typeof r!="string"||r==="")throw new TypeError("resolveBin: `packageRoot` must be a non-empty string");if(typeof n!="string"||n==="")throw new TypeError("resolveBin: `envVar` must be a non-empty string");let o=process.env?.[n];if(typeof o=="string"&&o!=="")return o;let i=FA(r,"bin",t);if(UA(i))return i;throw new Error(`reddb: binary "${t}" not found.
69
- expected at: ${i}
70
- override: set ${n}=/path/to/${t}
71
- fix: re-run \`pnpm install\` (the postinstall script downloads it),
72
- or check the postinstall log for a download error.`)}var WA=KA(VA(import.meta.url)),GA=HA(WA,"..");function JA(){return typeof process<"u"&&process.platform==="win32"?"red.exe":"red"}function Jw(){let e=process.env?.REDDB_BINARY_PATH;return typeof e=="string"&&e!==""&&!process.env?.REDDB_BIN?e:Gw({name:JA(),packageRoot:GA,envVar:"REDDB_BIN"})}var YA=new TextEncoder,QA=new TextDecoder("utf-8"),O=class extends Error{constructor(t,r,n){super(r),this.name="RedDBError",this.code=t,this.data=n??null}},ts=class{constructor(t){this.child=t,this.nextId=1,this.pending=new Map,this.closed=!1,this.closeReason=null,this.readerPromise=this.#t()}call(t,r={}){if(this.closed)return Promise.reject(new O("CLIENT_CLOSED",`client is closed: ${this.closeReason??"unknown"}`));let n=this.nextId++,o=JSON.stringify({jsonrpc:"2.0",id:n,method:t,params:r});return new Promise((i,s)=>{this.pending.set(n,{resolve:i,reject:s}),this.child.stdin.write(YA.encode(o+`
73
- `)).catch(a=>{this.pending.delete(n),s(a)})})}async close(){if(!this.closed){try{await this.call("close",{})}catch{}this.#e("close requested");try{this.child.stdin.end()}catch{}await this.child.wait()}}async#t(){let t=new Uint8Array(0);try{for await(let r of this.child.stdout){let n=new Uint8Array(t.length+r.length);n.set(t,0),n.set(r,t.length),t=n;let o=0;for(let i=0;i<t.length;i++)if(t[i]===10){let s=t.subarray(o,i);this.#r(QA.decode(s)),o=i+1}o>0&&(t=t.subarray(o))}}catch(r){this.#e(`stdout reader error: ${r.message}`);return}this.#e("server stdout closed")}#r(t){if(!t.trim())return;let r;try{r=JSON.parse(t)}catch(i){this.#e(`malformed server response: ${i.message}`);return}let n=r.id;if(n==null)return;let o=this.pending.get(n);o&&(this.pending.delete(n),r.error?o.reject(new O(r.error.code??"UNKNOWN",r.error.message??"unknown error",r.error.data)):o.resolve(r.result))}#e(t){if(this.closed)return;this.closed=!0,this.closeReason=t;let r=new O("CLIENT_CLOSED",t);for(let{reject:n}of this.pending.values())n(r);this.pending.clear()}};function Cl(e){if(typeof e!="string"||e.length===0)throw new TypeError("connect() requires a URI string (e.g. 'red://localhost:5050' or 'red:///data.rdb')");return e.startsWith("red://")||e==="red:"||e==="red:/"?XA(e):eI(e)}function XA(e){let t=e;e==="red:"||e==="red:/"||e==="red://"?t="red://embedded.local":e.startsWith("red:///")?t=`red://embedded.local${e.slice(6)}`:(e==="red://memory"||e==="red://memory/"||e==="red://:memory"||e==="red://:memory:")&&(t="red://embedded.local");let r;try{r=new URL(t)}catch(u){throw new O("UNPARSEABLE_URI",`failed to parse '${e}': ${u.message}`)}let n=r.searchParams,o=(n.get("proto")||"").toLowerCase(),i=r.pathname&&r.pathname!=="/"?r.pathname:"";if(r.hostname==="embedded.local")return i?{kind:"embedded",path:i,params:n,originalUri:e}:{kind:"embedded",params:n,originalUri:e};let s=tI(o),a=r.port?Number(r.port):Nl(s),c=r.username?decodeURIComponent(r.username):void 0,l=r.password?decodeURIComponent(r.password):void 0;return{kind:s,host:r.hostname,port:a,path:i||void 0,username:c,password:l,token:n.get("token")??void 0,apiKey:n.get("apiKey")??n.get("api_key")??void 0,loginUrl:n.get("loginUrl")??n.get("login_url")??void 0,params:n,originalUri:e}}function eI(e){if(e==="memory://"||e==="memory:")return{kind:"embedded",originalUri:e};if(e.startsWith("file://")){let t=e.slice(7);if(!t)throw new TypeError(`invalid file:// URI: missing path in '${e}'`);return{kind:"embedded",path:t,originalUri:e}}if(e.startsWith("grpc://")||e.startsWith("grpcs://")||e.startsWith("reds://")){let t=e.split("://",1)[0],r;try{r=new URL("https://"+e.slice(`${t}://`.length))}catch(i){throw new O("UNPARSEABLE_URI",`failed to parse '${e}': ${i.message}`)}if(!r.hostname)throw new TypeError(`invalid ${t}:// URI: missing host in '${e}'`);let n=t==="reds"?"reds":t==="grpcs"?"grpcs":"grpc",o=r.searchParams;return{kind:n,host:r.hostname,port:r.port?Number(r.port):Nl(n),username:r.username?decodeURIComponent(r.username):void 0,password:r.password?decodeURIComponent(r.password):void 0,token:o.get("token")??void 0,apiKey:o.get("apiKey")??o.get("api_key")??void 0,loginUrl:o.get("loginUrl")??o.get("login_url")??void 0,params:o,originalUri:e}}if(e.startsWith("http://")||e.startsWith("https://")){let t;try{t=new URL(e)}catch(r){throw new O("UNPARSEABLE_URI",`failed to parse '${e}': ${r.message}`)}return{kind:t.protocol==="https:"?"https":"http",host:t.hostname,port:t.port?Number(t.port):Nl(t.protocol==="https:"?"https":"http"),path:t.pathname!=="/"?t.pathname:void 0,username:t.username?decodeURIComponent(t.username):void 0,password:t.password?decodeURIComponent(t.password):void 0,token:t.searchParams.get("token")??void 0,apiKey:t.searchParams.get("apiKey")??void 0,params:t.searchParams,originalUri:e}}throw new O("UNSUPPORTED_SCHEME",`unsupported URI: '${e}'. Use 'red://...' or one of memory://, file://, grpc://, http(s)://`)}function tI(e){switch(e){case"":case"red":return"red";case"reds":return"reds";case"grpc":return"grpc";case"grpcs":return"grpcs";case"http":return"http";case"https":return"https";case"pg":case"postgres":case"postgresql":return"pg";default:throw new O("UNSUPPORTED_PROTO",`unknown proto='${e}'. Supported: red | reds | grpc | grpcs | http | https | pg`)}}function Nl(e){switch(e){case"http":return 5e3;case"https":return 55555;case"red":case"reds":case"redwire":return 5050;case"grpc":return 55055;case"grpcs":return 55555;case"pg":case"postgres":case"postgresql":return 5432;default:return}}var rI=new Set(["embedded"]),io=class{constructor(t,r){this._client=t,this._transport=r??null}_guard(t){if(this._transport&&rI.has(this._transport))throw new O("UNSUPPORTED_TRANSPORT",`cache.${t} is not available on '${this._transport}' transport; use @reddb-io/client for remote cache endpoints.`)}async get(t,r){this._guard("get");let n=await this._client.call("cache.get",{namespace:t,key:r});return n==null||n.value==null?null:oI(n.value)}async put(t,r,n,o={}){this._guard("put");let i=nI(n);await this._client.call("cache.put",{namespace:t,key:r,value:i,...o})}async exists(t,r){return this._guard("exists"),(await this._client.call("cache.exists",{namespace:t,key:r}))?.status??"maybe"}async invalidate(t,r){this._guard("invalidate"),await this._client.call("cache.invalidate",{namespace:t,key:r})}async invalidatePrefix(t,r){return this._guard("invalidatePrefix"),(await this._client.call("cache.invalidate_prefix",{namespace:t,prefix:r}))?.removed??0}async invalidateTags(t,r){return this._guard("invalidateTags"),(await this._client.call("cache.invalidate_tags",{namespace:t,tags:r}))?.removed??0}async flushNamespace(t){this._guard("flushNamespace"),await this._client.call("cache.flush_namespace",{namespace:t})}};function nI(e){if(typeof e=="string"){let t=new TextEncoder().encode(e);return Yw(t)}if(e instanceof Uint8Array||typeof Buffer<"u"&&Buffer.isBuffer(e))return Yw(e);throw new TypeError("cache value must be a string, Uint8Array, or Buffer")}function Yw(e){if(typeof Buffer<"u")return Buffer.from(e).toString("base64");let t="";for(let r of e)t+=String.fromCharCode(r);return btoa(t)}function oI(e){if(typeof Buffer<"u")return new Uint8Array(Buffer.from(e,"base64"));let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}var Yr=class{constructor(t,r="kv_default"){this.client=t,this.collection=r}put(t,r,n={}){let o=n.collection??this.collection,i=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(Qw).join(", ")}]`:"",s=n.expireMs!=null?` EXPIRE ${Number(n.expireMs)} ms`:"";return this.client.call("query",{sql:`KV PUT ${Dl(o,t)} = ${sI(r)}${s}${i}`})}set(t,r,n={}){return this.put(t,r,n)}async get(t,r={}){let n=r.collection??this.collection;return(await this.client.call("query",{sql:`KV GET ${Dl(n,t)}`}))?.rows?.[0]?.value??null}async getMany(t,r={}){let n=[];for(let o of t)n.push(await this.get(o,r));return n}async exists(t,r={}){return{exists:await this.get(t,r)!==null}}async delete(t,r={}){let n=r.collection??this.collection,o=await this.client.call("query",{sql:`KV DELETE ${Dl(n,t)}`}),i=o.affected??o.affected_rows??0;return{affected:i,deleted:i>0}}async list(t={}){let r=t.collection??this.collection,n=t.limit==null?100:Number(t.limit);if(!Number.isInteger(n)||n<=0)throw new O("INVALID_ARGUMENT","kv.list limit must be a positive integer");let o=t.prefix==null?"":String(t.prefix),s=(await this.client.call("query",{sql:`SELECT key, value FROM ${jl(r)} ORDER BY key ASC LIMIT ${n}`})).rows??[];return{items:o.length>0?s.filter(c=>String(c.key).startsWith(o)):s}}async invalidateTags(t,r={}){let n=r.collection??this.collection,o=await this.client.call("query",{sql:`INVALIDATE TAGS [${t.map(Qw).join(", ")}] FROM ${jl(n)}`});return o.affected??o.affected_rows??o.rows?.[0]?.invalidated??0}async*watch(t,r={}){if(!this.client.baseUrl)throw new O("UNSUPPORTED_TRANSPORT","kv.watch requires the HTTP transport");let n=r.collection??this.collection,o=new URLSearchParams;r.sinceLsn!=null&&o.set("since_lsn",String(r.sinceLsn)),r.limit!=null&&o.set("limit",String(r.limit));let i=o.toString()?`?${o}`:"",s=`${this.client.baseUrl}/collections/${encodeURIComponent(n)}/kv/${encodeURIComponent(String(t))}/watch${i}`,a=await fetch(s,this.client.attachAuth({method:"GET"}));if(!a.ok)throw new O("HTTP_ERROR",`kv.watch failed with HTTP ${a.status}`);let c=await a.text();for(let l of c.split(`
74
-
75
- `)){let u=l.split(`
76
- `).find(d=>d.startsWith("data: "));u&&(yield JSON.parse(u.slice(6)))}}watchPrefix(t,r={}){return this.watch(`${t}.*`,r)}};function Dl(e,t){return`${jl(e)}.${iI(t)}`}function jl(e){let t=String(e),r=t.match(/[^A-Za-z0-9_]/);if(r)throw new O("INVALID_KV_KEY",`invalid KV key "${t}": character "${r[0]}" is not supported`);return t}function iI(e){let t=String(e);return/^[A-Za-z0-9_]+$/.test(t)?t:`'${t.replace(/'/g,"''")}'`}function sI(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":typeof e=="object"?`'${JSON.stringify(e).replace(/'/g,"''")}'`:`'${String(e).replace(/'/g,"''")}'`}function Qw(e){return`'${String(e).replace(/'/g,"''")}'`}var so=class{constructor(t){this.client=t}create(t){return this.client.call("query",{sql:`CREATE QUEUE IF NOT EXISTS ${kt(t)}`})}push(t,r,n={}){let o=uI(n);return this.client.call("query",{sql:`QUEUE PUSH ${kt(t)} ${lI(r)}${o}`})}async pop(t,r){let n=await this.client.call("query",{sql:`QUEUE POP ${kt(t)}${Ml(r)}`});return Ll(n)}async peek(t,r){let n=await this.client.call("query",{sql:`QUEUE PEEK ${kt(t)}${Ml(r)}`});return Ll(n)}async len(t){let r=await this.client.call("query",{sql:`QUEUE LEN ${kt(t)}`});return Number(r?.rows?.[0]?.len??0)}purge(t){return this.client.call("query",{sql:`QUEUE PURGE ${kt(t)}`})}async readWait(t,r,n={}){let o=aI(t,r,n),i=await this.client.call("query",{sql:o});return Ll(i)}};function aI(e,t,r){let{waitMs:n,group:o=null,count:i=null}=r??{};if(!Number.isInteger(n)||n<0)throw new O("INVALID_QUEUE_WAIT","queue readWait requires an explicit non-negative integer waitMs (no infinite wait)");let s=kt(e),a=kt(t),c=o!=null?` GROUP ${kt(o)}`:"",l=i!=null?Ml(i):"";return`QUEUE READ ${s}${c} CONSUMER ${a}${l} WAIT ${n}ms`}function kt(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new O("INVALID_QUEUE_NAME",`invalid queue name "${t}": expected an SQL identifier`);return t}function Ml(e){if(e==null)return"";if(!Number.isInteger(e)||e<0)throw new O("INVALID_QUEUE_COUNT","queue count must be a non-negative integer");return` COUNT ${e}`}function cI(e){if(!Number.isInteger(e))throw new O("INVALID_QUEUE_PRIORITY","queue priority must be an integer");return String(e)}function uI(e){if(e.key!=null&&(e.delay!=null||e.at!=null))throw new O("INVALID_ARGUMENT","QUEUE PUSH KEY cannot be combined with DELAY / AVAILABLE AT");let t="";return e.priority!=null&&(t+=` PRIORITY ${cI(e.priority)}`),e.key!=null&&(t+=` KEY ${ql(e.key)}`),e.dedup!=null&&(t+=` DEDUP ${ql(e.dedup)}`),e.delay!=null&&(t+=` DELAY ${e.delay}`),e.at!=null&&(t+=` AVAILABLE AT ${e.at}`),t}function lI(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":typeof e=="string"?ql(e):JSON.stringify(e)}function ql(e){return`'${String(e).replace(/'/g,"''")}'`}function Ll(e){return Array.isArray(e?.rows)?e.rows.map(t=>t.payload):[]}var ao=class{constructor(t){this.db=t}async insert(t,r){Xw(r,"documents.insert document"),await this.ensureCollection(t);let n=await this.db.query(`INSERT INTO ${rs(t)} DOCUMENT VALUES (${pI(r)}) RETURNING *`),o=n.rows?.[0];if(!o||o.rid==null)throw new O("INVALID_RESPONSE","documents.insert expected one returned item with rid");return{affected:n.affected??1,rid:o.rid,item:o}}async get(t,r){let n=await this.db.get(t,r);if(!n.entity)throw new O("NOT_FOUND",`document ${String(r)} was not found`);return n.entity}async list(t,r={}){let n=dI(r.limit),o=r.orderBy??r.order_by??"rid ASC",i=r.filter?` WHERE ${String(r.filter)}`:"";return{items:(await this.db.query(`SELECT * FROM ${rs(t)}${i} ORDER BY ${o} LIMIT ${n}`)).rows??[]}}async patch(t,r,n){Xw(n,"documents.patch patch");let o=Object.entries(n);if(o.length===0)throw new O("INVALID_ARGUMENT","documents.patch patch must be a non-empty object");for(let[c]of o)if(c.includes("/"))throw new O("INVALID_ARGUMENT","documents.patch currently accepts top-level document fields");let i=o.map(([c,l])=>`${eb(c)} = ${mI(l)}`).join(", "),a=(await this.db.query(`UPDATE ${rs(t)} SET ${i} WHERE rid = $1 RETURNING *`,r)).rows?.[0];if(!a)throw new O("NOT_FOUND",`document ${String(r)} was not found`);return a}async delete(t,r){let o=(await this.db.delete(t,r)).affected??0;return{affected:o,deleted:o>0}}async ensureCollection(t){try{await this.db.query(`CREATE DOCUMENT ${rs(t)}`)}catch(r){if(!String(r?.message??"").includes("already exists"))throw r}}};function Xw(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new O("INVALID_ARGUMENT",`${t} must be an object`)}function dI(e){if(e==null)return 100;if(!Number.isInteger(e)||e<=0)throw new O("INVALID_ARGUMENT","limit must be a positive integer");return e}function rs(e){return String(e).split(".").map(eb).join(".")}function eb(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new O("INVALID_ARGUMENT",`invalid SQL identifier "${t}"`);return t}function fI(e){return tb(JSON.stringify(e))}function pI(e){return JSON.stringify(e)}function mI(e){return e==null?"NULL":typeof e=="number"||typeof e=="boolean"?String(e):typeof e=="object"?fI(e):tb(e)}function tb(e){return`'${String(e).replace(/'/g,"''")}'`}var co=class{constructor(t,r="red.config"){this.client=t,this.collection=r}put(t,r,n={}){gI(n,"config");let o=n.collection??this.collection,i=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(rb).join(", ")}]`:"";return this.client.call("query",{sql:`PUT CONFIG ${Mt(o)} ${Mt(t)} = ${hI(r,n)}${i}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`GET CONFIG ${Mt(n)} ${Mt(t)}`})}resolve(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`RESOLVE CONFIG ${Mt(n)} ${Mt(t)}`})}};function hI(e,t){if(t.secretRef){let{collection:r,key:n}=t.secretRef;return`SECRET_REF(vault, ${Mt(r)}.${Mt(n)})`}return yI(e)}function gI(e,t){for(let r of["ttl","ttlMs","ttl_ms","expireMs","expire_ms","expiresAt"])if(e[r]!=null)throw new TypeError(`${t} does not support TTL or expiration options`)}function Mt(e){let t=String(e);if(!/^[A-Za-z0-9_.]+$/.test(t))throw new TypeError("keyed collection and key names must use letters, numbers, underscores, or dots");return t}function yI(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):rb(e)}function rb(e){return`'${String(e).replace(/'/g,"''")}'`}var uo=class{constructor(t,r="red.vault"){this.client=t,this.collection=r}put(t,r,n={}){_I(n,"vault");let o=n.collection??this.collection,i=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(nb).join(", ")}]`:"";return this.client.call("query",{sql:`VAULT PUT ${Qr(o)}.${Qr(t)} = ${wI(r)}${i}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`VAULT GET ${Qr(n)}.${Qr(t)}`})}unseal(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`UNSEAL VAULT ${Qr(n)}.${Qr(t)}`})}};function _I(e,t){for(let r of["ttl","ttlMs","ttl_ms","expireMs","expire_ms","expiresAt"])if(e[r]!=null)throw new TypeError(`${t} does not support TTL or expiration options`)}function Qr(e){let t=String(e);if(!/^[A-Za-z0-9_.]+$/.test(t))throw new TypeError("keyed collection and key names must use letters, numbers, underscores, or dots");return t}function wI(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):nb(e)}function nb(e){return`'${String(e).replace(/'/g,"''")}'`}async function ib(e){return((await e.query("SHOW COLLECTIONS")).rows??[]).map(bI)}async function sb(e,t){return((await e.query(`SHOW COLLECTIONS WHERE name = ${xI(t)}`)).rows??[]).some(n=>n.name===String(t))}var lo=class e{constructor(t,r,n=null,o=[],i=[]){this.db=t,this.collection=r,this.columns=n,this.whereClauses=o,this.params=i}select(...t){let r=t.length===1&&Array.isArray(t[0])?t[0]:t,n=r.length===1&&r[0]==="*"?null:r;return new e(this.db,this.collection,n!=null&&n.length>0?n:null,this.whereClauses,this.params)}where(t,...r){if(typeof t!="string"||t.trim().length===0)throw new O("INVALID_QUERY_BUILDER","where() requires a non-empty SQL condition");let n=r.length===1&&Array.isArray(r[0])?r[0]:r;return new e(this.db,this.collection,this.columns,[...this.whereClauses,t.trim()],[...this.params,...n])}async run(){let t=this.columns==null?"*":this.columns.map(ob).join(", "),r=this.whereClauses.length>0?` WHERE ${this.whereClauses.map(s=>`(${s})`).join(" AND ")}`:"",n=`SELECT ${t} FROM ${ob(this.collection)}${r}`,i=(this.params.length>0?await this.db.query(n,this.params):await this.db.query(n)).rows??[];return this.columns==null?i:i.map(s=>{let a={};for(let c of this.columns)a[c]=s[c];return a})}};function bI(e){return{...e,name:String(e.name),model:String(e.model),capabilities:Array.isArray(e.capabilities)?e.capabilities:[]}}function ob(e){return String(e).split(".").map(vI).join(".")}function vI(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new O("INVALID_IDENTIFIER",`invalid SQL identifier "${t}"`);return t}function xI(e){return`'${String(e).replace(/'/g,"''")}'`}var kI="remote URIs are not supported in @reddb-io/sdk; install @reddb-io/client for grpc/http/red transports",$I="1.0",ub="1.0.9",ab="NESTED_TX_NOT_SUPPORTED";async function lb(e,t={}){let r=Cl(e);if(AI(r),r.kind==="embedded"){let n=zI(r,t.auth);if(n.token||n.username)throw new O("AUTH_NOT_APPLICABLE","auth is only meaningful for remote connections; embedded modes inherit caller privileges.");let o=OI(r),i=t.binary??Jw(),s=await Ww(i,o),a=new ts(s);return await a.call("version",{}),new Zl(a,{transport:"embedded"})}}function cb(e){return SI(e),e instanceof Float32Array||e instanceof Float64Array?Array.from(e):e instanceof Date?{$ts:String(BigInt(e.getTime())*1000000n)}:e instanceof Uint8Array||typeof Buffer<"u"&&e instanceof Buffer?{$bytes:RI(e)}:typeof e=="number"&&!Number.isFinite(e)?Number.isNaN(e)?{$float:"NaN"}:{$float:e>0?"Infinity":"-Infinity"}:typeof e=="string"&&PI(e)?{$uuid:e}:e}function SI(e){if(e!=null&&!(typeof e=="boolean"||typeof e=="number"||typeof e=="string")){if(e instanceof Date){if(Number.isNaN(e.getTime()))throw new O("UNSUPPORTED_PARAM","cannot encode invalid Date query parameter");return}if(!(e instanceof Uint8Array||e instanceof Float32Array||e instanceof Float64Array||typeof Buffer<"u"&&e instanceof Buffer)){if(Array.isArray(e)){if(e.every(t=>typeof t=="number"))return;throw new O("UNSUPPORTED_PARAM","array query parameters must contain only numbers")}if(!(typeof e=="object"&&Object.getPrototypeOf(e)===Object.prototype))throw new O("UNSUPPORTED_PARAM",`cannot encode query parameter of type ${typeof e}`)}}}function EI(e){return e.length===0?null:e.length===1&&Array.isArray(e[0])?e[0].map(cb):e.map(cb)}function RI(e){let t=e instanceof Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength);if(typeof Buffer<"u")return Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("base64");let r="";for(let n of t)r+=String.fromCharCode(n);return btoa(r)}function TI(e){if(typeof Buffer<"u"){let n=Buffer.from(e,"base64");return new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function PI(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)}function ns(e){if(Array.isArray(e))return e.map(ns);if(e&&typeof e=="object"){if(Object.keys(e).length===1){if(typeof e.$bytes=="string")return TI(e.$bytes);if(typeof e.$uuid=="string")return e.$uuid;if(typeof e.$float=="string"){if(e.$float==="NaN")return Number.NaN;if(e.$float==="Infinity"||e.$float==="+Infinity")return 1/0;if(e.$float==="-Infinity")return-1/0}if(typeof e.$ts=="string"||typeof e.$ts=="number"){let n=typeof e.$ts=="string"?BigInt(e.$ts):BigInt(Math.trunc(e.$ts));return new Date(Number(n/1000000n))}}let r={};for(let[n,o]of Object.entries(e))r[n]=ns(o);return r}return e}function OI(e){return e.path?["rpc","--stdio","--path",e.path]:["rpc","--stdio"]}function zI(e,t){let r={token:e.token??e.apiKey??null,username:e.username??null,password:e.password??null,loginUrl:e.loginUrl??null};if(t==null)return r;if(typeof t!="object")throw new TypeError("options.auth must be an object");if(t.token!=null){if(typeof t.token!="string"||t.token.length===0)throw new TypeError("options.auth.token must be a non-empty string");r.token=t.token}if(t.apiKey!=null){if(typeof t.apiKey!="string"||t.apiKey.length===0)throw new TypeError("options.auth.apiKey must be a non-empty string");r.token=t.apiKey}if(t.username!=null){if(typeof t.username!="string"||t.username.length===0)throw new TypeError("options.auth.username must be a non-empty string");r.username=t.username}if(t.password!=null){if(typeof t.password!="string"||t.password.length===0)throw new TypeError("options.auth.password must be a non-empty string");r.password=t.password}return t.loginUrl!=null&&(r.loginUrl=t.loginUrl),r}function AI(e){if(e.kind!=="embedded")throw new O("EMBEDDED_ONLY",kI)}var os=class{constructor(t){this.db=t}query(t,...r){return this.db.query(t,...r)}execute(t,...r){return this.db.execute(t,...r)}insert(t,r){return this.db.insert(t,r)}bulkInsert(t,r){return this.db.bulkInsert(t,r)}async transaction(){throw Ul()}},Bl=class{constructor(t){this.db=t,this.active=!1}async begin(){if(this.db.inTransaction)throw Ul();this.db.inTransaction=!0,this.active=!0;try{return await this.db.query("BEGIN")}catch(t){throw this.db.inTransaction=!1,this.active=!1,t}}async commit(){if(!this.active)throw new O("INVALID_ARGUMENT","tx.commit() called without an open transaction");try{return await this.db.query("COMMIT")}finally{this.active=!1,this.db.inTransaction=!1}}async rollback(){if(!this.active)throw new O("INVALID_ARGUMENT","tx.rollback() called without an open transaction");try{return await this.db.query("ROLLBACK")}finally{this.active=!1,this.db.inTransaction=!1}}async run(t){if(typeof t!="function")throw new TypeError("tx.run(callback) requires a function");if(this.db.inTransaction)throw new O("INVALID_ARGUMENT","nested tx.run() is not supported; issue savepoints via tx.query() instead");await this.begin();try{let r=await t(new os(this.db));return await this.commit(),r}catch(r){if(this.active)try{await this.rollback()}catch(n){db(r,n)}throw r}}},Zl=class{constructor(t,r={}){this.client=t,this.transport=r.transport??null,this.helperSpecVersion=$I,this.cache=new io(t,this.transport),this.queue=new so(t),this.queues=this.queue,this.documents=new ao(this);let n=new Yr(t);this.kv=Object.assign((o="kv_default")=>new Yr(t,o),{put:n.put.bind(n),invalidateTags:n.invalidateTags.bind(n),watch:n.watch.bind(n),watchPrefix:n.watchPrefix.bind(n)}),this.config=(o="red.config")=>new co(t,o),this.vault=(o="red.vault")=>new uo(t,o),this.inTransaction=!1}query(t,...r){if(typeof t!="string"||t.trim().length===0)return Promise.reject(new O("INVALID_ARGUMENT","query() requires a non-empty SQL string"));let n=EI(r);return n==null?this.client.call("query",{sql:t}).then(ns):this.client.call("query",{sql:t,params:n}).then(ns)}execute(t,...r){return this.query(t,...r)}async insert(t,r){let n=await this.client.call("insert",{collection:t,payload:r});return II(n,"insert")}async bulkInsert(t,r){if(Array.isArray(r)&&r.length===0)return{affected:0,rids:[],ids:[]};let n=await this.client.call("bulk_insert",{collection:t,payloads:r});return NI(n,r.length)}tx(){return new Bl(this)}async transaction(t){if(this.inTransaction)throw Ul();if(typeof t!="function")throw new TypeError("transaction(callback) requires a function");this.inTransaction=!0;let r=!1;try{await this.query("BEGIN"),r=!0;let n=await t(new os(this));return await this.query("COMMIT"),n}catch(n){if(r)try{await this.query("ROLLBACK")}catch(o){db(n,o)}throw n}finally{this.inTransaction=!1}}exists(t){return sb(this,t)}list(){return ib(this)}from(t){return new lo(this,t)}get(t,r){return this.client.call("get",{collection:t,id:String(r)})}delete(t,r){return this.client.call("delete",{collection:t,id:String(r)})}health(){return this.client.call("health",{})}version(){return this.client.call("version",{})}login(t,r){return this.client.call("auth.login",{username:t,password:r})}whoami(){return this.client.call("auth.whoami",{})}changePassword(t,r){return this.client.call("auth.change_password",{current_password:t,new_password:r})}createApiKey({username:t,role:r}={}){return this.client.call("auth.create_api_key",{username:t,role:r})}revokeApiKey(t){return this.client.call("auth.revoke_api_key",{key:t})}close(){return this.client.close()}};function Ul(){return new O(ab,`${ab}: nested transactions are not supported on one connection`)}function db(e,t){if(e&&typeof e=="object")try{e.rollbackError=t}catch{}}function II(e,t){if(!e||typeof e!="object"||e.rid==null&&e.id==null)throw new O("ENGINE_TOO_OLD",`${t}() requires RedDB engine >= ${ub} with insert id support`);return e.rid==null&&(e.rid=e.id),e.id==null&&(e.id=e.rid),e}function NI(e,t){if(!e||typeof e!="object"||!Array.isArray(e.rids)&&!Array.isArray(e.ids))throw new O("ENGINE_TOO_OLD",`bulkInsert() requires RedDB engine >= ${ub} with bulk insert id support`);if(Array.isArray(e.rids)||(e.rids=e.ids),Array.isArray(e.ids)||(e.ids=e.rids),e.rids.length!==t)throw new O("INVALID_RESPONSE",`bulkInsert() expected ${t} rids, got ${e.rids.length}`);return e}function fo(e){if(typeof e!="object"||e===null)return!1;let t=e;return t.schemaVersion===1&&typeof t.id=="string"&&t.id.length>0&&typeof t.emitter=="string"&&t.emitter.length>0&&typeof t.occurredAt=="string"&&typeof t.taskClass=="string"&&CI(t.chosenOption)&&DI(t.outcome)&&jI(t.cost)}function CI(e){if(typeof e!="object"||e===null)return!1;let t=e;return typeof t.kind=="string"&&t.kind.length>0}function DI(e){return e==="success"||e==="failure"||e==="escalated"}function jI(e){if(typeof e!="object"||e===null)return!1;let t=e.signal;return t==="none"||t==="low"||t==="medium"||t==="high"||t==="unknown"}import{createHash as LI}from"node:crypto";function Fl(e){return LI("sha256").update(e).digest("hex")}function fb(e){return Fl(JSON.stringify(e))}function pb(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/-{2,}/g,"-").replace(/^-|-$/g,"")||"artifact"}var Vl="unknown",is=class{artifacts;constructor(t){this.artifacts=t}events(t={}){let r=t.interval??"day",n=t.timeField??"event",o=Wl(t.from),i=Wl(t.to),s=this.artifacts.filter(p=>p.kind==="event").map(p=>MI(p,n)).filter(p=>p!=null).filter(p=>BI(p,t)).filter(p=>ZI(p.ts,o,i)).sort((p,m)=>p.ts-m.ts),a=s.length,c=o??(s.length>0?s[0].ts:null),l=i??(s.length>0?s[s.length-1].ts:null),u=VI(c,l,r),f=[mb(null,s,u,r)];if(t.groupBy){let m=[...UI(s,t.groupBy).entries()].map(([h,_])=>mb(h,_,u,r)).sort((h,_)=>_.total-h.total||HI(h.group,_.group));f.push(...m)}return{kind:"event",interval:r,timeField:n,range:{from:c,to:l},total:a,series:f}}};function MI(e,t){let r=e.properties.metadata??{},n=qI(e,r,t);return n==null?null:{ts:n,platform:Kl(r,"platform")??Vl,eventType:Kl(r,"event_type")??Vl,target:Kl(r,"target")??Vl}}function qI(e,t,r){let n=Number.isFinite(e.properties.created_at)?e.properties.created_at:null;return r==="ingested"?n:Wl(t.timestamp)??n}function Kl(e,t){let r=e[t];return typeof r=="string"&&r.length>0?r:void 0}function BI(e,t){return!(t.platform!=null&&e.platform!==t.platform||t.eventType!=null&&e.eventType!==t.eventType||t.target!=null&&e.target!==t.target)}function ZI(e,t,r){return!(t!=null&&e<t||r!=null&&e>r)}function UI(e,t){let r=new Map;for(let n of e){let o=FI(n,t),i=r.get(o);i?i.push(n):r.set(o,[n])}return r}function FI(e,t){switch(t){case"platform":return e.platform;case"event_type":return e.eventType;case"target":return e.target}}function mb(e,t,r,n){let o=new Map;for(let s of t){let a=Hl(s.ts,n);o.set(a,(o.get(a)??0)+1)}let i=r.map(s=>({start:s,startIso:new Date(s).toISOString(),count:o.get(s)??0}));return{group:e,total:t.length,buckets:i}}function VI(e,t,r){if(e==null||t==null)return[];let n=[],o=Hl(e,r),i=Hl(t,r),s=0;for(;o<=i&&s<1e6;)n.push(o),o=KI(o,r),s++;return n}function Hl(e,t){let r=new Date(e);switch(t){case"hour":return Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate(),r.getUTCHours());case"day":return Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate());case"week":{let n=Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate()),i=(new Date(n).getUTCDay()+6)%7;return n-i*864e5}case"month":return Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),1)}}function KI(e,t){switch(t){case"hour":return e+36e5;case"day":return e+864e5;case"week":return e+6048e5;case"month":{let r=new Date(e);return Date.UTC(r.getUTCFullYear(),r.getUTCMonth()+1,1)}}}function Wl(e){if(e==null)return null;if(typeof e=="number")return Number.isFinite(e)?e:null;let t=e.trim();if(t==="")return null;if(/^\d+$/.test(t)){let n=Number(t);return Number.isFinite(n)?n:null}let r=Date.parse(t);return Number.isNaN(r)?null:r}function HI(e,t){return String(e??"").localeCompare(String(t??""))}var WI=["validate","simple","complex","think"];var GI={validate:1,simple:.85,complex:.65,think:.45};function JI(){return{schemaVersion:1,buckets:{}}}function gb(e,t={}){let r=rN(t.initial??JI());for(let n of e)YI(r,n,t);return r}function YI(e,t,r={}){let n=(r.tierForEvent??QI)(t);if(!n)return e;let i=eN(e,t.taskClass).arms[n],s=XI(t,n);return i.posterior.alpha=hb(i.posterior.alpha+s),i.posterior.beta=hb(i.posterior.beta+(1-s)),i.observations+=1,t.outcome==="success"?(i.successes+=1,i.consecutiveFailures=0):(i.failures+=1,i.consecutiveFailures+=1),e}function QI(e){let t=e.chosenOption.kind;if(nN(t))return t;let r=e.chosenOption.model?.toLowerCase()??"",n=e.chosenOption.effort?.toLowerCase()??"";if(r.includes("haiku"))return"validate";if(r.includes("sonnet"))return"simple";if(r.includes("opus")&&n==="high")return"think";if(r.includes("opus"))return"complex"}function XI(e,t){return e.outcome!=="success"?0:GI[t]}function eN(e,t){let r=t.trim()||"unknown";return e.buckets[r]??=tN(),e.buckets[r]}function tN(){return{arms:{validate:ss(),simple:ss(),complex:ss(),think:ss()}}}function ss(){return{posterior:{alpha:1,beta:1},observations:0,successes:0,failures:0,consecutiveFailures:0}}function rN(e){return JSON.parse(JSON.stringify(e))}function nN(e){return WI.includes(e)}function hb(e){return Math.round(e*1e3)/1e3}var as=["pillar","decision","concept","question","playbook","task","event","pattern","hypothesis","fact","source","bookmark","note","reference","custom","project","idea","meeting","claim","organization","person"],yb={contact:"person"},cs=["supports","contradicts","depends_on","derived_from","related_to","part_of","preceded_by","followed_by","authored","tagged"],it={artifacts:"brain_artifacts",connections:"brain_connections",outcomeEvents:"brain_outcome_events",kv:"brain_kv"};var ls=class e{constructor(t){this.opts=t}db;artifactCache=null;connectionCache=null;outcomeEventCache=null;modelTierBanditCache=null;static async open(t){let r=new e(t);return r.db=await lb(t.uri),await r.bootstrap(),r}get raw(){return this.db}async close(){await this.db.close()}async bootstrap(){await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${it.artifacts}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${it.connections}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${it.outcomeEvents}`)}kv(){return this.db.kv(it.kv)}async capture(t){let r=$b(t.kind??"note"),n=Date.now(),o=aN(t.tags??[]),i=fb([r,t.title,t.content,o,t.sourcePath,t.sourceSession]),s=await this.findArtifactByHash(i);if(s!=null){let h=await this.getArtifact(s);if(h)return h}let a=await this.listArtifacts(),c=`${pb(t.title)}-${i.slice(0,8)}`,l={id:c,title:t.title,content:t.content,tags:o,source_agent:t.sourceAgent,source_runner:t.sourceRunner,source_session:t.sourceSession,source_path:t.sourcePath,created_at:n,updated_at:n,hash:i,metadata:t.metadata},u={label:c,kind:r,properties:l},f=(await this.db.query(`INSERT INTO ${it.artifacts} NODE (label, node_type, hash, properties) VALUES ($1, $2, $3, $4) RETURNING *`,u.label,u.kind,i,l)).rows[0];if(!f)throw new Error("INSERT artifact returned no row");let p=Number(f.red_entity_id??f.rid);await this.kv().put(wb(i),p),this.artifactCache=null;let m={...u,rid:p};return await this.autoLinkArtifact(m,a),await this.materializeTagConnections(m),m}async getArtifact(t){let r=await this.listArtifacts();return typeof t=="number"?r.find(n=>n.rid===t)??null:r.find(n=>n.properties.id===t||n.label===t)??null}async listArtifacts(){if(this.artifactCache==null){let t=await this.db.query(`SELECT * FROM ${it.artifacts}`);this.artifactCache=t.rows.map(oN).filter(us)}return this.artifactCache}async search(t,r=10,n={}){let o=cN(t),i=new Set(n.excludeRids??[]),s=await this.listArtifacts(),a=await this.listConnections(),c=new Map(s.map(u=>[u.rid,u]));return s.filter(u=>!i.has(u.rid)).map(u=>{let d=Eb(u,o),f=Rb({...d,connections:uN(u,o,a,c),vector:0});return{artifact:u,score:f.total,score_breakdown:f,excerpt:dN(u.properties.content,o)}}).filter(u=>u.score>0).sort((u,d)=>d.score-u.score||d.artifact.properties.updated_at-u.artifact.properties.updated_at).slice(0,r)}async link(t){let r=await this.getArtifact(t.from),n=await this.getArtifact(t.to);if(!r)throw new Error(`Brain artifact not found: ${t.from}`);if(!n)throw new Error(`Brain artifact not found: ${t.to}`);let o=Sb(t.kind??"related_to"),i=await this.findConnection(r.rid,n.rid,o);if(i!=null){let u=(await this.listConnections()).find(d=>d.rid===i);if(u)return u}let s={reason:t.reason,confidence:t.confidence??"explicit",created_at:Date.now(),metadata:t.metadata},c=(await this.db.query(`INSERT INTO ${it.connections} EDGE (label, from, to, weight, properties) VALUES ($1, $2, $3, $4, $5) RETURNING *`,o,r.rid,n.rid,1,s)).rows[0];if(!c)throw new Error("INSERT connection returned no row");let l=Number(c.red_entity_id??c.rid);return await this.kv().put(bb(r.rid,n.rid,o),l),this.connectionCache=null,{rid:l,kind:o,from_rid:r.rid,to_rid:n.rid,weight:1,properties:s}}async backlinks(t){let r=await this.getArtifact(t);if(!r)throw new Error(`Brain artifact not found: ${t}`);return(await this.listConnections()).filter(n=>n.to_rid===r.rid)}async listConnections(){if(this.connectionCache==null){let t=await this.db.query(`SELECT * FROM ${it.connections}`);this.connectionCache=t.rows.map(iN).filter(us)}return this.connectionCache}async status(){let t=await this.listArtifacts(),r=await this.listConnections();return{uri:this.opts.uri,artifacts:t.length,connections:r.length,kinds:_N(t.map(n=>n.kind))}}async eventKpis(t={}){let r=await this.listArtifacts();return new is(r).events(t)}async appendOutcomeEvent(t){if(!fo(t))throw new Error("invalid Brain outcome event");let r={...t};if(!(await this.db.query(`INSERT INTO ${it.outcomeEvents} NODE (label, node_type, properties) VALUES ($1, $2, $3) RETURNING *`,t.id,`outcome_event.v${t.schemaVersion}`,r)).rows[0])throw new Error("INSERT outcome event returned no row");return this.outcomeEventCache=null,t}async replayOutcomeEvents(){if(this.outcomeEventCache==null){let t=await this.db.query(`SELECT * FROM ${it.outcomeEvents}`);this.outcomeEventCache=t.rows.map(sN).filter(us).sort((r,n)=>r.rid-n.rid).map(({rid:r,event:n})=>n)}return[...this.outcomeEventCache]}async loadModelTierBanditDocument(){if(this.modelTierBanditCache!=null)return this.modelTierBanditCache;let t=await this.kv().get(vb());if(t==null)return null;let r=typeof t=="string"?JSON.parse(t):t;return xb(r)?(this.modelTierBanditCache=r,r):null}async saveModelTierBanditDocument(t){if(!xb(t))throw new Error("invalid Brain model-tier bandit document");return await this.kv().put(vb(),JSON.stringify(t)),this.modelTierBanditCache=t,t}async refreshModelTierBanditDocument(){let t=gb(await this.replayOutcomeEvents());return this.saveModelTierBanditDocument(t)}async think(t,r=8,n={}){let o=(await this.search(t,Math.max(r*2,r+5),n)).filter(i=>!Gr(i.artifact)).slice(0,r);return fN(t,o)}async deriveAutoLinks(t){return this.autoLinkArtifact(t,await this.listArtifacts())}async findArtifactByHash(t){let r=await this.kv().get(wb(t));return r!=null?Number(r):null}async findConnection(t,r,n){let o=await this.kv().get(bb(t,r,n));return o!=null?Number(o):null}async materializeTagConnections(t){if(t.properties.metadata?.derived_kind!=="tag")for(let r of t.properties.tags){let n=await this.capture({title:r,content:`Tag: ${r}`,kind:"custom",tags:["tag"],metadata:{derived:!0,derived_kind:"tag"}});await this.link({from:t.rid,to:n.rid,kind:"tagged",confidence:"derived"})}}async autoLinkArtifact(t,r){if(!this.opts.autoLinker||Gr(t))return[];let n=new Set(r.filter(o=>o.rid!==t.rid).map(o=>o.rid));if(n.size===0)return[];try{let o=qw(t),i=new Set([t.rid]);for(let d of r)Gr(d)&&i.add(d.rid);let s=await this.think(o,8,{excludeRids:i}),a=s.hits.filter(d=>n.has(d.artifact.rid)&&!Gr(d.artifact)).map(d=>({artifact:Pl(d.artifact),score:d.score,excerpt:d.excerpt}));if(a.length===0)return[];let c={newArtifact:Pl(t),candidates:a,think:{query:o,answer:s.answer},allowedKinds:Tl},l=await this.opts.autoLinker.deriveConnections(c),u=[];for(let d of l){if(!Ol(d.kind))continue;let f=await this.getArtifact(d.from),p=await this.getArtifact(d.to);if(!f||!p)continue;let m=f.rid===t.rid||p.rid===t.rid,h=n.has(f.rid)||n.has(p.rid);if(!m||!h||f.rid===p.rid)continue;let _=await this.link({from:f.rid,to:p.rid,kind:d.kind,reason:d.reason,confidence:"derived",metadata:{...d.metadata??{},derived_by:"brain.autolink.afk-headless",source_artifact_rid:t.rid}});u.push({proposal:d,connection:_})}return u}catch(o){if(this.opts.autoLinkErrors==="throw")throw o;return[]}}};function $b(e){let r=yb[e]??e;if(as.includes(r))return r;throw new Error(`invalid Brain artifact kind: ${e}`)}function Sb(e){if(cs.includes(e))return e;throw new Error(`invalid Brain connection kind: ${e}`)}function oN(e){let t=Number(e.red_entity_id??e.rid),r=Gl(e.properties??e.PROPERTIES),n=String(e.node_type??e.NODE_TYPE??r.kind??"note");if(!Number.isFinite(t))return null;let o=String(r.id??e.label??e.LABEL??t),i=String(r.title??e.label??e.LABEL??o),s=String(r.content??""),a=Array.isArray(r.tags)?r.tags.map(String):[],c=Date.now();return{rid:t,label:String(e.label??e.LABEL??o),kind:$b(n),properties:{...r,id:o,title:i,content:s,tags:a,created_at:Number(r.created_at??c),updated_at:Number(r.updated_at??r.created_at??c),hash:String(r.hash??"")}}}function iN(e){let t=Number(e.red_entity_id??e.rid),r=Number(e.from??e.FROM??e.from_rid??e.source),n=Number(e.to??e.TO??e.to_rid??e.target),o=String(e.label??e.LABEL??"related_to");return!Number.isFinite(t)||!Number.isFinite(r)||!Number.isFinite(n)?null:{rid:t,kind:Sb(o),from_rid:r,to_rid:n,weight:Number(e.weight??1),properties:Gl(e.properties??e.PROPERTIES)}}function sN(e){let t=Number(e.red_entity_id??e.rid),r=Gl(e.properties??e.PROPERTIES);return!Number.isFinite(t)||!fo(r)?null:{rid:t,event:r}}function Gl(e){return e==null?{}:typeof e=="string"?JSON.parse(e):e}function us(e){return e!=null}function aN(e){return Array.from(new Set(e.map(t=>t.trim()).filter(Boolean))).sort()}function cN(e){return e.toLowerCase().split(/[^a-z0-9_]+/).map(t=>t.trim()).filter(t=>t.length>1)}function _b(e,t){let r=0,n=e.indexOf(t);for(;n>=0;)r++,n=e.indexOf(t,n+t.length);return r}function Eb(e,t){let r=e.properties.title.toLowerCase(),n=e.properties.content.toLowerCase(),o=e.properties.tags.map(s=>s.toLowerCase()),i=e.kind.toLowerCase();return{lexical:t.reduce((s,a)=>s+_b(r,a)*3+_b(n,a),0),tags:t.reduce((s,a)=>{let c=o.reduce((l,u)=>u===a?l+4:u.includes(a)||a.includes(u)?l+2:l,0);return s+c},0),kind:t.reduce((s,a)=>i===a?s+3:i.includes(a)||a.includes(i)?s+1:s,0)}}function uN(e,t,r,n){let o=0;for(let i of r){let s=i.from_rid===e.rid?i.to_rid:i.to_rid===e.rid?i.from_rid:null;if(s==null)continue;let a=n.get(s);if(!a||Gr(a))continue;let c=Rb({...Eb(a,t),connections:0,vector:0}).total;c<=0||(o+=Math.min(c,12)*lN(i.kind))}return ur(o*.35)}function lN(e){switch(e){case"supports":case"contradicts":case"depends_on":case"derived_from":case"part_of":return 1;case"related_to":case"authored":return .75;case"preceded_by":case"followed_by":return .5;case"tagged":return .2}}function Rb(e){return{...e,lexical:ur(e.lexical),tags:ur(e.tags),kind:ur(e.kind),connections:ur(e.connections),vector:ur(e.vector),total:ur(e.lexical+e.tags+e.kind+e.connections+e.vector)}}function ur(e){return Math.round(e*1e3)/1e3}function dN(e,t){if(e.length<=220)return e;let r=e.toLowerCase(),n=t.map(i=>r.indexOf(i)).filter(i=>i>=0).sort((i,s)=>i-s)[0]??0,o=Math.max(0,n-80);return`${o>0?"...":""}${e.slice(o,o+220)}${o+220<e.length?"...":""}`}function fN(e,t){let r=t.map(pN),n=mN(t),o=hN(e,r,n);return{hits:t,citations:r,confidence:n,missing_evidence:o,answer:gN(e,r,n,o)}}function pN(e,t){let r=e.artifact,n={};return r.properties.source_path&&(n.path=r.properties.source_path),r.properties.source_session&&(n.session=r.properties.source_session),r.properties.source_agent&&(n.agent=r.properties.source_agent),r.properties.source_runner&&(n.runner=r.properties.source_runner),{ref:`B${t+1}`,rid:r.rid,id:r.properties.id,title:r.properties.title,kind:r.kind,score:e.score,score_breakdown:e.score_breakdown,excerpt:e.excerpt,source:Object.keys(n).length>0?n:void 0}}function mN(e){let t=e[0];if(!t)return"none";let r=Object.entries(t.score_breakdown).filter(([n,o])=>n!=="total"&&o>0).length;return t.score>=8||t.score>=5&&r>=2?"high":t.score>=3?"medium":"low"}function hN(e,t,r){if(t.length===0)return[`No Brain artifacts matched "${e}". Capture or ingest cited artifacts before relying on Brain for this answer.`];let n=[];return r==="low"&&n.push("Only low-scoring deterministic matches were found; open the cited artifacts before treating this as settled."),t.length===1&&n.push("Only one cited artifact matched; missing context or contradictions may not be visible yet."),t.every(o=>o.source==null)&&n.push("The matched artifacts do not carry source path, session, agent, or runner provenance."),n}function gN(e,t,r,n){if(t.length===0)return[`Brain has no cited evidence for "${e}".`,"","Missing evidence:",...n.map(a=>`- ${a}`)].join(`
77
- `);let o=t.slice(0,5).map(a=>`- ${a.title}: ${a.excerpt} [${a.ref}]`),i=t.map(a=>{let c=Object.entries(a.score_breakdown).filter(([l,u])=>l!=="total"&&u>0).map(([l,u])=>`${l} ${u}`).join(", ");return`[${a.ref}] ${a.title} (${a.kind}, rid ${a.rid}, score ${a.score})${c?` [${c}]`:""}; ${yN(a)}`}),s=n.length>0?n.map(a=>`- ${a}`):["- No deterministic evidence gap detected in the returned Brain citations."];return[`Brain answer for "${e}"`,"",`Confidence: ${r}`,"","Best cited evidence:",...o,"","Missing evidence:",...s,"","Citations:",...i].join(`
78
- `)}function yN(e){if(!e.source)return`source: Brain artifact ${e.id}`;let t=[e.source.path?`path ${e.source.path}`:null,e.source.session?`session ${e.source.session}`:null,e.source.agent?`agent ${e.source.agent}`:null,e.source.runner?`runner ${e.source.runner}`:null].filter(us);return`source: ${t.length>0?t.join(", "):`Brain artifact ${e.id}`}`}function wb(e){return`artifact.hash.${e}`}function bb(e,t,r){return`connection.${e}.${r}.${t}`}function vb(){return`model-tier-bandit.v${1}`}function xb(e){if(typeof e!="object"||e===null)return!1;let t=e;return t.schemaVersion===1&&typeof t.buckets=="object"}function _N(e){let t={};for(let r of e)t[r]=(t[r]??0)+1;return t}async function wN(e=process.cwd()){let t=await Fw(e);if(Kw(t))try{return{config:t,store:await Hw(t),project:Tb(t.rootDir)}}catch(n){let o=Qi(t.rootDir);if(await oo(o.socketPath,50))throw n}let r=await ls.open({uri:t.connectionString,autoLinker:Bw()});return{config:t,store:r,project:Tb(t.rootDir)}}async function ke(e,t=process.cwd()){let r=await wN(t);try{return await e(r)}finally{await r.store.close()}}function xN(e){return ht(e)}async function Ob(e,t){if(e!=="SessionStart")return{};let r=await ke(async({config:o,store:i})=>(await i.status(),o)),n=Pb(r.rootDir,".red","brain","sessions");return await bN(n,{recursive:!0}),await vN(Pb(n,"last-session.json"),xN({runner:t,lifecycle:e,rootDir:r.rootDir,connectionString:r.connectionString,startedAt:new Date().toISOString()}),"utf8"),{}}var ds=class{map({event:t,sourceAgent:r}){return{title:kN(t),content:$N(t),kind:"event",tags:SN(t),sourceAgent:r??"brain.ingest-events",sourceRunner:"hermes",sourceSession:zb(t),metadata:EN(t)}}};function zb(e){return e.id?`evt:${e.id}`:e.cursor!=null?`cursor:${String(e.cursor)}`:`hash:${Fl(JSON.stringify({platform:e.platform??null,target:e.target??null,timestamp:e.timestamp??null,message:e.message??null}))}`}function kN(e){let t=[];e.platform&&t.push(e.platform),e.target&&t.push(e.target);let r=t.length>0?`[${t.join(":")}]`:"[channel-event]";if(e.message){let n=e.message.slice(0,60).replace(/\n/g," ");return`${r} ${n}`}return e.type?`${r} ${e.type}`:`${r} event`}function $N(e){let t=[];return e.message&&t.push(e.message),e.type&&t.push(`type: ${e.type}`),e.platform&&t.push(`platform: ${e.platform}`),e.target&&t.push(`target: ${e.target}`),e.timestamp&&t.push(`timestamp: ${e.timestamp}`),t.join(`
79
- `)||JSON.stringify(e.raw)}function SN(e){let t=new Set(["channel-event"]);return e.platform&&t.add(e.platform),e.type&&t.add(e.type),Array.from(t)}function EN(e){let t={event_key:zb(e)};return e.id!=null&&(t.event_id=e.id),e.cursor!=null&&(t.cursor=e.cursor),e.timestamp!=null&&(t.timestamp=e.timestamp),e.platform!=null&&(t.platform=e.platform),e.target!=null&&(t.target=e.target),e.sessionKey!=null&&(t.session_key=e.sessionKey),e.type!=null&&(t.event_type=e.type),t}async function fs(e){let t=new ds,r=await e.bridge.poll({afterCursor:e.afterCursor,sessionKey:e.sessionKey,limit:e.limit}),n=new Set((await e.store.listArtifacts()).map(s=>s.rid)),o=0,i=0;for(let s of r.events){let a=t.map({event:s,sourceAgent:e.sourceAgent}),c=await e.store.capture(a);n.has(c.rid)?i++:(o++,n.add(c.rid))}return{polled:r.events.length,captured:o,skipped:i,nextCursor:r.nextCursor}}var lr=class extends Error{constructor(t,r){super(t),this.name="BrainActError",r?.cause!==void 0&&(this.cause=r.cause)}};async function Ib(e,t={}){let r=e.target?.trim(),n=e.message;if(!r)throw new lr("brain_act requires a non-empty channel target");if(!n||!n.trim())throw new lr("brain_act requires a non-empty message");let o=t.connect??(a=>nr.connect(a)),i=t.process??RN(t.env??process.env),s;try{s=await o(i)}catch(a){throw new lr(`brain_act could not reach the channel bridge: ${Ab(a)}`,{cause:a})}try{let a;try{a=await s.send(r,n)}catch(c){throw new lr(`brain_act could not send to "${r}": ${Ab(c)}`,{cause:c})}if(!a.ok)throw new lr(`brain_act could not send to "${r}": ${TN(a)}`);return{ok:!0,target:a.target,messageId:a.messageId,raw:a.raw}}finally{await s.close().catch(()=>{})}}function RN(e=process.env){let t=e.RED_BRAIN_HERMES_COMMAND?.trim()||void 0,r=e.RED_BRAIN_HERMES_ARGS?.trim(),n=r?r.split(/\s+/).filter(Boolean):void 0;return{command:t,args:n}}function TN(e){return PN(e.raw,["error","message","reason","detail"])??"the channel bridge reported a failed send"}function PN(e,t){if(typeof e!="object"||e===null||Array.isArray(e))return;let r=e;for(let n of t){let o=r[n];if(typeof o=="string"&&o.trim())return o}}function Ab(e){return e instanceof Error?e.message:String(e)}import{createServer as ON}from"node:http";async function Db(e,t){let r=await e.listArtifacts(),n=await e.listConnections(),o=new Map(r.map(u=>[u.rid,u])),i=await e.eventKpis({interval:"day"}),s=await e.eventKpis({interval:"day",groupBy:"platform"}),a=await e.eventKpis({interval:"day",groupBy:"event_type"}),c=t.decisionLimit??8,l=t.connectionLimit??12;return{schema_version:"brain.dashboard.v1",generated_at:new Date(t.now??Date.now()).toISOString(),project:t.project,root:t.rootDir,stats:{artifacts:r.length,connections:n.length,decisions:r.filter(u=>u.kind==="decision").length,events:i.total,supports:Jl(n,"supports"),contradicts:Jl(n,"contradicts"),depends_on:Jl(n,"depends_on")},kpis:{events_daily:i,events_by_platform:s,events_by_type:a},recent_decisions:r.filter(u=>u.kind==="decision").sort((u,d)=>d.properties.updated_at-u.properties.updated_at||d.rid-u.rid).slice(0,c).map(u=>zN(u,n)),recent_connections:n.filter(u=>o.has(u.from_rid)&&o.has(u.to_rid)).sort((u,d)=>d.properties.created_at-u.properties.created_at||d.rid-u.rid).slice(0,l).map(u=>AN(u,o)),attribution:{red_hermes:"Dashboard layout and command-center interaction model are adapted from the red-hermes web surface; NOTICE records the MIT attribution."}}}function jb(e){return{contract:{name:"brain.dashboard.viewer",version:"brain.dashboard.viewer.v1",consumes:"brain.dashboard.v1"},html:IN(e)}}async function Lb(e,t={}){let r=t.host??"127.0.0.1",n=t.port??4738,o=ON((i,s)=>{let a=i.url??"/";if(a==="/"||a==="/dashboard"){s.writeHead(200,{"content-type":"text/html; charset=utf-8","cache-control":"no-store"}),s.end(e);return}s.writeHead(404,{"content-type":"text/plain; charset=utf-8"}),s.end(`not found
80
- `)});return await new Promise((i,s)=>{o.once("error",s),o.listen(n,r,()=>{o.off("error",s),i()})}),o}function zN(e,t){let r=t.filter(n=>n.from_rid===e.rid||n.to_rid===e.rid);return{rid:e.rid,id:e.properties.id,title:e.properties.title,updated_at:new Date(e.properties.updated_at).toISOString(),tags:e.properties.tags,connection_counts:{supports:r.filter(n=>n.kind==="supports").length,contradicts:r.filter(n=>n.kind==="contradicts").length,depends_on:r.filter(n=>n.kind==="depends_on").length,related_to:r.filter(n=>n.kind==="related_to").length},excerpt:DN(e.properties.content)}}function AN(e,t){let r=t.get(e.from_rid),n=t.get(e.to_rid);if(!r||!n)throw new Error(`connection ${e.rid} references missing artifacts`);return{rid:e.rid,kind:e.kind,from:{rid:r.rid,title:r.properties.title},to:{rid:n.rid,title:n.properties.title},created_at:new Date(e.properties.created_at).toISOString(),reason:e.properties.reason??null}}function IN(e){return`<!doctype html>
81
- <html lang="en">
82
- <head>
83
- <meta charset="utf-8">
84
- <meta name="viewport" content="width=device-width, initial-scale=1">
85
- <title>Brain Dashboard</title>
86
- <style>
87
- :root {
88
- color-scheme: light;
89
- --ink: #17202a;
90
- --muted: #667085;
91
- --line: #d8dee8;
92
- --surface: #ffffff;
93
- --band: #f6f7f9;
94
- --accent: #2f6f73;
95
- --accent-2: #8b5f2a;
96
- --risk: #9f3a38;
97
- --good: #2f7d56;
98
- }
99
- * { box-sizing: border-box; }
100
- body {
101
- margin: 0;
102
- font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
103
- background: var(--band);
104
- color: var(--ink);
105
- letter-spacing: 0;
106
- }
107
- header {
108
- display: grid;
109
- gap: 12px;
110
- padding: 28px clamp(18px, 4vw, 48px) 18px;
111
- border-bottom: 1px solid var(--line);
112
- background: var(--surface);
113
- }
114
- h1 {
115
- margin: 0;
116
- font-size: 30px;
117
- line-height: 1.1;
118
- font-weight: 720;
119
- }
120
- h2 {
121
- margin: 0 0 12px;
122
- font-size: 16px;
123
- line-height: 1.2;
124
- }
125
- .meta {
126
- color: var(--muted);
127
- font-size: 13px;
128
- line-height: 1.45;
129
- overflow-wrap: anywhere;
130
- }
131
- main {
132
- display: grid;
133
- gap: 18px;
134
- padding: 18px clamp(18px, 4vw, 48px) 48px;
135
- }
136
- .metrics {
137
- display: grid;
138
- grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
139
- gap: 10px;
140
- }
141
- .metric, section {
142
- background: var(--surface);
143
- border: 1px solid var(--line);
144
- border-radius: 8px;
145
- box-shadow: 0 1px 2px rgba(23, 32, 42, 0.04);
146
- }
147
- .metric {
148
- min-height: 92px;
149
- padding: 14px;
150
- display: grid;
151
- align-content: space-between;
152
- gap: 10px;
153
- }
154
- .metric strong {
155
- display: block;
156
- font-size: 26px;
157
- line-height: 1;
158
- font-weight: 760;
159
- }
160
- .metric span {
161
- color: var(--muted);
162
- font-size: 12px;
163
- text-transform: uppercase;
164
- letter-spacing: .08em;
165
- }
166
- section { padding: 16px; }
167
- .grid {
168
- display: grid;
169
- grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
170
- gap: 18px;
171
- align-items: start;
172
- }
173
- .bars {
174
- display: grid;
175
- gap: 8px;
176
- margin-top: 10px;
177
- }
178
- .bar {
179
- display: grid;
180
- grid-template-columns: 120px minmax(0, 1fr) 42px;
181
- gap: 10px;
182
- align-items: center;
183
- font-size: 13px;
184
- }
185
- .track {
186
- height: 10px;
187
- border-radius: 999px;
188
- background: #e8edf2;
189
- overflow: hidden;
190
- }
191
- .fill {
192
- height: 100%;
193
- background: var(--accent);
194
- }
195
- .feed {
196
- display: grid;
197
- gap: 10px;
198
- }
199
- .item {
200
- border-top: 1px solid var(--line);
201
- padding-top: 10px;
202
- }
203
- .item:first-child {
204
- border-top: 0;
205
- padding-top: 0;
206
- }
207
- .item h3 {
208
- margin: 0 0 5px;
209
- font-size: 14px;
210
- line-height: 1.3;
211
- }
212
- .tags {
213
- display: flex;
214
- flex-wrap: wrap;
215
- gap: 6px;
216
- margin-top: 8px;
217
- }
218
- .tag {
219
- border: 1px solid var(--line);
220
- border-radius: 999px;
221
- padding: 2px 8px;
222
- font-size: 12px;
223
- color: var(--muted);
224
- background: #fbfcfd;
225
- }
226
- .edge {
227
- display: inline-flex;
228
- align-items: center;
229
- min-height: 22px;
230
- border-radius: 999px;
231
- padding: 2px 8px;
232
- font-size: 12px;
233
- color: #fff;
234
- background: var(--accent-2);
235
- }
236
- .edge.supports { background: var(--good); }
237
- .edge.contradicts { background: var(--risk); }
238
- .empty {
239
- color: var(--muted);
240
- border-top: 1px solid var(--line);
241
- padding-top: 10px;
242
- font-size: 13px;
243
- }
244
- footer {
245
- padding: 0 clamp(18px, 4vw, 48px) 28px;
246
- }
247
- @media (max-width: 780px) {
248
- .grid { grid-template-columns: 1fr; }
249
- .bar { grid-template-columns: 86px minmax(0, 1fr) 34px; }
250
- h1 { font-size: 24px; }
251
- }
252
- </style>
253
- </head>
254
- <body>
255
- <header>
256
- <h1>${ce(e.project)} Brain Dashboard</h1>
257
- <div class="meta">${ce(e.root)} - ${ce(e.generated_at)}</div>
258
- </header>
259
- <main>
260
- <div class="metrics">
261
- ${Xr("Artifacts",e.stats.artifacts,"captured knowledge")}
262
- ${Xr("Decisions",e.stats.decisions,"curated choices")}
263
- ${Xr("Events",e.stats.events,"KpiQuery total")}
264
- ${Xr("Connections",e.stats.connections,"typed graph edges")}
265
- ${Xr("Supports",e.stats.supports,"positive evidence")}
266
- ${Xr("Contradicts",e.stats.contradicts,"open tension")}
267
- </div>
268
- <div class="grid">
269
- <section>
270
- <h2>Event KPIs</h2>
271
- <div class="meta">Derived from kind:event artifacts through KpiQuery. No separate metrics store.</div>
272
- ${Nb(e.kpis.events_by_platform,"Platform")}
273
- ${Nb(e.kpis.events_by_type,"Event type")}
274
- </section>
275
- <section>
276
- <h2>Recent Decisions</h2>
277
- <div class="feed">
278
- ${e.recent_decisions.length===0?Cb("No decision artifacts captured yet."):e.recent_decisions.map(NN).join("")}
279
- </div>
280
- </section>
281
- </div>
282
- <section>
283
- <h2>Recent Connections</h2>
284
- <div class="feed">
285
- ${e.recent_connections.length===0?Cb("No graph connections captured yet."):e.recent_connections.map(CN).join("")}
286
- </div>
287
- </section>
288
- </main>
289
- <footer class="meta">${ce(e.attribution.red_hermes)}</footer>
290
- <script id="brain-dashboard-data" type="application/json">${jN(e)}</script>
291
- </body>
292
- </html>`}function Xr(e,t,r){return`<div class="metric"><span>${ce(e)}</span><strong>${t}</strong><div class="meta">${ce(r)}</div></div>`}function Nb(e,t){let r=e.series.filter(o=>o.group!=null);if(r.length===0)return`<div class="empty">No ${ce(t.toLowerCase())} split available.</div>`;let n=Math.max(...r.map(o=>o.total),1);return`<div class="bars" aria-label="${ce(t)}">${r.map(o=>{let i=o.group??"all",s=Math.round(o.total/n*100);return`<div class="bar"><div class="meta">${ce(i)}</div><div class="track"><div class="fill" style="width:${s}%"></div></div><strong>${o.total}</strong></div>`}).join("")}</div>`}function NN(e){let t=e.connection_counts,r=e.tags.length===0?"":`<div class="tags">${e.tags.slice(0,6).map(n=>`<span class="tag">${ce(n)}</span>`).join("")}</div>`;return`<article class="item">
293
- <h3>${ce(e.title)}</h3>
294
- <div class="meta">#${e.rid} - ${ce(e.updated_at)} - supports ${t.supports}, contradicts ${t.contradicts}, depends_on ${t.depends_on}, related_to ${t.related_to}</div>
295
- <p class="meta">${ce(e.excerpt)}</p>
296
- ${r}
297
- </article>`}function CN(e){return`<article class="item">
298
- <h3><span class="edge ${ce(e.kind)}">${ce(e.kind)}</span> ${ce(e.from.title)} -> ${ce(e.to.title)}</h3>
299
- <div class="meta">#${e.rid} - ${ce(e.created_at)}${e.reason?` - ${ce(e.reason)}`:""}</div>
300
- </article>`}function Cb(e){return`<div class="empty">${ce(e)}</div>`}function Jl(e,t){return e.filter(r=>r.kind===t).length}function DN(e){let t=e.replace(/\s+/g," ").trim();return t.length>180?`${t.slice(0,177)}...`:t}function ce(e){return e.replace(/[&<>"']/g,t=>{switch(t){case"&":return"&amp;";case"<":return"&lt;";case">":return"&gt;";case'"':return"&quot;";case"'":return"&#39;";default:return t}})}function jN(e){return JSON.stringify(e).replace(/</g,"\\u003c")}import{mkdir as qN,readFile as BN,writeFile as ZN}from"node:fs/promises";import{dirname as UN}from"node:path";function Mb(e){return ht(e)}var LN=[{id:"memory.config",plugin:"memory",legacyPath:".red/memory/config.json",toonPath:".red/memory/config.toon",kind:"toon"}],MN=[{id:"dev.afk-history",plugin:"dev",legacyPath:".red/state/afk-history.jsonl",toonPath:".red/state/castle/history.toonl",kind:"toonl"},{id:"dev.agent-log",plugin:"dev",legacyPath:".red/tmp/agent.log.toonl",toonPath:".red/tmp/agent.log.toonl",kind:"toonl"},{id:"dev.supervisor-firehose",plugin:"dev",legacyPath:".red/tmp/afk-supervisor.log.toonl",toonPath:".red/tmp/supervisors/default/supervisor.log.toonl",kind:"toonl",migration:"sniff-read"},{id:"dev.code-understanding-bench-runs",plugin:"dev",legacyPath:".red/tmp/bench/code-understanding/runs.jsonl",toonPath:".red/tmp/bench/code-understanding/runs.toonl",kind:"toonl"},{id:"dev.attempt-state",plugin:"dev",legacyPath:".red/tmp/{workers,go-workers,scout-workers}/*/*/afk.state.toon",toonPath:".red/tmp/{workers,go-workers,scout-workers}/*/*/afk.state.toon",kind:"toon"},{id:"dev.statusline-count-cache",plugin:"dev",legacyPath:".red/tmp/statusline-cache.json",toonPath:".red/state/statusline/statusline-cache.toon",kind:"toon"},{id:"dev.statusline-repo-cache",plugin:"dev",legacyPath:".red/tmp/statusline-repo-cache.json",toonPath:".red/state/statusline/statusline-repo-cache.toon",kind:"toon"},{id:"dev.rsp-resident-registry",plugin:"dev",legacyPath:".red/state/rsp/rsp-resident.pid.json",toonPath:".red/state/rsp/rsp-resident.pid.toon",kind:"toon"},{id:"dev.rsp-status-summary",plugin:"dev",legacyPath:".red/state/rsp/rsp-status-summary.json",toonPath:".red/state/rsp/rsp-status-summary.toon",kind:"toon"},{id:"dev.rsp-wait-registry",plugin:"dev",legacyPath:".red/tmp/waits/*.json",toonPath:".red/tmp/waits/*.toon",kind:"toon"}],$9=[...LN,...MN];async function qb(e){let t=await fs({bridge:e.bridge,store:e.store,afterCursor:e.state.cursor,sessionKey:e.sessionKey,limit:e.limit,sourceAgent:e.sourceAgent}),r={cursor:t.nextCursor??e.state.cursor,lastRunAt:new Date().toISOString()};return{polled:t.polled,captured:t.captured,skipped:t.skipped,state:r}}async function Bb(e){try{let r=(await BN(e,"utf8")).trim();if(!r)return{};try{return JSON.parse(r)}catch{return jt(r)}}catch(t){if(t.code==="ENOENT")return{};throw t}}async function Zb(e,t){await qN(UN(e),{recursive:!0}),await ZN(e,`${Mb(t)}
301
- `,"utf8")}var Ub={"=":"data",":=":{to:"data",typed:!0},":":"meta"},FN=/^[a-z][a-z0-9+.-]*:\/\//i;function VN(e,t){return typeof t=="string"?{separator:e,to:t,typed:!1,prefix:!1}:{separator:e,to:t.to,typed:t.typed??!1,prefix:t.prefix??!1}}function KN(e=Ub){return Object.entries(e).map(([t,r])=>VN(t,r)).sort((t,r)=>r.separator.length-t.separator.length)}function HN(e){return/^-\d+(\.\d+)?$/.test(e)}function po(e){return!(!e||e.startsWith("-")&&!HN(e))}function ps(e){if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;let t=Number(e);return!Number.isNaN(t)&&Number.isFinite(t)&&e.trim()!==""?t:e}function Fb(e){if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(e.startsWith("[")&&e.endsWith("]")||e.startsWith("{")&&e.endsWith("}"))try{return JSON.parse(e)}catch{}let t=Number(e);return!Number.isNaN(t)&&Number.isFinite(t)&&e.trim()!==""?t:e.includes(",")?e.split(",").map(r=>Fb(r.trim())):e}function dr(e,t){switch(t){case"boolean":return WN(e);case"number":return GN(e);case"array":return e.split(",").map(r=>ps(r.trim()));case"string":default:return e}}function WN(e){let t=e.toLowerCase().trim();return t==="true"||t==="yes"||t==="1"||t==="on"}function GN(e){if(e.trim()==="")throw new TypeError(`Cannot convert "${e}" to number`);let t=Number(e);if(Number.isNaN(t))throw new TypeError(`Cannot convert "${e}" to number`);return t}function qt(e){return e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1):e}function JN(e,t={}){return e.map(r=>{let n=t[r.type];return n?n(r.value):r.value}).join("")}function Y(e,t){return{type:e,value:t}}function YN(e){let t=[],r=XN(e);if(t.push(Y("section-header","Usage:"),Y("text"," "),Y("usage-text",r),Y("newline",`
302
- `),Y("newline",`
303
- `)),e.positional&&e.positional.length>0){t.push(Y("section-header","Arguments:"),Y("newline",`
304
- `));for(let n of e.positional)if(n.description){let o=n.variadic?`${n.name}...`:n.name;t.push(Y("indent"," "),Y("positional-name",`<${o}>`)),n.required||t.push(Y("positional-optional"," (optional)")),t.push(Y("newline",`
305
- `),Y("indent"," "),Y("option-description",n.description),Y("newline",`
306
- `))}t.push(Y("newline",`
307
- `))}if(e.options&&Object.keys(e.options).length>0){t.push(Y("section-header","Options:"),Y("newline",`
308
- `));let n=eC(e.options);t.push(...n)}return t}function QN(e,t){let r=YN(e);return JN(r,t)}function XN(e){let t=["[options]"];if(e.positional)for(let r of e.positional)r.variadic?t.push(r.required?`<${r.name}...>`:`[${r.name}...]`):t.push(r.required?`<${r.name}>`:`[${r.name}]`);return t.join(" ")}function eC(e,t=!1){let r=[],n=[],o=t?"global-option-flag":"option-flag",i=t?"global-option-type":"option-type",s=t?"global-option-default":"option-default",a=t?"global-option-description":"option-description";for(let[l,u]of Object.entries(e)){if(u.hidden)continue;let d=[],f=h=>{d.includes(h)||d.push(h)};u.short&&f(`-${u.short}`),f(`--${l}`);for(let h of u.aliases??[])h.length===1?f(`-${h}`):f(`--${h}`);let p=d.join(", "),m=u.type&&u.type!=="boolean"?`<${u.type}>`:void 0;n.push({flags:p,type:m,desc:u.description??"",default:u.default!==void 0?String(u.default):void 0})}let c=Math.max(...n.map(l=>l.flags.length+(l.type?l.type.length+1:0)),20);for(let l of n){let u=l.flags.length+(l.type?l.type.length+1:0),d=" ".repeat(c-u+2);r.push(Y("indent"," ")),r.push(Y(o,l.flags)),l.type&&(r.push(Y("text"," ")),r.push(Y(i,l.type))),r.push(Y("text",d)),r.push(Y(a,l.desc)),l.default!==void 0&&(r.push(Y("text"," ")),r.push(Y(s,`(default: ${l.default})`))),r.push(Y("newline",`
309
- `))}return r}function Vb(e){let t=aC(e.options??{},e.autoShort??!1),r=KN(e.separators??Ub);return{schema:e,parse(n){return tC(n,e,t,r)},help(){return QN(e,e.formatter)}}}function tC(e,t,r,n){let o={positional:{},options:{},errors:[],rest:[]},i=new Set(n.map(u=>u.to));for(let u of i)o[u]={};let s=0,a=t.positional??[],c=0,l=!1;for(;c<e.length;){let u=e[c];if(t.stopEarly&&s>0){o.rest=e.slice(c);break}if(u==="--"&&!l){l=!0,c++;continue}if(l){if(s<a.length){let f=a[s];if(f.variadic){let p=[];for(;c<e.length;){let m=e[c];p.push(f.type?dr(m,f.type):m),c++}o.positional[f.name]=p,s++}else{let p=f.type?dr(u,f.type):u;o.positional[f.name]=p,s++,c++}}else t.allowUnknown!==!1&&(o.rest=o.rest??[],o.rest.push(u)),c++;continue}if(u.startsWith("--")){c=iC(u,c,e,o,r,t);continue}if(u.startsWith("-")&&u.length>1&&!fC(u)){c=sC(u,c,e,o,r,t);continue}let d=rC(u,n);if(d){let{key:f,value:p,config:m}=d,h=o,_=h[m.to]??(h[m.to]={});_[f]=m.typed?Fb(p):qt(p),c++;continue}if(s<a.length){let f=a[s];if(f.variadic){let m=[];for(;c<e.length&&!e[c].startsWith("-");){let h=e[c];m.push(f.type?dr(h,f.type):h),c++}o.positional[f.name]=m,s++;continue}let p=f.type?dr(u,f.type):u;o.positional[f.name]=p,s++}else t.allowUnknown!==!1?o.rest.push(u):o.errors.push(`Unexpected positional argument: ${u}`);c++}return uC(o,t,r),lC(o,t,a),dC(o,t,r),o}function rC(e,t){if(FN.test(e))return null;for(let r of t){if(r.prefix&&e.startsWith(r.separator)){let o=e.slice(r.separator.length),i=o.indexOf(":");if(i>0){let s=o.slice(0,i),a=o.slice(i+1);if(nC(s))return{key:s,value:a,config:r}}continue}let n=e.indexOf(r.separator);if(n>0){let o=e.slice(0,n),i=e.slice(n+r.separator.length);if(oC(o,i,r))return{key:o,value:i,config:r}}}return null}function nC(e){return e?/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(e):!1}function oC(e,t,r){return e?r.separator===":"?e.includes("/")||e.includes(".")||/^\d+$/.test(t)?!1:/^[A-Z][a-zA-Z0-9-]*$/.test(e):!((r.separator==="="||r.separator===":=")&&e.includes("/")):!1}function iC(e,t,r,n,o,i){let s=e.slice(2);if(s.startsWith("no-")){let c=s.slice(3),l=o.get(c);if(l?.negatable!==!1&&l?.type==="boolean")return n.options[l.name]=!1,t+1}if(s.includes("=")){let c=s.indexOf("="),l=s.slice(0,c),u=s.slice(c+1);return ms(l,u,t+1,n,o,i)}let a=o.get(s);if(a){if(a.type!=="boolean"){let c=r[t+1];return po(c)?ms(a.name,c,t+2,n,o,i):(n.errors.push(`Option --${s} requires a value`),t+1)}return n.options[a.name]=!0,t+1}return i.strict?n.errors.push(`Unknown option: --${s}`):i.allowUnknown!==!1&&(n.options[s]=!0),t+1}function sC(e,t,r,n,o,i){let s=e.slice(1);if(s.includes("=")){let a=s.indexOf("="),c=s.slice(0,a),l=s.slice(a+1),u=Yl(c,o);return u?ms(u.name,l,t+1,n,o,i):(i.strict?n.errors.push(`Unknown option: -${c}`):i.allowUnknown!==!1&&(n.options[c]=ps(qt(l))),t+1)}if(s.length===1){let a=Yl(s,o);if(a){if(a.type!=="boolean"){let c=r[t+1];return po(c)?ms(a.name,c,t+2,n,o,i):(n.errors.push(`Option -${s} requires a value`),t+1)}return n.options[a.name]=!0,t+1}if(i.strict)n.errors.push(`Unknown option: -${s}`);else if(i.allowUnknown!==!1){let c=r[t+1];if(po(c))return n.options[s]=ps(qt(c)),t+2;n.options[s]=!0}return t+1}for(let a of s){let c=Yl(a,o);c?c.type==="boolean"?n.options[c.name]=!0:n.errors.push(`Option -${a} requires a value`):i.strict?n.errors.push(`Unknown option: -${a}`):i.allowUnknown!==!1&&(n.options[a]=!0)}return t+1}function ms(e,t,r,n,o,i){let s=o.get(e);if(s){if(s.choices){let c=s.type?dr(qt(t),s.type):qt(t);if(!s.choices.includes(c))return n.errors.push(`Invalid value for '${e}': '${t}'. Allowed: ${s.choices.join(", ")}`),r}let a=s.type?dr(qt(t),s.type):qt(t);if(s.type==="array"){let c=n.options[e];Array.isArray(c)?c.push(...a):n.options[e]=a}else n.options[e]=a}else i.strict?n.errors.push(`Unknown option: --${e}`):i.allowUnknown!==!1&&(n.options[e]=ps(qt(t)));return r}function aC(e,t=!1){let r=new Map,n=Object.entries(e).sort(([i],[s])=>i.localeCompare(s)),o=new Set;for(let[,i]of n)i.short&&o.add(i.short);for(let[i,s]of n){let a=s.short??"";t&&!a&&(a=cC(i,o),a&&o.add(a));let c={name:i,short:a,aliases:s.aliases??[],type:s.type??"string",description:s.description??"",required:s.required??!1,hidden:s.hidden??!1,negatable:s.negatable??!0,default:s.default,choices:s.choices,env:s.env,validate:s.validate};r.set(i,c);for(let l of c.aliases)r.set(l,c)}return r}function cC(e,t){for(let r of e){if(!/[a-zA-Z]/.test(r))continue;let n=r.toLowerCase();if(!t.has(n))return n;let o=r.toUpperCase();if(!t.has(o))return o}return""}function Yl(e,t){for(let r of t.values())if(r.short===e||r.aliases.includes(e))return r}function uC(e,t,r){for(let n of r.values())if(e.options[n.name]===void 0)if(n.env&&process.env[n.env]!==void 0){let o=process.env[n.env];e.options[n.name]=n.type?dr(o,n.type):o}else n.default!==void 0&&(e.options[n.name]=n.default);for(let n of t.positional??[])e.positional[n.name]===void 0&&n.default!==void 0&&(e.positional[n.name]=n.default)}function lC(e,t,r){if(t.options)for(let[n,o]of Object.entries(t.options))o.required&&e.options[n]===void 0&&e.errors.push(`Missing required option: --${n}`);for(let n of r)n.required&&e.positional[n.name]===void 0&&e.errors.push(`Missing required argument: <${n.name}>`)}function dC(e,t,r){for(let n of r.values()){let o=e.options[n.name];if(n.validate&&o!==void 0){let i=n.validate(o);i!==!0&&e.errors.push(i)}}for(let n of t.positional??[]){let o=e.positional[n.name];if(n.validate&&o!==void 0){let i=n.validate(o);i!==!0&&e.errors.push(i)}}}function fC(e){return/^-\d+(\.\d+)?$/.test(e)}var mo=class extends Error{flag;known;constructor(t,r){super(`unknown flag '${t}'; expected one of: ${r.join(", ")}`),this.name="UnknownFlagError",this.flag=t,this.known=r}};function pC(e){let t={};for(let[r,n]of Object.entries(e))t[r]={type:n.kind==="boolean"?"boolean":"string",...r.length===1?{short:r}:{},...n.aliases===void 0?{}:{aliases:n.aliases}};return t}function mC(e,t){let r=new Map;for(let[o,i]of Object.entries(t))if(!(i.kind!=="value"||i.type!=="array")){r.set(o,o);for(let s of i.aliases??[])r.set(s,o)}let n=new Map;for(let o=0;o<e.length;o+=1){let i=e[o];if(i==="--")break;let s=i.match(/^--([^=]+)(?:=(.*))?$/)??i.match(/^-([^=])(?:=(.*))?$/);if(s===null)continue;let a=r.get(s[1]);if(a===void 0)continue;let c=s[2];if(c===void 0&&po(e[o+1])&&(c=e[o+1],o+=1),c===void 0)continue;let l=n.get(a)??[];l.push(c),n.set(a,l)}return n}function Kb(e,t,r={}){let o=Vb({options:pC(t),separators:{},allowUnknown:!0}).parse([...e]),i={},s=mC(e,t),a=o.errors.find(c=>/^Option --?\S+ requires a value$/.test(c));if(a!==void 0)throw new Error(a.replace(/^Option /,""));if(o.errors.length>0)throw new Error(o.errors[0]);if(r.unknownFlags==="error"){let c=new Set(Object.keys(t));for(let l of Object.keys(o.options))if(!c.has(l))throw new mo(l.length===1?`-${l}`:`--${l}`,Object.keys(t).map(u=>u.length===1?`-${u}`:`--${u}`))}for(let[c,l]of Object.entries(t)){let u=o.options[c];u!==void 0&&(l.kind==="boolean"?i[c]=u:l.type==="array"?i[c]=(s.get(c)??[]).map(d=>l.coerce(d)):i[c]=l.coerce(String(u)))}return{values:i,positionals:o.rest}}var ho=class extends Error{token;known;constructor(t,r){super(`unknown command '${t}'; expected one of: ${r.join(", ")}`),this.name="UnknownCommandError",this.token=t,this.known=r}};function Hb(e,t){let[r,...n]=e;if(r!==void 0){for(let[i,s]of Object.entries(t.commands))if(r===i||(s.aliases??[]).includes(r))return{command:i,args:n};if(t.errorOnUnknownCommand&&!r.startsWith("-"))throw new ho(r,Object.keys(t.commands))}let o=t.keepArgvOnDefault??!0;return{command:t.default,args:o?[...e]:n}}var F=e=>e;function go(e){return t=>{let r=Number(t);if(!Number.isFinite(r))throw new Error(`--${e} must be a number`);return r}}var Wb={version:{kind:"boolean",aliases:["v"]},help:{kind:"boolean",aliases:["h"]},json:{kind:"boolean"}},yo={},Gb={title:{kind:"value",coerce:F},content:{kind:"value",coerce:F},file:{kind:"value",coerce:F},kind:{kind:"value",coerce:F},tag:{kind:"value",type:"array",coerce:F},agent:{kind:"value",coerce:F},runner:{kind:"value",coerce:F},session:{kind:"value",coerce:F}},Jb={query:{kind:"value",coerce:F},limit:{kind:"value",coerce:go("limit")}},Yb={query:{kind:"value",coerce:F},limit:{kind:"value",coerce:go("limit")},json:{kind:"boolean"}},Qb={from:{kind:"value",coerce:F},to:{kind:"value",coerce:F},kind:{kind:"value",coerce:F},reason:{kind:"value",coerce:F}},Xb={target:{kind:"value",coerce:F},message:{kind:"value",coerce:F}},ev={runner:{kind:"value",coerce:F}},tv={"after-cursor":{kind:"value",aliases:["cursor"],coerce:F},"session-key":{kind:"value",aliases:["session"],coerce:F},limit:{kind:"value",coerce:go("limit")}},rv={"session-key":{kind:"value",aliases:["session"],coerce:F},limit:{kind:"value",coerce:go("limit")},state:{kind:"value",coerce:F}},nv={interval:{kind:"value",coerce:F},"group-by":{kind:"value",coerce:F},"time-field":{kind:"value",coerce:F},from:{kind:"value",coerce:F},to:{kind:"value",coerce:F},platform:{kind:"value",coerce:F},"event-type":{kind:"value",coerce:F},target:{kind:"value",coerce:F}},ov={out:{kind:"value",coerce:F},host:{kind:"value",coerce:F},port:{kind:"value",coerce:go("port")},json:{kind:"boolean"},serve:{kind:"boolean"}},iv={root:{kind:"value",coerce:F}},hC={help:{},version:{},init:{},status:{},capture:{},search:{},think:{aliases:["query"]},get:{},link:{},backlinks:{},act:{},hook:{},"ingest-events":{},"schedule-ingest":{},kpi:{aliases:["kpis"]},dashboard:{},"outcome-event":{}},gC={commands:hC,default:"help",keepArgvOnDefault:!0,errorOnUnknownCommand:!0};function sv(e){try{return Hb(e,gC)}catch(t){throw t instanceof ho?new Error(`unknown brain command: ${t.token} \u2014 run \`brain help\` for the command list`):t}}function ye(e,t){try{return Kb(e,t,{unknownFlags:"error"})}catch(r){throw r instanceof mo?new Error(`unknown brain flag: ${r.flag} \u2014 run \`brain help\` for usage`):r}}var av=`brain commands:
310
- init
311
- status
312
- capture [text] --title <title> --kind <${as.join("|")}> --tag <tag>
313
- search <query> [--limit N]
314
- think <query> [--limit N] [--json]
315
- get <rid|id>
316
- link --from <rid|id> --to <rid|id> --kind <${cs.join("|")}>
317
- backlinks <rid|id>
318
- act --target <channel> --message <text>
319
- ingest-events [--after-cursor N] [--session-key KEY] [--limit N]
320
- schedule-ingest [--session-key KEY] [--limit N] [--state PATH]
321
- kpi [--interval hour|day|week|month] [--group-by platform|event_type|target] [--time-field event|ingested] [--from T] [--to T] [--platform P] [--event-type T] [--target T]
322
- dashboard [--out PATH] [--json] [--serve] [--host 127.0.0.1] [--port 4738]
323
- outcome-event record [--root PATH] < event.json
324
-
325
- brain flags (answered before any command, and before config or the store):
326
- -v, --version print the build version
327
- --json with --version: print the structured build info
328
- -h, --help show this help
329
- `;async function vC(){let{command:e,args:t}=sv(process.argv.slice(2));switch(e){case"help":case"version":{let{values:r}=ye(t,Wb);if(e==="version"||r.version===!0){xC(r.json===!0);return}console.log(av);return}case"init":ye(t,yo),await ke(async({config:r,store:n})=>{let o=await n.status();Pe({rootDir:r.rootDir,configPath:r.configPath,...o})});return;case"status":ye(t,yo),await ke(async({config:r,store:n})=>{Pe({rootDir:r.rootDir,configPath:r.configPath,...await n.status()})});return;case"capture":await $C(t);return;case"search":await SC(t);return;case"think":await EC(t);return;case"get":await RC(t);return;case"link":await TC(t);return;case"backlinks":await PC(t);return;case"act":await NC(t);return;case"hook":await CC(t);return;case"ingest-events":await zC(t);return;case"schedule-ingest":await OC(t);return;case"kpi":await AC(t);return;case"dashboard":await IC(t);return;case"outcome-event":await kC(t);return}}function xC(e){let t=td("brain");process.stdout.write(e?`${JSON.stringify(t)}
330
- `:`${rd(t)}
331
- `)}async function kC(e){let{values:t,positionals:r}=ye(e,iv);if(r[0]!=="record")throw new Error("brain outcome-event requires subcommand: record");let n=await DC(),o=JSON.parse(n);if(!fo(o))throw new Error("invalid brain outcome event");await ke(async({store:i})=>{Pe(await i.appendOutcomeEvent(o))},t.root??process.cwd())}async function $C(e){let{values:t,positionals:r}=ye(e,Gb),n=(t.title??r.join(" ").slice(0,80))||"Untitled artifact",o=t.content??(t.file?await yC(t.file,"utf8"):r.join(" "));if(!o.trim())throw new Error("brain capture requires content, --content, or --file");await ke(async({store:i})=>{let s=await i.capture({title:n,content:o,kind:t.kind??"note",tags:t.tag??[],sourceAgent:t.agent,sourceRunner:t.runner,sourceSession:t.session,sourcePath:process.cwd()});Pe(s)})}async function SC(e){let{values:t,positionals:r}=ye(e,Jb),n=t.query??r.join(" ");if(!n)throw new Error("brain search requires a query");let o=t.limit??10;await ke(async({store:i})=>Pe(await i.search(n,o)))}async function EC(e){let{values:t,positionals:r}=ye(e,Yb),n=t.query??r.join(" ");if(!n)throw new Error("brain think requires a query");let o=t.limit??8;await ke(async({store:i})=>{let s=await i.think(n,o);t.json===!0?Pe(s):console.log(s.answer)})}async function RC(e){let{positionals:t}=ye(e,yo),r=t[0];if(!r)throw new Error("brain get requires a rid or artifact id");await ke(async({store:n})=>{let o=await n.getArtifact(hs(r));if(!o)throw new Error(`Brain artifact not found: ${r}`);Pe(o)})}async function TC(e){let{values:t}=ye(e,Qb),r=t.from,n=t.to;if(!r||!n)throw new Error("brain link requires --from and --to");await ke(async({store:o})=>{Pe(await o.link({from:hs(r),to:hs(n),kind:t.kind??"related_to",reason:t.reason}))})}async function PC(e){let{positionals:t}=ye(e,yo),r=t[0];if(!r)throw new Error("brain backlinks requires a rid or artifact id");await ke(async({store:n})=>Pe(await n.backlinks(hs(r))))}async function OC(e){let{values:t}=ye(e,rv),r=await nr.connect();try{await ke(async({config:n,store:o})=>{let i=t.state??cv(n.rootDir,".red","brain","ingestion-state.json"),s=await Bb(i),a=await qb({bridge:r,store:o,state:s,sessionKey:t["session-key"],limit:t.limit,sourceAgent:"brain.schedule-ingest"});await Zb(i,a.state),Pe(a)})}finally{await r.close().catch(()=>{})}}async function zC(e){let{values:t}=ye(e,tv),r=await nr.connect();try{await ke(async({store:n})=>{let o=await fs({bridge:r,store:n,afterCursor:t["after-cursor"],sessionKey:t["session-key"],limit:t.limit,sourceAgent:"brain.ingest-events"});Pe(o)})}finally{await r.close().catch(()=>{})}}async function AC(e){let{values:t}=ye(e,nv);await ke(async({store:r})=>{Pe(await r.eventKpis({interval:t.interval,groupBy:t["group-by"],timeField:t["time-field"],from:t.from,to:t.to,platform:t.platform,eventType:t["event-type"],target:t.target}))})}async function IC(e){let{values:t}=ye(e,ov),r=await ke(async({config:o,store:i,project:s})=>{let a=await Db(i,{project:s,rootDir:o.rootDir});return{dashboard:a,artifact:jb(a),defaultOut:cv(o.rootDir,".red","brain","dashboard.html")}});if(t.json===!0){Pe(r.dashboard);return}if(t.serve===!0){let o=t.host??"127.0.0.1",i=t.port??4738,s=await Lb(r.artifact.html,{host:o,port:i}),a=s.address();console.log(`brain: dashboard serving at http://${a.address}:${a.port}/`),await new Promise(c=>{let l=()=>s.close(()=>c());process.once("SIGINT",l),process.once("SIGTERM",l)});return}let n=t.out??r.defaultOut;await _C(bC(n),{recursive:!0}),await wC(n,r.artifact.html,"utf8"),console.log(`brain: dashboard written ${n}`)}async function NC(e){let{values:t,positionals:r}=ye(e,Xb),n=t.target??r[0],o=t.message??r.slice(1).join(" ");if(!n)throw new Error("brain act requires --target <channel>");if(!o)throw new Error("brain act requires --message <text>");Pe(await Ib({target:n,message:o}))}async function CC(e){let{values:t,positionals:r}=ye(e,ev),n=r[0]??"SessionStart",o=t.runner??"unknown";Pe(await Ob(n,o))}function hs(e){return/^\d+$/.test(e)?Number(e):e}function Pe(e){console.log(JSON.stringify(e,null,2))}async function DC(){let e=[];for await(let t of process.stdin)e.push(Buffer.isBuffer(t)?t:Buffer.from(String(t)));return Buffer.concat(e).toString("utf8")}vC().catch(e=>{console.error(e instanceof Error?e.message:String(e)),process.exit(1)});