@reddb-io/red-skills 2.4.0 → 2.4.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,56 +1,56 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
3
- var cy=Object.create;var us=Object.defineProperty;var uy=Object.getOwnPropertyDescriptor;var ly=Object.getOwnPropertyNames;var dy=Object.getPrototypeOf,py=Object.prototype.hasOwnProperty;var it=(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 v=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),eu=(e,t)=>{for(var r in t)us(e,r,{get:t[r],enumerable:!0})},fy=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ly(t))!py.call(e,o)&&o!==r&&us(e,o,{get:()=>t[o],enumerable:!(n=uy(t,o))||n.enumerable});return e};var ls=(e,t,r)=>(r=e!=null?cy(dy(e)):{},fy(t||!e||!e.__esModule?us(r,"default",{value:e,enumerable:!0}):r,e));var Kr=v(B=>{"use strict";Object.defineProperty(B,"__esModule",{value:!0});B.regexpCode=B.getEsmExportName=B.getProperty=B.safeStringify=B.stringify=B.strConcat=B.addCodeArg=B.str=B._=B.nil=B._Code=B.Name=B.IDENTIFIER=B._CodeOrName=void 0;var Fr=class{};B._CodeOrName=Fr;B.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var zt=class extends Fr{constructor(t){if(super(),!B.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}}};B.Name=zt;var Ae=class extends Fr{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 zt&&(r[n.str]=(r[n.str]||0)+1),r),{})}};B._Code=Ae;B.nil=new Ae("");function Sp(e,...t){let r=[e[0]],n=0;for(;n<t.length;)Ri(r,t[n]),r.push(e[++n]);return new Ae(r)}B._=Sp;var Ti=new Ae("+");function zp(e,...t){let r=[Vr(e[0])],n=0;for(;n<t.length;)r.push(Ti),Ri(r,t[n]),r.push(Ti,Vr(e[++n]));return hw(r),new Ae(r)}B.str=zp;function Ri(e,t){t instanceof Ae?e.push(...t._items):t instanceof zt?e.push(t):e.push(_w(t))}B.addCodeArg=Ri;function hw(e){let t=1;for(;t<e.length-1;){if(e[t]===Ti){let r=gw(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+"}t++}}function gw(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof zt||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 zt))return`"${e}${t.slice(1)}`}function yw(e,t){return t.emptyStr()?e:e.emptyStr()?t:zp`${e}${t}`}B.strConcat=yw;function _w(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:Vr(Array.isArray(e)?e.join(","):e)}function vw(e){return new Ae(Vr(e))}B.stringify=vw;function Vr(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}B.safeStringify=Vr;function ww(e){return typeof e=="string"&&B.IDENTIFIER.test(e)?new Ae(`.${e}`):Sp`[${e}]`}B.getProperty=ww;function bw(e){if(typeof e=="string"&&B.IDENTIFIER.test(e))return new Ae(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}B.getEsmExportName=bw;function $w(e){return new Ae(e.toString())}B.regexpCode=$w});var Ai=v(ke=>{"use strict";Object.defineProperty(ke,"__esModule",{value:!0});ke.ValueScope=ke.ValueScopeName=ke.Scope=ke.varKinds=ke.UsedValueState=void 0;var xe=Kr(),Ii=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value}},oo;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"})(oo||(ke.UsedValueState=oo={}));ke.varKinds={const:new xe.Name("const"),let:new xe.Name("let"),var:new xe.Name("var")};var so=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r}toName(t){return t instanceof xe.Name?t:this.name(t)}name(t){return new xe.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}}};ke.Scope=so;var io=class extends xe.Name{constructor(t,r){super(r),this.prefix=t}setValue(t,{property:r,itemIndex:n}){this.value=t,this.scopePath=(0,xe._)`.${new xe.Name(r)}[${n}]`}};ke.ValueScopeName=io;var xw=(0,xe._)`\n`,Ni=class extends so{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?xw:xe.nil}}get(){return this._scope}name(t){return new io(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:s}=o,i=(n=r.key)!==null&&n!==void 0?n:r.ref,a=this._values[s];if(a){let u=a.get(i);if(u)return u}else a=this._values[s]=new Map;a.set(i,o);let c=this._scope[s]||(this._scope[s]=[]),l=c.length;return c[l]=r.ref,o.setValue(r,{property:s,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,xe._)`${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 s=xe.nil;for(let i in t){let a=t[i];if(!a)continue;let c=n[i]=n[i]||new Map;a.forEach(l=>{if(c.has(l))return;c.set(l,oo.Started);let u=r(l);if(u){let d=this.opts.es5?ke.varKinds.var:ke.varKinds.const;s=(0,xe._)`${s}${d} ${l} = ${u};${this.opts._n}`}else if(u=o?.(l))s=(0,xe._)`${s}${u}${this.opts._n}`;else throw new Ii(l);c.set(l,oo.Completed)})}return s}};ke.ValueScope=Ni});var C=v(O=>{"use strict";Object.defineProperty(O,"__esModule",{value:!0});O.or=O.and=O.not=O.CodeGen=O.operators=O.varKinds=O.ValueScopeName=O.ValueScope=O.Scope=O.Name=O.regexpCode=O.stringify=O.getProperty=O.nil=O.strConcat=O.str=O._=void 0;var Z=Kr(),Ze=Ai(),dt=Kr();Object.defineProperty(O,"_",{enumerable:!0,get:function(){return dt._}});Object.defineProperty(O,"str",{enumerable:!0,get:function(){return dt.str}});Object.defineProperty(O,"strConcat",{enumerable:!0,get:function(){return dt.strConcat}});Object.defineProperty(O,"nil",{enumerable:!0,get:function(){return dt.nil}});Object.defineProperty(O,"getProperty",{enumerable:!0,get:function(){return dt.getProperty}});Object.defineProperty(O,"stringify",{enumerable:!0,get:function(){return dt.stringify}});Object.defineProperty(O,"regexpCode",{enumerable:!0,get:function(){return dt.regexpCode}});Object.defineProperty(O,"Name",{enumerable:!0,get:function(){return dt.Name}});var lo=Ai();Object.defineProperty(O,"Scope",{enumerable:!0,get:function(){return lo.Scope}});Object.defineProperty(O,"ValueScope",{enumerable:!0,get:function(){return lo.ValueScope}});Object.defineProperty(O,"ValueScopeName",{enumerable:!0,get:function(){return lo.ValueScopeName}});Object.defineProperty(O,"varKinds",{enumerable:!0,get:function(){return lo.varKinds}});O.operators={GT:new Z._Code(">"),GTE:new Z._Code(">="),LT:new Z._Code("<"),LTE:new Z._Code("<="),EQ:new Z._Code("==="),NEQ:new Z._Code("!=="),NOT:new Z._Code("!"),OR:new Z._Code("||"),AND:new Z._Code("&&"),ADD:new Z._Code("+")};var rt=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},Ci=class extends rt{constructor(t,r,n){super(),this.varKind=t,this.name=r,this.rhs=n}render({es5:t,_n:r}){let n=t?Ze.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=Gt(this.rhs,t,r)),this}get names(){return this.rhs instanceof Z._CodeOrName?this.rhs.names:{}}},ao=class extends rt{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 Z.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=Gt(this.rhs,t,r),this}get names(){let t=this.lhs instanceof Z.Name?{}:{...this.lhs.names};return uo(t,this.rhs)}},Oi=class extends ao{constructor(t,r,n,o){super(t,n,o),this.op=r}render({_n:t}){return`${this.lhs} ${this.op}= ${this.rhs};`+t}},ji=class extends rt{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`${this.label}:`+t}},Di=class extends rt{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`break${this.label?` ${this.label}`:""};`+t}},qi=class extends rt{constructor(t){super(),this.error=t}render({_n:t}){return`throw ${this.error};`+t}get names(){return this.error.names}},Zi=class extends rt{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=Gt(this.code,t,r),this}get names(){return this.code instanceof Z._CodeOrName?this.code.names:{}}},Hr=class extends rt{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 s=n[o];s.optimizeNames(t,r)||(kw(t,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>Tt(t,r.names),{})}},nt=class extends Hr{render(t){return"{"+t._n+super.render(t)+"}"+t._n}},Mi=class extends Hr{},Ht=class extends nt{};Ht.kind="else";var Et=class e extends nt{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 Ht(n):n}if(r)return t===!1?r instanceof e?r:r.nodes:this.nodes.length?this:new e(Ep(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=Gt(this.condition,t,r),this}get names(){let t=super.names;return uo(t,this.condition),this.else&&Tt(t,this.else.names),t}};Et.kind="if";var Pt=class extends nt{};Pt.kind="for";var Li=class extends Pt{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=Gt(this.iteration,t,r),this}get names(){return Tt(super.names,this.iteration.names)}},Bi=class extends Pt{constructor(t,r,n,o){super(),this.varKind=t,this.name=r,this.from=n,this.to=o}render(t){let r=t.es5?Ze.varKinds.var:this.varKind,{name:n,from:o,to:s}=this;return`for(${r} ${n}=${o}; ${n}<${s}; ${n}++)`+super.render(t)}get names(){let t=uo(super.names,this.from);return uo(t,this.to)}},co=class extends Pt{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=Gt(this.iterable,t,r),this}get names(){return Tt(super.names,this.iterable.names)}},Gr=class extends nt{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)}};Gr.kind="func";var Jr=class extends Hr{render(t){return"return "+super.render(t)}};Jr.kind="return";var Ui=class extends nt{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&&Tt(t,this.catch.names),this.finally&&Tt(t,this.finally.names),t}},Wr=class extends nt{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}};Wr.kind="catch";var Qr=class extends nt{render(t){return"finally"+super.render(t)}};Qr.kind="finally";var Fi=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
4
- `:""},this._extScope=t,this._scope=new Ze.Scope({parent:t}),this._nodes=[new Mi]}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 s=this._scope.toName(r);return n!==void 0&&o&&(this._constants[s.str]=n),this._leafNode(new Ci(t,s,n)),s}const(t,r,n){return this._def(Ze.varKinds.const,t,r,n)}let(t,r,n){return this._def(Ze.varKinds.let,t,r,n)}var(t,r,n){return this._def(Ze.varKinds.var,t,r,n)}assign(t,r,n){return this._leafNode(new ao(t,r,n))}add(t,r){return this._leafNode(new Oi(t,O.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==Z.nil&&this._leafNode(new Zi(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,Z.addCodeArg)(r,o));return r.push("}"),new Z._Code(r)}if(t,r,n){if(this._blockNode(new Et(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 Et(t))}else(){return this._elseNode(new Ht)}endIf(){return this._endBlockNode(Et,Ht)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new Li(t),r)}forRange(t,r,n,o,s=this.opts.es5?Ze.varKinds.var:Ze.varKinds.let){let i=this._scope.toName(t);return this._for(new Bi(s,i,r,n),()=>o(i))}forOf(t,r,n,o=Ze.varKinds.const){let s=this._scope.toName(t);if(this.opts.es5){let i=r instanceof Z.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,Z._)`${i}.length`,a=>{this.var(s,(0,Z._)`${i}[${a}]`),n(s)})}return this._for(new co("of",o,s,r),()=>n(s))}forIn(t,r,n,o=this.opts.es5?Ze.varKinds.var:Ze.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0,Z._)`Object.keys(${r})`,n);let s=this._scope.toName(t);return this._for(new co("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(Pt)}label(t){return this._leafNode(new ji(t))}break(t){return this._leafNode(new Di(t))}return(t){let r=new Jr;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Jr)}try(t,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new Ui;if(this._blockNode(o),this.code(t),r){let s=this.name("e");this._currNode=o.catch=new Wr(s),r(s)}return n&&(this._currNode=o.finally=new Qr,this.code(n)),this._endBlockNode(Wr,Qr)}throw(t){return this._leafNode(new qi(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=Z.nil,n,o){return this._blockNode(new Gr(t,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(Gr)}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 Et))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}};O.CodeGen=Fi;function Tt(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function uo(e,t){return t instanceof Z._CodeOrName?Tt(e,t.names):e}function Gt(e,t,r){if(e instanceof Z.Name)return n(e);if(!o(e))return e;return new Z._Code(e._items.reduce((s,i)=>(i instanceof Z.Name&&(i=n(i)),i instanceof Z._Code?s.push(...i._items):s.push(i),s),[]));function n(s){let i=r[s.str];return i===void 0||t[s.str]!==1?s:(delete t[s.str],i)}function o(s){return s instanceof Z._Code&&s._items.some(i=>i instanceof Z.Name&&t[i.str]===1&&r[i.str]!==void 0)}}function kw(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0)}function Ep(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,Z._)`!${Vi(e)}`}O.not=Ep;var Sw=Pp(O.operators.AND);function zw(...e){return e.reduce(Sw)}O.and=zw;var Ew=Pp(O.operators.OR);function Pw(...e){return e.reduce(Ew)}O.or=Pw;function Pp(e){return(t,r)=>t===Z.nil?r:r===Z.nil?t:(0,Z._)`${Vi(t)} ${e} ${Vi(r)}`}function Vi(e){return e instanceof Z.Name?e:(0,Z._)`(${e})`}});var M=v(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 K=C(),Tw=Kr();function Rw(e){let t={};for(let r of e)t[r]=!0;return t}j.toHash=Rw;function Iw(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(Ip(e,t),!Np(t,e.self.RULES.all))}j.alwaysValidSchema=Iw;function Ip(e,t=e.schema){let{opts:r,self:n}=e;if(!r.strictSchema||typeof t=="boolean")return;let o=n.RULES.keywords;for(let s in t)o[s]||Op(e,`unknown keyword: "${s}"`)}j.checkUnknownRules=Ip;function Np(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(t[r])return!0;return!1}j.schemaHasRules=Np;function Nw(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=Nw;function Aw({topSchemaRef:e,schemaPath:t},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,K._)`${r}`}return(0,K._)`${e}${t}${(0,K.getProperty)(n)}`}j.schemaRefOrVal=Aw;function Cw(e){return Ap(decodeURIComponent(e))}j.unescapeFragment=Cw;function Ow(e){return encodeURIComponent(Hi(e))}j.escapeFragment=Ow;function Hi(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}j.escapeJsonPointer=Hi;function Ap(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}j.unescapeJsonPointer=Ap;function jw(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e)}j.eachItem=jw;function Tp({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof K.Name?(s instanceof K.Name?e(o,s,i):t(o,s,i),i):s instanceof K.Name?(t(o,i,s),s):r(s,i);return a===K.Name&&!(c instanceof K.Name)?n(o,c):c}}j.mergeEvaluated={props:Tp({mergeNames:(e,t,r)=>e.if((0,K._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0,K._)`${t} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,K._)`${r} || {}`).code((0,K._)`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if((0,K._)`${r} !== true`,()=>{t===!0?e.assign(r,!0):(e.assign(r,(0,K._)`${r} || {}`),Gi(e,r,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:Cp}),items:Tp({mergeNames:(e,t,r)=>e.if((0,K._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0,K._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0,K._)`${r} !== true`,()=>e.assign(r,t===!0?!0:(0,K._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function Cp(e,t){if(t===!0)return e.var("props",!0);let r=e.var("props",(0,K._)`{}`);return t!==void 0&&Gi(e,r,t),r}j.evaluatedPropsToName=Cp;function Gi(e,t,r){Object.keys(r).forEach(n=>e.assign((0,K._)`${t}${(0,K.getProperty)(n)}`,!0))}j.setEvaluated=Gi;var Rp={};function Dw(e,t){return e.scopeValue("func",{ref:t,code:Rp[t.code]||(Rp[t.code]=new Tw._Code(t.code))})}j.useFunc=Dw;var Ki;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(Ki||(j.Type=Ki={}));function qw(e,t,r){if(e instanceof K.Name){let n=t===Ki.Num;return r?n?(0,K._)`"[" + ${e} + "]"`:(0,K._)`"['" + ${e} + "']"`:n?(0,K._)`"/" + ${e}`:(0,K._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,K.getProperty)(e).toString():"/"+Hi(e)}j.getErrorPath=qw;function Op(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=Op});var ot=v(Ji=>{"use strict";Object.defineProperty(Ji,"__esModule",{value:!0});var me=C(),Zw={data:new me.Name("data"),valCxt:new me.Name("valCxt"),instancePath:new me.Name("instancePath"),parentData:new me.Name("parentData"),parentDataProperty:new me.Name("parentDataProperty"),rootData:new me.Name("rootData"),dynamicAnchors:new me.Name("dynamicAnchors"),vErrors:new me.Name("vErrors"),errors:new me.Name("errors"),this:new me.Name("this"),self:new me.Name("self"),scope:new me.Name("scope"),json:new me.Name("json"),jsonPos:new me.Name("jsonPos"),jsonLen:new me.Name("jsonLen"),jsonPart:new me.Name("jsonPart")};Ji.default=Zw});var Yr=v(he=>{"use strict";Object.defineProperty(he,"__esModule",{value:!0});he.extendErrors=he.resetErrorsCount=he.reportExtraError=he.reportError=he.keyword$DataError=he.keywordError=void 0;var L=C(),po=M(),ve=ot();he.keywordError={message:({keyword:e})=>(0,L.str)`must pass "${e}" keyword validation`};he.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0,L.str)`"${e}" keyword must be ${t} ($data)`:(0,L.str)`"${e}" keyword is invalid ($data)`};function Mw(e,t=he.keywordError,r,n){let{it:o}=e,{gen:s,compositeRule:i,allErrors:a}=o,c=qp(e,t,r);n??(i||a)?jp(s,c):Dp(o,(0,L._)`[${c}]`)}he.reportError=Mw;function Lw(e,t=he.keywordError,r){let{it:n}=e,{gen:o,compositeRule:s,allErrors:i}=n,a=qp(e,t,r);jp(o,a),s||i||Dp(n,ve.default.vErrors)}he.reportExtraError=Lw;function Bw(e,t){e.assign(ve.default.errors,t),e.if((0,L._)`${ve.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0,L._)`${ve.default.vErrors}.length`,t),()=>e.assign(ve.default.vErrors,null)))}he.resetErrorsCount=Bw;function Uw({gen:e,keyword:t,schemaValue:r,data:n,errsCount:o,it:s}){if(o===void 0)throw new Error("ajv implementation error");let i=e.name("err");e.forRange("i",o,ve.default.errors,a=>{e.const(i,(0,L._)`${ve.default.vErrors}[${a}]`),e.if((0,L._)`${i}.instancePath === undefined`,()=>e.assign((0,L._)`${i}.instancePath`,(0,L.strConcat)(ve.default.instancePath,s.errorPath))),e.assign((0,L._)`${i}.schemaPath`,(0,L.str)`${s.errSchemaPath}/${t}`),s.opts.verbose&&(e.assign((0,L._)`${i}.schema`,r),e.assign((0,L._)`${i}.data`,n))})}he.extendErrors=Uw;function jp(e,t){let r=e.const("err",t);e.if((0,L._)`${ve.default.vErrors} === null`,()=>e.assign(ve.default.vErrors,(0,L._)`[${r}]`),(0,L._)`${ve.default.vErrors}.push(${r})`),e.code((0,L._)`${ve.default.errors}++`)}function Dp(e,t){let{gen:r,validateName:n,schemaEnv:o}=e;o.$async?r.throw((0,L._)`new ${e.ValidationError}(${t})`):(r.assign((0,L._)`${n}.errors`,t),r.return(!1))}var Rt={keyword:new L.Name("keyword"),schemaPath:new L.Name("schemaPath"),params:new L.Name("params"),propertyName:new L.Name("propertyName"),message:new L.Name("message"),schema:new L.Name("schema"),parentSchema:new L.Name("parentSchema")};function qp(e,t,r){let{createErrors:n}=e.it;return n===!1?(0,L._)`{}`:Fw(e,t,r)}function Fw(e,t,r={}){let{gen:n,it:o}=e,s=[Vw(o,r),Kw(e,r)];return Hw(e,t,s),n.object(...s)}function Vw({errorPath:e},{instancePath:t}){let r=t?(0,L.str)`${e}${(0,po.getErrorPath)(t,po.Type.Str)}`:e;return[ve.default.instancePath,(0,L.strConcat)(ve.default.instancePath,r)]}function Kw({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:n}){let o=n?t:(0,L.str)`${t}/${e}`;return r&&(o=(0,L.str)`${o}${(0,po.getErrorPath)(r,po.Type.Str)}`),[Rt.schemaPath,o]}function Hw(e,{params:t,message:r},n){let{keyword:o,data:s,schemaValue:i,it:a}=e,{opts:c,propertyName:l,topSchemaRef:u,schemaPath:d}=a;n.push([Rt.keyword,o],[Rt.params,typeof t=="function"?t(e):t||(0,L._)`{}`]),c.messages&&n.push([Rt.message,typeof r=="function"?r(e):r]),c.verbose&&n.push([Rt.schema,i],[Rt.parentSchema,(0,L._)`${u}${d}`],[ve.default.data,s]),l&&n.push([Rt.propertyName,l])}});var Mp=v(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.boolOrEmptySchema=Jt.topBoolOrEmptySchema=void 0;var Gw=Yr(),Jw=C(),Ww=ot(),Qw={message:"boolean schema is false"};function Yw(e){let{gen:t,schema:r,validateName:n}=e;r===!1?Zp(e,!1):typeof r=="object"&&r.$async===!0?t.return(Ww.default.data):(t.assign((0,Jw._)`${n}.errors`,null),t.return(!0))}Jt.topBoolOrEmptySchema=Yw;function Xw(e,t){let{gen:r,schema:n}=e;n===!1?(r.var(t,!1),Zp(e)):r.var(t,!0)}Jt.boolOrEmptySchema=Xw;function Zp(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,Gw.reportError)(o,Qw,void 0,t)}});var Wi=v(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.getRules=Wt.isJSONType=void 0;var eb=["string","number","integer","boolean","null","object","array"],tb=new Set(eb);function rb(e){return typeof e=="string"&&tb.has(e)}Wt.isJSONType=rb;function nb(){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:{}}}Wt.getRules=nb});var Qi=v(pt=>{"use strict";Object.defineProperty(pt,"__esModule",{value:!0});pt.shouldUseRule=pt.shouldUseGroup=pt.schemaHasRulesForType=void 0;function ob({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==!0&&Lp(e,n)}pt.schemaHasRulesForType=ob;function Lp(e,t){return t.rules.some(r=>Bp(e,r))}pt.shouldUseGroup=Lp;function Bp(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))}pt.shouldUseRule=Bp});var Xr=v(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});ge.reportTypeError=ge.checkDataTypes=ge.checkDataType=ge.coerceAndCheckDataType=ge.getJSONTypes=ge.getSchemaTypes=ge.DataType=void 0;var sb=Wi(),ib=Qi(),ab=Yr(),A=C(),Up=M(),Qt;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(Qt||(ge.DataType=Qt={}));function cb(e){let t=Fp(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}ge.getSchemaTypes=cb;function Fp(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(sb.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}ge.getJSONTypes=Fp;function ub(e,t){let{gen:r,data:n,opts:o}=e,s=lb(t,o.coerceTypes),i=t.length>0&&!(s.length===0&&t.length===1&&(0,ib.schemaHasRulesForType)(e,t[0]));if(i){let a=Xi(t,n,o.strictNumbers,Qt.Wrong);r.if(a,()=>{s.length?db(e,t,s):ea(e)})}return i}ge.coerceAndCheckDataType=ub;var Vp=new Set(["string","number","integer","boolean","null"]);function lb(e,t){return t?e.filter(r=>Vp.has(r)||t==="array"&&r==="array"):[]}function db(e,t,r){let{gen:n,data:o,opts:s}=e,i=n.let("dataType",(0,A._)`typeof ${o}`),a=n.let("coerced",(0,A._)`undefined`);s.coerceTypes==="array"&&n.if((0,A._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,A._)`${o}[0]`).assign(i,(0,A._)`typeof ${o}`).if(Xi(t,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,A._)`${a} !== undefined`);for(let l of r)(Vp.has(l)||l==="array"&&s.coerceTypes==="array")&&c(l);n.else(),ea(e),n.endIf(),n.if((0,A._)`${a} !== undefined`,()=>{n.assign(o,a),pb(e,a)});function c(l){switch(l){case"string":n.elseIf((0,A._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,A._)`"" + ${o}`).elseIf((0,A._)`${o} === null`).assign(a,(0,A._)`""`);return;case"number":n.elseIf((0,A._)`${i} == "boolean" || ${o} === null
5
- || (${i} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,A._)`+${o}`);return;case"integer":n.elseIf((0,A._)`${i} === "boolean" || ${o} === null
6
- || (${i} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(a,(0,A._)`+${o}`);return;case"boolean":n.elseIf((0,A._)`${o} === "false" || ${o} === 0 || ${o} === null`).assign(a,!1).elseIf((0,A._)`${o} === "true" || ${o} === 1`).assign(a,!0);return;case"null":n.elseIf((0,A._)`${o} === "" || ${o} === 0 || ${o} === false`),n.assign(a,null);return;case"array":n.elseIf((0,A._)`${i} === "string" || ${i} === "number"
7
- || ${i} === "boolean" || ${o} === null`).assign(a,(0,A._)`[${o}]`)}}}function pb({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,A._)`${t} !== undefined`,()=>e.assign((0,A._)`${t}[${r}]`,n))}function Yi(e,t,r,n=Qt.Correct){let o=n===Qt.Correct?A.operators.EQ:A.operators.NEQ,s;switch(e){case"null":return(0,A._)`${t} ${o} null`;case"array":s=(0,A._)`Array.isArray(${t})`;break;case"object":s=(0,A._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":s=i((0,A._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":s=i();break;default:return(0,A._)`typeof ${t} ${o} ${e}`}return n===Qt.Correct?s:(0,A.not)(s);function i(a=A.nil){return(0,A.and)((0,A._)`typeof ${t} == "number"`,a,r?(0,A._)`isFinite(${t})`:A.nil)}}ge.checkDataType=Yi;function Xi(e,t,r,n){if(e.length===1)return Yi(e[0],t,r,n);let o,s=(0,Up.toHash)(e);if(s.array&&s.object){let i=(0,A._)`typeof ${t} != "object"`;o=s.null?i:(0,A._)`!${t} || ${i}`,delete s.null,delete s.array,delete s.object}else o=A.nil;s.number&&delete s.integer;for(let i in s)o=(0,A.and)(o,Yi(i,t,r,n));return o}ge.checkDataTypes=Xi;var fb={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,A._)`{type: ${e}}`:(0,A._)`{type: ${t}}`};function ea(e){let t=mb(e);(0,ab.reportError)(t,fb)}ge.reportTypeError=ea;function mb(e){let{gen:t,data:r,schema:n}=e,o=(0,Up.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:e}}});var Hp=v(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.assignDefaults=void 0;var Yt=C(),hb=M();function gb(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let o in r)Kp(e,o,r[o].default);else t==="array"&&Array.isArray(n)&&n.forEach((o,s)=>Kp(e,s,o.default))}fo.assignDefaults=gb;function Kp(e,t,r){let{gen:n,compositeRule:o,data:s,opts:i}=e;if(r===void 0)return;let a=(0,Yt._)`${s}${(0,Yt.getProperty)(t)}`;if(o){(0,hb.checkStrictMode)(e,`default is ignored for: ${a}`);return}let c=(0,Yt._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,Yt._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,Yt._)`${a} = ${(0,Yt.stringify)(r)}`)}});var Ce=v(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.validateUnion=V.validateArray=V.usePattern=V.callValidateCode=V.schemaProperties=V.allSchemaProperties=V.noPropertyInData=V.propertyInData=V.isOwnProperty=V.hasPropFunc=V.reportMissingProp=V.checkMissingProp=V.checkReportMissingProp=void 0;var Y=C(),ta=M(),ft=ot(),yb=M();function _b(e,t){let{gen:r,data:n,it:o}=e;r.if(na(r,n,t,o.opts.ownProperties),()=>{e.setParams({missingProperty:(0,Y._)`${t}`},!0),e.error()})}V.checkReportMissingProp=_b;function vb({gen:e,data:t,it:{opts:r}},n,o){return(0,Y.or)(...n.map(s=>(0,Y.and)(na(e,t,s,r.ownProperties),(0,Y._)`${o} = ${s}`)))}V.checkMissingProp=vb;function wb(e,t){e.setParams({missingProperty:t},!0),e.error()}V.reportMissingProp=wb;function Gp(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Y._)`Object.prototype.hasOwnProperty`})}V.hasPropFunc=Gp;function ra(e,t,r){return(0,Y._)`${Gp(e)}.call(${t}, ${r})`}V.isOwnProperty=ra;function bb(e,t,r,n){let o=(0,Y._)`${t}${(0,Y.getProperty)(r)} !== undefined`;return n?(0,Y._)`${o} && ${ra(e,t,r)}`:o}V.propertyInData=bb;function na(e,t,r,n){let o=(0,Y._)`${t}${(0,Y.getProperty)(r)} === undefined`;return n?(0,Y.or)(o,(0,Y.not)(ra(e,t,r))):o}V.noPropertyInData=na;function Jp(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}V.allSchemaProperties=Jp;function $b(e,t){return Jp(t).filter(r=>!(0,ta.alwaysValidSchema)(e,t[r]))}V.schemaProperties=$b;function xb({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,l){let u=l?(0,Y._)`${e}, ${t}, ${n}${o}`:t,d=[[ft.default.instancePath,(0,Y.strConcat)(ft.default.instancePath,s)],[ft.default.parentData,i.parentData],[ft.default.parentDataProperty,i.parentDataProperty],[ft.default.rootData,ft.default.rootData]];i.opts.dynamicRef&&d.push([ft.default.dynamicAnchors,ft.default.dynamicAnchors]);let p=(0,Y._)`${u}, ${r.object(...d)}`;return c!==Y.nil?(0,Y._)`${a}.call(${c}, ${p})`:(0,Y._)`${a}(${p})`}V.callValidateCode=xb;var kb=(0,Y._)`new RegExp`;function Sb({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:o}=t.code,s=o(r,n);return e.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,Y._)`${o.code==="new RegExp"?kb:(0,yb.useFunc)(e,o)}(${r}, ${n})`})}V.usePattern=Sb;function zb(e){let{gen:t,data:r,keyword:n,it:o}=e,s=t.name("valid");if(o.allErrors){let a=t.let("valid",!0);return i(()=>t.assign(a,!1)),a}return t.var(s,!0),i(()=>t.break()),s;function i(a){let c=t.const("len",(0,Y._)`${r}.length`);t.forRange("i",0,c,l=>{e.subschema({keyword:n,dataProp:l,dataPropType:ta.Type.Num},s),t.if((0,Y.not)(s),a)})}}V.validateArray=zb;function Eb(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,ta.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let i=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(i,(0,Y._)`${i} || ${a}`),e.mergeValidEvaluated(u,a)||t.if((0,Y.not)(i))})),e.result(i,()=>e.reset(),()=>e.error(!0))}V.validateUnion=Eb});var Yp=v(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.validateKeywordUsage=Je.validSchemaType=Je.funcKeywordCode=Je.macroKeywordCode=void 0;var we=C(),It=ot(),Pb=Ce(),Tb=Yr();function Rb(e,t){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=e,a=t.macro.call(i.self,o,s,i),c=Qp(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let l=r.name("valid");e.subschema({schema:a,schemaPath:we.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},l),e.pass(l,()=>e.error(!0))}Je.macroKeywordCode=Rb;function Ib(e,t){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=e;Ab(c,t);let l=!a&&t.compile?t.compile.call(c.self,s,i,c):t.validate,u=Qp(n,o,l),d=n.let("valid");e.block$data(d,p),e.ok((r=t.valid)!==null&&r!==void 0?r:d);function p(){if(t.errors===!1)g(),t.modifying&&Wp(e),_(()=>e.error());else{let w=t.async?f():h();t.modifying&&Wp(e),_(()=>Nb(e,w))}}function f(){let w=n.let("ruleErrs",null);return n.try(()=>g((0,we._)`await `),b=>n.assign(d,!1).if((0,we._)`${b} instanceof ${c.ValidationError}`,()=>n.assign(w,(0,we._)`${b}.errors`),()=>n.throw(b))),w}function h(){let w=(0,we._)`${u}.errors`;return n.assign(w,null),g(we.nil),w}function g(w=t.async?(0,we._)`await `:we.nil){let b=c.opts.passContext?It.default.this:It.default.self,$=!("compile"in t&&!a||t.schema===!1);n.assign(d,(0,we._)`${w}${(0,Pb.callValidateCode)(e,u,b,$)}`,t.modifying)}function _(w){var b;n.if((0,we.not)((b=t.valid)!==null&&b!==void 0?b:d),w)}}Je.funcKeywordCode=Ib;function Wp(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,we._)`${n.parentData}[${n.parentDataProperty}]`))}function Nb(e,t){let{gen:r}=e;r.if((0,we._)`Array.isArray(${t})`,()=>{r.assign(It.default.vErrors,(0,we._)`${It.default.vErrors} === null ? ${t} : ${It.default.vErrors}.concat(${t})`).assign(It.default.errors,(0,we._)`${It.default.vErrors}.length`),(0,Tb.extendErrors)(e)},()=>e.error())}function Ab({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function Qp(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,we.stringify)(r)})}function Cb(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")}Je.validSchemaType=Cb;function Ob({schema:e,opts:t,self:r,errSchemaPath:n},o,s){if(Array.isArray(o.keyword)?!o.keyword.includes(s):o.keyword!==s)throw new Error("ajv implementation error");let i=o.dependencies;if(i?.some(a=>!Object.prototype.hasOwnProperty.call(e,a)))throw new Error(`parent schema must have dependencies of ${s}: ${i.join(",")}`);if(o.validateSchema&&!o.validateSchema(e[s])){let c=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}Je.validateKeywordUsage=Ob});var ef=v(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.extendSubschemaMode=mt.extendSubschemaData=mt.getSubschema=void 0;var We=C(),Xp=M();function jb(e,{keyword:t,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:s,topSchemaRef:i}){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,We._)`${e.schemaPath}${(0,We.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:a[r],schemaPath:(0,We._)`${e.schemaPath}${(0,We.getProperty)(t)}${(0,We.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,Xp.escapeFragment)(r)}`}}if(n!==void 0){if(o===void 0||s===void 0||i===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:o,topSchemaRef:i,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}mt.getSubschema=jb;function Db(e,t,{dataProp:r,dataPropType:n,data:o,dataTypes:s,propertyName:i}){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,p=a.let("data",(0,We._)`${t.data}${(0,We.getProperty)(r)}`,!0);c(p),e.errorPath=(0,We.str)`${l}${(0,Xp.getErrorPath)(r,n,d.jsPropertySyntax)}`,e.parentDataProperty=(0,We._)`${r}`,e.dataPathArr=[...u,e.parentDataProperty]}if(o!==void 0){let l=o instanceof We.Name?o:a.let("data",o,!0);c(l),i!==void 0&&(e.propertyName=i)}s&&(e.dataTypes=s);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]}}mt.extendSubschemaData=Db;function qb(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:s}){n!==void 0&&(e.compositeRule=n),o!==void 0&&(e.createErrors=o),s!==void 0&&(e.allErrors=s),e.jtdDiscriminator=t,e.jtdMetadata=r}mt.extendSubschemaMode=qb});var oa=v((RC,tf)=>{"use strict";tf.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,s;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(s=Object.keys(t),n=s.length,n!==Object.keys(r).length)return!1;for(o=n;o--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[o]))return!1;for(o=n;o--!==0;){var i=s[o];if(!e(t[i],r[i]))return!1}return!0}return t!==t&&r!==r}});var nf=v((IC,rf)=>{"use strict";var ht=rf.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(){};mo(t,n,o,e,"",e)};ht.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};ht.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};ht.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};ht.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 mo(e,t,r,n,o,s,i,a,c,l){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,o,s,i,a,c,l);for(var u in n){var d=n[u];if(Array.isArray(d)){if(u in ht.arrayKeywords)for(var p=0;p<d.length;p++)mo(e,t,r,d[p],o+"/"+u+"/"+p,s,o,u,n,p)}else if(u in ht.propsKeywords){if(d&&typeof d=="object")for(var f in d)mo(e,t,r,d[f],o+"/"+u+"/"+Zb(f),s,o,u,n,f)}else(u in ht.keywords||e.allKeys&&!(u in ht.skipKeywords))&&mo(e,t,r,d,o+"/"+u,s,o,u,n)}r(n,o,s,i,a,c,l)}}function Zb(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var en=v(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});Se.getSchemaRefs=Se.resolveUrl=Se.normalizeId=Se._getFullPath=Se.getFullPath=Se.inlineRef=void 0;var Mb=M(),Lb=oa(),Bb=nf(),Ub=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Fb(e,t=!0){return typeof e=="boolean"?!0:t===!0?!sa(e):t?of(e)<=t:!1}Se.inlineRef=Fb;var Vb=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function sa(e){for(let t in e){if(Vb.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(sa)||typeof r=="object"&&sa(r))return!0}return!1}function of(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!Ub.has(r)&&(typeof e[r]=="object"&&(0,Mb.eachItem)(e[r],n=>t+=of(n)),t===1/0))return 1/0}return t}function sf(e,t="",r){r!==!1&&(t=Xt(t));let n=e.parse(t);return af(e,n)}Se.getFullPath=sf;function af(e,t){return e.serialize(t).split("#")[0]+"#"}Se._getFullPath=af;var Kb=/#\/?$/;function Xt(e){return e?e.replace(Kb,""):""}Se.normalizeId=Xt;function Hb(e,t,r){return r=Xt(r),e.resolve(t,r)}Se.resolveUrl=Hb;var Gb=/^[a-z_][-a-z0-9._]*$/i;function Jb(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=Xt(e[r]||t),s={"":o},i=sf(n,o,!1),a={},c=new Set;return Bb(e,{allKeys:!0},(d,p,f,h)=>{if(h===void 0)return;let g=i+p,_=s[h];typeof d[r]=="string"&&(_=w.call(this,d[r])),b.call(this,d.$anchor),b.call(this,d.$dynamicAnchor),s[p]=_;function w($){let E=this.opts.uriResolver.resolve;if($=Xt(_?E(_,$):$),c.has($))throw u($);c.add($);let T=this.refs[$];return typeof T=="string"&&(T=this.refs[T]),typeof T=="object"?l(d,T.schema,$):$!==Xt(g)&&($[0]==="#"?(l(d,a[$],$),a[$]=d):this.refs[$]=g),$}function b($){if(typeof $=="string"){if(!Gb.test($))throw new Error(`invalid anchor "${$}"`);w.call(this,`#${$}`)}}}),a;function l(d,p,f){if(p!==void 0&&!Lb(d,p))throw u(f)}function u(d){return new Error(`reference "${d}" resolves to more than one schema`)}}Se.getSchemaRefs=Jb});var nn=v(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.getData=gt.KeywordCxt=gt.validateFunctionCode=void 0;var pf=Mp(),cf=Xr(),aa=Qi(),ho=Xr(),Wb=Hp(),rn=Yp(),ia=ef(),S=C(),N=ot(),Qb=en(),st=M(),tn=Yr();function Yb(e){if(hf(e)&&(gf(e),mf(e))){t$(e);return}ff(e,()=>(0,pf.topBoolOrEmptySchema)(e))}gt.validateFunctionCode=Yb;function ff({gen:e,validateName:t,schema:r,schemaEnv:n,opts:o},s){o.code.es5?e.func(t,(0,S._)`${N.default.data}, ${N.default.valCxt}`,n.$async,()=>{e.code((0,S._)`"use strict"; ${uf(r,o)}`),e$(e,o),e.code(s)}):e.func(t,(0,S._)`${N.default.data}, ${Xb(o)}`,n.$async,()=>e.code(uf(r,o)).code(s))}function Xb(e){return(0,S._)`{${N.default.instancePath}="", ${N.default.parentData}, ${N.default.parentDataProperty}, ${N.default.rootData}=${N.default.data}${e.dynamicRef?(0,S._)`, ${N.default.dynamicAnchors}={}`:S.nil}}={}`}function e$(e,t){e.if(N.default.valCxt,()=>{e.var(N.default.instancePath,(0,S._)`${N.default.valCxt}.${N.default.instancePath}`),e.var(N.default.parentData,(0,S._)`${N.default.valCxt}.${N.default.parentData}`),e.var(N.default.parentDataProperty,(0,S._)`${N.default.valCxt}.${N.default.parentDataProperty}`),e.var(N.default.rootData,(0,S._)`${N.default.valCxt}.${N.default.rootData}`),t.dynamicRef&&e.var(N.default.dynamicAnchors,(0,S._)`${N.default.valCxt}.${N.default.dynamicAnchors}`)},()=>{e.var(N.default.instancePath,(0,S._)`""`),e.var(N.default.parentData,(0,S._)`undefined`),e.var(N.default.parentDataProperty,(0,S._)`undefined`),e.var(N.default.rootData,N.default.data),t.dynamicRef&&e.var(N.default.dynamicAnchors,(0,S._)`{}`)})}function t$(e){let{schema:t,opts:r,gen:n}=e;ff(e,()=>{r.$comment&&t.$comment&&_f(e),i$(e),n.let(N.default.vErrors,null),n.let(N.default.errors,0),r.unevaluated&&r$(e),yf(e),u$(e)})}function r$(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 uf(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 n$(e,t){if(hf(e)&&(gf(e),mf(e))){o$(e,t);return}(0,pf.boolOrEmptySchema)(e,t)}function mf({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 hf(e){return typeof e.schema!="boolean"}function o$(e,t){let{schema:r,gen:n,opts:o}=e;o.$comment&&r.$comment&&_f(e),a$(e),c$(e);let s=n.const("_errs",N.default.errors);yf(e,s),n.var(t,(0,S._)`${s} === ${N.default.errors}`)}function gf(e){(0,st.checkUnknownRules)(e),s$(e)}function yf(e,t){if(e.opts.jtd)return lf(e,[],!1,t);let r=(0,cf.getSchemaTypes)(e.schema),n=(0,cf.coerceAndCheckDataType)(e,r);lf(e,r,!n,t)}function s$(e){let{schema:t,errSchemaPath:r,opts:n,self:o}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,st.schemaHasRulesButRef)(t,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function i$(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,st.checkStrictMode)(e,"default is ignored in the schema root")}function a$(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,Qb.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function c$(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function _f({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)e.code((0,S._)`${N.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,S.str)`${n}/$comment`,a=e.scopeValue("root",{ref:t.root});e.code((0,S._)`${N.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function u$(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=e;r.$async?t.if((0,S._)`${N.default.errors} === 0`,()=>t.return(N.default.data),()=>t.throw((0,S._)`new ${o}(${N.default.vErrors})`)):(t.assign((0,S._)`${n}.errors`,N.default.vErrors),s.unevaluated&&l$(e),t.return((0,S._)`${N.default.errors} === 0`))}function l$({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 lf(e,t,r,n){let{gen:o,schema:s,data:i,allErrors:a,opts:c,self:l}=e,{RULES:u}=l;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,st.schemaHasRulesButRef)(s,u))){o.block(()=>wf(e,"$ref",u.all.$ref.definition));return}c.jtd||d$(e,t),o.block(()=>{for(let p of u.rules)d(p);d(u.post)});function d(p){(0,aa.shouldUseGroup)(s,p)&&(p.type?(o.if((0,ho.checkDataType)(p.type,i,c.strictNumbers)),df(e,p),t.length===1&&t[0]===p.type&&r&&(o.else(),(0,ho.reportTypeError)(e)),o.endIf()):df(e,p),a||o.if((0,S._)`${N.default.errors} === ${n||0}`))}}function df(e,t){let{gen:r,schema:n,opts:{useDefaults:o}}=e;o&&(0,Wb.assignDefaults)(e,t.type),r.block(()=>{for(let s of t.rules)(0,aa.shouldUseRule)(n,s)&&wf(e,s.keyword,s.definition,t.type)})}function d$(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(p$(e,t),e.opts.allowUnionTypes||f$(e,t),m$(e,e.dataTypes))}function p$(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{vf(e.dataTypes,r)||ca(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),g$(e,t)}}function f$(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&ca(e,"use allowUnionTypes to allow union type keyword")}function m$(e,t){let r=e.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,aa.shouldUseRule)(e.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>h$(t,i))&&ca(e,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function h$(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function vf(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function g$(e,t){let r=[];for(let n of e.dataTypes)vf(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function ca(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,st.checkStrictMode)(e,t,e.opts.strictTypes)}var go=class{constructor(t,r,n){if((0,rn.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,st.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",bf(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,rn.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",N.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?tn.reportExtraError:tn.reportError)(this,this.def.error,r)}$dataError(){(0,tn.reportError)(this,this.def.$dataError||tn.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,tn.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:s,def:i}=this;n.if((0,S.or)((0,S._)`${o} === undefined`,r)),t!==S.nil&&n.assign(t,!0),(s.length||i.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:s}=this;return(0,S.or)(i(),a());function i(){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,ho.checkDataTypes)(c,r,s.opts.strictNumbers,ho.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,ia.getSubschema)(this.it,t);(0,ia.extendSubschemaData)(n,this.it,t),(0,ia.extendSubschemaMode)(n,t);let o={...this.it,...n,items:void 0,props:void 0};return n$(o,r),o}mergeEvaluated(t,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=st.mergeEvaluated.props(o,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=st.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}};gt.KeywordCxt=go;function wf(e,t,r,n){let o=new go(e,r,t);"code"in r?r.code(o,n):o.$data&&r.validate?(0,rn.funcKeywordCode)(o,r):"macro"in r?(0,rn.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,rn.funcKeywordCode)(o,r)}var y$=/^\/(?:[^~]|~0|~1)*$/,_$=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function bf(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let o,s;if(e==="")return N.default.rootData;if(e[0]==="/"){if(!y$.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);o=e,s=N.default.rootData}else{let l=_$.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(s=r[t-u],!o)return s}let i=s,a=o.split("/");for(let l of a)l&&(s=(0,S._)`${s}${(0,S.getProperty)((0,st.unescapeJsonPointer)(l))}`,i=(0,S._)`${i} && ${s}`);return i;function c(l,u){return`Cannot access ${l} ${u} levels up, current level is ${t}`}}gt.getData=bf});var yo=v(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});var ua=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};la.default=ua});var on=v(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});var da=en(),pa=class extends Error{constructor(t,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,da.resolveUrl)(t,r,n),this.missingSchema=(0,da.normalizeId)((0,da.getFullPath)(t,this.missingRef))}};fa.default=pa});var vo=v(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.resolveSchema=Oe.getCompilingSchema=Oe.resolveRef=Oe.compileSchema=Oe.SchemaEnv=void 0;var Me=C(),v$=yo(),Nt=ot(),Le=en(),$f=M(),w$=nn(),er=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,Le.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={}}};Oe.SchemaEnv=er;function ha(e){let t=xf.call(this,e);if(t)return t;let r=(0,Le.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new Me.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;e.$async&&(a=i.scopeValue("Error",{ref:v$.default,code:(0,Me._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");e.validateName=c;let l={gen:i,allErrors:this.opts.allErrors,data:Nt.default.data,parentData:Nt.default.parentData,parentDataProperty:Nt.default.parentDataProperty,dataNames:[Nt.default.data],dataPathArr:[Me.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,Me.stringify)(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:a,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:Me.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Me._)`""`,opts:this.opts,self:this},u;try{this._compilations.add(e),(0,w$.validateFunctionCode)(l),i.optimize(this.opts.code.optimize);let d=i.toString();u=`${i.scopeRefs(Nt.default.scope)}return ${d}`,this.opts.code.process&&(u=this.opts.code.process(u,e));let f=new Function(`${Nt.default.self}`,`${Nt.default.scope}`,u)(this,this.scope.get());if(this.scope.value(c,{ref:f}),f.errors=null,f.schema=e.schema,f.schemaEnv=e,e.$async&&(f.$async=!0),this.opts.code.source===!0&&(f.source={validateName:c,validateCode:d,scopeValues:i._values}),this.opts.unevaluated){let{props:h,items:g}=l;f.evaluated={props:h instanceof Me.Name?void 0:h,items:g instanceof Me.Name?void 0:g,dynamicProps:h instanceof Me.Name,dynamicItems:g instanceof Me.Name},f.source&&(f.source.evaluated=(0,Me.stringify)(f.evaluated))}return e.validate=f,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)}}Oe.compileSchema=ha;function b$(e,t,r){var n;r=(0,Le.resolveUrl)(this.opts.uriResolver,t,r);let o=e.refs[r];if(o)return o;let s=k$.call(this,e,r);if(s===void 0){let i=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;i&&(s=new er({schema:i,schemaId:a,root:e,baseId:t}))}if(s!==void 0)return e.refs[r]=$$.call(this,s)}Oe.resolveRef=b$;function $$(e){return(0,Le.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:ha.call(this,e)}function xf(e){for(let t of this._compilations)if(x$(t,e))return t}Oe.getCompilingSchema=xf;function x$(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function k$(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||_o.call(this,e,t)}function _o(e,t){let r=this.opts.uriResolver.parse(t),n=(0,Le._getFullPath)(this.opts.uriResolver,r),o=(0,Le.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===o)return ma.call(this,r,e);let s=(0,Le.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=_o.call(this,e,i);return typeof a?.schema!="object"?void 0:ma.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||ha.call(this,i),s===(0,Le.normalizeId)(t)){let{schema:a}=i,{schemaId:c}=this.opts,l=a[c];return l&&(o=(0,Le.resolveUrl)(this.opts.uriResolver,o,l)),new er({schema:a,schemaId:c,root:e,baseId:o})}return ma.call(this,r,i)}}Oe.resolveSchema=_o;var S$=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function ma(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,$f.unescapeFragment)(a)];if(c===void 0)return;r=c;let l=typeof r=="object"&&r[this.opts.schemaId];!S$.has(a)&&l&&(t=(0,Le.resolveUrl)(this.opts.uriResolver,t,l))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,$f.schemaHasRulesButRef)(r,this.RULES)){let a=(0,Le.resolveUrl)(this.opts.uriResolver,t,r.$ref);s=_o.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new er({schema:r,schemaId:i,root:n,baseId:t}),s.schema!==s.root.schema)return s}});var kf=v((DC,z$)=>{z$.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 _a=v((qC,Rf)=>{"use strict";var E$=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),zf=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),ga=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),Ef=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),P$=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function ya(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 T$=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Sf(e){return e.length=0,!0}function R$(e,t,r){if(e.length){let n=ya(e);if(n!=="")t.push(n);else return r.error=!0,!1;e.length=0}return!0}function I$(e){let t=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=R$;for(let c=0;c<e.length;c++){let l=e[c];if(!(l==="["||l==="]"))if(l===":"){if(s===!0&&(i=!0),!a(o,n,r))break;if(++t>7){r.error=!0;break}c>0&&e[c-1]===":"&&(s=!0),n.push(":");continue}else if(l==="%"){if(!a(o,n,r))break;a=Sf}else{o.push(l);continue}}return o.length&&(a===Sf?r.zone=o.join(""):i?n.push(o.join("")):n.push(ya(o))),r.address=n.join(""),r}function Pf(e){if(N$(e,":")<2)return{host:e,isIPV6:!1};let t=I$(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 N$(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}function A$(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 C$={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},O$=/[@/?#:]/g,j$=/[@/?#]/g;function Tf(e,t){let r=t?j$:O$;return r.lastIndex=0,e.replace(r,n=>C$[n])}function D$(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(ga(o)){let s=o.toUpperCase(),i=String.fromCharCode(parseInt(s,16));t&&Ef(i)?r+=i:r+="%"+s,n+=2;continue}}r+=e[n]}return r}function q$(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(ga(n)){let o=n.toUpperCase(),s=String.fromCharCode(parseInt(o,16));s!=="."&&Ef(s)?t+=s:t+="%"+o,r+=2;continue}}P$(e[r])?t+=e[r]:t+=escape(e[r])}return t}function Z$(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(ga(n)){t+="%"+n.toUpperCase(),r+=2;continue}}t+=escape(e[r])}return t}function M$(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!zf(r)){let n=Pf(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=Tf(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}Rf.exports={nonSimpleDomain:T$,recomposeAuthority:M$,reescapeHostDelimiters:Tf,normalizePercentEncoding:D$,normalizePathEncoding:q$,escapePreservingEscapes:Z$,removeDotSegments:A$,isIPv4:zf,isUUID:E$,normalizeIPv6:Pf,stringArrayToHexStripped:ya}});var Of=v((ZC,Cf)=>{"use strict";var{isUUID:L$}=_a(),B$=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,U$=["http","https","ws","wss","urn","urn:uuid"];function F$(e){return U$.indexOf(e)!==-1}function va(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 If(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function Nf(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 V$(e){return e.secure=va(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function K$(e){if((e.port===(va(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 H$(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(B$);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}`,s=wa(o);e.path=void 0,s&&(e=s.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function G$(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}`,s=wa(o);s&&(e=s.serialize(e,t));let i=e,a=e.nss;return i.path=`${n||t.nid}:${a}`,t.skipEscape=!0,i}function J$(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!L$(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function W$(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var Af={scheme:"http",domainHost:!0,parse:If,serialize:Nf},Q$={scheme:"https",domainHost:Af.domainHost,parse:If,serialize:Nf},wo={scheme:"ws",domainHost:!0,parse:V$,serialize:K$},Y$={scheme:"wss",domainHost:wo.domainHost,parse:wo.parse,serialize:wo.serialize},X$={scheme:"urn",parse:H$,serialize:G$,skipNormalize:!0},e0={scheme:"urn:uuid",parse:J$,serialize:W$,skipNormalize:!0},bo={http:Af,https:Q$,ws:wo,wss:Y$,urn:X$,"urn:uuid":e0};Object.setPrototypeOf(bo,null);function wa(e){return e&&(bo[e]||bo[e.toLowerCase()])||void 0}Cf.exports={wsIsSecure:va,SCHEMES:bo,isValidSchemeName:F$,getSchemeHandler:wa}});var Lf=v((MC,$o)=>{"use strict";var{normalizeIPv6:t0,removeDotSegments:sn,recomposeAuthority:r0,normalizePercentEncoding:n0,normalizePathEncoding:o0,escapePreservingEscapes:s0,reescapeHostDelimiters:i0,isIPv4:a0,nonSimpleDomain:c0}=_a(),{SCHEMES:u0,getSchemeHandler:Df}=Of();function l0(e,t){return typeof e=="string"?e=h0(e,t):typeof e=="object"&&(e=tr(At(e,t),t)),e}function d0(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=qf(tr(e,n),tr(t,n),n,!0);return n.skipEscape=!0,At(o,n)}function qf(e,t,r,n){let o={};return n||(e=tr(At(e,r),r),t=tr(At(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=sn(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=sn(t.path||""),o.query=t.query):(t.path?(t.path[0]==="/"?o.path=sn(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=sn(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 p0(e,t,r){let n=jf(e,r),o=jf(t,r);return n!==void 0&&o!==void 0&&n.toLowerCase()===o.toLowerCase()}function At(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=[],s=Df(n.scheme||r.scheme);s&&s.serialize&&s.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=n0(r.path):(r.path=s0(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&o.push(r.scheme,":");let i=r0(r);if(i!==void 0&&(n.reference!=="suffix"&&o.push("//"),o.push(i),r.path&&r.path[0]!=="/"&&o.push("/")),r.path!==void 0){let a=r.path;!n.absolutePath&&(!s||!s.absolutePath)&&(a=sn(a)),i===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 f0=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function m0(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 Zf(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,s=!1;r.reference==="suffix"&&(r.scheme?e=r.scheme+":"+e:e="//"+e);let i=e.match(f0);if(i){n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5]);let a=m0(n,i);if(a!==void 0&&(n.error=n.error||a,o=!0),n.host)if(a0(n.host)===!1){let u=t0(n.host);n.host=u.host.toLowerCase(),s=u.isIPV6}else s=!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=Df(r.scheme||n.scheme);if(!r.unicodeSupport&&(!c||!c.unicodeSupport)&&n.host&&(r.domainHost||c&&c.domainHost)&&s===!1&&c0(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}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=i0(unescape(n.host),s))),n.path&&(n.path=o0(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 Zf(e,t).parsed}function h0(e,t){return Mf(e,t).normalized}function Mf(e,t){let{parsed:r,malformedAuthorityOrPort:n}=Zf(e,t);return{normalized:n?e:At(r,t),malformedAuthorityOrPort:n}}function jf(e,t){if(typeof e=="string"){let{normalized:r,malformedAuthorityOrPort:n}=Mf(e,t);return n?void 0:r}if(typeof e=="object")return At(e,t)}var ba={SCHEMES:u0,normalize:l0,resolve:d0,resolveComponent:qf,equal:p0,serialize:At,parse:tr};$o.exports=ba;$o.exports.default=ba;$o.exports.fastUri=ba});var Uf=v($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});var Bf=Lf();Bf.code='require("ajv/dist/runtime/uri").default';$a.default=Bf});var Qf=v(de=>{"use strict";Object.defineProperty(de,"__esModule",{value:!0});de.CodeGen=de.Name=de.nil=de.stringify=de.str=de._=de.KeywordCxt=void 0;var g0=nn();Object.defineProperty(de,"KeywordCxt",{enumerable:!0,get:function(){return g0.KeywordCxt}});var rr=C();Object.defineProperty(de,"_",{enumerable:!0,get:function(){return rr._}});Object.defineProperty(de,"str",{enumerable:!0,get:function(){return rr.str}});Object.defineProperty(de,"stringify",{enumerable:!0,get:function(){return rr.stringify}});Object.defineProperty(de,"nil",{enumerable:!0,get:function(){return rr.nil}});Object.defineProperty(de,"Name",{enumerable:!0,get:function(){return rr.Name}});Object.defineProperty(de,"CodeGen",{enumerable:!0,get:function(){return rr.CodeGen}});var y0=yo(),Gf=on(),_0=Wi(),an=vo(),v0=C(),cn=en(),xo=Xr(),ka=M(),Ff=kf(),w0=Uf(),Jf=(e,t)=>new RegExp(e,t);Jf.code="new RegExp";var b0=["removeAdditional","useDefaults","coerceTypes"],$0=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),x0={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."},k0={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Vf=200;function S0(e){var t,r,n,o,s,i,a,c,l,u,d,p,f,h,g,_,w,b,$,E,T,ye,Te,Mt,as;let br=e.strict,cs=(t=e.code)===null||t===void 0?void 0:t.optimize,Yc=cs===!0||cs===void 0?1:cs||0,Xc=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Jf,ay=(o=e.uriResolver)!==null&&o!==void 0?o:w0.default;return{strictSchema:(i=(s=e.strictSchema)!==null&&s!==void 0?s:br)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=e.strictNumbers)!==null&&a!==void 0?a:br)!==null&&c!==void 0?c:!0,strictTypes:(u=(l=e.strictTypes)!==null&&l!==void 0?l:br)!==null&&u!==void 0?u:"log",strictTuples:(p=(d=e.strictTuples)!==null&&d!==void 0?d:br)!==null&&p!==void 0?p:"log",strictRequired:(h=(f=e.strictRequired)!==null&&f!==void 0?f:br)!==null&&h!==void 0?h:!1,code:e.code?{...e.code,optimize:Yc,regExp:Xc}:{optimize:Yc,regExp:Xc},loopRequired:(g=e.loopRequired)!==null&&g!==void 0?g:Vf,loopEnum:(_=e.loopEnum)!==null&&_!==void 0?_:Vf,meta:(w=e.meta)!==null&&w!==void 0?w:!0,messages:(b=e.messages)!==null&&b!==void 0?b:!0,inlineRefs:($=e.inlineRefs)!==null&&$!==void 0?$:!0,schemaId:(E=e.schemaId)!==null&&E!==void 0?E:"$id",addUsedSchema:(T=e.addUsedSchema)!==null&&T!==void 0?T:!0,validateSchema:(ye=e.validateSchema)!==null&&ye!==void 0?ye:!0,validateFormats:(Te=e.validateFormats)!==null&&Te!==void 0?Te:!0,unicodeRegExp:(Mt=e.unicodeRegExp)!==null&&Mt!==void 0?Mt:!0,int32range:(as=e.int32range)!==null&&as!==void 0?as:!0,uriResolver:ay}}var un=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,...S0(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new v0.ValueScope({scope:{},prefixes:$0,es5:r,lines:n}),this.logger=I0(t.logger);let o=t.validateFormats;t.validateFormats=!1,this.RULES=(0,_0.getRules)(),Kf.call(this,x0,t,"NOT SUPPORTED"),Kf.call(this,k0,t,"DEPRECATED","warn"),this._metaOpts=T0.call(this),t.formats&&E0.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&P0.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),z0.call(this),t.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,o=Ff;n==="id"&&(o={...Ff},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 s.call(this,u.$schema);let p=this._addSchema(u,d);return p.validate||i.call(this,p)}async function s(u){u&&!this.getSchema(u)&&await o.call(this,{$ref:u},!0)}async function i(u){try{return this._compileSchemaEnv(u)}catch(d){if(!(d instanceof Gf.default))throw d;return a.call(this,d),await c.call(this,d.missingSchema),i.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 s.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 i of t)this.addSchema(i,void 0,n,o);return this}let s;if(typeof t=="object"){let{schemaId:i}=this.opts;if(s=t[i],s!==void 0&&typeof s!="string")throw new Error(`schema ${i} must be string`)}return r=(0,cn.normalizeId)(r||s),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 s="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(s);else throw new Error(s)}return o}getSchema(t){let r;for(;typeof(r=Hf.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,o=new an.SchemaEnv({schema:{},schemaId:n});if(r=an.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=Hf.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,cn.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(A0.call(this,n,r),!r)return(0,ka.eachItem)(n,s=>xa.call(this,s)),this;O0.call(this,r);let o={...r,type:(0,xo.getJSONTypes)(r.type),schemaType:(0,xo.getJSONTypes)(r.schemaType)};return(0,ka.eachItem)(n,o.type.length===0?s=>xa.call(this,s,o):s=>o.type.forEach(i=>xa.call(this,s,o,i))),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(s=>s.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,s)=>o+r+s)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let o of r){let s=o.split("/").slice(1),i=t;for(let a of s)i=i[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:l}=c.definition,u=i[a];l&&u&&(i[a]=Wf(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,s=this.opts.addUsedSchema){let i,{schemaId:a}=this.opts;if(typeof t=="object")i=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,cn.normalizeId)(i||n);let l=cn.getSchemaRefs.call(this,t,n);return c=new an.SchemaEnv({schema:t,schemaId:a,meta:r,baseId:n,localRefs:l}),this._cache.set(c.schema,c),s&&!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):an.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{an.compileSchema.call(this,t)}finally{this.opts=r}}};un.ValidationError=y0.default;un.MissingRefError=Gf.default;de.default=un;function Kf(e,t,r,n="error"){for(let o in e){let s=o;s in t&&this.logger[n](`${r}: option ${o}. ${e[s]}`)}}function Hf(e){return e=(0,cn.normalizeId)(e),this.schemas[e]||this.refs[e]}function z0(){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 E0(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function P0(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 T0(){let e={...this.opts};for(let t of b0)delete e[t];return e}var R0={log(){},warn(){},error(){}};function I0(e){if(e===!1)return R0;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 N0=/^[a-z_$][a-z0-9_$:-]*$/i;function A0(e,t){let{RULES:r}=this;if((0,ka.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!N0.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 xa(e,t,r){var n;let o=t?.post;if(r&&o)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:s}=this,i=o?s.post:s.rules.find(({type:c})=>c===r);if(i||(i={type:r,rules:[]},s.rules.push(i)),s.keywords[e]=!0,!t)return;let a={keyword:e,definition:{...t,type:(0,xo.getJSONTypes)(t.type),schemaType:(0,xo.getJSONTypes)(t.schemaType)}};t.before?C0.call(this,i,a,t.before):i.rules.push(a),s.all[e]=a,(n=t.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function C0(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 O0(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=Wf(t)),e.validateSchema=this.compile(t,!0))}var j0={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Wf(e){return{anyOf:[e,j0]}}});var Yf=v(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});var D0={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Sa.default=D0});var rm=v(Ct=>{"use strict";Object.defineProperty(Ct,"__esModule",{value:!0});Ct.callRef=Ct.getValidate=void 0;var q0=on(),Xf=Ce(),ze=C(),nr=ot(),em=vo(),ko=M(),Z0={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=n,{root:l}=s;if((r==="#"||r==="#/")&&o===l.baseId)return d();let u=em.resolveRef.call(c,l,o,r);if(u===void 0)throw new q0.default(n.opts.uriResolver,o,r);if(u instanceof em.SchemaEnv)return p(u);return f(u);function d(){if(s===l)return So(e,i,s,s.$async);let h=t.scopeValue("root",{ref:l});return So(e,(0,ze._)`${h}.validate`,l,l.$async)}function p(h){let g=tm(e,h);So(e,g,h,h.$async)}function f(h){let g=t.scopeValue("schema",a.code.source===!0?{ref:h,code:(0,ze.stringify)(h)}:{ref:h}),_=t.name("valid"),w=e.subschema({schema:h,dataTypes:[],schemaPath:ze.nil,topSchemaRef:g,errSchemaPath:r},_);e.mergeEvaluated(w),e.ok(_)}}};function tm(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,ze._)`${r.scopeValue("wrapper",{ref:t})}.validate`}Ct.getValidate=tm;function So(e,t,r,n){let{gen:o,it:s}=e,{allErrors:i,schemaEnv:a,opts:c}=s,l=c.passContext?nr.default.this:ze.nil;n?u():d();function u(){if(!a.$async)throw new Error("async schema referenced by sync schema");let h=o.let("valid");o.try(()=>{o.code((0,ze._)`await ${(0,Xf.callValidateCode)(e,t,l)}`),f(t),i||o.assign(h,!0)},g=>{o.if((0,ze._)`!(${g} instanceof ${s.ValidationError})`,()=>o.throw(g)),p(g),i||o.assign(h,!1)}),e.ok(h)}function d(){e.result((0,Xf.callValidateCode)(e,t,l),()=>f(t),()=>p(t))}function p(h){let g=(0,ze._)`${h}.errors`;o.assign(nr.default.vErrors,(0,ze._)`${nr.default.vErrors} === null ? ${g} : ${nr.default.vErrors}.concat(${g})`),o.assign(nr.default.errors,(0,ze._)`${nr.default.vErrors}.length`)}function f(h){var g;if(!s.opts.unevaluated)return;let _=(g=r?.validate)===null||g===void 0?void 0:g.evaluated;if(s.props!==!0)if(_&&!_.dynamicProps)_.props!==void 0&&(s.props=ko.mergeEvaluated.props(o,_.props,s.props));else{let w=o.var("props",(0,ze._)`${h}.evaluated.props`);s.props=ko.mergeEvaluated.props(o,w,s.props,ze.Name)}if(s.items!==!0)if(_&&!_.dynamicItems)_.items!==void 0&&(s.items=ko.mergeEvaluated.items(o,_.items,s.items));else{let w=o.var("items",(0,ze._)`${h}.evaluated.items`);s.items=ko.mergeEvaluated.items(o,w,s.items,ze.Name)}}}Ct.callRef=So;Ct.default=Z0});var nm=v(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});var M0=Yf(),L0=rm(),B0=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",M0.default,L0.default];za.default=B0});var om=v(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});var zo=C(),yt=zo.operators,Eo={maximum:{okStr:"<=",ok:yt.LTE,fail:yt.GT},minimum:{okStr:">=",ok:yt.GTE,fail:yt.LT},exclusiveMaximum:{okStr:"<",ok:yt.LT,fail:yt.GTE},exclusiveMinimum:{okStr:">",ok:yt.GT,fail:yt.LTE}},U0={message:({keyword:e,schemaCode:t})=>(0,zo.str)`must be ${Eo[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,zo._)`{comparison: ${Eo[e].okStr}, limit: ${t}}`},F0={keyword:Object.keys(Eo),type:"number",schemaType:"number",$data:!0,error:U0,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,zo._)`${r} ${Eo[t].fail} ${n} || isNaN(${r})`)}};Ea.default=F0});var sm=v(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});var ln=C(),V0={message:({schemaCode:e})=>(0,ln.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,ln._)`{multipleOf: ${e}}`},K0={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:V0,code(e){let{gen:t,data:r,schemaCode:n,it:o}=e,s=o.opts.multipleOfPrecision,i=t.let("res"),a=s?(0,ln._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,ln._)`${i} !== parseInt(${i})`;e.fail$data((0,ln._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};Pa.default=K0});var am=v(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});function im(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}Ta.default=im;im.code='require("ajv/dist/runtime/ucs2length").default'});var cm=v(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});var Ot=C(),H0=M(),G0=am(),J0={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return(0,Ot.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,Ot._)`{limit: ${e}}`},W0={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:J0,code(e){let{keyword:t,data:r,schemaCode:n,it:o}=e,s=t==="maxLength"?Ot.operators.GT:Ot.operators.LT,i=o.opts.unicode===!1?(0,Ot._)`${r}.length`:(0,Ot._)`${(0,H0.useFunc)(e.gen,G0.default)}(${r})`;e.fail$data((0,Ot._)`${i} ${s} ${n}`)}};Ra.default=W0});var um=v(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});var Q0=Ce(),Y0=M(),or=C(),X0={message:({schemaCode:e})=>(0,or.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,or._)`{pattern: ${e}}`},ex={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:X0,code(e){let{gen:t,data:r,$data:n,schema:o,schemaCode:s,it:i}=e,a=i.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=i.opts.code,l=c.code==="new RegExp"?(0,or._)`new RegExp`:(0,Y0.useFunc)(t,c),u=t.let("valid");t.try(()=>t.assign(u,(0,or._)`${l}(${s}, ${a}).test(${r})`),()=>t.assign(u,!1)),e.fail$data((0,or._)`!${u}`)}else{let c=(0,Q0.usePattern)(e,o);e.fail$data((0,or._)`!${c}.test(${r})`)}}};Ia.default=ex});var lm=v(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});var dn=C(),tx={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,dn.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,dn._)`{limit: ${e}}`},rx={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:tx,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxProperties"?dn.operators.GT:dn.operators.LT;e.fail$data((0,dn._)`Object.keys(${r}).length ${o} ${n}`)}};Na.default=rx});var dm=v(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});var pn=Ce(),fn=C(),nx=M(),ox={message:({params:{missingProperty:e}})=>(0,fn.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,fn._)`{missingProperty: ${e}}`},sx={keyword:"required",type:"object",schemaType:"array",$data:!0,error:ox,code(e){let{gen:t,schema:r,schemaCode:n,data:o,$data:s,it:i}=e,{opts:a}=i;if(!s&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors?l():u(),a.strictRequired){let f=e.parentSchema.properties,{definedProperties:h}=e.it;for(let g of r)if(f?.[g]===void 0&&!h.has(g)){let _=i.schemaEnv.baseId+i.errSchemaPath,w=`required property "${g}" is not defined at "${_}" (strictRequired)`;(0,nx.checkStrictMode)(i,w,i.opts.strictRequired)}}function l(){if(c||s)e.block$data(fn.nil,d);else for(let f of r)(0,pn.checkReportMissingProp)(e,f)}function u(){let f=t.let("missing");if(c||s){let h=t.let("valid",!0);e.block$data(h,()=>p(f,h)),e.ok(h)}else t.if((0,pn.checkMissingProp)(e,r,f)),(0,pn.reportMissingProp)(e,f),t.else()}function d(){t.forOf("prop",n,f=>{e.setParams({missingProperty:f}),t.if((0,pn.noPropertyInData)(t,o,f,a.ownProperties),()=>e.error())})}function p(f,h){e.setParams({missingProperty:f}),t.forOf(f,n,()=>{t.assign(h,(0,pn.propertyInData)(t,o,f,a.ownProperties)),t.if((0,fn.not)(h),()=>{e.error(),t.break()})},fn.nil)}}};Aa.default=sx});var pm=v(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});var mn=C(),ix={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,mn.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,mn._)`{limit: ${e}}`},ax={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:ix,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxItems"?mn.operators.GT:mn.operators.LT;e.fail$data((0,mn._)`${r}.length ${o} ${n}`)}};Ca.default=ax});var Po=v(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});var fm=oa();fm.code='require("ajv/dist/runtime/equal").default';Oa.default=fm});var mm=v(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});var ja=Xr(),pe=C(),cx=M(),ux=Po(),lx={message:({params:{i:e,j:t}})=>(0,pe.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,pe._)`{i: ${e}, j: ${t}}`},dx={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:lx,code(e){let{gen:t,data:r,$data:n,schema:o,parentSchema:s,schemaCode:i,it:a}=e;if(!n&&!o)return;let c=t.let("valid"),l=s.items?(0,ja.getSchemaTypes)(s.items):[];e.block$data(c,u,(0,pe._)`${i} === false`),e.ok(c);function u(){let h=t.let("i",(0,pe._)`${r}.length`),g=t.let("j");e.setParams({i:h,j:g}),t.assign(c,!0),t.if((0,pe._)`${h} > 1`,()=>(d()?p:f)(h,g))}function d(){return l.length>0&&!l.some(h=>h==="object"||h==="array")}function p(h,g){let _=t.name("item"),w=(0,ja.checkDataTypes)(l,_,a.opts.strictNumbers,ja.DataType.Wrong),b=t.const("indices",(0,pe._)`{}`);t.for((0,pe._)`;${h}--;`,()=>{t.let(_,(0,pe._)`${r}[${h}]`),t.if(w,(0,pe._)`continue`),l.length>1&&t.if((0,pe._)`typeof ${_} == "string"`,(0,pe._)`${_} += "_"`),t.if((0,pe._)`typeof ${b}[${_}] == "number"`,()=>{t.assign(g,(0,pe._)`${b}[${_}]`),e.error(),t.assign(c,!1).break()}).code((0,pe._)`${b}[${_}] = ${h}`)})}function f(h,g){let _=(0,cx.useFunc)(t,ux.default),w=t.name("outer");t.label(w).for((0,pe._)`;${h}--;`,()=>t.for((0,pe._)`${g} = ${h}; ${g}--;`,()=>t.if((0,pe._)`${_}(${r}[${h}], ${r}[${g}])`,()=>{e.error(),t.assign(c,!1).break(w)})))}}};Da.default=dx});var hm=v(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});var qa=C(),px=M(),fx=Po(),mx={message:"must be equal to constant",params:({schemaCode:e})=>(0,qa._)`{allowedValue: ${e}}`},hx={keyword:"const",$data:!0,error:mx,code(e){let{gen:t,data:r,$data:n,schemaCode:o,schema:s}=e;n||s&&typeof s=="object"?e.fail$data((0,qa._)`!${(0,px.useFunc)(t,fx.default)}(${r}, ${o})`):e.fail((0,qa._)`${s} !== ${r}`)}};Za.default=hx});var gm=v(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});var hn=C(),gx=M(),yx=Po(),_x={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,hn._)`{allowedValues: ${e}}`},vx={keyword:"enum",schemaType:"array",$data:!0,error:_x,code(e){let{gen:t,data:r,$data:n,schema:o,schemaCode:s,it:i}=e;if(!n&&o.length===0)throw new Error("enum must have non-empty array");let a=o.length>=i.opts.loopEnum,c,l=()=>c??(c=(0,gx.useFunc)(t,yx.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 f=t.const("vSchema",s);u=(0,hn.or)(...o.map((h,g)=>p(f,g)))}e.pass(u);function d(){t.assign(u,!1),t.forOf("v",s,f=>t.if((0,hn._)`${l()}(${r}, ${f})`,()=>t.assign(u,!0).break()))}function p(f,h){let g=o[h];return typeof g=="object"&&g!==null?(0,hn._)`${l()}(${r}, ${f}[${h}])`:(0,hn._)`${r} === ${g}`}}};Ma.default=vx});var ym=v(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});var wx=om(),bx=sm(),$x=cm(),xx=um(),kx=lm(),Sx=dm(),zx=pm(),Ex=mm(),Px=hm(),Tx=gm(),Rx=[wx.default,bx.default,$x.default,xx.default,kx.default,Sx.default,zx.default,Ex.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Px.default,Tx.default];La.default=Rx});var Ua=v(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.validateAdditionalItems=void 0;var jt=C(),Ba=M(),Ix={message:({params:{len:e}})=>(0,jt.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,jt._)`{limit: ${e}}`},Nx={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Ix,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,Ba.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}_m(e,n)}};function _m(e,t){let{gen:r,schema:n,data:o,keyword:s,it:i}=e;i.items=!0;let a=r.const("len",(0,jt._)`${o}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,jt._)`${a} <= ${t.length}`);else if(typeof n=="object"&&!(0,Ba.alwaysValidSchema)(i,n)){let l=r.var("valid",(0,jt._)`${a} <= ${t.length}`);r.if((0,jt.not)(l),()=>c(l)),e.ok(l)}function c(l){r.forRange("i",t.length,a,u=>{e.subschema({keyword:s,dataProp:u,dataPropType:Ba.Type.Num},l),i.allErrors||r.if((0,jt.not)(l),()=>r.break())})}}gn.validateAdditionalItems=_m;gn.default=Nx});var Fa=v(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.validateTuple=void 0;var vm=C(),To=M(),Ax=Ce(),Cx={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return wm(e,"additionalItems",t);r.items=!0,!(0,To.alwaysValidSchema)(r,t)&&e.ok((0,Ax.validateArray)(e))}};function wm(e,t,r=e.schema){let{gen:n,parentSchema:o,data:s,keyword:i,it:a}=e;u(o),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=To.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),l=n.const("len",(0,vm._)`${s}.length`);r.forEach((d,p)=>{(0,To.alwaysValidSchema)(a,d)||(n.if((0,vm._)`${l} > ${p}`,()=>e.subschema({keyword:i,schemaProp:p,dataProp:p},c)),e.ok(c))});function u(d){let{opts:p,errSchemaPath:f}=a,h=r.length,g=h===d.minItems&&(h===d.maxItems||d[t]===!1);if(p.strictTuples&&!g){let _=`"${i}" is ${h}-tuple, but minItems or maxItems/${t} are not specified or different at path "${f}"`;(0,To.checkStrictMode)(a,_,p.strictTuples)}}}yn.validateTuple=wm;yn.default=Cx});var bm=v(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});var Ox=Fa(),jx={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,Ox.validateTuple)(e,"items")};Va.default=jx});var xm=v(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});var $m=C(),Dx=M(),qx=Ce(),Zx=Ua(),Mx={message:({params:{len:e}})=>(0,$m.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,$m._)`{limit: ${e}}`},Lx={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Mx,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:o}=r;n.items=!0,!(0,Dx.alwaysValidSchema)(n,t)&&(o?(0,Zx.validateAdditionalItems)(e,o):e.ok((0,qx.validateArray)(e)))}};Ka.default=Lx});var km=v(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});var je=C(),Ro=M(),Bx={message:({params:{min:e,max:t}})=>t===void 0?(0,je.str)`must contain at least ${e} valid item(s)`:(0,je.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,je._)`{minContains: ${e}}`:(0,je._)`{minContains: ${e}, maxContains: ${t}}`},Ux={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Bx,code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:s}=e,i,a,{minContains:c,maxContains:l}=n;s.opts.next?(i=c===void 0?1:c,a=l):i=1;let u=t.const("len",(0,je._)`${o}.length`);if(e.setParams({min:i,max:a}),a===void 0&&i===0){(0,Ro.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,Ro.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,Ro.alwaysValidSchema)(s,r)){let g=(0,je._)`${u} >= ${i}`;a!==void 0&&(g=(0,je._)`${g} && ${u} <= ${a}`),e.pass(g);return}s.items=!0;let d=t.name("valid");a===void 0&&i===1?f(d,()=>t.if(d,()=>t.break())):i===0?(t.let(d,!0),a!==void 0&&t.if((0,je._)`${o}.length > 0`,p)):(t.let(d,!1),p()),e.result(d,()=>e.reset());function p(){let g=t.name("_valid"),_=t.let("count",0);f(g,()=>t.if(g,()=>h(_)))}function f(g,_){t.forRange("i",0,u,w=>{e.subschema({keyword:"contains",dataProp:w,dataPropType:Ro.Type.Num,compositeRule:!0},g),_()})}function h(g){t.code((0,je._)`${g}++`),a===void 0?t.if((0,je._)`${g} >= ${i}`,()=>t.assign(d,!0).break()):(t.if((0,je._)`${g} > ${a}`,()=>t.assign(d,!1).break()),i===1?t.assign(d,!0):t.if((0,je._)`${g} >= ${i}`,()=>t.assign(d,!0)))}}};Ha.default=Ux});var Em=v(Qe=>{"use strict";Object.defineProperty(Qe,"__esModule",{value:!0});Qe.validateSchemaDeps=Qe.validatePropertyDeps=Qe.error=void 0;var Ga=C(),Fx=M(),_n=Ce();Qe.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,Ga.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,Ga._)`{property: ${e},
3
+ var my=Object.create;var li=Object.defineProperty;var hy=Object.getOwnPropertyDescriptor;var gy=Object.getOwnPropertyNames;var yy=Object.getPrototypeOf,_y=Object.prototype.hasOwnProperty;var st=(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 v=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),tu=(e,t)=>{for(var r in t)li(e,r,{get:t[r],enumerable:!0})},vy=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of gy(t))!_y.call(e,o)&&o!==r&&li(e,o,{get:()=>t[o],enumerable:!(n=hy(t,o))||n.enumerable});return e};var di=(e,t,r)=>(r=e!=null?my(yy(e)):{},vy(t||!e||!e.__esModule?li(r,"default",{value:e,enumerable:!0}):r,e));var Kr=v(L=>{"use strict";Object.defineProperty(L,"__esModule",{value:!0});L.regexpCode=L.getEsmExportName=L.getProperty=L.safeStringify=L.stringify=L.strConcat=L.addCodeArg=L.str=L._=L.nil=L._Code=L.Name=L.IDENTIFIER=L._CodeOrName=void 0;var Fr=class{};L._CodeOrName=Fr;L.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Et=class extends Fr{constructor(t){if(super(),!L.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}}};L.Name=Et;var Ae=class extends Fr{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 Et&&(r[n.str]=(r[n.str]||0)+1),r),{})}};L._Code=Ae;L.nil=new Ae("");function Ep(e,...t){let r=[e[0]],n=0;for(;n<t.length;)Is(r,t[n]),r.push(e[++n]);return new Ae(r)}L._=Ep;var Rs=new Ae("+");function zp(e,...t){let r=[Vr(e[0])],n=0;for(;n<t.length;)r.push(Rs),Is(r,t[n]),r.push(Rs,Vr(e[++n]));return wb(r),new Ae(r)}L.str=zp;function Is(e,t){t instanceof Ae?e.push(...t._items):t instanceof Et?e.push(t):e.push(kb(t))}L.addCodeArg=Is;function wb(e){let t=1;for(;t<e.length-1;){if(e[t]===Rs){let r=$b(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+"}t++}}function $b(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof Et||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 Et))return`"${e}${t.slice(1)}`}function xb(e,t){return t.emptyStr()?e:e.emptyStr()?t:zp`${e}${t}`}L.strConcat=xb;function kb(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:Vr(Array.isArray(e)?e.join(","):e)}function Sb(e){return new Ae(Vr(e))}L.stringify=Sb;function Vr(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}L.safeStringify=Vr;function Eb(e){return typeof e=="string"&&L.IDENTIFIER.test(e)?new Ae(`.${e}`):Ep`[${e}]`}L.getProperty=Eb;function zb(e){if(typeof e=="string"&&L.IDENTIFIER.test(e))return new Ae(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}L.getEsmExportName=zb;function Tb(e){return new Ae(e.toString())}L.regexpCode=Tb});var Cs=v(ke=>{"use strict";Object.defineProperty(ke,"__esModule",{value:!0});ke.ValueScope=ke.ValueScopeName=ke.Scope=ke.varKinds=ke.UsedValueState=void 0;var xe=Kr(),Ns=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value}},oo;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"})(oo||(ke.UsedValueState=oo={}));ke.varKinds={const:new xe.Name("const"),let:new xe.Name("let"),var:new xe.Name("var")};var io=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r}toName(t){return t instanceof xe.Name?t:this.name(t)}name(t){return new xe.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}}};ke.Scope=io;var so=class extends xe.Name{constructor(t,r){super(r),this.prefix=t}setValue(t,{property:r,itemIndex:n}){this.value=t,this.scopePath=(0,xe._)`.${new xe.Name(r)}[${n}]`}};ke.ValueScopeName=so;var Pb=(0,xe._)`\n`,As=class extends io{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?Pb:xe.nil}}get(){return this._scope}name(t){return new so(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,xe._)`${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=xe.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,oo.Started);let u=r(l);if(u){let d=this.opts.es5?ke.varKinds.var:ke.varKinds.const;i=(0,xe._)`${i}${d} ${l} = ${u};${this.opts._n}`}else if(u=o?.(l))i=(0,xe._)`${i}${u}${this.opts._n}`;else throw new Ns(l);c.set(l,oo.Completed)})}return i}};ke.ValueScope=As});var C=v(O=>{"use strict";Object.defineProperty(O,"__esModule",{value:!0});O.or=O.and=O.not=O.CodeGen=O.operators=O.varKinds=O.ValueScopeName=O.ValueScope=O.Scope=O.Name=O.regexpCode=O.stringify=O.getProperty=O.nil=O.strConcat=O.str=O._=void 0;var q=Kr(),qe=Cs(),dt=Kr();Object.defineProperty(O,"_",{enumerable:!0,get:function(){return dt._}});Object.defineProperty(O,"str",{enumerable:!0,get:function(){return dt.str}});Object.defineProperty(O,"strConcat",{enumerable:!0,get:function(){return dt.strConcat}});Object.defineProperty(O,"nil",{enumerable:!0,get:function(){return dt.nil}});Object.defineProperty(O,"getProperty",{enumerable:!0,get:function(){return dt.getProperty}});Object.defineProperty(O,"stringify",{enumerable:!0,get:function(){return dt.stringify}});Object.defineProperty(O,"regexpCode",{enumerable:!0,get:function(){return dt.regexpCode}});Object.defineProperty(O,"Name",{enumerable:!0,get:function(){return dt.Name}});var lo=Cs();Object.defineProperty(O,"Scope",{enumerable:!0,get:function(){return lo.Scope}});Object.defineProperty(O,"ValueScope",{enumerable:!0,get:function(){return lo.ValueScope}});Object.defineProperty(O,"ValueScopeName",{enumerable:!0,get:function(){return lo.ValueScopeName}});Object.defineProperty(O,"varKinds",{enumerable:!0,get:function(){return lo.varKinds}});O.operators={GT:new q._Code(">"),GTE:new q._Code(">="),LT:new q._Code("<"),LTE:new q._Code("<="),EQ:new q._Code("==="),NEQ:new q._Code("!=="),NOT:new q._Code("!"),OR:new q._Code("||"),AND:new q._Code("&&"),ADD:new q._Code("+")};var rt=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},Os=class extends rt{constructor(t,r,n){super(),this.varKind=t,this.name=r,this.rhs=n}render({es5:t,_n:r}){let n=t?qe.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=Gt(this.rhs,t,r)),this}get names(){return this.rhs instanceof q._CodeOrName?this.rhs.names:{}}},ao=class extends rt{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 q.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=Gt(this.rhs,t,r),this}get names(){let t=this.lhs instanceof q.Name?{}:{...this.lhs.names};return uo(t,this.rhs)}},js=class extends ao{constructor(t,r,n,o){super(t,n,o),this.op=r}render({_n:t}){return`${this.lhs} ${this.op}= ${this.rhs};`+t}},Ds=class extends rt{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`${this.label}:`+t}},Ms=class extends rt{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`break${this.label?` ${this.label}`:""};`+t}},qs=class extends rt{constructor(t){super(),this.error=t}render({_n:t}){return`throw ${this.error};`+t}get names(){return this.error.names}},Zs=class extends rt{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=Gt(this.code,t,r),this}get names(){return this.code instanceof q._CodeOrName?this.code.names:{}}},Hr=class extends rt{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)||(Rb(t,i.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>Pt(t,r.names),{})}},nt=class extends Hr{render(t){return"{"+t._n+super.render(t)+"}"+t._n}},Bs=class extends Hr{},Ht=class extends nt{};Ht.kind="else";var zt=class e extends nt{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 Ht(n):n}if(r)return t===!1?r instanceof e?r:r.nodes:this.nodes.length?this:new e(Tp(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=Gt(this.condition,t,r),this}get names(){let t=super.names;return uo(t,this.condition),this.else&&Pt(t,this.else.names),t}};zt.kind="if";var Tt=class extends nt{};Tt.kind="for";var Ls=class extends Tt{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=Gt(this.iteration,t,r),this}get names(){return Pt(super.names,this.iteration.names)}},Us=class extends Tt{constructor(t,r,n,o){super(),this.varKind=t,this.name=r,this.from=n,this.to=o}render(t){let r=t.es5?qe.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=uo(super.names,this.from);return uo(t,this.to)}},co=class extends Tt{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=Gt(this.iterable,t,r),this}get names(){return Pt(super.names,this.iterable.names)}},Gr=class extends nt{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)}};Gr.kind="func";var Jr=class extends Hr{render(t){return"return "+super.render(t)}};Jr.kind="return";var Fs=class extends nt{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&&Pt(t,this.catch.names),this.finally&&Pt(t,this.finally.names),t}},Wr=class extends nt{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}};Wr.kind="catch";var Qr=class extends nt{render(t){return"finally"+super.render(t)}};Qr.kind="finally";var Vs=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
4
+ `:""},this._extScope=t,this._scope=new qe.Scope({parent:t}),this._nodes=[new Bs]}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 Os(t,i,n)),i}const(t,r,n){return this._def(qe.varKinds.const,t,r,n)}let(t,r,n){return this._def(qe.varKinds.let,t,r,n)}var(t,r,n){return this._def(qe.varKinds.var,t,r,n)}assign(t,r,n){return this._leafNode(new ao(t,r,n))}add(t,r){return this._leafNode(new js(t,O.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==q.nil&&this._leafNode(new Zs(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,q.addCodeArg)(r,o));return r.push("}"),new q._Code(r)}if(t,r,n){if(this._blockNode(new zt(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 zt(t))}else(){return this._elseNode(new Ht)}endIf(){return this._endBlockNode(zt,Ht)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new Ls(t),r)}forRange(t,r,n,o,i=this.opts.es5?qe.varKinds.var:qe.varKinds.let){let s=this._scope.toName(t);return this._for(new Us(i,s,r,n),()=>o(s))}forOf(t,r,n,o=qe.varKinds.const){let i=this._scope.toName(t);if(this.opts.es5){let s=r instanceof q.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,q._)`${s}.length`,a=>{this.var(i,(0,q._)`${s}[${a}]`),n(i)})}return this._for(new co("of",o,i,r),()=>n(i))}forIn(t,r,n,o=this.opts.es5?qe.varKinds.var:qe.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0,q._)`Object.keys(${r})`,n);let i=this._scope.toName(t);return this._for(new co("in",o,i,r),()=>n(i))}endFor(){return this._endBlockNode(Tt)}label(t){return this._leafNode(new Ds(t))}break(t){return this._leafNode(new Ms(t))}return(t){let r=new Jr;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Jr)}try(t,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new Fs;if(this._blockNode(o),this.code(t),r){let i=this.name("e");this._currNode=o.catch=new Wr(i),r(i)}return n&&(this._currNode=o.finally=new Qr,this.code(n)),this._endBlockNode(Wr,Qr)}throw(t){return this._leafNode(new qs(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=q.nil,n,o){return this._blockNode(new Gr(t,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(Gr)}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 zt))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}};O.CodeGen=Vs;function Pt(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function uo(e,t){return t instanceof q._CodeOrName?Pt(e,t.names):e}function Gt(e,t,r){if(e instanceof q.Name)return n(e);if(!o(e))return e;return new q._Code(e._items.reduce((i,s)=>(s instanceof q.Name&&(s=n(s)),s instanceof q._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 q._Code&&i._items.some(s=>s instanceof q.Name&&t[s.str]===1&&r[s.str]!==void 0)}}function Rb(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0)}function Tp(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,q._)`!${Ks(e)}`}O.not=Tp;var Ib=Pp(O.operators.AND);function Nb(...e){return e.reduce(Ib)}O.and=Nb;var Ab=Pp(O.operators.OR);function Cb(...e){return e.reduce(Ab)}O.or=Cb;function Pp(e){return(t,r)=>t===q.nil?r:r===q.nil?t:(0,q._)`${Ks(t)} ${e} ${Ks(r)}`}function Ks(e){return e instanceof q.Name?e:(0,q._)`(${e})`}});var Z=v(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 K=C(),Ob=Kr();function jb(e){let t={};for(let r of e)t[r]=!0;return t}j.toHash=jb;function Db(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(Np(e,t),!Ap(t,e.self.RULES.all))}j.alwaysValidSchema=Db;function Np(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]||jp(e,`unknown keyword: "${i}"`)}j.checkUnknownRules=Np;function Ap(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(t[r])return!0;return!1}j.schemaHasRules=Ap;function Mb(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=Mb;function qb({topSchemaRef:e,schemaPath:t},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,K._)`${r}`}return(0,K._)`${e}${t}${(0,K.getProperty)(n)}`}j.schemaRefOrVal=qb;function Zb(e){return Cp(decodeURIComponent(e))}j.unescapeFragment=Zb;function Bb(e){return encodeURIComponent(Gs(e))}j.escapeFragment=Bb;function Gs(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}j.escapeJsonPointer=Gs;function Cp(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}j.unescapeJsonPointer=Cp;function Lb(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e)}j.eachItem=Lb;function Rp({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return(o,i,s,a)=>{let c=s===void 0?i:s instanceof K.Name?(i instanceof K.Name?e(o,i,s):t(o,i,s),s):i instanceof K.Name?(t(o,s,i),i):r(i,s);return a===K.Name&&!(c instanceof K.Name)?n(o,c):c}}j.mergeEvaluated={props:Rp({mergeNames:(e,t,r)=>e.if((0,K._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0,K._)`${t} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,K._)`${r} || {}`).code((0,K._)`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if((0,K._)`${r} !== true`,()=>{t===!0?e.assign(r,!0):(e.assign(r,(0,K._)`${r} || {}`),Js(e,r,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:Op}),items:Rp({mergeNames:(e,t,r)=>e.if((0,K._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0,K._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0,K._)`${r} !== true`,()=>e.assign(r,t===!0?!0:(0,K._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function Op(e,t){if(t===!0)return e.var("props",!0);let r=e.var("props",(0,K._)`{}`);return t!==void 0&&Js(e,r,t),r}j.evaluatedPropsToName=Op;function Js(e,t,r){Object.keys(r).forEach(n=>e.assign((0,K._)`${t}${(0,K.getProperty)(n)}`,!0))}j.setEvaluated=Js;var Ip={};function Ub(e,t){return e.scopeValue("func",{ref:t,code:Ip[t.code]||(Ip[t.code]=new Ob._Code(t.code))})}j.useFunc=Ub;var Hs;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(Hs||(j.Type=Hs={}));function Fb(e,t,r){if(e instanceof K.Name){let n=t===Hs.Num;return r?n?(0,K._)`"[" + ${e} + "]"`:(0,K._)`"['" + ${e} + "']"`:n?(0,K._)`"/" + ${e}`:(0,K._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,K.getProperty)(e).toString():"/"+Gs(e)}j.getErrorPath=Fb;function jp(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=jp});var ot=v(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});var me=C(),Vb={data:new me.Name("data"),valCxt:new me.Name("valCxt"),instancePath:new me.Name("instancePath"),parentData:new me.Name("parentData"),parentDataProperty:new me.Name("parentDataProperty"),rootData:new me.Name("rootData"),dynamicAnchors:new me.Name("dynamicAnchors"),vErrors:new me.Name("vErrors"),errors:new me.Name("errors"),this:new me.Name("this"),self:new me.Name("self"),scope:new me.Name("scope"),json:new me.Name("json"),jsonPos:new me.Name("jsonPos"),jsonLen:new me.Name("jsonLen"),jsonPart:new me.Name("jsonPart")};Ws.default=Vb});var Yr=v(he=>{"use strict";Object.defineProperty(he,"__esModule",{value:!0});he.extendErrors=he.resetErrorsCount=he.reportExtraError=he.reportError=he.keyword$DataError=he.keywordError=void 0;var B=C(),po=Z(),ve=ot();he.keywordError={message:({keyword:e})=>(0,B.str)`must pass "${e}" keyword validation`};he.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 Kb(e,t=he.keywordError,r,n){let{it:o}=e,{gen:i,compositeRule:s,allErrors:a}=o,c=qp(e,t,r);n??(s||a)?Dp(i,c):Mp(o,(0,B._)`[${c}]`)}he.reportError=Kb;function Hb(e,t=he.keywordError,r){let{it:n}=e,{gen:o,compositeRule:i,allErrors:s}=n,a=qp(e,t,r);Dp(o,a),i||s||Mp(n,ve.default.vErrors)}he.reportExtraError=Hb;function Gb(e,t){e.assign(ve.default.errors,t),e.if((0,B._)`${ve.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0,B._)`${ve.default.vErrors}.length`,t),()=>e.assign(ve.default.vErrors,null)))}he.resetErrorsCount=Gb;function Jb({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,ve.default.errors,a=>{e.const(s,(0,B._)`${ve.default.vErrors}[${a}]`),e.if((0,B._)`${s}.instancePath === undefined`,()=>e.assign((0,B._)`${s}.instancePath`,(0,B.strConcat)(ve.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))})}he.extendErrors=Jb;function Dp(e,t){let r=e.const("err",t);e.if((0,B._)`${ve.default.vErrors} === null`,()=>e.assign(ve.default.vErrors,(0,B._)`[${r}]`),(0,B._)`${ve.default.vErrors}.push(${r})`),e.code((0,B._)`${ve.default.errors}++`)}function Mp(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 Rt={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 qp(e,t,r){let{createErrors:n}=e.it;return n===!1?(0,B._)`{}`:Wb(e,t,r)}function Wb(e,t,r={}){let{gen:n,it:o}=e,i=[Qb(o,r),Yb(e,r)];return Xb(e,t,i),n.object(...i)}function Qb({errorPath:e},{instancePath:t}){let r=t?(0,B.str)`${e}${(0,po.getErrorPath)(t,po.Type.Str)}`:e;return[ve.default.instancePath,(0,B.strConcat)(ve.default.instancePath,r)]}function Yb({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,po.getErrorPath)(r,po.Type.Str)}`),[Rt.schemaPath,o]}function Xb(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([Rt.keyword,o],[Rt.params,typeof t=="function"?t(e):t||(0,B._)`{}`]),c.messages&&n.push([Rt.message,typeof r=="function"?r(e):r]),c.verbose&&n.push([Rt.schema,s],[Rt.parentSchema,(0,B._)`${u}${d}`],[ve.default.data,i]),l&&n.push([Rt.propertyName,l])}});var Bp=v(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.boolOrEmptySchema=Jt.topBoolOrEmptySchema=void 0;var ew=Yr(),tw=C(),rw=ot(),nw={message:"boolean schema is false"};function ow(e){let{gen:t,schema:r,validateName:n}=e;r===!1?Zp(e,!1):typeof r=="object"&&r.$async===!0?t.return(rw.default.data):(t.assign((0,tw._)`${n}.errors`,null),t.return(!0))}Jt.topBoolOrEmptySchema=ow;function iw(e,t){let{gen:r,schema:n}=e;n===!1?(r.var(t,!1),Zp(e)):r.var(t,!0)}Jt.boolOrEmptySchema=iw;function Zp(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,ew.reportError)(o,nw,void 0,t)}});var Qs=v(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.getRules=Wt.isJSONType=void 0;var sw=["string","number","integer","boolean","null","object","array"],aw=new Set(sw);function cw(e){return typeof e=="string"&&aw.has(e)}Wt.isJSONType=cw;function uw(){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:{}}}Wt.getRules=uw});var Ys=v(pt=>{"use strict";Object.defineProperty(pt,"__esModule",{value:!0});pt.shouldUseRule=pt.shouldUseGroup=pt.schemaHasRulesForType=void 0;function lw({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==!0&&Lp(e,n)}pt.schemaHasRulesForType=lw;function Lp(e,t){return t.rules.some(r=>Up(e,r))}pt.shouldUseGroup=Lp;function Up(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))}pt.shouldUseRule=Up});var Xr=v(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});ge.reportTypeError=ge.checkDataTypes=ge.checkDataType=ge.coerceAndCheckDataType=ge.getJSONTypes=ge.getSchemaTypes=ge.DataType=void 0;var dw=Qs(),pw=Ys(),fw=Yr(),A=C(),Fp=Z(),Qt;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(Qt||(ge.DataType=Qt={}));function mw(e){let t=Vp(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}ge.getSchemaTypes=mw;function Vp(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(dw.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}ge.getJSONTypes=Vp;function hw(e,t){let{gen:r,data:n,opts:o}=e,i=gw(t,o.coerceTypes),s=t.length>0&&!(i.length===0&&t.length===1&&(0,pw.schemaHasRulesForType)(e,t[0]));if(s){let a=ea(t,n,o.strictNumbers,Qt.Wrong);r.if(a,()=>{i.length?yw(e,t,i):ta(e)})}return s}ge.coerceAndCheckDataType=hw;var Kp=new Set(["string","number","integer","boolean","null"]);function gw(e,t){return t?e.filter(r=>Kp.has(r)||t==="array"&&r==="array"):[]}function yw(e,t,r){let{gen:n,data:o,opts:i}=e,s=n.let("dataType",(0,A._)`typeof ${o}`),a=n.let("coerced",(0,A._)`undefined`);i.coerceTypes==="array"&&n.if((0,A._)`${s} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,A._)`${o}[0]`).assign(s,(0,A._)`typeof ${o}`).if(ea(t,o,i.strictNumbers),()=>n.assign(a,o))),n.if((0,A._)`${a} !== undefined`);for(let l of r)(Kp.has(l)||l==="array"&&i.coerceTypes==="array")&&c(l);n.else(),ta(e),n.endIf(),n.if((0,A._)`${a} !== undefined`,()=>{n.assign(o,a),_w(e,a)});function c(l){switch(l){case"string":n.elseIf((0,A._)`${s} == "number" || ${s} == "boolean"`).assign(a,(0,A._)`"" + ${o}`).elseIf((0,A._)`${o} === null`).assign(a,(0,A._)`""`);return;case"number":n.elseIf((0,A._)`${s} == "boolean" || ${o} === null
5
+ || (${s} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,A._)`+${o}`);return;case"integer":n.elseIf((0,A._)`${s} === "boolean" || ${o} === null
6
+ || (${s} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(a,(0,A._)`+${o}`);return;case"boolean":n.elseIf((0,A._)`${o} === "false" || ${o} === 0 || ${o} === null`).assign(a,!1).elseIf((0,A._)`${o} === "true" || ${o} === 1`).assign(a,!0);return;case"null":n.elseIf((0,A._)`${o} === "" || ${o} === 0 || ${o} === false`),n.assign(a,null);return;case"array":n.elseIf((0,A._)`${s} === "string" || ${s} === "number"
7
+ || ${s} === "boolean" || ${o} === null`).assign(a,(0,A._)`[${o}]`)}}}function _w({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,A._)`${t} !== undefined`,()=>e.assign((0,A._)`${t}[${r}]`,n))}function Xs(e,t,r,n=Qt.Correct){let o=n===Qt.Correct?A.operators.EQ:A.operators.NEQ,i;switch(e){case"null":return(0,A._)`${t} ${o} null`;case"array":i=(0,A._)`Array.isArray(${t})`;break;case"object":i=(0,A._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":i=s((0,A._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":i=s();break;default:return(0,A._)`typeof ${t} ${o} ${e}`}return n===Qt.Correct?i:(0,A.not)(i);function s(a=A.nil){return(0,A.and)((0,A._)`typeof ${t} == "number"`,a,r?(0,A._)`isFinite(${t})`:A.nil)}}ge.checkDataType=Xs;function ea(e,t,r,n){if(e.length===1)return Xs(e[0],t,r,n);let o,i=(0,Fp.toHash)(e);if(i.array&&i.object){let s=(0,A._)`typeof ${t} != "object"`;o=i.null?s:(0,A._)`!${t} || ${s}`,delete i.null,delete i.array,delete i.object}else o=A.nil;i.number&&delete i.integer;for(let s in i)o=(0,A.and)(o,Xs(s,t,r,n));return o}ge.checkDataTypes=ea;var vw={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,A._)`{type: ${e}}`:(0,A._)`{type: ${t}}`};function ta(e){let t=bw(e);(0,fw.reportError)(t,vw)}ge.reportTypeError=ta;function bw(e){let{gen:t,data:r,schema:n}=e,o=(0,Fp.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:e}}});var Gp=v(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.assignDefaults=void 0;var Yt=C(),ww=Z();function $w(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let o in r)Hp(e,o,r[o].default);else t==="array"&&Array.isArray(n)&&n.forEach((o,i)=>Hp(e,i,o.default))}fo.assignDefaults=$w;function Hp(e,t,r){let{gen:n,compositeRule:o,data:i,opts:s}=e;if(r===void 0)return;let a=(0,Yt._)`${i}${(0,Yt.getProperty)(t)}`;if(o){(0,ww.checkStrictMode)(e,`default is ignored for: ${a}`);return}let c=(0,Yt._)`${a} === undefined`;s.useDefaults==="empty"&&(c=(0,Yt._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,Yt._)`${a} = ${(0,Yt.stringify)(r)}`)}});var Ce=v(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.validateUnion=V.validateArray=V.usePattern=V.callValidateCode=V.schemaProperties=V.allSchemaProperties=V.noPropertyInData=V.propertyInData=V.isOwnProperty=V.hasPropFunc=V.reportMissingProp=V.checkMissingProp=V.checkReportMissingProp=void 0;var Y=C(),ra=Z(),ft=ot(),xw=Z();function kw(e,t){let{gen:r,data:n,it:o}=e;r.if(oa(r,n,t,o.opts.ownProperties),()=>{e.setParams({missingProperty:(0,Y._)`${t}`},!0),e.error()})}V.checkReportMissingProp=kw;function Sw({gen:e,data:t,it:{opts:r}},n,o){return(0,Y.or)(...n.map(i=>(0,Y.and)(oa(e,t,i,r.ownProperties),(0,Y._)`${o} = ${i}`)))}V.checkMissingProp=Sw;function Ew(e,t){e.setParams({missingProperty:t},!0),e.error()}V.reportMissingProp=Ew;function Jp(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Y._)`Object.prototype.hasOwnProperty`})}V.hasPropFunc=Jp;function na(e,t,r){return(0,Y._)`${Jp(e)}.call(${t}, ${r})`}V.isOwnProperty=na;function zw(e,t,r,n){let o=(0,Y._)`${t}${(0,Y.getProperty)(r)} !== undefined`;return n?(0,Y._)`${o} && ${na(e,t,r)}`:o}V.propertyInData=zw;function oa(e,t,r,n){let o=(0,Y._)`${t}${(0,Y.getProperty)(r)} === undefined`;return n?(0,Y.or)(o,(0,Y.not)(na(e,t,r))):o}V.noPropertyInData=oa;function Wp(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}V.allSchemaProperties=Wp;function Tw(e,t){return Wp(t).filter(r=>!(0,ra.alwaysValidSchema)(e,t[r]))}V.schemaProperties=Tw;function Pw({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:i},it:s},a,c,l){let u=l?(0,Y._)`${e}, ${t}, ${n}${o}`:t,d=[[ft.default.instancePath,(0,Y.strConcat)(ft.default.instancePath,i)],[ft.default.parentData,s.parentData],[ft.default.parentDataProperty,s.parentDataProperty],[ft.default.rootData,ft.default.rootData]];s.opts.dynamicRef&&d.push([ft.default.dynamicAnchors,ft.default.dynamicAnchors]);let p=(0,Y._)`${u}, ${r.object(...d)}`;return c!==Y.nil?(0,Y._)`${a}.call(${c}, ${p})`:(0,Y._)`${a}(${p})`}V.callValidateCode=Pw;var Rw=(0,Y._)`new RegExp`;function Iw({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,Y._)`${o.code==="new RegExp"?Rw:(0,xw.useFunc)(e,o)}(${r}, ${n})`})}V.usePattern=Iw;function Nw(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,Y._)`${r}.length`);t.forRange("i",0,c,l=>{e.subschema({keyword:n,dataProp:l,dataPropType:ra.Type.Num},i),t.if((0,Y.not)(i),a)})}}V.validateArray=Nw;function Aw(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,ra.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,Y._)`${s} || ${a}`),e.mergeValidEvaluated(u,a)||t.if((0,Y.not)(s))})),e.result(s,()=>e.reset(),()=>e.error(!0))}V.validateUnion=Aw});var Xp=v(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.validateKeywordUsage=Je.validSchemaType=Je.funcKeywordCode=Je.macroKeywordCode=void 0;var be=C(),It=ot(),Cw=Ce(),Ow=Yr();function jw(e,t){let{gen:r,keyword:n,schema:o,parentSchema:i,it:s}=e,a=t.macro.call(s.self,o,i,s),c=Yp(r,n,a);s.opts.validateSchema!==!1&&s.self.validateSchema(a,!0);let l=r.name("valid");e.subschema({schema:a,schemaPath:be.nil,errSchemaPath:`${s.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},l),e.pass(l,()=>e.error(!0))}Je.macroKeywordCode=jw;function Dw(e,t){var r;let{gen:n,keyword:o,schema:i,parentSchema:s,$data:a,it:c}=e;qw(c,t);let l=!a&&t.compile?t.compile.call(c.self,i,s,c):t.validate,u=Yp(n,o,l),d=n.let("valid");e.block$data(d,p),e.ok((r=t.valid)!==null&&r!==void 0?r:d);function p(){if(t.errors===!1)g(),t.modifying&&Qp(e),_(()=>e.error());else{let b=t.async?f():h();t.modifying&&Qp(e),_(()=>Mw(e,b))}}function f(){let b=n.let("ruleErrs",null);return n.try(()=>g((0,be._)`await `),w=>n.assign(d,!1).if((0,be._)`${w} instanceof ${c.ValidationError}`,()=>n.assign(b,(0,be._)`${w}.errors`),()=>n.throw(w))),b}function h(){let b=(0,be._)`${u}.errors`;return n.assign(b,null),g(be.nil),b}function g(b=t.async?(0,be._)`await `:be.nil){let w=c.opts.passContext?It.default.this:It.default.self,$=!("compile"in t&&!a||t.schema===!1);n.assign(d,(0,be._)`${b}${(0,Cw.callValidateCode)(e,u,w,$)}`,t.modifying)}function _(b){var w;n.if((0,be.not)((w=t.valid)!==null&&w!==void 0?w:d),b)}}Je.funcKeywordCode=Dw;function Qp(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,be._)`${n.parentData}[${n.parentDataProperty}]`))}function Mw(e,t){let{gen:r}=e;r.if((0,be._)`Array.isArray(${t})`,()=>{r.assign(It.default.vErrors,(0,be._)`${It.default.vErrors} === null ? ${t} : ${It.default.vErrors}.concat(${t})`).assign(It.default.errors,(0,be._)`${It.default.vErrors}.length`),(0,Ow.extendErrors)(e)},()=>e.error())}function qw({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function Yp(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,be.stringify)(r)})}function Zw(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")}Je.validSchemaType=Zw;function Bw({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)}}Je.validateKeywordUsage=Bw});var tf=v(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.extendSubschemaMode=mt.extendSubschemaData=mt.getSubschema=void 0;var We=C(),ef=Z();function Lw(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,We._)`${e.schemaPath}${(0,We.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:a[r],schemaPath:(0,We._)`${e.schemaPath}${(0,We.getProperty)(t)}${(0,We.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,ef.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')}mt.getSubschema=Lw;function Uw(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,p=a.let("data",(0,We._)`${t.data}${(0,We.getProperty)(r)}`,!0);c(p),e.errorPath=(0,We.str)`${l}${(0,ef.getErrorPath)(r,n,d.jsPropertySyntax)}`,e.parentDataProperty=(0,We._)`${r}`,e.dataPathArr=[...u,e.parentDataProperty]}if(o!==void 0){let l=o instanceof We.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]}}mt.extendSubschemaData=Uw;function Fw(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}mt.extendSubschemaMode=Fw});var ia=v((KC,rf)=>{"use strict";rf.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 of=v((HC,nf)=>{"use strict";var ht=nf.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(){};mo(t,n,o,e,"",e)};ht.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};ht.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};ht.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};ht.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 mo(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 ht.arrayKeywords)for(var p=0;p<d.length;p++)mo(e,t,r,d[p],o+"/"+u+"/"+p,i,o,u,n,p)}else if(u in ht.propsKeywords){if(d&&typeof d=="object")for(var f in d)mo(e,t,r,d[f],o+"/"+u+"/"+Vw(f),i,o,u,n,f)}else(u in ht.keywords||e.allKeys&&!(u in ht.skipKeywords))&&mo(e,t,r,d,o+"/"+u,i,o,u,n)}r(n,o,i,s,a,c,l)}}function Vw(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var en=v(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});Se.getSchemaRefs=Se.resolveUrl=Se.normalizeId=Se._getFullPath=Se.getFullPath=Se.inlineRef=void 0;var Kw=Z(),Hw=ia(),Gw=of(),Jw=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Ww(e,t=!0){return typeof e=="boolean"?!0:t===!0?!sa(e):t?sf(e)<=t:!1}Se.inlineRef=Ww;var Qw=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function sa(e){for(let t in e){if(Qw.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(sa)||typeof r=="object"&&sa(r))return!0}return!1}function sf(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!Jw.has(r)&&(typeof e[r]=="object"&&(0,Kw.eachItem)(e[r],n=>t+=sf(n)),t===1/0))return 1/0}return t}function af(e,t="",r){r!==!1&&(t=Xt(t));let n=e.parse(t);return cf(e,n)}Se.getFullPath=af;function cf(e,t){return e.serialize(t).split("#")[0]+"#"}Se._getFullPath=cf;var Yw=/#\/?$/;function Xt(e){return e?e.replace(Yw,""):""}Se.normalizeId=Xt;function Xw(e,t,r){return r=Xt(r),e.resolve(t,r)}Se.resolveUrl=Xw;var e$=/^[a-z_][-a-z0-9._]*$/i;function t$(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=Xt(e[r]||t),i={"":o},s=af(n,o,!1),a={},c=new Set;return Gw(e,{allKeys:!0},(d,p,f,h)=>{if(h===void 0)return;let g=s+p,_=i[h];typeof d[r]=="string"&&(_=b.call(this,d[r])),w.call(this,d.$anchor),w.call(this,d.$dynamicAnchor),i[p]=_;function b($){let z=this.opts.uriResolver.resolve;if($=Xt(_?z(_,$):$),c.has($))throw u($);c.add($);let P=this.refs[$];return typeof P=="string"&&(P=this.refs[P]),typeof P=="object"?l(d,P.schema,$):$!==Xt(g)&&($[0]==="#"?(l(d,a[$],$),a[$]=d):this.refs[$]=g),$}function w($){if(typeof $=="string"){if(!e$.test($))throw new Error(`invalid anchor "${$}"`);b.call(this,`#${$}`)}}}),a;function l(d,p,f){if(p!==void 0&&!Hw(d,p))throw u(f)}function u(d){return new Error(`reference "${d}" resolves to more than one schema`)}}Se.getSchemaRefs=t$});var nn=v(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.getData=gt.KeywordCxt=gt.validateFunctionCode=void 0;var ff=Bp(),uf=Xr(),ca=Ys(),ho=Xr(),r$=Gp(),rn=Xp(),aa=tf(),S=C(),N=ot(),n$=en(),it=Z(),tn=Yr();function o$(e){if(gf(e)&&(yf(e),hf(e))){a$(e);return}mf(e,()=>(0,ff.topBoolOrEmptySchema)(e))}gt.validateFunctionCode=o$;function mf({gen:e,validateName:t,schema:r,schemaEnv:n,opts:o},i){o.code.es5?e.func(t,(0,S._)`${N.default.data}, ${N.default.valCxt}`,n.$async,()=>{e.code((0,S._)`"use strict"; ${lf(r,o)}`),s$(e,o),e.code(i)}):e.func(t,(0,S._)`${N.default.data}, ${i$(o)}`,n.$async,()=>e.code(lf(r,o)).code(i))}function i$(e){return(0,S._)`{${N.default.instancePath}="", ${N.default.parentData}, ${N.default.parentDataProperty}, ${N.default.rootData}=${N.default.data}${e.dynamicRef?(0,S._)`, ${N.default.dynamicAnchors}={}`:S.nil}}={}`}function s$(e,t){e.if(N.default.valCxt,()=>{e.var(N.default.instancePath,(0,S._)`${N.default.valCxt}.${N.default.instancePath}`),e.var(N.default.parentData,(0,S._)`${N.default.valCxt}.${N.default.parentData}`),e.var(N.default.parentDataProperty,(0,S._)`${N.default.valCxt}.${N.default.parentDataProperty}`),e.var(N.default.rootData,(0,S._)`${N.default.valCxt}.${N.default.rootData}`),t.dynamicRef&&e.var(N.default.dynamicAnchors,(0,S._)`${N.default.valCxt}.${N.default.dynamicAnchors}`)},()=>{e.var(N.default.instancePath,(0,S._)`""`),e.var(N.default.parentData,(0,S._)`undefined`),e.var(N.default.parentDataProperty,(0,S._)`undefined`),e.var(N.default.rootData,N.default.data),t.dynamicRef&&e.var(N.default.dynamicAnchors,(0,S._)`{}`)})}function a$(e){let{schema:t,opts:r,gen:n}=e;mf(e,()=>{r.$comment&&t.$comment&&vf(e),p$(e),n.let(N.default.vErrors,null),n.let(N.default.errors,0),r.unevaluated&&c$(e),_f(e),h$(e)})}function c$(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 lf(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 u$(e,t){if(gf(e)&&(yf(e),hf(e))){l$(e,t);return}(0,ff.boolOrEmptySchema)(e,t)}function hf({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 gf(e){return typeof e.schema!="boolean"}function l$(e,t){let{schema:r,gen:n,opts:o}=e;o.$comment&&r.$comment&&vf(e),f$(e),m$(e);let i=n.const("_errs",N.default.errors);_f(e,i),n.var(t,(0,S._)`${i} === ${N.default.errors}`)}function yf(e){(0,it.checkUnknownRules)(e),d$(e)}function _f(e,t){if(e.opts.jtd)return df(e,[],!1,t);let r=(0,uf.getSchemaTypes)(e.schema),n=(0,uf.coerceAndCheckDataType)(e,r);df(e,r,!n,t)}function d$(e){let{schema:t,errSchemaPath:r,opts:n,self:o}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,it.schemaHasRulesButRef)(t,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function p$(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,it.checkStrictMode)(e,"default is ignored in the schema root")}function f$(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,n$.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function m$(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function vf({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:o}){let i=r.$comment;if(o.$comment===!0)e.code((0,S._)`${N.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._)`${N.default.self}.opts.$comment(${i}, ${s}, ${a}.schema)`)}}function h$(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:o,opts:i}=e;r.$async?t.if((0,S._)`${N.default.errors} === 0`,()=>t.return(N.default.data),()=>t.throw((0,S._)`new ${o}(${N.default.vErrors})`)):(t.assign((0,S._)`${n}.errors`,N.default.vErrors),i.unevaluated&&g$(e),t.return((0,S._)`${N.default.errors} === 0`))}function g$({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 df(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,it.schemaHasRulesButRef)(i,u))){o.block(()=>wf(e,"$ref",u.all.$ref.definition));return}c.jtd||y$(e,t),o.block(()=>{for(let p of u.rules)d(p);d(u.post)});function d(p){(0,ca.shouldUseGroup)(i,p)&&(p.type?(o.if((0,ho.checkDataType)(p.type,s,c.strictNumbers)),pf(e,p),t.length===1&&t[0]===p.type&&r&&(o.else(),(0,ho.reportTypeError)(e)),o.endIf()):pf(e,p),a||o.if((0,S._)`${N.default.errors} === ${n||0}`))}}function pf(e,t){let{gen:r,schema:n,opts:{useDefaults:o}}=e;o&&(0,r$.assignDefaults)(e,t.type),r.block(()=>{for(let i of t.rules)(0,ca.shouldUseRule)(n,i)&&wf(e,i.keyword,i.definition,t.type)})}function y$(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(_$(e,t),e.opts.allowUnionTypes||v$(e,t),b$(e,e.dataTypes))}function _$(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{bf(e.dataTypes,r)||ua(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),$$(e,t)}}function v$(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&ua(e,"use allowUnionTypes to allow union type keyword")}function b$(e,t){let r=e.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,ca.shouldUseRule)(e.schema,o)){let{type:i}=o.definition;i.length&&!i.some(s=>w$(t,s))&&ua(e,`missing type "${i.join(",")}" for keyword "${n}"`)}}}function w$(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function bf(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function $$(e,t){let r=[];for(let n of e.dataTypes)bf(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function ua(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,it.checkStrictMode)(e,t,e.opts.strictTypes)}var go=class{constructor(t,r,n){if((0,rn.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,it.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",$f(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,rn.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",N.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?tn.reportExtraError:tn.reportError)(this,this.def.error,r)}$dataError(){(0,tn.reportError)(this,this.def.$dataError||tn.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,tn.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,ho.checkDataTypes)(c,r,i.opts.strictNumbers,ho.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,aa.getSubschema)(this.it,t);(0,aa.extendSubschemaData)(n,this.it,t),(0,aa.extendSubschemaMode)(n,t);let o={...this.it,...n,items:void 0,props:void 0};return u$(o,r),o}mergeEvaluated(t,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=it.mergeEvaluated.props(o,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=it.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}};gt.KeywordCxt=go;function wf(e,t,r,n){let o=new go(e,r,t);"code"in r?r.code(o,n):o.$data&&r.validate?(0,rn.funcKeywordCode)(o,r):"macro"in r?(0,rn.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,rn.funcKeywordCode)(o,r)}var x$=/^\/(?:[^~]|~0|~1)*$/,k$=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function $f(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let o,i;if(e==="")return N.default.rootData;if(e[0]==="/"){if(!x$.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);o=e,i=N.default.rootData}else{let l=k$.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,it.unescapeJsonPointer)(l))}`,s=(0,S._)`${s} && ${i}`);return s;function c(l,u){return`Cannot access ${l} ${u} levels up, current level is ${t}`}}gt.getData=$f});var yo=v(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});var la=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};da.default=la});var on=v(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});var pa=en(),fa=class extends Error{constructor(t,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,pa.resolveUrl)(t,r,n),this.missingSchema=(0,pa.normalizeId)((0,pa.getFullPath)(t,this.missingRef))}};ma.default=fa});var vo=v(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.resolveSchema=Oe.getCompilingSchema=Oe.resolveRef=Oe.compileSchema=Oe.SchemaEnv=void 0;var Ze=C(),S$=yo(),Nt=ot(),Be=en(),xf=Z(),E$=nn(),er=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,Be.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={}}};Oe.SchemaEnv=er;function ga(e){let t=kf.call(this,e);if(t)return t;let r=(0,Be.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:i}=this.opts,s=new Ze.CodeGen(this.scope,{es5:n,lines:o,ownProperties:i}),a;e.$async&&(a=s.scopeValue("Error",{ref:S$.default,code:(0,Ze._)`require("ajv/dist/runtime/validation_error").default`}));let c=s.scopeName("validate");e.validateName=c;let l={gen:s,allErrors:this.opts.allErrors,data:Nt.default.data,parentData:Nt.default.parentData,parentDataProperty:Nt.default.parentDataProperty,dataNames:[Nt.default.data],dataPathArr:[Ze.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:s.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,Ze.stringify)(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:a,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:Ze.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Ze._)`""`,opts:this.opts,self:this},u;try{this._compilations.add(e),(0,E$.validateFunctionCode)(l),s.optimize(this.opts.code.optimize);let d=s.toString();u=`${s.scopeRefs(Nt.default.scope)}return ${d}`,this.opts.code.process&&(u=this.opts.code.process(u,e));let f=new Function(`${Nt.default.self}`,`${Nt.default.scope}`,u)(this,this.scope.get());if(this.scope.value(c,{ref:f}),f.errors=null,f.schema=e.schema,f.schemaEnv=e,e.$async&&(f.$async=!0),this.opts.code.source===!0&&(f.source={validateName:c,validateCode:d,scopeValues:s._values}),this.opts.unevaluated){let{props:h,items:g}=l;f.evaluated={props:h instanceof Ze.Name?void 0:h,items:g instanceof Ze.Name?void 0:g,dynamicProps:h instanceof Ze.Name,dynamicItems:g instanceof Ze.Name},f.source&&(f.source.evaluated=(0,Ze.stringify)(f.evaluated))}return e.validate=f,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)}}Oe.compileSchema=ga;function z$(e,t,r){var n;r=(0,Be.resolveUrl)(this.opts.uriResolver,t,r);let o=e.refs[r];if(o)return o;let i=R$.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 er({schema:s,schemaId:a,root:e,baseId:t}))}if(i!==void 0)return e.refs[r]=T$.call(this,i)}Oe.resolveRef=z$;function T$(e){return(0,Be.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:ga.call(this,e)}function kf(e){for(let t of this._compilations)if(P$(t,e))return t}Oe.getCompilingSchema=kf;function P$(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function R$(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||_o.call(this,e,t)}function _o(e,t){let r=this.opts.uriResolver.parse(t),n=(0,Be._getFullPath)(this.opts.uriResolver,r),o=(0,Be.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===o)return ha.call(this,r,e);let i=(0,Be.normalizeId)(n),s=this.refs[i]||this.schemas[i];if(typeof s=="string"){let a=_o.call(this,e,s);return typeof a?.schema!="object"?void 0:ha.call(this,r,a)}if(typeof s?.schema=="object"){if(s.validate||ga.call(this,s),i===(0,Be.normalizeId)(t)){let{schema:a}=s,{schemaId:c}=this.opts,l=a[c];return l&&(o=(0,Be.resolveUrl)(this.opts.uriResolver,o,l)),new er({schema:a,schemaId:c,root:e,baseId:o})}return ha.call(this,r,s)}}Oe.resolveSchema=_o;var I$=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function ha(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,xf.unescapeFragment)(a)];if(c===void 0)return;r=c;let l=typeof r=="object"&&r[this.opts.schemaId];!I$.has(a)&&l&&(t=(0,Be.resolveUrl)(this.opts.uriResolver,t,l))}let i;if(typeof r!="boolean"&&r.$ref&&!(0,xf.schemaHasRulesButRef)(r,this.RULES)){let a=(0,Be.resolveUrl)(this.opts.uriResolver,t,r.$ref);i=_o.call(this,n,a)}let{schemaId:s}=this.opts;if(i=i||new er({schema:r,schemaId:s,root:n,baseId:t}),i.schema!==i.root.schema)return i}});var Sf=v((XC,N$)=>{N$.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 va=v((eO,If)=>{"use strict";var A$=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),zf=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),ya=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),Tf=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),C$=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function _a(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 O$=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Ef(e){return e.length=0,!0}function j$(e,t,r){if(e.length){let n=_a(e);if(n!=="")t.push(n);else return r.error=!0,!1;e.length=0}return!0}function D$(e){let t=0,r={error:!1,address:"",zone:""},n=[],o=[],i=!1,s=!1,a=j$;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=Ef}else{o.push(l);continue}}return o.length&&(a===Ef?r.zone=o.join(""):s?n.push(o.join("")):n.push(_a(o))),r.address=n.join(""),r}function Pf(e){if(M$(e,":")<2)return{host:e,isIPV6:!1};let t=D$(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 M$(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}function q$(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 Z$={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},B$=/[@/?#:]/g,L$=/[@/?#]/g;function Rf(e,t){let r=t?L$:B$;return r.lastIndex=0,e.replace(r,n=>Z$[n])}function U$(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(ya(o)){let i=o.toUpperCase(),s=String.fromCharCode(parseInt(i,16));t&&Tf(s)?r+=s:r+="%"+i,n+=2;continue}}r+=e[n]}return r}function F$(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(ya(n)){let o=n.toUpperCase(),i=String.fromCharCode(parseInt(o,16));i!=="."&&Tf(i)?t+=i:t+="%"+o,r+=2;continue}}C$(e[r])?t+=e[r]:t+=escape(e[r])}return t}function V$(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(ya(n)){t+="%"+n.toUpperCase(),r+=2;continue}}t+=escape(e[r])}return t}function K$(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!zf(r)){let n=Pf(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=Rf(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}If.exports={nonSimpleDomain:O$,recomposeAuthority:K$,reescapeHostDelimiters:Rf,normalizePercentEncoding:U$,normalizePathEncoding:F$,escapePreservingEscapes:V$,removeDotSegments:q$,isIPv4:zf,isUUID:A$,normalizeIPv6:Pf,stringArrayToHexStripped:_a}});var jf=v((tO,Of)=>{"use strict";var{isUUID:H$}=va(),G$=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,J$=["http","https","ws","wss","urn","urn:uuid"];function W$(e){return J$.indexOf(e)!==-1}function ba(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 Nf(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function Af(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 Q$(e){return e.secure=ba(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function Y$(e){if((e.port===(ba(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 X$(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(G$);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=wa(o);e.path=void 0,i&&(e=i.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function e0(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=wa(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 t0(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!H$(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function r0(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var Cf={scheme:"http",domainHost:!0,parse:Nf,serialize:Af},n0={scheme:"https",domainHost:Cf.domainHost,parse:Nf,serialize:Af},bo={scheme:"ws",domainHost:!0,parse:Q$,serialize:Y$},o0={scheme:"wss",domainHost:bo.domainHost,parse:bo.parse,serialize:bo.serialize},i0={scheme:"urn",parse:X$,serialize:e0,skipNormalize:!0},s0={scheme:"urn:uuid",parse:t0,serialize:r0,skipNormalize:!0},wo={http:Cf,https:n0,ws:bo,wss:o0,urn:i0,"urn:uuid":s0};Object.setPrototypeOf(wo,null);function wa(e){return e&&(wo[e]||wo[e.toLowerCase()])||void 0}Of.exports={wsIsSecure:ba,SCHEMES:wo,isValidSchemeName:W$,getSchemeHandler:wa}});var Lf=v((rO,$o)=>{"use strict";var{normalizeIPv6:a0,removeDotSegments:sn,recomposeAuthority:c0,normalizePercentEncoding:u0,normalizePathEncoding:l0,escapePreservingEscapes:d0,reescapeHostDelimiters:p0,isIPv4:f0,nonSimpleDomain:m0}=va(),{SCHEMES:h0,getSchemeHandler:Mf}=jf();function g0(e,t){return typeof e=="string"?e=w0(e,t):typeof e=="object"&&(e=tr(At(e,t),t)),e}function y0(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=qf(tr(e,n),tr(t,n),n,!0);return n.skipEscape=!0,At(o,n)}function qf(e,t,r,n){let o={};return n||(e=tr(At(e,r),r),t=tr(At(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=sn(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=sn(t.path||""),o.query=t.query):(t.path?(t.path[0]==="/"?o.path=sn(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=sn(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 _0(e,t,r){let n=Df(e,r),o=Df(t,r);return n!==void 0&&o!==void 0&&n.toLowerCase()===o.toLowerCase()}function At(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=Mf(n.scheme||r.scheme);i&&i.serialize&&i.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=u0(r.path):(r.path=d0(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&o.push(r.scheme,":");let s=c0(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=sn(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 v0=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function b0(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 Zf(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(v0);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=b0(n,s);if(a!==void 0&&(n.error=n.error||a,o=!0),n.host)if(f0(n.host)===!1){let u=a0(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=Mf(r.scheme||n.scheme);if(!r.unicodeSupport&&(!c||!c.unicodeSupport)&&n.host&&(r.domainHost||c&&c.domainHost)&&i===!1&&m0(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}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=p0(unescape(n.host),i))),n.path&&(n.path=l0(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 Zf(e,t).parsed}function w0(e,t){return Bf(e,t).normalized}function Bf(e,t){let{parsed:r,malformedAuthorityOrPort:n}=Zf(e,t);return{normalized:n?e:At(r,t),malformedAuthorityOrPort:n}}function Df(e,t){if(typeof e=="string"){let{normalized:r,malformedAuthorityOrPort:n}=Bf(e,t);return n?void 0:r}if(typeof e=="object")return At(e,t)}var $a={SCHEMES:h0,normalize:g0,resolve:y0,resolveComponent:qf,equal:_0,serialize:At,parse:tr};$o.exports=$a;$o.exports.default=$a;$o.exports.fastUri=$a});var Ff=v(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});var Uf=Lf();Uf.code='require("ajv/dist/runtime/uri").default';xa.default=Uf});var Yf=v(de=>{"use strict";Object.defineProperty(de,"__esModule",{value:!0});de.CodeGen=de.Name=de.nil=de.stringify=de.str=de._=de.KeywordCxt=void 0;var $0=nn();Object.defineProperty(de,"KeywordCxt",{enumerable:!0,get:function(){return $0.KeywordCxt}});var rr=C();Object.defineProperty(de,"_",{enumerable:!0,get:function(){return rr._}});Object.defineProperty(de,"str",{enumerable:!0,get:function(){return rr.str}});Object.defineProperty(de,"stringify",{enumerable:!0,get:function(){return rr.stringify}});Object.defineProperty(de,"nil",{enumerable:!0,get:function(){return rr.nil}});Object.defineProperty(de,"Name",{enumerable:!0,get:function(){return rr.Name}});Object.defineProperty(de,"CodeGen",{enumerable:!0,get:function(){return rr.CodeGen}});var x0=yo(),Jf=on(),k0=Qs(),an=vo(),S0=C(),cn=en(),xo=Xr(),Sa=Z(),Vf=Sf(),E0=Ff(),Wf=(e,t)=>new RegExp(e,t);Wf.code="new RegExp";var z0=["removeAdditional","useDefaults","coerceTypes"],T0=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),P0={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."},R0={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Kf=200;function I0(e){var t,r,n,o,i,s,a,c,l,u,d,p,f,h,g,_,b,w,$,z,P,ye,Pe,Zt,ci;let wr=e.strict,ui=(t=e.code)===null||t===void 0?void 0:t.optimize,Xc=ui===!0||ui===void 0?1:ui||0,eu=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Wf,fy=(o=e.uriResolver)!==null&&o!==void 0?o:E0.default;return{strictSchema:(s=(i=e.strictSchema)!==null&&i!==void 0?i:wr)!==null&&s!==void 0?s:!0,strictNumbers:(c=(a=e.strictNumbers)!==null&&a!==void 0?a:wr)!==null&&c!==void 0?c:!0,strictTypes:(u=(l=e.strictTypes)!==null&&l!==void 0?l:wr)!==null&&u!==void 0?u:"log",strictTuples:(p=(d=e.strictTuples)!==null&&d!==void 0?d:wr)!==null&&p!==void 0?p:"log",strictRequired:(h=(f=e.strictRequired)!==null&&f!==void 0?f:wr)!==null&&h!==void 0?h:!1,code:e.code?{...e.code,optimize:Xc,regExp:eu}:{optimize:Xc,regExp:eu},loopRequired:(g=e.loopRequired)!==null&&g!==void 0?g:Kf,loopEnum:(_=e.loopEnum)!==null&&_!==void 0?_:Kf,meta:(b=e.meta)!==null&&b!==void 0?b:!0,messages:(w=e.messages)!==null&&w!==void 0?w:!0,inlineRefs:($=e.inlineRefs)!==null&&$!==void 0?$:!0,schemaId:(z=e.schemaId)!==null&&z!==void 0?z:"$id",addUsedSchema:(P=e.addUsedSchema)!==null&&P!==void 0?P:!0,validateSchema:(ye=e.validateSchema)!==null&&ye!==void 0?ye:!0,validateFormats:(Pe=e.validateFormats)!==null&&Pe!==void 0?Pe:!0,unicodeRegExp:(Zt=e.unicodeRegExp)!==null&&Zt!==void 0?Zt:!0,int32range:(ci=e.int32range)!==null&&ci!==void 0?ci:!0,uriResolver:fy}}var un=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,...I0(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new S0.ValueScope({scope:{},prefixes:T0,es5:r,lines:n}),this.logger=D0(t.logger);let o=t.validateFormats;t.validateFormats=!1,this.RULES=(0,k0.getRules)(),Hf.call(this,P0,t,"NOT SUPPORTED"),Hf.call(this,R0,t,"DEPRECATED","warn"),this._metaOpts=O0.call(this),t.formats&&A0.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&C0.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),N0.call(this),t.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,o=Vf;n==="id"&&(o={...Vf},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 p=this._addSchema(u,d);return p.validate||s.call(this,p)}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 Jf.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,cn.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=Gf.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,o=new an.SchemaEnv({schema:{},schemaId:n});if(r=an.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=Gf.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,cn.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(q0.call(this,n,r),!r)return(0,Sa.eachItem)(n,i=>ka.call(this,i)),this;B0.call(this,r);let o={...r,type:(0,xo.getJSONTypes)(r.type),schemaType:(0,xo.getJSONTypes)(r.schemaType)};return(0,Sa.eachItem)(n,o.type.length===0?i=>ka.call(this,i,o):i=>o.type.forEach(s=>ka.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]=Qf(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,cn.normalizeId)(s||n);let l=cn.getSchemaRefs.call(this,t,n);return c=new an.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):an.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{an.compileSchema.call(this,t)}finally{this.opts=r}}};un.ValidationError=x0.default;un.MissingRefError=Jf.default;de.default=un;function Hf(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 Gf(e){return e=(0,cn.normalizeId)(e),this.schemas[e]||this.refs[e]}function N0(){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 A0(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function C0(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 O0(){let e={...this.opts};for(let t of z0)delete e[t];return e}var j0={log(){},warn(){},error(){}};function D0(e){if(e===!1)return j0;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 M0=/^[a-z_$][a-z0-9_$:-]*$/i;function q0(e,t){let{RULES:r}=this;if((0,Sa.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!M0.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 ka(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,xo.getJSONTypes)(t.type),schemaType:(0,xo.getJSONTypes)(t.schemaType)}};t.before?Z0.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 Z0(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 B0(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=Qf(t)),e.validateSchema=this.compile(t,!0))}var L0={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Qf(e){return{anyOf:[e,L0]}}});var Xf=v(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});var U0={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Ea.default=U0});var nm=v(Ct=>{"use strict";Object.defineProperty(Ct,"__esModule",{value:!0});Ct.callRef=Ct.getValidate=void 0;var F0=on(),em=Ce(),Ee=C(),nr=ot(),tm=vo(),ko=Z(),V0={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=tm.resolveRef.call(c,l,o,r);if(u===void 0)throw new F0.default(n.opts.uriResolver,o,r);if(u instanceof tm.SchemaEnv)return p(u);return f(u);function d(){if(i===l)return So(e,s,i,i.$async);let h=t.scopeValue("root",{ref:l});return So(e,(0,Ee._)`${h}.validate`,l,l.$async)}function p(h){let g=rm(e,h);So(e,g,h,h.$async)}function f(h){let g=t.scopeValue("schema",a.code.source===!0?{ref:h,code:(0,Ee.stringify)(h)}:{ref:h}),_=t.name("valid"),b=e.subschema({schema:h,dataTypes:[],schemaPath:Ee.nil,topSchemaRef:g,errSchemaPath:r},_);e.mergeEvaluated(b),e.ok(_)}}};function rm(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,Ee._)`${r.scopeValue("wrapper",{ref:t})}.validate`}Ct.getValidate=rm;function So(e,t,r,n){let{gen:o,it:i}=e,{allErrors:s,schemaEnv:a,opts:c}=i,l=c.passContext?nr.default.this:Ee.nil;n?u():d();function u(){if(!a.$async)throw new Error("async schema referenced by sync schema");let h=o.let("valid");o.try(()=>{o.code((0,Ee._)`await ${(0,em.callValidateCode)(e,t,l)}`),f(t),s||o.assign(h,!0)},g=>{o.if((0,Ee._)`!(${g} instanceof ${i.ValidationError})`,()=>o.throw(g)),p(g),s||o.assign(h,!1)}),e.ok(h)}function d(){e.result((0,em.callValidateCode)(e,t,l),()=>f(t),()=>p(t))}function p(h){let g=(0,Ee._)`${h}.errors`;o.assign(nr.default.vErrors,(0,Ee._)`${nr.default.vErrors} === null ? ${g} : ${nr.default.vErrors}.concat(${g})`),o.assign(nr.default.errors,(0,Ee._)`${nr.default.vErrors}.length`)}function f(h){var g;if(!i.opts.unevaluated)return;let _=(g=r?.validate)===null||g===void 0?void 0:g.evaluated;if(i.props!==!0)if(_&&!_.dynamicProps)_.props!==void 0&&(i.props=ko.mergeEvaluated.props(o,_.props,i.props));else{let b=o.var("props",(0,Ee._)`${h}.evaluated.props`);i.props=ko.mergeEvaluated.props(o,b,i.props,Ee.Name)}if(i.items!==!0)if(_&&!_.dynamicItems)_.items!==void 0&&(i.items=ko.mergeEvaluated.items(o,_.items,i.items));else{let b=o.var("items",(0,Ee._)`${h}.evaluated.items`);i.items=ko.mergeEvaluated.items(o,b,i.items,Ee.Name)}}}Ct.callRef=So;Ct.default=V0});var om=v(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});var K0=Xf(),H0=nm(),G0=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",K0.default,H0.default];za.default=G0});var im=v(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});var Eo=C(),yt=Eo.operators,zo={maximum:{okStr:"<=",ok:yt.LTE,fail:yt.GT},minimum:{okStr:">=",ok:yt.GTE,fail:yt.LT},exclusiveMaximum:{okStr:"<",ok:yt.LT,fail:yt.GTE},exclusiveMinimum:{okStr:">",ok:yt.GT,fail:yt.LTE}},J0={message:({keyword:e,schemaCode:t})=>(0,Eo.str)`must be ${zo[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,Eo._)`{comparison: ${zo[e].okStr}, limit: ${t}}`},W0={keyword:Object.keys(zo),type:"number",schemaType:"number",$data:!0,error:J0,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,Eo._)`${r} ${zo[t].fail} ${n} || isNaN(${r})`)}};Ta.default=W0});var sm=v(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});var ln=C(),Q0={message:({schemaCode:e})=>(0,ln.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,ln._)`{multipleOf: ${e}}`},Y0={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Q0,code(e){let{gen:t,data:r,schemaCode:n,it:o}=e,i=o.opts.multipleOfPrecision,s=t.let("res"),a=i?(0,ln._)`Math.abs(Math.round(${s}) - ${s}) > 1e-${i}`:(0,ln._)`${s} !== parseInt(${s})`;e.fail$data((0,ln._)`(${n} === 0 || (${s} = ${r}/${n}, ${a}))`)}};Pa.default=Y0});var cm=v(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});function am(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}Ra.default=am;am.code='require("ajv/dist/runtime/ucs2length").default'});var um=v(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});var Ot=C(),X0=Z(),ex=cm(),tx={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return(0,Ot.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,Ot._)`{limit: ${e}}`},rx={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:tx,code(e){let{keyword:t,data:r,schemaCode:n,it:o}=e,i=t==="maxLength"?Ot.operators.GT:Ot.operators.LT,s=o.opts.unicode===!1?(0,Ot._)`${r}.length`:(0,Ot._)`${(0,X0.useFunc)(e.gen,ex.default)}(${r})`;e.fail$data((0,Ot._)`${s} ${i} ${n}`)}};Ia.default=rx});var lm=v(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});var nx=Ce(),ox=Z(),or=C(),ix={message:({schemaCode:e})=>(0,or.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,or._)`{pattern: ${e}}`},sx={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:ix,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,or._)`new RegExp`:(0,ox.useFunc)(t,c),u=t.let("valid");t.try(()=>t.assign(u,(0,or._)`${l}(${i}, ${a}).test(${r})`),()=>t.assign(u,!1)),e.fail$data((0,or._)`!${u}`)}else{let c=(0,nx.usePattern)(e,o);e.fail$data((0,or._)`!${c}.test(${r})`)}}};Na.default=sx});var dm=v(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});var dn=C(),ax={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,dn.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,dn._)`{limit: ${e}}`},cx={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:ax,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxProperties"?dn.operators.GT:dn.operators.LT;e.fail$data((0,dn._)`Object.keys(${r}).length ${o} ${n}`)}};Aa.default=cx});var pm=v(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});var pn=Ce(),fn=C(),ux=Z(),lx={message:({params:{missingProperty:e}})=>(0,fn.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,fn._)`{missingProperty: ${e}}`},dx={keyword:"required",type:"object",schemaType:"array",$data:!0,error:lx,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 f=e.parentSchema.properties,{definedProperties:h}=e.it;for(let g of r)if(f?.[g]===void 0&&!h.has(g)){let _=s.schemaEnv.baseId+s.errSchemaPath,b=`required property "${g}" is not defined at "${_}" (strictRequired)`;(0,ux.checkStrictMode)(s,b,s.opts.strictRequired)}}function l(){if(c||i)e.block$data(fn.nil,d);else for(let f of r)(0,pn.checkReportMissingProp)(e,f)}function u(){let f=t.let("missing");if(c||i){let h=t.let("valid",!0);e.block$data(h,()=>p(f,h)),e.ok(h)}else t.if((0,pn.checkMissingProp)(e,r,f)),(0,pn.reportMissingProp)(e,f),t.else()}function d(){t.forOf("prop",n,f=>{e.setParams({missingProperty:f}),t.if((0,pn.noPropertyInData)(t,o,f,a.ownProperties),()=>e.error())})}function p(f,h){e.setParams({missingProperty:f}),t.forOf(f,n,()=>{t.assign(h,(0,pn.propertyInData)(t,o,f,a.ownProperties)),t.if((0,fn.not)(h),()=>{e.error(),t.break()})},fn.nil)}}};Ca.default=dx});var fm=v(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});var mn=C(),px={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,mn.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,mn._)`{limit: ${e}}`},fx={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:px,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxItems"?mn.operators.GT:mn.operators.LT;e.fail$data((0,mn._)`${r}.length ${o} ${n}`)}};Oa.default=fx});var To=v(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});var mm=ia();mm.code='require("ajv/dist/runtime/equal").default';ja.default=mm});var hm=v(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});var Da=Xr(),pe=C(),mx=Z(),hx=To(),gx={message:({params:{i:e,j:t}})=>(0,pe.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,pe._)`{i: ${e}, j: ${t}}`},yx={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:gx,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,Da.getSchemaTypes)(i.items):[];e.block$data(c,u,(0,pe._)`${s} === false`),e.ok(c);function u(){let h=t.let("i",(0,pe._)`${r}.length`),g=t.let("j");e.setParams({i:h,j:g}),t.assign(c,!0),t.if((0,pe._)`${h} > 1`,()=>(d()?p:f)(h,g))}function d(){return l.length>0&&!l.some(h=>h==="object"||h==="array")}function p(h,g){let _=t.name("item"),b=(0,Da.checkDataTypes)(l,_,a.opts.strictNumbers,Da.DataType.Wrong),w=t.const("indices",(0,pe._)`{}`);t.for((0,pe._)`;${h}--;`,()=>{t.let(_,(0,pe._)`${r}[${h}]`),t.if(b,(0,pe._)`continue`),l.length>1&&t.if((0,pe._)`typeof ${_} == "string"`,(0,pe._)`${_} += "_"`),t.if((0,pe._)`typeof ${w}[${_}] == "number"`,()=>{t.assign(g,(0,pe._)`${w}[${_}]`),e.error(),t.assign(c,!1).break()}).code((0,pe._)`${w}[${_}] = ${h}`)})}function f(h,g){let _=(0,mx.useFunc)(t,hx.default),b=t.name("outer");t.label(b).for((0,pe._)`;${h}--;`,()=>t.for((0,pe._)`${g} = ${h}; ${g}--;`,()=>t.if((0,pe._)`${_}(${r}[${h}], ${r}[${g}])`,()=>{e.error(),t.assign(c,!1).break(b)})))}}};Ma.default=yx});var gm=v(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});var qa=C(),_x=Z(),vx=To(),bx={message:"must be equal to constant",params:({schemaCode:e})=>(0,qa._)`{allowedValue: ${e}}`},wx={keyword:"const",$data:!0,error:bx,code(e){let{gen:t,data:r,$data:n,schemaCode:o,schema:i}=e;n||i&&typeof i=="object"?e.fail$data((0,qa._)`!${(0,_x.useFunc)(t,vx.default)}(${r}, ${o})`):e.fail((0,qa._)`${i} !== ${r}`)}};Za.default=wx});var ym=v(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});var hn=C(),$x=Z(),xx=To(),kx={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,hn._)`{allowedValues: ${e}}`},Sx={keyword:"enum",schemaType:"array",$data:!0,error:kx,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,$x.useFunc)(t,xx.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 f=t.const("vSchema",i);u=(0,hn.or)(...o.map((h,g)=>p(f,g)))}e.pass(u);function d(){t.assign(u,!1),t.forOf("v",i,f=>t.if((0,hn._)`${l()}(${r}, ${f})`,()=>t.assign(u,!0).break()))}function p(f,h){let g=o[h];return typeof g=="object"&&g!==null?(0,hn._)`${l()}(${r}, ${f}[${h}])`:(0,hn._)`${r} === ${g}`}}};Ba.default=Sx});var _m=v(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});var Ex=im(),zx=sm(),Tx=um(),Px=lm(),Rx=dm(),Ix=pm(),Nx=fm(),Ax=hm(),Cx=gm(),Ox=ym(),jx=[Ex.default,zx.default,Tx.default,Px.default,Rx.default,Ix.default,Nx.default,Ax.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Cx.default,Ox.default];La.default=jx});var Fa=v(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.validateAdditionalItems=void 0;var jt=C(),Ua=Z(),Dx={message:({params:{len:e}})=>(0,jt.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,jt._)`{limit: ${e}}`},Mx={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Dx,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,Ua.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}vm(e,n)}};function vm(e,t){let{gen:r,schema:n,data:o,keyword:i,it:s}=e;s.items=!0;let a=r.const("len",(0,jt._)`${o}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,jt._)`${a} <= ${t.length}`);else if(typeof n=="object"&&!(0,Ua.alwaysValidSchema)(s,n)){let l=r.var("valid",(0,jt._)`${a} <= ${t.length}`);r.if((0,jt.not)(l),()=>c(l)),e.ok(l)}function c(l){r.forRange("i",t.length,a,u=>{e.subschema({keyword:i,dataProp:u,dataPropType:Ua.Type.Num},l),s.allErrors||r.if((0,jt.not)(l),()=>r.break())})}}gn.validateAdditionalItems=vm;gn.default=Mx});var Va=v(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.validateTuple=void 0;var bm=C(),Po=Z(),qx=Ce(),Zx={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return wm(e,"additionalItems",t);r.items=!0,!(0,Po.alwaysValidSchema)(r,t)&&e.ok((0,qx.validateArray)(e))}};function wm(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=Po.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),l=n.const("len",(0,bm._)`${i}.length`);r.forEach((d,p)=>{(0,Po.alwaysValidSchema)(a,d)||(n.if((0,bm._)`${l} > ${p}`,()=>e.subschema({keyword:s,schemaProp:p,dataProp:p},c)),e.ok(c))});function u(d){let{opts:p,errSchemaPath:f}=a,h=r.length,g=h===d.minItems&&(h===d.maxItems||d[t]===!1);if(p.strictTuples&&!g){let _=`"${s}" is ${h}-tuple, but minItems or maxItems/${t} are not specified or different at path "${f}"`;(0,Po.checkStrictMode)(a,_,p.strictTuples)}}}yn.validateTuple=wm;yn.default=Zx});var $m=v(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});var Bx=Va(),Lx={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,Bx.validateTuple)(e,"items")};Ka.default=Lx});var km=v(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});var xm=C(),Ux=Z(),Fx=Ce(),Vx=Fa(),Kx={message:({params:{len:e}})=>(0,xm.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,xm._)`{limit: ${e}}`},Hx={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Kx,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:o}=r;n.items=!0,!(0,Ux.alwaysValidSchema)(n,t)&&(o?(0,Vx.validateAdditionalItems)(e,o):e.ok((0,Fx.validateArray)(e)))}};Ha.default=Hx});var Sm=v(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});var je=C(),Ro=Z(),Gx={message:({params:{min:e,max:t}})=>t===void 0?(0,je.str)`must contain at least ${e} valid item(s)`:(0,je.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,je._)`{minContains: ${e}}`:(0,je._)`{minContains: ${e}, maxContains: ${t}}`},Jx={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Gx,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,je._)`${o}.length`);if(e.setParams({min:s,max:a}),a===void 0&&s===0){(0,Ro.checkStrictMode)(i,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&s>a){(0,Ro.checkStrictMode)(i,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,Ro.alwaysValidSchema)(i,r)){let g=(0,je._)`${u} >= ${s}`;a!==void 0&&(g=(0,je._)`${g} && ${u} <= ${a}`),e.pass(g);return}i.items=!0;let d=t.name("valid");a===void 0&&s===1?f(d,()=>t.if(d,()=>t.break())):s===0?(t.let(d,!0),a!==void 0&&t.if((0,je._)`${o}.length > 0`,p)):(t.let(d,!1),p()),e.result(d,()=>e.reset());function p(){let g=t.name("_valid"),_=t.let("count",0);f(g,()=>t.if(g,()=>h(_)))}function f(g,_){t.forRange("i",0,u,b=>{e.subschema({keyword:"contains",dataProp:b,dataPropType:Ro.Type.Num,compositeRule:!0},g),_()})}function h(g){t.code((0,je._)`${g}++`),a===void 0?t.if((0,je._)`${g} >= ${s}`,()=>t.assign(d,!0).break()):(t.if((0,je._)`${g} > ${a}`,()=>t.assign(d,!1).break()),s===1?t.assign(d,!0):t.if((0,je._)`${g} >= ${s}`,()=>t.assign(d,!0)))}}};Ga.default=Jx});var Tm=v(Qe=>{"use strict";Object.defineProperty(Qe,"__esModule",{value:!0});Qe.validateSchemaDeps=Qe.validatePropertyDeps=Qe.error=void 0;var Ja=C(),Wx=Z(),_n=Ce();Qe.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,Ja.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,Ja._)`{property: ${e},
8
8
  missingProperty: ${n},
9
9
  depsCount: ${t},
10
- deps: ${r}}`};var Vx={keyword:"dependencies",type:"object",schemaType:"object",error:Qe.error,code(e){let[t,r]=Kx(e);Sm(e,t),zm(e,r)}};function Kx({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 Sm(e,t=e.schema){let{gen:r,data:n,it:o}=e;if(Object.keys(t).length===0)return;let s=r.let("missing");for(let i in t){let a=t[i];if(a.length===0)continue;let c=(0,_n.propertyInData)(r,n,i,o.opts.ownProperties);e.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),o.allErrors?r.if(c,()=>{for(let l of a)(0,_n.checkReportMissingProp)(e,l)}):(r.if((0,Ga._)`${c} && (${(0,_n.checkMissingProp)(e,a,s)})`),(0,_n.reportMissingProp)(e,s),r.else())}}Qe.validatePropertyDeps=Sm;function zm(e,t=e.schema){let{gen:r,data:n,keyword:o,it:s}=e,i=r.name("valid");for(let a in t)(0,Fx.alwaysValidSchema)(s,t[a])||(r.if((0,_n.propertyInData)(r,n,a,s.opts.ownProperties),()=>{let c=e.subschema({keyword:o,schemaProp:a},i);e.mergeValidEvaluated(c,i)},()=>r.var(i,!0)),e.ok(i))}Qe.validateSchemaDeps=zm;Qe.default=Vx});var Tm=v(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});var Pm=C(),Hx=M(),Gx={message:"property name must be valid",params:({params:e})=>(0,Pm._)`{propertyName: ${e.propertyName}}`},Jx={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Gx,code(e){let{gen:t,schema:r,data:n,it:o}=e;if((0,Hx.alwaysValidSchema)(o,r))return;let s=t.name("valid");t.forIn("key",n,i=>{e.setParams({propertyName:i}),e.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},s),t.if((0,Pm.not)(s),()=>{e.error(!0),o.allErrors||t.break()})}),e.ok(s)}};Ja.default=Jx});var Qa=v(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});var Io=Ce(),Be=C(),Wx=ot(),No=M(),Qx={message:"must NOT have additional properties",params:({params:e})=>(0,Be._)`{additionalProperty: ${e.additionalProperty}}`},Yx={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Qx,code(e){let{gen:t,schema:r,parentSchema:n,data:o,errsCount:s,it:i}=e;if(!s)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=i;if(i.props=!0,c.removeAdditional!=="all"&&(0,No.alwaysValidSchema)(i,r))return;let l=(0,Io.allSchemaProperties)(n.properties),u=(0,Io.allSchemaProperties)(n.patternProperties);d(),e.ok((0,Be._)`${s} === ${Wx.default.errors}`);function d(){t.forIn("key",o,_=>{!l.length&&!u.length?h(_):t.if(p(_),()=>h(_))})}function p(_){let w;if(l.length>8){let b=(0,No.schemaRefOrVal)(i,n.properties,"properties");w=(0,Io.isOwnProperty)(t,b,_)}else l.length?w=(0,Be.or)(...l.map(b=>(0,Be._)`${_} === ${b}`)):w=Be.nil;return u.length&&(w=(0,Be.or)(w,...u.map(b=>(0,Be._)`${(0,Io.usePattern)(e,b)}.test(${_})`))),(0,Be.not)(w)}function f(_){t.code((0,Be._)`delete ${o}[${_}]`)}function h(_){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){f(_);return}if(r===!1){e.setParams({additionalProperty:_}),e.error(),a||t.break();return}if(typeof r=="object"&&!(0,No.alwaysValidSchema)(i,r)){let w=t.name("valid");c.removeAdditional==="failing"?(g(_,w,!1),t.if((0,Be.not)(w),()=>{e.reset(),f(_)})):(g(_,w),a||t.if((0,Be.not)(w),()=>t.break()))}}function g(_,w,b){let $={keyword:"additionalProperties",dataProp:_,dataPropType:No.Type.Str};b===!1&&Object.assign($,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema($,w)}}};Wa.default=Yx});var Nm=v(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});var Xx=nn(),Rm=Ce(),Ya=M(),Im=Qa(),ek={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:s}=e;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&Im.default.code(new Xx.KeywordCxt(s,Im.default,"additionalProperties"));let i=(0,Rm.allSchemaProperties)(r);for(let d of i)s.definedProperties.add(d);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=Ya.mergeEvaluated.props(t,(0,Ya.toHash)(i),s.props));let a=i.filter(d=>!(0,Ya.alwaysValidSchema)(s,r[d]));if(a.length===0)return;let c=t.name("valid");for(let d of a)l(d)?u(d):(t.if((0,Rm.propertyInData)(t,o,d,s.opts.ownProperties)),u(d),s.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(d),e.ok(c);function l(d){return s.opts.useDefaults&&!s.compositeRule&&r[d].default!==void 0}function u(d){e.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};Xa.default=ek});var jm=v(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});var Am=Ce(),Ao=C(),Cm=M(),Om=M(),tk={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:o,it:s}=e,{opts:i}=s,a=(0,Am.allSchemaProperties)(r),c=a.filter(g=>(0,Cm.alwaysValidSchema)(s,r[g]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let l=i.strictSchema&&!i.allowMatchingProperties&&o.properties,u=t.name("valid");s.props!==!0&&!(s.props instanceof Ao.Name)&&(s.props=(0,Om.evaluatedPropsToName)(t,s.props));let{props:d}=s;p();function p(){for(let g of a)l&&f(g),s.allErrors?h(g):(t.var(u,!0),h(g),t.if(u))}function f(g){for(let _ in l)new RegExp(g).test(_)&&(0,Cm.checkStrictMode)(s,`property ${_} matches pattern ${g} (use allowMatchingProperties)`)}function h(g){t.forIn("key",n,_=>{t.if((0,Ao._)`${(0,Am.usePattern)(e,g)}.test(${_})`,()=>{let w=c.includes(g);w||e.subschema({keyword:"patternProperties",schemaProp:g,dataProp:_,dataPropType:Om.Type.Str},u),s.opts.unevaluated&&d!==!0?t.assign((0,Ao._)`${d}[${_}]`,!0):!w&&!s.allErrors&&t.if((0,Ao.not)(u),()=>t.break())})})}}};ec.default=tk});var Dm=v(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});var rk=M(),nk={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,rk.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"}};tc.default=nk});var qm=v(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});var ok=Ce(),sk={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:ok.validateUnion,error:{message:"must match a schema in anyOf"}};rc.default=sk});var Zm=v(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});var Co=C(),ik=M(),ak={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,Co._)`{passingSchemas: ${e.passing}}`},ck={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:ak,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 s=r,i=t.let("valid",!1),a=t.let("passing",null),c=t.name("_valid");e.setParams({passing:a}),t.block(l),e.result(i,()=>e.reset(),()=>e.error(!0));function l(){s.forEach((u,d)=>{let p;(0,ik.alwaysValidSchema)(o,u)?t.var(c,!0):p=e.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&t.if((0,Co._)`${c} && ${i}`).assign(i,!1).assign(a,(0,Co._)`[${a}, ${d}]`).else(),t.if(c,()=>{t.assign(i,!0),t.assign(a,d),p&&e.mergeEvaluated(p,Co.Name)})})}}};nc.default=ck});var Mm=v(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});var uk=M(),lk={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((s,i)=>{if((0,uk.alwaysValidSchema)(n,s))return;let a=e.subschema({keyword:"allOf",schemaProp:i},o);e.ok(o),e.mergeEvaluated(a)})}};oc.default=lk});var Um=v(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});var Oo=C(),Bm=M(),dk={message:({params:e})=>(0,Oo.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,Oo._)`{failingKeyword: ${e.ifClause}}`},pk={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:dk,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,Bm.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=Lm(n,"then"),s=Lm(n,"else");if(!o&&!s)return;let i=t.let("valid",!0),a=t.name("_valid");if(c(),e.reset(),o&&s){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,Oo.not)(a),l("else"));e.pass(i,()=>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 p=e.subschema({keyword:u},a);t.assign(i,a),e.mergeValidEvaluated(p,i),d?t.assign(d,(0,Oo._)`${u}`):e.setParams({ifClause:u})}}}};function Lm(e,t){let r=e.schema[t];return r!==void 0&&!(0,Bm.alwaysValidSchema)(e,r)}sc.default=pk});var Fm=v(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});var fk=M(),mk={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,fk.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};ic.default=mk});var Vm=v(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});var hk=Ua(),gk=bm(),yk=Fa(),_k=xm(),vk=km(),wk=Em(),bk=Tm(),$k=Qa(),xk=Nm(),kk=jm(),Sk=Dm(),zk=qm(),Ek=Zm(),Pk=Mm(),Tk=Um(),Rk=Fm();function Ik(e=!1){let t=[Sk.default,zk.default,Ek.default,Pk.default,Tk.default,Rk.default,bk.default,$k.default,wk.default,xk.default,kk.default];return e?t.push(gk.default,_k.default):t.push(hk.default,yk.default),t.push(vk.default),t}ac.default=Ik});var Km=v(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});var oe=C(),Nk={message:({schemaCode:e})=>(0,oe.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,oe._)`{format: ${e}}`},Ak={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:Nk,code(e,t){let{gen:r,data:n,$data:o,schema:s,schemaCode:i,it:a}=e,{opts:c,errSchemaPath:l,schemaEnv:u,self:d}=a;if(!c.validateFormats)return;o?p():f();function p(){let h=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),g=r.const("fDef",(0,oe._)`${h}[${i}]`),_=r.let("fType"),w=r.let("format");r.if((0,oe._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>r.assign(_,(0,oe._)`${g}.type || "string"`).assign(w,(0,oe._)`${g}.validate`),()=>r.assign(_,(0,oe._)`"string"`).assign(w,g)),e.fail$data((0,oe.or)(b(),$()));function b(){return c.strictSchema===!1?oe.nil:(0,oe._)`${i} && !${w}`}function $(){let E=u.$async?(0,oe._)`(${g}.async ? await ${w}(${n}) : ${w}(${n}))`:(0,oe._)`${w}(${n})`,T=(0,oe._)`(typeof ${w} == "function" ? ${E} : ${w}.test(${n}))`;return(0,oe._)`${w} && ${w} !== true && ${_} === ${t} && !${T}`}}function f(){let h=d.formats[s];if(!h){b();return}if(h===!0)return;let[g,_,w]=$(h);g===t&&e.pass(E());function b(){if(c.strictSchema===!1){d.logger.warn(T());return}throw new Error(T());function T(){return`unknown format "${s}" ignored in schema at path "${l}"`}}function $(T){let ye=T instanceof RegExp?(0,oe.regexpCode)(T):c.code.formats?(0,oe._)`${c.code.formats}${(0,oe.getProperty)(s)}`:void 0,Te=r.scopeValue("formats",{key:s,ref:T,code:ye});return typeof T=="object"&&!(T instanceof RegExp)?[T.type||"string",T.validate,(0,oe._)`${Te}.validate`]:["string",T,Te]}function E(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!u.$async)throw new Error("async format in sync schema");return(0,oe._)`await ${w}(${n})`}return typeof _=="function"?(0,oe._)`${w}(${n})`:(0,oe._)`${w}.test(${n})`}}}};cc.default=Ak});var Hm=v(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});var Ck=Km(),Ok=[Ck.default];uc.default=Ok});var Gm=v(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.contentVocabulary=sr.metadataVocabulary=void 0;sr.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];sr.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Wm=v(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});var jk=nm(),Dk=ym(),qk=Vm(),Zk=Hm(),Jm=Gm(),Mk=[jk.default,Dk.default,(0,qk.default)(),Zk.default,Jm.metadataVocabulary,Jm.contentVocabulary];lc.default=Mk});var Ym=v(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.DiscrError=void 0;var Qm;(function(e){e.Tag="tag",e.Mapping="mapping"})(Qm||(jo.DiscrError=Qm={}))});var eh=v(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});var ir=C(),dc=Ym(),Xm=vo(),Lk=on(),Bk=M(),Uk={message:({params:{discrError:e,tagName:t}})=>e===dc.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}}`},Fk={keyword:"discriminator",type:"object",schemaType:"object",error:Uk,code(e){let{gen:t,data:r,schema:n,parentSchema:o,it:s}=e,{oneOf:i}=o;if(!s.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(!i)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:dc.DiscrError.Tag,tag:l,tagName:a})),e.ok(c);function u(){let f=p();t.if(!1);for(let h in f)t.elseIf((0,ir._)`${l} === ${h}`),t.assign(c,d(f[h]));t.else(),e.error(!1,{discrError:dc.DiscrError.Mapping,tag:l,tagName:a}),t.endIf()}function d(f){let h=t.name("valid"),g=e.subschema({keyword:"oneOf",schemaProp:f},h);return e.mergeEvaluated(g,ir.Name),h}function p(){var f;let h={},g=w(o),_=!0;for(let E=0;E<i.length;E++){let T=i[E];if(T?.$ref&&!(0,Bk.schemaHasRulesButRef)(T,s.self.RULES)){let Te=T.$ref;if(T=Xm.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,Te),T instanceof Xm.SchemaEnv&&(T=T.schema),T===void 0)throw new Lk.default(s.opts.uriResolver,s.baseId,Te)}let ye=(f=T?.properties)===null||f===void 0?void 0:f[a];if(typeof ye!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);_=_&&(g||w(T)),b(ye,E)}if(!_)throw new Error(`discriminator: "${a}" must be required`);return h;function w({required:E}){return Array.isArray(E)&&E.includes(a)}function b(E,T){if(E.const)$(E.const,T);else if(E.enum)for(let ye of E.enum)$(ye,T);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function $(E,T){if(typeof E!="string"||E in h)throw new Error(`discriminator: "${a}" values must be unique strings`);h[E]=T}}}};pc.default=Fk});var th=v((PO,Vk)=>{Vk.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 mc=v((X,fc)=>{"use strict";Object.defineProperty(X,"__esModule",{value:!0});X.MissingRefError=X.ValidationError=X.CodeGen=X.Name=X.nil=X.stringify=X.str=X._=X.KeywordCxt=X.Ajv=void 0;var Kk=Qf(),Hk=Wm(),Gk=eh(),rh=th(),Jk=["/properties"],Do="http://json-schema.org/draft-07/schema",ar=class extends Kk.default{_addVocabularies(){super._addVocabularies(),Hk.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(Gk.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(rh,Jk):rh;this.addMetaSchema(t,Do,!1),this.refs["http://json-schema.org/schema"]=Do}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Do)?Do:void 0)}};X.Ajv=ar;fc.exports=X=ar;fc.exports.Ajv=ar;Object.defineProperty(X,"__esModule",{value:!0});X.default=ar;var Wk=nn();Object.defineProperty(X,"KeywordCxt",{enumerable:!0,get:function(){return Wk.KeywordCxt}});var cr=C();Object.defineProperty(X,"_",{enumerable:!0,get:function(){return cr._}});Object.defineProperty(X,"str",{enumerable:!0,get:function(){return cr.str}});Object.defineProperty(X,"stringify",{enumerable:!0,get:function(){return cr.stringify}});Object.defineProperty(X,"nil",{enumerable:!0,get:function(){return cr.nil}});Object.defineProperty(X,"Name",{enumerable:!0,get:function(){return cr.Name}});Object.defineProperty(X,"CodeGen",{enumerable:!0,get:function(){return cr.CodeGen}});var Qk=yo();Object.defineProperty(X,"ValidationError",{enumerable:!0,get:function(){return Qk.default}});var Yk=on();Object.defineProperty(X,"MissingRefError",{enumerable:!0,get:function(){return Yk.default}})});var lh=v(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.formatNames=Xe.fastFormats=Xe.fullFormats=void 0;function Ye(e,t){return{validate:e,compare:t}}Xe.fullFormats={date:Ye(ih,_c),time:Ye(gc(!0),vc),"date-time":Ye(nh(!0),ch),"iso-time":Ye(gc(),ah),"iso-date-time":Ye(nh(),uh),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:oS,"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:dS,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:sS,int32:{type:"number",validate:cS},int64:{type:"number",validate:uS},float:{type:"number",validate:sh},double:{type:"number",validate:sh},password:!0,binary:!0};Xe.fastFormats={...Xe.fullFormats,date:Ye(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,_c),time:Ye(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,vc),"date-time":Ye(/^\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,ch),"iso-time":Ye(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,ah),"iso-date-time":Ye(/^\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,uh),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};Xe.formatNames=Object.keys(Xe.fullFormats);function Xk(e){return e%4===0&&(e%100!==0||e%400===0)}var eS=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,tS=[0,31,28,31,30,31,30,31,31,30,31,30,31];function ih(e){let t=eS.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&&Xk(r)?29:tS[n])}function _c(e,t){if(e&&t)return e>t?1:e<t?-1:0}var hc=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function gc(e){return function(r){let n=hc.exec(r);if(!n)return!1;let o=+n[1],s=+n[2],i=+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&&s<=59&&i<60)return!0;let d=s-u*c,p=o-l*c-(d<0?1:0);return(p===23||p===-1)&&(d===59||d===-1)&&i<61}}function vc(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 ah(e,t){if(!(e&&t))return;let r=hc.exec(e),n=hc.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 yc=/t|\s/i;function nh(e){let t=gc(e);return function(n){let o=n.split(yc);return o.length===2&&ih(o[0])&&t(o[1])}}function ch(e,t){if(!(e&&t))return;let r=new Date(e).valueOf(),n=new Date(t).valueOf();if(r&&n)return r-n}function uh(e,t){if(!(e&&t))return;let[r,n]=e.split(yc),[o,s]=t.split(yc),i=_c(r,o);if(i!==void 0)return i||vc(n,s)}var rS=/\/|:/,nS=/^(?:[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 oS(e){return rS.test(e)&&nS.test(e)}var oh=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function sS(e){return oh.lastIndex=0,oh.test(e)}var iS=-(2**31),aS=2**31-1;function cS(e){return Number.isInteger(e)&&e<=aS&&e>=iS}function uS(e){return Number.isInteger(e)}function sh(){return!0}var lS=/[^\\]\\Z/;function dS(e){if(lS.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}});var dh=v(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.formatLimitDefinition=void 0;var pS=mc(),Ue=C(),_t=Ue.operators,qo={formatMaximum:{okStr:"<=",ok:_t.LTE,fail:_t.GT},formatMinimum:{okStr:">=",ok:_t.GTE,fail:_t.LT},formatExclusiveMaximum:{okStr:"<",ok:_t.LT,fail:_t.GTE},formatExclusiveMinimum:{okStr:">",ok:_t.GT,fail:_t.LTE}},fS={message:({keyword:e,schemaCode:t})=>(0,Ue.str)`should be ${qo[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,Ue._)`{comparison: ${qo[e].okStr}, limit: ${t}}`};ur.formatLimitDefinition={keyword:Object.keys(qo),type:"string",schemaType:"string",$data:!0,error:fS,code(e){let{gen:t,data:r,schemaCode:n,keyword:o,it:s}=e,{opts:i,self:a}=s;if(!i.validateFormats)return;let c=new pS.KeywordCxt(s,a.RULES.all.format.definition,"format");c.$data?l():u();function l(){let p=t.scopeValue("formats",{ref:a.formats,code:i.code.formats}),f=t.const("fmt",(0,Ue._)`${p}[${c.schemaCode}]`);e.fail$data((0,Ue.or)((0,Ue._)`typeof ${f} != "object"`,(0,Ue._)`${f} instanceof RegExp`,(0,Ue._)`typeof ${f}.compare != "function"`,d(f)))}function u(){let p=c.schema,f=a.formats[p];if(!f||f===!0)return;if(typeof f!="object"||f instanceof RegExp||typeof f.compare!="function")throw new Error(`"${o}": format "${p}" does not define "compare" function`);let h=t.scopeValue("formats",{key:p,ref:f,code:i.code.formats?(0,Ue._)`${i.code.formats}${(0,Ue.getProperty)(p)}`:void 0});e.fail$data(d(h))}function d(p){return(0,Ue._)`${p}.compare(${r}, ${n}) ${qo[o].fail} 0`}},dependencies:["format"]};var mS=e=>(e.addKeyword(ur.formatLimitDefinition),e);ur.default=mS});var hh=v((vn,mh)=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});var lr=lh(),hS=dh(),wc=C(),ph=new wc.Name("fullFormats"),gS=new wc.Name("fastFormats"),bc=(e,t={keywords:!0})=>{if(Array.isArray(t))return fh(e,t,lr.fullFormats,ph),e;let[r,n]=t.mode==="fast"?[lr.fastFormats,gS]:[lr.fullFormats,ph],o=t.formats||lr.formatNames;return fh(e,o,r,n),t.keywords&&(0,hS.default)(e),e};bc.get=(e,t="full")=>{let n=(t==="fast"?lr.fastFormats:lr.fullFormats)[e];if(!n)throw new Error(`Unknown format "${e}"`);return n};function fh(e,t,r,n){var o,s;(o=(s=e.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,wc._)`require("ajv-formats/dist/formats").${n}`);for(let i of t)e.addFormat(i,r[i])}mh.exports=vn=bc;Object.defineProperty(vn,"__esModule",{value:!0});vn.default=bc});var kh=v((BO,xh)=>{xh.exports=$h;$h.sync=wS;var wh=it("fs");function vS(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 bh(e,t,r){return!e.isSymbolicLink()&&!e.isFile()?!1:vS(t,r)}function $h(e,t,r){wh.stat(e,function(n,o){r(n,n?!1:bh(o,e,t))})}function wS(e,t){return bh(wh.statSync(e),e,t)}});var Th=v((UO,Ph)=>{Ph.exports=zh;zh.sync=bS;var Sh=it("fs");function zh(e,t,r){Sh.stat(e,function(n,o){r(n,n?!1:Eh(o,t))})}function bS(e,t){return Eh(Sh.statSync(e),t)}function Eh(e,t){return e.isFile()&&$S(e,t)}function $S(e,t){var r=e.mode,n=e.uid,o=e.gid,s=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),i=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===i||r&a&&n===s||r&u&&s===0;return d}});var Ih=v((VO,Rh)=>{var FO=it("fs"),Uo;process.platform==="win32"||global.TESTING_WINDOWS?Uo=kh():Uo=Th();Rh.exports=$c;$c.sync=xS;function $c(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){$c(e,t||{},function(s,i){s?o(s):n(i)})})}Uo(e,t||{},function(n,o){n&&(n.code==="EACCES"||t&&t.ignoreErrors)&&(n=null,o=!1),r(n,o)})}function xS(e,t){try{return Uo.sync(e,t||{})}catch(r){if(t&&t.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var qh=v((KO,Dh)=>{var dr=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Nh=it("path"),kS=dr?";":":",Ah=Ih(),Ch=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),Oh=(e,t)=>{let r=t.colon||kS,n=e.match(/\//)||dr&&e.match(/\\/)?[""]:[...dr?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(r)],o=dr?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=dr?o.split(r):[""];return dr&&e.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:n,pathExt:s,pathExtExe:o}},jh=(e,t,r)=>{typeof t=="function"&&(r=t,t={}),t||(t={});let{pathEnv:n,pathExt:o,pathExtExe:s}=Oh(e,t),i=[],a=l=>new Promise((u,d)=>{if(l===n.length)return t.all&&i.length?u(i):d(Ch(e));let p=n[l],f=/^".*"$/.test(p)?p.slice(1,-1):p,h=Nh.join(f,e),g=!f&&/^\.[\\\/]/.test(e)?e.slice(0,2)+h:h;u(c(g,l,0))}),c=(l,u,d)=>new Promise((p,f)=>{if(d===o.length)return p(a(u+1));let h=o[d];Ah(l+h,{pathExt:s},(g,_)=>{if(!g&&_)if(t.all)i.push(l+h);else return p(l+h);return p(c(l,u,d+1))})});return r?a(0).then(l=>r(null,l),r):a(0)},SS=(e,t)=>{t=t||{};let{pathEnv:r,pathExt:n,pathExtExe:o}=Oh(e,t),s=[];for(let i=0;i<r.length;i++){let a=r[i],c=/^".*"$/.test(a)?a.slice(1,-1):a,l=Nh.join(c,e),u=!c&&/^\.[\\\/]/.test(e)?e.slice(0,2)+l:l;for(let d=0;d<n.length;d++){let p=u+n[d];try{if(Ah.sync(p,{pathExt:o}))if(t.all)s.push(p);else return p}catch{}}}if(t.all&&s.length)return s;if(t.nothrow)return null;throw Ch(e)};Dh.exports=jh;jh.sync=SS});var Mh=v((HO,xc)=>{"use strict";var Zh=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(n=>n.toUpperCase()==="PATH")||"Path"};xc.exports=Zh;xc.exports.default=Zh});var Fh=v((GO,Uh)=>{"use strict";var Lh=it("path"),zS=qh(),ES=Mh();function Bh(e,t){let r=e.options.env||process.env,n=process.cwd(),o=e.options.cwd!=null,s=o&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(e.options.cwd)}catch{}let i;try{i=zS.sync(e.command,{path:r[ES({env:r})],pathExt:t?Lh.delimiter:void 0})}catch{}finally{s&&process.chdir(n)}return i&&(i=Lh.resolve(o?e.options.cwd:"",i)),i}function PS(e){return Bh(e)||Bh(e,!0)}Uh.exports=PS});var Vh=v((JO,Sc)=>{"use strict";var kc=/([()\][%!^"`<>&|;, *?])/g;function TS(e){return e=e.replace(kc,"^$1"),e}function RS(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(kc,"^$1"),t&&(e=e.replace(kc,"^$1")),e}Sc.exports.command=TS;Sc.exports.argument=RS});var Hh=v((WO,Kh)=>{"use strict";Kh.exports=/^#!(.*)/});var Jh=v((QO,Gh)=>{"use strict";var IS=Hh();Gh.exports=(e="")=>{let t=e.match(IS);if(!t)return null;let[r,n]=t[0].replace(/#! ?/,"").split(" "),o=r.split("/").pop();return o==="env"?n:n?`${o} ${n}`:o}});var Qh=v((YO,Wh)=>{"use strict";var zc=it("fs"),NS=Jh();function AS(e){let r=Buffer.alloc(150),n;try{n=zc.openSync(e,"r"),zc.readSync(n,r,0,150,0),zc.closeSync(n)}catch{}return NS(r.toString())}Wh.exports=AS});var tg=v((XO,eg)=>{"use strict";var CS=it("path"),Yh=Fh(),Xh=Vh(),OS=Qh(),jS=process.platform==="win32",DS=/\.(?:com|exe)$/i,qS=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function ZS(e){e.file=Yh(e);let t=e.file&&OS(e.file);return t?(e.args.unshift(e.file),e.command=t,Yh(e)):e.file}function MS(e){if(!jS)return e;let t=ZS(e),r=!DS.test(t);if(e.options.forceShell||r){let n=qS.test(t);e.command=CS.normalize(e.command),e.command=Xh.command(e.command),e.args=e.args.map(s=>Xh.argument(s,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 LS(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:MS(n)}eg.exports=LS});var og=v((e1,ng)=>{"use strict";var Ec=process.platform==="win32";function Pc(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 BS(e,t){if(!Ec)return;let r=e.emit;e.emit=function(n,o){if(n==="exit"){let s=rg(o,t);if(s)return r.call(e,"error",s)}return r.apply(e,arguments)}}function rg(e,t){return Ec&&e===1&&!t.file?Pc(t.original,"spawn"):null}function US(e,t){return Ec&&e===1&&!t.file?Pc(t.original,"spawnSync"):null}ng.exports={hookChildProcess:BS,verifyENOENT:rg,verifyENOENTSync:US,notFoundError:Pc}});var ag=v((t1,pr)=>{"use strict";var sg=it("child_process"),Tc=tg(),Rc=og();function ig(e,t,r){let n=Tc(e,t,r),o=sg.spawn(n.command,n.args,n.options);return Rc.hookChildProcess(o,n),o}function FS(e,t,r){let n=Tc(e,t,r),o=sg.spawnSync(n.command,n.args,n.options);return o.error=o.error||Rc.verifyENOENTSync(o.status,n),o}pr.exports=ig;pr.exports.spawn=ig;pr.exports.sync=FS;pr.exports._parse=Tc;pr.exports._enoent=Rc});import{readFile as vP,mkdir as wP,writeFile as bP}from"node:fs/promises";import{dirname as $P,join as iy}from"node:path";var LP=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 i.prototype)u in a||Object.defineProperty(a,u,{value:i.prototype[u].bind(a)});a._zod.constr=i,a._zod.def=c}let o=r?.Parent??Object;class s extends o{}Object.defineProperty(s,"name",{value:e});function i(a){var c;let l=r?.Parent?new s:this;n(l,a),(c=l._zod).deferred??(c.deferred=[]);for(let u of l._zod.deferred)u();return l}return Object.defineProperty(i,"init",{value:n}),Object.defineProperty(i,Symbol.hasInstance,{value:a=>r?.Parent&&a instanceof r.Parent?!0:a?._zod?.traits?.has(e)}),Object.defineProperty(i,"name",{value:e}),i}var BP=Symbol("zod_brand"),et=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Pn={};function Re(e){return e&&Object.assign(Pn,e),Pn}var U={};eu(U,{BIGINT_FORMAT_RANGES:()=>ru,Class:()=>ps,NUMBER_FORMAT_RANGES:()=>ws,aborted:()=>$t,allowsEval:()=>ys,assert:()=>_y,assertEqual:()=>my,assertIs:()=>gy,assertNever:()=>yy,assertNotEqual:()=>hy,assignProp:()=>gs,cached:()=>xr,captureStackTrace:()=>Rn,cleanEnum:()=>Iy,cleanRegex:()=>Sr,clone:()=>He,createTransparentProxy:()=>ky,defineLazy:()=>H,esc:()=>bt,escapeRegex:()=>at,extend:()=>Ey,finalizeIssue:()=>De,floatSafeRemainder:()=>hs,getElementAtPath:()=>vy,getEnumValues:()=>fs,getLengthableOrigin:()=>zr,getParsedType:()=>xy,getSizableOrigin:()=>nu,isObject:()=>Lt,isPlainObject:()=>Bt,issue:()=>bs,joinValues:()=>Tn,jsonStringifyReplacer:()=>ms,merge:()=>Py,normalizeParams:()=>P,nullish:()=>kr,numKeys:()=>$y,omit:()=>zy,optionalKeys:()=>vs,partial:()=>Ty,pick:()=>Sy,prefixIssues:()=>Ge,primitiveTypes:()=>tu,promiseAllObject:()=>wy,propertyKeyTypes:()=>_s,randomString:()=>by,required:()=>Ry,stringifyPrimitive:()=>In,unwrapMessage:()=>$r});function my(e){return e}function hy(e){return e}function gy(e){}function yy(e){throw new Error}function _y(e){}function fs(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 Tn(e,t="|"){return e.map(r=>In(r)).join(t)}function ms(e,t){return typeof t=="bigint"?t.toString():t}function xr(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function kr(e){return e==null}function Sr(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function hs(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(e.toFixed(o).replace(".","")),i=Number.parseInt(t.toFixed(o).replace(".",""));return s%i/10**o}function H(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 gs(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function vy(e,t){return t?t.reduce((r,n)=>r?.[n],e):e}function wy(e){let t=Object.keys(e),r=t.map(n=>e[n]);return Promise.all(r).then(n=>{let o={};for(let s=0;s<t.length;s++)o[t[s]]=n[s];return o})}function by(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 Rn=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function Lt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var ys=xr(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function Bt(e){if(Lt(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let r=t.prototype;return!(Lt(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function $y(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}var xy=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}`)}},_s=new Set(["string","number","symbol"]),tu=new Set(["string","number","bigint","boolean","symbol","undefined"]);function at(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function He(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 ky(e){let t;return new Proxy({},{get(r,n,o){return t??(t=e()),Reflect.get(t,n,o)},set(r,n,o,s){return t??(t=e()),Reflect.set(t,n,o,s)},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 In(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function vs(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var ws={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]},ru={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Sy(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 He(e,{...e._zod.def,shape:r,checks:[]})}function zy(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 He(e,{...e._zod.def,shape:r,checks:[]})}function Ey(e,t){if(!Bt(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 gs(this,"shape",n),n},checks:[]};return He(e,r)}function Py(e,t){return He(e,{...e._zod.def,get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return gs(this,"shape",r),r},catchall:t._zod.def.catchall,checks:[]})}function Ty(e,t,r){let n=t._zod.def.shape,o={...n};if(r)for(let s in r){if(!(s in n))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(o[s]=e?new e({type:"optional",innerType:n[s]}):n[s])}else for(let s in n)o[s]=e?new e({type:"optional",innerType:n[s]}):n[s];return He(t,{...t._zod.def,shape:o,checks:[]})}function Ry(e,t,r){let n=t._zod.def.shape,o={...n};if(r)for(let s in r){if(!(s in o))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(o[s]=new e({type:"nonoptional",innerType:n[s]}))}else for(let s in n)o[s]=new e({type:"nonoptional",innerType:n[s]});return He(t,{...t._zod.def,shape:o,checks:[]})}function $t(e,t=0){for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function Ge(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function $r(e){return typeof e=="string"?e:e?.message}function De(e,t,r){let n={...e,path:e.path??[]};if(!e.message){let o=$r(e.inst?._zod.def?.error?.(e))??$r(t?.error?.(e))??$r(r.customError?.(e))??$r(r.localeError?.(e))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function nu(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function zr(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function bs(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}function Iy(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}var ps=class{constructor(...t){}};var ou=(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,ms,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Nn=y("$ZodError",ou),$s=y("$ZodError",ou,{Parent:Error});function su(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 iu(e,t){let r=t||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>o({issues:a}));else if(i.code==="invalid_key")o({issues:i.issues});else if(i.code==="invalid_element")o({issues:i.issues});else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let l=i.path[c];c===i.path.length-1?(a[l]=a[l]||{_errors:[]},a[l]._errors.push(r(i))):a[l]=a[l]||{_errors:[]},a=a[l],c++}}};return o(e),n}var au=e=>(t,r,n,o)=>{let s=n?Object.assign(n,{async:!1}):{async:!1},i=t._zod.run({value:r,issues:[]},s);if(i instanceof Promise)throw new et;if(i.issues.length){let a=new(o?.Err??e)(i.issues.map(c=>De(c,s,Re())));throw Rn(a,o?.callee),a}return i.value};var cu=e=>async(t,r,n,o)=>{let s=n?Object.assign(n,{async:!0}):{async:!0},i=t._zod.run({value:r,issues:[]},s);if(i instanceof Promise&&(i=await i),i.issues.length){let a=new(o?.Err??e)(i.issues.map(c=>De(c,s,Re())));throw Rn(a,o?.callee),a}return i.value};var xs=e=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new et;return s.issues.length?{success:!1,error:new(e??Nn)(s.issues.map(i=>De(i,o,Re())))}:{success:!0,data:s.value}},Er=xs($s),ks=e=>async(t,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},s=t._zod.run({value:r,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new e(s.issues.map(i=>De(i,o,Re())))}:{success:!0,data:s.value}},An=ks($s);var uu=/^[cC][^\s-]{8,}$/,lu=/^[0-9a-z]+$/,du=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,pu=/^[0-9a-vA-V]{20}$/,fu=/^[A-Za-z0-9]{27}$/,mu=/^[a-zA-Z0-9_-]{21}$/,hu=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var gu=/^([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})$/,Ss=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 yu=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var Ay="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function _u(){return new RegExp(Ay,"u")}var vu=/^(?:(?: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])$/,wu=/^(([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})$/,bu=/^((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])$/,$u=/^(([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])$/,xu=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,zs=/^[A-Za-z0-9_-]*$/,ku=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var Su=/^\+(?:[0-9]){6,14}[0-9]$/,zu="(?:(?:\\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])))",Eu=new RegExp(`^${zu}$`);function Pu(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 Tu(e){return new RegExp(`^${Pu(e)}$`)}function Ru(e){let t=Pu({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(`^${zu}T(?:${n})$`)}var Iu=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var Nu=/^\d+$/,Au=/^-?\d+(?:\.\d+)?/i,Cu=/true|false/i,Ou=/null/i;var ju=/^[^A-Z]*$/,Du=/^[^a-z]*$/;var fe=y("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),qu={number:"number",bigint:"bigint",object:"date"},Ps=y("$ZodCheckLessThan",(e,t)=>{fe.init(e,t);let r=qu[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,s=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<s&&(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})}}),Ts=y("$ZodCheckGreaterThan",(e,t)=>{fe.init(e,t);let r=qu[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,s=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>s&&(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})}}),Zu=y("$ZodCheckMultipleOf",(e,t)=>{fe.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):hs(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})}}),Mu=y("$ZodCheckNumberFormat",(e,t)=>{fe.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[o,s]=ws[t.format];e._zod.onattach.push(i=>{let a=i._zod.bag;a.format=t.format,a.minimum=o,a.maximum=s,r&&(a.pattern=Nu)}),e._zod.check=i=>{let a=i.value;if(r){if(!Number.isInteger(a)){i.issues.push({expected:n,format:t.format,code:"invalid_type",input:a,inst:e});return}if(!Number.isSafeInteger(a)){a>0?i.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}):i.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&&i.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),a>s&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inst:e})}});var Lu=y("$ZodCheckMaxLength",(e,t)=>{var r;fe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!kr(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 i=zr(o);n.issues.push({origin:i,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Bu=y("$ZodCheckMinLength",(e,t)=>{var r;fe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!kr(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 i=zr(o);n.issues.push({origin:i,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Uu=y("$ZodCheckLengthEquals",(e,t)=>{var r;fe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!kr(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,s=o.length;if(s===t.length)return;let i=zr(o),a=s>t.length;n.issues.push({origin:i,...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})}}),Pr=y("$ZodCheckStringFormat",(e,t)=>{var r,n;fe.init(e,t),e._zod.onattach.push(o=>{let s=o._zod.bag;s.format=t.format,t.pattern&&(s.patterns??(s.patterns=new Set),s.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=()=>{})}),Fu=y("$ZodCheckRegex",(e,t)=>{Pr.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})}}),Vu=y("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=ju),Pr.init(e,t)}),Ku=y("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Du),Pr.init(e,t)}),Hu=y("$ZodCheckIncludes",(e,t)=>{fe.init(e,t);let r=at(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(o=>{let s=o._zod.bag;s.patterns??(s.patterns=new Set),s.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})}}),Gu=y("$ZodCheckStartsWith",(e,t)=>{fe.init(e,t);let r=new RegExp(`^${at(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})}}),Ju=y("$ZodCheckEndsWith",(e,t)=>{fe.init(e,t);let r=new RegExp(`.*${at(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 Wu=y("$ZodCheckOverwrite",(e,t)=>{fe.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});var Cn=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(i=>i),o=Math.min(...n.map(i=>i.length-i.trimStart().length)),s=n.map(i=>i.slice(o)).map(i=>" ".repeat(this.indent*2)+i);for(let i of s)this.content.push(i)}compile(){let t=Function,r=this?.args,o=[...(this?.content??[""]).map(s=>` ${s}`)];return new t(...r,o.join(`
12
- `))}};var Yu={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=Yu;let n=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&n.unshift(e);for(let o of n)for(let s of o._zod.onattach)s(e);if(n.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(s,i,a)=>{let c=$t(s),l;for(let u of i){if(u._zod.def.when){if(!u._zod.def.when(s))continue}else if(c)continue;let d=s.issues.length,p=u._zod.check(s);if(p instanceof Promise&&a?.async===!1)throw new et;if(l||p instanceof Promise)l=(l??Promise.resolve()).then(async()=>{await p,s.issues.length!==d&&(c||(c=$t(s,d)))});else{if(s.issues.length===d)continue;c||(c=$t(s,d))}}return l?l.then(()=>s):s};e._zod.run=(s,i)=>{let a=e._zod.parse(s,i);if(a instanceof Promise){if(i.async===!1)throw new et;return a.then(c=>o(c,n,i))}return o(a,n,i)}}e["~standard"]={validate:o=>{try{let s=Er(e,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return An(e,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),jn=y("$ZodString",(e,t)=>{G.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Iu(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}}),W=y("$ZodStringFormat",(e,t)=>{Pr.init(e,t),jn.init(e,t)}),cl=y("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=gu),W.init(e,t)}),ul=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=Ss(n))}else t.pattern??(t.pattern=Ss());W.init(e,t)}),ll=y("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=yu),W.init(e,t)}),dl=y("$ZodURL",(e,t)=>{W.init(e,t),e._zod.check=r=>{try{let n=r.value,o=new URL(n),s=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:ku.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("/")&&s.endsWith("/")?r.value=s.slice(0,-1):r.value=s;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),pl=y("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=_u()),W.init(e,t)}),fl=y("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=mu),W.init(e,t)}),ml=y("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=uu),W.init(e,t)}),hl=y("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=lu),W.init(e,t)}),gl=y("$ZodULID",(e,t)=>{t.pattern??(t.pattern=du),W.init(e,t)}),yl=y("$ZodXID",(e,t)=>{t.pattern??(t.pattern=pu),W.init(e,t)}),_l=y("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=fu),W.init(e,t)}),vl=y("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Ru(t)),W.init(e,t)}),wl=y("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Eu),W.init(e,t)}),bl=y("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Tu(t)),W.init(e,t)}),$l=y("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=hu),W.init(e,t)}),xl=y("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=vu),W.init(e,t),e._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),kl=y("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=wu),W.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})}}}),Sl=y("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=bu),W.init(e,t)}),zl=y("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=$u),W.init(e,t),e._zod.check=r=>{let[n,o]=r.value.split("/");try{if(!o)throw new Error;let s=Number(o);if(`${s}`!==o)throw new Error;if(s<0||s>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 El(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var Pl=y("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=xu),W.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),e._zod.check=r=>{El(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function Cy(e){if(!zs.test(e))return!1;let t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return El(r)}var Tl=y("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=zs),W.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),e._zod.check=r=>{Cy(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),Rl=y("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Su),W.init(e,t)});function Oy(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 Il=y("$ZodJWT",(e,t)=>{W.init(e,t),e._zod.check=r=>{Oy(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}});var Is=y("$ZodNumber",(e,t)=>{G.init(e,t),e._zod.pattern=e._zod.bag.pattern??Au,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 s=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,...s?{received:s}:{}}),r}}),Nl=y("$ZodNumber",(e,t)=>{Mu.init(e,t),Is.init(e,t)}),Al=y("$ZodBoolean",(e,t)=>{G.init(e,t),e._zod.pattern=Cu,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 Cl=y("$ZodNull",(e,t)=>{G.init(e,t),e._zod.pattern=Ou,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 Ol=y("$ZodUnknown",(e,t)=>{G.init(e,t),e._zod.parse=r=>r}),jl=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 Xu(e,t,r){e.issues.length&&t.issues.push(...Ge(r,e.issues)),t.value[r]=e.value}var Dl=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 s=[];for(let i=0;i<o.length;i++){let a=o[i],c=t.element._zod.run({value:a,issues:[]},n);c instanceof Promise?s.push(c.then(l=>Xu(l,r,i))):Xu(c,r,i)}return s.length?Promise.all(s).then(()=>r):r}});function On(e,t,r){e.issues.length&&t.issues.push(...Ge(r,e.issues)),t.value[r]=e.value}function el(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(...Ge(r,e.issues)):e.value===void 0?r in n&&(t.value[r]=void 0):t.value[r]=e.value}var ql=y("$ZodObject",(e,t)=>{G.init(e,t);let r=xr(()=>{let d=Object.keys(t.shape);for(let f of d)if(!(t.shape[f]instanceof G))throw new Error(`Invalid element at key "${f}": expected a Zod schema`);let p=vs(t.shape);return{shape:t.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(p)}});H(e._zod,"propValues",()=>{let d=t.shape,p={};for(let f in d){let h=d[f]._zod;if(h.values){p[f]??(p[f]=new Set);for(let g of h.values)p[f].add(g)}}return p});let n=d=>{let p=new Cn(["shape","payload","ctx"]),f=r.value,h=b=>{let $=bt(b);return`shape[${$}]._zod.run({ value: input[${$}], issues: [] }, ctx)`};p.write("const input = payload.value;");let g=Object.create(null),_=0;for(let b of f.keys)g[b]=`key_${_++}`;p.write("const newResult = {}");for(let b of f.keys)if(f.optionalKeys.has(b)){let $=g[b];p.write(`const ${$} = ${h(b)};`);let E=bt(b);p.write(`
10
+ deps: ${r}}`};var Qx={keyword:"dependencies",type:"object",schemaType:"object",error:Qe.error,code(e){let[t,r]=Yx(e);Em(e,t),zm(e,r)}};function Yx({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 Em(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,_n.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,_n.checkReportMissingProp)(e,l)}):(r.if((0,Ja._)`${c} && (${(0,_n.checkMissingProp)(e,a,i)})`),(0,_n.reportMissingProp)(e,i),r.else())}}Qe.validatePropertyDeps=Em;function zm(e,t=e.schema){let{gen:r,data:n,keyword:o,it:i}=e,s=r.name("valid");for(let a in t)(0,Wx.alwaysValidSchema)(i,t[a])||(r.if((0,_n.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))}Qe.validateSchemaDeps=zm;Qe.default=Qx});var Rm=v(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});var Pm=C(),Xx=Z(),ek={message:"property name must be valid",params:({params:e})=>(0,Pm._)`{propertyName: ${e.propertyName}}`},tk={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:ek,code(e){let{gen:t,schema:r,data:n,it:o}=e;if((0,Xx.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,Pm.not)(i),()=>{e.error(!0),o.allErrors||t.break()})}),e.ok(i)}};Wa.default=tk});var Ya=v(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});var Io=Ce(),Le=C(),rk=ot(),No=Z(),nk={message:"must NOT have additional properties",params:({params:e})=>(0,Le._)`{additionalProperty: ${e.additionalProperty}}`},ok={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:nk,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,No.alwaysValidSchema)(s,r))return;let l=(0,Io.allSchemaProperties)(n.properties),u=(0,Io.allSchemaProperties)(n.patternProperties);d(),e.ok((0,Le._)`${i} === ${rk.default.errors}`);function d(){t.forIn("key",o,_=>{!l.length&&!u.length?h(_):t.if(p(_),()=>h(_))})}function p(_){let b;if(l.length>8){let w=(0,No.schemaRefOrVal)(s,n.properties,"properties");b=(0,Io.isOwnProperty)(t,w,_)}else l.length?b=(0,Le.or)(...l.map(w=>(0,Le._)`${_} === ${w}`)):b=Le.nil;return u.length&&(b=(0,Le.or)(b,...u.map(w=>(0,Le._)`${(0,Io.usePattern)(e,w)}.test(${_})`))),(0,Le.not)(b)}function f(_){t.code((0,Le._)`delete ${o}[${_}]`)}function h(_){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){f(_);return}if(r===!1){e.setParams({additionalProperty:_}),e.error(),a||t.break();return}if(typeof r=="object"&&!(0,No.alwaysValidSchema)(s,r)){let b=t.name("valid");c.removeAdditional==="failing"?(g(_,b,!1),t.if((0,Le.not)(b),()=>{e.reset(),f(_)})):(g(_,b),a||t.if((0,Le.not)(b),()=>t.break()))}}function g(_,b,w){let $={keyword:"additionalProperties",dataProp:_,dataPropType:No.Type.Str};w===!1&&Object.assign($,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema($,b)}}};Qa.default=ok});var Am=v(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});var ik=nn(),Im=Ce(),Xa=Z(),Nm=Ya(),sk={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&&Nm.default.code(new ik.KeywordCxt(i,Nm.default,"additionalProperties"));let s=(0,Im.allSchemaProperties)(r);for(let d of s)i.definedProperties.add(d);i.opts.unevaluated&&s.length&&i.props!==!0&&(i.props=Xa.mergeEvaluated.props(t,(0,Xa.toHash)(s),i.props));let a=s.filter(d=>!(0,Xa.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,Im.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)}}};ec.default=sk});var Dm=v(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});var Cm=Ce(),Ao=C(),Om=Z(),jm=Z(),ak={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,Cm.allSchemaProperties)(r),c=a.filter(g=>(0,Om.alwaysValidSchema)(i,r[g]));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 Ao.Name)&&(i.props=(0,jm.evaluatedPropsToName)(t,i.props));let{props:d}=i;p();function p(){for(let g of a)l&&f(g),i.allErrors?h(g):(t.var(u,!0),h(g),t.if(u))}function f(g){for(let _ in l)new RegExp(g).test(_)&&(0,Om.checkStrictMode)(i,`property ${_} matches pattern ${g} (use allowMatchingProperties)`)}function h(g){t.forIn("key",n,_=>{t.if((0,Ao._)`${(0,Cm.usePattern)(e,g)}.test(${_})`,()=>{let b=c.includes(g);b||e.subschema({keyword:"patternProperties",schemaProp:g,dataProp:_,dataPropType:jm.Type.Str},u),i.opts.unevaluated&&d!==!0?t.assign((0,Ao._)`${d}[${_}]`,!0):!b&&!i.allErrors&&t.if((0,Ao.not)(u),()=>t.break())})})}}};tc.default=ak});var Mm=v(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});var ck=Z(),uk={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,ck.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"}};rc.default=uk});var qm=v(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});var lk=Ce(),dk={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:lk.validateUnion,error:{message:"must match a schema in anyOf"}};nc.default=dk});var Zm=v(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});var Co=C(),pk=Z(),fk={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,Co._)`{passingSchemas: ${e.passing}}`},mk={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:fk,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 p;(0,pk.alwaysValidSchema)(o,u)?t.var(c,!0):p=e.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&t.if((0,Co._)`${c} && ${s}`).assign(s,!1).assign(a,(0,Co._)`[${a}, ${d}]`).else(),t.if(c,()=>{t.assign(s,!0),t.assign(a,d),p&&e.mergeEvaluated(p,Co.Name)})})}}};oc.default=mk});var Bm=v(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});var hk=Z(),gk={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,hk.alwaysValidSchema)(n,i))return;let a=e.subschema({keyword:"allOf",schemaProp:s},o);e.ok(o),e.mergeEvaluated(a)})}};ic.default=gk});var Fm=v(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});var Oo=C(),Um=Z(),yk={message:({params:e})=>(0,Oo.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,Oo._)`{failingKeyword: ${e.ifClause}}`},_k={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:yk,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,Um.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=Lm(n,"then"),i=Lm(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,Oo.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 p=e.subschema({keyword:u},a);t.assign(s,a),e.mergeValidEvaluated(p,s),d?t.assign(d,(0,Oo._)`${u}`):e.setParams({ifClause:u})}}}};function Lm(e,t){let r=e.schema[t];return r!==void 0&&!(0,Um.alwaysValidSchema)(e,r)}sc.default=_k});var Vm=v(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});var vk=Z(),bk={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,vk.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};ac.default=bk});var Km=v(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});var wk=Fa(),$k=$m(),xk=Va(),kk=km(),Sk=Sm(),Ek=Tm(),zk=Rm(),Tk=Ya(),Pk=Am(),Rk=Dm(),Ik=Mm(),Nk=qm(),Ak=Zm(),Ck=Bm(),Ok=Fm(),jk=Vm();function Dk(e=!1){let t=[Ik.default,Nk.default,Ak.default,Ck.default,Ok.default,jk.default,zk.default,Tk.default,Ek.default,Pk.default,Rk.default];return e?t.push($k.default,kk.default):t.push(wk.default,xk.default),t.push(Sk.default),t}cc.default=Dk});var Hm=v(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});var oe=C(),Mk={message:({schemaCode:e})=>(0,oe.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,oe._)`{format: ${e}}`},qk={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:Mk,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?p():f();function p(){let h=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),g=r.const("fDef",(0,oe._)`${h}[${s}]`),_=r.let("fType"),b=r.let("format");r.if((0,oe._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>r.assign(_,(0,oe._)`${g}.type || "string"`).assign(b,(0,oe._)`${g}.validate`),()=>r.assign(_,(0,oe._)`"string"`).assign(b,g)),e.fail$data((0,oe.or)(w(),$()));function w(){return c.strictSchema===!1?oe.nil:(0,oe._)`${s} && !${b}`}function $(){let z=u.$async?(0,oe._)`(${g}.async ? await ${b}(${n}) : ${b}(${n}))`:(0,oe._)`${b}(${n})`,P=(0,oe._)`(typeof ${b} == "function" ? ${z} : ${b}.test(${n}))`;return(0,oe._)`${b} && ${b} !== true && ${_} === ${t} && !${P}`}}function f(){let h=d.formats[i];if(!h){w();return}if(h===!0)return;let[g,_,b]=$(h);g===t&&e.pass(z());function w(){if(c.strictSchema===!1){d.logger.warn(P());return}throw new Error(P());function P(){return`unknown format "${i}" ignored in schema at path "${l}"`}}function $(P){let ye=P instanceof RegExp?(0,oe.regexpCode)(P):c.code.formats?(0,oe._)`${c.code.formats}${(0,oe.getProperty)(i)}`:void 0,Pe=r.scopeValue("formats",{key:i,ref:P,code:ye});return typeof P=="object"&&!(P instanceof RegExp)?[P.type||"string",P.validate,(0,oe._)`${Pe}.validate`]:["string",P,Pe]}function z(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!u.$async)throw new Error("async format in sync schema");return(0,oe._)`await ${b}(${n})`}return typeof _=="function"?(0,oe._)`${b}(${n})`:(0,oe._)`${b}.test(${n})`}}}};uc.default=qk});var Gm=v(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});var Zk=Hm(),Bk=[Zk.default];lc.default=Bk});var Jm=v(ir=>{"use strict";Object.defineProperty(ir,"__esModule",{value:!0});ir.contentVocabulary=ir.metadataVocabulary=void 0;ir.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];ir.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Qm=v(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});var Lk=om(),Uk=_m(),Fk=Km(),Vk=Gm(),Wm=Jm(),Kk=[Lk.default,Uk.default,(0,Fk.default)(),Vk.default,Wm.metadataVocabulary,Wm.contentVocabulary];dc.default=Kk});var Xm=v(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.DiscrError=void 0;var Ym;(function(e){e.Tag="tag",e.Mapping="mapping"})(Ym||(jo.DiscrError=Ym={}))});var th=v(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});var sr=C(),pc=Xm(),eh=vo(),Hk=on(),Gk=Z(),Jk={message:({params:{discrError:e,tagName:t}})=>e===pc.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,sr._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},Wk={keyword:"discriminator",type:"object",schemaType:"object",error:Jk,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,sr._)`${r}${(0,sr.getProperty)(a)}`);t.if((0,sr._)`typeof ${l} == "string"`,()=>u(),()=>e.error(!1,{discrError:pc.DiscrError.Tag,tag:l,tagName:a})),e.ok(c);function u(){let f=p();t.if(!1);for(let h in f)t.elseIf((0,sr._)`${l} === ${h}`),t.assign(c,d(f[h]));t.else(),e.error(!1,{discrError:pc.DiscrError.Mapping,tag:l,tagName:a}),t.endIf()}function d(f){let h=t.name("valid"),g=e.subschema({keyword:"oneOf",schemaProp:f},h);return e.mergeEvaluated(g,sr.Name),h}function p(){var f;let h={},g=b(o),_=!0;for(let z=0;z<s.length;z++){let P=s[z];if(P?.$ref&&!(0,Gk.schemaHasRulesButRef)(P,i.self.RULES)){let Pe=P.$ref;if(P=eh.resolveRef.call(i.self,i.schemaEnv.root,i.baseId,Pe),P instanceof eh.SchemaEnv&&(P=P.schema),P===void 0)throw new Hk.default(i.opts.uriResolver,i.baseId,Pe)}let ye=(f=P?.properties)===null||f===void 0?void 0:f[a];if(typeof ye!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);_=_&&(g||b(P)),w(ye,z)}if(!_)throw new Error(`discriminator: "${a}" must be required`);return h;function b({required:z}){return Array.isArray(z)&&z.includes(a)}function w(z,P){if(z.const)$(z.const,P);else if(z.enum)for(let ye of z.enum)$(ye,P);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function $(z,P){if(typeof z!="string"||z in h)throw new Error(`discriminator: "${a}" values must be unique strings`);h[z]=P}}}};fc.default=Wk});var rh=v((FO,Qk)=>{Qk.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 hc=v((X,mc)=>{"use strict";Object.defineProperty(X,"__esModule",{value:!0});X.MissingRefError=X.ValidationError=X.CodeGen=X.Name=X.nil=X.stringify=X.str=X._=X.KeywordCxt=X.Ajv=void 0;var Yk=Yf(),Xk=Qm(),eS=th(),nh=rh(),tS=["/properties"],Do="http://json-schema.org/draft-07/schema",ar=class extends Yk.default{_addVocabularies(){super._addVocabularies(),Xk.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(eS.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(nh,tS):nh;this.addMetaSchema(t,Do,!1),this.refs["http://json-schema.org/schema"]=Do}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Do)?Do:void 0)}};X.Ajv=ar;mc.exports=X=ar;mc.exports.Ajv=ar;Object.defineProperty(X,"__esModule",{value:!0});X.default=ar;var rS=nn();Object.defineProperty(X,"KeywordCxt",{enumerable:!0,get:function(){return rS.KeywordCxt}});var cr=C();Object.defineProperty(X,"_",{enumerable:!0,get:function(){return cr._}});Object.defineProperty(X,"str",{enumerable:!0,get:function(){return cr.str}});Object.defineProperty(X,"stringify",{enumerable:!0,get:function(){return cr.stringify}});Object.defineProperty(X,"nil",{enumerable:!0,get:function(){return cr.nil}});Object.defineProperty(X,"Name",{enumerable:!0,get:function(){return cr.Name}});Object.defineProperty(X,"CodeGen",{enumerable:!0,get:function(){return cr.CodeGen}});var nS=yo();Object.defineProperty(X,"ValidationError",{enumerable:!0,get:function(){return nS.default}});var oS=on();Object.defineProperty(X,"MissingRefError",{enumerable:!0,get:function(){return oS.default}})});var dh=v(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.formatNames=Xe.fastFormats=Xe.fullFormats=void 0;function Ye(e,t){return{validate:e,compare:t}}Xe.fullFormats={date:Ye(ah,vc),time:Ye(yc(!0),bc),"date-time":Ye(oh(!0),uh),"iso-time":Ye(yc(),ch),"iso-date-time":Ye(oh(),lh),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:lS,"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:yS,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:dS,int32:{type:"number",validate:mS},int64:{type:"number",validate:hS},float:{type:"number",validate:sh},double:{type:"number",validate:sh},password:!0,binary:!0};Xe.fastFormats={...Xe.fullFormats,date:Ye(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,vc),time:Ye(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,bc),"date-time":Ye(/^\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,uh),"iso-time":Ye(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,ch),"iso-date-time":Ye(/^\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,lh),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};Xe.formatNames=Object.keys(Xe.fullFormats);function iS(e){return e%4===0&&(e%100!==0||e%400===0)}var sS=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,aS=[0,31,28,31,30,31,30,31,31,30,31,30,31];function ah(e){let t=sS.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&&iS(r)?29:aS[n])}function vc(e,t){if(e&&t)return e>t?1:e<t?-1:0}var gc=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function yc(e){return function(r){let n=gc.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,p=o-l*c-(d<0?1:0);return(p===23||p===-1)&&(d===59||d===-1)&&s<61}}function bc(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 ch(e,t){if(!(e&&t))return;let r=gc.exec(e),n=gc.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 _c=/t|\s/i;function oh(e){let t=yc(e);return function(n){let o=n.split(_c);return o.length===2&&ah(o[0])&&t(o[1])}}function uh(e,t){if(!(e&&t))return;let r=new Date(e).valueOf(),n=new Date(t).valueOf();if(r&&n)return r-n}function lh(e,t){if(!(e&&t))return;let[r,n]=e.split(_c),[o,i]=t.split(_c),s=vc(r,o);if(s!==void 0)return s||bc(n,i)}var cS=/\/|:/,uS=/^(?:[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 lS(e){return cS.test(e)&&uS.test(e)}var ih=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function dS(e){return ih.lastIndex=0,ih.test(e)}var pS=-(2**31),fS=2**31-1;function mS(e){return Number.isInteger(e)&&e<=fS&&e>=pS}function hS(e){return Number.isInteger(e)}function sh(){return!0}var gS=/[^\\]\\Z/;function yS(e){if(gS.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}});var ph=v(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.formatLimitDefinition=void 0;var _S=hc(),Ue=C(),_t=Ue.operators,Mo={formatMaximum:{okStr:"<=",ok:_t.LTE,fail:_t.GT},formatMinimum:{okStr:">=",ok:_t.GTE,fail:_t.LT},formatExclusiveMaximum:{okStr:"<",ok:_t.LT,fail:_t.GTE},formatExclusiveMinimum:{okStr:">",ok:_t.GT,fail:_t.LTE}},vS={message:({keyword:e,schemaCode:t})=>(0,Ue.str)`should be ${Mo[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,Ue._)`{comparison: ${Mo[e].okStr}, limit: ${t}}`};ur.formatLimitDefinition={keyword:Object.keys(Mo),type:"string",schemaType:"string",$data:!0,error:vS,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 _S.KeywordCxt(i,a.RULES.all.format.definition,"format");c.$data?l():u();function l(){let p=t.scopeValue("formats",{ref:a.formats,code:s.code.formats}),f=t.const("fmt",(0,Ue._)`${p}[${c.schemaCode}]`);e.fail$data((0,Ue.or)((0,Ue._)`typeof ${f} != "object"`,(0,Ue._)`${f} instanceof RegExp`,(0,Ue._)`typeof ${f}.compare != "function"`,d(f)))}function u(){let p=c.schema,f=a.formats[p];if(!f||f===!0)return;if(typeof f!="object"||f instanceof RegExp||typeof f.compare!="function")throw new Error(`"${o}": format "${p}" does not define "compare" function`);let h=t.scopeValue("formats",{key:p,ref:f,code:s.code.formats?(0,Ue._)`${s.code.formats}${(0,Ue.getProperty)(p)}`:void 0});e.fail$data(d(h))}function d(p){return(0,Ue._)`${p}.compare(${r}, ${n}) ${Mo[o].fail} 0`}},dependencies:["format"]};var bS=e=>(e.addKeyword(ur.formatLimitDefinition),e);ur.default=bS});var gh=v((vn,hh)=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});var lr=dh(),wS=ph(),wc=C(),fh=new wc.Name("fullFormats"),$S=new wc.Name("fastFormats"),$c=(e,t={keywords:!0})=>{if(Array.isArray(t))return mh(e,t,lr.fullFormats,fh),e;let[r,n]=t.mode==="fast"?[lr.fastFormats,$S]:[lr.fullFormats,fh],o=t.formats||lr.formatNames;return mh(e,o,r,n),t.keywords&&(0,wS.default)(e),e};$c.get=(e,t="full")=>{let n=(t==="fast"?lr.fastFormats:lr.fullFormats)[e];if(!n)throw new Error(`Unknown format "${e}"`);return n};function mh(e,t,r,n){var o,i;(o=(i=e.opts.code).formats)!==null&&o!==void 0||(i.formats=(0,wc._)`require("ajv-formats/dist/formats").${n}`);for(let s of t)e.addFormat(s,r[s])}hh.exports=vn=$c;Object.defineProperty(vn,"__esModule",{value:!0});vn.default=$c});var Sh=v((o1,kh)=>{kh.exports=xh;xh.sync=ES;var wh=st("fs");function SS(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 $h(e,t,r){return!e.isSymbolicLink()&&!e.isFile()?!1:SS(t,r)}function xh(e,t,r){wh.stat(e,function(n,o){r(n,n?!1:$h(o,e,t))})}function ES(e,t){return $h(wh.statSync(e),e,t)}});var Rh=v((i1,Ph)=>{Ph.exports=zh;zh.sync=zS;var Eh=st("fs");function zh(e,t,r){Eh.stat(e,function(n,o){r(n,n?!1:Th(o,t))})}function zS(e,t){return Th(Eh.statSync(e),t)}function Th(e,t){return e.isFile()&&TS(e,t)}function TS(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 Nh=v((a1,Ih)=>{var s1=st("fs"),Uo;process.platform==="win32"||global.TESTING_WINDOWS?Uo=Sh():Uo=Rh();Ih.exports=xc;xc.sync=PS;function xc(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){xc(e,t||{},function(i,s){i?o(i):n(s)})})}Uo(e,t||{},function(n,o){n&&(n.code==="EACCES"||t&&t.ignoreErrors)&&(n=null,o=!1),r(n,o)})}function PS(e,t){try{return Uo.sync(e,t||{})}catch(r){if(t&&t.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var qh=v((c1,Mh)=>{var dr=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Ah=st("path"),RS=dr?";":":",Ch=Nh(),Oh=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),jh=(e,t)=>{let r=t.colon||RS,n=e.match(/\//)||dr&&e.match(/\\/)?[""]:[...dr?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(r)],o=dr?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",i=dr?o.split(r):[""];return dr&&e.indexOf(".")!==-1&&i[0]!==""&&i.unshift(""),{pathEnv:n,pathExt:i,pathExtExe:o}},Dh=(e,t,r)=>{typeof t=="function"&&(r=t,t={}),t||(t={});let{pathEnv:n,pathExt:o,pathExtExe:i}=jh(e,t),s=[],a=l=>new Promise((u,d)=>{if(l===n.length)return t.all&&s.length?u(s):d(Oh(e));let p=n[l],f=/^".*"$/.test(p)?p.slice(1,-1):p,h=Ah.join(f,e),g=!f&&/^\.[\\\/]/.test(e)?e.slice(0,2)+h:h;u(c(g,l,0))}),c=(l,u,d)=>new Promise((p,f)=>{if(d===o.length)return p(a(u+1));let h=o[d];Ch(l+h,{pathExt:i},(g,_)=>{if(!g&&_)if(t.all)s.push(l+h);else return p(l+h);return p(c(l,u,d+1))})});return r?a(0).then(l=>r(null,l),r):a(0)},IS=(e,t)=>{t=t||{};let{pathEnv:r,pathExt:n,pathExtExe:o}=jh(e,t),i=[];for(let s=0;s<r.length;s++){let a=r[s],c=/^".*"$/.test(a)?a.slice(1,-1):a,l=Ah.join(c,e),u=!c&&/^\.[\\\/]/.test(e)?e.slice(0,2)+l:l;for(let d=0;d<n.length;d++){let p=u+n[d];try{if(Ch.sync(p,{pathExt:o}))if(t.all)i.push(p);else return p}catch{}}}if(t.all&&i.length)return i;if(t.nothrow)return null;throw Oh(e)};Mh.exports=Dh;Dh.sync=IS});var Bh=v((u1,kc)=>{"use strict";var Zh=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(n=>n.toUpperCase()==="PATH")||"Path"};kc.exports=Zh;kc.exports.default=Zh});var Vh=v((l1,Fh)=>{"use strict";var Lh=st("path"),NS=qh(),AS=Bh();function Uh(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=NS.sync(e.command,{path:r[AS({env:r})],pathExt:t?Lh.delimiter:void 0})}catch{}finally{i&&process.chdir(n)}return s&&(s=Lh.resolve(o?e.options.cwd:"",s)),s}function CS(e){return Uh(e)||Uh(e,!0)}Fh.exports=CS});var Kh=v((d1,Ec)=>{"use strict";var Sc=/([()\][%!^"`<>&|;, *?])/g;function OS(e){return e=e.replace(Sc,"^$1"),e}function jS(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(Sc,"^$1"),t&&(e=e.replace(Sc,"^$1")),e}Ec.exports.command=OS;Ec.exports.argument=jS});var Gh=v((p1,Hh)=>{"use strict";Hh.exports=/^#!(.*)/});var Wh=v((f1,Jh)=>{"use strict";var DS=Gh();Jh.exports=(e="")=>{let t=e.match(DS);if(!t)return null;let[r,n]=t[0].replace(/#! ?/,"").split(" "),o=r.split("/").pop();return o==="env"?n:n?`${o} ${n}`:o}});var Yh=v((m1,Qh)=>{"use strict";var zc=st("fs"),MS=Wh();function qS(e){let r=Buffer.alloc(150),n;try{n=zc.openSync(e,"r"),zc.readSync(n,r,0,150,0),zc.closeSync(n)}catch{}return MS(r.toString())}Qh.exports=qS});var rg=v((h1,tg)=>{"use strict";var ZS=st("path"),Xh=Vh(),eg=Kh(),BS=Yh(),LS=process.platform==="win32",US=/\.(?:com|exe)$/i,FS=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function VS(e){e.file=Xh(e);let t=e.file&&BS(e.file);return t?(e.args.unshift(e.file),e.command=t,Xh(e)):e.file}function KS(e){if(!LS)return e;let t=VS(e),r=!US.test(t);if(e.options.forceShell||r){let n=FS.test(t);e.command=ZS.normalize(e.command),e.command=eg.command(e.command),e.args=e.args.map(i=>eg.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 HS(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:KS(n)}tg.exports=HS});var ig=v((g1,og)=>{"use strict";var Tc=process.platform==="win32";function Pc(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 GS(e,t){if(!Tc)return;let r=e.emit;e.emit=function(n,o){if(n==="exit"){let i=ng(o,t);if(i)return r.call(e,"error",i)}return r.apply(e,arguments)}}function ng(e,t){return Tc&&e===1&&!t.file?Pc(t.original,"spawn"):null}function JS(e,t){return Tc&&e===1&&!t.file?Pc(t.original,"spawnSync"):null}og.exports={hookChildProcess:GS,verifyENOENT:ng,verifyENOENTSync:JS,notFoundError:Pc}});var cg=v((y1,pr)=>{"use strict";var sg=st("child_process"),Rc=rg(),Ic=ig();function ag(e,t,r){let n=Rc(e,t,r),o=sg.spawn(n.command,n.args,n.options);return Ic.hookChildProcess(o,n),o}function WS(e,t,r){let n=Rc(e,t,r),o=sg.spawnSync(n.command,n.args,n.options);return o.error=o.error||Ic.verifyENOENTSync(o.status,n),o}pr.exports=ag;pr.exports.spawn=ag;pr.exports.sync=WS;pr.exports._parse=Rc;pr.exports._enoent=Ic});import{readFile as OT,mkdir as jT,writeFile as DT}from"node:fs/promises";import{dirname as MT,join as py}from"node:path";var nP=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 oP=Symbol("zod_brand"),et=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Tn={};function Re(e){return e&&Object.assign(Tn,e),Tn}var U={};tu(U,{BIGINT_FORMAT_RANGES:()=>nu,Class:()=>fi,NUMBER_FORMAT_RANGES:()=>wi,aborted:()=>$t,allowsEval:()=>_i,assert:()=>ky,assertEqual:()=>by,assertIs:()=>$y,assertNever:()=>xy,assertNotEqual:()=>wy,assignProp:()=>yi,cached:()=>xr,captureStackTrace:()=>Rn,cleanEnum:()=>Dy,cleanRegex:()=>Sr,clone:()=>He,createTransparentProxy:()=>Ry,defineLazy:()=>H,esc:()=>wt,escapeRegex:()=>at,extend:()=>Ay,finalizeIssue:()=>De,floatSafeRemainder:()=>gi,getElementAtPath:()=>Sy,getEnumValues:()=>mi,getLengthableOrigin:()=>Er,getParsedType:()=>Py,getSizableOrigin:()=>ou,isObject:()=>Bt,isPlainObject:()=>Lt,issue:()=>$i,joinValues:()=>Pn,jsonStringifyReplacer:()=>hi,merge:()=>Cy,normalizeParams:()=>T,nullish:()=>kr,numKeys:()=>Ty,omit:()=>Ny,optionalKeys:()=>bi,partial:()=>Oy,pick:()=>Iy,prefixIssues:()=>Ge,primitiveTypes:()=>ru,promiseAllObject:()=>Ey,propertyKeyTypes:()=>vi,randomString:()=>zy,required:()=>jy,stringifyPrimitive:()=>In,unwrapMessage:()=>$r});function by(e){return e}function wy(e){return e}function $y(e){}function xy(e){throw new Error}function ky(e){}function mi(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 Pn(e,t="|"){return e.map(r=>In(r)).join(t)}function hi(e,t){return typeof t=="bigint"?t.toString():t}function xr(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function kr(e){return e==null}function Sr(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function gi(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 H(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 yi(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Sy(e,t){return t?t.reduce((r,n)=>r?.[n],e):e}function Ey(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 zy(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<e;n++)r+=t[Math.floor(Math.random()*t.length)];return r}function wt(e){return JSON.stringify(e)}var Rn=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function Bt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var _i=xr(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function Lt(e){if(Bt(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let r=t.prototype;return!(Bt(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Ty(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}var Py=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}`)}},vi=new Set(["string","number","symbol"]),ru=new Set(["string","number","bigint","boolean","symbol","undefined"]);function at(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function He(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function T(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 Ry(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 In(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function bi(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var wi={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]},nu={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Iy(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 He(e,{...e._zod.def,shape:r,checks:[]})}function Ny(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 He(e,{...e._zod.def,shape:r,checks:[]})}function Ay(e,t){if(!Lt(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 yi(this,"shape",n),n},checks:[]};return He(e,r)}function Cy(e,t){return He(e,{...e._zod.def,get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return yi(this,"shape",r),r},catchall:t._zod.def.catchall,checks:[]})}function Oy(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 He(t,{...t._zod.def,shape:o,checks:[]})}function jy(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 He(t,{...t._zod.def,shape:o,checks:[]})}function $t(e,t=0){for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function Ge(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function $r(e){return typeof e=="string"?e:e?.message}function De(e,t,r){let n={...e,path:e.path??[]};if(!e.message){let o=$r(e.inst?._zod.def?.error?.(e))??$r(t?.error?.(e))??$r(r.customError?.(e))??$r(r.localeError?.(e))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function ou(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function Er(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function $i(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}function Dy(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}var fi=class{constructor(...t){}};var iu=(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,hi,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Nn=y("$ZodError",iu),xi=y("$ZodError",iu,{Parent:Error});function su(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 au(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 cu=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 et;if(s.issues.length){let a=new(o?.Err??e)(s.issues.map(c=>De(c,i,Re())));throw Rn(a,o?.callee),a}return s.value};var uu=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=>De(c,i,Re())));throw Rn(a,o?.callee),a}return s.value};var ki=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 et;return i.issues.length?{success:!1,error:new(e??Nn)(i.issues.map(s=>De(s,o,Re())))}:{success:!0,data:i.value}},zr=ki(xi),Si=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=>De(s,o,Re())))}:{success:!0,data:i.value}},An=Si(xi);var lu=/^[cC][^\s-]{8,}$/,du=/^[0-9a-z]+$/,pu=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,fu=/^[0-9a-vA-V]{20}$/,mu=/^[A-Za-z0-9]{27}$/,hu=/^[a-zA-Z0-9_-]{21}$/,gu=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var yu=/^([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})$/,Ei=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 _u=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var qy="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function vu(){return new RegExp(qy,"u")}var bu=/^(?:(?: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])$/,wu=/^(([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})$/,$u=/^((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])$/,xu=/^(([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])$/,ku=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,zi=/^[A-Za-z0-9_-]*$/,Su=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var Eu=/^\+(?:[0-9]){6,14}[0-9]$/,zu="(?:(?:\\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])))",Tu=new RegExp(`^${zu}$`);function Pu(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 Ru(e){return new RegExp(`^${Pu(e)}$`)}function Iu(e){let t=Pu({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(`^${zu}T(?:${n})$`)}var Nu=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var Au=/^\d+$/,Cu=/^-?\d+(?:\.\d+)?/i,Ou=/true|false/i,ju=/null/i;var Du=/^[^A-Z]*$/,Mu=/^[^a-z]*$/;var fe=y("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),qu={number:"number",bigint:"bigint",object:"date"},Pi=y("$ZodCheckLessThan",(e,t)=>{fe.init(e,t);let r=qu[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})}}),Ri=y("$ZodCheckGreaterThan",(e,t)=>{fe.init(e,t);let r=qu[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})}}),Zu=y("$ZodCheckMultipleOf",(e,t)=>{fe.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):gi(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})}}),Bu=y("$ZodCheckNumberFormat",(e,t)=>{fe.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[o,i]=wi[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=Au)}),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 Lu=y("$ZodCheckMaxLength",(e,t)=>{var r;fe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!kr(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=Er(o);n.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Uu=y("$ZodCheckMinLength",(e,t)=>{var r;fe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!kr(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=Er(o);n.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Fu=y("$ZodCheckLengthEquals",(e,t)=>{var r;fe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!kr(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=Er(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})}}),Tr=y("$ZodCheckStringFormat",(e,t)=>{var r,n;fe.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=()=>{})}),Vu=y("$ZodCheckRegex",(e,t)=>{Tr.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})}}),Ku=y("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Du),Tr.init(e,t)}),Hu=y("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Mu),Tr.init(e,t)}),Gu=y("$ZodCheckIncludes",(e,t)=>{fe.init(e,t);let r=at(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})}}),Ju=y("$ZodCheckStartsWith",(e,t)=>{fe.init(e,t);let r=new RegExp(`^${at(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})}}),Wu=y("$ZodCheckEndsWith",(e,t)=>{fe.init(e,t);let r=new RegExp(`.*${at(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 Qu=y("$ZodCheckOverwrite",(e,t)=>{fe.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});var Cn=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 Xu={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=Xu;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=$t(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,p=u._zod.check(i);if(p instanceof Promise&&a?.async===!1)throw new et;if(l||p instanceof Promise)l=(l??Promise.resolve()).then(async()=>{await p,i.issues.length!==d&&(c||(c=$t(i,d)))});else{if(i.issues.length===d)continue;c||(c=$t(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 et;return a.then(c=>o(c,n,s))}return o(a,n,s)}}e["~standard"]={validate:o=>{try{let i=zr(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return An(e,o).then(s=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}}),jn=y("$ZodString",(e,t)=>{G.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Nu(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}}),W=y("$ZodStringFormat",(e,t)=>{Tr.init(e,t),jn.init(e,t)}),ul=y("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=yu),W.init(e,t)}),ll=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=Ei(n))}else t.pattern??(t.pattern=Ei());W.init(e,t)}),dl=y("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=_u),W.init(e,t)}),pl=y("$ZodURL",(e,t)=>{W.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:Su.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})}}}),fl=y("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=vu()),W.init(e,t)}),ml=y("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=hu),W.init(e,t)}),hl=y("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=lu),W.init(e,t)}),gl=y("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=du),W.init(e,t)}),yl=y("$ZodULID",(e,t)=>{t.pattern??(t.pattern=pu),W.init(e,t)}),_l=y("$ZodXID",(e,t)=>{t.pattern??(t.pattern=fu),W.init(e,t)}),vl=y("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=mu),W.init(e,t)}),bl=y("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Iu(t)),W.init(e,t)}),wl=y("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Tu),W.init(e,t)}),$l=y("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Ru(t)),W.init(e,t)}),xl=y("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=gu),W.init(e,t)}),kl=y("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=bu),W.init(e,t),e._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),Sl=y("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=wu),W.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})}}}),El=y("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=$u),W.init(e,t)}),zl=y("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=xu),W.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 Tl(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var Pl=y("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=ku),W.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),e._zod.check=r=>{Tl(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function Zy(e){if(!zi.test(e))return!1;let t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return Tl(r)}var Rl=y("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=zi),W.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),e._zod.check=r=>{Zy(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),Il=y("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Eu),W.init(e,t)});function By(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 Nl=y("$ZodJWT",(e,t)=>{W.init(e,t),e._zod.check=r=>{By(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}});var Ni=y("$ZodNumber",(e,t)=>{G.init(e,t),e._zod.pattern=e._zod.bag.pattern??Cu,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}}),Al=y("$ZodNumber",(e,t)=>{Bu.init(e,t),Ni.init(e,t)}),Cl=y("$ZodBoolean",(e,t)=>{G.init(e,t),e._zod.pattern=Ou,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 Ol=y("$ZodNull",(e,t)=>{G.init(e,t),e._zod.pattern=ju,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 jl=y("$ZodUnknown",(e,t)=>{G.init(e,t),e._zod.parse=r=>r}),Dl=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 el(e,t,r){e.issues.length&&t.issues.push(...Ge(r,e.issues)),t.value[r]=e.value}var Ml=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=>el(l,r,s))):el(c,r,s)}return i.length?Promise.all(i).then(()=>r):r}});function On(e,t,r){e.issues.length&&t.issues.push(...Ge(r,e.issues)),t.value[r]=e.value}function tl(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(...Ge(r,e.issues)):e.value===void 0?r in n&&(t.value[r]=void 0):t.value[r]=e.value}var ql=y("$ZodObject",(e,t)=>{G.init(e,t);let r=xr(()=>{let d=Object.keys(t.shape);for(let f of d)if(!(t.shape[f]instanceof G))throw new Error(`Invalid element at key "${f}": expected a Zod schema`);let p=bi(t.shape);return{shape:t.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(p)}});H(e._zod,"propValues",()=>{let d=t.shape,p={};for(let f in d){let h=d[f]._zod;if(h.values){p[f]??(p[f]=new Set);for(let g of h.values)p[f].add(g)}}return p});let n=d=>{let p=new Cn(["shape","payload","ctx"]),f=r.value,h=w=>{let $=wt(w);return`shape[${$}]._zod.run({ value: input[${$}], issues: [] }, ctx)`};p.write("const input = payload.value;");let g=Object.create(null),_=0;for(let w of f.keys)g[w]=`key_${_++}`;p.write("const newResult = {}");for(let w of f.keys)if(f.optionalKeys.has(w)){let $=g[w];p.write(`const ${$} = ${h(w)};`);let z=wt(w);p.write(`
13
13
  if (${$}.issues.length) {
14
- if (input[${E}] === undefined) {
15
- if (${E} in input) {
16
- newResult[${E}] = undefined;
14
+ if (input[${z}] === undefined) {
15
+ if (${z} in input) {
16
+ newResult[${z}] = undefined;
17
17
  }
18
18
  } else {
19
19
  payload.issues = payload.issues.concat(
20
20
  ${$}.issues.map((iss) => ({
21
21
  ...iss,
22
- path: iss.path ? [${E}, ...iss.path] : [${E}],
22
+ path: iss.path ? [${z}, ...iss.path] : [${z}],
23
23
  }))
24
24
  );
25
25
  }
26
26
  } else if (${$}.value === undefined) {
27
- if (${E} in input) newResult[${E}] = undefined;
27
+ if (${z} in input) newResult[${z}] = undefined;
28
28
  } else {
29
- newResult[${E}] = ${$}.value;
29
+ newResult[${z}] = ${$}.value;
30
30
  }
31
- `)}else{let $=g[b];p.write(`const ${$} = ${h(b)};`),p.write(`
31
+ `)}else{let $=g[w];p.write(`const ${$} = ${h(w)};`),p.write(`
32
32
  if (${$}.issues.length) payload.issues = payload.issues.concat(${$}.issues.map(iss => ({
33
33
  ...iss,
34
- path: iss.path ? [${bt(b)}, ...iss.path] : [${bt(b)}]
35
- })));`),p.write(`newResult[${bt(b)}] = ${$}.value`)}p.write("payload.value = newResult;"),p.write("return payload;");let w=p.compile();return(b,$)=>w(d,b,$)},o,s=Lt,i=!Pn.jitless,c=i&&ys.value,l=t.catchall,u;e._zod.parse=(d,p)=>{u??(u=r.value);let f=d.value;if(!s(f))return d.issues.push({expected:"object",code:"invalid_type",input:f,inst:e}),d;let h=[];if(i&&c&&p?.async===!1&&p.jitless!==!0)o||(o=n(t.shape)),d=o(d,p);else{d.value={};let $=u.shape;for(let E of u.keys){let T=$[E],ye=T._zod.run({value:f[E],issues:[]},p),Te=T._zod.optin==="optional"&&T._zod.optout==="optional";ye instanceof Promise?h.push(ye.then(Mt=>Te?el(Mt,d,E,f):On(Mt,d,E))):Te?el(ye,d,E,f):On(ye,d,E)}}if(!l)return h.length?Promise.all(h).then(()=>d):d;let g=[],_=u.keySet,w=l._zod,b=w.def.type;for(let $ of Object.keys(f)){if(_.has($))continue;if(b==="never"){g.push($);continue}let E=w.run({value:f[$],issues:[]},p);E instanceof Promise?h.push(E.then(T=>On(T,d,$))):On(E,d,$)}return g.length&&d.issues.push({code:"unrecognized_keys",keys:g,input:f,inst:e}),h.length?Promise.all(h).then(()=>d):d}});function tl(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(s=>De(s,n,Re())))}),t}var Ns=y("$ZodUnion",(e,t)=>{G.init(e,t),H(e._zod,"optin",()=>t.options.some(r=>r._zod.optin==="optional")?"optional":void 0),H(e._zod,"optout",()=>t.options.some(r=>r._zod.optout==="optional")?"optional":void 0),H(e._zod,"values",()=>{if(t.options.every(r=>r._zod.values))return new Set(t.options.flatMap(r=>Array.from(r._zod.values)))}),H(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=>Sr(n.source)).join("|")})$`)}}),e._zod.parse=(r,n)=>{let o=!1,s=[];for(let i of t.options){let a=i._zod.run({value:r.value,issues:[]},n);if(a instanceof Promise)s.push(a),o=!0;else{if(a.issues.length===0)return a;s.push(a)}}return o?Promise.all(s).then(i=>tl(i,r,e,n)):tl(s,r,e,n)}}),Zl=y("$ZodDiscriminatedUnion",(e,t)=>{Ns.init(e,t);let r=e._zod.parse;H(e._zod,"propValues",()=>{let o={};for(let s of t.options){let i=s._zod.propValues;if(!i||Object.keys(i).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(s)}"`);for(let[a,c]of Object.entries(i)){o[a]||(o[a]=new Set);for(let l of c)o[a].add(l)}}return o});let n=xr(()=>{let o=t.options,s=new Map;for(let i of o){let a=i._zod.propValues[t.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(let c of a){if(s.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);s.set(c,i)}}return s});e._zod.parse=(o,s)=>{let i=o.value;if(!Lt(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:e}),o;let a=n.value.get(i?.[t.discriminator]);return a?a._zod.run(o,s):t.unionFallback?r(o,s):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:i,path:[t.discriminator],inst:e}),o)}}),Ml=y("$ZodIntersection",(e,t)=>{G.init(e,t),e._zod.parse=(r,n)=>{let o=r.value,s=t.left._zod.run({value:o,issues:[]},n),i=t.right._zod.run({value:o,issues:[]},n);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([c,l])=>rl(r,c,l)):rl(r,s,i)}});function Rs(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(Bt(e)&&Bt(t)){let r=Object.keys(t),n=Object.keys(e).filter(s=>r.indexOf(s)!==-1),o={...e,...t};for(let s of n){let i=Rs(e[s],t[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.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],s=t[n],i=Rs(o,s);if(!i.valid)return{valid:!1,mergeErrorPath:[n,...i.mergeErrorPath]};r.push(i.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function rl(e,t,r){if(t.issues.length&&e.issues.push(...t.issues),r.issues.length&&e.issues.push(...r.issues),$t(e))return e;let n=Rs(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 Ll=y("$ZodRecord",(e,t)=>{G.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!Bt(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),r;let s=[];if(t.keyType._zod.values){let i=t.keyType._zod.values;r.value={};for(let c of i)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let l=t.valueType._zod.run({value:o[c],issues:[]},n);l instanceof Promise?s.push(l.then(u=>{u.issues.length&&r.issues.push(...Ge(c,u.issues)),r.value[c]=u.value})):(l.issues.length&&r.issues.push(...Ge(c,l.issues)),r.value[c]=l.value)}let a;for(let c in o)i.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 i of Reflect.ownKeys(o)){if(i==="__proto__")continue;let a=t.keyType._zod.run({value:i,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=>De(l,n,Re())),input:i,path:[i],inst:e}),r.value[a.value]=a.value;continue}let c=t.valueType._zod.run({value:o[i],issues:[]},n);c instanceof Promise?s.push(c.then(l=>{l.issues.length&&r.issues.push(...Ge(i,l.issues)),r.value[a.value]=l.value})):(c.issues.length&&r.issues.push(...Ge(i,c.issues)),r.value[a.value]=c.value)}}return s.length?Promise.all(s).then(()=>r):r}});var Bl=y("$ZodEnum",(e,t)=>{G.init(e,t);let r=fs(t.entries);e._zod.values=new Set(r),e._zod.pattern=new RegExp(`^(${r.filter(n=>_s.has(typeof n)).map(n=>typeof n=="string"?at(n):n.toString()).join("|")})$`),e._zod.parse=(n,o)=>{let s=n.value;return e._zod.values.has(s)||n.issues.push({code:"invalid_value",values:r,input:s,inst:e}),n}}),Ul=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"?at(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 Fl=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(i=>(r.value=i,r));if(o instanceof Promise)throw new et;return r.value=o,r}}),Vl=y("$ZodOptional",(e,t)=>{G.init(e,t),e._zod.optin="optional",e._zod.optout="optional",H(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),H(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${Sr(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)}),Kl=y("$ZodNullable",(e,t)=>{G.init(e,t),H(e._zod,"optin",()=>t.innerType._zod.optin),H(e._zod,"optout",()=>t.innerType._zod.optout),H(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${Sr(r.source)}|null)$`):void 0}),H(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)}),Hl=y("$ZodDefault",(e,t)=>{G.init(e,t),e._zod.optin="optional",H(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(s=>nl(s,t)):nl(o,t)}});function nl(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Gl=y("$ZodPrefault",(e,t)=>{G.init(e,t),e._zod.optin="optional",H(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))}),Jl=y("$ZodNonOptional",(e,t)=>{G.init(e,t),H(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(s=>ol(s,e)):ol(o,e)}});function ol(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 Wl=y("$ZodCatch",(e,t)=>{G.init(e,t),e._zod.optin="optional",H(e._zod,"optout",()=>t.innerType._zod.optout),H(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(s=>(r.value=s.value,s.issues.length&&(r.value=t.catchValue({...r,error:{issues:s.issues.map(i=>De(i,n,Re()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=t.catchValue({...r,error:{issues:o.issues.map(s=>De(s,n,Re()))},input:r.value}),r.issues=[]),r)}});var Ql=y("$ZodPipe",(e,t)=>{G.init(e,t),H(e._zod,"values",()=>t.in._zod.values),H(e._zod,"optin",()=>t.in._zod.optin),H(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(s=>sl(s,t,n)):sl(o,t,n)}});function sl(e,t,r){return $t(e)?e:t.out._zod.run({value:e.value,issues:e.issues},r)}var Yl=y("$ZodReadonly",(e,t)=>{G.init(e,t),H(e._zod,"propValues",()=>t.innerType._zod.propValues),H(e._zod,"values",()=>t.innerType._zod.values),H(e._zod,"optin",()=>t.innerType._zod.optin),H(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(il):il(o)}});function il(e){return e.value=Object.freeze(e.value),e}var Xl=y("$ZodCustom",(e,t)=>{fe.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(s=>al(s,r,n,e));al(o,r,n,e)}});function al(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(bs(o))}}var jy=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},Dy=()=>{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 ${jy(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${In(n.values[0])}`:`Invalid option: expected one of ${Tn(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Too big: expected ${n.origin??"value"} to have ${o}${n.maximum.toString()} ${s.unit??"elements"}`:`Too big: expected ${n.origin??"value"} to be ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Too small: expected ${n.origin} to have ${o}${n.minimum.toString()} ${s.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":""}: ${Tn(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 ed(){return{localeError:Dy()}}var rT=Symbol("ZodOutput"),nT=Symbol("ZodInput"),As=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 qy(){return new As}var Tr=qy();function td(e,t){return new e({type:"string",...P(t)})}function rd(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...P(t)})}function Cs(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...P(t)})}function nd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...P(t)})}function od(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...P(t)})}function sd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...P(t)})}function id(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...P(t)})}function ad(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...P(t)})}function cd(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...P(t)})}function ud(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...P(t)})}function ld(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...P(t)})}function dd(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...P(t)})}function pd(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...P(t)})}function fd(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...P(t)})}function md(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...P(t)})}function hd(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...P(t)})}function gd(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...P(t)})}function yd(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...P(t)})}function _d(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...P(t)})}function vd(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...P(t)})}function wd(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...P(t)})}function bd(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...P(t)})}function $d(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...P(t)})}function xd(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...P(t)})}function kd(e,t){return new e({type:"string",format:"date",check:"string_format",...P(t)})}function Sd(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...P(t)})}function zd(e,t){return new e({type:"string",format:"duration",check:"string_format",...P(t)})}function Ed(e,t){return new e({type:"number",checks:[],...P(t)})}function Pd(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...P(t)})}function Td(e,t){return new e({type:"boolean",...P(t)})}function Rd(e,t){return new e({type:"null",...P(t)})}function Id(e){return new e({type:"unknown"})}function Nd(e,t){return new e({type:"never",...P(t)})}function Dn(e,t){return new Ps({check:"less_than",...P(t),value:e,inclusive:!1})}function Rr(e,t){return new Ps({check:"less_than",...P(t),value:e,inclusive:!0})}function qn(e,t){return new Ts({check:"greater_than",...P(t),value:e,inclusive:!1})}function Ir(e,t){return new Ts({check:"greater_than",...P(t),value:e,inclusive:!0})}function Zn(e,t){return new Zu({check:"multiple_of",...P(t),value:e})}function Mn(e,t){return new Lu({check:"max_length",...P(t),maximum:e})}function Ut(e,t){return new Bu({check:"min_length",...P(t),minimum:e})}function Ln(e,t){return new Uu({check:"length_equals",...P(t),length:e})}function Os(e,t){return new Fu({check:"string_format",format:"regex",...P(t),pattern:e})}function js(e){return new Vu({check:"string_format",format:"lowercase",...P(e)})}function Ds(e){return new Ku({check:"string_format",format:"uppercase",...P(e)})}function qs(e,t){return new Hu({check:"string_format",format:"includes",...P(t),includes:e})}function Zs(e,t){return new Gu({check:"string_format",format:"starts_with",...P(t),prefix:e})}function Ms(e,t){return new Ju({check:"string_format",format:"ends_with",...P(t),suffix:e})}function xt(e){return new Wu({check:"overwrite",tx:e})}function Ls(e){return xt(t=>t.normalize(e))}function Bs(){return xt(e=>e.trim())}function Us(){return xt(e=>e.toLowerCase())}function Fs(){return xt(e=>e.toUpperCase())}function Ad(e,t,r){return new e({type:"array",element:t,...P(r)})}function Cd(e,t,r){let n=P(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}function Od(e,t,r){return new e({type:"custom",check:"custom",fn:t,...P(r)})}function Ft(e){return!!e._zod}function qe(e,t){return Ft(e)?Er(e,t):e.safeParse(t)}function Bn(e){if(!e)return;let t;if(Ft(e)?t=e._zod?.def?.shape:t=e.shape,!!t){if(typeof t=="function")try{return t()}catch{return}return t}}function jd(e){if(Ft(e)){let s=e._zod?.def;if(s){if(s.value!==void 0)return s.value;if(Array.isArray(s.values)&&s.values.length>0)return s.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 Ar={};eu(Ar,{ZodISODate:()=>qd,ZodISODateTime:()=>Dd,ZodISODuration:()=>Md,ZodISOTime:()=>Zd,date:()=>Ks,datetime:()=>Vs,duration:()=>Gs,time:()=>Hs});var Dd=y("ZodISODateTime",(e,t)=>{vl.init(e,t),ee.init(e,t)});function Vs(e){return xd(Dd,e)}var qd=y("ZodISODate",(e,t)=>{wl.init(e,t),ee.init(e,t)});function Ks(e){return kd(qd,e)}var Zd=y("ZodISOTime",(e,t)=>{bl.init(e,t),ee.init(e,t)});function Hs(e){return Sd(Zd,e)}var Md=y("ZodISODuration",(e,t)=>{$l.init(e,t),ee.init(e,t)});function Gs(e){return zd(Md,e)}var Ld=(e,t)=>{Nn.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>iu(e,r)},flatten:{value:r=>su(e,r)},addIssue:{value:r=>e.issues.push(r)},addIssues:{value:r=>e.issues.push(...r)},isEmpty:{get(){return e.issues.length===0}}})},DT=y("ZodError",Ld),Cr=y("ZodError",Ld,{Parent:Error});var Bd=au(Cr),Ud=cu(Cr),Fd=xs(Cr),Vd=ks(Cr);var ne=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)=>He(e,r,n),e.brand=()=>e,e.register=(r,n)=>(r.add(e,n),e),e.parse=(r,n)=>Bd(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>Fd(e,r,n),e.parseAsync=async(r,n)=>Ud(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>Vd(e,r,n),e.spa=e.safeParseAsync,e.refine=(r,n)=>e.check(O_(r,n)),e.superRefine=r=>e.check(j_(r)),e.overwrite=r=>e.check(xt(r)),e.optional=()=>re(e),e.nullable=()=>Gd(e),e.nullish=()=>re(Gd(e)),e.nonoptional=r=>P_(e,r),e.array=()=>q(e),e.or=r=>Q([e,r]),e.and=r=>Fn(e,r),e.transform=r=>Ws(e,ep(r)),e.default=r=>S_(e,r),e.prefault=r=>E_(e,r),e.catch=r=>R_(e,r),e.pipe=r=>Ws(e,r),e.readonly=()=>A_(e),e.describe=r=>{let n=e.clone();return Tr.add(n,{description:r}),n},Object.defineProperty(e,"description",{get(){return Tr.get(e)?.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return Tr.get(e);let n=e.clone();return Tr.add(n,r[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),Jd=y("_ZodString",(e,t)=>{jn.init(e,t),ne.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(Os(...n)),e.includes=(...n)=>e.check(qs(...n)),e.startsWith=(...n)=>e.check(Zs(...n)),e.endsWith=(...n)=>e.check(Ms(...n)),e.min=(...n)=>e.check(Ut(...n)),e.max=(...n)=>e.check(Mn(...n)),e.length=(...n)=>e.check(Ln(...n)),e.nonempty=(...n)=>e.check(Ut(1,...n)),e.lowercase=n=>e.check(js(n)),e.uppercase=n=>e.check(Ds(n)),e.trim=()=>e.check(Bs()),e.normalize=(...n)=>e.check(Ls(...n)),e.toLowerCase=()=>e.check(Us()),e.toUpperCase=()=>e.check(Fs())}),Hy=y("ZodString",(e,t)=>{jn.init(e,t),Jd.init(e,t),e.email=r=>e.check(rd(Gy,r)),e.url=r=>e.check(ad(Jy,r)),e.jwt=r=>e.check($d(l_,r)),e.emoji=r=>e.check(cd(Wy,r)),e.guid=r=>e.check(Cs(Kd,r)),e.uuid=r=>e.check(nd(Un,r)),e.uuidv4=r=>e.check(od(Un,r)),e.uuidv6=r=>e.check(sd(Un,r)),e.uuidv7=r=>e.check(id(Un,r)),e.nanoid=r=>e.check(ud(Qy,r)),e.guid=r=>e.check(Cs(Kd,r)),e.cuid=r=>e.check(ld(Yy,r)),e.cuid2=r=>e.check(dd(Xy,r)),e.ulid=r=>e.check(pd(e_,r)),e.base64=r=>e.check(vd(a_,r)),e.base64url=r=>e.check(wd(c_,r)),e.xid=r=>e.check(fd(t_,r)),e.ksuid=r=>e.check(md(r_,r)),e.ipv4=r=>e.check(hd(n_,r)),e.ipv6=r=>e.check(gd(o_,r)),e.cidrv4=r=>e.check(yd(s_,r)),e.cidrv6=r=>e.check(_d(i_,r)),e.e164=r=>e.check(bd(u_,r)),e.datetime=r=>e.check(Vs(r)),e.date=r=>e.check(Ks(r)),e.time=r=>e.check(Hs(r)),e.duration=r=>e.check(Gs(r))});function m(e){return td(Hy,e)}var ee=y("ZodStringFormat",(e,t)=>{W.init(e,t),Jd.init(e,t)}),Gy=y("ZodEmail",(e,t)=>{ll.init(e,t),ee.init(e,t)});var Kd=y("ZodGUID",(e,t)=>{cl.init(e,t),ee.init(e,t)});var Un=y("ZodUUID",(e,t)=>{ul.init(e,t),ee.init(e,t)});var Jy=y("ZodURL",(e,t)=>{dl.init(e,t),ee.init(e,t)});var Wy=y("ZodEmoji",(e,t)=>{pl.init(e,t),ee.init(e,t)});var Qy=y("ZodNanoID",(e,t)=>{fl.init(e,t),ee.init(e,t)});var Yy=y("ZodCUID",(e,t)=>{ml.init(e,t),ee.init(e,t)});var Xy=y("ZodCUID2",(e,t)=>{hl.init(e,t),ee.init(e,t)});var e_=y("ZodULID",(e,t)=>{gl.init(e,t),ee.init(e,t)});var t_=y("ZodXID",(e,t)=>{yl.init(e,t),ee.init(e,t)});var r_=y("ZodKSUID",(e,t)=>{_l.init(e,t),ee.init(e,t)});var n_=y("ZodIPv4",(e,t)=>{xl.init(e,t),ee.init(e,t)});var o_=y("ZodIPv6",(e,t)=>{kl.init(e,t),ee.init(e,t)});var s_=y("ZodCIDRv4",(e,t)=>{Sl.init(e,t),ee.init(e,t)});var i_=y("ZodCIDRv6",(e,t)=>{zl.init(e,t),ee.init(e,t)});var a_=y("ZodBase64",(e,t)=>{Pl.init(e,t),ee.init(e,t)});var c_=y("ZodBase64URL",(e,t)=>{Tl.init(e,t),ee.init(e,t)});var u_=y("ZodE164",(e,t)=>{Rl.init(e,t),ee.init(e,t)});var l_=y("ZodJWT",(e,t)=>{Il.init(e,t),ee.init(e,t)});var Wd=y("ZodNumber",(e,t)=>{Is.init(e,t),ne.init(e,t),e.gt=(n,o)=>e.check(qn(n,o)),e.gte=(n,o)=>e.check(Ir(n,o)),e.min=(n,o)=>e.check(Ir(n,o)),e.lt=(n,o)=>e.check(Dn(n,o)),e.lte=(n,o)=>e.check(Rr(n,o)),e.max=(n,o)=>e.check(Rr(n,o)),e.int=n=>e.check(Hd(n)),e.safe=n=>e.check(Hd(n)),e.positive=n=>e.check(qn(0,n)),e.nonnegative=n=>e.check(Ir(0,n)),e.negative=n=>e.check(Dn(0,n)),e.nonpositive=n=>e.check(Rr(0,n)),e.multipleOf=(n,o)=>e.check(Zn(n,o)),e.step=(n,o)=>e.check(Zn(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 F(e){return Ed(Wd,e)}var d_=y("ZodNumberFormat",(e,t)=>{Nl.init(e,t),Wd.init(e,t)});function Hd(e){return Pd(d_,e)}var p_=y("ZodBoolean",(e,t)=>{Al.init(e,t),ne.init(e,t)});function ae(e){return Td(p_,e)}var f_=y("ZodNull",(e,t)=>{Cl.init(e,t),ne.init(e,t)});function Qd(e){return Rd(f_,e)}var m_=y("ZodUnknown",(e,t)=>{Ol.init(e,t),ne.init(e,t)});function te(){return Id(m_)}var h_=y("ZodNever",(e,t)=>{jl.init(e,t),ne.init(e,t)});function g_(e){return Nd(h_,e)}var y_=y("ZodArray",(e,t)=>{Dl.init(e,t),ne.init(e,t),e.element=t.element,e.min=(r,n)=>e.check(Ut(r,n)),e.nonempty=r=>e.check(Ut(1,r)),e.max=(r,n)=>e.check(Mn(r,n)),e.length=(r,n)=>e.check(Ln(r,n)),e.unwrap=()=>e.element});function q(e,t){return Ad(y_,e,t)}var Yd=y("ZodObject",(e,t)=>{ql.init(e,t),ne.init(e,t),U.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>$e(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:te()}),e.loose=()=>e.clone({...e._zod.def,catchall:te()}),e.strict=()=>e.clone({...e._zod.def,catchall:g_()}),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(tp,e,r[0]),e.required=(...r)=>U.required(rp,e,r[0])});function x(e,t){let r={type:"object",get shape(){return U.assignProp(this,"shape",{...e}),this.shape},...U.normalizeParams(t)};return new Yd(r)}function _e(e,t){return new Yd({type:"object",get shape(){return U.assignProp(this,"shape",{...e}),this.shape},catchall:te(),...U.normalizeParams(t)})}var Xd=y("ZodUnion",(e,t)=>{Ns.init(e,t),ne.init(e,t),e.options=t.options});function Q(e,t){return new Xd({type:"union",options:e,...U.normalizeParams(t)})}var __=y("ZodDiscriminatedUnion",(e,t)=>{Xd.init(e,t),Zl.init(e,t)});function Qs(e,t,r){return new __({type:"union",options:t,discriminator:e,...U.normalizeParams(r)})}var v_=y("ZodIntersection",(e,t)=>{Ml.init(e,t),ne.init(e,t)});function Fn(e,t){return new v_({type:"intersection",left:e,right:t})}var w_=y("ZodRecord",(e,t)=>{Ll.init(e,t),ne.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function J(e,t,r){return new w_({type:"record",keyType:e,valueType:t,...U.normalizeParams(r)})}var Js=y("ZodEnum",(e,t)=>{Bl.init(e,t),ne.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 s={};for(let i of n)if(r.has(i))s[i]=t.entries[i];else throw new Error(`Key ${i} not found in enum`);return new Js({...t,checks:[],...U.normalizeParams(o),entries:s})},e.exclude=(n,o)=>{let s={...t.entries};for(let i of n)if(r.has(i))delete s[i];else throw new Error(`Key ${i} not found in enum`);return new Js({...t,checks:[],...U.normalizeParams(o),entries:s})}});function $e(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new Js({type:"enum",entries:r,...U.normalizeParams(t)})}var b_=y("ZodLiteral",(e,t)=>{Ul.init(e,t),ne.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 k(e,t){return new b_({type:"literal",values:Array.isArray(e)?e:[e],...U.normalizeParams(t)})}var $_=y("ZodTransform",(e,t)=>{Fl.init(e,t),ne.init(e,t),e._zod.parse=(r,n)=>{r.addIssue=s=>{if(typeof s=="string")r.issues.push(U.issue(s,r.value,t));else{let i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=e),i.continue??(i.continue=!0),r.issues.push(U.issue(i))}};let o=t.transform(r.value,r);return o instanceof Promise?o.then(s=>(r.value=s,r)):(r.value=o,r)}});function ep(e){return new $_({type:"transform",transform:e})}var tp=y("ZodOptional",(e,t)=>{Vl.init(e,t),ne.init(e,t),e.unwrap=()=>e._zod.def.innerType});function re(e){return new tp({type:"optional",innerType:e})}var x_=y("ZodNullable",(e,t)=>{Kl.init(e,t),ne.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Gd(e){return new x_({type:"nullable",innerType:e})}var k_=y("ZodDefault",(e,t)=>{Hl.init(e,t),ne.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function S_(e,t){return new k_({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var z_=y("ZodPrefault",(e,t)=>{Gl.init(e,t),ne.init(e,t),e.unwrap=()=>e._zod.def.innerType});function E_(e,t){return new z_({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var rp=y("ZodNonOptional",(e,t)=>{Jl.init(e,t),ne.init(e,t),e.unwrap=()=>e._zod.def.innerType});function P_(e,t){return new rp({type:"nonoptional",innerType:e,...U.normalizeParams(t)})}var T_=y("ZodCatch",(e,t)=>{Wl.init(e,t),ne.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function R_(e,t){return new T_({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var I_=y("ZodPipe",(e,t)=>{Ql.init(e,t),ne.init(e,t),e.in=t.in,e.out=t.out});function Ws(e,t){return new I_({type:"pipe",in:e,out:t})}var N_=y("ZodReadonly",(e,t)=>{Yl.init(e,t),ne.init(e,t)});function A_(e){return new N_({type:"readonly",innerType:e})}var np=y("ZodCustom",(e,t)=>{Xl.init(e,t),ne.init(e,t)});function C_(e){let t=new fe({check:"custom"});return t._zod.check=e,t}function op(e,t){return Cd(np,e??(()=>!0),t)}function O_(e,t={}){return Od(np,e,t)}function j_(e){let t=C_(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 Ys(e,t){return Ws(ep(e),t)}Re(ed());var ei="2025-11-25";var sp=[ei,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],ct="io.modelcontextprotocol/related-task",Kn="2.0",ie=op(e=>e!==null&&(typeof e=="object"||typeof e=="function")),ip=Q([m(),F().int()]),ap=m(),RR=_e({ttl:F().optional(),pollInterval:F().optional()}),D_=x({ttl:F().optional()}),q_=x({taskId:m()}),ti=_e({progressToken:ip.optional(),[ct]:q_.optional()}),Pe=x({_meta:ti.optional()}),Or=Pe.extend({task:D_.optional()}),cp=e=>Or.safeParse(e).success,ce=x({method:m(),params:Pe.loose().optional()}),Ie=x({_meta:ti.optional()}),Ne=x({method:m(),params:Ie.loose().optional()}),ue=_e({_meta:ti.optional()}),Hn=Q([m(),F().int()]),up=x({jsonrpc:k(Kn),id:Hn,...ce.shape}).strict(),ri=e=>up.safeParse(e).success,lp=x({jsonrpc:k(Kn),...Ne.shape}).strict(),dp=e=>lp.safeParse(e).success,ni=x({jsonrpc:k(Kn),id:Hn,result:ue}).strict(),jr=e=>ni.safeParse(e).success;var R;(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"})(R||(R={}));var oi=x({jsonrpc:k(Kn),id:Hn.optional(),error:x({code:F().int(),message:m(),data:te().optional()})}).strict();var pp=e=>oi.safeParse(e).success;var fp=Q([up,lp,ni,oi]),IR=Q([ni,oi]),kt=ue.strict(),Z_=Ie.extend({requestId:Hn.optional(),reason:m().optional()}),Gn=Ne.extend({method:k("notifications/cancelled"),params:Z_}),M_=x({src:m(),mimeType:m().optional(),sizes:q(m()).optional(),theme:$e(["light","dark"]).optional()}),Dr=x({icons:q(M_).optional()}),Vt=x({name:m(),title:m().optional()}),mp=Vt.extend({...Vt.shape,...Dr.shape,version:m(),websiteUrl:m().optional(),description:m().optional()}),L_=Fn(x({applyDefaults:ae().optional()}),J(m(),te())),B_=Ys(e=>e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,Fn(x({form:L_.optional(),url:ie.optional()}),J(m(),te()).optional())),U_=_e({list:ie.optional(),cancel:ie.optional(),requests:_e({sampling:_e({createMessage:ie.optional()}).optional(),elicitation:_e({create:ie.optional()}).optional()}).optional()}),F_=_e({list:ie.optional(),cancel:ie.optional(),requests:_e({tools:_e({call:ie.optional()}).optional()}).optional()}),V_=x({experimental:J(m(),ie).optional(),sampling:x({context:ie.optional(),tools:ie.optional()}).optional(),elicitation:B_.optional(),roots:x({listChanged:ae().optional()}).optional(),tasks:U_.optional(),extensions:J(m(),ie).optional()}),K_=Pe.extend({protocolVersion:m(),capabilities:V_,clientInfo:mp}),H_=ce.extend({method:k("initialize"),params:K_});var G_=x({experimental:J(m(),ie).optional(),logging:ie.optional(),completions:ie.optional(),prompts:x({listChanged:ae().optional()}).optional(),resources:x({subscribe:ae().optional(),listChanged:ae().optional()}).optional(),tools:x({listChanged:ae().optional()}).optional(),tasks:F_.optional(),extensions:J(m(),ie).optional()}),si=ue.extend({protocolVersion:m(),capabilities:G_,serverInfo:mp,instructions:m().optional()}),J_=Ne.extend({method:k("notifications/initialized"),params:Ie.optional()});var Jn=ce.extend({method:k("ping"),params:Pe.optional()}),W_=x({progress:F(),total:re(F()),message:re(m())}),Q_=x({...Ie.shape,...W_.shape,progressToken:ip}),Wn=Ne.extend({method:k("notifications/progress"),params:Q_}),Y_=Pe.extend({cursor:ap.optional()}),qr=ce.extend({params:Y_.optional()}),Zr=ue.extend({nextCursor:ap.optional()}),X_=$e(["working","input_required","completed","failed","cancelled"]),Mr=x({taskId:m(),status:X_,ttl:Q([F(),Qd()]),createdAt:m(),lastUpdatedAt:m(),pollInterval:re(F()),statusMessage:re(m())}),St=ue.extend({task:Mr}),ev=Ie.merge(Mr),Lr=Ne.extend({method:k("notifications/tasks/status"),params:ev}),Qn=ce.extend({method:k("tasks/get"),params:Pe.extend({taskId:m()})}),Yn=ue.merge(Mr),Xn=ce.extend({method:k("tasks/result"),params:Pe.extend({taskId:m()})}),NR=ue.loose(),eo=qr.extend({method:k("tasks/list")}),to=Zr.extend({tasks:q(Mr)}),ro=ce.extend({method:k("tasks/cancel"),params:Pe.extend({taskId:m()})}),hp=ue.merge(Mr),gp=x({uri:m(),mimeType:re(m()),_meta:J(m(),te()).optional()}),yp=gp.extend({text:m()}),ii=m().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),_p=gp.extend({blob:ii}),Br=$e(["user","assistant"]),Kt=x({audience:q(Br).optional(),priority:F().min(0).max(1).optional(),lastModified:Ar.datetime({offset:!0}).optional()}),vp=x({...Vt.shape,...Dr.shape,uri:m(),description:re(m()),mimeType:re(m()),size:re(F()),annotations:Kt.optional(),_meta:re(_e({}))}),tv=x({...Vt.shape,...Dr.shape,uriTemplate:m(),description:re(m()),mimeType:re(m()),annotations:Kt.optional(),_meta:re(_e({}))}),rv=qr.extend({method:k("resources/list")}),ai=Zr.extend({resources:q(vp)}),nv=qr.extend({method:k("resources/templates/list")}),ci=Zr.extend({resourceTemplates:q(tv)}),ui=Pe.extend({uri:m()}),ov=ui,sv=ce.extend({method:k("resources/read"),params:ov}),li=ue.extend({contents:q(Q([yp,_p]))}),di=Ne.extend({method:k("notifications/resources/list_changed"),params:Ie.optional()}),iv=ui,av=ce.extend({method:k("resources/subscribe"),params:iv}),cv=ui,uv=ce.extend({method:k("resources/unsubscribe"),params:cv}),lv=Ie.extend({uri:m()}),dv=Ne.extend({method:k("notifications/resources/updated"),params:lv}),pv=x({name:m(),description:re(m()),required:re(ae())}),fv=x({...Vt.shape,...Dr.shape,description:re(m()),arguments:re(q(pv)),_meta:re(_e({}))}),mv=qr.extend({method:k("prompts/list")}),pi=Zr.extend({prompts:q(fv)}),hv=Pe.extend({name:m(),arguments:J(m(),m()).optional()}),gv=ce.extend({method:k("prompts/get"),params:hv}),fi=x({type:k("text"),text:m(),annotations:Kt.optional(),_meta:J(m(),te()).optional()}),mi=x({type:k("image"),data:ii,mimeType:m(),annotations:Kt.optional(),_meta:J(m(),te()).optional()}),hi=x({type:k("audio"),data:ii,mimeType:m(),annotations:Kt.optional(),_meta:J(m(),te()).optional()}),yv=x({type:k("tool_use"),name:m(),id:m(),input:J(m(),te()),_meta:J(m(),te()).optional()}),_v=x({type:k("resource"),resource:Q([yp,_p]),annotations:Kt.optional(),_meta:J(m(),te()).optional()}),vv=vp.extend({type:k("resource_link")}),gi=Q([fi,mi,hi,vv,_v]),wv=x({role:Br,content:gi}),yi=ue.extend({description:m().optional(),messages:q(wv)}),_i=Ne.extend({method:k("notifications/prompts/list_changed"),params:Ie.optional()}),bv=x({title:m().optional(),readOnlyHint:ae().optional(),destructiveHint:ae().optional(),idempotentHint:ae().optional(),openWorldHint:ae().optional()}),$v=x({taskSupport:$e(["required","optional","forbidden"]).optional()}),wp=x({...Vt.shape,...Dr.shape,description:m().optional(),inputSchema:x({type:k("object"),properties:J(m(),ie).optional(),required:q(m()).optional()}).catchall(te()),outputSchema:x({type:k("object"),properties:J(m(),ie).optional(),required:q(m()).optional()}).catchall(te()).optional(),annotations:bv.optional(),execution:$v.optional(),_meta:J(m(),te()).optional()}),xv=qr.extend({method:k("tools/list")}),vi=Zr.extend({tools:q(wp)}),ut=ue.extend({content:q(gi).default([]),structuredContent:J(m(),te()).optional(),isError:ae().optional()}),AR=ut.or(ue.extend({toolResult:te()})),kv=Or.extend({name:m(),arguments:J(m(),te()).optional()}),Sv=ce.extend({method:k("tools/call"),params:kv}),wi=Ne.extend({method:k("notifications/tools/list_changed"),params:Ie.optional()}),bp=x({autoRefresh:ae().default(!0),debounceMs:F().int().nonnegative().default(300)}),$p=$e(["debug","info","notice","warning","error","critical","alert","emergency"]),zv=Pe.extend({level:$p}),Ev=ce.extend({method:k("logging/setLevel"),params:zv}),Pv=Ie.extend({level:$p,logger:m().optional(),data:te()}),Tv=Ne.extend({method:k("notifications/message"),params:Pv}),Rv=x({name:m().optional()}),Iv=x({hints:q(Rv).optional(),costPriority:F().min(0).max(1).optional(),speedPriority:F().min(0).max(1).optional(),intelligencePriority:F().min(0).max(1).optional()}),Nv=x({mode:$e(["auto","required","none"]).optional()}),Av=x({type:k("tool_result"),toolUseId:m().describe("The unique identifier for the corresponding tool call."),content:q(gi).default([]),structuredContent:x({}).loose().optional(),isError:ae().optional(),_meta:J(m(),te()).optional()}),Cv=Qs("type",[fi,mi,hi]),Vn=Qs("type",[fi,mi,hi,yv,Av]),Ov=x({role:Br,content:Q([Vn,q(Vn)]),_meta:J(m(),te()).optional()}),jv=Or.extend({messages:q(Ov),modelPreferences:Iv.optional(),systemPrompt:m().optional(),includeContext:$e(["none","thisServer","allServers"]).optional(),temperature:F().optional(),maxTokens:F().int(),stopSequences:q(m()).optional(),metadata:ie.optional(),tools:q(wp).optional(),toolChoice:Nv.optional()}),bi=ce.extend({method:k("sampling/createMessage"),params:jv}),$i=ue.extend({model:m(),stopReason:re($e(["endTurn","stopSequence","maxTokens"]).or(m())),role:Br,content:Cv}),xi=ue.extend({model:m(),stopReason:re($e(["endTurn","stopSequence","maxTokens","toolUse"]).or(m())),role:Br,content:Q([Vn,q(Vn)])}),Dv=x({type:k("boolean"),title:m().optional(),description:m().optional(),default:ae().optional()}),qv=x({type:k("string"),title:m().optional(),description:m().optional(),minLength:F().optional(),maxLength:F().optional(),format:$e(["email","uri","date","date-time"]).optional(),default:m().optional()}),Zv=x({type:$e(["number","integer"]),title:m().optional(),description:m().optional(),minimum:F().optional(),maximum:F().optional(),default:F().optional()}),Mv=x({type:k("string"),title:m().optional(),description:m().optional(),enum:q(m()),default:m().optional()}),Lv=x({type:k("string"),title:m().optional(),description:m().optional(),oneOf:q(x({const:m(),title:m()})),default:m().optional()}),Bv=x({type:k("string"),title:m().optional(),description:m().optional(),enum:q(m()),enumNames:q(m()).optional(),default:m().optional()}),Uv=Q([Mv,Lv]),Fv=x({type:k("array"),title:m().optional(),description:m().optional(),minItems:F().optional(),maxItems:F().optional(),items:x({type:k("string"),enum:q(m())}),default:q(m()).optional()}),Vv=x({type:k("array"),title:m().optional(),description:m().optional(),minItems:F().optional(),maxItems:F().optional(),items:x({anyOf:q(x({const:m(),title:m()}))}),default:q(m()).optional()}),Kv=Q([Fv,Vv]),Hv=Q([Bv,Uv,Kv]),Gv=Q([Hv,Dv,qv,Zv]),Jv=Or.extend({mode:k("form").optional(),message:m(),requestedSchema:x({type:k("object"),properties:J(m(),Gv),required:q(m()).optional()})}),Wv=Or.extend({mode:k("url"),message:m(),elicitationId:m(),url:m().url()}),Qv=Q([Jv,Wv]),ki=ce.extend({method:k("elicitation/create"),params:Qv}),Yv=Ie.extend({elicitationId:m()}),Xv=Ne.extend({method:k("notifications/elicitation/complete"),params:Yv}),Si=ue.extend({action:$e(["accept","decline","cancel"]),content:Ys(e=>e===null?void 0:e,J(m(),Q([m(),F(),ae(),q(m())])).optional())}),ew=x({type:k("ref/resource"),uri:m()});var tw=x({type:k("ref/prompt"),name:m()}),rw=Pe.extend({ref:Q([tw,ew]),argument:x({name:m(),value:m()}),context:x({arguments:J(m(),m()).optional()}).optional()}),nw=ce.extend({method:k("completion/complete"),params:rw});var zi=ue.extend({completion:_e({values:q(m()).max(100),total:re(F().int()),hasMore:re(ae())})}),ow=x({uri:m().startsWith("file://"),name:m().optional(),_meta:J(m(),te()).optional()}),sw=ce.extend({method:k("roots/list"),params:Pe.optional()}),iw=ue.extend({roots:q(ow)}),aw=Ne.extend({method:k("notifications/roots/list_changed"),params:Ie.optional()}),CR=Q([Jn,H_,nw,Ev,gv,mv,rv,nv,sv,av,uv,Sv,xv,Qn,Xn,eo,ro]),OR=Q([Gn,Wn,J_,aw,Lr]),jR=Q([kt,$i,xi,Si,iw,Yn,to,St]),DR=Q([Jn,bi,ki,sw,Qn,Xn,eo,ro]),qR=Q([Gn,Wn,Tv,dv,di,wi,_i,Lr,Xv]),ZR=Q([kt,si,zi,yi,pi,ai,ci,li,ut,vi,Yn,to,St]),z=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===R.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new Xs(o.elicitations,r)}return new e(t,r,n)}},Xs=class extends z{constructor(t,r=`URL elicitation${t.length>1?"s":""} required`){super(R.UrlElicitationRequired,r,{elicitations:t})}get elicitations(){return this.data?.elicitations??[]}};function lt(e){return e==="completed"||e==="failed"||e==="cancelled"}var cw=Symbol("Let zodToJsonSchema decide on which parser to use");var _I=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Ei(e){let r=Bn(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=jd(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function Pi(e,t){let r=qe(e,t);if(!r.success)throw r.error;return r.data}var mw=6e4,no=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(Gn,r=>{this._oncancel(r)}),this.setNotificationHandler(Wn,r=>{this._onprogress(r)}),this.setRequestHandler(Jn,r=>({})),this._taskStore=t?.taskStore,this._taskMessageQueue=t?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Qn,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new z(R.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(Xn,async(r,n)=>{let o=async()=>{let s=r.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(s,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,p=new z(d.error.code,d.error.message,d.error.data);u(p)}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 i=await this._taskStore.getTask(s,n.sessionId);if(!i)throw new z(R.InvalidParams,`Task not found: ${s}`);if(!lt(i.status))return await this._waitForTaskUpdate(s,n.signal),await o();if(lt(i.status)){let a=await this._taskStore.getTaskResult(s,n.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[ct]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(eo,async(r,n)=>{try{let{tasks:o,nextCursor:s}=await this._taskStore.listTasks(r.params?.cursor,n.sessionId);return{tasks:o,nextCursor:s,_meta:{}}}catch(o){throw new z(R.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(ro,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new z(R.InvalidParams,`Task not found: ${r.params.taskId}`);if(lt(o.status))throw new z(R.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 s=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!s)throw new z(R.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof z?o:new z(R.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,s=!1){this._timeoutInfo.set(t,{timeoutId:setTimeout(o,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:s,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),z.fromError(R.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=s=>{n?.(s),this._onerror(s)};let o=this._transport?.onmessage;this._transport.onmessage=(s,i)=>{o?.(s,i),jr(s)||pp(s)?this._onresponse(s):ri(s)?this._onrequest(s,i):dp(s)?this._onnotification(s):this._onerror(new Error(`Unknown message type: ${JSON.stringify(s)}`))},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=z.fromError(R.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,s=t.params?._meta?.[ct]?.taskId;if(n===void 0){let u={jsonrpc:"2.0",id:t.id,error:{code:R.MethodNotFound,message:"Method not found"}};s&&this._taskMessageQueue?this._enqueueTaskMessage(s,{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 i=new AbortController;this._requestHandlerAbortControllers.set(t.id,i);let a=cp(t.params)?t.params.task:void 0,c=this._taskStore?this.requestTaskStore(t,o?.sessionId):void 0,l={signal:i.signal,sessionId:o?.sessionId,_meta:t.params?._meta,sendNotification:async u=>{if(i.signal.aborted)return;let d={relatedRequestId:t.id};s&&(d.relatedTask={taskId:s}),await this.notification(u,d)},sendRequest:async(u,d,p)=>{if(i.signal.aborted)throw new z(R.ConnectionClosed,"Request was cancelled");let f={...p,relatedRequestId:t.id};s&&!f.relatedTask&&(f.relatedTask={taskId:s});let h=f.relatedTask?.taskId??s;return h&&c&&await c.updateTaskStatus(h,"input_required"),await this.request(u,d,f)},authInfo:r?.authInfo,requestId:t.id,requestInfo:r?.requestInfo,taskId:s,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(i.signal.aborted)return;let d={result:u,jsonrpc:"2.0",id:t.id};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"response",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)},async u=>{if(i.signal.aborted)return;let d={jsonrpc:"2.0",id:t.id,error:{code:Number.isSafeInteger(u.code)?u.code:R.InternalError,message:u.message??"Internal error",...u.data!==void 0&&{data:u.data}}};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{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)===i&&this._requestHandlerAbortControllers.delete(t.id)})}_onprogress(t){let{progressToken:r,...n}=t.params,o=Number(r),s=this._progressHandlers.get(o);if(!s){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(t)}`));return}let i=this._responseHandlers.get(o),a=this._timeoutInfo.get(o);if(a&&i&&a.resetTimeoutOnProgress)try{this._resetTimeout(o)}catch(c){this._responseHandlers.delete(o),this._progressHandlers.delete(o),this._cleanupTimeout(o),i(c);return}s(n)}_onresponse(t){let r=Number(t.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),jr(t))n(t);else{let i=new z(t.error.code,t.error.message,t.error.data);n(i)}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 s=!1;if(jr(t)&&t.result&&typeof t.result=="object"){let i=t.result;if(i.task&&typeof i.task=="object"){let a=i.task;typeof a.taskId=="string"&&(s=!0,this._taskProgressTokens.set(a.taskId,r))}}if(s||this._progressHandlers.delete(r),jr(t))o(t);else{let i=z.fromError(t.error.code,t.error.message,t.error.data);o(i)}}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(i){yield{type:"error",error:i instanceof z?i:new z(R.InternalError,String(i))}}return}let s;try{let i=await this.request(t,St,n);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new z(R.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},n);if(yield{type:"taskStatus",task:a},lt(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)}:a.status==="failed"?yield{type:"error",error:new z(R.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new z(R.InternalError,`Task ${s} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)};return}let c=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(l=>setTimeout(l,c)),n?.signal?.throwIfAborted()}}catch(i){yield{type:"error",error:i instanceof z?i:new z(R.InternalError,String(i))}}}request(t,r,n){let{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i,task:a,relatedTask:c}=n??{};return new Promise((l,u)=>{let d=b=>{u(b)};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(b){d(b);return}n?.signal?.throwIfAborted();let p=this._requestMessageId++,f={...t,jsonrpc:"2.0",id:p};n?.onprogress&&(this._progressHandlers.set(p,n.onprogress),f.params={...t.params,_meta:{...t.params?._meta||{},progressToken:p}}),a&&(f.params={...f.params,task:a}),c&&(f.params={...f.params,_meta:{...f.params?._meta||{},[ct]:c}});let h=b=>{this._responseHandlers.delete(p),this._progressHandlers.delete(p),this._cleanupTimeout(p),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:p,reason:String(b)}},{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(E=>this._onerror(new Error(`Failed to send cancellation: ${E}`)));let $=b instanceof z?b:new z(R.RequestTimeout,String(b));u($)};this._responseHandlers.set(p,b=>{if(!n?.signal?.aborted){if(b instanceof Error)return u(b);try{let $=qe(r,b.result);$.success?l($.data):u($.error)}catch($){u($)}}}),n?.signal?.addEventListener("abort",()=>{h(n?.signal?.reason)});let g=n?.timeout??mw,_=()=>h(z.fromError(R.RequestTimeout,"Request timed out",{timeout:g}));this._setupTimeout(p,g,n?.maxTotalTimeout,_,n?.resetTimeoutOnProgress??!1);let w=c?.taskId;if(w){let b=$=>{let E=this._responseHandlers.get(p);E?E($):this._onerror(new Error(`Response handler missing for side-channeled request ${p}`))};this._requestResolvers.set(p,b),this._enqueueTaskMessage(w,{type:"request",message:f,timestamp:Date.now()}).catch($=>{this._cleanupTimeout(p),u($)})}else this._transport.send(f,{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(b=>{this._cleanupTimeout(p),u(b)})})}async getTask(t,r){return this.request({method:"tasks/get",params:t},Yn,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},to,r)}async cancelTask(t,r){return this.request({method:"tasks/cancel",params:t},hp,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||{},[ct]: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||{},[ct]:r.relatedTask}}}),this._transport?.send(a,r).catch(c=>this._onerror(c))});return}let i={...t,jsonrpc:"2.0"};r?.relatedTask&&(i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[ct]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(t,r){let n=Ei(t);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,s)=>{let i=Pi(t,o);return Promise.resolve(r(i,s))})}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=Ei(t);this._notificationHandlers.set(n,o=>{let s=Pi(t,o);return Promise.resolve(r(s))})}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"&&ri(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new z(R.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(s)):this._onerror(new Error(`Resolver missing for request ${s} 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,s)=>{if(r.aborted){s(new z(R.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(i),s(new z(R.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 s=await n.getTask(o,r);if(!s)throw new z(R.InvalidParams,"Failed to retrieve task: Task not found");return s},storeTaskResult:async(o,s,i)=>{await n.storeTaskResult(o,s,i,r);let a=await n.getTask(o,r);if(a){let c=Lr.parse({method:"notifications/tasks/status",params:a});await this.notification(c),lt(a.status)&&this._cleanupTaskProgressHandler(o)}},getTaskResult:o=>n.getTaskResult(o,r),updateTaskStatus:async(o,s,i)=>{let a=await n.getTask(o,r);if(!a)throw new z(R.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(lt(a.status))throw new z(R.InvalidParams,`Cannot update task "${o}" from terminal status "${a.status}" to "${s}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(o,s,i,r);let c=await n.getTask(o,r);if(c){let l=Lr.parse({method:"notifications/tasks/status",params:c});await this.notification(l),lt(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function xp(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function kp(e,t){let r={...e};for(let n in t){let o=n,s=t[o];if(s===void 0)continue;let i=r[o];xp(i)&&xp(s)?r[o]={...i,...s}:r[o]=s}return r}var gh=ls(mc(),1),yh=ls(hh(),1);function yS(){let e=new gh.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,yh.default)(e),e}var Zo=class{constructor(t){this._ajv=t??yS()}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 Mo=class{constructor(t){this._client=t}async*callToolStream(t,r=ut,n){let o=this._client,s={...n,task:n?.task??(o.isToolTask(t.name)?{}:void 0)},i=o.requestStream({method:"tools/call",params:t},r,s),a=o.getToolOutputValidator(t.name);for await(let c of i){if(c.type==="result"&&a){let l=c.result;if(!l.structuredContent&&!l.isError){yield{type:"error",error:new z(R.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 z(R.InvalidParams,`Structured content does not match the tool's output schema: ${u.errorMessage}`)};return}}catch(u){if(u instanceof z){yield{type:"error",error:u};return}yield{type:"error",error:new z(R.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 _h(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 vh(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 Lo(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 s=n[o];r[o]===void 0&&Object.prototype.hasOwnProperty.call(s,"default")&&(r[o]=s.default),r[o]!==void 0&&Lo(s,r[o])}}if(Array.isArray(e.anyOf))for(let r of e.anyOf)typeof r!="boolean"&&Lo(r,t);if(Array.isArray(e.oneOf))for(let r of e.oneOf)typeof r!="boolean"&&Lo(r,t)}}function _S(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 Bo=class extends no{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 Zo,r?.listChanged&&(this._pendingListChangedConfig=r.listChanged)}_setupListChangedHandlers(t){t.tools&&this._serverCapabilities?.tools?.listChanged&&this._setupListChangedHandler("tools",wi,t.tools,async()=>(await this.listTools()).tools),t.prompts&&this._serverCapabilities?.prompts?.listChanged&&this._setupListChangedHandler("prompts",_i,t.prompts,async()=>(await this.listPrompts()).prompts),t.resources&&this._serverCapabilities?.resources?.listChanged&&this._setupListChangedHandler("resources",di,t.resources,async()=>(await this.listResources()).resources)}get experimental(){return this._experimental||(this._experimental={tasks:new Mo(this)}),this._experimental}registerCapabilities(t){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=kp(this._capabilities,t)}setRequestHandler(t,r){let o=Bn(t)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(Ft(o)){let a=o;s=a._zod?.def?.value??a.value}else{let a=o;s=a._def?.value??a.value}if(typeof s!="string")throw new Error("Schema method literal must be a string");let i=s;if(i==="elicitation/create"){let a=async(c,l)=>{let u=qe(ki,c);if(!u.success){let b=u.error instanceof Error?u.error.message:String(u.error);throw new z(R.InvalidParams,`Invalid elicitation request: ${b}`)}let{params:d}=u.data;d.mode=d.mode??"form";let{supportsFormMode:p,supportsUrlMode:f}=_S(this._capabilities.elicitation);if(d.mode==="form"&&!p)throw new z(R.InvalidParams,"Client does not support form-mode elicitation requests");if(d.mode==="url"&&!f)throw new z(R.InvalidParams,"Client does not support URL-mode elicitation requests");let h=await Promise.resolve(r(c,l));if(d.task){let b=qe(St,h);if(!b.success){let $=b.error instanceof Error?b.error.message:String(b.error);throw new z(R.InvalidParams,`Invalid task creation result: ${$}`)}return b.data}let g=qe(Si,h);if(!g.success){let b=g.error instanceof Error?g.error.message:String(g.error);throw new z(R.InvalidParams,`Invalid elicitation result: ${b}`)}let _=g.data,w=d.mode==="form"?d.requestedSchema:void 0;if(d.mode==="form"&&_.action==="accept"&&_.content&&w&&this._capabilities.elicitation?.form?.applyDefaults)try{Lo(w,_.content)}catch{}return _};return super.setRequestHandler(t,a)}if(i==="sampling/createMessage"){let a=async(c,l)=>{let u=qe(bi,c);if(!u.success){let _=u.error instanceof Error?u.error.message:String(u.error);throw new z(R.InvalidParams,`Invalid sampling request: ${_}`)}let{params:d}=u.data,p=await Promise.resolve(r(c,l));if(d.task){let _=qe(St,p);if(!_.success){let w=_.error instanceof Error?_.error.message:String(_.error);throw new z(R.InvalidParams,`Invalid task creation result: ${w}`)}return _.data}let h=d.tools||d.toolChoice?xi:$i,g=qe(h,p);if(!g.success){let _=g.error instanceof Error?g.error.message:String(g.error);throw new z(R.InvalidParams,`Invalid sampling result: ${_}`)}return g.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:ei,capabilities:this._capabilities,clientInfo:this._clientInfo}},si,r);if(n===void 0)throw new Error(`Server sent invalid initialize result: ${n}`);if(!sp.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){_h(this._serverCapabilities?.tasks?.requests,t,"Server")}assertTaskHandlerCapability(t){this._capabilities&&vh(this._capabilities.tasks?.requests,t,"Client")}async ping(t){return this.request({method:"ping"},kt,t)}async complete(t,r){return this.request({method:"completion/complete",params:t},zi,r)}async setLoggingLevel(t,r){return this.request({method:"logging/setLevel",params:{level:t}},kt,r)}async getPrompt(t,r){return this.request({method:"prompts/get",params:t},yi,r)}async listPrompts(t,r){return this.request({method:"prompts/list",params:t},pi,r)}async listResources(t,r){return this.request({method:"resources/list",params:t},ai,r)}async listResourceTemplates(t,r){return this.request({method:"resources/templates/list",params:t},ci,r)}async readResource(t,r){return this.request({method:"resources/read",params:t},li,r)}async subscribeResource(t,r){return this.request({method:"resources/subscribe",params:t},kt,r)}async unsubscribeResource(t,r){return this.request({method:"resources/unsubscribe",params:t},kt,r)}async callTool(t,r=ut,n){if(this.isToolTaskRequired(t.name))throw new z(R.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),s=this.getToolOutputValidator(t.name);if(s){if(!o.structuredContent&&!o.isError)throw new z(R.InvalidRequest,`Tool ${t.name} has an output schema but did not return structured content`);if(o.structuredContent)try{let i=s(o.structuredContent);if(!i.valid)throw new z(R.InvalidParams,`Structured content does not match the tool's output schema: ${i.errorMessage}`)}catch(i){throw i instanceof z?i:new z(R.InvalidParams,`Failed to validate structured content: ${i instanceof Error?i.message:String(i)}`)}}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},vi,r);return this.cacheToolMetadata(n.tools),n}_setupListChangedHandler(t,r,n,o){let s=bp.safeParse(n);if(!s.success)throw new Error(`Invalid ${t} listChanged options: ${s.error.message}`);if(typeof n.onChanged!="function")throw new Error(`Invalid ${t} listChanged options: onChanged must be a function`);let{autoRefresh:i,debounceMs:a}=s.data,{onChanged:c}=n,l=async()=>{if(!i){c(null,null);return}try{let d=await o();c(null,d)}catch(d){let p=d instanceof Error?d:new Error(String(d));c(p,null)}},u=()=>{if(a){let d=this._listChangedDebounceTimers.get(t);d&&clearTimeout(d);let p=setTimeout(l,a);this._listChangedDebounceTimers.set(t,p)}else l()};this.setNotificationHandler(r,u)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}};var ug=ls(ag(),1);import Ic from"node:process";import{PassThrough as KS}from"node:stream";var Fo=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),VS(r)}clear(){this._buffer=void 0}};function VS(e){return fp.parse(JSON.parse(e))}function cg(e){return JSON.stringify(e)+`
37
- `}var HS=Ic.platform==="win32"?["APPDATA","HOMEDRIVE","HOMEPATH","LOCALAPPDATA","PATH","PROCESSOR_ARCHITECTURE","SYSTEMDRIVE","SYSTEMROOT","TEMP","USERNAME","USERPROFILE","PROGRAMFILES"]:["HOME","LOGNAME","PATH","SHELL","TERM","USER"];function GS(){let e={};for(let t of HS){let r=Ic.env[t];r!==void 0&&(r.startsWith("()")||(e[t]=r))}return e}var Vo=class{constructor(t){this._readBuffer=new Fo,this._stderrStream=null,this._serverParams=t,(t.stderr==="pipe"||t.stderr==="overlapped")&&(this._stderrStream=new KS)}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,ug.default)(this._serverParams.command,this._serverParams.args??[],{env:{...GS(),...this._serverParams.env},stdio:["pipe","pipe",this._serverParams.stderr??"inherit"],shell:!1,windowsHide:Ic.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=cg(t);this._process.stdin.write(n)?r():this._process.stdin.once("drain",r)})}};var JS=["conversations_list","conversation_get","messages_read","attachments_fetch","events_poll","events_wait","messages_send","channels_list","permissions_list_open","permissions_respond"];var Dt=class e{client;transport;constructor(t,r){this.client=t,this.transport=r}static async connect(t={}){let r=new Vo({command:t.command??"hermes",args:t.args??["mcp","serve"],cwd:t.cwd,env:t.env??WS(),stderr:t.stderr??"pipe"}),n=new Bo({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:YS(r).map(XS),nextCursor:lg(r,["next_cursor","nextCursor","cursor"]),raw:r}}async send(t,r){let n=await this.callJson("messages_send",{target:t,message:r});return{ok:!Ko(n,["error"])&&rz(n,["ok","success"],!0),target:t,messageId:Fe(n,["message_id","messageId","id"]),raw:n}}async channels(t={}){let r=await this.callJson("channels_list",{platform:t.platform});return{channels:ez(r).map(tz).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=JS.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:QS(r)},ut);if(n.structuredContent&&Object.keys(n.structuredContent).length>0)return n.structuredContent;let s=(Array.isArray(n.content)?n.content:[]).filter(i=>i.type==="text").map(i=>i.text??"").join(`
38
- `).trim();if(!s)return{};try{return JSON.parse(s)}catch{return{text:s}}}};function WS(){let e={};for(let[t,r]of Object.entries(process.env))typeof r=="string"&&(e[t]=r);return e}function QS(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0))}function YS(e){if(Array.isArray(e))return e;if(!fr(e))return[];let t=e.events;if(Array.isArray(t))return t;let r=e.event;return r&&fr(r)?[r]:[]}function XS(e){return fr(e)?{id:Fe(e,["id","message_id","messageId"]),cursor:lg(e,["cursor"]),type:Fe(e,["type","event_type","eventType"]),platform:Fe(e,["platform"]),target:Fe(e,["target"]),sessionKey:Fe(e,["session_key","sessionKey"]),timestamp:Fe(e,["timestamp","created_at","createdAt"]),message:Fe(e,["message","text","content"]),raw:e}:{raw:e}}function ez(e){if(Array.isArray(e))return e;if(!fr(e))return[];for(let t of["channels","targets","conversations"]){let r=e[t];if(Array.isArray(r))return r}return[]}function tz(e){if(!fr(e))return null;let t=Fe(e,["target","id","session_key","sessionKey"]);return t?{target:t,platform:Fe(e,["platform"]),name:Fe(e,["name","display_name","displayName","chat_name","chatName"]),raw:e}:null}function Fe(e,t){let r=Ko(e,t);return typeof r=="string"?r:void 0}function rz(e,t,r){let n=Ko(e,t);return typeof n=="boolean"?n:r}function lg(e,t){let r=Ko(e,t);return typeof r=="string"||typeof r=="number"?r:void 0}function Ko(e,t){if(fr(e))for(let r of t){let n=e[r];if(n!=null)return n}}function fr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}import{mkdir as WE,writeFile as QE}from"node:fs/promises";import{join as Hg}from"node:path";import{existsSync as Ho}from"node:fs";import{mkdir as nz,readFile as Nc,writeFile as oz}from"node:fs/promises";import{dirname as Ac,isAbsolute as sz,join as mr,resolve as vt}from"node:path";var Go="file://./.red/brain/brain.rdb",iz="RED_BRAIN_ROOT",az="brain.root";async function cz(e=process.cwd(),t={}){let n=(t.env??process.env)[iz];if(n)return vt(e,n);let o=await uz(e);if(o)return o;let s=vt(e),i=null;for(;;){let a=mr(s,".red");if(Ho(a)&&(i??=s,Ho(mr(a,"brain"))||Ho(mr(a,az))))return s;let c=Ac(s);if(c===s)return i??vt(e);s=c}}async function uz(e){let t=vt(e);for(;;){let r=mr(t,".red","config.yaml");try{let o=await Nc(r,"utf8"),s=lz(o);if(s)return vt(t,s)}catch(o){if(o.code!=="ENOENT")throw o}let n=Ac(t);if(n===t)return null;t=n}}function lz(e){let t=dz(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 dz(e){let t={},r=[],n=[];for(let o of e.split(`
39
- `)){let s=o.replace(/\r$/,"");if(!/".*"/.test(s)&&!/'.*'/.test(s)){let p=s.indexOf("#");p>=0&&(s=s.slice(0,p))}if(s.replace(/\s/g,"")==="")continue;let i=s.match(/^ */)?.[0].length??0;if(i%2!==0)continue;let a=s.slice(i).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]>=i;)r.pop(),n.pop();let d=r.length>0?`${r.join(".")}.${l}`:l;u===""?(r.push(l),n.push(i)):t[d]=u}return t}function dg(e){return mr(vt(e),".red","brain","config.yaml")}function pz(e){return mr(vt(e),".env")}async function fz(e){let t=dg(e);return Ho(t)||(await nz(Ac(t),{recursive:!0}),await oz(t,`connection_string: ${Go}
40
- `,"utf8")),t}async function mz(e){let t=dg(e);try{let r=await Nc(t,"utf8");return hz(r)}catch(r){if(r.code==="ENOENT")return null;throw r}}function hz(e){let t=e.split(/\r?\n/).map(n=>n.trim()).find(n=>n.startsWith("connection_string:"));if(!t)return{connection_string:Go};let r=t.slice(18).trim();return{connection_string:pg(r)||Go}}function pg(e){return e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1):e}async function Jo(e=process.cwd()){let t=await cz(e),r=await fz(t),n=await mz(t)??{connection_string:Go},o=await gz(t),s=n.connection_string,i=yz(s,o);return{rootDir:t,configPath:r,rawConnectionString:s,connectionString:_z(t,i)}}async function gz(e){let t={...process.env};try{let r=await Nc(pz(e),"utf8");for(let n of r.split(/\r?\n/)){let o=n.trim();if(!o||o.startsWith("#"))continue;let s=o.indexOf("=");if(s<=0)continue;let i=o.slice(0,s).trim(),a=pg(o.slice(s+1).trim());t[i]==null&&(t[i]=a)}}catch(r){if(r.code!=="ENOENT")throw r}return t}function yz(e,t){return e.replace(/\$(\w+)|\$\{([^}]+)\}/g,(r,n,o)=>{let s=String(n??o),i=t[s];if(i==null||i==="")throw new Error(`Brain connection_string references missing environment variable ${s}`);return i})}function _z(e,t){if(!t.startsWith("file://"))return t;let r=t.slice(7);return sz(r)?t:`file://${vt(e,r)}`}var vz=typeof globalThis.Bun<"u"&&typeof globalThis.Bun.spawn=="function",wz=typeof globalThis.Deno<"u"&&typeof globalThis.Deno.Command=="function";async function fg(e,t){return vz?$z(e,t):wz?kz(e,t):bz(e,t)}async function bz(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((s,i)=>{n.stdin.write(o,a=>a?i(a):s())})},end(){n.stdin.end()}},stdout:n.stdout,kill(){n.kill("SIGTERM")},wait(){return new Promise(o=>{n.on("exit",s=>o(s??0))})}}}function $z(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:xz(r.stdout),kill(){r.kill()},wait(){return r.exited}}}async function*xz(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 kz(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(s){await o.write(s)},end(){try{o.close()}catch{}}},stdout:Sz(n.stdout),kill(){try{n.kill("SIGTERM")}catch{}},async wait(){return(await n.status).code??0}}}async function*Sz(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 Pz}from"node:url";import{dirname as Tz,resolve as Rz,join as $1}from"node:path";import{existsSync as zz}from"node:fs";import{join as Ez}from"node:path";function mg(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 s=Ez(r,"bin",t);if(zz(s))return s;throw new Error(`reddb: binary "${t}" not found.
41
- expected at: ${s}
34
+ path: iss.path ? [${wt(w)}, ...iss.path] : [${wt(w)}]
35
+ })));`),p.write(`newResult[${wt(w)}] = ${$}.value`)}p.write("payload.value = newResult;"),p.write("return payload;");let b=p.compile();return(w,$)=>b(d,w,$)},o,i=Bt,s=!Tn.jitless,c=s&&_i.value,l=t.catchall,u;e._zod.parse=(d,p)=>{u??(u=r.value);let f=d.value;if(!i(f))return d.issues.push({expected:"object",code:"invalid_type",input:f,inst:e}),d;let h=[];if(s&&c&&p?.async===!1&&p.jitless!==!0)o||(o=n(t.shape)),d=o(d,p);else{d.value={};let $=u.shape;for(let z of u.keys){let P=$[z],ye=P._zod.run({value:f[z],issues:[]},p),Pe=P._zod.optin==="optional"&&P._zod.optout==="optional";ye instanceof Promise?h.push(ye.then(Zt=>Pe?tl(Zt,d,z,f):On(Zt,d,z))):Pe?tl(ye,d,z,f):On(ye,d,z)}}if(!l)return h.length?Promise.all(h).then(()=>d):d;let g=[],_=u.keySet,b=l._zod,w=b.def.type;for(let $ of Object.keys(f)){if(_.has($))continue;if(w==="never"){g.push($);continue}let z=b.run({value:f[$],issues:[]},p);z instanceof Promise?h.push(z.then(P=>On(P,d,$))):On(z,d,$)}return g.length&&d.issues.push({code:"unrecognized_keys",keys:g,input:f,inst:e}),h.length?Promise.all(h).then(()=>d):d}});function rl(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=>De(i,n,Re())))}),t}var Ai=y("$ZodUnion",(e,t)=>{G.init(e,t),H(e._zod,"optin",()=>t.options.some(r=>r._zod.optin==="optional")?"optional":void 0),H(e._zod,"optout",()=>t.options.some(r=>r._zod.optout==="optional")?"optional":void 0),H(e._zod,"values",()=>{if(t.options.every(r=>r._zod.values))return new Set(t.options.flatMap(r=>Array.from(r._zod.values)))}),H(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=>Sr(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=>rl(s,r,e,n)):rl(i,r,e,n)}}),Zl=y("$ZodDiscriminatedUnion",(e,t)=>{Ai.init(e,t);let r=e._zod.parse;H(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=xr(()=>{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(!Bt(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)}}),Bl=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])=>nl(r,c,l)):nl(r,i,s)}});function Ii(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(Lt(e)&&Lt(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=Ii(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=Ii(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 nl(e,t,r){if(t.issues.length&&e.issues.push(...t.issues),r.issues.length&&e.issues.push(...r.issues),$t(e))return e;let n=Ii(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 Ll=y("$ZodRecord",(e,t)=>{G.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!Lt(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(...Ge(c,u.issues)),r.value[c]=u.value})):(l.issues.length&&r.issues.push(...Ge(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=>De(l,n,Re())),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(...Ge(s,l.issues)),r.value[a.value]=l.value})):(c.issues.length&&r.issues.push(...Ge(s,c.issues)),r.value[a.value]=c.value)}}return i.length?Promise.all(i).then(()=>r):r}});var Ul=y("$ZodEnum",(e,t)=>{G.init(e,t);let r=mi(t.entries);e._zod.values=new Set(r),e._zod.pattern=new RegExp(`^(${r.filter(n=>vi.has(typeof n)).map(n=>typeof n=="string"?at(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}}),Fl=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"?at(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 Vl=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 et;return r.value=o,r}}),Kl=y("$ZodOptional",(e,t)=>{G.init(e,t),e._zod.optin="optional",e._zod.optout="optional",H(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),H(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${Sr(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)}),Hl=y("$ZodNullable",(e,t)=>{G.init(e,t),H(e._zod,"optin",()=>t.innerType._zod.optin),H(e._zod,"optout",()=>t.innerType._zod.optout),H(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${Sr(r.source)}|null)$`):void 0}),H(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)}),Gl=y("$ZodDefault",(e,t)=>{G.init(e,t),e._zod.optin="optional",H(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=>ol(i,t)):ol(o,t)}});function ol(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Jl=y("$ZodPrefault",(e,t)=>{G.init(e,t),e._zod.optin="optional",H(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))}),Wl=y("$ZodNonOptional",(e,t)=>{G.init(e,t),H(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=>il(i,e)):il(o,e)}});function il(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 Ql=y("$ZodCatch",(e,t)=>{G.init(e,t),e._zod.optin="optional",H(e._zod,"optout",()=>t.innerType._zod.optout),H(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=>De(s,n,Re()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=t.catchValue({...r,error:{issues:o.issues.map(i=>De(i,n,Re()))},input:r.value}),r.issues=[]),r)}});var Yl=y("$ZodPipe",(e,t)=>{G.init(e,t),H(e._zod,"values",()=>t.in._zod.values),H(e._zod,"optin",()=>t.in._zod.optin),H(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=>sl(i,t,n)):sl(o,t,n)}});function sl(e,t,r){return $t(e)?e:t.out._zod.run({value:e.value,issues:e.issues},r)}var Xl=y("$ZodReadonly",(e,t)=>{G.init(e,t),H(e._zod,"propValues",()=>t.innerType._zod.propValues),H(e._zod,"values",()=>t.innerType._zod.values),H(e._zod,"optin",()=>t.innerType._zod.optin),H(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(al):al(o)}});function al(e){return e.value=Object.freeze(e.value),e}var ed=y("$ZodCustom",(e,t)=>{fe.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=>cl(i,r,n,e));cl(o,r,n,e)}});function cl(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($i(o))}}var Ly=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},Uy=()=>{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 ${Ly(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${In(n.values[0])}`:`Invalid option: expected one of ${Pn(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":""}: ${Pn(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 td(){return{localeError:Uy()}}var _P=Symbol("ZodOutput"),vP=Symbol("ZodInput"),Ci=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 Fy(){return new Ci}var Pr=Fy();function rd(e,t){return new e({type:"string",...T(t)})}function nd(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...T(t)})}function Oi(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...T(t)})}function od(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...T(t)})}function id(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...T(t)})}function sd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...T(t)})}function ad(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...T(t)})}function cd(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...T(t)})}function ud(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...T(t)})}function ld(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...T(t)})}function dd(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...T(t)})}function pd(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...T(t)})}function fd(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...T(t)})}function md(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...T(t)})}function hd(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...T(t)})}function gd(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...T(t)})}function yd(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...T(t)})}function _d(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...T(t)})}function vd(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...T(t)})}function bd(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...T(t)})}function wd(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...T(t)})}function $d(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...T(t)})}function xd(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...T(t)})}function kd(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...T(t)})}function Sd(e,t){return new e({type:"string",format:"date",check:"string_format",...T(t)})}function Ed(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...T(t)})}function zd(e,t){return new e({type:"string",format:"duration",check:"string_format",...T(t)})}function Td(e,t){return new e({type:"number",checks:[],...T(t)})}function Pd(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...T(t)})}function Rd(e,t){return new e({type:"boolean",...T(t)})}function Id(e,t){return new e({type:"null",...T(t)})}function Nd(e){return new e({type:"unknown"})}function Ad(e,t){return new e({type:"never",...T(t)})}function Dn(e,t){return new Pi({check:"less_than",...T(t),value:e,inclusive:!1})}function Rr(e,t){return new Pi({check:"less_than",...T(t),value:e,inclusive:!0})}function Mn(e,t){return new Ri({check:"greater_than",...T(t),value:e,inclusive:!1})}function Ir(e,t){return new Ri({check:"greater_than",...T(t),value:e,inclusive:!0})}function qn(e,t){return new Zu({check:"multiple_of",...T(t),value:e})}function Zn(e,t){return new Lu({check:"max_length",...T(t),maximum:e})}function Ut(e,t){return new Uu({check:"min_length",...T(t),minimum:e})}function Bn(e,t){return new Fu({check:"length_equals",...T(t),length:e})}function ji(e,t){return new Vu({check:"string_format",format:"regex",...T(t),pattern:e})}function Di(e){return new Ku({check:"string_format",format:"lowercase",...T(e)})}function Mi(e){return new Hu({check:"string_format",format:"uppercase",...T(e)})}function qi(e,t){return new Gu({check:"string_format",format:"includes",...T(t),includes:e})}function Zi(e,t){return new Ju({check:"string_format",format:"starts_with",...T(t),prefix:e})}function Bi(e,t){return new Wu({check:"string_format",format:"ends_with",...T(t),suffix:e})}function xt(e){return new Qu({check:"overwrite",tx:e})}function Li(e){return xt(t=>t.normalize(e))}function Ui(){return xt(e=>e.trim())}function Fi(){return xt(e=>e.toLowerCase())}function Vi(){return xt(e=>e.toUpperCase())}function Cd(e,t,r){return new e({type:"array",element:t,...T(r)})}function Od(e,t,r){let n=T(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}function jd(e,t,r){return new e({type:"custom",check:"custom",fn:t,...T(r)})}function Ft(e){return!!e._zod}function Me(e,t){return Ft(e)?zr(e,t):e.safeParse(t)}function Ln(e){if(!e)return;let t;if(Ft(e)?t=e._zod?.def?.shape:t=e.shape,!!t){if(typeof t=="function")try{return t()}catch{return}return t}}function Dd(e){if(Ft(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 Ar={};tu(Ar,{ZodISODate:()=>qd,ZodISODateTime:()=>Md,ZodISODuration:()=>Bd,ZodISOTime:()=>Zd,date:()=>Hi,datetime:()=>Ki,duration:()=>Ji,time:()=>Gi});var Md=y("ZodISODateTime",(e,t)=>{bl.init(e,t),ee.init(e,t)});function Ki(e){return kd(Md,e)}var qd=y("ZodISODate",(e,t)=>{wl.init(e,t),ee.init(e,t)});function Hi(e){return Sd(qd,e)}var Zd=y("ZodISOTime",(e,t)=>{$l.init(e,t),ee.init(e,t)});function Gi(e){return Ed(Zd,e)}var Bd=y("ZodISODuration",(e,t)=>{xl.init(e,t),ee.init(e,t)});function Ji(e){return zd(Bd,e)}var Ld=(e,t)=>{Nn.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>au(e,r)},flatten:{value:r=>su(e,r)},addIssue:{value:r=>e.issues.push(r)},addIssues:{value:r=>e.issues.push(...r)},isEmpty:{get(){return e.issues.length===0}}})},XP=y("ZodError",Ld),Cr=y("ZodError",Ld,{Parent:Error});var Ud=cu(Cr),Fd=uu(Cr),Vd=ki(Cr),Kd=Si(Cr);var ne=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)=>He(e,r,n),e.brand=()=>e,e.register=(r,n)=>(r.add(e,n),e),e.parse=(r,n)=>Ud(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>Vd(e,r,n),e.parseAsync=async(r,n)=>Fd(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>Kd(e,r,n),e.spa=e.safeParseAsync,e.refine=(r,n)=>e.check(B_(r,n)),e.superRefine=r=>e.check(L_(r)),e.overwrite=r=>e.check(xt(r)),e.optional=()=>re(e),e.nullable=()=>Jd(e),e.nullish=()=>re(Jd(e)),e.nonoptional=r=>C_(e,r),e.array=()=>M(e),e.or=r=>Q([e,r]),e.and=r=>Fn(e,r),e.transform=r=>Qi(e,tp(r)),e.default=r=>I_(e,r),e.prefault=r=>A_(e,r),e.catch=r=>j_(e,r),e.pipe=r=>Qi(e,r),e.readonly=()=>q_(e),e.describe=r=>{let n=e.clone();return Pr.add(n,{description:r}),n},Object.defineProperty(e,"description",{get(){return Pr.get(e)?.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return Pr.get(e);let n=e.clone();return Pr.add(n,r[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),Wd=y("_ZodString",(e,t)=>{jn.init(e,t),ne.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(ji(...n)),e.includes=(...n)=>e.check(qi(...n)),e.startsWith=(...n)=>e.check(Zi(...n)),e.endsWith=(...n)=>e.check(Bi(...n)),e.min=(...n)=>e.check(Ut(...n)),e.max=(...n)=>e.check(Zn(...n)),e.length=(...n)=>e.check(Bn(...n)),e.nonempty=(...n)=>e.check(Ut(1,...n)),e.lowercase=n=>e.check(Di(n)),e.uppercase=n=>e.check(Mi(n)),e.trim=()=>e.check(Ui()),e.normalize=(...n)=>e.check(Li(...n)),e.toLowerCase=()=>e.check(Fi()),e.toUpperCase=()=>e.check(Vi())}),Xy=y("ZodString",(e,t)=>{jn.init(e,t),Wd.init(e,t),e.email=r=>e.check(nd(e_,r)),e.url=r=>e.check(cd(t_,r)),e.jwt=r=>e.check(xd(g_,r)),e.emoji=r=>e.check(ud(r_,r)),e.guid=r=>e.check(Oi(Hd,r)),e.uuid=r=>e.check(od(Un,r)),e.uuidv4=r=>e.check(id(Un,r)),e.uuidv6=r=>e.check(sd(Un,r)),e.uuidv7=r=>e.check(ad(Un,r)),e.nanoid=r=>e.check(ld(n_,r)),e.guid=r=>e.check(Oi(Hd,r)),e.cuid=r=>e.check(dd(o_,r)),e.cuid2=r=>e.check(pd(i_,r)),e.ulid=r=>e.check(fd(s_,r)),e.base64=r=>e.check(bd(f_,r)),e.base64url=r=>e.check(wd(m_,r)),e.xid=r=>e.check(md(a_,r)),e.ksuid=r=>e.check(hd(c_,r)),e.ipv4=r=>e.check(gd(u_,r)),e.ipv6=r=>e.check(yd(l_,r)),e.cidrv4=r=>e.check(_d(d_,r)),e.cidrv6=r=>e.check(vd(p_,r)),e.e164=r=>e.check($d(h_,r)),e.datetime=r=>e.check(Ki(r)),e.date=r=>e.check(Hi(r)),e.time=r=>e.check(Gi(r)),e.duration=r=>e.check(Ji(r))});function m(e){return rd(Xy,e)}var ee=y("ZodStringFormat",(e,t)=>{W.init(e,t),Wd.init(e,t)}),e_=y("ZodEmail",(e,t)=>{dl.init(e,t),ee.init(e,t)});var Hd=y("ZodGUID",(e,t)=>{ul.init(e,t),ee.init(e,t)});var Un=y("ZodUUID",(e,t)=>{ll.init(e,t),ee.init(e,t)});var t_=y("ZodURL",(e,t)=>{pl.init(e,t),ee.init(e,t)});var r_=y("ZodEmoji",(e,t)=>{fl.init(e,t),ee.init(e,t)});var n_=y("ZodNanoID",(e,t)=>{ml.init(e,t),ee.init(e,t)});var o_=y("ZodCUID",(e,t)=>{hl.init(e,t),ee.init(e,t)});var i_=y("ZodCUID2",(e,t)=>{gl.init(e,t),ee.init(e,t)});var s_=y("ZodULID",(e,t)=>{yl.init(e,t),ee.init(e,t)});var a_=y("ZodXID",(e,t)=>{_l.init(e,t),ee.init(e,t)});var c_=y("ZodKSUID",(e,t)=>{vl.init(e,t),ee.init(e,t)});var u_=y("ZodIPv4",(e,t)=>{kl.init(e,t),ee.init(e,t)});var l_=y("ZodIPv6",(e,t)=>{Sl.init(e,t),ee.init(e,t)});var d_=y("ZodCIDRv4",(e,t)=>{El.init(e,t),ee.init(e,t)});var p_=y("ZodCIDRv6",(e,t)=>{zl.init(e,t),ee.init(e,t)});var f_=y("ZodBase64",(e,t)=>{Pl.init(e,t),ee.init(e,t)});var m_=y("ZodBase64URL",(e,t)=>{Rl.init(e,t),ee.init(e,t)});var h_=y("ZodE164",(e,t)=>{Il.init(e,t),ee.init(e,t)});var g_=y("ZodJWT",(e,t)=>{Nl.init(e,t),ee.init(e,t)});var Qd=y("ZodNumber",(e,t)=>{Ni.init(e,t),ne.init(e,t),e.gt=(n,o)=>e.check(Mn(n,o)),e.gte=(n,o)=>e.check(Ir(n,o)),e.min=(n,o)=>e.check(Ir(n,o)),e.lt=(n,o)=>e.check(Dn(n,o)),e.lte=(n,o)=>e.check(Rr(n,o)),e.max=(n,o)=>e.check(Rr(n,o)),e.int=n=>e.check(Gd(n)),e.safe=n=>e.check(Gd(n)),e.positive=n=>e.check(Mn(0,n)),e.nonnegative=n=>e.check(Ir(0,n)),e.negative=n=>e.check(Dn(0,n)),e.nonpositive=n=>e.check(Rr(0,n)),e.multipleOf=(n,o)=>e.check(qn(n,o)),e.step=(n,o)=>e.check(qn(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 F(e){return Td(Qd,e)}var y_=y("ZodNumberFormat",(e,t)=>{Al.init(e,t),Qd.init(e,t)});function Gd(e){return Pd(y_,e)}var __=y("ZodBoolean",(e,t)=>{Cl.init(e,t),ne.init(e,t)});function ae(e){return Rd(__,e)}var v_=y("ZodNull",(e,t)=>{Ol.init(e,t),ne.init(e,t)});function Yd(e){return Id(v_,e)}var b_=y("ZodUnknown",(e,t)=>{jl.init(e,t),ne.init(e,t)});function te(){return Nd(b_)}var w_=y("ZodNever",(e,t)=>{Dl.init(e,t),ne.init(e,t)});function $_(e){return Ad(w_,e)}var x_=y("ZodArray",(e,t)=>{Ml.init(e,t),ne.init(e,t),e.element=t.element,e.min=(r,n)=>e.check(Ut(r,n)),e.nonempty=r=>e.check(Ut(1,r)),e.max=(r,n)=>e.check(Zn(r,n)),e.length=(r,n)=>e.check(Bn(r,n)),e.unwrap=()=>e.element});function M(e,t){return Cd(x_,e,t)}var Xd=y("ZodObject",(e,t)=>{ql.init(e,t),ne.init(e,t),U.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>$e(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:te()}),e.loose=()=>e.clone({...e._zod.def,catchall:te()}),e.strict=()=>e.clone({...e._zod.def,catchall:$_()}),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(rp,e,r[0]),e.required=(...r)=>U.required(np,e,r[0])});function x(e,t){let r={type:"object",get shape(){return U.assignProp(this,"shape",{...e}),this.shape},...U.normalizeParams(t)};return new Xd(r)}function _e(e,t){return new Xd({type:"object",get shape(){return U.assignProp(this,"shape",{...e}),this.shape},catchall:te(),...U.normalizeParams(t)})}var ep=y("ZodUnion",(e,t)=>{Ai.init(e,t),ne.init(e,t),e.options=t.options});function Q(e,t){return new ep({type:"union",options:e,...U.normalizeParams(t)})}var k_=y("ZodDiscriminatedUnion",(e,t)=>{ep.init(e,t),Zl.init(e,t)});function Yi(e,t,r){return new k_({type:"union",options:t,discriminator:e,...U.normalizeParams(r)})}var S_=y("ZodIntersection",(e,t)=>{Bl.init(e,t),ne.init(e,t)});function Fn(e,t){return new S_({type:"intersection",left:e,right:t})}var E_=y("ZodRecord",(e,t)=>{Ll.init(e,t),ne.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function J(e,t,r){return new E_({type:"record",keyType:e,valueType:t,...U.normalizeParams(r)})}var Wi=y("ZodEnum",(e,t)=>{Ul.init(e,t),ne.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 Wi({...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 Wi({...t,checks:[],...U.normalizeParams(o),entries:i})}});function $e(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new Wi({type:"enum",entries:r,...U.normalizeParams(t)})}var z_=y("ZodLiteral",(e,t)=>{Fl.init(e,t),ne.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 k(e,t){return new z_({type:"literal",values:Array.isArray(e)?e:[e],...U.normalizeParams(t)})}var T_=y("ZodTransform",(e,t)=>{Vl.init(e,t),ne.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 tp(e){return new T_({type:"transform",transform:e})}var rp=y("ZodOptional",(e,t)=>{Kl.init(e,t),ne.init(e,t),e.unwrap=()=>e._zod.def.innerType});function re(e){return new rp({type:"optional",innerType:e})}var P_=y("ZodNullable",(e,t)=>{Hl.init(e,t),ne.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Jd(e){return new P_({type:"nullable",innerType:e})}var R_=y("ZodDefault",(e,t)=>{Gl.init(e,t),ne.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function I_(e,t){return new R_({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var N_=y("ZodPrefault",(e,t)=>{Jl.init(e,t),ne.init(e,t),e.unwrap=()=>e._zod.def.innerType});function A_(e,t){return new N_({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var np=y("ZodNonOptional",(e,t)=>{Wl.init(e,t),ne.init(e,t),e.unwrap=()=>e._zod.def.innerType});function C_(e,t){return new np({type:"nonoptional",innerType:e,...U.normalizeParams(t)})}var O_=y("ZodCatch",(e,t)=>{Ql.init(e,t),ne.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function j_(e,t){return new O_({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var D_=y("ZodPipe",(e,t)=>{Yl.init(e,t),ne.init(e,t),e.in=t.in,e.out=t.out});function Qi(e,t){return new D_({type:"pipe",in:e,out:t})}var M_=y("ZodReadonly",(e,t)=>{Xl.init(e,t),ne.init(e,t)});function q_(e){return new M_({type:"readonly",innerType:e})}var op=y("ZodCustom",(e,t)=>{ed.init(e,t),ne.init(e,t)});function Z_(e){let t=new fe({check:"custom"});return t._zod.check=e,t}function ip(e,t){return Od(op,e??(()=>!0),t)}function B_(e,t={}){return jd(op,e,t)}function L_(e){let t=Z_(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 Xi(e,t){return Qi(tp(e),t)}Re(td());var ts="2025-11-25";var sp=[ts,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],ct="io.modelcontextprotocol/related-task",Kn="2.0",se=ip(e=>e!==null&&(typeof e=="object"||typeof e=="function")),ap=Q([m(),F().int()]),cp=m(),KR=_e({ttl:F().optional(),pollInterval:F().optional()}),U_=x({ttl:F().optional()}),F_=x({taskId:m()}),rs=_e({progressToken:ap.optional(),[ct]:F_.optional()}),Te=x({_meta:rs.optional()}),Or=Te.extend({task:U_.optional()}),up=e=>Or.safeParse(e).success,ce=x({method:m(),params:Te.loose().optional()}),Ie=x({_meta:rs.optional()}),Ne=x({method:m(),params:Ie.loose().optional()}),ue=_e({_meta:rs.optional()}),Hn=Q([m(),F().int()]),lp=x({jsonrpc:k(Kn),id:Hn,...ce.shape}).strict(),ns=e=>lp.safeParse(e).success,dp=x({jsonrpc:k(Kn),...Ne.shape}).strict(),pp=e=>dp.safeParse(e).success,os=x({jsonrpc:k(Kn),id:Hn,result:ue}).strict(),jr=e=>os.safeParse(e).success;var R;(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"})(R||(R={}));var is=x({jsonrpc:k(Kn),id:Hn.optional(),error:x({code:F().int(),message:m(),data:te().optional()})}).strict();var fp=e=>is.safeParse(e).success;var mp=Q([lp,dp,os,is]),HR=Q([os,is]),kt=ue.strict(),V_=Ie.extend({requestId:Hn.optional(),reason:m().optional()}),Gn=Ne.extend({method:k("notifications/cancelled"),params:V_}),K_=x({src:m(),mimeType:m().optional(),sizes:M(m()).optional(),theme:$e(["light","dark"]).optional()}),Dr=x({icons:M(K_).optional()}),Vt=x({name:m(),title:m().optional()}),hp=Vt.extend({...Vt.shape,...Dr.shape,version:m(),websiteUrl:m().optional(),description:m().optional()}),H_=Fn(x({applyDefaults:ae().optional()}),J(m(),te())),G_=Xi(e=>e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,Fn(x({form:H_.optional(),url:se.optional()}),J(m(),te()).optional())),J_=_e({list:se.optional(),cancel:se.optional(),requests:_e({sampling:_e({createMessage:se.optional()}).optional(),elicitation:_e({create:se.optional()}).optional()}).optional()}),W_=_e({list:se.optional(),cancel:se.optional(),requests:_e({tools:_e({call:se.optional()}).optional()}).optional()}),Q_=x({experimental:J(m(),se).optional(),sampling:x({context:se.optional(),tools:se.optional()}).optional(),elicitation:G_.optional(),roots:x({listChanged:ae().optional()}).optional(),tasks:J_.optional(),extensions:J(m(),se).optional()}),Y_=Te.extend({protocolVersion:m(),capabilities:Q_,clientInfo:hp}),X_=ce.extend({method:k("initialize"),params:Y_});var ev=x({experimental:J(m(),se).optional(),logging:se.optional(),completions:se.optional(),prompts:x({listChanged:ae().optional()}).optional(),resources:x({subscribe:ae().optional(),listChanged:ae().optional()}).optional(),tools:x({listChanged:ae().optional()}).optional(),tasks:W_.optional(),extensions:J(m(),se).optional()}),ss=ue.extend({protocolVersion:m(),capabilities:ev,serverInfo:hp,instructions:m().optional()}),tv=Ne.extend({method:k("notifications/initialized"),params:Ie.optional()});var Jn=ce.extend({method:k("ping"),params:Te.optional()}),rv=x({progress:F(),total:re(F()),message:re(m())}),nv=x({...Ie.shape,...rv.shape,progressToken:ap}),Wn=Ne.extend({method:k("notifications/progress"),params:nv}),ov=Te.extend({cursor:cp.optional()}),Mr=ce.extend({params:ov.optional()}),qr=ue.extend({nextCursor:cp.optional()}),iv=$e(["working","input_required","completed","failed","cancelled"]),Zr=x({taskId:m(),status:iv,ttl:Q([F(),Yd()]),createdAt:m(),lastUpdatedAt:m(),pollInterval:re(F()),statusMessage:re(m())}),St=ue.extend({task:Zr}),sv=Ie.merge(Zr),Br=Ne.extend({method:k("notifications/tasks/status"),params:sv}),Qn=ce.extend({method:k("tasks/get"),params:Te.extend({taskId:m()})}),Yn=ue.merge(Zr),Xn=ce.extend({method:k("tasks/result"),params:Te.extend({taskId:m()})}),GR=ue.loose(),eo=Mr.extend({method:k("tasks/list")}),to=qr.extend({tasks:M(Zr)}),ro=ce.extend({method:k("tasks/cancel"),params:Te.extend({taskId:m()})}),gp=ue.merge(Zr),yp=x({uri:m(),mimeType:re(m()),_meta:J(m(),te()).optional()}),_p=yp.extend({text:m()}),as=m().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),vp=yp.extend({blob:as}),Lr=$e(["user","assistant"]),Kt=x({audience:M(Lr).optional(),priority:F().min(0).max(1).optional(),lastModified:Ar.datetime({offset:!0}).optional()}),bp=x({...Vt.shape,...Dr.shape,uri:m(),description:re(m()),mimeType:re(m()),size:re(F()),annotations:Kt.optional(),_meta:re(_e({}))}),av=x({...Vt.shape,...Dr.shape,uriTemplate:m(),description:re(m()),mimeType:re(m()),annotations:Kt.optional(),_meta:re(_e({}))}),cv=Mr.extend({method:k("resources/list")}),cs=qr.extend({resources:M(bp)}),uv=Mr.extend({method:k("resources/templates/list")}),us=qr.extend({resourceTemplates:M(av)}),ls=Te.extend({uri:m()}),lv=ls,dv=ce.extend({method:k("resources/read"),params:lv}),ds=ue.extend({contents:M(Q([_p,vp]))}),ps=Ne.extend({method:k("notifications/resources/list_changed"),params:Ie.optional()}),pv=ls,fv=ce.extend({method:k("resources/subscribe"),params:pv}),mv=ls,hv=ce.extend({method:k("resources/unsubscribe"),params:mv}),gv=Ie.extend({uri:m()}),yv=Ne.extend({method:k("notifications/resources/updated"),params:gv}),_v=x({name:m(),description:re(m()),required:re(ae())}),vv=x({...Vt.shape,...Dr.shape,description:re(m()),arguments:re(M(_v)),_meta:re(_e({}))}),bv=Mr.extend({method:k("prompts/list")}),fs=qr.extend({prompts:M(vv)}),wv=Te.extend({name:m(),arguments:J(m(),m()).optional()}),$v=ce.extend({method:k("prompts/get"),params:wv}),ms=x({type:k("text"),text:m(),annotations:Kt.optional(),_meta:J(m(),te()).optional()}),hs=x({type:k("image"),data:as,mimeType:m(),annotations:Kt.optional(),_meta:J(m(),te()).optional()}),gs=x({type:k("audio"),data:as,mimeType:m(),annotations:Kt.optional(),_meta:J(m(),te()).optional()}),xv=x({type:k("tool_use"),name:m(),id:m(),input:J(m(),te()),_meta:J(m(),te()).optional()}),kv=x({type:k("resource"),resource:Q([_p,vp]),annotations:Kt.optional(),_meta:J(m(),te()).optional()}),Sv=bp.extend({type:k("resource_link")}),ys=Q([ms,hs,gs,Sv,kv]),Ev=x({role:Lr,content:ys}),_s=ue.extend({description:m().optional(),messages:M(Ev)}),vs=Ne.extend({method:k("notifications/prompts/list_changed"),params:Ie.optional()}),zv=x({title:m().optional(),readOnlyHint:ae().optional(),destructiveHint:ae().optional(),idempotentHint:ae().optional(),openWorldHint:ae().optional()}),Tv=x({taskSupport:$e(["required","optional","forbidden"]).optional()}),wp=x({...Vt.shape,...Dr.shape,description:m().optional(),inputSchema:x({type:k("object"),properties:J(m(),se).optional(),required:M(m()).optional()}).catchall(te()),outputSchema:x({type:k("object"),properties:J(m(),se).optional(),required:M(m()).optional()}).catchall(te()).optional(),annotations:zv.optional(),execution:Tv.optional(),_meta:J(m(),te()).optional()}),Pv=Mr.extend({method:k("tools/list")}),bs=qr.extend({tools:M(wp)}),ut=ue.extend({content:M(ys).default([]),structuredContent:J(m(),te()).optional(),isError:ae().optional()}),JR=ut.or(ue.extend({toolResult:te()})),Rv=Or.extend({name:m(),arguments:J(m(),te()).optional()}),Iv=ce.extend({method:k("tools/call"),params:Rv}),ws=Ne.extend({method:k("notifications/tools/list_changed"),params:Ie.optional()}),$p=x({autoRefresh:ae().default(!0),debounceMs:F().int().nonnegative().default(300)}),xp=$e(["debug","info","notice","warning","error","critical","alert","emergency"]),Nv=Te.extend({level:xp}),Av=ce.extend({method:k("logging/setLevel"),params:Nv}),Cv=Ie.extend({level:xp,logger:m().optional(),data:te()}),Ov=Ne.extend({method:k("notifications/message"),params:Cv}),jv=x({name:m().optional()}),Dv=x({hints:M(jv).optional(),costPriority:F().min(0).max(1).optional(),speedPriority:F().min(0).max(1).optional(),intelligencePriority:F().min(0).max(1).optional()}),Mv=x({mode:$e(["auto","required","none"]).optional()}),qv=x({type:k("tool_result"),toolUseId:m().describe("The unique identifier for the corresponding tool call."),content:M(ys).default([]),structuredContent:x({}).loose().optional(),isError:ae().optional(),_meta:J(m(),te()).optional()}),Zv=Yi("type",[ms,hs,gs]),Vn=Yi("type",[ms,hs,gs,xv,qv]),Bv=x({role:Lr,content:Q([Vn,M(Vn)]),_meta:J(m(),te()).optional()}),Lv=Or.extend({messages:M(Bv),modelPreferences:Dv.optional(),systemPrompt:m().optional(),includeContext:$e(["none","thisServer","allServers"]).optional(),temperature:F().optional(),maxTokens:F().int(),stopSequences:M(m()).optional(),metadata:se.optional(),tools:M(wp).optional(),toolChoice:Mv.optional()}),$s=ce.extend({method:k("sampling/createMessage"),params:Lv}),xs=ue.extend({model:m(),stopReason:re($e(["endTurn","stopSequence","maxTokens"]).or(m())),role:Lr,content:Zv}),ks=ue.extend({model:m(),stopReason:re($e(["endTurn","stopSequence","maxTokens","toolUse"]).or(m())),role:Lr,content:Q([Vn,M(Vn)])}),Uv=x({type:k("boolean"),title:m().optional(),description:m().optional(),default:ae().optional()}),Fv=x({type:k("string"),title:m().optional(),description:m().optional(),minLength:F().optional(),maxLength:F().optional(),format:$e(["email","uri","date","date-time"]).optional(),default:m().optional()}),Vv=x({type:$e(["number","integer"]),title:m().optional(),description:m().optional(),minimum:F().optional(),maximum:F().optional(),default:F().optional()}),Kv=x({type:k("string"),title:m().optional(),description:m().optional(),enum:M(m()),default:m().optional()}),Hv=x({type:k("string"),title:m().optional(),description:m().optional(),oneOf:M(x({const:m(),title:m()})),default:m().optional()}),Gv=x({type:k("string"),title:m().optional(),description:m().optional(),enum:M(m()),enumNames:M(m()).optional(),default:m().optional()}),Jv=Q([Kv,Hv]),Wv=x({type:k("array"),title:m().optional(),description:m().optional(),minItems:F().optional(),maxItems:F().optional(),items:x({type:k("string"),enum:M(m())}),default:M(m()).optional()}),Qv=x({type:k("array"),title:m().optional(),description:m().optional(),minItems:F().optional(),maxItems:F().optional(),items:x({anyOf:M(x({const:m(),title:m()}))}),default:M(m()).optional()}),Yv=Q([Wv,Qv]),Xv=Q([Gv,Jv,Yv]),eb=Q([Xv,Uv,Fv,Vv]),tb=Or.extend({mode:k("form").optional(),message:m(),requestedSchema:x({type:k("object"),properties:J(m(),eb),required:M(m()).optional()})}),rb=Or.extend({mode:k("url"),message:m(),elicitationId:m(),url:m().url()}),nb=Q([tb,rb]),Ss=ce.extend({method:k("elicitation/create"),params:nb}),ob=Ie.extend({elicitationId:m()}),ib=Ne.extend({method:k("notifications/elicitation/complete"),params:ob}),Es=ue.extend({action:$e(["accept","decline","cancel"]),content:Xi(e=>e===null?void 0:e,J(m(),Q([m(),F(),ae(),M(m())])).optional())}),sb=x({type:k("ref/resource"),uri:m()});var ab=x({type:k("ref/prompt"),name:m()}),cb=Te.extend({ref:Q([ab,sb]),argument:x({name:m(),value:m()}),context:x({arguments:J(m(),m()).optional()}).optional()}),ub=ce.extend({method:k("completion/complete"),params:cb});var zs=ue.extend({completion:_e({values:M(m()).max(100),total:re(F().int()),hasMore:re(ae())})}),lb=x({uri:m().startsWith("file://"),name:m().optional(),_meta:J(m(),te()).optional()}),db=ce.extend({method:k("roots/list"),params:Te.optional()}),pb=ue.extend({roots:M(lb)}),fb=Ne.extend({method:k("notifications/roots/list_changed"),params:Ie.optional()}),WR=Q([Jn,X_,ub,Av,$v,bv,cv,uv,dv,fv,hv,Iv,Pv,Qn,Xn,eo,ro]),QR=Q([Gn,Wn,tv,fb,Br]),YR=Q([kt,xs,ks,Es,pb,Yn,to,St]),XR=Q([Jn,$s,Ss,db,Qn,Xn,eo,ro]),eI=Q([Gn,Wn,Ov,yv,ps,ws,vs,Br,ib]),tI=Q([kt,ss,zs,_s,fs,cs,us,ds,ut,bs,Yn,to,St]),E=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===R.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new es(o.elicitations,r)}return new e(t,r,n)}},es=class extends E{constructor(t,r=`URL elicitation${t.length>1?"s":""} required`){super(R.UrlElicitationRequired,r,{elicitations:t})}get elicitations(){return this.data?.elicitations??[]}};function lt(e){return e==="completed"||e==="failed"||e==="cancelled"}var mb=Symbol("Let zodToJsonSchema decide on which parser to use");var CI=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Ts(e){let r=Ln(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=Dd(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function Ps(e,t){let r=Me(e,t);if(!r.success)throw r.error;return r.data}var bb=6e4,no=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(Gn,r=>{this._oncancel(r)}),this.setNotificationHandler(Wn,r=>{this._onprogress(r)}),this.setRequestHandler(Jn,r=>({})),this._taskStore=t?.taskStore,this._taskMessageQueue=t?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Qn,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new E(R.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(Xn,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,p=new E(d.error.code,d.error.message,d.error.data);u(p)}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 E(R.InvalidParams,`Task not found: ${i}`);if(!lt(s.status))return await this._waitForTaskUpdate(i,n.signal),await o();if(lt(s.status)){let a=await this._taskStore.getTaskResult(i,n.sessionId);return this._clearTaskQueue(i),{...a,_meta:{...a._meta,[ct]:{taskId:i}}}}return await o()};return await o()}),this.setRequestHandler(eo,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 E(R.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(ro,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new E(R.InvalidParams,`Task not found: ${r.params.taskId}`);if(lt(o.status))throw new E(R.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 E(R.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...i}}catch(o){throw o instanceof E?o:new E(R.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),E.fromError(R.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),jr(i)||fp(i)?this._onresponse(i):ns(i)?this._onrequest(i,s):pp(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=E.fromError(R.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?.[ct]?.taskId;if(n===void 0){let u={jsonrpc:"2.0",id:t.id,error:{code:R.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=up(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,p)=>{if(s.signal.aborted)throw new E(R.ConnectionClosed,"Request was cancelled");let f={...p,relatedRequestId:t.id};i&&!f.relatedTask&&(f.relatedTask={taskId:i});let h=f.relatedTask?.taskId??i;return h&&c&&await c.updateTaskStatus(h,"input_required"),await this.request(u,d,f)},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:R.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),jr(t))n(t);else{let s=new E(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(jr(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),jr(t))o(t);else{let s=E.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 E?s:new E(R.InternalError,String(s))}}return}let i;try{let s=await this.request(t,St,n);if(s.task)i=s.task.taskId,yield{type:"taskCreated",task:s.task};else throw new E(R.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:i},n);if(yield{type:"taskStatus",task:a},lt(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:i},r,n)}:a.status==="failed"?yield{type:"error",error:new E(R.InternalError,`Task ${i} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new E(R.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 E?s:new E(R.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=w=>{u(w)};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(w){d(w);return}n?.signal?.throwIfAborted();let p=this._requestMessageId++,f={...t,jsonrpc:"2.0",id:p};n?.onprogress&&(this._progressHandlers.set(p,n.onprogress),f.params={...t.params,_meta:{...t.params?._meta||{},progressToken:p}}),a&&(f.params={...f.params,task:a}),c&&(f.params={...f.params,_meta:{...f.params?._meta||{},[ct]:c}});let h=w=>{this._responseHandlers.delete(p),this._progressHandlers.delete(p),this._cleanupTimeout(p),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:p,reason:String(w)}},{relatedRequestId:o,resumptionToken:i,onresumptiontoken:s}).catch(z=>this._onerror(new Error(`Failed to send cancellation: ${z}`)));let $=w instanceof E?w:new E(R.RequestTimeout,String(w));u($)};this._responseHandlers.set(p,w=>{if(!n?.signal?.aborted){if(w instanceof Error)return u(w);try{let $=Me(r,w.result);$.success?l($.data):u($.error)}catch($){u($)}}}),n?.signal?.addEventListener("abort",()=>{h(n?.signal?.reason)});let g=n?.timeout??bb,_=()=>h(E.fromError(R.RequestTimeout,"Request timed out",{timeout:g}));this._setupTimeout(p,g,n?.maxTotalTimeout,_,n?.resetTimeoutOnProgress??!1);let b=c?.taskId;if(b){let w=$=>{let z=this._responseHandlers.get(p);z?z($):this._onerror(new Error(`Response handler missing for side-channeled request ${p}`))};this._requestResolvers.set(p,w),this._enqueueTaskMessage(b,{type:"request",message:f,timestamp:Date.now()}).catch($=>{this._cleanupTimeout(p),u($)})}else this._transport.send(f,{relatedRequestId:o,resumptionToken:i,onresumptiontoken:s}).catch(w=>{this._cleanupTimeout(p),u(w)})})}async getTask(t,r){return this.request({method:"tasks/get",params:t},Yn,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},to,r)}async cancelTask(t,r){return this.request({method:"tasks/cancel",params:t},gp,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||{},[ct]: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||{},[ct]: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||{},[ct]:r.relatedTask}}}),await this._transport.send(s,r)}setRequestHandler(t,r){let n=Ts(t);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,i)=>{let s=Ps(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=Ts(t);this._notificationHandlers.set(n,o=>{let i=Ps(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"&&ns(o.message)){let i=o.message.id,s=this._requestResolvers.get(i);s?(s(new E(R.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 E(R.InvalidRequest,"Request cancelled"));return}let s=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(s),i(new E(R.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 E(R.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=Br.parse({method:"notifications/tasks/status",params:a});await this.notification(c),lt(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 E(R.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(lt(a.status))throw new E(R.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=Br.parse({method:"notifications/tasks/status",params:c});await this.notification(l),lt(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function kp(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Sp(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];kp(s)&&kp(i)?r[o]={...s,...i}:r[o]=i}return r}var yh=di(hc(),1),_h=di(gh(),1);function xS(){let e=new yh.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,_h.default)(e),e}var qo=class{constructor(t){this._ajv=t??xS()}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 Zo=class{constructor(t){this._client=t}async*callToolStream(t,r=ut,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 E(R.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 E(R.InvalidParams,`Structured content does not match the tool's output schema: ${u.errorMessage}`)};return}}catch(u){if(u instanceof E){yield{type:"error",error:u};return}yield{type:"error",error:new E(R.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 vh(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 bh(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 Bo(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&&Bo(i,r[o])}}if(Array.isArray(e.anyOf))for(let r of e.anyOf)typeof r!="boolean"&&Bo(r,t);if(Array.isArray(e.oneOf))for(let r of e.oneOf)typeof r!="boolean"&&Bo(r,t)}}function kS(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 Lo=class extends no{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 qo,r?.listChanged&&(this._pendingListChangedConfig=r.listChanged)}_setupListChangedHandlers(t){t.tools&&this._serverCapabilities?.tools?.listChanged&&this._setupListChangedHandler("tools",ws,t.tools,async()=>(await this.listTools()).tools),t.prompts&&this._serverCapabilities?.prompts?.listChanged&&this._setupListChangedHandler("prompts",vs,t.prompts,async()=>(await this.listPrompts()).prompts),t.resources&&this._serverCapabilities?.resources?.listChanged&&this._setupListChangedHandler("resources",ps,t.resources,async()=>(await this.listResources()).resources)}get experimental(){return this._experimental||(this._experimental={tasks:new Zo(this)}),this._experimental}registerCapabilities(t){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Sp(this._capabilities,t)}setRequestHandler(t,r){let o=Ln(t)?.method;if(!o)throw new Error("Schema is missing a method literal");let i;if(Ft(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=Me(Ss,c);if(!u.success){let w=u.error instanceof Error?u.error.message:String(u.error);throw new E(R.InvalidParams,`Invalid elicitation request: ${w}`)}let{params:d}=u.data;d.mode=d.mode??"form";let{supportsFormMode:p,supportsUrlMode:f}=kS(this._capabilities.elicitation);if(d.mode==="form"&&!p)throw new E(R.InvalidParams,"Client does not support form-mode elicitation requests");if(d.mode==="url"&&!f)throw new E(R.InvalidParams,"Client does not support URL-mode elicitation requests");let h=await Promise.resolve(r(c,l));if(d.task){let w=Me(St,h);if(!w.success){let $=w.error instanceof Error?w.error.message:String(w.error);throw new E(R.InvalidParams,`Invalid task creation result: ${$}`)}return w.data}let g=Me(Es,h);if(!g.success){let w=g.error instanceof Error?g.error.message:String(g.error);throw new E(R.InvalidParams,`Invalid elicitation result: ${w}`)}let _=g.data,b=d.mode==="form"?d.requestedSchema:void 0;if(d.mode==="form"&&_.action==="accept"&&_.content&&b&&this._capabilities.elicitation?.form?.applyDefaults)try{Bo(b,_.content)}catch{}return _};return super.setRequestHandler(t,a)}if(s==="sampling/createMessage"){let a=async(c,l)=>{let u=Me($s,c);if(!u.success){let _=u.error instanceof Error?u.error.message:String(u.error);throw new E(R.InvalidParams,`Invalid sampling request: ${_}`)}let{params:d}=u.data,p=await Promise.resolve(r(c,l));if(d.task){let _=Me(St,p);if(!_.success){let b=_.error instanceof Error?_.error.message:String(_.error);throw new E(R.InvalidParams,`Invalid task creation result: ${b}`)}return _.data}let h=d.tools||d.toolChoice?ks:xs,g=Me(h,p);if(!g.success){let _=g.error instanceof Error?g.error.message:String(g.error);throw new E(R.InvalidParams,`Invalid sampling result: ${_}`)}return g.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:ts,capabilities:this._capabilities,clientInfo:this._clientInfo}},ss,r);if(n===void 0)throw new Error(`Server sent invalid initialize result: ${n}`);if(!sp.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){vh(this._serverCapabilities?.tasks?.requests,t,"Server")}assertTaskHandlerCapability(t){this._capabilities&&bh(this._capabilities.tasks?.requests,t,"Client")}async ping(t){return this.request({method:"ping"},kt,t)}async complete(t,r){return this.request({method:"completion/complete",params:t},zs,r)}async setLoggingLevel(t,r){return this.request({method:"logging/setLevel",params:{level:t}},kt,r)}async getPrompt(t,r){return this.request({method:"prompts/get",params:t},_s,r)}async listPrompts(t,r){return this.request({method:"prompts/list",params:t},fs,r)}async listResources(t,r){return this.request({method:"resources/list",params:t},cs,r)}async listResourceTemplates(t,r){return this.request({method:"resources/templates/list",params:t},us,r)}async readResource(t,r){return this.request({method:"resources/read",params:t},ds,r)}async subscribeResource(t,r){return this.request({method:"resources/subscribe",params:t},kt,r)}async unsubscribeResource(t,r){return this.request({method:"resources/unsubscribe",params:t},kt,r)}async callTool(t,r=ut,n){if(this.isToolTaskRequired(t.name))throw new E(R.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 E(R.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 E(R.InvalidParams,`Structured content does not match the tool's output schema: ${s.errorMessage}`)}catch(s){throw s instanceof E?s:new E(R.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},bs,r);return this.cacheToolMetadata(n.tools),n}_setupListChangedHandler(t,r,n,o){let i=$p.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 p=d instanceof Error?d:new Error(String(d));c(p,null)}},u=()=>{if(a){let d=this._listChangedDebounceTimers.get(t);d&&clearTimeout(d);let p=setTimeout(l,a);this._listChangedDebounceTimers.set(t,p)}else l()};this.setNotificationHandler(r,u)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}};var lg=di(cg(),1);import Nc from"node:process";import{PassThrough as YS}from"node:stream";var Fo=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),QS(r)}clear(){this._buffer=void 0}};function QS(e){return mp.parse(JSON.parse(e))}function ug(e){return JSON.stringify(e)+`
37
+ `}var XS=Nc.platform==="win32"?["APPDATA","HOMEDRIVE","HOMEPATH","LOCALAPPDATA","PATH","PROCESSOR_ARCHITECTURE","SYSTEMDRIVE","SYSTEMROOT","TEMP","USERNAME","USERPROFILE","PROGRAMFILES"]:["HOME","LOGNAME","PATH","SHELL","TERM","USER"];function eE(){let e={};for(let t of XS){let r=Nc.env[t];r!==void 0&&(r.startsWith("()")||(e[t]=r))}return e}var Vo=class{constructor(t){this._readBuffer=new Fo,this._stderrStream=null,this._serverParams=t,(t.stderr==="pipe"||t.stderr==="overlapped")&&(this._stderrStream=new YS)}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,lg.default)(this._serverParams.command,this._serverParams.args??[],{env:{...eE(),...this._serverParams.env},stdio:["pipe","pipe",this._serverParams.stderr??"inherit"],shell:!1,windowsHide:Nc.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=ug(t);this._process.stdin.write(n)?r():this._process.stdin.once("drain",r)})}};var tE=["conversations_list","conversation_get","messages_read","attachments_fetch","events_poll","events_wait","messages_send","channels_list","permissions_list_open","permissions_respond"];var Dt=class e{client;transport;constructor(t,r){this.client=t,this.transport=r}static async connect(t={}){let r=new Vo({command:t.command??"hermes",args:t.args??["mcp","serve"],cwd:t.cwd,env:t.env??rE(),stderr:t.stderr??"pipe"}),n=new Lo({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:oE(r).map(iE),nextCursor:dg(r,["next_cursor","nextCursor","cursor"]),raw:r}}async send(t,r){let n=await this.callJson("messages_send",{target:t,message:r});return{ok:!Ko(n,["error"])&&cE(n,["ok","success"],!0),target:t,messageId:Fe(n,["message_id","messageId","id"]),raw:n}}async channels(t={}){let r=await this.callJson("channels_list",{platform:t.platform});return{channels:sE(r).map(aE).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=tE.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:nE(r)},ut);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 rE(){let e={};for(let[t,r]of Object.entries(process.env))typeof r=="string"&&(e[t]=r);return e}function nE(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0))}function oE(e){if(Array.isArray(e))return e;if(!fr(e))return[];let t=e.events;if(Array.isArray(t))return t;let r=e.event;return r&&fr(r)?[r]:[]}function iE(e){return fr(e)?{id:Fe(e,["id","message_id","messageId"]),cursor:dg(e,["cursor"]),type:Fe(e,["type","event_type","eventType"]),platform:Fe(e,["platform"]),target:Fe(e,["target"]),sessionKey:Fe(e,["session_key","sessionKey"]),timestamp:Fe(e,["timestamp","created_at","createdAt"]),message:Fe(e,["message","text","content"]),raw:e}:{raw:e}}function sE(e){if(Array.isArray(e))return e;if(!fr(e))return[];for(let t of["channels","targets","conversations"]){let r=e[t];if(Array.isArray(r))return r}return[]}function aE(e){if(!fr(e))return null;let t=Fe(e,["target","id","session_key","sessionKey"]);return t?{target:t,platform:Fe(e,["platform"]),name:Fe(e,["name","display_name","displayName","chat_name","chatName"]),raw:e}:null}function Fe(e,t){let r=Ko(e,t);return typeof r=="string"?r:void 0}function cE(e,t,r){let n=Ko(e,t);return typeof n=="boolean"?n:r}function dg(e,t){let r=Ko(e,t);return typeof r=="string"||typeof r=="number"?r:void 0}function Ko(e,t){if(fr(e))for(let r of t){let n=e[r];if(n!=null)return n}}function fr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}import{mkdir as pT,writeFile as fT}from"node:fs/promises";import{join as Xg}from"node:path";import{existsSync as Ho}from"node:fs";import{mkdir as uE,readFile as Ac,writeFile as lE}from"node:fs/promises";import{dirname as Cc,isAbsolute as dE,join as mr,resolve as vt}from"node:path";var Go="file://./.red/brain/brain.rdb",pE="RED_BRAIN_ROOT",fE="brain.root";async function mE(e=process.cwd(),t={}){let n=(t.env??process.env)[pE];if(n)return vt(e,n);let o=await hE(e);if(o)return o;let i=vt(e),s=null;for(;;){let a=mr(i,".red");if(Ho(a)&&(s??=i,Ho(mr(a,"brain"))||Ho(mr(a,fE))))return i;let c=Cc(i);if(c===i)return s??vt(e);i=c}}async function hE(e){let t=vt(e);for(;;){let r=mr(t,".red","config.yaml");try{let o=await Ac(r,"utf8"),i=gE(o);if(i)return vt(t,i)}catch(o){if(o.code!=="ENOENT")throw o}let n=Cc(t);if(n===t)return null;t=n}}function gE(e){let t=yE(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 yE(e){let t={},r=[],n=[];for(let o of e.split(`
39
+ `)){let i=o.replace(/\r$/,"");if(!/".*"/.test(i)&&!/'.*'/.test(i)){let p=i.indexOf("#");p>=0&&(i=i.slice(0,p))}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 pg(e){return mr(vt(e),".red","brain","config.yaml")}function _E(e){return mr(vt(e),".env")}async function vE(e){let t=pg(e);return Ho(t)||(await uE(Cc(t),{recursive:!0}),await lE(t,`connection_string: ${Go}
40
+ `,"utf8")),t}async function bE(e){let t=pg(e);try{let r=await Ac(t,"utf8");return wE(r)}catch(r){if(r.code==="ENOENT")return null;throw r}}function wE(e){let t=e.split(/\r?\n/).map(n=>n.trim()).find(n=>n.startsWith("connection_string:"));if(!t)return{connection_string:Go};let r=t.slice(18).trim();return{connection_string:fg(r)||Go}}function fg(e){return e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1):e}async function Jo(e=process.cwd()){let t=await mE(e),r=await vE(t),n=await bE(t)??{connection_string:Go},o=await $E(t),i=n.connection_string,s=xE(i,o);return{rootDir:t,configPath:r,rawConnectionString:i,connectionString:kE(t,s)}}async function $E(e){let t={...process.env};try{let r=await Ac(_E(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=fg(o.slice(i+1).trim());t[s]==null&&(t[s]=a)}}catch(r){if(r.code!=="ENOENT")throw r}return t}function xE(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 kE(e,t){if(!t.startsWith("file://"))return t;let r=t.slice(7);return dE(r)?t:`file://${vt(e,r)}`}var SE=typeof globalThis.Bun<"u"&&typeof globalThis.Bun.spawn=="function",EE=typeof globalThis.Deno<"u"&&typeof globalThis.Deno.Command=="function";async function mg(e,t){return SE?TE(e,t):EE?RE(e,t):zE(e,t)}async function zE(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 TE(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:PE(r.stdout),kill(){r.kill()},wait(){return r.exited}}}async function*PE(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 RE(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:IE(n.stdout),kill(){try{n.kill("SIGTERM")}catch{}},async wait(){return(await n.status).code??0}}}async function*IE(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 CE}from"node:url";import{dirname as OE,resolve as jE,join as M1}from"node:path";import{existsSync as NE}from"node:fs";import{join as AE}from"node:path";function hg(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=AE(r,"bin",t);if(NE(i))return i;throw new Error(`reddb: binary "${t}" not found.
41
+ expected at: ${i}
42
42
  override: set ${n}=/path/to/${t}
43
43
  fix: re-run \`pnpm install\` (the postinstall script downloads it),
44
- or check the postinstall log for a download error.`)}var Iz=Tz(Pz(import.meta.url)),Nz=Rz(Iz,"..");function Az(){return typeof process<"u"&&process.platform==="win32"?"red.exe":"red"}function hg(){let e=process.env?.REDDB_BINARY_PATH;return typeof e=="string"&&e!==""&&!process.env?.REDDB_BIN?e:mg({name:Az(),packageRoot:Nz,envVar:"REDDB_BIN"})}var Cz=new TextEncoder,Oz=new TextDecoder("utf-8"),I=class extends Error{constructor(t,r,n){super(r),this.name="RedDBError",this.code=t,this.data=n??null}},Wo=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 I("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((s,i)=>{this.pending.set(n,{resolve:s,reject:i}),this.child.stdin.write(Cz.encode(o+`
45
- `)).catch(a=>{this.pending.delete(n),i(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 s=0;s<t.length;s++)if(t[s]===10){let i=t.subarray(o,s);this.#r(Oz.decode(i)),o=s+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(s){this.#e(`malformed server response: ${s.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 I(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 I("CLIENT_CLOSED",t);for(let{reject:n}of this.pending.values())n(r);this.pending.clear()}};function Oc(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:/"?jz(e):Dz(e)}function jz(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 I("UNPARSEABLE_URI",`failed to parse '${e}': ${u.message}`)}let n=r.searchParams,o=(n.get("proto")||"").toLowerCase(),s=r.pathname&&r.pathname!=="/"?r.pathname:"";if(r.hostname==="embedded.local")return s?{kind:"embedded",path:s,params:n,originalUri:e}:{kind:"embedded",params:n,originalUri:e};let i=qz(o),a=r.port?Number(r.port):Cc(i),c=r.username?decodeURIComponent(r.username):void 0,l=r.password?decodeURIComponent(r.password):void 0;return{kind:i,host:r.hostname,port:a,path:s||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 Dz(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=e.slice(`${t}://`.length),[n]=r.split(/[/?]/,1),[o,s]=n.split(":");if(!o)throw new TypeError(`invalid ${t}:// URI: missing host in '${e}'`);let i=t==="reds"?"reds":t==="grpcs"?"grpcs":t==="grpc"?"grpc":"red";return{kind:i,host:o,port:s?Number(s):Cc(i),originalUri:e}}if(e.startsWith("http://")||e.startsWith("https://")){let t;try{t=new URL(e)}catch(r){throw new I("UNPARSEABLE_URI",`failed to parse '${e}': ${r.message}`)}return{kind:t.protocol==="https:"?"https":"http",host:t.hostname,port:t.port?Number(t.port):Cc(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 I("UNSUPPORTED_SCHEME",`unsupported URI: '${e}'. Use 'red://...' or one of memory://, file://, grpc://, http(s)://`)}function qz(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 I("UNSUPPORTED_PROTO",`unknown proto='${e}'. Supported: red | reds | grpc | grpcs | http | https | pg`)}}function Cc(e){switch(e){case"http":return 8080;case"https":return 8443;case"red":case"reds":case"redwire":return 5050;case"grpc":return 5055;case"grpcs":return 5056;case"pg":case"postgres":case"postgresql":return 5432;default:return}}var Zz=new Set(["embedded"]),wn=class{constructor(t,r){this._client=t,this._transport=r??null}_guard(t){if(this._transport&&Zz.has(this._transport))throw new I("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:Lz(n.value)}async put(t,r,n,o={}){this._guard("put");let s=Mz(n);await this._client.call("cache.put",{namespace:t,key:r,value:s,...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 Mz(e){if(typeof e=="string"){let t=new TextEncoder().encode(e);return gg(t)}if(e instanceof Uint8Array||typeof Buffer<"u"&&Buffer.isBuffer(e))return gg(e);throw new TypeError("cache value must be a string, Uint8Array, or Buffer")}function gg(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 Lz(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 hr=class{constructor(t,r="kv_default"){this.client=t,this.collection=r}put(t,r,n={}){let o=n.collection??this.collection,s=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(yg).join(", ")}]`:"",i=n.expireMs!=null?` EXPIRE ${Number(n.expireMs)} ms`:"";return this.client.call("query",{sql:`KV PUT ${jc(o,t)} = ${Uz(r)}${i}${s}`})}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 ${jc(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 ${jc(n,t)}`}),s=o.affected??o.affected_rows??0;return{affected:s,deleted:s>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 I("INVALID_ARGUMENT","kv.list limit must be a positive integer");let o=t.prefix==null?"":String(t.prefix),i=(await this.client.call("query",{sql:`SELECT key, value FROM ${Dc(r)} ORDER BY key ASC LIMIT ${n}`})).rows??[];return{items:o.length>0?i.filter(c=>String(c.key).startsWith(o)):i}}async invalidateTags(t,r={}){let n=r.collection??this.collection,o=await this.client.call("query",{sql:`INVALIDATE TAGS [${t.map(yg).join(", ")}] FROM ${Dc(n)}`});return o.affected??o.affected_rows??o.rows?.[0]?.invalidated??0}async*watch(t,r={}){if(!this.client.baseUrl)throw new I("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 s=o.toString()?`?${o}`:"",i=`${this.client.baseUrl}/collections/${encodeURIComponent(n)}/kv/${encodeURIComponent(String(t))}/watch${s}`,a=await fetch(i,this.client.attachAuth({method:"GET"}));if(!a.ok)throw new I("HTTP_ERROR",`kv.watch failed with HTTP ${a.status}`);let c=await a.text();for(let l of c.split(`
44
+ or check the postinstall log for a download error.`)}var DE=OE(CE(import.meta.url)),ME=jE(DE,"..");function qE(){return typeof process<"u"&&process.platform==="win32"?"red.exe":"red"}function gg(){let e=process.env?.REDDB_BINARY_PATH;return typeof e=="string"&&e!==""&&!process.env?.REDDB_BIN?e:hg({name:qE(),packageRoot:ME,envVar:"REDDB_BIN"})}var ZE=new TextEncoder,BE=new TextDecoder("utf-8"),I=class extends Error{constructor(t,r,n){super(r),this.name="RedDBError",this.code=t,this.data=n??null}},Wo=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 I("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(ZE.encode(o+`
45
+ `)).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(BE.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 I(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 I("CLIENT_CLOSED",t);for(let{reject:n}of this.pending.values())n(r);this.pending.clear()}};function jc(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:/"?LE(e):UE(e)}function LE(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 I("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=FE(o),a=r.port?Number(r.port):Oc(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 UE(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=e.slice(`${t}://`.length),[n]=r.split(/[/?]/,1),[o,i]=n.split(":");if(!o)throw new TypeError(`invalid ${t}:// URI: missing host in '${e}'`);let s=t==="reds"?"reds":t==="grpcs"?"grpcs":t==="grpc"?"grpc":"red";return{kind:s,host:o,port:i?Number(i):Oc(s),originalUri:e}}if(e.startsWith("http://")||e.startsWith("https://")){let t;try{t=new URL(e)}catch(r){throw new I("UNPARSEABLE_URI",`failed to parse '${e}': ${r.message}`)}return{kind:t.protocol==="https:"?"https":"http",host:t.hostname,port:t.port?Number(t.port):Oc(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 I("UNSUPPORTED_SCHEME",`unsupported URI: '${e}'. Use 'red://...' or one of memory://, file://, grpc://, http(s)://`)}function FE(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 I("UNSUPPORTED_PROTO",`unknown proto='${e}'. Supported: red | reds | grpc | grpcs | http | https | pg`)}}function Oc(e){switch(e){case"http":return 8080;case"https":return 8443;case"red":case"reds":case"redwire":return 5050;case"grpc":return 5055;case"grpcs":return 5056;case"pg":case"postgres":case"postgresql":return 5432;default:return}}var VE=new Set(["embedded"]),bn=class{constructor(t,r){this._client=t,this._transport=r??null}_guard(t){if(this._transport&&VE.has(this._transport))throw new I("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:HE(n.value)}async put(t,r,n,o={}){this._guard("put");let i=KE(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 KE(e){if(typeof e=="string"){let t=new TextEncoder().encode(e);return yg(t)}if(e instanceof Uint8Array||typeof Buffer<"u"&&Buffer.isBuffer(e))return yg(e);throw new TypeError("cache value must be a string, Uint8Array, or Buffer")}function yg(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 HE(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 hr=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(_g).join(", ")}]`:"",s=n.expireMs!=null?` EXPIRE ${Number(n.expireMs)} ms`:"";return this.client.call("query",{sql:`KV PUT ${Dc(o,t)} = ${JE(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 ${Dc(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 ${Dc(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 I("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 ${Mc(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(_g).join(", ")}] FROM ${Mc(n)}`});return o.affected??o.affected_rows??o.rows?.[0]?.invalidated??0}async*watch(t,r={}){if(!this.client.baseUrl)throw new I("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 I("HTTP_ERROR",`kv.watch failed with HTTP ${a.status}`);let c=await a.text();for(let l of c.split(`
46
46
 
47
47
  `)){let u=l.split(`
48
- `).find(d=>d.startsWith("data: "));u&&(yield JSON.parse(u.slice(6)))}}watchPrefix(t,r={}){return this.watch(`${t}.*`,r)}};function jc(e,t){return`${Dc(e)}.${Bz(t)}`}function Dc(e){let t=String(e),r=t.match(/[^A-Za-z0-9_]/);if(r)throw new I("INVALID_KV_KEY",`invalid KV key "${t}": character "${r[0]}" is not supported`);return t}function Bz(e){let t=String(e);return/^[A-Za-z0-9_]+$/.test(t)?t:`'${t.replace(/'/g,"''")}'`}function Uz(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 yg(e){return`'${String(e).replace(/'/g,"''")}'`}var bn=class{constructor(t){this.client=t}create(t){return this.client.call("query",{sql:`CREATE QUEUE IF NOT EXISTS ${gr(t)}`})}push(t,r,n={}){let o=n.priority!=null?` PRIORITY ${Fz(n.priority)}`:"";return this.client.call("query",{sql:`QUEUE PUSH ${gr(t)} ${Vz(r)}${o}`})}async pop(t,r){let n=await this.client.call("query",{sql:`QUEUE POP ${gr(t)}${_g(r)}`});return vg(n)}async peek(t,r){let n=await this.client.call("query",{sql:`QUEUE PEEK ${gr(t)}${_g(r)}`});return vg(n)}async len(t){let r=await this.client.call("query",{sql:`QUEUE LEN ${gr(t)}`});return Number(r?.rows?.[0]?.len??0)}purge(t){return this.client.call("query",{sql:`QUEUE PURGE ${gr(t)}`})}};function gr(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new I("INVALID_QUEUE_NAME",`invalid queue name "${t}": expected an SQL identifier`);return t}function _g(e){if(e==null)return"";if(!Number.isInteger(e)||e<0)throw new I("INVALID_QUEUE_COUNT","queue count must be a non-negative integer");return` COUNT ${e}`}function Fz(e){if(!Number.isInteger(e))throw new I("INVALID_QUEUE_PRIORITY","queue priority must be an integer");return String(e)}function Vz(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":typeof e=="string"?`'${e.replace(/'/g,"''")}'`:JSON.stringify(e)}function vg(e){return Array.isArray(e?.rows)?e.rows.map(t=>t.payload):[]}var $n=class{constructor(t){this.db=t}async insert(t,r){wg(r,"documents.insert document"),await this.ensureCollection(t);let n=await this.db.query(`INSERT INTO ${Qo(t)} DOCUMENT (body) VALUES (${$g(r)}) RETURNING *`),o=n.rows?.[0];if(!o||o.rid==null)throw new I("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 I("NOT_FOUND",`document ${String(r)} was not found`);return n.entity}async list(t,r={}){let n=Kz(r.limit),o=r.orderBy??r.order_by??"rid ASC",s=r.filter?` WHERE ${String(r.filter)}`:"";return{items:(await this.db.query(`SELECT * FROM ${Qo(t)}${s} ORDER BY ${o} LIMIT ${n}`)).rows??[]}}async patch(t,r,n){wg(n,"documents.patch patch");let o=Object.entries(n);if(o.length===0)throw new I("INVALID_ARGUMENT","documents.patch patch must be a non-empty object");for(let[c]of o)if(c.includes("/"))throw new I("INVALID_ARGUMENT","documents.patch currently accepts top-level document fields");let s=o.map(([c,l])=>`${bg(c)} = ${Hz(l)}`).join(", "),a=(await this.db.query(`UPDATE ${Qo(t)} DOCUMENTS SET ${s} WHERE rid = $1 RETURNING *`,r)).rows?.[0];if(!a)throw new I("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 ${Qo(t)}`)}catch(r){if(!String(r?.message??"").includes("already exists"))throw r}}};function wg(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new I("INVALID_ARGUMENT",`${t} must be an object`)}function Kz(e){if(e==null)return 100;if(!Number.isInteger(e)||e<=0)throw new I("INVALID_ARGUMENT","limit must be a positive integer");return e}function Qo(e){return String(e).split(".").map(bg).join(".")}function bg(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new I("INVALID_ARGUMENT",`invalid SQL identifier "${t}"`);return t}function $g(e){return xg(JSON.stringify(e))}function Hz(e){return e==null?"NULL":typeof e=="number"||typeof e=="boolean"?String(e):typeof e=="object"?$g(e):xg(e)}function xg(e){return`'${String(e).replace(/'/g,"''")}'`}var xn=class{constructor(t,r="red.config"){this.client=t,this.collection=r}put(t,r,n={}){Jz(n,"config");let o=n.collection??this.collection,s=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(kg).join(", ")}]`:"";return this.client.call("query",{sql:`PUT CONFIG ${wt(o)} ${wt(t)} = ${Gz(r,n)}${s}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`GET CONFIG ${wt(n)} ${wt(t)}`})}resolve(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`RESOLVE CONFIG ${wt(n)} ${wt(t)}`})}};function Gz(e,t){if(t.secretRef){let{collection:r,key:n}=t.secretRef;return`SECRET_REF(vault, ${wt(r)}.${wt(n)})`}return Wz(e)}function Jz(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 wt(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 Wz(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):kg(e)}function kg(e){return`'${String(e).replace(/'/g,"''")}'`}var kn=class{constructor(t,r="red.vault"){this.client=t,this.collection=r}put(t,r,n={}){Qz(n,"vault");let o=n.collection??this.collection,s=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(Sg).join(", ")}]`:"";return this.client.call("query",{sql:`VAULT PUT ${yr(o)}.${yr(t)} = ${Yz(r)}${s}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`VAULT GET ${yr(n)}.${yr(t)}`})}unseal(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`UNSEAL VAULT ${yr(n)}.${yr(t)}`})}};function Qz(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 yr(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 Yz(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):Sg(e)}function Sg(e){return`'${String(e).replace(/'/g,"''")}'`}async function Eg(e){return((await e.query("SHOW COLLECTIONS")).rows??[]).map(Xz)}async function Pg(e,t){return((await e.query(`SHOW COLLECTIONS WHERE name = ${tE(t)}`)).rows??[]).some(n=>n.name===String(t))}var Sn=class e{constructor(t,r,n=null,o=[],s=[]){this.db=t,this.collection=r,this.columns=n,this.whereClauses=o,this.params=s}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 I("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(zg).join(", "),r=this.whereClauses.length>0?` WHERE ${this.whereClauses.map(i=>`(${i})`).join(" AND ")}`:"",n=`SELECT ${t} FROM ${zg(this.collection)}${r}`,s=(this.params.length>0?await this.db.query(n,this.params):await this.db.query(n)).rows??[];return this.columns==null?s:s.map(i=>{let a={};for(let c of this.columns)a[c]=i[c];return a})}};function Xz(e){return{...e,name:String(e.name),model:String(e.model),capabilities:Array.isArray(e.capabilities)?e.capabilities:[]}}function zg(e){return String(e).split(".").map(eE).join(".")}function eE(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new I("INVALID_IDENTIFIER",`invalid SQL identifier "${t}"`);return t}function tE(e){return`'${String(e).replace(/'/g,"''")}'`}var rE="remote URIs are not supported in @reddb-io/sdk; install @reddb-io/client for grpc/http/red transports",nE="1.0",Ig="1.0.9",Tg="NESTED_TX_NOT_SUPPORTED";async function Ng(e,t={}){let r=Oc(e);if(dE(r),r.kind==="embedded"){let n=lE(r,t.auth);if(n.token||n.username)throw new I("AUTH_NOT_APPLICABLE","auth is only meaningful for remote connections; embedded modes inherit caller privileges.");let o=uE(r),s=t.binary??hg(),i=await fg(s,o),a=new Wo(i);return await a.call("version",{}),new Zc(a,{transport:"embedded"})}}function Rg(e){return oE(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:iE(e)}:typeof e=="number"&&!Number.isFinite(e)?Number.isNaN(e)?{$float:"NaN"}:{$float:e>0?"Infinity":"-Infinity"}:typeof e=="string"&&cE(e)?{$uuid:e}:e}function oE(e){if(e!=null&&!(typeof e=="boolean"||typeof e=="number"||typeof e=="string")){if(e instanceof Date){if(Number.isNaN(e.getTime()))throw new I("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 I("UNSUPPORTED_PARAM","array query parameters must contain only numbers")}if(!(typeof e=="object"&&Object.getPrototypeOf(e)===Object.prototype))throw new I("UNSUPPORTED_PARAM",`cannot encode query parameter of type ${typeof e}`)}}}function sE(e){return e.length===0?null:e.length===1&&Array.isArray(e[0])?e[0].map(Rg):e.map(Rg)}function iE(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 aE(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 cE(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)}function Yo(e){if(Array.isArray(e))return e.map(Yo);if(e&&typeof e=="object"){if(Object.keys(e).length===1){if(typeof e.$bytes=="string")return aE(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]=Yo(o);return r}return e}function uE(e){return e.path?["rpc","--stdio","--path",e.path]:["rpc","--stdio"]}function lE(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 dE(e){if(e.kind!=="embedded")throw new I("EMBEDDED_ONLY",rE)}var Xo=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 Mc()}},qc=class{constructor(t){this.db=t,this.active=!1}async begin(){if(this.db.inTransaction)throw Mc();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 I("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 I("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 I("INVALID_ARGUMENT","nested tx.run() is not supported; issue savepoints via tx.query() instead");await this.begin();try{let r=await t(new Xo(this.db));return await this.commit(),r}catch(r){if(this.active)try{await this.rollback()}catch(n){Ag(r,n)}throw r}}},Zc=class{constructor(t,r={}){this.client=t,this.transport=r.transport??null,this.helperSpecVersion=nE,this.cache=new wn(t,this.transport),this.queue=new bn(t),this.queues=this.queue,this.documents=new $n(this);let n=new hr(t);this.kv=Object.assign((o="kv_default")=>new hr(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 xn(t,o),this.vault=(o="red.vault")=>new kn(t,o),this.inTransaction=!1}query(t,...r){if(typeof t!="string"||t.trim().length===0)return Promise.reject(new I("INVALID_ARGUMENT","query() requires a non-empty SQL string"));let n=sE(r);return n==null?this.client.call("query",{sql:t}).then(Yo):this.client.call("query",{sql:t,params:n}).then(Yo)}execute(t,...r){return this.query(t,...r)}async insert(t,r){let n=await this.client.call("insert",{collection:t,payload:r});return pE(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 fE(n,r.length)}tx(){return new qc(this)}async transaction(t){if(this.inTransaction)throw Mc();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 Xo(this));return await this.query("COMMIT"),n}catch(n){if(r)try{await this.query("ROLLBACK")}catch(o){Ag(n,o)}throw n}finally{this.inTransaction=!1}}exists(t){return Pg(this,t)}list(){return Eg(this)}from(t){return new Sn(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 Mc(){return new I(Tg,`${Tg}: nested transactions are not supported on one connection`)}function Ag(e,t){if(e&&typeof e=="object")try{e.rollbackError=t}catch{}}function pE(e,t){if(!e||typeof e!="object"||e.rid==null&&e.id==null)throw new I("ENGINE_TOO_OLD",`${t}() requires RedDB engine >= ${Ig} with insert id support`);return e.rid==null&&(e.rid=e.id),e.id==null&&(e.id=e.rid),e}function fE(e,t){if(!e||typeof e!="object"||!Array.isArray(e.rids)&&!Array.isArray(e.ids))throw new I("ENGINE_TOO_OLD",`bulkInsert() requires RedDB engine >= ${Ig} 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 I("INVALID_RESPONSE",`bulkInsert() expected ${t} rids, got ${e.rids.length}`);return e}function zn(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"&&mE(t.chosenOption)&&hE(t.outcome)&&gE(t.cost)}function mE(e){if(typeof e!="object"||e===null)return!1;let t=e;return typeof t.kind=="string"&&t.kind.length>0}function hE(e){return e==="success"||e==="failure"||e==="escalated"}function gE(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 yE}from"node:crypto";function Lc(e){return yE("sha256").update(e).digest("hex")}function Cg(e){return Lc(JSON.stringify(e))}function Og(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/-{2,}/g,"-").replace(/^-|-$/g,"")||"artifact"}var Bc="unknown",es=class{artifacts;constructor(t){this.artifacts=t}events(t={}){let r=t.interval??"day",n=t.timeField??"event",o=Vc(t.from),s=Vc(t.to),i=this.artifacts.filter(f=>f.kind==="event").map(f=>_E(f,n)).filter(f=>f!=null).filter(f=>wE(f,t)).filter(f=>bE(f.ts,o,s)).sort((f,h)=>f.ts-h.ts),a=i.length,c=o??(i.length>0?i[0].ts:null),l=s??(i.length>0?i[i.length-1].ts:null),u=kE(c,l,r),p=[jg(null,i,u,r)];if(t.groupBy){let h=[...$E(i,t.groupBy).entries()].map(([g,_])=>jg(g,_,u,r)).sort((g,_)=>_.total-g.total||zE(g.group,_.group));p.push(...h)}return{kind:"event",interval:r,timeField:n,range:{from:c,to:l},total:a,series:p}}};function _E(e,t){let r=e.properties.metadata??{},n=vE(e,r,t);return n==null?null:{ts:n,platform:Uc(r,"platform")??Bc,eventType:Uc(r,"event_type")??Bc,target:Uc(r,"target")??Bc}}function vE(e,t,r){let n=Number.isFinite(e.properties.created_at)?e.properties.created_at:null;return r==="ingested"?n:Vc(t.timestamp)??n}function Uc(e,t){let r=e[t];return typeof r=="string"&&r.length>0?r:void 0}function wE(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 bE(e,t,r){return!(t!=null&&e<t||r!=null&&e>r)}function $E(e,t){let r=new Map;for(let n of e){let o=xE(n,t),s=r.get(o);s?s.push(n):r.set(o,[n])}return r}function xE(e,t){switch(t){case"platform":return e.platform;case"event_type":return e.eventType;case"target":return e.target}}function jg(e,t,r,n){let o=new Map;for(let i of t){let a=Fc(i.ts,n);o.set(a,(o.get(a)??0)+1)}let s=r.map(i=>({start:i,startIso:new Date(i).toISOString(),count:o.get(i)??0}));return{group:e,total:t.length,buckets:s}}function kE(e,t,r){if(e==null||t==null)return[];let n=[],o=Fc(e,r),s=Fc(t,r),i=0;for(;o<=s&&i<1e6;)n.push(o),o=SE(o,r),i++;return n}function Fc(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()),s=(new Date(n).getUTCDay()+6)%7;return n-s*864e5}case"month":return Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),1)}}function SE(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 Vc(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 zE(e,t){return String(e??"").localeCompare(String(t??""))}import{spawn as EE}from"node:child_process";var Hc=["supports","contradicts","related_to"];function Gc(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 Jc(e){return typeof e=="string"&&Hc.includes(e)}function _r(e){return e.properties.metadata?.derived===!0||typeof e.properties.metadata?.derived_kind=="string"}function Dg(e){return[e.properties.title,e.kind,...e.properties.tags,e.properties.content].join(`
49
- `)}function PE(e){return{deriveConnections(t){return RE(e,t)}}}function qg(e=process.env){let t=e.RED_BRAIN_AUTOLINK_AFK_COMMAND??e.RED_BRAIN_AUTOLINK_HEADLESS_COMMAND;if(t)return PE({command:t,args:IE(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:NE(e.RED_BRAIN_AUTOLINK_AFK_TIMEOUT_MS)??6e4})}function TE(e){let t=JSON.parse(AE(e));return(Array.isArray(t)?t:Kc(t)&&Array.isArray(t.connections)?t.connections:[]).filter(CE).map(n=>({from:n.from,to:n.to,kind:n.kind,reason:typeof n.reason=="string"?n.reason:void 0,metadata:Kc(n.metadata)?n.metadata:void 0}))}async function RE(e,t){let r=EE(e.command,e.args??[],{cwd:e.cwd,env:e.env,stdio:["pipe","pipe","pipe"]}),n=[],o=[],s,i=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&&(s=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 i;if(a!==0){let c=Buffer.concat(o).toString("utf8").trim();throw new Error(`Brain autolink AFK headless provider exited ${a}${c?`: ${c}`:""}`)}return TE(Buffer.concat(n).toString("utf8"))}finally{s&&clearTimeout(s)}}function IE(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 NE(e){if(e==null||e==="")return;let t=Number(e);return Number.isInteger(t)&&t>0?t:void 0}function AE(e){let t=e.trim();return(t.match(/```(?:json)?\s*([\s\S]*?)\s*```/i)?.[1]??t).trim()}function CE(e){return Kc(e)&&(typeof e.from=="number"||typeof e.from=="string")&&(typeof e.to=="number"||typeof e.to=="string")&&Jc(e.kind)}function Kc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var ts=["pillar","decision","concept","question","playbook","task","event","pattern","hypothesis","fact","source","bookmark","note","reference","custom","project","idea","meeting","claim","organization","person"],Zg={contact:"person"},rs=["supports","contradicts","depends_on","derived_from","related_to","part_of","preceded_by","followed_by","authored","tagged"],Ve={artifacts:"brain_artifacts",connections:"brain_connections",outcomeEvents:"brain_outcome_events",kv:"brain_kv"};var vr=class e{constructor(t){this.opts=t}db;artifactCache=null;connectionCache=null;outcomeEventCache=null;static async open(t){let r=new e(t);return r.db=await Ng(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 ${Ve.artifacts}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Ve.connections}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Ve.outcomeEvents}`)}kv(){return this.db.kv(Ve.kv)}async capture(t){let r=Ug(t.kind??"note"),n=Date.now(),o=qE(t.tags??[]),s=Cg([r,t.title,t.content,o,t.sourcePath,t.sourceSession]),i=await this.findArtifactByHash(s);if(i!=null){let g=await this.getArtifact(i);if(g)return g}let a=await this.listArtifacts(),c=`${Og(t.title)}-${s.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:s,metadata:t.metadata},u={label:c,kind:r,properties:l},p=(await this.db.query(`INSERT INTO ${Ve.artifacts} NODE (label, node_type, hash, properties) VALUES ($1, $2, $3, $4) RETURNING *`,u.label,u.kind,s,l)).rows[0];if(!p)throw new Error("INSERT artifact returned no row");let f=Number(p.red_entity_id??p.rid);await this.kv().put(Lg(s),f),this.artifactCache=null;let h={...u,rid:f};return await this.autoLinkArtifact(h,a),await this.materializeTagConnections(h),h}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 ${Ve.artifacts}`);this.artifactCache=t.rows.map(OE).filter(ns)}return this.artifactCache}async search(t,r=10,n={}){let o=ZE(t),s=new Set(n.excludeRids??[]),i=await this.listArtifacts(),a=await this.listConnections(),c=new Map(i.map(u=>[u.rid,u]));return i.filter(u=>!s.has(u.rid)).map(u=>{let d=Vg(u,o),p=Kg({...d,connections:ME(u,o,a,c),vector:0});return{artifact:u,score:p.total,score_breakdown:p,excerpt:BE(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=Fg(t.kind??"related_to"),s=await this.findConnection(r.rid,n.rid,o);if(s!=null){let u=(await this.listConnections()).find(d=>d.rid===s);if(u)return u}let i={reason:t.reason,confidence:t.confidence??"explicit",created_at:Date.now(),metadata:t.metadata},c=(await this.db.query(`INSERT INTO ${Ve.connections} EDGE (label, from, to, weight, properties) VALUES ($1, $2, $3, $4, $5) RETURNING *`,o,r.rid,n.rid,1,i)).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(Bg(r.rid,n.rid,o),l),this.connectionCache=null,{rid:l,kind:o,from_rid:r.rid,to_rid:n.rid,weight:1,properties:i}}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 ${Ve.connections}`);this.connectionCache=t.rows.map(jE).filter(ns)}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:JE(t.map(n=>n.kind))}}async eventKpis(t={}){let r=await this.listArtifacts();return new es(r).events(t)}async appendOutcomeEvent(t){if(!zn(t))throw new Error("invalid Brain outcome event");let r={...t};if(!(await this.db.query(`INSERT INTO ${Ve.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 ${Ve.outcomeEvents}`);this.outcomeEventCache=t.rows.map(DE).filter(ns).sort((r,n)=>r.rid-n.rid).map(({rid:r,event:n})=>n)}return[...this.outcomeEventCache]}async think(t,r=8,n={}){let o=(await this.search(t,Math.max(r*2,r+5),n)).filter(s=>!_r(s.artifact)).slice(0,r);return UE(t,o)}async deriveAutoLinks(t){return this.autoLinkArtifact(t,await this.listArtifacts())}async findArtifactByHash(t){let r=await this.kv().get(Lg(t));return r!=null?Number(r):null}async findConnection(t,r,n){let o=await this.kv().get(Bg(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||_r(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=Dg(t),s=new Set([t.rid]);for(let d of r)_r(d)&&s.add(d.rid);let i=await this.think(o,8,{excludeRids:s}),a=i.hits.filter(d=>n.has(d.artifact.rid)&&!_r(d.artifact)).map(d=>({artifact:Gc(d.artifact),score:d.score,excerpt:d.excerpt}));if(a.length===0)return[];let c={newArtifact:Gc(t),candidates:a,think:{query:o,answer:i.answer},allowedKinds:Hc},l=await this.opts.autoLinker.deriveConnections(c),u=[];for(let d of l){if(!Jc(d.kind))continue;let p=await this.getArtifact(d.from),f=await this.getArtifact(d.to);if(!p||!f)continue;let h=p.rid===t.rid||f.rid===t.rid,g=n.has(p.rid)||n.has(f.rid);if(!h||!g||p.rid===f.rid)continue;let _=await this.link({from:p.rid,to:f.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 Ug(e){let r=Zg[e]??e;if(ts.includes(r))return r;throw new Error(`invalid Brain artifact kind: ${e}`)}function Fg(e){if(rs.includes(e))return e;throw new Error(`invalid Brain connection kind: ${e}`)}function OE(e){let t=Number(e.red_entity_id??e.rid),r=Wc(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),s=String(r.title??e.label??e.LABEL??o),i=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:Ug(n),properties:{...r,id:o,title:s,content:i,tags:a,created_at:Number(r.created_at??c),updated_at:Number(r.updated_at??r.created_at??c),hash:String(r.hash??"")}}}function jE(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:Fg(o),from_rid:r,to_rid:n,weight:Number(e.weight??1),properties:Wc(e.properties??e.PROPERTIES)}}function DE(e){let t=Number(e.red_entity_id??e.rid),r=Wc(e.properties??e.PROPERTIES);return!Number.isFinite(t)||!zn(r)?null:{rid:t,event:r}}function Wc(e){return e==null?{}:typeof e=="string"?JSON.parse(e):e}function ns(e){return e!=null}function qE(e){return Array.from(new Set(e.map(t=>t.trim()).filter(Boolean))).sort()}function ZE(e){return e.toLowerCase().split(/[^a-z0-9_]+/).map(t=>t.trim()).filter(t=>t.length>1)}function Mg(e,t){let r=0,n=e.indexOf(t);for(;n>=0;)r++,n=e.indexOf(t,n+t.length);return r}function Vg(e,t){let r=e.properties.title.toLowerCase(),n=e.properties.content.toLowerCase(),o=e.properties.tags.map(i=>i.toLowerCase()),s=e.kind.toLowerCase();return{lexical:t.reduce((i,a)=>i+Mg(r,a)*3+Mg(n,a),0),tags:t.reduce((i,a)=>{let c=o.reduce((l,u)=>u===a?l+4:u.includes(a)||a.includes(u)?l+2:l,0);return i+c},0),kind:t.reduce((i,a)=>s===a?i+3:s.includes(a)||a.includes(s)?i+1:i,0)}}function ME(e,t,r,n){let o=0;for(let s of r){let i=s.from_rid===e.rid?s.to_rid:s.to_rid===e.rid?s.from_rid:null;if(i==null)continue;let a=n.get(i);if(!a||_r(a))continue;let c=Kg({...Vg(a,t),connections:0,vector:0}).total;c<=0||(o+=Math.min(c,12)*LE(s.kind))}return qt(o*.35)}function LE(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 Kg(e){return{...e,lexical:qt(e.lexical),tags:qt(e.tags),kind:qt(e.kind),connections:qt(e.connections),vector:qt(e.vector),total:qt(e.lexical+e.tags+e.kind+e.connections+e.vector)}}function qt(e){return Math.round(e*1e3)/1e3}function BE(e,t){if(e.length<=220)return e;let r=e.toLowerCase(),n=t.map(s=>r.indexOf(s)).filter(s=>s>=0).sort((s,i)=>s-i)[0]??0,o=Math.max(0,n-80);return`${o>0?"...":""}${e.slice(o,o+220)}${o+220<e.length?"...":""}`}function UE(e,t){let r=t.map(FE),n=VE(t),o=KE(e,r,n);return{hits:t,citations:r,confidence:n,missing_evidence:o,answer:HE(e,r,n,o)}}function FE(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 VE(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 KE(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 HE(e,t,r,n){if(t.length===0)return[`Brain has no cited evidence for "${e}".`,"","Missing evidence:",...n.map(a=>`- ${a}`)].join(`
50
- `);let o=t.slice(0,5).map(a=>`- ${a.title}: ${a.excerpt} [${a.ref}]`),s=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}]`:""}; ${GE(a)}`}),i=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:",...i,"","Citations:",...s].join(`
51
- `)}function GE(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(ns);return`source: ${t.length>0?t.join(", "):`Brain artifact ${e.id}`}`}function Lg(e){return`artifact.hash.${e}`}function Bg(e,t,r){return`connection.${e}.${r}.${t}`}function JE(e){let t={};for(let r of e)t[r]=(t[r]??0)+1;return t}async function Gg(e,t){if(e!=="SessionStart")return{};let r=await Jo(process.cwd()),n=await vr.open({uri:r.connectionString});try{await n.status()}finally{await n.close()}let o=Hg(r.rootDir,".red","brain","sessions");return await WE(o,{recursive:!0}),await QE(Hg(o,"last-session.json"),JSON.stringify({runner:t,lifecycle:e,rootDir:r.rootDir,connectionString:r.connectionString,startedAt:new Date().toISOString()},null,2),"utf8"),{}}var os=class{map({event:t,sourceAgent:r}){return{title:YE(t),content:XE(t),kind:"event",tags:eP(t),sourceAgent:r??"brain.ingest-events",sourceRunner:"hermes",sourceSession:Jg(t),metadata:tP(t)}}};function Jg(e){return e.id?`evt:${e.id}`:e.cursor!=null?`cursor:${String(e.cursor)}`:`hash:${Lc(JSON.stringify({platform:e.platform??null,target:e.target??null,timestamp:e.timestamp??null,message:e.message??null}))}`}function YE(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 XE(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(`
52
- `)||JSON.stringify(e.raw)}function eP(e){let t=new Set(["channel-event"]);return e.platform&&t.add(e.platform),e.type&&t.add(e.type),Array.from(t)}function tP(e){let t={event_key:Jg(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 ss(e){let t=new os,r=await e.bridge.poll({afterCursor:e.afterCursor,sessionKey:e.sessionKey,limit:e.limit}),n=new Set((await e.store.listArtifacts()).map(i=>i.rid)),o=0,s=0;for(let i of r.events){let a=t.map({event:i,sourceAgent:e.sourceAgent}),c=await e.store.capture(a);n.has(c.rid)?s++:(o++,n.add(c.rid))}return{polled:r.events.length,captured:o,skipped:s,nextCursor:r.nextCursor}}import{basename as rP}from"node:path";async function nP(e=process.cwd()){let t=await Jo(e),r=await vr.open({uri:t.connectionString,autoLinker:qg()});return{config:t,store:r,project:rP(t.rootDir)}}async function Ee(e,t=process.cwd()){let r=await nP(t);try{return await e(r)}finally{await r.store.close()}}var Zt=class extends Error{constructor(t,r){super(t),this.name="BrainActError",r?.cause!==void 0&&(this.cause=r.cause)}};async function Qg(e,t={}){let r=e.target?.trim(),n=e.message;if(!r)throw new Zt("brain_act requires a non-empty channel target");if(!n||!n.trim())throw new Zt("brain_act requires a non-empty message");let o=t.connect??(a=>Dt.connect(a)),s=t.process??oP(t.env??process.env),i;try{i=await o(s)}catch(a){throw new Zt(`brain_act could not reach the channel bridge: ${Wg(a)}`,{cause:a})}try{let a;try{a=await i.send(r,n)}catch(c){throw new Zt(`brain_act could not send to "${r}": ${Wg(c)}`,{cause:c})}if(!a.ok)throw new Zt(`brain_act could not send to "${r}": ${sP(a)}`);return{ok:!0,target:a.target,messageId:a.messageId,raw:a.raw}}finally{await i.close().catch(()=>{})}}function oP(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 sP(e){return iP(e.raw,["error","message","reason","detail"])??"the channel bridge reported a failed send"}function iP(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 Wg(e){return e instanceof Error?e.message:String(e)}import{createServer as aP}from"node:http";async function ey(e,t){let r=await e.listArtifacts(),n=await e.listConnections(),o=new Map(r.map(u=>[u.rid,u])),s=await e.eventKpis({interval:"day"}),i=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:s.total,supports:Qc(n,"supports"),contradicts:Qc(n,"contradicts"),depends_on:Qc(n,"depends_on")},kpis:{events_daily:s,events_by_platform:i,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=>cP(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=>uP(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 ty(e){return{contract:{name:"brain.dashboard.viewer",version:"brain.dashboard.viewer.v1",consumes:"brain.dashboard.v1"},html:lP(e)}}async function ry(e,t={}){let r=t.host??"127.0.0.1",n=t.port??4738,o=aP((s,i)=>{let a=s.url??"/";if(a==="/"||a==="/dashboard"){i.writeHead(200,{"content-type":"text/html; charset=utf-8","cache-control":"no-store"}),i.end(e);return}i.writeHead(404,{"content-type":"text/plain; charset=utf-8"}),i.end(`not found
53
- `)});return await new Promise((s,i)=>{o.once("error",i),o.listen(n,r,()=>{o.off("error",i),s()})}),o}function cP(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:fP(e.properties.content)}}function uP(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 lP(e){return`<!doctype html>
48
+ `).find(d=>d.startsWith("data: "));u&&(yield JSON.parse(u.slice(6)))}}watchPrefix(t,r={}){return this.watch(`${t}.*`,r)}};function Dc(e,t){return`${Mc(e)}.${GE(t)}`}function Mc(e){let t=String(e),r=t.match(/[^A-Za-z0-9_]/);if(r)throw new I("INVALID_KV_KEY",`invalid KV key "${t}": character "${r[0]}" is not supported`);return t}function GE(e){let t=String(e);return/^[A-Za-z0-9_]+$/.test(t)?t:`'${t.replace(/'/g,"''")}'`}function JE(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 _g(e){return`'${String(e).replace(/'/g,"''")}'`}var wn=class{constructor(t){this.client=t}create(t){return this.client.call("query",{sql:`CREATE QUEUE IF NOT EXISTS ${gr(t)}`})}push(t,r,n={}){let o=n.priority!=null?` PRIORITY ${WE(n.priority)}`:"";return this.client.call("query",{sql:`QUEUE PUSH ${gr(t)} ${QE(r)}${o}`})}async pop(t,r){let n=await this.client.call("query",{sql:`QUEUE POP ${gr(t)}${vg(r)}`});return bg(n)}async peek(t,r){let n=await this.client.call("query",{sql:`QUEUE PEEK ${gr(t)}${vg(r)}`});return bg(n)}async len(t){let r=await this.client.call("query",{sql:`QUEUE LEN ${gr(t)}`});return Number(r?.rows?.[0]?.len??0)}purge(t){return this.client.call("query",{sql:`QUEUE PURGE ${gr(t)}`})}};function gr(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new I("INVALID_QUEUE_NAME",`invalid queue name "${t}": expected an SQL identifier`);return t}function vg(e){if(e==null)return"";if(!Number.isInteger(e)||e<0)throw new I("INVALID_QUEUE_COUNT","queue count must be a non-negative integer");return` COUNT ${e}`}function WE(e){if(!Number.isInteger(e))throw new I("INVALID_QUEUE_PRIORITY","queue priority must be an integer");return String(e)}function QE(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":typeof e=="string"?`'${e.replace(/'/g,"''")}'`:JSON.stringify(e)}function bg(e){return Array.isArray(e?.rows)?e.rows.map(t=>t.payload):[]}var $n=class{constructor(t){this.db=t}async insert(t,r){wg(r,"documents.insert document"),await this.ensureCollection(t);let n=await this.db.query(`INSERT INTO ${Qo(t)} DOCUMENT (body) VALUES (${xg(r)}) RETURNING *`),o=n.rows?.[0];if(!o||o.rid==null)throw new I("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 I("NOT_FOUND",`document ${String(r)} was not found`);return n.entity}async list(t,r={}){let n=YE(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 ${Qo(t)}${i} ORDER BY ${o} LIMIT ${n}`)).rows??[]}}async patch(t,r,n){wg(n,"documents.patch patch");let o=Object.entries(n);if(o.length===0)throw new I("INVALID_ARGUMENT","documents.patch patch must be a non-empty object");for(let[c]of o)if(c.includes("/"))throw new I("INVALID_ARGUMENT","documents.patch currently accepts top-level document fields");let i=o.map(([c,l])=>`${$g(c)} = ${XE(l)}`).join(", "),a=(await this.db.query(`UPDATE ${Qo(t)} DOCUMENTS SET ${i} WHERE rid = $1 RETURNING *`,r)).rows?.[0];if(!a)throw new I("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 ${Qo(t)}`)}catch(r){if(!String(r?.message??"").includes("already exists"))throw r}}};function wg(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new I("INVALID_ARGUMENT",`${t} must be an object`)}function YE(e){if(e==null)return 100;if(!Number.isInteger(e)||e<=0)throw new I("INVALID_ARGUMENT","limit must be a positive integer");return e}function Qo(e){return String(e).split(".").map($g).join(".")}function $g(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new I("INVALID_ARGUMENT",`invalid SQL identifier "${t}"`);return t}function xg(e){return kg(JSON.stringify(e))}function XE(e){return e==null?"NULL":typeof e=="number"||typeof e=="boolean"?String(e):typeof e=="object"?xg(e):kg(e)}function kg(e){return`'${String(e).replace(/'/g,"''")}'`}var xn=class{constructor(t,r="red.config"){this.client=t,this.collection=r}put(t,r,n={}){tz(n,"config");let o=n.collection??this.collection,i=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(Sg).join(", ")}]`:"";return this.client.call("query",{sql:`PUT CONFIG ${bt(o)} ${bt(t)} = ${ez(r,n)}${i}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`GET CONFIG ${bt(n)} ${bt(t)}`})}resolve(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`RESOLVE CONFIG ${bt(n)} ${bt(t)}`})}};function ez(e,t){if(t.secretRef){let{collection:r,key:n}=t.secretRef;return`SECRET_REF(vault, ${bt(r)}.${bt(n)})`}return rz(e)}function tz(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 bt(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 rz(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):Sg(e)}function Sg(e){return`'${String(e).replace(/'/g,"''")}'`}var kn=class{constructor(t,r="red.vault"){this.client=t,this.collection=r}put(t,r,n={}){nz(n,"vault");let o=n.collection??this.collection,i=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(Eg).join(", ")}]`:"";return this.client.call("query",{sql:`VAULT PUT ${yr(o)}.${yr(t)} = ${oz(r)}${i}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`VAULT GET ${yr(n)}.${yr(t)}`})}unseal(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`UNSEAL VAULT ${yr(n)}.${yr(t)}`})}};function nz(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 yr(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 oz(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):Eg(e)}function Eg(e){return`'${String(e).replace(/'/g,"''")}'`}async function Tg(e){return((await e.query("SHOW COLLECTIONS")).rows??[]).map(iz)}async function Pg(e,t){return((await e.query(`SHOW COLLECTIONS WHERE name = ${az(t)}`)).rows??[]).some(n=>n.name===String(t))}var Sn=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 I("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(zg).join(", "),r=this.whereClauses.length>0?` WHERE ${this.whereClauses.map(s=>`(${s})`).join(" AND ")}`:"",n=`SELECT ${t} FROM ${zg(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 iz(e){return{...e,name:String(e.name),model:String(e.model),capabilities:Array.isArray(e.capabilities)?e.capabilities:[]}}function zg(e){return String(e).split(".").map(sz).join(".")}function sz(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new I("INVALID_IDENTIFIER",`invalid SQL identifier "${t}"`);return t}function az(e){return`'${String(e).replace(/'/g,"''")}'`}var cz="remote URIs are not supported in @reddb-io/sdk; install @reddb-io/client for grpc/http/red transports",uz="1.0",Ng="1.0.9",Rg="NESTED_TX_NOT_SUPPORTED";async function Ag(e,t={}){let r=jc(e);if(yz(r),r.kind==="embedded"){let n=gz(r,t.auth);if(n.token||n.username)throw new I("AUTH_NOT_APPLICABLE","auth is only meaningful for remote connections; embedded modes inherit caller privileges.");let o=hz(r),i=t.binary??gg(),s=await mg(i,o),a=new Wo(s);return await a.call("version",{}),new Zc(a,{transport:"embedded"})}}function Ig(e){return lz(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:pz(e)}:typeof e=="number"&&!Number.isFinite(e)?Number.isNaN(e)?{$float:"NaN"}:{$float:e>0?"Infinity":"-Infinity"}:typeof e=="string"&&mz(e)?{$uuid:e}:e}function lz(e){if(e!=null&&!(typeof e=="boolean"||typeof e=="number"||typeof e=="string")){if(e instanceof Date){if(Number.isNaN(e.getTime()))throw new I("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 I("UNSUPPORTED_PARAM","array query parameters must contain only numbers")}if(!(typeof e=="object"&&Object.getPrototypeOf(e)===Object.prototype))throw new I("UNSUPPORTED_PARAM",`cannot encode query parameter of type ${typeof e}`)}}}function dz(e){return e.length===0?null:e.length===1&&Array.isArray(e[0])?e[0].map(Ig):e.map(Ig)}function pz(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 fz(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 mz(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)}function Yo(e){if(Array.isArray(e))return e.map(Yo);if(e&&typeof e=="object"){if(Object.keys(e).length===1){if(typeof e.$bytes=="string")return fz(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]=Yo(o);return r}return e}function hz(e){return e.path?["rpc","--stdio","--path",e.path]:["rpc","--stdio"]}function gz(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 yz(e){if(e.kind!=="embedded")throw new I("EMBEDDED_ONLY",cz)}var Xo=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 Bc()}},qc=class{constructor(t){this.db=t,this.active=!1}async begin(){if(this.db.inTransaction)throw Bc();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 I("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 I("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 I("INVALID_ARGUMENT","nested tx.run() is not supported; issue savepoints via tx.query() instead");await this.begin();try{let r=await t(new Xo(this.db));return await this.commit(),r}catch(r){if(this.active)try{await this.rollback()}catch(n){Cg(r,n)}throw r}}},Zc=class{constructor(t,r={}){this.client=t,this.transport=r.transport??null,this.helperSpecVersion=uz,this.cache=new bn(t,this.transport),this.queue=new wn(t),this.queues=this.queue,this.documents=new $n(this);let n=new hr(t);this.kv=Object.assign((o="kv_default")=>new hr(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 xn(t,o),this.vault=(o="red.vault")=>new kn(t,o),this.inTransaction=!1}query(t,...r){if(typeof t!="string"||t.trim().length===0)return Promise.reject(new I("INVALID_ARGUMENT","query() requires a non-empty SQL string"));let n=dz(r);return n==null?this.client.call("query",{sql:t}).then(Yo):this.client.call("query",{sql:t,params:n}).then(Yo)}execute(t,...r){return this.query(t,...r)}async insert(t,r){let n=await this.client.call("insert",{collection:t,payload:r});return _z(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 vz(n,r.length)}tx(){return new qc(this)}async transaction(t){if(this.inTransaction)throw Bc();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 Xo(this));return await this.query("COMMIT"),n}catch(n){if(r)try{await this.query("ROLLBACK")}catch(o){Cg(n,o)}throw n}finally{this.inTransaction=!1}}exists(t){return Pg(this,t)}list(){return Tg(this)}from(t){return new Sn(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 Bc(){return new I(Rg,`${Rg}: nested transactions are not supported on one connection`)}function Cg(e,t){if(e&&typeof e=="object")try{e.rollbackError=t}catch{}}function _z(e,t){if(!e||typeof e!="object"||e.rid==null&&e.id==null)throw new I("ENGINE_TOO_OLD",`${t}() requires RedDB engine >= ${Ng} with insert id support`);return e.rid==null&&(e.rid=e.id),e.id==null&&(e.id=e.rid),e}function vz(e,t){if(!e||typeof e!="object"||!Array.isArray(e.rids)&&!Array.isArray(e.ids))throw new I("ENGINE_TOO_OLD",`bulkInsert() requires RedDB engine >= ${Ng} 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 I("INVALID_RESPONSE",`bulkInsert() expected ${t} rids, got ${e.rids.length}`);return e}function En(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"&&bz(t.chosenOption)&&wz(t.outcome)&&$z(t.cost)}function bz(e){if(typeof e!="object"||e===null)return!1;let t=e;return typeof t.kind=="string"&&t.kind.length>0}function wz(e){return e==="success"||e==="failure"||e==="escalated"}function $z(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 xz}from"node:crypto";function Lc(e){return xz("sha256").update(e).digest("hex")}function Og(e){return Lc(JSON.stringify(e))}function jg(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/-{2,}/g,"-").replace(/^-|-$/g,"")||"artifact"}var Uc="unknown",ei=class{artifacts;constructor(t){this.artifacts=t}events(t={}){let r=t.interval??"day",n=t.timeField??"event",o=Kc(t.from),i=Kc(t.to),s=this.artifacts.filter(f=>f.kind==="event").map(f=>kz(f,n)).filter(f=>f!=null).filter(f=>Ez(f,t)).filter(f=>zz(f.ts,o,i)).sort((f,h)=>f.ts-h.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=Rz(c,l,r),p=[Dg(null,s,u,r)];if(t.groupBy){let h=[...Tz(s,t.groupBy).entries()].map(([g,_])=>Dg(g,_,u,r)).sort((g,_)=>_.total-g.total||Nz(g.group,_.group));p.push(...h)}return{kind:"event",interval:r,timeField:n,range:{from:c,to:l},total:a,series:p}}};function kz(e,t){let r=e.properties.metadata??{},n=Sz(e,r,t);return n==null?null:{ts:n,platform:Fc(r,"platform")??Uc,eventType:Fc(r,"event_type")??Uc,target:Fc(r,"target")??Uc}}function Sz(e,t,r){let n=Number.isFinite(e.properties.created_at)?e.properties.created_at:null;return r==="ingested"?n:Kc(t.timestamp)??n}function Fc(e,t){let r=e[t];return typeof r=="string"&&r.length>0?r:void 0}function Ez(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 zz(e,t,r){return!(t!=null&&e<t||r!=null&&e>r)}function Tz(e,t){let r=new Map;for(let n of e){let o=Pz(n,t),i=r.get(o);i?i.push(n):r.set(o,[n])}return r}function Pz(e,t){switch(t){case"platform":return e.platform;case"event_type":return e.eventType;case"target":return e.target}}function Dg(e,t,r,n){let o=new Map;for(let s of t){let a=Vc(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 Rz(e,t,r){if(e==null||t==null)return[];let n=[],o=Vc(e,r),i=Vc(t,r),s=0;for(;o<=i&&s<1e6;)n.push(o),o=Iz(o,r),s++;return n}function Vc(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 Iz(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 Kc(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 Nz(e,t){return String(e??"").localeCompare(String(t??""))}var Az=["validate","simple","complex","think"];var Cz={validate:1,simple:.85,complex:.65,think:.45};function Oz(){return{schemaVersion:1,buckets:{}}}function qg(e,t={}){let r=Bz(t.initial??Oz());for(let n of e)jz(r,n,t);return r}function jz(e,t,r={}){let n=(r.tierForEvent??Dz)(t);if(!n)return e;let i=qz(e,t.taskClass).arms[n],s=Mz(t,n);return i.posterior.alpha=Mg(i.posterior.alpha+s),i.posterior.beta=Mg(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 Dz(e){let t=e.chosenOption.kind;if(Lz(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 Mz(e,t){return e.outcome!=="success"?0:Cz[t]}function qz(e,t){let r=t.trim()||"unknown";return e.buckets[r]??=Zz(),e.buckets[r]}function Zz(){return{arms:{validate:ti(),simple:ti(),complex:ti(),think:ti()}}}function ti(){return{posterior:{alpha:1,beta:1},observations:0,successes:0,failures:0,consecutiveFailures:0}}function Bz(e){return JSON.parse(JSON.stringify(e))}function Lz(e){return Az.includes(e)}function Mg(e){return Math.round(e*1e3)/1e3}import{spawn as Uz}from"node:child_process";var Gc=["supports","contradicts","related_to"];function Jc(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 Wc(e){return typeof e=="string"&&Gc.includes(e)}function _r(e){return e.properties.metadata?.derived===!0||typeof e.properties.metadata?.derived_kind=="string"}function Zg(e){return[e.properties.title,e.kind,...e.properties.tags,e.properties.content].join(`
49
+ `)}function Fz(e){return{deriveConnections(t){return Kz(e,t)}}}function Bg(e=process.env){let t=e.RED_BRAIN_AUTOLINK_AFK_COMMAND??e.RED_BRAIN_AUTOLINK_HEADLESS_COMMAND;if(t)return Fz({command:t,args:Hz(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:Gz(e.RED_BRAIN_AUTOLINK_AFK_TIMEOUT_MS)??6e4})}function Vz(e){let t=JSON.parse(Jz(e));return(Array.isArray(t)?t:Hc(t)&&Array.isArray(t.connections)?t.connections:[]).filter(Wz).map(n=>({from:n.from,to:n.to,kind:n.kind,reason:typeof n.reason=="string"?n.reason:void 0,metadata:Hc(n.metadata)?n.metadata:void 0}))}async function Kz(e,t){let r=Uz(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 Vz(Buffer.concat(n).toString("utf8"))}finally{i&&clearTimeout(i)}}function Hz(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 Gz(e){if(e==null||e==="")return;let t=Number(e);return Number.isInteger(t)&&t>0?t:void 0}function Jz(e){let t=e.trim();return(t.match(/```(?:json)?\s*([\s\S]*?)\s*```/i)?.[1]??t).trim()}function Wz(e){return Hc(e)&&(typeof e.from=="number"||typeof e.from=="string")&&(typeof e.to=="number"||typeof e.to=="string")&&Wc(e.kind)}function Hc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var ri=["pillar","decision","concept","question","playbook","task","event","pattern","hypothesis","fact","source","bookmark","note","reference","custom","project","idea","meeting","claim","organization","person"],Lg={contact:"person"},ni=["supports","contradicts","depends_on","derived_from","related_to","part_of","preceded_by","followed_by","authored","tagged"],Ve={artifacts:"brain_artifacts",connections:"brain_connections",outcomeEvents:"brain_outcome_events",kv:"brain_kv"};var vr=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 Ag(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 ${Ve.artifacts}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Ve.connections}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Ve.outcomeEvents}`)}kv(){return this.db.kv(Ve.kv)}async capture(t){let r=Jg(t.kind??"note"),n=Date.now(),o=eT(t.tags??[]),i=Og([r,t.title,t.content,o,t.sourcePath,t.sourceSession]),s=await this.findArtifactByHash(i);if(s!=null){let g=await this.getArtifact(s);if(g)return g}let a=await this.listArtifacts(),c=`${jg(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},p=(await this.db.query(`INSERT INTO ${Ve.artifacts} NODE (label, node_type, hash, properties) VALUES ($1, $2, $3, $4) RETURNING *`,u.label,u.kind,i,l)).rows[0];if(!p)throw new Error("INSERT artifact returned no row");let f=Number(p.red_entity_id??p.rid);await this.kv().put(Fg(i),f),this.artifactCache=null;let h={...u,rid:f};return await this.autoLinkArtifact(h,a),await this.materializeTagConnections(h),h}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 ${Ve.artifacts}`);this.artifactCache=t.rows.map(Qz).filter(oi)}return this.artifactCache}async search(t,r=10,n={}){let o=tT(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=Qg(u,o),p=Yg({...d,connections:rT(u,o,a,c),vector:0});return{artifact:u,score:p.total,score_breakdown:p,excerpt:oT(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=Wg(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 ${Ve.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(Vg(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 ${Ve.connections}`);this.connectionCache=t.rows.map(Yz).filter(oi)}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:dT(t.map(n=>n.kind))}}async eventKpis(t={}){let r=await this.listArtifacts();return new ei(r).events(t)}async appendOutcomeEvent(t){if(!En(t))throw new Error("invalid Brain outcome event");let r={...t};if(!(await this.db.query(`INSERT INTO ${Ve.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 ${Ve.outcomeEvents}`);this.outcomeEventCache=t.rows.map(Xz).filter(oi).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(Kg());if(t==null)return null;let r=typeof t=="string"?JSON.parse(t):t;return Hg(r)?(this.modelTierBanditCache=r,r):null}async saveModelTierBanditDocument(t){if(!Hg(t))throw new Error("invalid Brain model-tier bandit document");return await this.kv().put(Kg(),JSON.stringify(t)),this.modelTierBanditCache=t,t}async refreshModelTierBanditDocument(){let t=qg(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=>!_r(i.artifact)).slice(0,r);return iT(t,o)}async deriveAutoLinks(t){return this.autoLinkArtifact(t,await this.listArtifacts())}async findArtifactByHash(t){let r=await this.kv().get(Fg(t));return r!=null?Number(r):null}async findConnection(t,r,n){let o=await this.kv().get(Vg(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||_r(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=Zg(t),i=new Set([t.rid]);for(let d of r)_r(d)&&i.add(d.rid);let s=await this.think(o,8,{excludeRids:i}),a=s.hits.filter(d=>n.has(d.artifact.rid)&&!_r(d.artifact)).map(d=>({artifact:Jc(d.artifact),score:d.score,excerpt:d.excerpt}));if(a.length===0)return[];let c={newArtifact:Jc(t),candidates:a,think:{query:o,answer:s.answer},allowedKinds:Gc},l=await this.opts.autoLinker.deriveConnections(c),u=[];for(let d of l){if(!Wc(d.kind))continue;let p=await this.getArtifact(d.from),f=await this.getArtifact(d.to);if(!p||!f)continue;let h=p.rid===t.rid||f.rid===t.rid,g=n.has(p.rid)||n.has(f.rid);if(!h||!g||p.rid===f.rid)continue;let _=await this.link({from:p.rid,to:f.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 Jg(e){let r=Lg[e]??e;if(ri.includes(r))return r;throw new Error(`invalid Brain artifact kind: ${e}`)}function Wg(e){if(ni.includes(e))return e;throw new Error(`invalid Brain connection kind: ${e}`)}function Qz(e){let t=Number(e.red_entity_id??e.rid),r=Qc(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:Jg(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 Yz(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:Wg(o),from_rid:r,to_rid:n,weight:Number(e.weight??1),properties:Qc(e.properties??e.PROPERTIES)}}function Xz(e){let t=Number(e.red_entity_id??e.rid),r=Qc(e.properties??e.PROPERTIES);return!Number.isFinite(t)||!En(r)?null:{rid:t,event:r}}function Qc(e){return e==null?{}:typeof e=="string"?JSON.parse(e):e}function oi(e){return e!=null}function eT(e){return Array.from(new Set(e.map(t=>t.trim()).filter(Boolean))).sort()}function tT(e){return e.toLowerCase().split(/[^a-z0-9_]+/).map(t=>t.trim()).filter(t=>t.length>1)}function Ug(e,t){let r=0,n=e.indexOf(t);for(;n>=0;)r++,n=e.indexOf(t,n+t.length);return r}function Qg(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+Ug(r,a)*3+Ug(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 rT(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||_r(a))continue;let c=Yg({...Qg(a,t),connections:0,vector:0}).total;c<=0||(o+=Math.min(c,12)*nT(i.kind))}return Mt(o*.35)}function nT(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 Yg(e){return{...e,lexical:Mt(e.lexical),tags:Mt(e.tags),kind:Mt(e.kind),connections:Mt(e.connections),vector:Mt(e.vector),total:Mt(e.lexical+e.tags+e.kind+e.connections+e.vector)}}function Mt(e){return Math.round(e*1e3)/1e3}function oT(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 iT(e,t){let r=t.map(sT),n=aT(t),o=cT(e,r,n);return{hits:t,citations:r,confidence:n,missing_evidence:o,answer:uT(e,r,n,o)}}function sT(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 aT(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 cT(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 uT(e,t,r,n){if(t.length===0)return[`Brain has no cited evidence for "${e}".`,"","Missing evidence:",...n.map(a=>`- ${a}`)].join(`
50
+ `);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}]`:""}; ${lT(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(`
51
+ `)}function lT(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(oi);return`source: ${t.length>0?t.join(", "):`Brain artifact ${e.id}`}`}function Fg(e){return`artifact.hash.${e}`}function Vg(e,t,r){return`connection.${e}.${r}.${t}`}function Kg(){return`model-tier-bandit.v${1}`}function Hg(e){if(typeof e!="object"||e===null)return!1;let t=e;return t.schemaVersion===1&&typeof t.buckets=="object"}function dT(e){let t={};for(let r of e)t[r]=(t[r]??0)+1;return t}async function ey(e,t){if(e!=="SessionStart")return{};let r=await Jo(process.cwd()),n=await vr.open({uri:r.connectionString});try{await n.status()}finally{await n.close()}let o=Xg(r.rootDir,".red","brain","sessions");return await pT(o,{recursive:!0}),await fT(Xg(o,"last-session.json"),JSON.stringify({runner:t,lifecycle:e,rootDir:r.rootDir,connectionString:r.connectionString,startedAt:new Date().toISOString()},null,2),"utf8"),{}}var ii=class{map({event:t,sourceAgent:r}){return{title:mT(t),content:hT(t),kind:"event",tags:gT(t),sourceAgent:r??"brain.ingest-events",sourceRunner:"hermes",sourceSession:ty(t),metadata:yT(t)}}};function ty(e){return e.id?`evt:${e.id}`:e.cursor!=null?`cursor:${String(e.cursor)}`:`hash:${Lc(JSON.stringify({platform:e.platform??null,target:e.target??null,timestamp:e.timestamp??null,message:e.message??null}))}`}function mT(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 hT(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(`
52
+ `)||JSON.stringify(e.raw)}function gT(e){let t=new Set(["channel-event"]);return e.platform&&t.add(e.platform),e.type&&t.add(e.type),Array.from(t)}function yT(e){let t={event_key:ty(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 si(e){let t=new ii,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}}import{basename as _T}from"node:path";async function vT(e=process.cwd()){let t=await Jo(e),r=await vr.open({uri:t.connectionString,autoLinker:Bg()});return{config:t,store:r,project:_T(t.rootDir)}}async function ze(e,t=process.cwd()){let r=await vT(t);try{return await e(r)}finally{await r.store.close()}}var qt=class extends Error{constructor(t,r){super(t),this.name="BrainActError",r?.cause!==void 0&&(this.cause=r.cause)}};async function ny(e,t={}){let r=e.target?.trim(),n=e.message;if(!r)throw new qt("brain_act requires a non-empty channel target");if(!n||!n.trim())throw new qt("brain_act requires a non-empty message");let o=t.connect??(a=>Dt.connect(a)),i=t.process??bT(t.env??process.env),s;try{s=await o(i)}catch(a){throw new qt(`brain_act could not reach the channel bridge: ${ry(a)}`,{cause:a})}try{let a;try{a=await s.send(r,n)}catch(c){throw new qt(`brain_act could not send to "${r}": ${ry(c)}`,{cause:c})}if(!a.ok)throw new qt(`brain_act could not send to "${r}": ${wT(a)}`);return{ok:!0,target:a.target,messageId:a.messageId,raw:a.raw}}finally{await s.close().catch(()=>{})}}function bT(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 wT(e){return $T(e.raw,["error","message","reason","detail"])??"the channel bridge reported a failed send"}function $T(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 ry(e){return e instanceof Error?e.message:String(e)}import{createServer as xT}from"node:http";async function sy(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:Yc(n,"supports"),contradicts:Yc(n,"contradicts"),depends_on:Yc(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=>kT(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=>ST(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 ay(e){return{contract:{name:"brain.dashboard.viewer",version:"brain.dashboard.viewer.v1",consumes:"brain.dashboard.v1"},html:ET(e)}}async function cy(e,t={}){let r=t.host??"127.0.0.1",n=t.port??4738,o=xT((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
53
+ `)});return await new Promise((i,s)=>{o.once("error",s),o.listen(n,r,()=>{o.off("error",s),i()})}),o}function kT(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:PT(e.properties.content)}}function ST(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 ET(e){return`<!doctype html>
54
54
  <html lang="en">
55
55
  <head>
56
56
  <meta charset="utf-8">
@@ -226,59 +226,59 @@ var cy=Object.create;var us=Object.defineProperty;var uy=Object.getOwnPropertyDe
226
226
  </head>
227
227
  <body>
228
228
  <header>
229
- <h1>${se(e.project)} Brain Dashboard</h1>
230
- <div class="meta">${se(e.root)} - ${se(e.generated_at)}</div>
229
+ <h1>${ie(e.project)} Brain Dashboard</h1>
230
+ <div class="meta">${ie(e.root)} - ${ie(e.generated_at)}</div>
231
231
  </header>
232
232
  <main>
233
233
  <div class="metrics">
234
- ${wr("Artifacts",e.stats.artifacts,"captured knowledge")}
235
- ${wr("Decisions",e.stats.decisions,"curated choices")}
236
- ${wr("Events",e.stats.events,"KpiQuery total")}
237
- ${wr("Connections",e.stats.connections,"typed graph edges")}
238
- ${wr("Supports",e.stats.supports,"positive evidence")}
239
- ${wr("Contradicts",e.stats.contradicts,"open tension")}
234
+ ${br("Artifacts",e.stats.artifacts,"captured knowledge")}
235
+ ${br("Decisions",e.stats.decisions,"curated choices")}
236
+ ${br("Events",e.stats.events,"KpiQuery total")}
237
+ ${br("Connections",e.stats.connections,"typed graph edges")}
238
+ ${br("Supports",e.stats.supports,"positive evidence")}
239
+ ${br("Contradicts",e.stats.contradicts,"open tension")}
240
240
  </div>
241
241
  <div class="grid">
242
242
  <section>
243
243
  <h2>Event KPIs</h2>
244
244
  <div class="meta">Derived from kind:event artifacts through KpiQuery. No separate metrics store.</div>
245
- ${Yg(e.kpis.events_by_platform,"Platform")}
246
- ${Yg(e.kpis.events_by_type,"Event type")}
245
+ ${oy(e.kpis.events_by_platform,"Platform")}
246
+ ${oy(e.kpis.events_by_type,"Event type")}
247
247
  </section>
248
248
  <section>
249
249
  <h2>Recent Decisions</h2>
250
250
  <div class="feed">
251
- ${e.recent_decisions.length===0?Xg("No decision artifacts captured yet."):e.recent_decisions.map(dP).join("")}
251
+ ${e.recent_decisions.length===0?iy("No decision artifacts captured yet."):e.recent_decisions.map(zT).join("")}
252
252
  </div>
253
253
  </section>
254
254
  </div>
255
255
  <section>
256
256
  <h2>Recent Connections</h2>
257
257
  <div class="feed">
258
- ${e.recent_connections.length===0?Xg("No graph connections captured yet."):e.recent_connections.map(pP).join("")}
258
+ ${e.recent_connections.length===0?iy("No graph connections captured yet."):e.recent_connections.map(TT).join("")}
259
259
  </div>
260
260
  </section>
261
261
  </main>
262
- <footer class="meta">${se(e.attribution.red_hermes)}</footer>
263
- <script id="brain-dashboard-data" type="application/json">${mP(e)}</script>
262
+ <footer class="meta">${ie(e.attribution.red_hermes)}</footer>
263
+ <script id="brain-dashboard-data" type="application/json">${RT(e)}</script>
264
264
  </body>
265
- </html>`}function wr(e,t,r){return`<div class="metric"><span>${se(e)}</span><strong>${t}</strong><div class="meta">${se(r)}</div></div>`}function Yg(e,t){let r=e.series.filter(o=>o.group!=null);if(r.length===0)return`<div class="empty">No ${se(t.toLowerCase())} split available.</div>`;let n=Math.max(...r.map(o=>o.total),1);return`<div class="bars" aria-label="${se(t)}">${r.map(o=>{let s=o.group??"all",i=Math.round(o.total/n*100);return`<div class="bar"><div class="meta">${se(s)}</div><div class="track"><div class="fill" style="width:${i}%"></div></div><strong>${o.total}</strong></div>`}).join("")}</div>`}function dP(e){let t=e.connection_counts,r=e.tags.length===0?"":`<div class="tags">${e.tags.slice(0,6).map(n=>`<span class="tag">${se(n)}</span>`).join("")}</div>`;return`<article class="item">
266
- <h3>${se(e.title)}</h3>
267
- <div class="meta">#${e.rid} - ${se(e.updated_at)} - supports ${t.supports}, contradicts ${t.contradicts}, depends_on ${t.depends_on}, related_to ${t.related_to}</div>
268
- <p class="meta">${se(e.excerpt)}</p>
265
+ </html>`}function br(e,t,r){return`<div class="metric"><span>${ie(e)}</span><strong>${t}</strong><div class="meta">${ie(r)}</div></div>`}function oy(e,t){let r=e.series.filter(o=>o.group!=null);if(r.length===0)return`<div class="empty">No ${ie(t.toLowerCase())} split available.</div>`;let n=Math.max(...r.map(o=>o.total),1);return`<div class="bars" aria-label="${ie(t)}">${r.map(o=>{let i=o.group??"all",s=Math.round(o.total/n*100);return`<div class="bar"><div class="meta">${ie(i)}</div><div class="track"><div class="fill" style="width:${s}%"></div></div><strong>${o.total}</strong></div>`}).join("")}</div>`}function zT(e){let t=e.connection_counts,r=e.tags.length===0?"":`<div class="tags">${e.tags.slice(0,6).map(n=>`<span class="tag">${ie(n)}</span>`).join("")}</div>`;return`<article class="item">
266
+ <h3>${ie(e.title)}</h3>
267
+ <div class="meta">#${e.rid} - ${ie(e.updated_at)} - supports ${t.supports}, contradicts ${t.contradicts}, depends_on ${t.depends_on}, related_to ${t.related_to}</div>
268
+ <p class="meta">${ie(e.excerpt)}</p>
269
269
  ${r}
270
- </article>`}function pP(e){return`<article class="item">
271
- <h3><span class="edge ${se(e.kind)}">${se(e.kind)}</span> ${se(e.from.title)} -> ${se(e.to.title)}</h3>
272
- <div class="meta">#${e.rid} - ${se(e.created_at)}${e.reason?` - ${se(e.reason)}`:""}</div>
273
- </article>`}function Xg(e){return`<div class="empty">${se(e)}</div>`}function Qc(e,t){return e.filter(r=>r.kind===t).length}function fP(e){let t=e.replace(/\s+/g," ").trim();return t.length>180?`${t.slice(0,177)}...`:t}function se(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 mP(e){return JSON.stringify(e).replace(/</g,"\\u003c")}import{mkdir as hP,readFile as gP,writeFile as yP}from"node:fs/promises";import{dirname as _P}from"node:path";async function ny(e){let t=await ss({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 oy(e){try{let t=await gP(e,"utf8");return JSON.parse(t)}catch(t){if(t.code==="ENOENT")return{};throw t}}async function sy(e,t){await hP(_P(e),{recursive:!0}),await yP(e,JSON.stringify(t,null,2)+`
274
- `,"utf8")}async function xP(){let[e="help",...t]=process.argv.slice(2);switch(e){case"help":case"--help":case"-h":ZP();return;case"init":await Ee(async({config:r,store:n})=>{let o=await n.status();be({rootDir:r.rootDir,configPath:r.configPath,...o})});return;case"status":await Ee(async({config:r,store:n})=>{be({rootDir:r.rootDir,configPath:r.configPath,...await n.status()})});return;case"capture":await SP(t);return;case"search":await zP(t);return;case"think":case"query":await EP(t);return;case"get":await PP(t);return;case"link":await TP(t);return;case"backlinks":await RP(t);return;case"act":await OP(t);return;case"hook":await jP(t);return;case"ingest-events":await NP(t);return;case"schedule-ingest":await IP(t);return;case"kpi":case"kpis":await AP(t);return;case"dashboard":await CP(t);return;case"outcome-event":await kP(t);return;default:throw new Error(`unknown brain command: ${e}`)}}async function kP(e){let[t,...r]=e;if(t!=="record")throw new Error("brain outcome-event requires subcommand: record");let n=Ke(r),o=await qP(),s=JSON.parse(o);if(!zn(s))throw new Error("invalid brain outcome event");await Ee(async({store:i})=>{be(await i.appendOutcomeEvent(s))},D(n,"root")??process.cwd())}async function SP(e){let t=Ke(e),r=(D(t,"title")??t._.join(" ").slice(0,80))||"Untitled artifact",n=D(t,"content")??(D(t,"file")?await vP(String(D(t,"file")),"utf8"):t._.join(" "));if(!n.trim())throw new Error("brain capture requires content, --content, or --file");await Ee(async({store:o})=>{let s=await o.capture({title:r,content:n,kind:D(t,"kind")??"note",tags:DP(t,"tag"),sourceAgent:D(t,"agent"),sourceRunner:D(t,"runner"),sourceSession:D(t,"session"),sourcePath:process.cwd()});be(s)})}async function zP(e){let t=Ke(e),r=D(t,"query")??t._.join(" ");if(!r)throw new Error("brain search requires a query");let n=En(t,"limit")??10;await Ee(async({store:o})=>be(await o.search(r,n)))}async function EP(e){let t=Ke(e),r=D(t,"query")??t._.join(" ");if(!r)throw new Error("brain think requires a query");let n=En(t,"limit")??8;await Ee(async({store:o})=>{let s=await o.think(r,n);t.json===!0?be(s):console.log(s.answer)})}async function PP(e){let t=e[0];if(!t)throw new Error("brain get requires a rid or artifact id");await Ee(async({store:r})=>{let n=await r.getArtifact(is(t));if(!n)throw new Error(`Brain artifact not found: ${t}`);be(n)})}async function TP(e){let t=Ke(e),r=D(t,"from"),n=D(t,"to");if(!r||!n)throw new Error("brain link requires --from and --to");await Ee(async({store:o})=>{be(await o.link({from:is(r),to:is(n),kind:D(t,"kind")??"related_to",reason:D(t,"reason")}))})}async function RP(e){let t=e[0];if(!t)throw new Error("brain backlinks requires a rid or artifact id");await Ee(async({store:r})=>be(await r.backlinks(is(t))))}async function IP(e){let t=Ke(e),r=D(t,"session-key")??D(t,"session"),n=En(t,"limit"),o=await Dt.connect();try{await Ee(async({config:s,store:i})=>{let a=D(t,"state")??iy(s.rootDir,".red","brain","ingestion-state.json"),c=await oy(a),l=await ny({bridge:o,store:i,state:c,sessionKey:r??void 0,limit:n??void 0,sourceAgent:"brain.schedule-ingest"});await sy(a,l.state),be(l)})}finally{await o.close().catch(()=>{})}}async function NP(e){let t=Ke(e),r=D(t,"after-cursor")??D(t,"cursor"),n=D(t,"session-key")??D(t,"session"),o=En(t,"limit"),s=await Dt.connect();try{await Ee(async({store:i})=>{let a=await ss({bridge:s,store:i,afterCursor:r??void 0,sessionKey:n??void 0,limit:o??void 0,sourceAgent:"brain.ingest-events"});be(a)})}finally{await s.close().catch(()=>{})}}async function AP(e){let t=Ke(e),r=D(t,"interval"),n=D(t,"group-by"),o=D(t,"time-field");await Ee(async({store:s})=>{be(await s.eventKpis({interval:r,groupBy:n,timeField:o,from:D(t,"from"),to:D(t,"to"),platform:D(t,"platform"),eventType:D(t,"event-type"),target:D(t,"target")}))})}async function CP(e){let t=Ke(e),r=await Ee(async({config:o,store:s,project:i})=>{let a=await ey(s,{project:i,rootDir:o.rootDir});return{dashboard:a,artifact:ty(a),defaultOut:iy(o.rootDir,".red","brain","dashboard.html")}});if(t.json===!0){be(r.dashboard);return}if(t.serve===!0){let o=D(t,"host")??"127.0.0.1",s=En(t,"port")??4738,i=await ry(r.artifact.html,{host:o,port:s}),a=i.address();console.log(`brain: dashboard serving at http://${a.address}:${a.port}/`),await new Promise(c=>{let l=()=>i.close(()=>c());process.once("SIGINT",l),process.once("SIGTERM",l)});return}let n=D(t,"out")??r.defaultOut;await wP($P(n),{recursive:!0}),await bP(n,r.artifact.html,"utf8"),console.log(`brain: dashboard written ${n}`)}async function OP(e){let t=Ke(e),r=D(t,"target")??t._[0],n=D(t,"message")??t._.slice(1).join(" ");if(!r)throw new Error("brain act requires --target <channel>");if(!n)throw new Error("brain act requires --message <text>");be(await Qg({target:r,message:n}))}async function jP(e){let[t="SessionStart",...r]=e,n=Ke(r),o=D(n,"runner")??"unknown";be(await Gg(t,o))}function is(e){return/^\d+$/.test(e)?Number(e):e}function Ke(e){let t={_:[]};for(let r=0;r<e.length;r++){let n=e[r];if(!n.startsWith("--")){t._.push(n);continue}let o=n.slice(2),s=e[r+1],i=s&&!s.startsWith("--")?e[++r]:!0,a=t[o];a==null||a===!1?t[o]=i:Array.isArray(a)?a.push(String(i)):t[o]=[String(a),String(i)]}return t}function D(e,t){let r=e[t];if(typeof r=="string")return r;if(Array.isArray(r))return r[r.length-1]}function DP(e,t){let r=e[t];return typeof r=="string"?[r]:Array.isArray(r)?r:[]}function En(e,t){let r=D(e,t);if(r==null)return;let n=Number(r);if(!Number.isFinite(n))throw new Error(`--${t} must be a number`);return n}function be(e){console.log(JSON.stringify(e,null,2))}async function qP(){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")}function ZP(){console.log(`brain commands:
270
+ </article>`}function TT(e){return`<article class="item">
271
+ <h3><span class="edge ${ie(e.kind)}">${ie(e.kind)}</span> ${ie(e.from.title)} -> ${ie(e.to.title)}</h3>
272
+ <div class="meta">#${e.rid} - ${ie(e.created_at)}${e.reason?` - ${ie(e.reason)}`:""}</div>
273
+ </article>`}function iy(e){return`<div class="empty">${ie(e)}</div>`}function Yc(e,t){return e.filter(r=>r.kind===t).length}function PT(e){let t=e.replace(/\s+/g," ").trim();return t.length>180?`${t.slice(0,177)}...`:t}function ie(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 RT(e){return JSON.stringify(e).replace(/</g,"\\u003c")}import{mkdir as IT,readFile as NT,writeFile as AT}from"node:fs/promises";import{dirname as CT}from"node:path";async function uy(e){let t=await si({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 ly(e){try{let t=await NT(e,"utf8");return JSON.parse(t)}catch(t){if(t.code==="ENOENT")return{};throw t}}async function dy(e,t){await IT(CT(e),{recursive:!0}),await AT(e,JSON.stringify(t,null,2)+`
274
+ `,"utf8")}async function qT(){let[e="help",...t]=process.argv.slice(2);switch(e){case"help":case"--help":case"-h":tP();return;case"init":await ze(async({config:r,store:n})=>{let o=await n.status();we({rootDir:r.rootDir,configPath:r.configPath,...o})});return;case"status":await ze(async({config:r,store:n})=>{we({rootDir:r.rootDir,configPath:r.configPath,...await n.status()})});return;case"capture":await BT(t);return;case"search":await LT(t);return;case"think":case"query":await UT(t);return;case"get":await FT(t);return;case"link":await VT(t);return;case"backlinks":await KT(t);return;case"act":await QT(t);return;case"hook":await YT(t);return;case"ingest-events":await GT(t);return;case"schedule-ingest":await HT(t);return;case"kpi":case"kpis":await JT(t);return;case"dashboard":await WT(t);return;case"outcome-event":await ZT(t);return;default:throw new Error(`unknown brain command: ${e}`)}}async function ZT(e){let[t,...r]=e;if(t!=="record")throw new Error("brain outcome-event requires subcommand: record");let n=Ke(r),o=await eP(),i=JSON.parse(o);if(!En(i))throw new Error("invalid brain outcome event");await ze(async({store:s})=>{we(await s.appendOutcomeEvent(i))},D(n,"root")??process.cwd())}async function BT(e){let t=Ke(e),r=(D(t,"title")??t._.join(" ").slice(0,80))||"Untitled artifact",n=D(t,"content")??(D(t,"file")?await OT(String(D(t,"file")),"utf8"):t._.join(" "));if(!n.trim())throw new Error("brain capture requires content, --content, or --file");await ze(async({store:o})=>{let i=await o.capture({title:r,content:n,kind:D(t,"kind")??"note",tags:XT(t,"tag"),sourceAgent:D(t,"agent"),sourceRunner:D(t,"runner"),sourceSession:D(t,"session"),sourcePath:process.cwd()});we(i)})}async function LT(e){let t=Ke(e),r=D(t,"query")??t._.join(" ");if(!r)throw new Error("brain search requires a query");let n=zn(t,"limit")??10;await ze(async({store:o})=>we(await o.search(r,n)))}async function UT(e){let t=Ke(e),r=D(t,"query")??t._.join(" ");if(!r)throw new Error("brain think requires a query");let n=zn(t,"limit")??8;await ze(async({store:o})=>{let i=await o.think(r,n);t.json===!0?we(i):console.log(i.answer)})}async function FT(e){let t=e[0];if(!t)throw new Error("brain get requires a rid or artifact id");await ze(async({store:r})=>{let n=await r.getArtifact(ai(t));if(!n)throw new Error(`Brain artifact not found: ${t}`);we(n)})}async function VT(e){let t=Ke(e),r=D(t,"from"),n=D(t,"to");if(!r||!n)throw new Error("brain link requires --from and --to");await ze(async({store:o})=>{we(await o.link({from:ai(r),to:ai(n),kind:D(t,"kind")??"related_to",reason:D(t,"reason")}))})}async function KT(e){let t=e[0];if(!t)throw new Error("brain backlinks requires a rid or artifact id");await ze(async({store:r})=>we(await r.backlinks(ai(t))))}async function HT(e){let t=Ke(e),r=D(t,"session-key")??D(t,"session"),n=zn(t,"limit"),o=await Dt.connect();try{await ze(async({config:i,store:s})=>{let a=D(t,"state")??py(i.rootDir,".red","brain","ingestion-state.json"),c=await ly(a),l=await uy({bridge:o,store:s,state:c,sessionKey:r??void 0,limit:n??void 0,sourceAgent:"brain.schedule-ingest"});await dy(a,l.state),we(l)})}finally{await o.close().catch(()=>{})}}async function GT(e){let t=Ke(e),r=D(t,"after-cursor")??D(t,"cursor"),n=D(t,"session-key")??D(t,"session"),o=zn(t,"limit"),i=await Dt.connect();try{await ze(async({store:s})=>{let a=await si({bridge:i,store:s,afterCursor:r??void 0,sessionKey:n??void 0,limit:o??void 0,sourceAgent:"brain.ingest-events"});we(a)})}finally{await i.close().catch(()=>{})}}async function JT(e){let t=Ke(e),r=D(t,"interval"),n=D(t,"group-by"),o=D(t,"time-field");await ze(async({store:i})=>{we(await i.eventKpis({interval:r,groupBy:n,timeField:o,from:D(t,"from"),to:D(t,"to"),platform:D(t,"platform"),eventType:D(t,"event-type"),target:D(t,"target")}))})}async function WT(e){let t=Ke(e),r=await ze(async({config:o,store:i,project:s})=>{let a=await sy(i,{project:s,rootDir:o.rootDir});return{dashboard:a,artifact:ay(a),defaultOut:py(o.rootDir,".red","brain","dashboard.html")}});if(t.json===!0){we(r.dashboard);return}if(t.serve===!0){let o=D(t,"host")??"127.0.0.1",i=zn(t,"port")??4738,s=await cy(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=D(t,"out")??r.defaultOut;await jT(MT(n),{recursive:!0}),await DT(n,r.artifact.html,"utf8"),console.log(`brain: dashboard written ${n}`)}async function QT(e){let t=Ke(e),r=D(t,"target")??t._[0],n=D(t,"message")??t._.slice(1).join(" ");if(!r)throw new Error("brain act requires --target <channel>");if(!n)throw new Error("brain act requires --message <text>");we(await ny({target:r,message:n}))}async function YT(e){let[t="SessionStart",...r]=e,n=Ke(r),o=D(n,"runner")??"unknown";we(await ey(t,o))}function ai(e){return/^\d+$/.test(e)?Number(e):e}function Ke(e){let t={_:[]};for(let r=0;r<e.length;r++){let n=e[r];if(!n.startsWith("--")){t._.push(n);continue}let o=n.slice(2),i=e[r+1],s=i&&!i.startsWith("--")?e[++r]:!0,a=t[o];a==null||a===!1?t[o]=s:Array.isArray(a)?a.push(String(s)):t[o]=[String(a),String(s)]}return t}function D(e,t){let r=e[t];if(typeof r=="string")return r;if(Array.isArray(r))return r[r.length-1]}function XT(e,t){let r=e[t];return typeof r=="string"?[r]:Array.isArray(r)?r:[]}function zn(e,t){let r=D(e,t);if(r==null)return;let n=Number(r);if(!Number.isFinite(n))throw new Error(`--${t} must be a number`);return n}function we(e){console.log(JSON.stringify(e,null,2))}async function eP(){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")}function tP(){console.log(`brain commands:
275
275
  init
276
276
  status
277
- capture [text] --title <title> --kind <${ts.join("|")}> --tag <tag>
277
+ capture [text] --title <title> --kind <${ri.join("|")}> --tag <tag>
278
278
  search <query> [--limit N]
279
279
  think <query> [--limit N] [--json]
280
280
  get <rid|id>
281
- link --from <rid|id> --to <rid|id> --kind <${rs.join("|")}>
281
+ link --from <rid|id> --to <rid|id> --kind <${ni.join("|")}>
282
282
  backlinks <rid|id>
283
283
  act --target <channel> --message <text>
284
284
  ingest-events [--after-cursor N] [--session-key KEY] [--limit N]
@@ -286,4 +286,4 @@ var cy=Object.create;var us=Object.defineProperty;var uy=Object.getOwnPropertyDe
286
286
  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]
287
287
  dashboard [--out PATH] [--json] [--serve] [--host 127.0.0.1] [--port 4738]
288
288
  outcome-event record [--root PATH] < event.json
289
- `)}xP().catch(e=>{console.error(e instanceof Error?e.message:String(e)),process.exit(1)});
289
+ `)}qT().catch(e=>{console.error(e instanceof Error?e.message:String(e)),process.exit(1)});