@ours.network/mcp 0.15.1 → 0.15.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.
package/dist/index.js CHANGED
@@ -1,46 +1,46 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
3
- var Jv=Object.create;var Sa=Object.defineProperty;var Kv=Object.getOwnPropertyDescriptor;var Wv=Object.getOwnPropertyNames;var Yv=Object.getPrototypeOf,Xv=Object.prototype.hasOwnProperty;var E=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ka=(t,e)=>{for(var r in e)Sa(t,r,{get:e[r],enumerable:!0})},Qv=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Wv(e))!Xv.call(t,o)&&o!==r&&Sa(t,o,{get:()=>e[o],enumerable:!(n=Kv(e,o))||n.enumerable});return t};var Lp=(t,e,r)=>(r=t!=null?Jv(Yv(t)):{},Qv(e||!t||!t.__esModule?Sa(r,"default",{value:t,enumerable:!0}):r,t));var Po=E(se=>{"use strict";Object.defineProperty(se,"__esModule",{value:!0});se.regexpCode=se.getEsmExportName=se.getProperty=se.safeStringify=se.stringify=se.strConcat=se.addCodeArg=se.str=se._=se.nil=se._Code=se.Name=se.IDENTIFIER=se._CodeOrName=void 0;var To=class{};se._CodeOrName=To;se.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var qr=class extends To{constructor(e){if(super(),!se.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};se.Name=qr;var ft=class extends To{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof qr&&(r[n.str]=(r[n.str]||0)+1),r),{})}};se._Code=ft;se.nil=new ft("");function Mh(t,...e){let r=[t[0]],n=0;for(;n<e.length;)sl(r,e[n]),r.push(t[++n]);return new ft(r)}se._=Mh;var ol=new ft("+");function Zh(t,...e){let r=[Eo(t[0])],n=0;for(;n<e.length;)r.push(ol),sl(r,e[n]),r.push(ol,Eo(t[++n]));return Q0(r),new ft(r)}se.str=Zh;function sl(t,e){e instanceof ft?t.push(...e._items):e instanceof qr?t.push(e):t.push(rS(e))}se.addCodeArg=sl;function Q0(t){let e=1;for(;e<t.length-1;){if(t[e]===ol){let r=eS(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function eS(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof qr||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof qr))return`"${t}${e.slice(1)}`}function tS(t,e){return e.emptyStr()?t:t.emptyStr()?e:Zh`${t}${e}`}se.strConcat=tS;function rS(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:Eo(Array.isArray(t)?t.join(","):t)}function nS(t){return new ft(Eo(t))}se.stringify=nS;function Eo(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}se.safeStringify=Eo;function oS(t){return typeof t=="string"&&se.IDENTIFIER.test(t)?new ft(`.${t}`):Mh`[${t}]`}se.getProperty=oS;function sS(t){if(typeof t=="string"&&se.IDENTIFIER.test(t))return new ft(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}se.getEsmExportName=sS;function iS(t){return new ft(t.toString())}se.regexpCode=iS});var cl=E(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.ValueScope=Xe.ValueScopeName=Xe.Scope=Xe.varKinds=Xe.UsedValueState=void 0;var Ye=Po(),il=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},yi;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(yi||(Xe.UsedValueState=yi={}));Xe.varKinds={const:new Ye.Name("const"),let:new Ye.Name("let"),var:new Ye.Name("var")};var _i=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof Ye.Name?e:this.name(e)}name(e){return new Ye.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};Xe.Scope=_i;var vi=class extends Ye.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,Ye._)`.${new Ye.Name(r)}[${n}]`}};Xe.ValueScopeName=vi;var aS=(0,Ye._)`\n`,al=class extends _i{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?aS:Ye.nil}}get(){return this._scope}name(e){return new vi(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let o=this.toName(e),{prefix:s}=o,i=(n=r.key)!==null&&n!==void 0?n:r.ref,a=this._values[s];if(a){let l=a.get(i);if(l)return l}else a=this._values[s]=new Map;a.set(i,o);let c=this._scope[s]||(this._scope[s]=[]),u=c.length;return c[u]=r.ref,o.setValue(r,{property:s,itemIndex:u}),o}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,Ye._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},r,n)}_reduceValues(e,r,n={},o){let s=Ye.nil;for(let i in e){let a=e[i];if(!a)continue;let c=n[i]=n[i]||new Map;a.forEach(u=>{if(c.has(u))return;c.set(u,yi.Started);let l=r(u);if(l){let d=this.opts.es5?Xe.varKinds.var:Xe.varKinds.const;s=(0,Ye._)`${s}${d} ${u} = ${l};${this.opts._n}`}else if(l=o?.(u))s=(0,Ye._)`${s}${l}${this.opts._n}`;else throw new il(u);c.set(u,yi.Completed)})}return s}};Xe.ValueScope=al});var K=E(W=>{"use strict";Object.defineProperty(W,"__esModule",{value:!0});W.or=W.and=W.not=W.CodeGen=W.operators=W.varKinds=W.ValueScopeName=W.ValueScope=W.Scope=W.Name=W.regexpCode=W.stringify=W.getProperty=W.nil=W.strConcat=W.str=W._=void 0;var re=Po(),xt=cl(),ar=Po();Object.defineProperty(W,"_",{enumerable:!0,get:function(){return ar._}});Object.defineProperty(W,"str",{enumerable:!0,get:function(){return ar.str}});Object.defineProperty(W,"strConcat",{enumerable:!0,get:function(){return ar.strConcat}});Object.defineProperty(W,"nil",{enumerable:!0,get:function(){return ar.nil}});Object.defineProperty(W,"getProperty",{enumerable:!0,get:function(){return ar.getProperty}});Object.defineProperty(W,"stringify",{enumerable:!0,get:function(){return ar.stringify}});Object.defineProperty(W,"regexpCode",{enumerable:!0,get:function(){return ar.regexpCode}});Object.defineProperty(W,"Name",{enumerable:!0,get:function(){return ar.Name}});var xi=cl();Object.defineProperty(W,"Scope",{enumerable:!0,get:function(){return xi.Scope}});Object.defineProperty(W,"ValueScope",{enumerable:!0,get:function(){return xi.ValueScope}});Object.defineProperty(W,"ValueScopeName",{enumerable:!0,get:function(){return xi.ValueScopeName}});Object.defineProperty(W,"varKinds",{enumerable:!0,get:function(){return xi.varKinds}});W.operators={GT:new re._Code(">"),GTE:new re._Code(">="),LT:new re._Code("<"),LTE:new re._Code("<="),EQ:new re._Code("==="),NEQ:new re._Code("!=="),NOT:new re._Code("!"),OR:new re._Code("||"),AND:new re._Code("&&"),ADD:new re._Code("+")};var Bt=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},ul=class extends Bt{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?xt.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=Rn(this.rhs,e,r)),this}get names(){return this.rhs instanceof re._CodeOrName?this.rhs.names:{}}},bi=class extends Bt{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof re.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=Rn(this.rhs,e,r),this}get names(){let e=this.lhs instanceof re.Name?{}:{...this.lhs.names};return $i(e,this.rhs)}},ll=class extends bi{constructor(e,r,n,o){super(e,n,o),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},dl=class extends Bt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},pl=class extends Bt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},fl=class extends Bt{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},ml=class extends Bt{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=Rn(this.code,e,r),this}get names(){return this.code instanceof re._CodeOrName?this.code.names:{}}},Io=class extends Bt{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,o=n.length;for(;o--;){let s=n[o];s.optimizeNames(e,r)||(cS(e,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>Ur(e,r.names),{})}},Ht=class extends Io{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},hl=class extends Io{},kn=class extends Ht{};kn.kind="else";var Vr=class t extends Ht{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new kn(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(Dh(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=Rn(this.condition,e,r),this}get names(){let e=super.names;return $i(e,this.condition),this.else&&Ur(e,this.else.names),e}};Vr.kind="if";var Lr=class extends Ht{};Lr.kind="for";var gl=class extends Lr{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=Rn(this.iteration,e,r),this}get names(){return Ur(super.names,this.iteration.names)}},yl=class extends Lr{constructor(e,r,n,o){super(),this.varKind=e,this.name=r,this.from=n,this.to=o}render(e){let r=e.es5?xt.varKinds.var:this.varKind,{name:n,from:o,to:s}=this;return`for(${r} ${n}=${o}; ${n}<${s}; ${n}++)`+super.render(e)}get names(){let e=$i(super.names,this.from);return $i(e,this.to)}},wi=class extends Lr{constructor(e,r,n,o){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=o}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=Rn(this.iterable,e,r),this}get names(){return Ur(super.names,this.iterable.names)}},Oo=class extends Ht{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};Oo.kind="func";var No=class extends Io{render(e){return"return "+super.render(e)}};No.kind="return";var _l=class extends Ht{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,o;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(o=this.finally)===null||o===void 0||o.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&Ur(e,this.catch.names),this.finally&&Ur(e,this.finally.names),e}},Ao=class extends Ht{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};Ao.kind="catch";var Co=class extends Ht{render(e){return"finally"+super.render(e)}};Co.kind="finally";var vl=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
4
- `:""},this._extScope=e,this._scope=new xt.Scope({parent:e}),this._nodes=[new hl]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,o){let s=this._scope.toName(r);return n!==void 0&&o&&(this._constants[s.str]=n),this._leafNode(new ul(e,s,n)),s}const(e,r,n){return this._def(xt.varKinds.const,e,r,n)}let(e,r,n){return this._def(xt.varKinds.let,e,r,n)}var(e,r,n){return this._def(xt.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new bi(e,r,n))}add(e,r){return this._leafNode(new ll(e,W.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==re.nil&&this._leafNode(new ml(e)),this}object(...e){let r=["{"];for(let[n,o]of e)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,re.addCodeArg)(r,o));return r.push("}"),new re._Code(r)}if(e,r,n){if(this._blockNode(new Vr(e)),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(e){return this._elseNode(new Vr(e))}else(){return this._elseNode(new kn)}endIf(){return this._endBlockNode(Vr,kn)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new gl(e),r)}forRange(e,r,n,o,s=this.opts.es5?xt.varKinds.var:xt.varKinds.let){let i=this._scope.toName(e);return this._for(new yl(s,i,r,n),()=>o(i))}forOf(e,r,n,o=xt.varKinds.const){let s=this._scope.toName(e);if(this.opts.es5){let i=r instanceof re.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,re._)`${i}.length`,a=>{this.var(s,(0,re._)`${i}[${a}]`),n(s)})}return this._for(new wi("of",o,s,r),()=>n(s))}forIn(e,r,n,o=this.opts.es5?xt.varKinds.var:xt.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,re._)`Object.keys(${r})`,n);let s=this._scope.toName(e);return this._for(new wi("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(Lr)}label(e){return this._leafNode(new dl(e))}break(e){return this._leafNode(new pl(e))}return(e){let r=new No;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(No)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new _l;if(this._blockNode(o),this.code(e),r){let s=this.name("e");this._currNode=o.catch=new Ao(s),r(s)}return n&&(this._currNode=o.finally=new Co,this.code(n)),this._endBlockNode(Ao,Co)}throw(e){return this._leafNode(new fl(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){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||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=re.nil,n,o){return this._blockNode(new Oo(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(Oo)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof Vr))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};W.CodeGen=vl;function Ur(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function $i(t,e){return e instanceof re._CodeOrName?Ur(t,e.names):t}function Rn(t,e,r){if(t instanceof re.Name)return n(t);if(!o(t))return t;return new re._Code(t._items.reduce((s,i)=>(i instanceof re.Name&&(i=n(i)),i instanceof re._Code?s.push(...i._items):s.push(i),s),[]));function n(s){let i=r[s.str];return i===void 0||e[s.str]!==1?s:(delete e[s.str],i)}function o(s){return s instanceof re._Code&&s._items.some(i=>i instanceof re.Name&&e[i.str]===1&&r[i.str]!==void 0)}}function cS(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function Dh(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,re._)`!${bl(t)}`}W.not=Dh;var uS=qh(W.operators.AND);function lS(...t){return t.reduce(uS)}W.and=lS;var dS=qh(W.operators.OR);function pS(...t){return t.reduce(dS)}W.or=pS;function qh(t){return(e,r)=>e===re.nil?r:r===re.nil?e:(0,re._)`${bl(e)} ${t} ${bl(r)}`}function bl(t){return t instanceof re.Name?t:(0,re._)`(${t})`}});var ne=E(Y=>{"use strict";Object.defineProperty(Y,"__esModule",{value:!0});Y.checkStrictMode=Y.getErrorPath=Y.Type=Y.useFunc=Y.setEvaluated=Y.evaluatedPropsToName=Y.mergeEvaluated=Y.eachItem=Y.unescapeJsonPointer=Y.escapeJsonPointer=Y.escapeFragment=Y.unescapeFragment=Y.schemaRefOrVal=Y.schemaHasRulesButRef=Y.schemaHasRules=Y.checkUnknownRules=Y.alwaysValidSchema=Y.toHash=void 0;var le=K(),fS=Po();function mS(t){let e={};for(let r of t)e[r]=!0;return e}Y.toHash=mS;function hS(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(Uh(t,e),!Fh(e,t.self.RULES.all))}Y.alwaysValidSchema=hS;function Uh(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let o=n.RULES.keywords;for(let s in e)o[s]||Gh(t,`unknown keyword: "${s}"`)}Y.checkUnknownRules=Uh;function Fh(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}Y.schemaHasRules=Fh;function gS(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}Y.schemaHasRulesButRef=gS;function yS({topSchemaRef:t,schemaPath:e},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,le._)`${r}`}return(0,le._)`${t}${e}${(0,le.getProperty)(n)}`}Y.schemaRefOrVal=yS;function _S(t){return Bh(decodeURIComponent(t))}Y.unescapeFragment=_S;function vS(t){return encodeURIComponent($l(t))}Y.escapeFragment=vS;function $l(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}Y.escapeJsonPointer=$l;function Bh(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}Y.unescapeJsonPointer=Bh;function bS(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}Y.eachItem=bS;function Vh({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof le.Name?(s instanceof le.Name?t(o,s,i):e(o,s,i),i):s instanceof le.Name?(e(o,i,s),s):r(s,i);return a===le.Name&&!(c instanceof le.Name)?n(o,c):c}}Y.mergeEvaluated={props:Vh({mergeNames:(t,e,r)=>t.if((0,le._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,le._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,le._)`${r} || {}`).code((0,le._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,le._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,le._)`${r} || {}`),xl(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:Hh}),items:Vh({mergeNames:(t,e,r)=>t.if((0,le._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,le._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,le._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,le._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function Hh(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,le._)`{}`);return e!==void 0&&xl(t,r,e),r}Y.evaluatedPropsToName=Hh;function xl(t,e,r){Object.keys(r).forEach(n=>t.assign((0,le._)`${e}${(0,le.getProperty)(n)}`,!0))}Y.setEvaluated=xl;var Lh={};function wS(t,e){return t.scopeValue("func",{ref:e,code:Lh[e.code]||(Lh[e.code]=new fS._Code(e.code))})}Y.useFunc=wS;var wl;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(wl||(Y.Type=wl={}));function $S(t,e,r){if(t instanceof le.Name){let n=e===wl.Num;return r?n?(0,le._)`"[" + ${t} + "]"`:(0,le._)`"['" + ${t} + "']"`:n?(0,le._)`"/" + ${t}`:(0,le._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,le.getProperty)(t).toString():"/"+$l(t)}Y.getErrorPath=$S;function Gh(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}Y.checkStrictMode=Gh});var Gt=E(Sl=>{"use strict";Object.defineProperty(Sl,"__esModule",{value:!0});var Ze=K(),xS={data:new Ze.Name("data"),valCxt:new Ze.Name("valCxt"),instancePath:new Ze.Name("instancePath"),parentData:new Ze.Name("parentData"),parentDataProperty:new Ze.Name("parentDataProperty"),rootData:new Ze.Name("rootData"),dynamicAnchors:new Ze.Name("dynamicAnchors"),vErrors:new Ze.Name("vErrors"),errors:new Ze.Name("errors"),this:new Ze.Name("this"),self:new Ze.Name("self"),scope:new Ze.Name("scope"),json:new Ze.Name("json"),jsonPos:new Ze.Name("jsonPos"),jsonLen:new Ze.Name("jsonLen"),jsonPart:new Ze.Name("jsonPart")};Sl.default=xS});var jo=E(De=>{"use strict";Object.defineProperty(De,"__esModule",{value:!0});De.extendErrors=De.resetErrorsCount=De.reportExtraError=De.reportError=De.keyword$DataError=De.keywordError=void 0;var oe=K(),Si=ne(),Fe=Gt();De.keywordError={message:({keyword:t})=>(0,oe.str)`must pass "${t}" keyword validation`};De.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,oe.str)`"${t}" keyword must be ${e} ($data)`:(0,oe.str)`"${t}" keyword is invalid ($data)`};function SS(t,e=De.keywordError,r,n){let{it:o}=t,{gen:s,compositeRule:i,allErrors:a}=o,c=Wh(t,e,r);n??(i||a)?Jh(s,c):Kh(o,(0,oe._)`[${c}]`)}De.reportError=SS;function kS(t,e=De.keywordError,r){let{it:n}=t,{gen:o,compositeRule:s,allErrors:i}=n,a=Wh(t,e,r);Jh(o,a),s||i||Kh(n,Fe.default.vErrors)}De.reportExtraError=kS;function RS(t,e){t.assign(Fe.default.errors,e),t.if((0,oe._)`${Fe.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,oe._)`${Fe.default.vErrors}.length`,e),()=>t.assign(Fe.default.vErrors,null)))}De.resetErrorsCount=RS;function zS({gen:t,keyword:e,schemaValue:r,data:n,errsCount:o,it:s}){if(o===void 0)throw new Error("ajv implementation error");let i=t.name("err");t.forRange("i",o,Fe.default.errors,a=>{t.const(i,(0,oe._)`${Fe.default.vErrors}[${a}]`),t.if((0,oe._)`${i}.instancePath === undefined`,()=>t.assign((0,oe._)`${i}.instancePath`,(0,oe.strConcat)(Fe.default.instancePath,s.errorPath))),t.assign((0,oe._)`${i}.schemaPath`,(0,oe.str)`${s.errSchemaPath}/${e}`),s.opts.verbose&&(t.assign((0,oe._)`${i}.schema`,r),t.assign((0,oe._)`${i}.data`,n))})}De.extendErrors=zS;function Jh(t,e){let r=t.const("err",e);t.if((0,oe._)`${Fe.default.vErrors} === null`,()=>t.assign(Fe.default.vErrors,(0,oe._)`[${r}]`),(0,oe._)`${Fe.default.vErrors}.push(${r})`),t.code((0,oe._)`${Fe.default.errors}++`)}function Kh(t,e){let{gen:r,validateName:n,schemaEnv:o}=t;o.$async?r.throw((0,oe._)`new ${t.ValidationError}(${e})`):(r.assign((0,oe._)`${n}.errors`,e),r.return(!1))}var Fr={keyword:new oe.Name("keyword"),schemaPath:new oe.Name("schemaPath"),params:new oe.Name("params"),propertyName:new oe.Name("propertyName"),message:new oe.Name("message"),schema:new oe.Name("schema"),parentSchema:new oe.Name("parentSchema")};function Wh(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,oe._)`{}`:TS(t,e,r)}function TS(t,e,r={}){let{gen:n,it:o}=t,s=[ES(o,r),PS(t,r)];return IS(t,e,s),n.object(...s)}function ES({errorPath:t},{instancePath:e}){let r=e?(0,oe.str)`${t}${(0,Si.getErrorPath)(e,Si.Type.Str)}`:t;return[Fe.default.instancePath,(0,oe.strConcat)(Fe.default.instancePath,r)]}function PS({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let o=n?e:(0,oe.str)`${e}/${t}`;return r&&(o=(0,oe.str)`${o}${(0,Si.getErrorPath)(r,Si.Type.Str)}`),[Fr.schemaPath,o]}function IS(t,{params:e,message:r},n){let{keyword:o,data:s,schemaValue:i,it:a}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=a;n.push([Fr.keyword,o],[Fr.params,typeof e=="function"?e(t):e||(0,oe._)`{}`]),c.messages&&n.push([Fr.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([Fr.schema,i],[Fr.parentSchema,(0,oe._)`${l}${d}`],[Fe.default.data,s]),u&&n.push([Fr.propertyName,u])}});var Xh=E(zn=>{"use strict";Object.defineProperty(zn,"__esModule",{value:!0});zn.boolOrEmptySchema=zn.topBoolOrEmptySchema=void 0;var OS=jo(),NS=K(),AS=Gt(),CS={message:"boolean schema is false"};function jS(t){let{gen:e,schema:r,validateName:n}=t;r===!1?Yh(t,!1):typeof r=="object"&&r.$async===!0?e.return(AS.default.data):(e.assign((0,NS._)`${n}.errors`,null),e.return(!0))}zn.topBoolOrEmptySchema=jS;function MS(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),Yh(t)):r.var(e,!0)}zn.boolOrEmptySchema=MS;function Yh(t,e){let{gen:r,data:n}=t,o={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,OS.reportError)(o,CS,void 0,e)}});var kl=E(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.getRules=Tn.isJSONType=void 0;var ZS=["string","number","integer","boolean","null","object","array"],DS=new Set(ZS);function qS(t){return typeof t=="string"&&DS.has(t)}Tn.isJSONType=qS;function VS(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}Tn.getRules=VS});var Rl=E(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.shouldUseRule=cr.shouldUseGroup=cr.schemaHasRulesForType=void 0;function LS({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&Qh(t,n)}cr.schemaHasRulesForType=LS;function Qh(t,e){return e.rules.some(r=>eg(t,r))}cr.shouldUseGroup=Qh;function eg(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}cr.shouldUseRule=eg});var Mo=E(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.reportTypeError=qe.checkDataTypes=qe.checkDataType=qe.coerceAndCheckDataType=qe.getJSONTypes=qe.getSchemaTypes=qe.DataType=void 0;var US=kl(),FS=Rl(),BS=jo(),G=K(),tg=ne(),En;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(En||(qe.DataType=En={}));function HS(t){let e=rg(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}qe.getSchemaTypes=HS;function rg(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(US.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}qe.getJSONTypes=rg;function GS(t,e){let{gen:r,data:n,opts:o}=t,s=JS(e,o.coerceTypes),i=e.length>0&&!(s.length===0&&e.length===1&&(0,FS.schemaHasRulesForType)(t,e[0]));if(i){let a=Tl(e,n,o.strictNumbers,En.Wrong);r.if(a,()=>{s.length?KS(t,e,s):El(t)})}return i}qe.coerceAndCheckDataType=GS;var ng=new Set(["string","number","integer","boolean","null"]);function JS(t,e){return e?t.filter(r=>ng.has(r)||e==="array"&&r==="array"):[]}function KS(t,e,r){let{gen:n,data:o,opts:s}=t,i=n.let("dataType",(0,G._)`typeof ${o}`),a=n.let("coerced",(0,G._)`undefined`);s.coerceTypes==="array"&&n.if((0,G._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,G._)`${o}[0]`).assign(i,(0,G._)`typeof ${o}`).if(Tl(e,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,G._)`${a} !== undefined`);for(let u of r)(ng.has(u)||u==="array"&&s.coerceTypes==="array")&&c(u);n.else(),El(t),n.endIf(),n.if((0,G._)`${a} !== undefined`,()=>{n.assign(o,a),WS(t,a)});function c(u){switch(u){case"string":n.elseIf((0,G._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,G._)`"" + ${o}`).elseIf((0,G._)`${o} === null`).assign(a,(0,G._)`""`);return;case"number":n.elseIf((0,G._)`${i} == "boolean" || ${o} === null
3
+ var Kv=Object.create;var ka=Object.defineProperty;var Wv=Object.getOwnPropertyDescriptor;var Yv=Object.getOwnPropertyNames;var Xv=Object.getPrototypeOf,Qv=Object.prototype.hasOwnProperty;var E=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ra=(t,e)=>{for(var r in e)ka(t,r,{get:e[r],enumerable:!0})},eb=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Yv(e))!Qv.call(t,o)&&o!==r&&ka(t,o,{get:()=>e[o],enumerable:!(n=Wv(e,o))||n.enumerable});return t};var Up=(t,e,r)=>(r=t!=null?Kv(Xv(t)):{},eb(e||!t||!t.__esModule?ka(r,"default",{value:t,enumerable:!0}):r,t));var Io=E(se=>{"use strict";Object.defineProperty(se,"__esModule",{value:!0});se.regexpCode=se.getEsmExportName=se.getProperty=se.safeStringify=se.stringify=se.strConcat=se.addCodeArg=se.str=se._=se.nil=se._Code=se.Name=se.IDENTIFIER=se._CodeOrName=void 0;var Eo=class{};se._CodeOrName=Eo;se.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Lr=class extends Eo{constructor(e){if(super(),!se.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};se.Name=Lr;var mt=class extends Eo{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof Lr&&(r[n.str]=(r[n.str]||0)+1),r),{})}};se._Code=mt;se.nil=new mt("");function Zh(t,...e){let r=[t[0]],n=0;for(;n<e.length;)il(r,e[n]),r.push(t[++n]);return new mt(r)}se._=Zh;var sl=new mt("+");function Dh(t,...e){let r=[Po(t[0])],n=0;for(;n<e.length;)r.push(sl),il(r,e[n]),r.push(sl,Po(t[++n]));return eS(r),new mt(r)}se.str=Dh;function il(t,e){e instanceof mt?t.push(...e._items):e instanceof Lr?t.push(e):t.push(nS(e))}se.addCodeArg=il;function eS(t){let e=1;for(;e<t.length-1;){if(t[e]===sl){let r=tS(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function tS(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof Lr||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof Lr))return`"${t}${e.slice(1)}`}function rS(t,e){return e.emptyStr()?t:t.emptyStr()?e:Dh`${t}${e}`}se.strConcat=rS;function nS(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:Po(Array.isArray(t)?t.join(","):t)}function oS(t){return new mt(Po(t))}se.stringify=oS;function Po(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}se.safeStringify=Po;function sS(t){return typeof t=="string"&&se.IDENTIFIER.test(t)?new mt(`.${t}`):Zh`[${t}]`}se.getProperty=sS;function iS(t){if(typeof t=="string"&&se.IDENTIFIER.test(t))return new mt(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}se.getEsmExportName=iS;function aS(t){return new mt(t.toString())}se.regexpCode=aS});var ul=E(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.ValueScope=et.ValueScopeName=et.Scope=et.varKinds=et.UsedValueState=void 0;var Qe=Io(),al=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},_i;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(_i||(et.UsedValueState=_i={}));et.varKinds={const:new Qe.Name("const"),let:new Qe.Name("let"),var:new Qe.Name("var")};var vi=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof Qe.Name?e:this.name(e)}name(e){return new Qe.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return`${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};et.Scope=vi;var bi=class extends Qe.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,Qe._)`.${new Qe.Name(r)}[${n}]`}};et.ValueScopeName=bi;var cS=(0,Qe._)`\n`,cl=class extends vi{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?cS:Qe.nil}}get(){return this._scope}name(e){return new bi(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let o=this.toName(e),{prefix:s}=o,i=(n=r.key)!==null&&n!==void 0?n:r.ref,a=this._values[s];if(a){let l=a.get(i);if(l)return l}else a=this._values[s]=new Map;a.set(i,o);let c=this._scope[s]||(this._scope[s]=[]),u=c.length;return c[u]=r.ref,o.setValue(r,{property:s,itemIndex:u}),o}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,Qe._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},r,n)}_reduceValues(e,r,n={},o){let s=Qe.nil;for(let i in e){let a=e[i];if(!a)continue;let c=n[i]=n[i]||new Map;a.forEach(u=>{if(c.has(u))return;c.set(u,_i.Started);let l=r(u);if(l){let d=this.opts.es5?et.varKinds.var:et.varKinds.const;s=(0,Qe._)`${s}${d} ${u} = ${l};${this.opts._n}`}else if(l=o?.(u))s=(0,Qe._)`${s}${l}${this.opts._n}`;else throw new al(u);c.set(u,_i.Completed)})}return s}};et.ValueScope=cl});var K=E(W=>{"use strict";Object.defineProperty(W,"__esModule",{value:!0});W.or=W.and=W.not=W.CodeGen=W.operators=W.varKinds=W.ValueScopeName=W.ValueScope=W.Scope=W.Name=W.regexpCode=W.stringify=W.getProperty=W.nil=W.strConcat=W.str=W._=void 0;var re=Io(),St=ul(),ur=Io();Object.defineProperty(W,"_",{enumerable:!0,get:function(){return ur._}});Object.defineProperty(W,"str",{enumerable:!0,get:function(){return ur.str}});Object.defineProperty(W,"strConcat",{enumerable:!0,get:function(){return ur.strConcat}});Object.defineProperty(W,"nil",{enumerable:!0,get:function(){return ur.nil}});Object.defineProperty(W,"getProperty",{enumerable:!0,get:function(){return ur.getProperty}});Object.defineProperty(W,"stringify",{enumerable:!0,get:function(){return ur.stringify}});Object.defineProperty(W,"regexpCode",{enumerable:!0,get:function(){return ur.regexpCode}});Object.defineProperty(W,"Name",{enumerable:!0,get:function(){return ur.Name}});var Si=ul();Object.defineProperty(W,"Scope",{enumerable:!0,get:function(){return Si.Scope}});Object.defineProperty(W,"ValueScope",{enumerable:!0,get:function(){return Si.ValueScope}});Object.defineProperty(W,"ValueScopeName",{enumerable:!0,get:function(){return Si.ValueScopeName}});Object.defineProperty(W,"varKinds",{enumerable:!0,get:function(){return Si.varKinds}});W.operators={GT:new re._Code(">"),GTE:new re._Code(">="),LT:new re._Code("<"),LTE:new re._Code("<="),EQ:new re._Code("==="),NEQ:new re._Code("!=="),NOT:new re._Code("!"),OR:new re._Code("||"),AND:new re._Code("&&"),ADD:new re._Code("+")};var Gt=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},ll=class extends Gt{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?St.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=Tn(this.rhs,e,r)),this}get names(){return this.rhs instanceof re._CodeOrName?this.rhs.names:{}}},wi=class extends Gt{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof re.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=Tn(this.rhs,e,r),this}get names(){let e=this.lhs instanceof re.Name?{}:{...this.lhs.names};return xi(e,this.rhs)}},dl=class extends wi{constructor(e,r,n,o){super(e,n,o),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},pl=class extends Gt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},fl=class extends Gt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},ml=class extends Gt{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},hl=class extends Gt{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,r){return this.code=Tn(this.code,e,r),this}get names(){return this.code instanceof re._CodeOrName?this.code.names:{}}},Oo=class extends Gt{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1)}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,o=n.length;for(;o--;){let s=n[o];s.optimizeNames(e,r)||(uS(e,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>Br(e,r.names),{})}},Jt=class extends Oo{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},gl=class extends Oo{},Rn=class extends Jt{};Rn.kind="else";var Ur=class t extends Jt{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new Rn(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(qh(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=Tn(this.condition,e,r),this}get names(){let e=super.names;return xi(e,this.condition),this.else&&Br(e,this.else.names),e}};Ur.kind="if";var Fr=class extends Jt{};Fr.kind="for";var yl=class extends Fr{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=Tn(this.iteration,e,r),this}get names(){return Br(super.names,this.iteration.names)}},_l=class extends Fr{constructor(e,r,n,o){super(),this.varKind=e,this.name=r,this.from=n,this.to=o}render(e){let r=e.es5?St.varKinds.var:this.varKind,{name:n,from:o,to:s}=this;return`for(${r} ${n}=${o}; ${n}<${s}; ${n}++)`+super.render(e)}get names(){let e=xi(super.names,this.from);return xi(e,this.to)}},$i=class extends Fr{constructor(e,r,n,o){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=o}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=Tn(this.iterable,e,r),this}get names(){return Br(super.names,this.iterable.names)}},No=class extends Jt{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};No.kind="func";var Ao=class extends Oo{render(e){return"return "+super.render(e)}};Ao.kind="return";var vl=class extends Jt{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,o;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(o=this.finally)===null||o===void 0||o.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&Br(e,this.catch.names),this.finally&&Br(e,this.finally.names),e}},Co=class extends Jt{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};Co.kind="catch";var jo=class extends Jt{render(e){return"finally"+super.render(e)}};jo.kind="finally";var bl=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
4
+ `:""},this._extScope=e,this._scope=new St.Scope({parent:e}),this._nodes=[new gl]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,o){let s=this._scope.toName(r);return n!==void 0&&o&&(this._constants[s.str]=n),this._leafNode(new ll(e,s,n)),s}const(e,r,n){return this._def(St.varKinds.const,e,r,n)}let(e,r,n){return this._def(St.varKinds.let,e,r,n)}var(e,r,n){return this._def(St.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new wi(e,r,n))}add(e,r){return this._leafNode(new dl(e,W.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==re.nil&&this._leafNode(new hl(e)),this}object(...e){let r=["{"];for(let[n,o]of e)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,re.addCodeArg)(r,o));return r.push("}"),new re._Code(r)}if(e,r,n){if(this._blockNode(new Ur(e)),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(e){return this._elseNode(new Ur(e))}else(){return this._elseNode(new Rn)}endIf(){return this._endBlockNode(Ur,Rn)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new yl(e),r)}forRange(e,r,n,o,s=this.opts.es5?St.varKinds.var:St.varKinds.let){let i=this._scope.toName(e);return this._for(new _l(s,i,r,n),()=>o(i))}forOf(e,r,n,o=St.varKinds.const){let s=this._scope.toName(e);if(this.opts.es5){let i=r instanceof re.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,re._)`${i}.length`,a=>{this.var(s,(0,re._)`${i}[${a}]`),n(s)})}return this._for(new $i("of",o,s,r),()=>n(s))}forIn(e,r,n,o=this.opts.es5?St.varKinds.var:St.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,re._)`Object.keys(${r})`,n);let s=this._scope.toName(e);return this._for(new $i("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(Fr)}label(e){return this._leafNode(new pl(e))}break(e){return this._leafNode(new fl(e))}return(e){let r=new Ao;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Ao)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new vl;if(this._blockNode(o),this.code(e),r){let s=this.name("e");this._currNode=o.catch=new Co(s),r(s)}return n&&(this._currNode=o.finally=new jo,this.code(n)),this._endBlockNode(Co,jo)}throw(e){return this._leafNode(new ml(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){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||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=re.nil,n,o){return this._blockNode(new No(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(No)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof Ur))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e}};W.CodeGen=bl;function Br(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function xi(t,e){return e instanceof re._CodeOrName?Br(t,e.names):t}function Tn(t,e,r){if(t instanceof re.Name)return n(t);if(!o(t))return t;return new re._Code(t._items.reduce((s,i)=>(i instanceof re.Name&&(i=n(i)),i instanceof re._Code?s.push(...i._items):s.push(i),s),[]));function n(s){let i=r[s.str];return i===void 0||e[s.str]!==1?s:(delete e[s.str],i)}function o(s){return s instanceof re._Code&&s._items.some(i=>i instanceof re.Name&&e[i.str]===1&&r[i.str]!==void 0)}}function uS(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function qh(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,re._)`!${wl(t)}`}W.not=qh;var lS=Vh(W.operators.AND);function dS(...t){return t.reduce(lS)}W.and=dS;var pS=Vh(W.operators.OR);function fS(...t){return t.reduce(pS)}W.or=fS;function Vh(t){return(e,r)=>e===re.nil?r:r===re.nil?e:(0,re._)`${wl(e)} ${t} ${wl(r)}`}function wl(t){return t instanceof re.Name?t:(0,re._)`(${t})`}});var ne=E(Y=>{"use strict";Object.defineProperty(Y,"__esModule",{value:!0});Y.checkStrictMode=Y.getErrorPath=Y.Type=Y.useFunc=Y.setEvaluated=Y.evaluatedPropsToName=Y.mergeEvaluated=Y.eachItem=Y.unescapeJsonPointer=Y.escapeJsonPointer=Y.escapeFragment=Y.unescapeFragment=Y.schemaRefOrVal=Y.schemaHasRulesButRef=Y.schemaHasRules=Y.checkUnknownRules=Y.alwaysValidSchema=Y.toHash=void 0;var le=K(),mS=Io();function hS(t){let e={};for(let r of t)e[r]=!0;return e}Y.toHash=hS;function gS(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(Fh(t,e),!Bh(e,t.self.RULES.all))}Y.alwaysValidSchema=gS;function Fh(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let o=n.RULES.keywords;for(let s in e)o[s]||Jh(t,`unknown keyword: "${s}"`)}Y.checkUnknownRules=Fh;function Bh(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}Y.schemaHasRules=Bh;function yS(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}Y.schemaHasRulesButRef=yS;function _S({topSchemaRef:t,schemaPath:e},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,le._)`${r}`}return(0,le._)`${t}${e}${(0,le.getProperty)(n)}`}Y.schemaRefOrVal=_S;function vS(t){return Hh(decodeURIComponent(t))}Y.unescapeFragment=vS;function bS(t){return encodeURIComponent(xl(t))}Y.escapeFragment=bS;function xl(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}Y.escapeJsonPointer=xl;function Hh(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}Y.unescapeJsonPointer=Hh;function wS(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}Y.eachItem=wS;function Lh({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof le.Name?(s instanceof le.Name?t(o,s,i):e(o,s,i),i):s instanceof le.Name?(e(o,i,s),s):r(s,i);return a===le.Name&&!(c instanceof le.Name)?n(o,c):c}}Y.mergeEvaluated={props:Lh({mergeNames:(t,e,r)=>t.if((0,le._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,le._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,le._)`${r} || {}`).code((0,le._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,le._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,le._)`${r} || {}`),Sl(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:Gh}),items:Lh({mergeNames:(t,e,r)=>t.if((0,le._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,le._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,le._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,le._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function Gh(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,le._)`{}`);return e!==void 0&&Sl(t,r,e),r}Y.evaluatedPropsToName=Gh;function Sl(t,e,r){Object.keys(r).forEach(n=>t.assign((0,le._)`${e}${(0,le.getProperty)(n)}`,!0))}Y.setEvaluated=Sl;var Uh={};function $S(t,e){return t.scopeValue("func",{ref:e,code:Uh[e.code]||(Uh[e.code]=new mS._Code(e.code))})}Y.useFunc=$S;var $l;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})($l||(Y.Type=$l={}));function xS(t,e,r){if(t instanceof le.Name){let n=e===$l.Num;return r?n?(0,le._)`"[" + ${t} + "]"`:(0,le._)`"['" + ${t} + "']"`:n?(0,le._)`"/" + ${t}`:(0,le._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,le.getProperty)(t).toString():"/"+xl(t)}Y.getErrorPath=xS;function Jh(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}Y.checkStrictMode=Jh});var Kt=E(kl=>{"use strict";Object.defineProperty(kl,"__esModule",{value:!0});var Ve=K(),SS={data:new Ve.Name("data"),valCxt:new Ve.Name("valCxt"),instancePath:new Ve.Name("instancePath"),parentData:new Ve.Name("parentData"),parentDataProperty:new Ve.Name("parentDataProperty"),rootData:new Ve.Name("rootData"),dynamicAnchors:new Ve.Name("dynamicAnchors"),vErrors:new Ve.Name("vErrors"),errors:new Ve.Name("errors"),this:new Ve.Name("this"),self:new Ve.Name("self"),scope:new Ve.Name("scope"),json:new Ve.Name("json"),jsonPos:new Ve.Name("jsonPos"),jsonLen:new Ve.Name("jsonLen"),jsonPart:new Ve.Name("jsonPart")};kl.default=SS});var Mo=E(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.extendErrors=Le.resetErrorsCount=Le.reportExtraError=Le.reportError=Le.keyword$DataError=Le.keywordError=void 0;var oe=K(),ki=ne(),He=Kt();Le.keywordError={message:({keyword:t})=>(0,oe.str)`must pass "${t}" keyword validation`};Le.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,oe.str)`"${t}" keyword must be ${e} ($data)`:(0,oe.str)`"${t}" keyword is invalid ($data)`};function kS(t,e=Le.keywordError,r,n){let{it:o}=t,{gen:s,compositeRule:i,allErrors:a}=o,c=Yh(t,e,r);n??(i||a)?Kh(s,c):Wh(o,(0,oe._)`[${c}]`)}Le.reportError=kS;function RS(t,e=Le.keywordError,r){let{it:n}=t,{gen:o,compositeRule:s,allErrors:i}=n,a=Yh(t,e,r);Kh(o,a),s||i||Wh(n,He.default.vErrors)}Le.reportExtraError=RS;function TS(t,e){t.assign(He.default.errors,e),t.if((0,oe._)`${He.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,oe._)`${He.default.vErrors}.length`,e),()=>t.assign(He.default.vErrors,null)))}Le.resetErrorsCount=TS;function zS({gen:t,keyword:e,schemaValue:r,data:n,errsCount:o,it:s}){if(o===void 0)throw new Error("ajv implementation error");let i=t.name("err");t.forRange("i",o,He.default.errors,a=>{t.const(i,(0,oe._)`${He.default.vErrors}[${a}]`),t.if((0,oe._)`${i}.instancePath === undefined`,()=>t.assign((0,oe._)`${i}.instancePath`,(0,oe.strConcat)(He.default.instancePath,s.errorPath))),t.assign((0,oe._)`${i}.schemaPath`,(0,oe.str)`${s.errSchemaPath}/${e}`),s.opts.verbose&&(t.assign((0,oe._)`${i}.schema`,r),t.assign((0,oe._)`${i}.data`,n))})}Le.extendErrors=zS;function Kh(t,e){let r=t.const("err",e);t.if((0,oe._)`${He.default.vErrors} === null`,()=>t.assign(He.default.vErrors,(0,oe._)`[${r}]`),(0,oe._)`${He.default.vErrors}.push(${r})`),t.code((0,oe._)`${He.default.errors}++`)}function Wh(t,e){let{gen:r,validateName:n,schemaEnv:o}=t;o.$async?r.throw((0,oe._)`new ${t.ValidationError}(${e})`):(r.assign((0,oe._)`${n}.errors`,e),r.return(!1))}var Hr={keyword:new oe.Name("keyword"),schemaPath:new oe.Name("schemaPath"),params:new oe.Name("params"),propertyName:new oe.Name("propertyName"),message:new oe.Name("message"),schema:new oe.Name("schema"),parentSchema:new oe.Name("parentSchema")};function Yh(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,oe._)`{}`:ES(t,e,r)}function ES(t,e,r={}){let{gen:n,it:o}=t,s=[PS(o,r),IS(t,r)];return OS(t,e,s),n.object(...s)}function PS({errorPath:t},{instancePath:e}){let r=e?(0,oe.str)`${t}${(0,ki.getErrorPath)(e,ki.Type.Str)}`:t;return[He.default.instancePath,(0,oe.strConcat)(He.default.instancePath,r)]}function IS({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let o=n?e:(0,oe.str)`${e}/${t}`;return r&&(o=(0,oe.str)`${o}${(0,ki.getErrorPath)(r,ki.Type.Str)}`),[Hr.schemaPath,o]}function OS(t,{params:e,message:r},n){let{keyword:o,data:s,schemaValue:i,it:a}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=a;n.push([Hr.keyword,o],[Hr.params,typeof e=="function"?e(t):e||(0,oe._)`{}`]),c.messages&&n.push([Hr.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([Hr.schema,i],[Hr.parentSchema,(0,oe._)`${l}${d}`],[He.default.data,s]),u&&n.push([Hr.propertyName,u])}});var Qh=E(zn=>{"use strict";Object.defineProperty(zn,"__esModule",{value:!0});zn.boolOrEmptySchema=zn.topBoolOrEmptySchema=void 0;var NS=Mo(),AS=K(),CS=Kt(),jS={message:"boolean schema is false"};function MS(t){let{gen:e,schema:r,validateName:n}=t;r===!1?Xh(t,!1):typeof r=="object"&&r.$async===!0?e.return(CS.default.data):(e.assign((0,AS._)`${n}.errors`,null),e.return(!0))}zn.topBoolOrEmptySchema=MS;function ZS(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),Xh(t)):r.var(e,!0)}zn.boolOrEmptySchema=ZS;function Xh(t,e){let{gen:r,data:n}=t,o={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,NS.reportError)(o,jS,void 0,e)}});var Rl=E(En=>{"use strict";Object.defineProperty(En,"__esModule",{value:!0});En.getRules=En.isJSONType=void 0;var DS=["string","number","integer","boolean","null","object","array"],qS=new Set(DS);function VS(t){return typeof t=="string"&&qS.has(t)}En.isJSONType=VS;function LS(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}En.getRules=LS});var Tl=E(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.shouldUseRule=lr.shouldUseGroup=lr.schemaHasRulesForType=void 0;function US({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&eg(t,n)}lr.schemaHasRulesForType=US;function eg(t,e){return e.rules.some(r=>tg(t,r))}lr.shouldUseGroup=eg;function tg(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}lr.shouldUseRule=tg});var Zo=E(Ue=>{"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});Ue.reportTypeError=Ue.checkDataTypes=Ue.checkDataType=Ue.coerceAndCheckDataType=Ue.getJSONTypes=Ue.getSchemaTypes=Ue.DataType=void 0;var FS=Rl(),BS=Tl(),HS=Mo(),G=K(),rg=ne(),Pn;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(Pn||(Ue.DataType=Pn={}));function GS(t){let e=ng(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}Ue.getSchemaTypes=GS;function ng(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(FS.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Ue.getJSONTypes=ng;function JS(t,e){let{gen:r,data:n,opts:o}=t,s=KS(e,o.coerceTypes),i=e.length>0&&!(s.length===0&&e.length===1&&(0,BS.schemaHasRulesForType)(t,e[0]));if(i){let a=El(e,n,o.strictNumbers,Pn.Wrong);r.if(a,()=>{s.length?WS(t,e,s):Pl(t)})}return i}Ue.coerceAndCheckDataType=JS;var og=new Set(["string","number","integer","boolean","null"]);function KS(t,e){return e?t.filter(r=>og.has(r)||e==="array"&&r==="array"):[]}function WS(t,e,r){let{gen:n,data:o,opts:s}=t,i=n.let("dataType",(0,G._)`typeof ${o}`),a=n.let("coerced",(0,G._)`undefined`);s.coerceTypes==="array"&&n.if((0,G._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,G._)`${o}[0]`).assign(i,(0,G._)`typeof ${o}`).if(El(e,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,G._)`${a} !== undefined`);for(let u of r)(og.has(u)||u==="array"&&s.coerceTypes==="array")&&c(u);n.else(),Pl(t),n.endIf(),n.if((0,G._)`${a} !== undefined`,()=>{n.assign(o,a),YS(t,a)});function c(u){switch(u){case"string":n.elseIf((0,G._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,G._)`"" + ${o}`).elseIf((0,G._)`${o} === null`).assign(a,(0,G._)`""`);return;case"number":n.elseIf((0,G._)`${i} == "boolean" || ${o} === null
5
5
  || (${i} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,G._)`+${o}`);return;case"integer":n.elseIf((0,G._)`${i} === "boolean" || ${o} === null
6
6
  || (${i} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(a,(0,G._)`+${o}`);return;case"boolean":n.elseIf((0,G._)`${o} === "false" || ${o} === 0 || ${o} === null`).assign(a,!1).elseIf((0,G._)`${o} === "true" || ${o} === 1`).assign(a,!0);return;case"null":n.elseIf((0,G._)`${o} === "" || ${o} === 0 || ${o} === false`),n.assign(a,null);return;case"array":n.elseIf((0,G._)`${i} === "string" || ${i} === "number"
7
- || ${i} === "boolean" || ${o} === null`).assign(a,(0,G._)`[${o}]`)}}}function WS({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,G._)`${e} !== undefined`,()=>t.assign((0,G._)`${e}[${r}]`,n))}function zl(t,e,r,n=En.Correct){let o=n===En.Correct?G.operators.EQ:G.operators.NEQ,s;switch(t){case"null":return(0,G._)`${e} ${o} null`;case"array":s=(0,G._)`Array.isArray(${e})`;break;case"object":s=(0,G._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":s=i((0,G._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":s=i();break;default:return(0,G._)`typeof ${e} ${o} ${t}`}return n===En.Correct?s:(0,G.not)(s);function i(a=G.nil){return(0,G.and)((0,G._)`typeof ${e} == "number"`,a,r?(0,G._)`isFinite(${e})`:G.nil)}}qe.checkDataType=zl;function Tl(t,e,r,n){if(t.length===1)return zl(t[0],e,r,n);let o,s=(0,tg.toHash)(t);if(s.array&&s.object){let i=(0,G._)`typeof ${e} != "object"`;o=s.null?i:(0,G._)`!${e} || ${i}`,delete s.null,delete s.array,delete s.object}else o=G.nil;s.number&&delete s.integer;for(let i in s)o=(0,G.and)(o,zl(i,e,r,n));return o}qe.checkDataTypes=Tl;var YS={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,G._)`{type: ${t}}`:(0,G._)`{type: ${e}}`};function El(t){let e=XS(t);(0,BS.reportError)(e,YS)}qe.reportTypeError=El;function XS(t){let{gen:e,data:r,schema:n}=t,o=(0,tg.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var sg=E(ki=>{"use strict";Object.defineProperty(ki,"__esModule",{value:!0});ki.assignDefaults=void 0;var Pn=K(),QS=ne();function ek(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)og(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,s)=>og(t,s,o.default))}ki.assignDefaults=ek;function og(t,e,r){let{gen:n,compositeRule:o,data:s,opts:i}=t;if(r===void 0)return;let a=(0,Pn._)`${s}${(0,Pn.getProperty)(e)}`;if(o){(0,QS.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,Pn._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,Pn._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,Pn._)`${a} = ${(0,Pn.stringify)(r)}`)}});var mt=E(ue=>{"use strict";Object.defineProperty(ue,"__esModule",{value:!0});ue.validateUnion=ue.validateArray=ue.usePattern=ue.callValidateCode=ue.schemaProperties=ue.allSchemaProperties=ue.noPropertyInData=ue.propertyInData=ue.isOwnProperty=ue.hasPropFunc=ue.reportMissingProp=ue.checkMissingProp=ue.checkReportMissingProp=void 0;var ge=K(),Pl=ne(),ur=Gt(),tk=ne();function rk(t,e){let{gen:r,data:n,it:o}=t;r.if(Ol(r,n,e,o.opts.ownProperties),()=>{t.setParams({missingProperty:(0,ge._)`${e}`},!0),t.error()})}ue.checkReportMissingProp=rk;function nk({gen:t,data:e,it:{opts:r}},n,o){return(0,ge.or)(...n.map(s=>(0,ge.and)(Ol(t,e,s,r.ownProperties),(0,ge._)`${o} = ${s}`)))}ue.checkMissingProp=nk;function ok(t,e){t.setParams({missingProperty:e},!0),t.error()}ue.reportMissingProp=ok;function ig(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,ge._)`Object.prototype.hasOwnProperty`})}ue.hasPropFunc=ig;function Il(t,e,r){return(0,ge._)`${ig(t)}.call(${e}, ${r})`}ue.isOwnProperty=Il;function sk(t,e,r,n){let o=(0,ge._)`${e}${(0,ge.getProperty)(r)} !== undefined`;return n?(0,ge._)`${o} && ${Il(t,e,r)}`:o}ue.propertyInData=sk;function Ol(t,e,r,n){let o=(0,ge._)`${e}${(0,ge.getProperty)(r)} === undefined`;return n?(0,ge.or)(o,(0,ge.not)(Il(t,e,r))):o}ue.noPropertyInData=Ol;function ag(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}ue.allSchemaProperties=ag;function ik(t,e){return ag(e).filter(r=>!(0,Pl.alwaysValidSchema)(t,e[r]))}ue.schemaProperties=ik;function ak({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,u){let l=u?(0,ge._)`${t}, ${e}, ${n}${o}`:e,d=[[ur.default.instancePath,(0,ge.strConcat)(ur.default.instancePath,s)],[ur.default.parentData,i.parentData],[ur.default.parentDataProperty,i.parentDataProperty],[ur.default.rootData,ur.default.rootData]];i.opts.dynamicRef&&d.push([ur.default.dynamicAnchors,ur.default.dynamicAnchors]);let p=(0,ge._)`${l}, ${r.object(...d)}`;return c!==ge.nil?(0,ge._)`${a}.call(${c}, ${p})`:(0,ge._)`${a}(${p})`}ue.callValidateCode=ak;var ck=(0,ge._)`new RegExp`;function uk({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:o}=e.code,s=o(r,n);return t.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,ge._)`${o.code==="new RegExp"?ck:(0,tk.useFunc)(t,o)}(${r}, ${n})`})}ue.usePattern=uk;function lk(t){let{gen:e,data:r,keyword:n,it:o}=t,s=e.name("valid");if(o.allErrors){let a=e.let("valid",!0);return i(()=>e.assign(a,!1)),a}return e.var(s,!0),i(()=>e.break()),s;function i(a){let c=e.const("len",(0,ge._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:Pl.Type.Num},s),e.if((0,ge.not)(s),a)})}}ue.validateArray=lk;function dk(t){let{gen:e,schema:r,keyword:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,Pl.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let i=e.let("valid",!1),a=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:n,schemaProp:u,compositeRule:!0},a);e.assign(i,(0,ge._)`${i} || ${a}`),t.mergeValidEvaluated(l,a)||e.if((0,ge.not)(i))})),t.result(i,()=>t.reset(),()=>t.error(!0))}ue.validateUnion=dk});var lg=E(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.validateKeywordUsage=Nt.validSchemaType=Nt.funcKeywordCode=Nt.macroKeywordCode=void 0;var Be=K(),Br=Gt(),pk=mt(),fk=jo();function mk(t,e){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=t,a=e.macro.call(i.self,o,s,i),c=ug(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let u=r.name("valid");t.subschema({schema:a,schemaPath:Be.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}Nt.macroKeywordCode=mk;function hk(t,e){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=t;yk(c,e);let u=!a&&e.compile?e.compile.call(c.self,s,i,c):e.validate,l=ug(n,o,u),d=n.let("valid");t.block$data(d,p),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function p(){if(e.errors===!1)h(),e.modifying&&cg(t),g(()=>t.error());else{let v=e.async?f():m();e.modifying&&cg(t),g(()=>gk(t,v))}}function f(){let v=n.let("ruleErrs",null);return n.try(()=>h((0,Be._)`await `),y=>n.assign(d,!1).if((0,Be._)`${y} instanceof ${c.ValidationError}`,()=>n.assign(v,(0,Be._)`${y}.errors`),()=>n.throw(y))),v}function m(){let v=(0,Be._)`${l}.errors`;return n.assign(v,null),h(Be.nil),v}function h(v=e.async?(0,Be._)`await `:Be.nil){let y=c.opts.passContext?Br.default.this:Br.default.self,$=!("compile"in e&&!a||e.schema===!1);n.assign(d,(0,Be._)`${v}${(0,pk.callValidateCode)(t,l,y,$)}`,e.modifying)}function g(v){var y;n.if((0,Be.not)((y=e.valid)!==null&&y!==void 0?y:d),v)}}Nt.funcKeywordCode=hk;function cg(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,Be._)`${n.parentData}[${n.parentDataProperty}]`))}function gk(t,e){let{gen:r}=t;r.if((0,Be._)`Array.isArray(${e})`,()=>{r.assign(Br.default.vErrors,(0,Be._)`${Br.default.vErrors} === null ? ${e} : ${Br.default.vErrors}.concat(${e})`).assign(Br.default.errors,(0,Be._)`${Br.default.vErrors}.length`),(0,fk.extendErrors)(t)},()=>t.error())}function yk({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function ug(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Be.stringify)(r)})}function _k(t,e,r=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}Nt.validSchemaType=_k;function vk({schema:t,opts:e,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(t,a)))throw new Error(`parent schema must have dependencies of ${s}: ${i.join(",")}`);if(o.validateSchema&&!o.validateSchema(t[s])){let c=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}Nt.validateKeywordUsage=vk});var pg=E(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.extendSubschemaMode=lr.extendSubschemaData=lr.getSubschema=void 0;var At=K(),dg=ne();function bk(t,{keyword:e,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:s,topSchemaRef:i}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let a=t.schema[e];return r===void 0?{schema:a,schemaPath:(0,At._)`${t.schemaPath}${(0,At.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0,At._)`${t.schemaPath}${(0,At.getProperty)(e)}${(0,At.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,dg.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')}lr.getSubschema=bk;function wk(t,e,{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}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,p=a.let("data",(0,At._)`${e.data}${(0,At.getProperty)(r)}`,!0);c(p),t.errorPath=(0,At.str)`${u}${(0,dg.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,At._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(o!==void 0){let u=o instanceof At.Name?o:a.let("data",o,!0);c(u),i!==void 0&&(t.propertyName=i)}s&&(t.dataTypes=s);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u]}}lr.extendSubschemaData=wk;function $k(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:s}){n!==void 0&&(t.compositeRule=n),o!==void 0&&(t.createErrors=o),s!==void 0&&(t.allErrors=s),t.jtdDiscriminator=e,t.jtdMetadata=r}lr.extendSubschemaMode=$k});var Nl=E((Oj,fg)=>{"use strict";fg.exports=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,o,s;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!t(e[o],r[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(s=Object.keys(e),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(!t(e[i],r[i]))return!1}return!0}return e!==e&&r!==r}});var hg=E((Nj,mg)=>{"use strict";var dr=mg.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};Ri(e,n,o,t,"",t)};dr.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};dr.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};dr.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};dr.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 Ri(t,e,r,n,o,s,i,a,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,o,s,i,a,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in dr.arrayKeywords)for(var p=0;p<d.length;p++)Ri(t,e,r,d[p],o+"/"+l+"/"+p,s,o,l,n,p)}else if(l in dr.propsKeywords){if(d&&typeof d=="object")for(var f in d)Ri(t,e,r,d[f],o+"/"+l+"/"+xk(f),s,o,l,n,f)}else(l in dr.keywords||t.allKeys&&!(l in dr.skipKeywords))&&Ri(t,e,r,d,o+"/"+l,s,o,l,n)}r(n,o,s,i,a,c,u)}}function xk(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var Zo=E(Qe=>{"use strict";Object.defineProperty(Qe,"__esModule",{value:!0});Qe.getSchemaRefs=Qe.resolveUrl=Qe.normalizeId=Qe._getFullPath=Qe.getFullPath=Qe.inlineRef=void 0;var Sk=ne(),kk=Nl(),Rk=hg(),zk=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Tk(t,e=!0){return typeof t=="boolean"?!0:e===!0?!Al(t):e?gg(t)<=e:!1}Qe.inlineRef=Tk;var Ek=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Al(t){for(let e in t){if(Ek.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(Al)||typeof r=="object"&&Al(r))return!0}return!1}function gg(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!zk.has(r)&&(typeof t[r]=="object"&&(0,Sk.eachItem)(t[r],n=>e+=gg(n)),e===1/0))return 1/0}return e}function yg(t,e="",r){r!==!1&&(e=In(e));let n=t.parse(e);return _g(t,n)}Qe.getFullPath=yg;function _g(t,e){return t.serialize(e).split("#")[0]+"#"}Qe._getFullPath=_g;var Pk=/#\/?$/;function In(t){return t?t.replace(Pk,""):""}Qe.normalizeId=In;function Ik(t,e,r){return r=In(r),t.resolve(e,r)}Qe.resolveUrl=Ik;var Ok=/^[a-z_][-a-z0-9._]*$/i;function Nk(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=In(t[r]||e),s={"":o},i=yg(n,o,!1),a={},c=new Set;return Rk(t,{allKeys:!0},(d,p,f,m)=>{if(m===void 0)return;let h=i+p,g=s[m];typeof d[r]=="string"&&(g=v.call(this,d[r])),y.call(this,d.$anchor),y.call(this,d.$dynamicAnchor),s[p]=g;function v($){let R=this.opts.uriResolver.resolve;if($=In(g?R(g,$):$),c.has($))throw l($);c.add($);let Z=this.refs[$];return typeof Z=="string"&&(Z=this.refs[Z]),typeof Z=="object"?u(d,Z.schema,$):$!==In(h)&&($[0]==="#"?(u(d,a[$],$),a[$]=d):this.refs[$]=h),$}function y($){if(typeof $=="string"){if(!Ok.test($))throw new Error(`invalid anchor "${$}"`);v.call(this,`#${$}`)}}}),a;function u(d,p,f){if(p!==void 0&&!kk(d,p))throw l(f)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}Qe.getSchemaRefs=Nk});var Vo=E(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.getData=pr.KeywordCxt=pr.validateFunctionCode=void 0;var xg=Xh(),vg=Mo(),jl=Rl(),zi=Mo(),Ak=sg(),qo=lg(),Cl=pg(),C=K(),U=Gt(),Ck=Zo(),Jt=ne(),Do=jo();function jk(t){if(Rg(t)&&(zg(t),kg(t))){Dk(t);return}Sg(t,()=>(0,xg.topBoolOrEmptySchema)(t))}pr.validateFunctionCode=jk;function Sg({gen:t,validateName:e,schema:r,schemaEnv:n,opts:o},s){o.code.es5?t.func(e,(0,C._)`${U.default.data}, ${U.default.valCxt}`,n.$async,()=>{t.code((0,C._)`"use strict"; ${bg(r,o)}`),Zk(t,o),t.code(s)}):t.func(e,(0,C._)`${U.default.data}, ${Mk(o)}`,n.$async,()=>t.code(bg(r,o)).code(s))}function Mk(t){return(0,C._)`{${U.default.instancePath}="", ${U.default.parentData}, ${U.default.parentDataProperty}, ${U.default.rootData}=${U.default.data}${t.dynamicRef?(0,C._)`, ${U.default.dynamicAnchors}={}`:C.nil}}={}`}function Zk(t,e){t.if(U.default.valCxt,()=>{t.var(U.default.instancePath,(0,C._)`${U.default.valCxt}.${U.default.instancePath}`),t.var(U.default.parentData,(0,C._)`${U.default.valCxt}.${U.default.parentData}`),t.var(U.default.parentDataProperty,(0,C._)`${U.default.valCxt}.${U.default.parentDataProperty}`),t.var(U.default.rootData,(0,C._)`${U.default.valCxt}.${U.default.rootData}`),e.dynamicRef&&t.var(U.default.dynamicAnchors,(0,C._)`${U.default.valCxt}.${U.default.dynamicAnchors}`)},()=>{t.var(U.default.instancePath,(0,C._)`""`),t.var(U.default.parentData,(0,C._)`undefined`),t.var(U.default.parentDataProperty,(0,C._)`undefined`),t.var(U.default.rootData,U.default.data),e.dynamicRef&&t.var(U.default.dynamicAnchors,(0,C._)`{}`)})}function Dk(t){let{schema:e,opts:r,gen:n}=t;Sg(t,()=>{r.$comment&&e.$comment&&Eg(t),Fk(t),n.let(U.default.vErrors,null),n.let(U.default.errors,0),r.unevaluated&&qk(t),Tg(t),Gk(t)})}function qk(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,C._)`${r}.evaluated`),e.if((0,C._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,C._)`${t.evaluated}.props`,(0,C._)`undefined`)),e.if((0,C._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,C._)`${t.evaluated}.items`,(0,C._)`undefined`))}function bg(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,C._)`/*# sourceURL=${r} */`:C.nil}function Vk(t,e){if(Rg(t)&&(zg(t),kg(t))){Lk(t,e);return}(0,xg.boolOrEmptySchema)(t,e)}function kg({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function Rg(t){return typeof t.schema!="boolean"}function Lk(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&Eg(t),Bk(t),Hk(t);let s=n.const("_errs",U.default.errors);Tg(t,s),n.var(e,(0,C._)`${s} === ${U.default.errors}`)}function zg(t){(0,Jt.checkUnknownRules)(t),Uk(t)}function Tg(t,e){if(t.opts.jtd)return wg(t,[],!1,e);let r=(0,vg.getSchemaTypes)(t.schema),n=(0,vg.coerceAndCheckDataType)(t,r);wg(t,r,!n,e)}function Uk(t){let{schema:e,errSchemaPath:r,opts:n,self:o}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,Jt.schemaHasRulesButRef)(e,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function Fk(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Jt.checkStrictMode)(t,"default is ignored in the schema root")}function Bk(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,Ck.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function Hk(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function Eg({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)t.code((0,C._)`${U.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,C.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,C._)`${U.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function Gk(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=t;r.$async?e.if((0,C._)`${U.default.errors} === 0`,()=>e.return(U.default.data),()=>e.throw((0,C._)`new ${o}(${U.default.vErrors})`)):(e.assign((0,C._)`${n}.errors`,U.default.vErrors),s.unevaluated&&Jk(t),e.return((0,C._)`${U.default.errors} === 0`))}function Jk({gen:t,evaluated:e,props:r,items:n}){r instanceof C.Name&&t.assign((0,C._)`${e}.props`,r),n instanceof C.Name&&t.assign((0,C._)`${e}.items`,n)}function wg(t,e,r,n){let{gen:o,schema:s,data:i,allErrors:a,opts:c,self:u}=t,{RULES:l}=u;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,Jt.schemaHasRulesButRef)(s,l))){o.block(()=>Ig(t,"$ref",l.all.$ref.definition));return}c.jtd||Kk(t,e),o.block(()=>{for(let p of l.rules)d(p);d(l.post)});function d(p){(0,jl.shouldUseGroup)(s,p)&&(p.type?(o.if((0,zi.checkDataType)(p.type,i,c.strictNumbers)),$g(t,p),e.length===1&&e[0]===p.type&&r&&(o.else(),(0,zi.reportTypeError)(t)),o.endIf()):$g(t,p),a||o.if((0,C._)`${U.default.errors} === ${n||0}`))}}function $g(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,Ak.assignDefaults)(t,e.type),r.block(()=>{for(let s of e.rules)(0,jl.shouldUseRule)(n,s)&&Ig(t,s.keyword,s.definition,e.type)})}function Kk(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(Wk(t,e),t.opts.allowUnionTypes||Yk(t,e),Xk(t,t.dataTypes))}function Wk(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{Pg(t.dataTypes,r)||Ml(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),eR(t,e)}}function Yk(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Ml(t,"use allowUnionTypes to allow union type keyword")}function Xk(t,e){let r=t.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,jl.shouldUseRule)(t.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>Qk(e,i))&&Ml(t,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function Qk(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function Pg(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function eR(t,e){let r=[];for(let n of t.dataTypes)Pg(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function Ml(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,Jt.checkStrictMode)(t,e,t.opts.strictTypes)}var Ti=class{constructor(e,r,n){if((0,qo.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Jt.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",Og(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,qo.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=e.gen.const("_errs",U.default.errors))}result(e,r,n){this.failResult((0,C.not)(e),r,n)}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,C.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,C._)`${r} !== undefined && (${(0,C.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?Do.reportExtraError:Do.reportError)(this,this.def.error,r)}$dataError(){(0,Do.reportError)(this,this.def.$dataError||Do.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Do.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=C.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=C.nil,r=C.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,C.or)((0,C._)`${o} === undefined`,r)),e!==C.nil&&n.assign(e,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==C.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,C.or)(i(),a());function i(){if(n.length){if(!(r instanceof C.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,C._)`${(0,zi.checkDataTypes)(c,r,s.opts.strictNumbers,zi.DataType.Wrong)}`}return C.nil}function a(){if(o.validateSchema){let c=e.scopeValue("validate$data",{ref:o.validateSchema});return(0,C._)`!${c}(${r})`}return C.nil}}subschema(e,r){let n=(0,Cl.getSubschema)(this.it,e);(0,Cl.extendSubschemaData)(n,this.it,e),(0,Cl.extendSubschemaMode)(n,e);let o={...this.it,...n,items:void 0,props:void 0};return Vk(o,r),o}mergeEvaluated(e,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=Jt.mergeEvaluated.props(o,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=Jt.mergeEvaluated.items(o,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:o}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return o.if(r,()=>this.mergeEvaluated(e,C.Name)),!0}};pr.KeywordCxt=Ti;function Ig(t,e,r,n){let o=new Ti(t,r,e);"code"in r?r.code(o,n):o.$data&&r.validate?(0,qo.funcKeywordCode)(o,r):"macro"in r?(0,qo.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,qo.funcKeywordCode)(o,r)}var tR=/^\/(?:[^~]|~0|~1)*$/,rR=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Og(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,s;if(t==="")return U.default.rootData;if(t[0]==="/"){if(!tR.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,s=U.default.rootData}else{let u=rR.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+u[1];if(o=u[2],o==="#"){if(l>=e)throw new Error(c("property/index",l));return n[e-l]}if(l>e)throw new Error(c("data",l));if(s=r[e-l],!o)return s}let i=s,a=o.split("/");for(let u of a)u&&(s=(0,C._)`${s}${(0,C.getProperty)((0,Jt.unescapeJsonPointer)(u))}`,i=(0,C._)`${i} && ${s}`);return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}pr.getData=Og});var Ei=E(Dl=>{"use strict";Object.defineProperty(Dl,"__esModule",{value:!0});var Zl=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};Dl.default=Zl});var Lo=E(Ll=>{"use strict";Object.defineProperty(Ll,"__esModule",{value:!0});var ql=Zo(),Vl=class extends Error{constructor(e,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,ql.resolveUrl)(e,r,n),this.missingSchema=(0,ql.normalizeId)((0,ql.getFullPath)(e,this.missingRef))}};Ll.default=Vl});var Ii=E(ht=>{"use strict";Object.defineProperty(ht,"__esModule",{value:!0});ht.resolveSchema=ht.getCompilingSchema=ht.resolveRef=ht.compileSchema=ht.SchemaEnv=void 0;var St=K(),nR=Ei(),Hr=Gt(),kt=Zo(),Ng=ne(),oR=Vo(),On=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,kt.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};ht.SchemaEnv=On;function Fl(t){let e=Ag.call(this,t);if(e)return e;let r=(0,kt.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new St.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;t.$async&&(a=i.scopeValue("Error",{ref:nR.default,code:(0,St._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");t.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:Hr.default.data,parentData:Hr.default.parentData,parentDataProperty:Hr.default.parentDataProperty,dataNames:[Hr.default.data],dataPathArr:[St.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,St.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:St.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,St._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,oR.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let d=i.toString();l=`${i.scopeRefs(Hr.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let f=new Function(`${Hr.default.self}`,`${Hr.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:f}),f.errors=null,f.schema=t.schema,f.schemaEnv=t,t.$async&&(f.$async=!0),this.opts.code.source===!0&&(f.source={validateName:c,validateCode:d,scopeValues:i._values}),this.opts.unevaluated){let{props:m,items:h}=u;f.evaluated={props:m instanceof St.Name?void 0:m,items:h instanceof St.Name?void 0:h,dynamicProps:m instanceof St.Name,dynamicItems:h instanceof St.Name},f.source&&(f.source.evaluated=(0,St.stringify)(f.evaluated))}return t.validate=f,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}ht.compileSchema=Fl;function sR(t,e,r){var n;r=(0,kt.resolveUrl)(this.opts.uriResolver,e,r);let o=t.refs[r];if(o)return o;let s=cR.call(this,t,r);if(s===void 0){let i=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;i&&(s=new On({schema:i,schemaId:a,root:t,baseId:e}))}if(s!==void 0)return t.refs[r]=iR.call(this,s)}ht.resolveRef=sR;function iR(t){return(0,kt.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:Fl.call(this,t)}function Ag(t){for(let e of this._compilations)if(aR(e,t))return e}ht.getCompilingSchema=Ag;function aR(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function cR(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||Pi.call(this,t,e)}function Pi(t,e){let r=this.opts.uriResolver.parse(e),n=(0,kt._getFullPath)(this.opts.uriResolver,r),o=(0,kt.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===o)return Ul.call(this,r,t);let s=(0,kt.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=Pi.call(this,t,i);return typeof a?.schema!="object"?void 0:Ul.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||Fl.call(this,i),s===(0,kt.normalizeId)(e)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,kt.resolveUrl)(this.opts.uriResolver,o,u)),new On({schema:a,schemaId:c,root:t,baseId:o})}return Ul.call(this,r,i)}}ht.resolveSchema=Pi;var uR=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Ul(t,{baseId:e,schema:r,root:n}){var o;if(((o=t.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let a of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,Ng.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!uR.has(a)&&u&&(e=(0,kt.resolveUrl)(this.opts.uriResolver,e,u))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,Ng.schemaHasRulesButRef)(r,this.RULES)){let a=(0,kt.resolveUrl)(this.opts.uriResolver,e,r.$ref);s=Pi.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new On({schema:r,schemaId:i,root:n,baseId:e}),s.schema!==s.root.schema)return s}});var Cg=E((Dj,lR)=>{lR.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 Gl=E((qj,Vg)=>{"use strict";var dR=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Mg=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),Bl=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),Zg=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),pR=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function Hl(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var fR=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function jg(t){return t.length=0,!0}function mR(t,e,r){if(t.length){let n=Hl(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function hR(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=mR;for(let c=0;c<t.length;c++){let u=t[c];if(!(u==="["||u==="]"))if(u===":"){if(s===!0&&(i=!0),!a(o,n,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(s=!0),n.push(":");continue}else if(u==="%"){if(!a(o,n,r))break;a=jg}else{o.push(u);continue}}return o.length&&(a===jg?r.zone=o.join(""):i?n.push(o.join("")):n.push(Hl(o))),r.address=n.join(""),r}function Dg(t){if(gR(t,":")<2)return{host:t,isIPV6:!1};let e=hR(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:n}}}function gR(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function yR(t){let e=t,r=[],n=-1,o=0;for(;o=e.length;){if(o===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(o===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(o===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n)}return r.join("")}var _R={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},vR=/[@/?#:]/g,bR=/[@/?#]/g;function qg(t,e){let r=e?bR:vR;return r.lastIndex=0,t.replace(r,n=>_R[n])}function wR(t,e=!1){if(t.indexOf("%")===-1)return t;let r="";for(let n=0;n<t.length;n++){if(t[n]==="%"&&n+2<t.length){let o=t.slice(n+1,n+3);if(Bl(o)){let s=o.toUpperCase(),i=String.fromCharCode(parseInt(s,16));e&&Zg(i)?r+=i:r+="%"+s,n+=2;continue}}r+=t[n]}return r}function $R(t){let e="";for(let r=0;r<t.length;r++){if(t[r]==="%"&&r+2<t.length){let n=t.slice(r+1,r+3);if(Bl(n)){let o=n.toUpperCase(),s=String.fromCharCode(parseInt(o,16));s!=="."&&Zg(s)?e+=s:e+="%"+o,r+=2;continue}}pR(t[r])?e+=t[r]:e+=escape(t[r])}return e}function xR(t){let e="";for(let r=0;r<t.length;r++){if(t[r]==="%"&&r+2<t.length){let n=t.slice(r+1,r+3);if(Bl(n)){e+="%"+n.toUpperCase(),r+=2;continue}}e+=escape(t[r])}return e}function SR(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!Mg(r)){let n=Dg(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=qg(r,!1)}e.push(r)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}Vg.exports={nonSimpleDomain:fR,recomposeAuthority:SR,reescapeHostDelimiters:qg,normalizePercentEncoding:wR,normalizePathEncoding:$R,escapePreservingEscapes:xR,removeDotSegments:yR,isIPv4:Mg,isUUID:dR,normalizeIPv6:Dg,stringArrayToHexStripped:Hl}});var Hg=E((Vj,Bg)=>{"use strict";var{isUUID:kR}=Gl(),RR=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,zR=["http","https","ws","wss","urn","urn:uuid"];function TR(t){return zR.indexOf(t)!==-1}function Jl(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function Lg(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function Ug(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function ER(t){return t.secure=Jl(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function PR(t){if((t.port===(Jl(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function IR(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(RR);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let o=`${n}:${e.nid||t.nid}`,s=Kl(o);t.path=void 0,s&&(t=s.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function OR(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),o=`${r}:${e.nid||n}`,s=Kl(o);s&&(t=s.serialize(t,e));let i=t,a=t.nss;return i.path=`${n||e.nid}:${a}`,e.skipEscape=!0,i}function NR(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!kR(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function AR(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var Fg={scheme:"http",domainHost:!0,parse:Lg,serialize:Ug},CR={scheme:"https",domainHost:Fg.domainHost,parse:Lg,serialize:Ug},Oi={scheme:"ws",domainHost:!0,parse:ER,serialize:PR},jR={scheme:"wss",domainHost:Oi.domainHost,parse:Oi.parse,serialize:Oi.serialize},MR={scheme:"urn",parse:IR,serialize:OR,skipNormalize:!0},ZR={scheme:"urn:uuid",parse:NR,serialize:AR,skipNormalize:!0},Ni={http:Fg,https:CR,ws:Oi,wss:jR,urn:MR,"urn:uuid":ZR};Object.setPrototypeOf(Ni,null);function Kl(t){return t&&(Ni[t]||Ni[t.toLowerCase()])||void 0}Bg.exports={wsIsSecure:Jl,SCHEMES:Ni,isValidSchemeName:TR,getSchemeHandler:Kl}});var Xg=E((Lj,Ai)=>{"use strict";var{normalizeIPv6:DR,removeDotSegments:Uo,recomposeAuthority:qR,normalizePercentEncoding:VR,normalizePathEncoding:LR,escapePreservingEscapes:UR,reescapeHostDelimiters:FR,isIPv4:BR,nonSimpleDomain:HR}=Gl(),{SCHEMES:GR,getSchemeHandler:Jg}=Hg();function JR(t,e){return typeof t=="string"?t=ez(t,e):typeof t=="object"&&(t=Nn(Gr(t,e),e)),t}function KR(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=Kg(Nn(t,n),Nn(e,n),n,!0);return n.skipEscape=!0,Gr(o,n)}function Kg(t,e,r,n){let o={};return n||(t=Nn(Gr(t,r),r),e=Nn(Gr(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(o.scheme=e.scheme,o.userinfo=e.userinfo,o.host=e.host,o.port=e.port,o.path=Uo(e.path||""),o.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(o.userinfo=e.userinfo,o.host=e.host,o.port=e.port,o.path=Uo(e.path||""),o.query=e.query):(e.path?(e.path[0]==="/"?o.path=Uo(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?o.path="/"+e.path:t.path?o.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:o.path=e.path,o.path=Uo(o.path)),o.query=e.query):(o.path=t.path,e.query!==void 0?o.query=e.query:o.query=t.query),o.userinfo=t.userinfo,o.host=t.host,o.port=t.port),o.scheme=t.scheme),o.fragment=e.fragment,o}function WR(t,e,r){let n=Gg(t,r),o=Gg(e,r);return n!==void 0&&o!==void 0&&n.toLowerCase()===o.toLowerCase()}function Gr(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),o=[],s=Jg(n.scheme||r.scheme);s&&s.serialize&&s.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=VR(r.path):(r.path=UR(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&o.push(r.scheme,":");let i=qR(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=Uo(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 YR=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u,XR=/^(?:[^#/:?]+:)?\/\/([^/?#]*)/;function QR(t,e){if(e[2]!==void 0&&t.path&&t.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof t.port=="number"&&(t.port<0||t.port>65535))return"URI port is malformed."}function Wg(t,e){let r=Object.assign({},e),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?t=r.scheme+":"+t:t="//"+t);let i=t.match(XR);i!==null&&i[1].indexOf("\\")!==-1&&(n.error="URI authority must not contain a literal backslash.",o=!0);let a=t.match(YR);if(a){n.scheme=a[1],n.userinfo=a[3],n.host=a[4],n.port=parseInt(a[5],10),n.path=a[6]||"",n.query=a[7],n.fragment=a[8],isNaN(n.port)&&(n.port=a[5]);let c=QR(n,a);if(c!==void 0&&(n.error=n.error||c,o=!0),n.host)if(BR(n.host)===!1){let d=DR(n.host);n.host=d.host.toLowerCase(),s=d.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 u=Jg(r.scheme||n.scheme);if(!r.unicodeSupport&&(!u||!u.unicodeSupport)&&n.host&&(r.domainHost||u&&u.domainHost)&&s===!1&&HR(n.host))try{n.host=new URL("http://"+n.host).hostname}catch(l){n.error=n.error||"Host's domain name can not be converted to ASCII: "+l}if((!u||u&&!u.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=FR(unescape(n.host),s))),n.path&&(n.path=LR(n.path)),n.fragment))try{n.fragment=encodeURI(decodeURIComponent(n.fragment))}catch{n.error=n.error||"URI malformed"}u&&u.parse&&u.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return{parsed:n,malformedAuthorityOrPort:o}}function Nn(t,e){return Wg(t,e).parsed}function ez(t,e){return Yg(t,e).normalized}function Yg(t,e){let{parsed:r,malformedAuthorityOrPort:n}=Wg(t,e);return{normalized:n?t:Gr(r,e),malformedAuthorityOrPort:n}}function Gg(t,e){if(typeof t=="string"){let{normalized:r,malformedAuthorityOrPort:n}=Yg(t,e);return n?void 0:r}if(typeof t=="object")return Gr(t,e)}var Wl={SCHEMES:GR,normalize:JR,resolve:KR,resolveComponent:Kg,equal:WR,serialize:Gr,parse:Nn};Ai.exports=Wl;Ai.exports.default=Wl;Ai.exports.fastUri=Wl});var ey=E(Yl=>{"use strict";Object.defineProperty(Yl,"__esModule",{value:!0});var Qg=Xg();Qg.code='require("ajv/dist/runtime/uri").default';Yl.default=Qg});var cy=E(Ce=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});Ce.CodeGen=Ce.Name=Ce.nil=Ce.stringify=Ce.str=Ce._=Ce.KeywordCxt=void 0;var tz=Vo();Object.defineProperty(Ce,"KeywordCxt",{enumerable:!0,get:function(){return tz.KeywordCxt}});var An=K();Object.defineProperty(Ce,"_",{enumerable:!0,get:function(){return An._}});Object.defineProperty(Ce,"str",{enumerable:!0,get:function(){return An.str}});Object.defineProperty(Ce,"stringify",{enumerable:!0,get:function(){return An.stringify}});Object.defineProperty(Ce,"nil",{enumerable:!0,get:function(){return An.nil}});Object.defineProperty(Ce,"Name",{enumerable:!0,get:function(){return An.Name}});Object.defineProperty(Ce,"CodeGen",{enumerable:!0,get:function(){return An.CodeGen}});var rz=Ei(),sy=Lo(),nz=kl(),Fo=Ii(),oz=K(),Bo=Zo(),Ci=Mo(),Ql=ne(),ty=Cg(),sz=ey(),iy=(t,e)=>new RegExp(t,e);iy.code="new RegExp";var iz=["removeAdditional","useDefaults","coerceTypes"],az=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),cz={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."},uz={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},ry=200;function lz(t){var e,r,n,o,s,i,a,c,u,l,d,p,f,m,h,g,v,y,$,R,Z,Ve,at,on,$a;let Yn=t.strict,xa=(e=t.code)===null||e===void 0?void 0:e.optimize,qp=xa===!0||xa===void 0?1:xa||0,Vp=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:iy,Gv=(o=t.uriResolver)!==null&&o!==void 0?o:sz.default;return{strictSchema:(i=(s=t.strictSchema)!==null&&s!==void 0?s:Yn)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:Yn)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:Yn)!==null&&l!==void 0?l:"log",strictTuples:(p=(d=t.strictTuples)!==null&&d!==void 0?d:Yn)!==null&&p!==void 0?p:"log",strictRequired:(m=(f=t.strictRequired)!==null&&f!==void 0?f:Yn)!==null&&m!==void 0?m:!1,code:t.code?{...t.code,optimize:qp,regExp:Vp}:{optimize:qp,regExp:Vp},loopRequired:(h=t.loopRequired)!==null&&h!==void 0?h:ry,loopEnum:(g=t.loopEnum)!==null&&g!==void 0?g:ry,meta:(v=t.meta)!==null&&v!==void 0?v:!0,messages:(y=t.messages)!==null&&y!==void 0?y:!0,inlineRefs:($=t.inlineRefs)!==null&&$!==void 0?$:!0,schemaId:(R=t.schemaId)!==null&&R!==void 0?R:"$id",addUsedSchema:(Z=t.addUsedSchema)!==null&&Z!==void 0?Z:!0,validateSchema:(Ve=t.validateSchema)!==null&&Ve!==void 0?Ve:!0,validateFormats:(at=t.validateFormats)!==null&&at!==void 0?at:!0,unicodeRegExp:(on=t.unicodeRegExp)!==null&&on!==void 0?on:!0,int32range:($a=t.int32range)!==null&&$a!==void 0?$a:!0,uriResolver:Gv}}var Ho=class{constructor(e={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...lz(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new oz.ValueScope({scope:{},prefixes:az,es5:r,lines:n}),this.logger=gz(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,nz.getRules)(),ny.call(this,cz,e,"NOT SUPPORTED"),ny.call(this,uz,e,"DEPRECATED","warn"),this._metaOpts=mz.call(this),e.formats&&pz.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&fz.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),dz.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=ty;n==="id"&&(o={...ty},o.id=o.$id,delete o.$id),r&&e&&this.addMetaSchema(o,o[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let o=n(r);return"$async"in n||(this.errors=n.errors),o}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,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,e,r);async function o(l,d){await s.call(this,l.$schema);let p=this._addSchema(l,d);return p.validate||i.call(this,p)}async function s(l){l&&!this.getSchema(l)&&await o.call(this,{$ref:l},!0)}async function i(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof sy.default))throw d;return a.call(this,d),await c.call(this,d.missingSchema),i.call(this,l)}}function a({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await s.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(e,r,n,o=this.opts.validateSchema){if(Array.isArray(e)){for(let i of e)this.addSchema(i,void 0,n,o);return this}let s;if(typeof e=="object"){let{schemaId:i}=this.opts;if(s=e[i],s!==void 0&&typeof s!="string")throw new Error(`schema ${i} must be string`)}return r=(0,Bo.normalizeId)(r||s),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,o,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let n;if(n=e.$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,e);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(e){let r;for(;typeof(r=oy.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,o=new Fo.SchemaEnv({schema:{},schemaId:n});if(r=Fo.resolveSchema.call(this,o,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=oy.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0,Bo.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,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(_z.call(this,n,r),!r)return(0,Ql.eachItem)(n,s=>Xl.call(this,s)),this;bz.call(this,r);let o={...r,type:(0,Ci.getJSONTypes)(r.type),schemaType:(0,Ci.getJSONTypes)(r.schemaType)};return(0,Ql.eachItem)(n,o.type.length===0?s=>Xl.call(this,s,o):s=>o.type.forEach(i=>Xl.call(this,s,o,i))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let o=n.rules.findIndex(s=>s.keyword===e);o>=0&&n.rules.splice(o,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(o=>`${n}${o.instancePath} ${o.message}`).reduce((o,s)=>o+r+s)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let o of r){let s=o.split("/").slice(1),i=e;for(let a of s)i=i[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:u}=c.definition,l=i[a];u&&l&&(i[a]=ay(l))}}return e}_removeAllSchemas(e,r){for(let n in e){let o=e[n];(!r||r.test(n))&&(typeof o=="string"?delete e[n]:o&&!o.meta&&(this._cache.delete(o.schema),delete e[n]))}}_addSchema(e,r,n,o=this.opts.validateSchema,s=this.opts.addUsedSchema){let i,{schemaId:a}=this.opts;if(typeof e=="object")i=e[a];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;n=(0,Bo.normalizeId)(i||n);let u=Bo.getSchemaRefs.call(this,e,n);return c=new Fo.SchemaEnv({schema:e,schemaId:a,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),s&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),o&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):Fo.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{Fo.compileSchema.call(this,e)}finally{this.opts=r}}};Ho.ValidationError=rz.default;Ho.MissingRefError=sy.default;Ce.default=Ho;function ny(t,e,r,n="error"){for(let o in t){let s=o;s in e&&this.logger[n](`${r}: option ${o}. ${t[s]}`)}}function oy(t){return t=(0,Bo.normalizeId)(t),this.schemas[t]||this.refs[t]}function dz(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function pz(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function fz(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function mz(){let t={...this.opts};for(let e of iz)delete t[e];return t}var hz={log(){},warn(){},error(){}};function gz(t){if(t===!1)return hz;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var yz=/^[a-z_$][a-z0-9_$:-]*$/i;function _z(t,e){let{RULES:r}=this;if((0,Ql.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!yz.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function Xl(t,e,r){var n;let o=e?.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[t]=!0,!e)return;let a={keyword:t,definition:{...e,type:(0,Ci.getJSONTypes)(e.type),schemaType:(0,Ci.getJSONTypes)(e.schemaType)}};e.before?vz.call(this,i,a,e.before):i.rules.push(a),s.all[t]=a,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function vz(t,e,r){let n=t.rules.findIndex(o=>o.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function bz(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=ay(e)),t.validateSchema=this.compile(e,!0))}var wz={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function ay(t){return{anyOf:[t,wz]}}});var uy=E(ed=>{"use strict";Object.defineProperty(ed,"__esModule",{value:!0});var $z={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};ed.default=$z});var fy=E(Jr=>{"use strict";Object.defineProperty(Jr,"__esModule",{value:!0});Jr.callRef=Jr.getValidate=void 0;var xz=Lo(),ly=mt(),et=K(),Cn=Gt(),dy=Ii(),ji=ne(),Sz={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=n,{root:u}=s;if((r==="#"||r==="#/")&&o===u.baseId)return d();let l=dy.resolveRef.call(c,u,o,r);if(l===void 0)throw new xz.default(n.opts.uriResolver,o,r);if(l instanceof dy.SchemaEnv)return p(l);return f(l);function d(){if(s===u)return Mi(t,i,s,s.$async);let m=e.scopeValue("root",{ref:u});return Mi(t,(0,et._)`${m}.validate`,u,u.$async)}function p(m){let h=py(t,m);Mi(t,h,m,m.$async)}function f(m){let h=e.scopeValue("schema",a.code.source===!0?{ref:m,code:(0,et.stringify)(m)}:{ref:m}),g=e.name("valid"),v=t.subschema({schema:m,dataTypes:[],schemaPath:et.nil,topSchemaRef:h,errSchemaPath:r},g);t.mergeEvaluated(v),t.ok(g)}}};function py(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,et._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Jr.getValidate=py;function Mi(t,e,r,n){let{gen:o,it:s}=t,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?Cn.default.this:et.nil;n?l():d();function l(){if(!a.$async)throw new Error("async schema referenced by sync schema");let m=o.let("valid");o.try(()=>{o.code((0,et._)`await ${(0,ly.callValidateCode)(t,e,u)}`),f(e),i||o.assign(m,!0)},h=>{o.if((0,et._)`!(${h} instanceof ${s.ValidationError})`,()=>o.throw(h)),p(h),i||o.assign(m,!1)}),t.ok(m)}function d(){t.result((0,ly.callValidateCode)(t,e,u),()=>f(e),()=>p(e))}function p(m){let h=(0,et._)`${m}.errors`;o.assign(Cn.default.vErrors,(0,et._)`${Cn.default.vErrors} === null ? ${h} : ${Cn.default.vErrors}.concat(${h})`),o.assign(Cn.default.errors,(0,et._)`${Cn.default.vErrors}.length`)}function f(m){var h;if(!s.opts.unevaluated)return;let g=(h=r?.validate)===null||h===void 0?void 0:h.evaluated;if(s.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(s.props=ji.mergeEvaluated.props(o,g.props,s.props));else{let v=o.var("props",(0,et._)`${m}.evaluated.props`);s.props=ji.mergeEvaluated.props(o,v,s.props,et.Name)}if(s.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(s.items=ji.mergeEvaluated.items(o,g.items,s.items));else{let v=o.var("items",(0,et._)`${m}.evaluated.items`);s.items=ji.mergeEvaluated.items(o,v,s.items,et.Name)}}}Jr.callRef=Mi;Jr.default=Sz});var my=E(td=>{"use strict";Object.defineProperty(td,"__esModule",{value:!0});var kz=uy(),Rz=fy(),zz=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",kz.default,Rz.default];td.default=zz});var hy=E(rd=>{"use strict";Object.defineProperty(rd,"__esModule",{value:!0});var Zi=K(),fr=Zi.operators,Di={maximum:{okStr:"<=",ok:fr.LTE,fail:fr.GT},minimum:{okStr:">=",ok:fr.GTE,fail:fr.LT},exclusiveMaximum:{okStr:"<",ok:fr.LT,fail:fr.GTE},exclusiveMinimum:{okStr:">",ok:fr.GT,fail:fr.LTE}},Tz={message:({keyword:t,schemaCode:e})=>(0,Zi.str)`must be ${Di[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Zi._)`{comparison: ${Di[t].okStr}, limit: ${e}}`},Ez={keyword:Object.keys(Di),type:"number",schemaType:"number",$data:!0,error:Tz,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,Zi._)`${r} ${Di[e].fail} ${n} || isNaN(${r})`)}};rd.default=Ez});var gy=E(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});var Go=K(),Pz={message:({schemaCode:t})=>(0,Go.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,Go._)`{multipleOf: ${t}}`},Iz={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Pz,code(t){let{gen:e,data:r,schemaCode:n,it:o}=t,s=o.opts.multipleOfPrecision,i=e.let("res"),a=s?(0,Go._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,Go._)`${i} !== parseInt(${i})`;t.fail$data((0,Go._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};nd.default=Iz});var _y=E(od=>{"use strict";Object.defineProperty(od,"__esModule",{value:!0});function yy(t){let e=t.length,r=0,n=0,o;for(;n<e;)r++,o=t.charCodeAt(n++),o>=55296&&o<=56319&&n<e&&(o=t.charCodeAt(n),(o&64512)===56320&&n++);return r}od.default=yy;yy.code='require("ajv/dist/runtime/ucs2length").default'});var vy=E(sd=>{"use strict";Object.defineProperty(sd,"__esModule",{value:!0});var Kr=K(),Oz=ne(),Nz=_y(),Az={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,Kr.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,Kr._)`{limit: ${t}}`},Cz={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Az,code(t){let{keyword:e,data:r,schemaCode:n,it:o}=t,s=e==="maxLength"?Kr.operators.GT:Kr.operators.LT,i=o.opts.unicode===!1?(0,Kr._)`${r}.length`:(0,Kr._)`${(0,Oz.useFunc)(t.gen,Nz.default)}(${r})`;t.fail$data((0,Kr._)`${i} ${s} ${n}`)}};sd.default=Cz});var by=E(id=>{"use strict";Object.defineProperty(id,"__esModule",{value:!0});var jz=mt(),Mz=ne(),jn=K(),Zz={message:({schemaCode:t})=>(0,jn.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,jn._)`{pattern: ${t}}`},Dz={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:Zz,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:s,it:i}=t,a=i.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=i.opts.code,u=c.code==="new RegExp"?(0,jn._)`new RegExp`:(0,Mz.useFunc)(e,c),l=e.let("valid");e.try(()=>e.assign(l,(0,jn._)`${u}(${s}, ${a}).test(${r})`),()=>e.assign(l,!1)),t.fail$data((0,jn._)`!${l}`)}else{let c=(0,jz.usePattern)(t,o);t.fail$data((0,jn._)`!${c}.test(${r})`)}}};id.default=Dz});var wy=E(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});var Jo=K(),qz={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,Jo.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,Jo._)`{limit: ${t}}`},Vz={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:qz,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxProperties"?Jo.operators.GT:Jo.operators.LT;t.fail$data((0,Jo._)`Object.keys(${r}).length ${o} ${n}`)}};ad.default=Vz});var $y=E(cd=>{"use strict";Object.defineProperty(cd,"__esModule",{value:!0});var Ko=mt(),Wo=K(),Lz=ne(),Uz={message:({params:{missingProperty:t}})=>(0,Wo.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,Wo._)`{missingProperty: ${t}}`},Fz={keyword:"required",type:"object",schemaType:"array",$data:!0,error:Uz,code(t){let{gen:e,schema:r,schemaCode:n,data:o,$data:s,it:i}=t,{opts:a}=i;if(!s&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors?u():l(),a.strictRequired){let f=t.parentSchema.properties,{definedProperties:m}=t.it;for(let h of r)if(f?.[h]===void 0&&!m.has(h)){let g=i.schemaEnv.baseId+i.errSchemaPath,v=`required property "${h}" is not defined at "${g}" (strictRequired)`;(0,Lz.checkStrictMode)(i,v,i.opts.strictRequired)}}function u(){if(c||s)t.block$data(Wo.nil,d);else for(let f of r)(0,Ko.checkReportMissingProp)(t,f)}function l(){let f=e.let("missing");if(c||s){let m=e.let("valid",!0);t.block$data(m,()=>p(f,m)),t.ok(m)}else e.if((0,Ko.checkMissingProp)(t,r,f)),(0,Ko.reportMissingProp)(t,f),e.else()}function d(){e.forOf("prop",n,f=>{t.setParams({missingProperty:f}),e.if((0,Ko.noPropertyInData)(e,o,f,a.ownProperties),()=>t.error())})}function p(f,m){t.setParams({missingProperty:f}),e.forOf(f,n,()=>{e.assign(m,(0,Ko.propertyInData)(e,o,f,a.ownProperties)),e.if((0,Wo.not)(m),()=>{t.error(),e.break()})},Wo.nil)}}};cd.default=Fz});var xy=E(ud=>{"use strict";Object.defineProperty(ud,"__esModule",{value:!0});var Yo=K(),Bz={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,Yo.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,Yo._)`{limit: ${t}}`},Hz={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:Bz,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxItems"?Yo.operators.GT:Yo.operators.LT;t.fail$data((0,Yo._)`${r}.length ${o} ${n}`)}};ud.default=Hz});var qi=E(ld=>{"use strict";Object.defineProperty(ld,"__esModule",{value:!0});var Sy=Nl();Sy.code='require("ajv/dist/runtime/equal").default';ld.default=Sy});var ky=E(pd=>{"use strict";Object.defineProperty(pd,"__esModule",{value:!0});var dd=Mo(),je=K(),Gz=ne(),Jz=qi(),Kz={message:({params:{i:t,j:e}})=>(0,je.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,je._)`{i: ${t}, j: ${e}}`},Wz={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:Kz,code(t){let{gen:e,data:r,$data:n,schema:o,parentSchema:s,schemaCode:i,it:a}=t;if(!n&&!o)return;let c=e.let("valid"),u=s.items?(0,dd.getSchemaTypes)(s.items):[];t.block$data(c,l,(0,je._)`${i} === false`),t.ok(c);function l(){let m=e.let("i",(0,je._)`${r}.length`),h=e.let("j");t.setParams({i:m,j:h}),e.assign(c,!0),e.if((0,je._)`${m} > 1`,()=>(d()?p:f)(m,h))}function d(){return u.length>0&&!u.some(m=>m==="object"||m==="array")}function p(m,h){let g=e.name("item"),v=(0,dd.checkDataTypes)(u,g,a.opts.strictNumbers,dd.DataType.Wrong),y=e.const("indices",(0,je._)`{}`);e.for((0,je._)`;${m}--;`,()=>{e.let(g,(0,je._)`${r}[${m}]`),e.if(v,(0,je._)`continue`),u.length>1&&e.if((0,je._)`typeof ${g} == "string"`,(0,je._)`${g} += "_"`),e.if((0,je._)`typeof ${y}[${g}] == "number"`,()=>{e.assign(h,(0,je._)`${y}[${g}]`),t.error(),e.assign(c,!1).break()}).code((0,je._)`${y}[${g}] = ${m}`)})}function f(m,h){let g=(0,Gz.useFunc)(e,Jz.default),v=e.name("outer");e.label(v).for((0,je._)`;${m}--;`,()=>e.for((0,je._)`${h} = ${m}; ${h}--;`,()=>e.if((0,je._)`${g}(${r}[${m}], ${r}[${h}])`,()=>{t.error(),e.assign(c,!1).break(v)})))}}};pd.default=Wz});var Ry=E(md=>{"use strict";Object.defineProperty(md,"__esModule",{value:!0});var fd=K(),Yz=ne(),Xz=qi(),Qz={message:"must be equal to constant",params:({schemaCode:t})=>(0,fd._)`{allowedValue: ${t}}`},eT={keyword:"const",$data:!0,error:Qz,code(t){let{gen:e,data:r,$data:n,schemaCode:o,schema:s}=t;n||s&&typeof s=="object"?t.fail$data((0,fd._)`!${(0,Yz.useFunc)(e,Xz.default)}(${r}, ${o})`):t.fail((0,fd._)`${s} !== ${r}`)}};md.default=eT});var zy=E(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});var Xo=K(),tT=ne(),rT=qi(),nT={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,Xo._)`{allowedValues: ${t}}`},oT={keyword:"enum",schemaType:"array",$data:!0,error:nT,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:s,it:i}=t;if(!n&&o.length===0)throw new Error("enum must have non-empty array");let a=o.length>=i.opts.loopEnum,c,u=()=>c??(c=(0,tT.useFunc)(e,rT.default)),l;if(a||n)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let f=e.const("vSchema",s);l=(0,Xo.or)(...o.map((m,h)=>p(f,h)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",s,f=>e.if((0,Xo._)`${u()}(${r}, ${f})`,()=>e.assign(l,!0).break()))}function p(f,m){let h=o[m];return typeof h=="object"&&h!==null?(0,Xo._)`${u()}(${r}, ${f}[${m}])`:(0,Xo._)`${r} === ${h}`}}};hd.default=oT});var Ty=E(gd=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});var sT=hy(),iT=gy(),aT=vy(),cT=by(),uT=wy(),lT=$y(),dT=xy(),pT=ky(),fT=Ry(),mT=zy(),hT=[sT.default,iT.default,aT.default,cT.default,uT.default,lT.default,dT.default,pT.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},fT.default,mT.default];gd.default=hT});var _d=E(Qo=>{"use strict";Object.defineProperty(Qo,"__esModule",{value:!0});Qo.validateAdditionalItems=void 0;var Wr=K(),yd=ne(),gT={message:({params:{len:t}})=>(0,Wr.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Wr._)`{limit: ${t}}`},yT={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:gT,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,yd.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}Ey(t,n)}};function Ey(t,e){let{gen:r,schema:n,data:o,keyword:s,it:i}=t;i.items=!0;let a=r.const("len",(0,Wr._)`${o}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,Wr._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0,yd.alwaysValidSchema)(i,n)){let u=r.var("valid",(0,Wr._)`${a} <= ${e.length}`);r.if((0,Wr.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,a,l=>{t.subschema({keyword:s,dataProp:l,dataPropType:yd.Type.Num},u),i.allErrors||r.if((0,Wr.not)(u),()=>r.break())})}}Qo.validateAdditionalItems=Ey;Qo.default=yT});var vd=E(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});es.validateTuple=void 0;var Py=K(),Vi=ne(),_T=mt(),vT={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return Iy(t,"additionalItems",e);r.items=!0,!(0,Vi.alwaysValidSchema)(r,e)&&t.ok((0,_T.validateArray)(t))}};function Iy(t,e,r=t.schema){let{gen:n,parentSchema:o,data:s,keyword:i,it:a}=t;l(o),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=Vi.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,Py._)`${s}.length`);r.forEach((d,p)=>{(0,Vi.alwaysValidSchema)(a,d)||(n.if((0,Py._)`${u} > ${p}`,()=>t.subschema({keyword:i,schemaProp:p,dataProp:p},c)),t.ok(c))});function l(d){let{opts:p,errSchemaPath:f}=a,m=r.length,h=m===d.minItems&&(m===d.maxItems||d[e]===!1);if(p.strictTuples&&!h){let g=`"${i}" is ${m}-tuple, but minItems or maxItems/${e} are not specified or different at path "${f}"`;(0,Vi.checkStrictMode)(a,g,p.strictTuples)}}}es.validateTuple=Iy;es.default=vT});var Oy=E(bd=>{"use strict";Object.defineProperty(bd,"__esModule",{value:!0});var bT=vd(),wT={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,bT.validateTuple)(t,"items")};bd.default=wT});var Ay=E(wd=>{"use strict";Object.defineProperty(wd,"__esModule",{value:!0});var Ny=K(),$T=ne(),xT=mt(),ST=_d(),kT={message:({params:{len:t}})=>(0,Ny.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Ny._)`{limit: ${t}}`},RT={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:kT,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,$T.alwaysValidSchema)(n,e)&&(o?(0,ST.validateAdditionalItems)(t,o):t.ok((0,xT.validateArray)(t)))}};wd.default=RT});var Cy=E($d=>{"use strict";Object.defineProperty($d,"__esModule",{value:!0});var gt=K(),Li=ne(),zT={message:({params:{min:t,max:e}})=>e===void 0?(0,gt.str)`must contain at least ${t} valid item(s)`:(0,gt.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,gt._)`{minContains: ${t}}`:(0,gt._)`{minContains: ${t}, maxContains: ${e}}`},TT={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:zT,code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:s}=t,i,a,{minContains:c,maxContains:u}=n;s.opts.next?(i=c===void 0?1:c,a=u):i=1;let l=e.const("len",(0,gt._)`${o}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0,Li.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,Li.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,Li.alwaysValidSchema)(s,r)){let h=(0,gt._)`${l} >= ${i}`;a!==void 0&&(h=(0,gt._)`${h} && ${l} <= ${a}`),t.pass(h);return}s.items=!0;let d=e.name("valid");a===void 0&&i===1?f(d,()=>e.if(d,()=>e.break())):i===0?(e.let(d,!0),a!==void 0&&e.if((0,gt._)`${o}.length > 0`,p)):(e.let(d,!1),p()),t.result(d,()=>t.reset());function p(){let h=e.name("_valid"),g=e.let("count",0);f(h,()=>e.if(h,()=>m(g)))}function f(h,g){e.forRange("i",0,l,v=>{t.subschema({keyword:"contains",dataProp:v,dataPropType:Li.Type.Num,compositeRule:!0},h),g()})}function m(h){e.code((0,gt._)`${h}++`),a===void 0?e.if((0,gt._)`${h} >= ${i}`,()=>e.assign(d,!0).break()):(e.if((0,gt._)`${h} > ${a}`,()=>e.assign(d,!1).break()),i===1?e.assign(d,!0):e.if((0,gt._)`${h} >= ${i}`,()=>e.assign(d,!0)))}}};$d.default=TT});var Zy=E(Ct=>{"use strict";Object.defineProperty(Ct,"__esModule",{value:!0});Ct.validateSchemaDeps=Ct.validatePropertyDeps=Ct.error=void 0;var xd=K(),ET=ne(),ts=mt();Ct.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,xd.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,xd._)`{property: ${t},
7
+ || ${i} === "boolean" || ${o} === null`).assign(a,(0,G._)`[${o}]`)}}}function YS({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,G._)`${e} !== undefined`,()=>t.assign((0,G._)`${e}[${r}]`,n))}function zl(t,e,r,n=Pn.Correct){let o=n===Pn.Correct?G.operators.EQ:G.operators.NEQ,s;switch(t){case"null":return(0,G._)`${e} ${o} null`;case"array":s=(0,G._)`Array.isArray(${e})`;break;case"object":s=(0,G._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":s=i((0,G._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":s=i();break;default:return(0,G._)`typeof ${e} ${o} ${t}`}return n===Pn.Correct?s:(0,G.not)(s);function i(a=G.nil){return(0,G.and)((0,G._)`typeof ${e} == "number"`,a,r?(0,G._)`isFinite(${e})`:G.nil)}}Ue.checkDataType=zl;function El(t,e,r,n){if(t.length===1)return zl(t[0],e,r,n);let o,s=(0,rg.toHash)(t);if(s.array&&s.object){let i=(0,G._)`typeof ${e} != "object"`;o=s.null?i:(0,G._)`!${e} || ${i}`,delete s.null,delete s.array,delete s.object}else o=G.nil;s.number&&delete s.integer;for(let i in s)o=(0,G.and)(o,zl(i,e,r,n));return o}Ue.checkDataTypes=El;var XS={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,G._)`{type: ${t}}`:(0,G._)`{type: ${e}}`};function Pl(t){let e=QS(t);(0,HS.reportError)(e,XS)}Ue.reportTypeError=Pl;function QS(t){let{gen:e,data:r,schema:n}=t,o=(0,rg.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var ig=E(Ri=>{"use strict";Object.defineProperty(Ri,"__esModule",{value:!0});Ri.assignDefaults=void 0;var In=K(),ek=ne();function tk(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)sg(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,s)=>sg(t,s,o.default))}Ri.assignDefaults=tk;function sg(t,e,r){let{gen:n,compositeRule:o,data:s,opts:i}=t;if(r===void 0)return;let a=(0,In._)`${s}${(0,In.getProperty)(e)}`;if(o){(0,ek.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,In._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,In._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,In._)`${a} = ${(0,In.stringify)(r)}`)}});var ht=E(ue=>{"use strict";Object.defineProperty(ue,"__esModule",{value:!0});ue.validateUnion=ue.validateArray=ue.usePattern=ue.callValidateCode=ue.schemaProperties=ue.allSchemaProperties=ue.noPropertyInData=ue.propertyInData=ue.isOwnProperty=ue.hasPropFunc=ue.reportMissingProp=ue.checkMissingProp=ue.checkReportMissingProp=void 0;var ge=K(),Il=ne(),dr=Kt(),rk=ne();function nk(t,e){let{gen:r,data:n,it:o}=t;r.if(Nl(r,n,e,o.opts.ownProperties),()=>{t.setParams({missingProperty:(0,ge._)`${e}`},!0),t.error()})}ue.checkReportMissingProp=nk;function ok({gen:t,data:e,it:{opts:r}},n,o){return(0,ge.or)(...n.map(s=>(0,ge.and)(Nl(t,e,s,r.ownProperties),(0,ge._)`${o} = ${s}`)))}ue.checkMissingProp=ok;function sk(t,e){t.setParams({missingProperty:e},!0),t.error()}ue.reportMissingProp=sk;function ag(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,ge._)`Object.prototype.hasOwnProperty`})}ue.hasPropFunc=ag;function Ol(t,e,r){return(0,ge._)`${ag(t)}.call(${e}, ${r})`}ue.isOwnProperty=Ol;function ik(t,e,r,n){let o=(0,ge._)`${e}${(0,ge.getProperty)(r)} !== undefined`;return n?(0,ge._)`${o} && ${Ol(t,e,r)}`:o}ue.propertyInData=ik;function Nl(t,e,r,n){let o=(0,ge._)`${e}${(0,ge.getProperty)(r)} === undefined`;return n?(0,ge.or)(o,(0,ge.not)(Ol(t,e,r))):o}ue.noPropertyInData=Nl;function cg(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}ue.allSchemaProperties=cg;function ak(t,e){return cg(e).filter(r=>!(0,Il.alwaysValidSchema)(t,e[r]))}ue.schemaProperties=ak;function ck({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,u){let l=u?(0,ge._)`${t}, ${e}, ${n}${o}`:e,d=[[dr.default.instancePath,(0,ge.strConcat)(dr.default.instancePath,s)],[dr.default.parentData,i.parentData],[dr.default.parentDataProperty,i.parentDataProperty],[dr.default.rootData,dr.default.rootData]];i.opts.dynamicRef&&d.push([dr.default.dynamicAnchors,dr.default.dynamicAnchors]);let f=(0,ge._)`${l}, ${r.object(...d)}`;return c!==ge.nil?(0,ge._)`${a}.call(${c}, ${f})`:(0,ge._)`${a}(${f})`}ue.callValidateCode=ck;var uk=(0,ge._)`new RegExp`;function lk({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:o}=e.code,s=o(r,n);return t.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,ge._)`${o.code==="new RegExp"?uk:(0,rk.useFunc)(t,o)}(${r}, ${n})`})}ue.usePattern=lk;function dk(t){let{gen:e,data:r,keyword:n,it:o}=t,s=e.name("valid");if(o.allErrors){let a=e.let("valid",!0);return i(()=>e.assign(a,!1)),a}return e.var(s,!0),i(()=>e.break()),s;function i(a){let c=e.const("len",(0,ge._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:Il.Type.Num},s),e.if((0,ge.not)(s),a)})}}ue.validateArray=dk;function pk(t){let{gen:e,schema:r,keyword:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,Il.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let i=e.let("valid",!1),a=e.name("_valid");e.block(()=>r.forEach((c,u)=>{let l=t.subschema({keyword:n,schemaProp:u,compositeRule:!0},a);e.assign(i,(0,ge._)`${i} || ${a}`),t.mergeValidEvaluated(l,a)||e.if((0,ge.not)(i))})),t.result(i,()=>t.reset(),()=>t.error(!0))}ue.validateUnion=pk});var dg=E(Ct=>{"use strict";Object.defineProperty(Ct,"__esModule",{value:!0});Ct.validateKeywordUsage=Ct.validSchemaType=Ct.funcKeywordCode=Ct.macroKeywordCode=void 0;var Ge=K(),Gr=Kt(),fk=ht(),mk=Mo();function hk(t,e){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=t,a=e.macro.call(i.self,o,s,i),c=lg(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let u=r.name("valid");t.subschema({schema:a,schemaPath:Ge.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}Ct.macroKeywordCode=hk;function gk(t,e){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=t;_k(c,e);let u=!a&&e.compile?e.compile.call(c.self,s,i,c):e.validate,l=lg(n,o,u),d=n.let("valid");t.block$data(d,f),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function f(){if(e.errors===!1)m(),e.modifying&&ug(t),g(()=>t.error());else{let _=e.async?h():p();e.modifying&&ug(t),g(()=>yk(t,_))}}function h(){let _=n.let("ruleErrs",null);return n.try(()=>m((0,Ge._)`await `),y=>n.assign(d,!1).if((0,Ge._)`${y} instanceof ${c.ValidationError}`,()=>n.assign(_,(0,Ge._)`${y}.errors`),()=>n.throw(y))),_}function p(){let _=(0,Ge._)`${l}.errors`;return n.assign(_,null),m(Ge.nil),_}function m(_=e.async?(0,Ge._)`await `:Ge.nil){let y=c.opts.passContext?Gr.default.this:Gr.default.self,w=!("compile"in e&&!a||e.schema===!1);n.assign(d,(0,Ge._)`${_}${(0,fk.callValidateCode)(t,l,y,w)}`,e.modifying)}function g(_){var y;n.if((0,Ge.not)((y=e.valid)!==null&&y!==void 0?y:d),_)}}Ct.funcKeywordCode=gk;function ug(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,Ge._)`${n.parentData}[${n.parentDataProperty}]`))}function yk(t,e){let{gen:r}=t;r.if((0,Ge._)`Array.isArray(${e})`,()=>{r.assign(Gr.default.vErrors,(0,Ge._)`${Gr.default.vErrors} === null ? ${e} : ${Gr.default.vErrors}.concat(${e})`).assign(Gr.default.errors,(0,Ge._)`${Gr.default.vErrors}.length`),(0,mk.extendErrors)(t)},()=>t.error())}function _k({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function lg(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Ge.stringify)(r)})}function vk(t,e,r=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}Ct.validSchemaType=vk;function bk({schema:t,opts:e,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(t,a)))throw new Error(`parent schema must have dependencies of ${s}: ${i.join(",")}`);if(o.validateSchema&&!o.validateSchema(t[s])){let c=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}Ct.validateKeywordUsage=bk});var fg=E(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.extendSubschemaMode=pr.extendSubschemaData=pr.getSubschema=void 0;var jt=K(),pg=ne();function wk(t,{keyword:e,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:s,topSchemaRef:i}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let a=t.schema[e];return r===void 0?{schema:a,schemaPath:(0,jt._)`${t.schemaPath}${(0,jt.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0,jt._)`${t.schemaPath}${(0,jt.getProperty)(e)}${(0,jt.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,pg.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')}pr.getSubschema=wk;function $k(t,e,{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}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,f=a.let("data",(0,jt._)`${e.data}${(0,jt.getProperty)(r)}`,!0);c(f),t.errorPath=(0,jt.str)`${u}${(0,pg.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,jt._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(o!==void 0){let u=o instanceof jt.Name?o:a.let("data",o,!0);c(u),i!==void 0&&(t.propertyName=i)}s&&(t.dataTypes=s);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u]}}pr.extendSubschemaData=$k;function xk(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:s}){n!==void 0&&(t.compositeRule=n),o!==void 0&&(t.createErrors=o),s!==void 0&&(t.allErrors=s),t.jtdDiscriminator=e,t.jtdMetadata=r}pr.extendSubschemaMode=xk});var Al=E((Cj,mg)=>{"use strict";mg.exports=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,o,s;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!t(e[o],r[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(s=Object.keys(e),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(!t(e[i],r[i]))return!1}return!0}return e!==e&&r!==r}});var gg=E((jj,hg)=>{"use strict";var fr=hg.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};Ti(e,n,o,t,"",t)};fr.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};fr.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};fr.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};fr.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 Ti(t,e,r,n,o,s,i,a,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,o,s,i,a,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in fr.arrayKeywords)for(var f=0;f<d.length;f++)Ti(t,e,r,d[f],o+"/"+l+"/"+f,s,o,l,n,f)}else if(l in fr.propsKeywords){if(d&&typeof d=="object")for(var h in d)Ti(t,e,r,d[h],o+"/"+l+"/"+Sk(h),s,o,l,n,h)}else(l in fr.keywords||t.allKeys&&!(l in fr.skipKeywords))&&Ti(t,e,r,d,o+"/"+l,s,o,l,n)}r(n,o,s,i,a,c,u)}}function Sk(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var Do=E(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.getSchemaRefs=tt.resolveUrl=tt.normalizeId=tt._getFullPath=tt.getFullPath=tt.inlineRef=void 0;var kk=ne(),Rk=Al(),Tk=gg(),zk=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Ek(t,e=!0){return typeof t=="boolean"?!0:e===!0?!Cl(t):e?yg(t)<=e:!1}tt.inlineRef=Ek;var Pk=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Cl(t){for(let e in t){if(Pk.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(Cl)||typeof r=="object"&&Cl(r))return!0}return!1}function yg(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!zk.has(r)&&(typeof t[r]=="object"&&(0,kk.eachItem)(t[r],n=>e+=yg(n)),e===1/0))return 1/0}return e}function _g(t,e="",r){r!==!1&&(e=On(e));let n=t.parse(e);return vg(t,n)}tt.getFullPath=_g;function vg(t,e){return t.serialize(e).split("#")[0]+"#"}tt._getFullPath=vg;var Ik=/#\/?$/;function On(t){return t?t.replace(Ik,""):""}tt.normalizeId=On;function Ok(t,e,r){return r=On(r),t.resolve(e,r)}tt.resolveUrl=Ok;var Nk=/^[a-z_][-a-z0-9._]*$/i;function Ak(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=On(t[r]||e),s={"":o},i=_g(n,o,!1),a={},c=new Set;return Tk(t,{allKeys:!0},(d,f,h,p)=>{if(p===void 0)return;let m=i+f,g=s[p];typeof d[r]=="string"&&(g=_.call(this,d[r])),y.call(this,d.$anchor),y.call(this,d.$dynamicAnchor),s[f]=g;function _(w){let z=this.opts.uriResolver.resolve;if(w=On(g?z(g,w):w),c.has(w))throw l(w);c.add(w);let j=this.refs[w];return typeof j=="string"&&(j=this.refs[j]),typeof j=="object"?u(d,j.schema,w):w!==On(m)&&(w[0]==="#"?(u(d,a[w],w),a[w]=d):this.refs[w]=m),w}function y(w){if(typeof w=="string"){if(!Nk.test(w))throw new Error(`invalid anchor "${w}"`);_.call(this,`#${w}`)}}}),a;function u(d,f,h){if(f!==void 0&&!Rk(d,f))throw l(h)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}tt.getSchemaRefs=Ak});var Lo=E(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.getData=mr.KeywordCxt=mr.validateFunctionCode=void 0;var Sg=Qh(),bg=Zo(),Ml=Tl(),zi=Zo(),Ck=ig(),Vo=dg(),jl=fg(),C=K(),U=Kt(),jk=Do(),Wt=ne(),qo=Mo();function Mk(t){if(Tg(t)&&(zg(t),Rg(t))){qk(t);return}kg(t,()=>(0,Sg.topBoolOrEmptySchema)(t))}mr.validateFunctionCode=Mk;function kg({gen:t,validateName:e,schema:r,schemaEnv:n,opts:o},s){o.code.es5?t.func(e,(0,C._)`${U.default.data}, ${U.default.valCxt}`,n.$async,()=>{t.code((0,C._)`"use strict"; ${wg(r,o)}`),Dk(t,o),t.code(s)}):t.func(e,(0,C._)`${U.default.data}, ${Zk(o)}`,n.$async,()=>t.code(wg(r,o)).code(s))}function Zk(t){return(0,C._)`{${U.default.instancePath}="", ${U.default.parentData}, ${U.default.parentDataProperty}, ${U.default.rootData}=${U.default.data}${t.dynamicRef?(0,C._)`, ${U.default.dynamicAnchors}={}`:C.nil}}={}`}function Dk(t,e){t.if(U.default.valCxt,()=>{t.var(U.default.instancePath,(0,C._)`${U.default.valCxt}.${U.default.instancePath}`),t.var(U.default.parentData,(0,C._)`${U.default.valCxt}.${U.default.parentData}`),t.var(U.default.parentDataProperty,(0,C._)`${U.default.valCxt}.${U.default.parentDataProperty}`),t.var(U.default.rootData,(0,C._)`${U.default.valCxt}.${U.default.rootData}`),e.dynamicRef&&t.var(U.default.dynamicAnchors,(0,C._)`${U.default.valCxt}.${U.default.dynamicAnchors}`)},()=>{t.var(U.default.instancePath,(0,C._)`""`),t.var(U.default.parentData,(0,C._)`undefined`),t.var(U.default.parentDataProperty,(0,C._)`undefined`),t.var(U.default.rootData,U.default.data),e.dynamicRef&&t.var(U.default.dynamicAnchors,(0,C._)`{}`)})}function qk(t){let{schema:e,opts:r,gen:n}=t;kg(t,()=>{r.$comment&&e.$comment&&Pg(t),Bk(t),n.let(U.default.vErrors,null),n.let(U.default.errors,0),r.unevaluated&&Vk(t),Eg(t),Jk(t)})}function Vk(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,C._)`${r}.evaluated`),e.if((0,C._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,C._)`${t.evaluated}.props`,(0,C._)`undefined`)),e.if((0,C._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,C._)`${t.evaluated}.items`,(0,C._)`undefined`))}function wg(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,C._)`/*# sourceURL=${r} */`:C.nil}function Lk(t,e){if(Tg(t)&&(zg(t),Rg(t))){Uk(t,e);return}(0,Sg.boolOrEmptySchema)(t,e)}function Rg({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function Tg(t){return typeof t.schema!="boolean"}function Uk(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&Pg(t),Hk(t),Gk(t);let s=n.const("_errs",U.default.errors);Eg(t,s),n.var(e,(0,C._)`${s} === ${U.default.errors}`)}function zg(t){(0,Wt.checkUnknownRules)(t),Fk(t)}function Eg(t,e){if(t.opts.jtd)return $g(t,[],!1,e);let r=(0,bg.getSchemaTypes)(t.schema),n=(0,bg.coerceAndCheckDataType)(t,r);$g(t,r,!n,e)}function Fk(t){let{schema:e,errSchemaPath:r,opts:n,self:o}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,Wt.schemaHasRulesButRef)(e,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function Bk(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Wt.checkStrictMode)(t,"default is ignored in the schema root")}function Hk(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,jk.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function Gk(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function Pg({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)t.code((0,C._)`${U.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,C.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,C._)`${U.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function Jk(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=t;r.$async?e.if((0,C._)`${U.default.errors} === 0`,()=>e.return(U.default.data),()=>e.throw((0,C._)`new ${o}(${U.default.vErrors})`)):(e.assign((0,C._)`${n}.errors`,U.default.vErrors),s.unevaluated&&Kk(t),e.return((0,C._)`${U.default.errors} === 0`))}function Kk({gen:t,evaluated:e,props:r,items:n}){r instanceof C.Name&&t.assign((0,C._)`${e}.props`,r),n instanceof C.Name&&t.assign((0,C._)`${e}.items`,n)}function $g(t,e,r,n){let{gen:o,schema:s,data:i,allErrors:a,opts:c,self:u}=t,{RULES:l}=u;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,Wt.schemaHasRulesButRef)(s,l))){o.block(()=>Og(t,"$ref",l.all.$ref.definition));return}c.jtd||Wk(t,e),o.block(()=>{for(let f of l.rules)d(f);d(l.post)});function d(f){(0,Ml.shouldUseGroup)(s,f)&&(f.type?(o.if((0,zi.checkDataType)(f.type,i,c.strictNumbers)),xg(t,f),e.length===1&&e[0]===f.type&&r&&(o.else(),(0,zi.reportTypeError)(t)),o.endIf()):xg(t,f),a||o.if((0,C._)`${U.default.errors} === ${n||0}`))}}function xg(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,Ck.assignDefaults)(t,e.type),r.block(()=>{for(let s of e.rules)(0,Ml.shouldUseRule)(n,s)&&Og(t,s.keyword,s.definition,e.type)})}function Wk(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(Yk(t,e),t.opts.allowUnionTypes||Xk(t,e),Qk(t,t.dataTypes))}function Yk(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{Ig(t.dataTypes,r)||Zl(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),tR(t,e)}}function Xk(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Zl(t,"use allowUnionTypes to allow union type keyword")}function Qk(t,e){let r=t.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,Ml.shouldUseRule)(t.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>eR(e,i))&&Zl(t,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function eR(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function Ig(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function tR(t,e){let r=[];for(let n of t.dataTypes)Ig(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function Zl(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,Wt.checkStrictMode)(t,e,t.opts.strictTypes)}var Ei=class{constructor(e,r,n){if((0,Vo.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Wt.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",Ng(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Vo.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=e.gen.const("_errs",U.default.errors))}result(e,r,n){this.failResult((0,C.not)(e),r,n)}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,C.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0,C._)`${r} !== undefined && (${(0,C.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?qo.reportExtraError:qo.reportError)(this,this.def.error,r)}$dataError(){(0,qo.reportError)(this,this.def.$dataError||qo.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,qo.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=C.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=C.nil,r=C.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,C.or)((0,C._)`${o} === undefined`,r)),e!==C.nil&&n.assign(e,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==C.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,C.or)(i(),a());function i(){if(n.length){if(!(r instanceof C.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,C._)`${(0,zi.checkDataTypes)(c,r,s.opts.strictNumbers,zi.DataType.Wrong)}`}return C.nil}function a(){if(o.validateSchema){let c=e.scopeValue("validate$data",{ref:o.validateSchema});return(0,C._)`!${c}(${r})`}return C.nil}}subschema(e,r){let n=(0,jl.getSubschema)(this.it,e);(0,jl.extendSubschemaData)(n,this.it,e),(0,jl.extendSubschemaMode)(n,e);let o={...this.it,...n,items:void 0,props:void 0};return Lk(o,r),o}mergeEvaluated(e,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=Wt.mergeEvaluated.props(o,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=Wt.mergeEvaluated.items(o,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:o}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return o.if(r,()=>this.mergeEvaluated(e,C.Name)),!0}};mr.KeywordCxt=Ei;function Og(t,e,r,n){let o=new Ei(t,r,e);"code"in r?r.code(o,n):o.$data&&r.validate?(0,Vo.funcKeywordCode)(o,r):"macro"in r?(0,Vo.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,Vo.funcKeywordCode)(o,r)}var rR=/^\/(?:[^~]|~0|~1)*$/,nR=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Ng(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,s;if(t==="")return U.default.rootData;if(t[0]==="/"){if(!rR.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,s=U.default.rootData}else{let u=nR.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);let l=+u[1];if(o=u[2],o==="#"){if(l>=e)throw new Error(c("property/index",l));return n[e-l]}if(l>e)throw new Error(c("data",l));if(s=r[e-l],!o)return s}let i=s,a=o.split("/");for(let u of a)u&&(s=(0,C._)`${s}${(0,C.getProperty)((0,Wt.unescapeJsonPointer)(u))}`,i=(0,C._)`${i} && ${s}`);return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}mr.getData=Ng});var Pi=E(ql=>{"use strict";Object.defineProperty(ql,"__esModule",{value:!0});var Dl=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};ql.default=Dl});var Uo=E(Ul=>{"use strict";Object.defineProperty(Ul,"__esModule",{value:!0});var Vl=Do(),Ll=class extends Error{constructor(e,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,Vl.resolveUrl)(e,r,n),this.missingSchema=(0,Vl.normalizeId)((0,Vl.getFullPath)(e,this.missingRef))}};Ul.default=Ll});var Oi=E(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.resolveSchema=gt.getCompilingSchema=gt.resolveRef=gt.compileSchema=gt.SchemaEnv=void 0;var kt=K(),oR=Pi(),Jr=Kt(),Rt=Do(),Ag=ne(),sR=Lo(),Nn=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,Rt.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};gt.SchemaEnv=Nn;function Bl(t){let e=Cg.call(this,t);if(e)return e;let r=(0,Rt.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new kt.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;t.$async&&(a=i.scopeValue("Error",{ref:oR.default,code:(0,kt._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");t.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:Jr.default.data,parentData:Jr.default.parentData,parentDataProperty:Jr.default.parentDataProperty,dataNames:[Jr.default.data],dataPathArr:[kt.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,kt.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:kt.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,kt._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,sR.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let d=i.toString();l=`${i.scopeRefs(Jr.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let h=new Function(`${Jr.default.self}`,`${Jr.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:h}),h.errors=null,h.schema=t.schema,h.schemaEnv=t,t.$async&&(h.$async=!0),this.opts.code.source===!0&&(h.source={validateName:c,validateCode:d,scopeValues:i._values}),this.opts.unevaluated){let{props:p,items:m}=u;h.evaluated={props:p instanceof kt.Name?void 0:p,items:m instanceof kt.Name?void 0:m,dynamicProps:p instanceof kt.Name,dynamicItems:m instanceof kt.Name},h.source&&(h.source.evaluated=(0,kt.stringify)(h.evaluated))}return t.validate=h,t}catch(d){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),d}finally{this._compilations.delete(t)}}gt.compileSchema=Bl;function iR(t,e,r){var n;r=(0,Rt.resolveUrl)(this.opts.uriResolver,e,r);let o=t.refs[r];if(o)return o;let s=uR.call(this,t,r);if(s===void 0){let i=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;i&&(s=new Nn({schema:i,schemaId:a,root:t,baseId:e}))}if(s!==void 0)return t.refs[r]=aR.call(this,s)}gt.resolveRef=iR;function aR(t){return(0,Rt.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:Bl.call(this,t)}function Cg(t){for(let e of this._compilations)if(cR(e,t))return e}gt.getCompilingSchema=Cg;function cR(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function uR(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||Ii.call(this,t,e)}function Ii(t,e){let r=this.opts.uriResolver.parse(e),n=(0,Rt._getFullPath)(this.opts.uriResolver,r),o=(0,Rt.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===o)return Fl.call(this,r,t);let s=(0,Rt.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=Ii.call(this,t,i);return typeof a?.schema!="object"?void 0:Fl.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||Bl.call(this,i),s===(0,Rt.normalizeId)(e)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,Rt.resolveUrl)(this.opts.uriResolver,o,u)),new Nn({schema:a,schemaId:c,root:t,baseId:o})}return Fl.call(this,r,i)}}gt.resolveSchema=Ii;var lR=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Fl(t,{baseId:e,schema:r,root:n}){var o;if(((o=t.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let a of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,Ag.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!lR.has(a)&&u&&(e=(0,Rt.resolveUrl)(this.opts.uriResolver,e,u))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,Ag.schemaHasRulesButRef)(r,this.RULES)){let a=(0,Rt.resolveUrl)(this.opts.uriResolver,e,r.$ref);s=Ii.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new Nn({schema:r,schemaId:i,root:n,baseId:e}),s.schema!==s.root.schema)return s}});var jg=E((Lj,dR)=>{dR.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 Jl=E((Uj,Lg)=>{"use strict";var pR=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Zg=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),Hl=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),Dg=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),fR=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function Gl(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";e+=t[n]}return e}var mR=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Mg(t){return t.length=0,!0}function hR(t,e,r){if(t.length){let n=Gl(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function gR(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=hR;for(let c=0;c<t.length;c++){let u=t[c];if(!(u==="["||u==="]"))if(u===":"){if(s===!0&&(i=!0),!a(o,n,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(s=!0),n.push(":");continue}else if(u==="%"){if(!a(o,n,r))break;a=Mg}else{o.push(u);continue}}return o.length&&(a===Mg?r.zone=o.join(""):i?n.push(o.join("")):n.push(Gl(o))),r.address=n.join(""),r}function qg(t){if(yR(t,":")<2)return{host:t,isIPV6:!1};let e=gR(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:n}}}function yR(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function _R(t){let e=t,r=[],n=-1,o=0;for(;o=e.length;){if(o===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(o===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(o===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n)}return r.join("")}var vR={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},bR=/[@/?#:]/g,wR=/[@/?#]/g;function Vg(t,e){let r=e?wR:bR;return r.lastIndex=0,t.replace(r,n=>vR[n])}function $R(t,e=!1){if(t.indexOf("%")===-1)return t;let r="";for(let n=0;n<t.length;n++){if(t[n]==="%"&&n+2<t.length){let o=t.slice(n+1,n+3);if(Hl(o)){let s=o.toUpperCase(),i=String.fromCharCode(parseInt(s,16));e&&Dg(i)?r+=i:r+="%"+s,n+=2;continue}}r+=t[n]}return r}function xR(t){let e="";for(let r=0;r<t.length;r++){if(t[r]==="%"&&r+2<t.length){let n=t.slice(r+1,r+3);if(Hl(n)){let o=n.toUpperCase(),s=String.fromCharCode(parseInt(o,16));s!=="."&&Dg(s)?e+=s:e+="%"+o,r+=2;continue}}fR(t[r])?e+=t[r]:e+=escape(t[r])}return e}function SR(t){let e="";for(let r=0;r<t.length;r++){if(t[r]==="%"&&r+2<t.length){let n=t.slice(r+1,r+3);if(Hl(n)){e+="%"+n.toUpperCase(),r+=2;continue}}e+=escape(t[r])}return e}function kR(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!Zg(r)){let n=qg(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=Vg(r,!1)}e.push(r)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}Lg.exports={nonSimpleDomain:mR,recomposeAuthority:kR,reescapeHostDelimiters:Vg,normalizePercentEncoding:$R,normalizePathEncoding:xR,escapePreservingEscapes:SR,removeDotSegments:_R,isIPv4:Zg,isUUID:pR,normalizeIPv6:qg,stringArrayToHexStripped:Gl}});var Gg=E((Fj,Hg)=>{"use strict";var{isUUID:RR}=Jl(),TR=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,zR=["http","https","ws","wss","urn","urn:uuid"];function ER(t){return zR.indexOf(t)!==-1}function Kl(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function Ug(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function Fg(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function PR(t){return t.secure=Kl(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function IR(t){if((t.port===(Kl(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function OR(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(TR);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let o=`${n}:${e.nid||t.nid}`,s=Wl(o);t.path=void 0,s&&(t=s.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function NR(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),o=`${r}:${e.nid||n}`,s=Wl(o);s&&(t=s.serialize(t,e));let i=t,a=t.nss;return i.path=`${n||e.nid}:${a}`,e.skipEscape=!0,i}function AR(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!RR(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function CR(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var Bg={scheme:"http",domainHost:!0,parse:Ug,serialize:Fg},jR={scheme:"https",domainHost:Bg.domainHost,parse:Ug,serialize:Fg},Ni={scheme:"ws",domainHost:!0,parse:PR,serialize:IR},MR={scheme:"wss",domainHost:Ni.domainHost,parse:Ni.parse,serialize:Ni.serialize},ZR={scheme:"urn",parse:OR,serialize:NR,skipNormalize:!0},DR={scheme:"urn:uuid",parse:AR,serialize:CR,skipNormalize:!0},Ai={http:Bg,https:jR,ws:Ni,wss:MR,urn:ZR,"urn:uuid":DR};Object.setPrototypeOf(Ai,null);function Wl(t){return t&&(Ai[t]||Ai[t.toLowerCase()])||void 0}Hg.exports={wsIsSecure:Kl,SCHEMES:Ai,isValidSchemeName:ER,getSchemeHandler:Wl}});var Qg=E((Bj,Ci)=>{"use strict";var{normalizeIPv6:qR,removeDotSegments:Fo,recomposeAuthority:VR,normalizePercentEncoding:LR,normalizePathEncoding:UR,escapePreservingEscapes:FR,reescapeHostDelimiters:BR,isIPv4:HR,nonSimpleDomain:GR}=Jl(),{SCHEMES:JR,getSchemeHandler:Kg}=Gg();function KR(t,e){return typeof t=="string"?t=tT(t,e):typeof t=="object"&&(t=An(Kr(t,e),e)),t}function WR(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=Wg(An(t,n),An(e,n),n,!0);return n.skipEscape=!0,Kr(o,n)}function Wg(t,e,r,n){let o={};return n||(t=An(Kr(t,r),r),e=An(Kr(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(o.scheme=e.scheme,o.userinfo=e.userinfo,o.host=e.host,o.port=e.port,o.path=Fo(e.path||""),o.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(o.userinfo=e.userinfo,o.host=e.host,o.port=e.port,o.path=Fo(e.path||""),o.query=e.query):(e.path?(e.path[0]==="/"?o.path=Fo(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?o.path="/"+e.path:t.path?o.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:o.path=e.path,o.path=Fo(o.path)),o.query=e.query):(o.path=t.path,e.query!==void 0?o.query=e.query:o.query=t.query),o.userinfo=t.userinfo,o.host=t.host,o.port=t.port),o.scheme=t.scheme),o.fragment=e.fragment,o}function YR(t,e,r){let n=Jg(t,r),o=Jg(e,r);return n!==void 0&&o!==void 0&&n.toLowerCase()===o.toLowerCase()}function Kr(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),o=[],s=Kg(n.scheme||r.scheme);s&&s.serialize&&s.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=LR(r.path):(r.path=FR(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&o.push(r.scheme,":");let i=VR(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=Fo(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 XR=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u,QR=/^(?:[^#/:?]+:)?\/\/([^/?#]*)/;function eT(t,e){if(e[2]!==void 0&&t.path&&t.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof t.port=="number"&&(t.port<0||t.port>65535))return"URI port is malformed."}function Yg(t,e){let r=Object.assign({},e),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?t=r.scheme+":"+t:t="//"+t);let i=t.match(QR);i!==null&&i[1].indexOf("\\")!==-1&&(n.error="URI authority must not contain a literal backslash.",o=!0);let a=t.match(XR);if(a){n.scheme=a[1],n.userinfo=a[3],n.host=a[4],n.port=parseInt(a[5],10),n.path=a[6]||"",n.query=a[7],n.fragment=a[8],isNaN(n.port)&&(n.port=a[5]);let c=eT(n,a);if(c!==void 0&&(n.error=n.error||c,o=!0),n.host)if(HR(n.host)===!1){let d=qR(n.host);n.host=d.host.toLowerCase(),s=d.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 u=Kg(r.scheme||n.scheme);if(!r.unicodeSupport&&(!u||!u.unicodeSupport)&&n.host&&(r.domainHost||u&&u.domainHost)&&s===!1&&GR(n.host))try{n.host=new URL("http://"+n.host).hostname}catch(l){n.error=n.error||"Host's domain name can not be converted to ASCII: "+l}if((!u||u&&!u.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=BR(unescape(n.host),s))),n.path&&(n.path=UR(n.path)),n.fragment))try{n.fragment=encodeURI(decodeURIComponent(n.fragment))}catch{n.error=n.error||"URI malformed"}u&&u.parse&&u.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return{parsed:n,malformedAuthorityOrPort:o}}function An(t,e){return Yg(t,e).parsed}function tT(t,e){return Xg(t,e).normalized}function Xg(t,e){let{parsed:r,malformedAuthorityOrPort:n}=Yg(t,e);return{normalized:n?t:Kr(r,e),malformedAuthorityOrPort:n}}function Jg(t,e){if(typeof t=="string"){let{normalized:r,malformedAuthorityOrPort:n}=Xg(t,e);return n?void 0:r}if(typeof t=="object")return Kr(t,e)}var Yl={SCHEMES:JR,normalize:KR,resolve:WR,resolveComponent:Wg,equal:YR,serialize:Kr,parse:An};Ci.exports=Yl;Ci.exports.default=Yl;Ci.exports.fastUri=Yl});var ty=E(Xl=>{"use strict";Object.defineProperty(Xl,"__esModule",{value:!0});var ey=Qg();ey.code='require("ajv/dist/runtime/uri").default';Xl.default=ey});var uy=E(Me=>{"use strict";Object.defineProperty(Me,"__esModule",{value:!0});Me.CodeGen=Me.Name=Me.nil=Me.stringify=Me.str=Me._=Me.KeywordCxt=void 0;var rT=Lo();Object.defineProperty(Me,"KeywordCxt",{enumerable:!0,get:function(){return rT.KeywordCxt}});var Cn=K();Object.defineProperty(Me,"_",{enumerable:!0,get:function(){return Cn._}});Object.defineProperty(Me,"str",{enumerable:!0,get:function(){return Cn.str}});Object.defineProperty(Me,"stringify",{enumerable:!0,get:function(){return Cn.stringify}});Object.defineProperty(Me,"nil",{enumerable:!0,get:function(){return Cn.nil}});Object.defineProperty(Me,"Name",{enumerable:!0,get:function(){return Cn.Name}});Object.defineProperty(Me,"CodeGen",{enumerable:!0,get:function(){return Cn.CodeGen}});var nT=Pi(),iy=Uo(),oT=Rl(),Bo=Oi(),sT=K(),Ho=Do(),ji=Zo(),ed=ne(),ry=jg(),iT=ty(),ay=(t,e)=>new RegExp(t,e);ay.code="new RegExp";var aT=["removeAdditional","useDefaults","coerceTypes"],cT=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),uT={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."},lT={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},ny=200;function dT(t){var e,r,n,o,s,i,a,c,u,l,d,f,h,p,m,g,_,y,w,z,j,Ee,ke,Pt,De;let Xn=t.strict,Sa=(e=t.code)===null||e===void 0?void 0:e.optimize,Vp=Sa===!0||Sa===void 0?1:Sa||0,Lp=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:ay,Jv=(o=t.uriResolver)!==null&&o!==void 0?o:iT.default;return{strictSchema:(i=(s=t.strictSchema)!==null&&s!==void 0?s:Xn)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:Xn)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:Xn)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=t.strictTuples)!==null&&d!==void 0?d:Xn)!==null&&f!==void 0?f:"log",strictRequired:(p=(h=t.strictRequired)!==null&&h!==void 0?h:Xn)!==null&&p!==void 0?p:!1,code:t.code?{...t.code,optimize:Vp,regExp:Lp}:{optimize:Vp,regExp:Lp},loopRequired:(m=t.loopRequired)!==null&&m!==void 0?m:ny,loopEnum:(g=t.loopEnum)!==null&&g!==void 0?g:ny,meta:(_=t.meta)!==null&&_!==void 0?_:!0,messages:(y=t.messages)!==null&&y!==void 0?y:!0,inlineRefs:(w=t.inlineRefs)!==null&&w!==void 0?w:!0,schemaId:(z=t.schemaId)!==null&&z!==void 0?z:"$id",addUsedSchema:(j=t.addUsedSchema)!==null&&j!==void 0?j:!0,validateSchema:(Ee=t.validateSchema)!==null&&Ee!==void 0?Ee:!0,validateFormats:(ke=t.validateFormats)!==null&&ke!==void 0?ke:!0,unicodeRegExp:(Pt=t.unicodeRegExp)!==null&&Pt!==void 0?Pt:!0,int32range:(De=t.int32range)!==null&&De!==void 0?De:!0,uriResolver:Jv}}var Go=class{constructor(e={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...dT(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new sT.ValueScope({scope:{},prefixes:cT,es5:r,lines:n}),this.logger=yT(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,oT.getRules)(),oy.call(this,uT,e,"NOT SUPPORTED"),oy.call(this,lT,e,"DEPRECATED","warn"),this._metaOpts=hT.call(this),e.formats&&fT.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&mT.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),pT.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=ry;n==="id"&&(o={...ry},o.id=o.$id,delete o.$id),r&&e&&this.addMetaSchema(o,o[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let o=n(r);return"$async"in n||(this.errors=n.errors),o}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,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,e,r);async function o(l,d){await s.call(this,l.$schema);let f=this._addSchema(l,d);return f.validate||i.call(this,f)}async function s(l){l&&!this.getSchema(l)&&await o.call(this,{$ref:l},!0)}async function i(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof iy.default))throw d;return a.call(this,d),await c.call(this,d.missingSchema),i.call(this,l)}}function a({missingSchema:l,missingRef:d}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${d} cannot be resolved`)}async function c(l){let d=await u.call(this,l);this.refs[l]||await s.call(this,d.$schema),this.refs[l]||this.addSchema(d,l,r)}async function u(l){let d=this._loading[l];if(d)return d;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l]}}}addSchema(e,r,n,o=this.opts.validateSchema){if(Array.isArray(e)){for(let i of e)this.addSchema(i,void 0,n,o);return this}let s;if(typeof e=="object"){let{schemaId:i}=this.opts;if(s=e[i],s!==void 0&&typeof s!="string")throw new Error(`schema ${i} must be string`)}return r=(0,Ho.normalizeId)(r||s),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,o,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let n;if(n=e.$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,e);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(e){let r;for(;typeof(r=sy.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,o=new Bo.SchemaEnv({schema:{},schemaId:n});if(r=Bo.resolveSchema.call(this,o,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=sy.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0,Ho.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,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(vT.call(this,n,r),!r)return(0,ed.eachItem)(n,s=>Ql.call(this,s)),this;wT.call(this,r);let o={...r,type:(0,ji.getJSONTypes)(r.type),schemaType:(0,ji.getJSONTypes)(r.schemaType)};return(0,ed.eachItem)(n,o.type.length===0?s=>Ql.call(this,s,o):s=>o.type.forEach(i=>Ql.call(this,s,o,i))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let o=n.rules.findIndex(s=>s.keyword===e);o>=0&&n.rules.splice(o,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(o=>`${n}${o.instancePath} ${o.message}`).reduce((o,s)=>o+r+s)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let o of r){let s=o.split("/").slice(1),i=e;for(let a of s)i=i[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:u}=c.definition,l=i[a];u&&l&&(i[a]=cy(l))}}return e}_removeAllSchemas(e,r){for(let n in e){let o=e[n];(!r||r.test(n))&&(typeof o=="string"?delete e[n]:o&&!o.meta&&(this._cache.delete(o.schema),delete e[n]))}}_addSchema(e,r,n,o=this.opts.validateSchema,s=this.opts.addUsedSchema){let i,{schemaId:a}=this.opts;if(typeof e=="object")i=e[a];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;n=(0,Ho.normalizeId)(i||n);let u=Ho.getSchemaRefs.call(this,e,n);return c=new Bo.SchemaEnv({schema:e,schemaId:a,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),s&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),o&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):Bo.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{Bo.compileSchema.call(this,e)}finally{this.opts=r}}};Go.ValidationError=nT.default;Go.MissingRefError=iy.default;Me.default=Go;function oy(t,e,r,n="error"){for(let o in t){let s=o;s in e&&this.logger[n](`${r}: option ${o}. ${t[s]}`)}}function sy(t){return t=(0,Ho.normalizeId)(t),this.schemas[t]||this.refs[t]}function pT(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function fT(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function mT(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function hT(){let t={...this.opts};for(let e of aT)delete t[e];return t}var gT={log(){},warn(){},error(){}};function yT(t){if(t===!1)return gT;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var _T=/^[a-z_$][a-z0-9_$:-]*$/i;function vT(t,e){let{RULES:r}=this;if((0,ed.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!_T.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function Ql(t,e,r){var n;let o=e?.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[t]=!0,!e)return;let a={keyword:t,definition:{...e,type:(0,ji.getJSONTypes)(e.type),schemaType:(0,ji.getJSONTypes)(e.schemaType)}};e.before?bT.call(this,i,a,e.before):i.rules.push(a),s.all[t]=a,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function bT(t,e,r){let n=t.rules.findIndex(o=>o.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function wT(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=cy(e)),t.validateSchema=this.compile(e,!0))}var $T={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function cy(t){return{anyOf:[t,$T]}}});var ly=E(td=>{"use strict";Object.defineProperty(td,"__esModule",{value:!0});var xT={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};td.default=xT});var my=E(Wr=>{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.callRef=Wr.getValidate=void 0;var ST=Uo(),dy=ht(),rt=K(),jn=Kt(),py=Oi(),Mi=ne(),kT={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=n,{root:u}=s;if((r==="#"||r==="#/")&&o===u.baseId)return d();let l=py.resolveRef.call(c,u,o,r);if(l===void 0)throw new ST.default(n.opts.uriResolver,o,r);if(l instanceof py.SchemaEnv)return f(l);return h(l);function d(){if(s===u)return Zi(t,i,s,s.$async);let p=e.scopeValue("root",{ref:u});return Zi(t,(0,rt._)`${p}.validate`,u,u.$async)}function f(p){let m=fy(t,p);Zi(t,m,p,p.$async)}function h(p){let m=e.scopeValue("schema",a.code.source===!0?{ref:p,code:(0,rt.stringify)(p)}:{ref:p}),g=e.name("valid"),_=t.subschema({schema:p,dataTypes:[],schemaPath:rt.nil,topSchemaRef:m,errSchemaPath:r},g);t.mergeEvaluated(_),t.ok(g)}}};function fy(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,rt._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Wr.getValidate=fy;function Zi(t,e,r,n){let{gen:o,it:s}=t,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?jn.default.this:rt.nil;n?l():d();function l(){if(!a.$async)throw new Error("async schema referenced by sync schema");let p=o.let("valid");o.try(()=>{o.code((0,rt._)`await ${(0,dy.callValidateCode)(t,e,u)}`),h(e),i||o.assign(p,!0)},m=>{o.if((0,rt._)`!(${m} instanceof ${s.ValidationError})`,()=>o.throw(m)),f(m),i||o.assign(p,!1)}),t.ok(p)}function d(){t.result((0,dy.callValidateCode)(t,e,u),()=>h(e),()=>f(e))}function f(p){let m=(0,rt._)`${p}.errors`;o.assign(jn.default.vErrors,(0,rt._)`${jn.default.vErrors} === null ? ${m} : ${jn.default.vErrors}.concat(${m})`),o.assign(jn.default.errors,(0,rt._)`${jn.default.vErrors}.length`)}function h(p){var m;if(!s.opts.unevaluated)return;let g=(m=r?.validate)===null||m===void 0?void 0:m.evaluated;if(s.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(s.props=Mi.mergeEvaluated.props(o,g.props,s.props));else{let _=o.var("props",(0,rt._)`${p}.evaluated.props`);s.props=Mi.mergeEvaluated.props(o,_,s.props,rt.Name)}if(s.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(s.items=Mi.mergeEvaluated.items(o,g.items,s.items));else{let _=o.var("items",(0,rt._)`${p}.evaluated.items`);s.items=Mi.mergeEvaluated.items(o,_,s.items,rt.Name)}}}Wr.callRef=Zi;Wr.default=kT});var hy=E(rd=>{"use strict";Object.defineProperty(rd,"__esModule",{value:!0});var RT=ly(),TT=my(),zT=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",RT.default,TT.default];rd.default=zT});var gy=E(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});var Di=K(),hr=Di.operators,qi={maximum:{okStr:"<=",ok:hr.LTE,fail:hr.GT},minimum:{okStr:">=",ok:hr.GTE,fail:hr.LT},exclusiveMaximum:{okStr:"<",ok:hr.LT,fail:hr.GTE},exclusiveMinimum:{okStr:">",ok:hr.GT,fail:hr.LTE}},ET={message:({keyword:t,schemaCode:e})=>(0,Di.str)`must be ${qi[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Di._)`{comparison: ${qi[t].okStr}, limit: ${e}}`},PT={keyword:Object.keys(qi),type:"number",schemaType:"number",$data:!0,error:ET,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,Di._)`${r} ${qi[e].fail} ${n} || isNaN(${r})`)}};nd.default=PT});var yy=E(od=>{"use strict";Object.defineProperty(od,"__esModule",{value:!0});var Jo=K(),IT={message:({schemaCode:t})=>(0,Jo.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,Jo._)`{multipleOf: ${t}}`},OT={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:IT,code(t){let{gen:e,data:r,schemaCode:n,it:o}=t,s=o.opts.multipleOfPrecision,i=e.let("res"),a=s?(0,Jo._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,Jo._)`${i} !== parseInt(${i})`;t.fail$data((0,Jo._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};od.default=OT});var vy=E(sd=>{"use strict";Object.defineProperty(sd,"__esModule",{value:!0});function _y(t){let e=t.length,r=0,n=0,o;for(;n<e;)r++,o=t.charCodeAt(n++),o>=55296&&o<=56319&&n<e&&(o=t.charCodeAt(n),(o&64512)===56320&&n++);return r}sd.default=_y;_y.code='require("ajv/dist/runtime/ucs2length").default'});var by=E(id=>{"use strict";Object.defineProperty(id,"__esModule",{value:!0});var Yr=K(),NT=ne(),AT=vy(),CT={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,Yr.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,Yr._)`{limit: ${t}}`},jT={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:CT,code(t){let{keyword:e,data:r,schemaCode:n,it:o}=t,s=e==="maxLength"?Yr.operators.GT:Yr.operators.LT,i=o.opts.unicode===!1?(0,Yr._)`${r}.length`:(0,Yr._)`${(0,NT.useFunc)(t.gen,AT.default)}(${r})`;t.fail$data((0,Yr._)`${i} ${s} ${n}`)}};id.default=jT});var wy=E(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});var MT=ht(),ZT=ne(),Mn=K(),DT={message:({schemaCode:t})=>(0,Mn.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,Mn._)`{pattern: ${t}}`},qT={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:DT,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:s,it:i}=t,a=i.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=i.opts.code,u=c.code==="new RegExp"?(0,Mn._)`new RegExp`:(0,ZT.useFunc)(e,c),l=e.let("valid");e.try(()=>e.assign(l,(0,Mn._)`${u}(${s}, ${a}).test(${r})`),()=>e.assign(l,!1)),t.fail$data((0,Mn._)`!${l}`)}else{let c=(0,MT.usePattern)(t,o);t.fail$data((0,Mn._)`!${c}.test(${r})`)}}};ad.default=qT});var $y=E(cd=>{"use strict";Object.defineProperty(cd,"__esModule",{value:!0});var Ko=K(),VT={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,Ko.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,Ko._)`{limit: ${t}}`},LT={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:VT,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxProperties"?Ko.operators.GT:Ko.operators.LT;t.fail$data((0,Ko._)`Object.keys(${r}).length ${o} ${n}`)}};cd.default=LT});var xy=E(ud=>{"use strict";Object.defineProperty(ud,"__esModule",{value:!0});var Wo=ht(),Yo=K(),UT=ne(),FT={message:({params:{missingProperty:t}})=>(0,Yo.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,Yo._)`{missingProperty: ${t}}`},BT={keyword:"required",type:"object",schemaType:"array",$data:!0,error:FT,code(t){let{gen:e,schema:r,schemaCode:n,data:o,$data:s,it:i}=t,{opts:a}=i;if(!s&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors?u():l(),a.strictRequired){let h=t.parentSchema.properties,{definedProperties:p}=t.it;for(let m of r)if(h?.[m]===void 0&&!p.has(m)){let g=i.schemaEnv.baseId+i.errSchemaPath,_=`required property "${m}" is not defined at "${g}" (strictRequired)`;(0,UT.checkStrictMode)(i,_,i.opts.strictRequired)}}function u(){if(c||s)t.block$data(Yo.nil,d);else for(let h of r)(0,Wo.checkReportMissingProp)(t,h)}function l(){let h=e.let("missing");if(c||s){let p=e.let("valid",!0);t.block$data(p,()=>f(h,p)),t.ok(p)}else e.if((0,Wo.checkMissingProp)(t,r,h)),(0,Wo.reportMissingProp)(t,h),e.else()}function d(){e.forOf("prop",n,h=>{t.setParams({missingProperty:h}),e.if((0,Wo.noPropertyInData)(e,o,h,a.ownProperties),()=>t.error())})}function f(h,p){t.setParams({missingProperty:h}),e.forOf(h,n,()=>{e.assign(p,(0,Wo.propertyInData)(e,o,h,a.ownProperties)),e.if((0,Yo.not)(p),()=>{t.error(),e.break()})},Yo.nil)}}};ud.default=BT});var Sy=E(ld=>{"use strict";Object.defineProperty(ld,"__esModule",{value:!0});var Xo=K(),HT={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,Xo.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,Xo._)`{limit: ${t}}`},GT={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:HT,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxItems"?Xo.operators.GT:Xo.operators.LT;t.fail$data((0,Xo._)`${r}.length ${o} ${n}`)}};ld.default=GT});var Vi=E(dd=>{"use strict";Object.defineProperty(dd,"__esModule",{value:!0});var ky=Al();ky.code='require("ajv/dist/runtime/equal").default';dd.default=ky});var Ry=E(fd=>{"use strict";Object.defineProperty(fd,"__esModule",{value:!0});var pd=Zo(),Ze=K(),JT=ne(),KT=Vi(),WT={message:({params:{i:t,j:e}})=>(0,Ze.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,Ze._)`{i: ${t}, j: ${e}}`},YT={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:WT,code(t){let{gen:e,data:r,$data:n,schema:o,parentSchema:s,schemaCode:i,it:a}=t;if(!n&&!o)return;let c=e.let("valid"),u=s.items?(0,pd.getSchemaTypes)(s.items):[];t.block$data(c,l,(0,Ze._)`${i} === false`),t.ok(c);function l(){let p=e.let("i",(0,Ze._)`${r}.length`),m=e.let("j");t.setParams({i:p,j:m}),e.assign(c,!0),e.if((0,Ze._)`${p} > 1`,()=>(d()?f:h)(p,m))}function d(){return u.length>0&&!u.some(p=>p==="object"||p==="array")}function f(p,m){let g=e.name("item"),_=(0,pd.checkDataTypes)(u,g,a.opts.strictNumbers,pd.DataType.Wrong),y=e.const("indices",(0,Ze._)`{}`);e.for((0,Ze._)`;${p}--;`,()=>{e.let(g,(0,Ze._)`${r}[${p}]`),e.if(_,(0,Ze._)`continue`),u.length>1&&e.if((0,Ze._)`typeof ${g} == "string"`,(0,Ze._)`${g} += "_"`),e.if((0,Ze._)`typeof ${y}[${g}] == "number"`,()=>{e.assign(m,(0,Ze._)`${y}[${g}]`),t.error(),e.assign(c,!1).break()}).code((0,Ze._)`${y}[${g}] = ${p}`)})}function h(p,m){let g=(0,JT.useFunc)(e,KT.default),_=e.name("outer");e.label(_).for((0,Ze._)`;${p}--;`,()=>e.for((0,Ze._)`${m} = ${p}; ${m}--;`,()=>e.if((0,Ze._)`${g}(${r}[${p}], ${r}[${m}])`,()=>{t.error(),e.assign(c,!1).break(_)})))}}};fd.default=YT});var Ty=E(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});var md=K(),XT=ne(),QT=Vi(),ez={message:"must be equal to constant",params:({schemaCode:t})=>(0,md._)`{allowedValue: ${t}}`},tz={keyword:"const",$data:!0,error:ez,code(t){let{gen:e,data:r,$data:n,schemaCode:o,schema:s}=t;n||s&&typeof s=="object"?t.fail$data((0,md._)`!${(0,XT.useFunc)(e,QT.default)}(${r}, ${o})`):t.fail((0,md._)`${s} !== ${r}`)}};hd.default=tz});var zy=E(gd=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});var Qo=K(),rz=ne(),nz=Vi(),oz={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,Qo._)`{allowedValues: ${t}}`},sz={keyword:"enum",schemaType:"array",$data:!0,error:oz,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:s,it:i}=t;if(!n&&o.length===0)throw new Error("enum must have non-empty array");let a=o.length>=i.opts.loopEnum,c,u=()=>c??(c=(0,rz.useFunc)(e,nz.default)),l;if(a||n)l=e.let("valid"),t.block$data(l,d);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let h=e.const("vSchema",s);l=(0,Qo.or)(...o.map((p,m)=>f(h,m)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",s,h=>e.if((0,Qo._)`${u()}(${r}, ${h})`,()=>e.assign(l,!0).break()))}function f(h,p){let m=o[p];return typeof m=="object"&&m!==null?(0,Qo._)`${u()}(${r}, ${h}[${p}])`:(0,Qo._)`${r} === ${m}`}}};gd.default=sz});var Ey=E(yd=>{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});var iz=gy(),az=yy(),cz=by(),uz=wy(),lz=$y(),dz=xy(),pz=Sy(),fz=Ry(),mz=Ty(),hz=zy(),gz=[iz.default,az.default,cz.default,uz.default,lz.default,dz.default,pz.default,fz.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},mz.default,hz.default];yd.default=gz});var vd=E(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});es.validateAdditionalItems=void 0;var Xr=K(),_d=ne(),yz={message:({params:{len:t}})=>(0,Xr.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Xr._)`{limit: ${t}}`},_z={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:yz,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,_d.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}Py(t,n)}};function Py(t,e){let{gen:r,schema:n,data:o,keyword:s,it:i}=t;i.items=!0;let a=r.const("len",(0,Xr._)`${o}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,Xr._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0,_d.alwaysValidSchema)(i,n)){let u=r.var("valid",(0,Xr._)`${a} <= ${e.length}`);r.if((0,Xr.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,a,l=>{t.subschema({keyword:s,dataProp:l,dataPropType:_d.Type.Num},u),i.allErrors||r.if((0,Xr.not)(u),()=>r.break())})}}es.validateAdditionalItems=Py;es.default=_z});var bd=E(ts=>{"use strict";Object.defineProperty(ts,"__esModule",{value:!0});ts.validateTuple=void 0;var Iy=K(),Li=ne(),vz=ht(),bz={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return Oy(t,"additionalItems",e);r.items=!0,!(0,Li.alwaysValidSchema)(r,e)&&t.ok((0,vz.validateArray)(t))}};function Oy(t,e,r=t.schema){let{gen:n,parentSchema:o,data:s,keyword:i,it:a}=t;l(o),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=Li.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,Iy._)`${s}.length`);r.forEach((d,f)=>{(0,Li.alwaysValidSchema)(a,d)||(n.if((0,Iy._)`${u} > ${f}`,()=>t.subschema({keyword:i,schemaProp:f,dataProp:f},c)),t.ok(c))});function l(d){let{opts:f,errSchemaPath:h}=a,p=r.length,m=p===d.minItems&&(p===d.maxItems||d[e]===!1);if(f.strictTuples&&!m){let g=`"${i}" is ${p}-tuple, but minItems or maxItems/${e} are not specified or different at path "${h}"`;(0,Li.checkStrictMode)(a,g,f.strictTuples)}}}ts.validateTuple=Oy;ts.default=bz});var Ny=E(wd=>{"use strict";Object.defineProperty(wd,"__esModule",{value:!0});var wz=bd(),$z={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,wz.validateTuple)(t,"items")};wd.default=$z});var Cy=E($d=>{"use strict";Object.defineProperty($d,"__esModule",{value:!0});var Ay=K(),xz=ne(),Sz=ht(),kz=vd(),Rz={message:({params:{len:t}})=>(0,Ay.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Ay._)`{limit: ${t}}`},Tz={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Rz,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,xz.alwaysValidSchema)(n,e)&&(o?(0,kz.validateAdditionalItems)(t,o):t.ok((0,Sz.validateArray)(t)))}};$d.default=Tz});var jy=E(xd=>{"use strict";Object.defineProperty(xd,"__esModule",{value:!0});var yt=K(),Ui=ne(),zz={message:({params:{min:t,max:e}})=>e===void 0?(0,yt.str)`must contain at least ${t} valid item(s)`:(0,yt.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,yt._)`{minContains: ${t}}`:(0,yt._)`{minContains: ${t}, maxContains: ${e}}`},Ez={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:zz,code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:s}=t,i,a,{minContains:c,maxContains:u}=n;s.opts.next?(i=c===void 0?1:c,a=u):i=1;let l=e.const("len",(0,yt._)`${o}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0,Ui.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,Ui.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,Ui.alwaysValidSchema)(s,r)){let m=(0,yt._)`${l} >= ${i}`;a!==void 0&&(m=(0,yt._)`${m} && ${l} <= ${a}`),t.pass(m);return}s.items=!0;let d=e.name("valid");a===void 0&&i===1?h(d,()=>e.if(d,()=>e.break())):i===0?(e.let(d,!0),a!==void 0&&e.if((0,yt._)`${o}.length > 0`,f)):(e.let(d,!1),f()),t.result(d,()=>t.reset());function f(){let m=e.name("_valid"),g=e.let("count",0);h(m,()=>e.if(m,()=>p(g)))}function h(m,g){e.forRange("i",0,l,_=>{t.subschema({keyword:"contains",dataProp:_,dataPropType:Ui.Type.Num,compositeRule:!0},m),g()})}function p(m){e.code((0,yt._)`${m}++`),a===void 0?e.if((0,yt._)`${m} >= ${i}`,()=>e.assign(d,!0).break()):(e.if((0,yt._)`${m} > ${a}`,()=>e.assign(d,!1).break()),i===1?e.assign(d,!0):e.if((0,yt._)`${m} >= ${i}`,()=>e.assign(d,!0)))}}};xd.default=Ez});var Dy=E(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.validateSchemaDeps=Mt.validatePropertyDeps=Mt.error=void 0;var Sd=K(),Pz=ne(),rs=ht();Mt.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,Sd.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,Sd._)`{property: ${t},
8
8
  missingProperty: ${n},
9
9
  depsCount: ${e},
10
- deps: ${r}}`};var PT={keyword:"dependencies",type:"object",schemaType:"object",error:Ct.error,code(t){let[e,r]=IT(t);jy(t,e),My(t,r)}};function IT({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let o=Array.isArray(t[n])?e:r;o[n]=t[n]}return[e,r]}function jy(t,e=t.schema){let{gen:r,data:n,it:o}=t;if(Object.keys(e).length===0)return;let s=r.let("missing");for(let i in e){let a=e[i];if(a.length===0)continue;let c=(0,ts.propertyInData)(r,n,i,o.opts.ownProperties);t.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),o.allErrors?r.if(c,()=>{for(let u of a)(0,ts.checkReportMissingProp)(t,u)}):(r.if((0,xd._)`${c} && (${(0,ts.checkMissingProp)(t,a,s)})`),(0,ts.reportMissingProp)(t,s),r.else())}}Ct.validatePropertyDeps=jy;function My(t,e=t.schema){let{gen:r,data:n,keyword:o,it:s}=t,i=r.name("valid");for(let a in e)(0,ET.alwaysValidSchema)(s,e[a])||(r.if((0,ts.propertyInData)(r,n,a,s.opts.ownProperties),()=>{let c=t.subschema({keyword:o,schemaProp:a},i);t.mergeValidEvaluated(c,i)},()=>r.var(i,!0)),t.ok(i))}Ct.validateSchemaDeps=My;Ct.default=PT});var qy=E(Sd=>{"use strict";Object.defineProperty(Sd,"__esModule",{value:!0});var Dy=K(),OT=ne(),NT={message:"property name must be valid",params:({params:t})=>(0,Dy._)`{propertyName: ${t.propertyName}}`},AT={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:NT,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,OT.alwaysValidSchema)(o,r))return;let s=e.name("valid");e.forIn("key",n,i=>{t.setParams({propertyName:i}),t.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},s),e.if((0,Dy.not)(s),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(s)}};Sd.default=AT});var Rd=E(kd=>{"use strict";Object.defineProperty(kd,"__esModule",{value:!0});var Ui=mt(),Rt=K(),CT=Gt(),Fi=ne(),jT={message:"must NOT have additional properties",params:({params:t})=>(0,Rt._)`{additionalProperty: ${t.additionalProperty}}`},MT={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:jT,code(t){let{gen:e,schema:r,parentSchema:n,data:o,errsCount:s,it:i}=t;if(!s)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=i;if(i.props=!0,c.removeAdditional!=="all"&&(0,Fi.alwaysValidSchema)(i,r))return;let u=(0,Ui.allSchemaProperties)(n.properties),l=(0,Ui.allSchemaProperties)(n.patternProperties);d(),t.ok((0,Rt._)`${s} === ${CT.default.errors}`);function d(){e.forIn("key",o,g=>{!u.length&&!l.length?m(g):e.if(p(g),()=>m(g))})}function p(g){let v;if(u.length>8){let y=(0,Fi.schemaRefOrVal)(i,n.properties,"properties");v=(0,Ui.isOwnProperty)(e,y,g)}else u.length?v=(0,Rt.or)(...u.map(y=>(0,Rt._)`${g} === ${y}`)):v=Rt.nil;return l.length&&(v=(0,Rt.or)(v,...l.map(y=>(0,Rt._)`${(0,Ui.usePattern)(t,y)}.test(${g})`))),(0,Rt.not)(v)}function f(g){e.code((0,Rt._)`delete ${o}[${g}]`)}function m(g){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){f(g);return}if(r===!1){t.setParams({additionalProperty:g}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0,Fi.alwaysValidSchema)(i,r)){let v=e.name("valid");c.removeAdditional==="failing"?(h(g,v,!1),e.if((0,Rt.not)(v),()=>{t.reset(),f(g)})):(h(g,v),a||e.if((0,Rt.not)(v),()=>e.break()))}}function h(g,v,y){let $={keyword:"additionalProperties",dataProp:g,dataPropType:Fi.Type.Str};y===!1&&Object.assign($,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema($,v)}}};kd.default=MT});var Uy=E(Td=>{"use strict";Object.defineProperty(Td,"__esModule",{value:!0});var ZT=Vo(),Vy=mt(),zd=ne(),Ly=Rd(),DT={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:s}=t;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&Ly.default.code(new ZT.KeywordCxt(s,Ly.default,"additionalProperties"));let i=(0,Vy.allSchemaProperties)(r);for(let d of i)s.definedProperties.add(d);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=zd.mergeEvaluated.props(e,(0,zd.toHash)(i),s.props));let a=i.filter(d=>!(0,zd.alwaysValidSchema)(s,r[d]));if(a.length===0)return;let c=e.name("valid");for(let d of a)u(d)?l(d):(e.if((0,Vy.propertyInData)(e,o,d,s.opts.ownProperties)),l(d),s.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return s.opts.useDefaults&&!s.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};Td.default=DT});var Gy=E(Ed=>{"use strict";Object.defineProperty(Ed,"__esModule",{value:!0});var Fy=mt(),Bi=K(),By=ne(),Hy=ne(),qT={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:o,it:s}=t,{opts:i}=s,a=(0,Fy.allSchemaProperties)(r),c=a.filter(h=>(0,By.alwaysValidSchema)(s,r[h]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let u=i.strictSchema&&!i.allowMatchingProperties&&o.properties,l=e.name("valid");s.props!==!0&&!(s.props instanceof Bi.Name)&&(s.props=(0,Hy.evaluatedPropsToName)(e,s.props));let{props:d}=s;p();function p(){for(let h of a)u&&f(h),s.allErrors?m(h):(e.var(l,!0),m(h),e.if(l))}function f(h){for(let g in u)new RegExp(h).test(g)&&(0,By.checkStrictMode)(s,`property ${g} matches pattern ${h} (use allowMatchingProperties)`)}function m(h){e.forIn("key",n,g=>{e.if((0,Bi._)`${(0,Fy.usePattern)(t,h)}.test(${g})`,()=>{let v=c.includes(h);v||t.subschema({keyword:"patternProperties",schemaProp:h,dataProp:g,dataPropType:Hy.Type.Str},l),s.opts.unevaluated&&d!==!0?e.assign((0,Bi._)`${d}[${g}]`,!0):!v&&!s.allErrors&&e.if((0,Bi.not)(l),()=>e.break())})})}}};Ed.default=qT});var Jy=E(Pd=>{"use strict";Object.defineProperty(Pd,"__esModule",{value:!0});var VT=ne(),LT={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,VT.alwaysValidSchema)(n,r)){t.fail();return}let o=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),t.failResult(o,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};Pd.default=LT});var Ky=E(Id=>{"use strict";Object.defineProperty(Id,"__esModule",{value:!0});var UT=mt(),FT={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:UT.validateUnion,error:{message:"must match a schema in anyOf"}};Id.default=FT});var Wy=E(Od=>{"use strict";Object.defineProperty(Od,"__esModule",{value:!0});var Hi=K(),BT=ne(),HT={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,Hi._)`{passingSchemas: ${t.passing}}`},GT={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:HT,code(t){let{gen:e,schema:r,parentSchema:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let s=r,i=e.let("valid",!1),a=e.let("passing",null),c=e.name("_valid");t.setParams({passing:a}),e.block(u),t.result(i,()=>t.reset(),()=>t.error(!0));function u(){s.forEach((l,d)=>{let p;(0,BT.alwaysValidSchema)(o,l)?e.var(c,!0):p=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,Hi._)`${c} && ${i}`).assign(i,!1).assign(a,(0,Hi._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(i,!0),e.assign(a,d),p&&t.mergeEvaluated(p,Hi.Name)})})}}};Od.default=GT});var Yy=E(Nd=>{"use strict";Object.defineProperty(Nd,"__esModule",{value:!0});var JT=ne(),KT={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let o=e.name("valid");r.forEach((s,i)=>{if((0,JT.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:i},o);t.ok(o),t.mergeEvaluated(a)})}};Nd.default=KT});var e_=E(Ad=>{"use strict";Object.defineProperty(Ad,"__esModule",{value:!0});var Gi=K(),Qy=ne(),WT={message:({params:t})=>(0,Gi.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,Gi._)`{failingKeyword: ${t.ifClause}}`},YT={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:WT,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,Qy.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=Xy(n,"then"),s=Xy(n,"else");if(!o&&!s)return;let i=e.let("valid",!0),a=e.name("_valid");if(c(),t.reset(),o&&s){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(a,u("then",l),u("else",l))}else o?e.if(a,u("then")):e.if((0,Gi.not)(a),u("else"));t.pass(i,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);t.mergeEvaluated(l)}function u(l,d){return()=>{let p=t.subschema({keyword:l},a);e.assign(i,a),t.mergeValidEvaluated(p,i),d?e.assign(d,(0,Gi._)`${l}`):t.setParams({ifClause:l})}}}};function Xy(t,e){let r=t.schema[e];return r!==void 0&&!(0,Qy.alwaysValidSchema)(t,r)}Ad.default=YT});var t_=E(Cd=>{"use strict";Object.defineProperty(Cd,"__esModule",{value:!0});var XT=ne(),QT={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,XT.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Cd.default=QT});var r_=E(jd=>{"use strict";Object.defineProperty(jd,"__esModule",{value:!0});var eE=_d(),tE=Oy(),rE=vd(),nE=Ay(),oE=Cy(),sE=Zy(),iE=qy(),aE=Rd(),cE=Uy(),uE=Gy(),lE=Jy(),dE=Ky(),pE=Wy(),fE=Yy(),mE=e_(),hE=t_();function gE(t=!1){let e=[lE.default,dE.default,pE.default,fE.default,mE.default,hE.default,iE.default,aE.default,sE.default,cE.default,uE.default];return t?e.push(tE.default,nE.default):e.push(eE.default,rE.default),e.push(oE.default),e}jd.default=gE});var n_=E(Md=>{"use strict";Object.defineProperty(Md,"__esModule",{value:!0});var xe=K(),yE={message:({schemaCode:t})=>(0,xe.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,xe._)`{format: ${t}}`},_E={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:yE,code(t,e){let{gen:r,data:n,$data:o,schema:s,schemaCode:i,it:a}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=a;if(!c.validateFormats)return;o?p():f();function p(){let m=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),h=r.const("fDef",(0,xe._)`${m}[${i}]`),g=r.let("fType"),v=r.let("format");r.if((0,xe._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(g,(0,xe._)`${h}.type || "string"`).assign(v,(0,xe._)`${h}.validate`),()=>r.assign(g,(0,xe._)`"string"`).assign(v,h)),t.fail$data((0,xe.or)(y(),$()));function y(){return c.strictSchema===!1?xe.nil:(0,xe._)`${i} && !${v}`}function $(){let R=l.$async?(0,xe._)`(${h}.async ? await ${v}(${n}) : ${v}(${n}))`:(0,xe._)`${v}(${n})`,Z=(0,xe._)`(typeof ${v} == "function" ? ${R} : ${v}.test(${n}))`;return(0,xe._)`${v} && ${v} !== true && ${g} === ${e} && !${Z}`}}function f(){let m=d.formats[s];if(!m){y();return}if(m===!0)return;let[h,g,v]=$(m);h===e&&t.pass(R());function y(){if(c.strictSchema===!1){d.logger.warn(Z());return}throw new Error(Z());function Z(){return`unknown format "${s}" ignored in schema at path "${u}"`}}function $(Z){let Ve=Z instanceof RegExp?(0,xe.regexpCode)(Z):c.code.formats?(0,xe._)`${c.code.formats}${(0,xe.getProperty)(s)}`:void 0,at=r.scopeValue("formats",{key:s,ref:Z,code:Ve});return typeof Z=="object"&&!(Z instanceof RegExp)?[Z.type||"string",Z.validate,(0,xe._)`${at}.validate`]:["string",Z,at]}function R(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!l.$async)throw new Error("async format in sync schema");return(0,xe._)`await ${v}(${n})`}return typeof g=="function"?(0,xe._)`${v}(${n})`:(0,xe._)`${v}.test(${n})`}}}};Md.default=_E});var o_=E(Zd=>{"use strict";Object.defineProperty(Zd,"__esModule",{value:!0});var vE=n_(),bE=[vE.default];Zd.default=bE});var s_=E(Mn=>{"use strict";Object.defineProperty(Mn,"__esModule",{value:!0});Mn.contentVocabulary=Mn.metadataVocabulary=void 0;Mn.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Mn.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var a_=E(Dd=>{"use strict";Object.defineProperty(Dd,"__esModule",{value:!0});var wE=my(),$E=Ty(),xE=r_(),SE=o_(),i_=s_(),kE=[wE.default,$E.default,(0,xE.default)(),SE.default,i_.metadataVocabulary,i_.contentVocabulary];Dd.default=kE});var u_=E(Ji=>{"use strict";Object.defineProperty(Ji,"__esModule",{value:!0});Ji.DiscrError=void 0;var c_;(function(t){t.Tag="tag",t.Mapping="mapping"})(c_||(Ji.DiscrError=c_={}))});var d_=E(Vd=>{"use strict";Object.defineProperty(Vd,"__esModule",{value:!0});var Zn=K(),qd=u_(),l_=Ii(),RE=Lo(),zE=ne(),TE={message:({params:{discrError:t,tagName:e}})=>t===qd.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,Zn._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},EE={keyword:"discriminator",type:"object",schemaType:"object",error:TE,code(t){let{gen:e,data:r,schema:n,parentSchema:o,it:s}=t,{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=e.let("valid",!1),u=e.const("tag",(0,Zn._)`${r}${(0,Zn.getProperty)(a)}`);e.if((0,Zn._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:qd.DiscrError.Tag,tag:u,tagName:a})),t.ok(c);function l(){let f=p();e.if(!1);for(let m in f)e.elseIf((0,Zn._)`${u} === ${m}`),e.assign(c,d(f[m]));e.else(),t.error(!1,{discrError:qd.DiscrError.Mapping,tag:u,tagName:a}),e.endIf()}function d(f){let m=e.name("valid"),h=t.subschema({keyword:"oneOf",schemaProp:f},m);return t.mergeEvaluated(h,Zn.Name),m}function p(){var f;let m={},h=v(o),g=!0;for(let R=0;R<i.length;R++){let Z=i[R];if(Z?.$ref&&!(0,zE.schemaHasRulesButRef)(Z,s.self.RULES)){let at=Z.$ref;if(Z=l_.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,at),Z instanceof l_.SchemaEnv&&(Z=Z.schema),Z===void 0)throw new RE.default(s.opts.uriResolver,s.baseId,at)}let Ve=(f=Z?.properties)===null||f===void 0?void 0:f[a];if(typeof Ve!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);g=g&&(h||v(Z)),y(Ve,R)}if(!g)throw new Error(`discriminator: "${a}" must be required`);return m;function v({required:R}){return Array.isArray(R)&&R.includes(a)}function y(R,Z){if(R.const)$(R.const,Z);else if(R.enum)for(let Ve of R.enum)$(Ve,Z);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function $(R,Z){if(typeof R!="string"||R in m)throw new Error(`discriminator: "${a}" values must be unique strings`);m[R]=Z}}}};Vd.default=EE});var p_=E((PM,PE)=>{PE.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 Ud=E((ye,Ld)=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.MissingRefError=ye.ValidationError=ye.CodeGen=ye.Name=ye.nil=ye.stringify=ye.str=ye._=ye.KeywordCxt=ye.Ajv=void 0;var IE=cy(),OE=a_(),NE=d_(),f_=p_(),AE=["/properties"],Ki="http://json-schema.org/draft-07/schema",Dn=class extends IE.default{_addVocabularies(){super._addVocabularies(),OE.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(NE.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(f_,AE):f_;this.addMetaSchema(e,Ki,!1),this.refs["http://json-schema.org/schema"]=Ki}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Ki)?Ki:void 0)}};ye.Ajv=Dn;Ld.exports=ye=Dn;Ld.exports.Ajv=Dn;Object.defineProperty(ye,"__esModule",{value:!0});ye.default=Dn;var CE=Vo();Object.defineProperty(ye,"KeywordCxt",{enumerable:!0,get:function(){return CE.KeywordCxt}});var qn=K();Object.defineProperty(ye,"_",{enumerable:!0,get:function(){return qn._}});Object.defineProperty(ye,"str",{enumerable:!0,get:function(){return qn.str}});Object.defineProperty(ye,"stringify",{enumerable:!0,get:function(){return qn.stringify}});Object.defineProperty(ye,"nil",{enumerable:!0,get:function(){return qn.nil}});Object.defineProperty(ye,"Name",{enumerable:!0,get:function(){return qn.Name}});Object.defineProperty(ye,"CodeGen",{enumerable:!0,get:function(){return qn.CodeGen}});var jE=Ei();Object.defineProperty(ye,"ValidationError",{enumerable:!0,get:function(){return jE.default}});var ME=Lo();Object.defineProperty(ye,"MissingRefError",{enumerable:!0,get:function(){return ME.default}})});var w_=E(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.formatNames=Mt.fastFormats=Mt.fullFormats=void 0;function jt(t,e){return{validate:t,compare:e}}Mt.fullFormats={date:jt(y_,Gd),time:jt(Bd(!0),Jd),"date-time":jt(m_(!0),v_),"iso-time":jt(Bd(),__),"iso-date-time":jt(m_(),b_),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:UE,"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:WE,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:FE,int32:{type:"number",validate:GE},int64:{type:"number",validate:JE},float:{type:"number",validate:g_},double:{type:"number",validate:g_},password:!0,binary:!0};Mt.fastFormats={...Mt.fullFormats,date:jt(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,Gd),time:jt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,Jd),"date-time":jt(/^\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,v_),"iso-time":jt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,__),"iso-date-time":jt(/^\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,b_),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};Mt.formatNames=Object.keys(Mt.fullFormats);function ZE(t){return t%4===0&&(t%100!==0||t%400===0)}var DE=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,qE=[0,31,28,31,30,31,30,31,31,30,31,30,31];function y_(t){let e=DE.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],o=+e[3];return n>=1&&n<=12&&o>=1&&o<=(n===2&&ZE(r)?29:qE[n])}function Gd(t,e){if(t&&e)return t>e?1:t<e?-1:0}var Fd=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function Bd(t){return function(r){let n=Fd.exec(r);if(!n)return!1;let o=+n[1],s=+n[2],i=+n[3],a=n[4],c=n[5]==="-"?-1:1,u=+(n[6]||0),l=+(n[7]||0);if(u>23||l>59||t&&!a)return!1;if(o<=23&&s<=59&&i<60)return!0;let d=s-l*c,p=o-u*c-(d<0?1:0);return(p===23||p===-1)&&(d===59||d===-1)&&i<61}}function Jd(t,e){if(!(t&&e))return;let r=new Date("2020-01-01T"+t).valueOf(),n=new Date("2020-01-01T"+e).valueOf();if(r&&n)return r-n}function __(t,e){if(!(t&&e))return;let r=Fd.exec(t),n=Fd.exec(e);if(r&&n)return t=r[1]+r[2]+r[3],e=n[1]+n[2]+n[3],t>e?1:t<e?-1:0}var Hd=/t|\s/i;function m_(t){let e=Bd(t);return function(n){let o=n.split(Hd);return o.length===2&&y_(o[0])&&e(o[1])}}function v_(t,e){if(!(t&&e))return;let r=new Date(t).valueOf(),n=new Date(e).valueOf();if(r&&n)return r-n}function b_(t,e){if(!(t&&e))return;let[r,n]=t.split(Hd),[o,s]=e.split(Hd),i=Gd(r,o);if(i!==void 0)return i||Jd(n,s)}var VE=/\/|:/,LE=/^(?:[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 UE(t){return VE.test(t)&&LE.test(t)}var h_=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function FE(t){return h_.lastIndex=0,h_.test(t)}var BE=-(2**31),HE=2**31-1;function GE(t){return Number.isInteger(t)&&t<=HE&&t>=BE}function JE(t){return Number.isInteger(t)}function g_(){return!0}var KE=/[^\\]\\Z/;function WE(t){if(KE.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var $_=E(Vn=>{"use strict";Object.defineProperty(Vn,"__esModule",{value:!0});Vn.formatLimitDefinition=void 0;var YE=Ud(),zt=K(),mr=zt.operators,Wi={formatMaximum:{okStr:"<=",ok:mr.LTE,fail:mr.GT},formatMinimum:{okStr:">=",ok:mr.GTE,fail:mr.LT},formatExclusiveMaximum:{okStr:"<",ok:mr.LT,fail:mr.GTE},formatExclusiveMinimum:{okStr:">",ok:mr.GT,fail:mr.LTE}},XE={message:({keyword:t,schemaCode:e})=>(0,zt.str)`should be ${Wi[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,zt._)`{comparison: ${Wi[t].okStr}, limit: ${e}}`};Vn.formatLimitDefinition={keyword:Object.keys(Wi),type:"string",schemaType:"string",$data:!0,error:XE,code(t){let{gen:e,data:r,schemaCode:n,keyword:o,it:s}=t,{opts:i,self:a}=s;if(!i.validateFormats)return;let c=new YE.KeywordCxt(s,a.RULES.all.format.definition,"format");c.$data?u():l();function u(){let p=e.scopeValue("formats",{ref:a.formats,code:i.code.formats}),f=e.const("fmt",(0,zt._)`${p}[${c.schemaCode}]`);t.fail$data((0,zt.or)((0,zt._)`typeof ${f} != "object"`,(0,zt._)`${f} instanceof RegExp`,(0,zt._)`typeof ${f}.compare != "function"`,d(f)))}function l(){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 m=e.scopeValue("formats",{key:p,ref:f,code:i.code.formats?(0,zt._)`${i.code.formats}${(0,zt.getProperty)(p)}`:void 0});t.fail$data(d(m))}function d(p){return(0,zt._)`${p}.compare(${r}, ${n}) ${Wi[o].fail} 0`}},dependencies:["format"]};var QE=t=>(t.addKeyword(Vn.formatLimitDefinition),t);Vn.default=QE});var R_=E((rs,k_)=>{"use strict";Object.defineProperty(rs,"__esModule",{value:!0});var Ln=w_(),eP=$_(),Kd=K(),x_=new Kd.Name("fullFormats"),tP=new Kd.Name("fastFormats"),Wd=(t,e={keywords:!0})=>{if(Array.isArray(e))return S_(t,e,Ln.fullFormats,x_),t;let[r,n]=e.mode==="fast"?[Ln.fastFormats,tP]:[Ln.fullFormats,x_],o=e.formats||Ln.formatNames;return S_(t,o,r,n),e.keywords&&(0,eP.default)(t),t};Wd.get=(t,e="full")=>{let n=(e==="fast"?Ln.fastFormats:Ln.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function S_(t,e,r,n){var o,s;(o=(s=t.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,Kd._)`require("ajv-formats/dist/formats").${n}`);for(let i of e)t.addFormat(i,r[i])}k_.exports=rs=Wd;Object.defineProperty(rs,"__esModule",{value:!0});rs.default=Wd});var F={};ka(F,{BRAND:()=>kb,DIRTY:()=>yr,EMPTY_PATH:()=>nb,INVALID:()=>D,NEVER:()=>cw,OK:()=>Me,ParseStatus:()=>Ie,Schema:()=>J,ZodAny:()=>Xt,ZodArray:()=>Lt,ZodBigInt:()=>vr,ZodBoolean:()=>br,ZodBranded:()=>Qn,ZodCatch:()=>Ir,ZodDate:()=>wr,ZodDefault:()=>Pr,ZodDiscriminatedUnion:()=>_s,ZodEffects:()=>ut,ZodEnum:()=>Tr,ZodError:()=>Ge,ZodFirstPartyTypeKind:()=>S,ZodFunction:()=>bs,ZodIntersection:()=>kr,ZodIssueCode:()=>x,ZodLazy:()=>Rr,ZodLiteral:()=>zr,ZodMap:()=>dn,ZodNaN:()=>fn,ZodNativeEnum:()=>Er,ZodNever:()=>vt,ZodNull:()=>xr,ZodNullable:()=>It,ZodNumber:()=>_r,ZodObject:()=>Ke,ZodOptional:()=>Je,ZodParsedType:()=>P,ZodPipeline:()=>eo,ZodPromise:()=>Qt,ZodReadonly:()=>Or,ZodRecord:()=>vs,ZodSchema:()=>J,ZodSet:()=>pn,ZodString:()=>Yt,ZodSymbol:()=>un,ZodTransformer:()=>ut,ZodTuple:()=>Pt,ZodType:()=>J,ZodUndefined:()=>$r,ZodUnion:()=>Sr,ZodUnknown:()=>Vt,ZodVoid:()=>ln,addIssueToContext:()=>z,any:()=>Ab,array:()=>Zb,bigint:()=>Eb,boolean:()=>Qp,coerce:()=>aw,custom:()=>Wp,date:()=>Pb,datetimeRegex:()=>Jp,defaultErrorMap:()=>Dt,discriminatedUnion:()=>Vb,effect:()=>Qb,enum:()=>Wb,function:()=>Gb,getErrorMap:()=>sn,getParsedType:()=>Et,instanceof:()=>zb,intersection:()=>Lb,isAborted:()=>gs,isAsync:()=>an,isDirty:()=>ys,isValid:()=>Wt,late:()=>Rb,lazy:()=>Jb,literal:()=>Kb,makeIssue:()=>Xn,map:()=>Bb,nan:()=>Tb,nativeEnum:()=>Yb,never:()=>jb,null:()=>Nb,nullable:()=>tw,number:()=>Xp,object:()=>Ea,objectUtil:()=>Ra,oboolean:()=>iw,onumber:()=>sw,optional:()=>ew,ostring:()=>ow,pipeline:()=>nw,preprocess:()=>rw,promise:()=>Xb,quotelessJson:()=>eb,record:()=>Fb,set:()=>Hb,setErrorMap:()=>rb,strictObject:()=>Db,string:()=>Yp,symbol:()=>Ib,transformer:()=>Qb,tuple:()=>Ub,undefined:()=>Ob,union:()=>qb,unknown:()=>Cb,util:()=>X,void:()=>Mb});var X;(function(t){t.assertEqual=o=>{};function e(o){}t.assertIs=e;function r(o){throw new Error}t.assertNever=r,t.arrayToEnum=o=>{let s={};for(let i of o)s[i]=i;return s},t.getValidEnumValues=o=>{let s=t.objectKeys(o).filter(a=>typeof o[o[a]]!="number"),i={};for(let a of s)i[a]=o[a];return t.objectValues(i)},t.objectValues=o=>t.objectKeys(o).map(function(s){return o[s]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let s=[];for(let i in o)Object.prototype.hasOwnProperty.call(o,i)&&s.push(i);return s},t.find=(o,s)=>{for(let i of o)if(s(i))return i},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function n(o,s=" | "){return o.map(i=>typeof i=="string"?`'${i}'`:i).join(s)}t.joinValues=n,t.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(X||(X={}));var Ra;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(Ra||(Ra={}));var P=X.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Et=t=>{switch(typeof t){case"undefined":return P.undefined;case"string":return P.string;case"number":return Number.isNaN(t)?P.nan:P.number;case"boolean":return P.boolean;case"function":return P.function;case"bigint":return P.bigint;case"symbol":return P.symbol;case"object":return Array.isArray(t)?P.array:t===null?P.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?P.promise:typeof Map<"u"&&t instanceof Map?P.map:typeof Set<"u"&&t instanceof Set?P.set:typeof Date<"u"&&t instanceof Date?P.date:P.object;default:return P.unknown}};var x=X.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),eb=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),Ge=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(this),n}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,X.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=r=>r.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let s=o.path[0];r[s]=r[s]||[],r[s].push(e(o))}else n.push(e(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};Ge.create=t=>new Ge(t);var tb=(t,e)=>{let r;switch(t.code){case x.invalid_type:t.received===P.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case x.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,X.jsonStringifyReplacer)}`;break;case x.unrecognized_keys:r=`Unrecognized key(s) in object: ${X.joinValues(t.keys,", ")}`;break;case x.invalid_union:r="Invalid input";break;case x.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${X.joinValues(t.options)}`;break;case x.invalid_enum_value:r=`Invalid enum value. Expected ${X.joinValues(t.options)}, received '${t.received}'`;break;case x.invalid_arguments:r="Invalid function arguments";break;case x.invalid_return_type:r="Invalid function return type";break;case x.invalid_date:r="Invalid date";break;case x.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:X.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case x.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case x.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case x.custom:r="Invalid input";break;case x.invalid_intersection_types:r="Intersection results could not be merged";break;case x.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case x.not_finite:r="Number must be finite";break;default:r=e.defaultError,X.assertNever(t)}return{message:r}},Dt=tb;var Up=Dt;function rb(t){Up=t}function sn(){return Up}var Xn=t=>{let{data:e,path:r,errorMaps:n,issueData:o}=t,s=[...r,...o.path||[]],i={...o,path:s};if(o.message!==void 0)return{...o,path:s,message:o.message};let a="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)a=u(i,{data:e,defaultError:a}).message;return{...o,path:s,message:a}},nb=[];function z(t,e){let r=sn(),n=Xn({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===Dt?void 0:Dt].filter(o=>!!o)});t.common.issues.push(n)}var Ie=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let o of r){if(o.status==="aborted")return D;o.status==="dirty"&&e.dirty(),n.push(o.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let o of r){let s=await o.key,i=await o.value;n.push({key:s,value:i})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let o of r){let{key:s,value:i}=o;if(s.status==="aborted"||i.status==="aborted")return D;s.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof i.value<"u"||o.alwaysSet)&&(n[s.value]=i.value)}return{status:e.value,value:n}}},D=Object.freeze({status:"aborted"}),yr=t=>({status:"dirty",value:t}),Me=t=>({status:"valid",value:t}),gs=t=>t.status==="aborted",ys=t=>t.status==="dirty",Wt=t=>t.status==="valid",an=t=>typeof Promise<"u"&&t instanceof Promise;var O;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(O||(O={}));var ct=class{constructor(e,r,n,o){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=o}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Fp=(t,e)=>{if(Wt(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new Ge(t.common.issues);return this._error=r,this._error}}};function H(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:o}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(i,a)=>{let{message:c}=t;return i.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??n??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:c??r??a.defaultError}},description:o}}var J=class{get description(){return this._def.description}_getType(e){return Et(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:Et(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Ie,ctx:{common:e.parent.common,data:e.data,parsedType:Et(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(an(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Et(e)},o=this._parseSync({data:e,path:n.path,parent:n});return Fp(n,o)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Et(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return Wt(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(n=>Wt(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Et(e)},o=this._parse({data:e,path:n.path,parent:n}),s=await(an(o)?o:Promise.resolve(o));return Fp(n,s)}refine(e,r){let n=o=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,s)=>{let i=e(o),a=()=>s.addIssue({code:x.custom,...n(o)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,r){return this._refinement((n,o)=>e(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(e){return new ut({schema:this,typeName:S.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return Je.create(this,this._def)}nullable(){return It.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Lt.create(this)}promise(){return Qt.create(this,this._def)}or(e){return Sr.create([this,e],this._def)}and(e){return kr.create(this,e,this._def)}transform(e){return new ut({...H(this._def),schema:this,typeName:S.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new Pr({...H(this._def),innerType:this,defaultValue:r,typeName:S.ZodDefault})}brand(){return new Qn({typeName:S.ZodBranded,type:this,...H(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Ir({...H(this._def),innerType:this,catchValue:r,typeName:S.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return eo.create(this,e)}readonly(){return Or.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},ob=/^c[^\s-]{8,}$/i,sb=/^[0-9a-z]+$/,ib=/^[0-9A-HJKMNP-TV-Z]{26}$/i,ab=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,cb=/^[a-z0-9_-]{21}$/i,ub=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,lb=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,db=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,pb="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",za,fb=/^(?:(?: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])$/,mb=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,hb=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,gb=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,yb=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,_b=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Hp="((\\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])))",vb=new RegExp(`^${Hp}$`);function Gp(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function bb(t){return new RegExp(`^${Gp(t)}$`)}function Jp(t){let e=`${Hp}T${Gp(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function wb(t,e){return!!((e==="v4"||!e)&&fb.test(t)||(e==="v6"||!e)&&hb.test(t))}function $b(t,e){if(!ub.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),o=JSON.parse(atob(n));return!(typeof o!="object"||o===null||"typ"in o&&o?.typ!=="JWT"||!o.alg||e&&o.alg!==e)}catch{return!1}}function xb(t,e){return!!((e==="v4"||!e)&&mb.test(t)||(e==="v6"||!e)&&gb.test(t))}var Yt=class t extends J{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==P.string){let s=this._getOrReturnCtx(e);return z(s,{code:x.invalid_type,expected:P.string,received:s.parsedType}),D}let n=new Ie,o;for(let s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(o=this._getOrReturnCtx(e,o),z(o,{code:x.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")e.data.length>s.value&&(o=this._getOrReturnCtx(e,o),z(o,{code:x.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let i=e.data.length>s.value,a=e.data.length<s.value;(i||a)&&(o=this._getOrReturnCtx(e,o),i?z(o,{code:x.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&z(o,{code:x.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")db.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"email",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")za||(za=new RegExp(pb,"u")),za.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"emoji",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")ab.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"uuid",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")cb.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"nanoid",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")ob.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"cuid",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")sb.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"cuid2",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")ib.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"ulid",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{o=this._getOrReturnCtx(e,o),z(o,{validation:"url",code:x.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"regex",code:x.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(o=this._getOrReturnCtx(e,o),z(o,{code:x.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(o=this._getOrReturnCtx(e,o),z(o,{code:x.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(o=this._getOrReturnCtx(e,o),z(o,{code:x.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?Jp(s).test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{code:x.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?vb.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{code:x.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?bb(s).test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{code:x.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?lb.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"duration",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?wb(e.data,s.version)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"ip",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?$b(e.data,s.alg)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"jwt",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?xb(e.data,s.version)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"cidr",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?yb.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"base64",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?_b.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"base64url",code:x.invalid_string,message:s.message}),n.dirty()):X.assertNever(s);return{status:n.value,value:e.data}}_regex(e,r,n){return this.refinement(o=>e.test(o),{validation:r,code:x.invalid_string,...O.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...O.errToObj(e)})}url(e){return this._addCheck({kind:"url",...O.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...O.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...O.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...O.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...O.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...O.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...O.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...O.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...O.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...O.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...O.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...O.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...O.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...O.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...O.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...O.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...O.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...O.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...O.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...O.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...O.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...O.errToObj(r)})}nonempty(e){return this.min(1,O.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};Yt.create=t=>new Yt({checks:[],typeName:S.ZodString,coerce:t?.coerce??!1,...H(t)});function Sb(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(t.toFixed(o).replace(".","")),i=Number.parseInt(e.toFixed(o).replace(".",""));return s%i/10**o}var _r=class t extends J{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==P.number){let s=this._getOrReturnCtx(e);return z(s,{code:x.invalid_type,expected:P.number,received:s.parsedType}),D}let n,o=new Ie;for(let s of this._def.checks)s.kind==="int"?X.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),z(n,{code:x.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),z(n,{code:x.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),z(n,{code:x.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?Sb(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),z(n,{code:x.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),z(n,{code:x.not_finite,message:s.message}),o.dirty()):X.assertNever(s);return{status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,O.toString(r))}gt(e,r){return this.setLimit("min",e,!1,O.toString(r))}lte(e,r){return this.setLimit("max",e,!0,O.toString(r))}lt(e,r){return this.setLimit("max",e,!1,O.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:O.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:O.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:O.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:O.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:O.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:O.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:O.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:O.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:O.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:O.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&X.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(r)&&Number.isFinite(e)}};_r.create=t=>new _r({checks:[],typeName:S.ZodNumber,coerce:t?.coerce||!1,...H(t)});var vr=class t extends J{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==P.bigint)return this._getInvalidInput(e);let n,o=new Ie;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),z(n,{code:x.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),z(n,{code:x.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),z(n,{code:x.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):X.assertNever(s);return{status:o.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return z(r,{code:x.invalid_type,expected:P.bigint,received:r.parsedType}),D}gte(e,r){return this.setLimit("min",e,!0,O.toString(r))}gt(e,r){return this.setLimit("min",e,!1,O.toString(r))}lte(e,r){return this.setLimit("max",e,!0,O.toString(r))}lt(e,r){return this.setLimit("max",e,!1,O.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:O.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:O.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:O.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:O.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:O.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:O.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};vr.create=t=>new vr({checks:[],typeName:S.ZodBigInt,coerce:t?.coerce??!1,...H(t)});var br=class extends J{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==P.boolean){let n=this._getOrReturnCtx(e);return z(n,{code:x.invalid_type,expected:P.boolean,received:n.parsedType}),D}return Me(e.data)}};br.create=t=>new br({typeName:S.ZodBoolean,coerce:t?.coerce||!1,...H(t)});var wr=class t extends J{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==P.date){let s=this._getOrReturnCtx(e);return z(s,{code:x.invalid_type,expected:P.date,received:s.parsedType}),D}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return z(s,{code:x.invalid_date}),D}let n=new Ie,o;for(let s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(o=this._getOrReturnCtx(e,o),z(o,{code:x.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(o=this._getOrReturnCtx(e,o),z(o,{code:x.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):X.assertNever(s);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:O.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:O.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e!=null?new Date(e):null}};wr.create=t=>new wr({checks:[],coerce:t?.coerce||!1,typeName:S.ZodDate,...H(t)});var un=class extends J{_parse(e){if(this._getType(e)!==P.symbol){let n=this._getOrReturnCtx(e);return z(n,{code:x.invalid_type,expected:P.symbol,received:n.parsedType}),D}return Me(e.data)}};un.create=t=>new un({typeName:S.ZodSymbol,...H(t)});var $r=class extends J{_parse(e){if(this._getType(e)!==P.undefined){let n=this._getOrReturnCtx(e);return z(n,{code:x.invalid_type,expected:P.undefined,received:n.parsedType}),D}return Me(e.data)}};$r.create=t=>new $r({typeName:S.ZodUndefined,...H(t)});var xr=class extends J{_parse(e){if(this._getType(e)!==P.null){let n=this._getOrReturnCtx(e);return z(n,{code:x.invalid_type,expected:P.null,received:n.parsedType}),D}return Me(e.data)}};xr.create=t=>new xr({typeName:S.ZodNull,...H(t)});var Xt=class extends J{constructor(){super(...arguments),this._any=!0}_parse(e){return Me(e.data)}};Xt.create=t=>new Xt({typeName:S.ZodAny,...H(t)});var Vt=class extends J{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Me(e.data)}};Vt.create=t=>new Vt({typeName:S.ZodUnknown,...H(t)});var vt=class extends J{_parse(e){let r=this._getOrReturnCtx(e);return z(r,{code:x.invalid_type,expected:P.never,received:r.parsedType}),D}};vt.create=t=>new vt({typeName:S.ZodNever,...H(t)});var ln=class extends J{_parse(e){if(this._getType(e)!==P.undefined){let n=this._getOrReturnCtx(e);return z(n,{code:x.invalid_type,expected:P.void,received:n.parsedType}),D}return Me(e.data)}};ln.create=t=>new ln({typeName:S.ZodVoid,...H(t)});var Lt=class t extends J{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==P.array)return z(r,{code:x.invalid_type,expected:P.array,received:r.parsedType}),D;if(o.exactLength!==null){let i=r.data.length>o.exactLength.value,a=r.data.length<o.exactLength.value;(i||a)&&(z(r,{code:i?x.too_big:x.too_small,minimum:a?o.exactLength.value:void 0,maximum:i?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),n.dirty())}if(o.minLength!==null&&r.data.length<o.minLength.value&&(z(r,{code:x.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),n.dirty()),o.maxLength!==null&&r.data.length>o.maxLength.value&&(z(r,{code:x.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((i,a)=>o.type._parseAsync(new ct(r,i,r.path,a)))).then(i=>Ie.mergeArray(n,i));let s=[...r.data].map((i,a)=>o.type._parseSync(new ct(r,i,r.path,a)));return Ie.mergeArray(n,s)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:O.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:O.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:O.toString(r)}})}nonempty(e){return this.min(1,e)}};Lt.create=(t,e)=>new Lt({type:t,minLength:null,maxLength:null,exactLength:null,typeName:S.ZodArray,...H(e)});function cn(t){if(t instanceof Ke){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=Je.create(cn(n))}return new Ke({...t._def,shape:()=>e})}else return t instanceof Lt?new Lt({...t._def,type:cn(t.element)}):t instanceof Je?Je.create(cn(t.unwrap())):t instanceof It?It.create(cn(t.unwrap())):t instanceof Pt?Pt.create(t.items.map(e=>cn(e))):t}var Ke=class t extends J{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=X.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==P.object){let u=this._getOrReturnCtx(e);return z(u,{code:x.invalid_type,expected:P.object,received:u.parsedType}),D}let{status:n,ctx:o}=this._processInputParams(e),{shape:s,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof vt&&this._def.unknownKeys==="strip"))for(let u in o.data)i.includes(u)||a.push(u);let c=[];for(let u of i){let l=s[u],d=o.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new ct(o,d,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof vt){let u=this._def.unknownKeys;if(u==="passthrough")for(let l of a)c.push({key:{status:"valid",value:l},value:{status:"valid",value:o.data[l]}});else if(u==="strict")a.length>0&&(z(o,{code:x.unrecognized_keys,keys:a}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let l of a){let d=o.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new ct(o,d,o.path,l)),alwaysSet:l in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let l of c){let d=await l.key,p=await l.value;u.push({key:d,value:p,alwaysSet:l.alwaysSet})}return u}).then(u=>Ie.mergeObjectSync(n,u)):Ie.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return O.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{let o=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:O.errToObj(e).message??o}:{message:o}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:S.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of X.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of X.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return cn(this)}partial(e){let r={};for(let n of X.objectKeys(this.shape)){let o=this.shape[n];e&&!e[n]?r[n]=o:r[n]=o.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of X.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof Je;)s=s._def.innerType;r[n]=s}return new t({...this._def,shape:()=>r})}keyof(){return Kp(X.objectKeys(this.shape))}};Ke.create=(t,e)=>new Ke({shape:()=>t,unknownKeys:"strip",catchall:vt.create(),typeName:S.ZodObject,...H(e)});Ke.strictCreate=(t,e)=>new Ke({shape:()=>t,unknownKeys:"strict",catchall:vt.create(),typeName:S.ZodObject,...H(e)});Ke.lazycreate=(t,e)=>new Ke({shape:t,unknownKeys:"strip",catchall:vt.create(),typeName:S.ZodObject,...H(e)});var Sr=class extends J{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function o(s){for(let a of s)if(a.result.status==="valid")return a.result;for(let a of s)if(a.result.status==="dirty")return r.common.issues.push(...a.ctx.common.issues),a.result;let i=s.map(a=>new Ge(a.ctx.common.issues));return z(r,{code:x.invalid_union,unionErrors:i}),D}if(r.common.async)return Promise.all(n.map(async s=>{let i={...r,common:{...r.common,issues:[]},parent:null};return{result:await s._parseAsync({data:r.data,path:r.path,parent:i}),ctx:i}})).then(o);{let s,i=[];for(let c of n){let u={...r,common:{...r.common,issues:[]},parent:null},l=c._parseSync({data:r.data,path:r.path,parent:u});if(l.status==="valid")return l;l.status==="dirty"&&!s&&(s={result:l,ctx:u}),u.common.issues.length&&i.push(u.common.issues)}if(s)return r.common.issues.push(...s.ctx.common.issues),s.result;let a=i.map(c=>new Ge(c));return z(r,{code:x.invalid_union,unionErrors:a}),D}}get options(){return this._def.options}};Sr.create=(t,e)=>new Sr({options:t,typeName:S.ZodUnion,...H(e)});var qt=t=>t instanceof Rr?qt(t.schema):t instanceof ut?qt(t.innerType()):t instanceof zr?[t.value]:t instanceof Tr?t.options:t instanceof Er?X.objectValues(t.enum):t instanceof Pr?qt(t._def.innerType):t instanceof $r?[void 0]:t instanceof xr?[null]:t instanceof Je?[void 0,...qt(t.unwrap())]:t instanceof It?[null,...qt(t.unwrap())]:t instanceof Qn||t instanceof Or?qt(t.unwrap()):t instanceof Ir?qt(t._def.innerType):[],_s=class t extends J{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==P.object)return z(r,{code:x.invalid_type,expected:P.object,received:r.parsedType}),D;let n=this.discriminator,o=r.data[n],s=this.optionsMap.get(o);return s?r.common.async?s._parseAsync({data:r.data,path:r.path,parent:r}):s._parseSync({data:r.data,path:r.path,parent:r}):(z(r,{code:x.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),D)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let o=new Map;for(let s of r){let i=qt(s.shape[e]);if(!i.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let a of i){if(o.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);o.set(a,s)}}return new t({typeName:S.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:o,...H(n)})}};function Ta(t,e){let r=Et(t),n=Et(e);if(t===e)return{valid:!0,data:t};if(r===P.object&&n===P.object){let o=X.objectKeys(e),s=X.objectKeys(t).filter(a=>o.indexOf(a)!==-1),i={...t,...e};for(let a of s){let c=Ta(t[a],e[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(r===P.array&&n===P.array){if(t.length!==e.length)return{valid:!1};let o=[];for(let s=0;s<t.length;s++){let i=t[s],a=e[s],c=Ta(i,a);if(!c.valid)return{valid:!1};o.push(c.data)}return{valid:!0,data:o}}else return r===P.date&&n===P.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}var kr=class extends J{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=(s,i)=>{if(gs(s)||gs(i))return D;let a=Ta(s.value,i.value);return a.valid?((ys(s)||ys(i))&&r.dirty(),{status:r.value,value:a.data}):(z(n,{code:x.invalid_intersection_types}),D)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,i])=>o(s,i)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};kr.create=(t,e,r)=>new kr({left:t,right:e,typeName:S.ZodIntersection,...H(r)});var Pt=class t extends J{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==P.array)return z(n,{code:x.invalid_type,expected:P.array,received:n.parsedType}),D;if(n.data.length<this._def.items.length)return z(n,{code:x.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),D;!this._def.rest&&n.data.length>this._def.items.length&&(z(n,{code:x.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let s=[...n.data].map((i,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new ct(n,i,n.path,a)):null}).filter(i=>!!i);return n.common.async?Promise.all(s).then(i=>Ie.mergeArray(r,i)):Ie.mergeArray(r,s)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};Pt.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Pt({items:t,typeName:S.ZodTuple,rest:null,...H(e)})};var vs=class t extends J{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==P.object)return z(n,{code:x.invalid_type,expected:P.object,received:n.parsedType}),D;let o=[],s=this._def.keyType,i=this._def.valueType;for(let a in n.data)o.push({key:s._parse(new ct(n,a,n.path,a)),value:i._parse(new ct(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?Ie.mergeObjectAsync(r,o):Ie.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof J?new t({keyType:e,valueType:r,typeName:S.ZodRecord,...H(n)}):new t({keyType:Yt.create(),valueType:e,typeName:S.ZodRecord,...H(r)})}},dn=class extends J{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==P.map)return z(n,{code:x.invalid_type,expected:P.map,received:n.parsedType}),D;let o=this._def.keyType,s=this._def.valueType,i=[...n.data.entries()].map(([a,c],u)=>({key:o._parse(new ct(n,a,n.path,[u,"key"])),value:s._parse(new ct(n,c,n.path,[u,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of i){let u=await c.key,l=await c.value;if(u.status==="aborted"||l.status==="aborted")return D;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}})}else{let a=new Map;for(let c of i){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return D;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}}}};dn.create=(t,e,r)=>new dn({valueType:e,keyType:t,typeName:S.ZodMap,...H(r)});var pn=class t extends J{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==P.set)return z(n,{code:x.invalid_type,expected:P.set,received:n.parsedType}),D;let o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&(z(n,{code:x.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),r.dirty()),o.maxSize!==null&&n.data.size>o.maxSize.value&&(z(n,{code:x.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let s=this._def.valueType;function i(c){let u=new Set;for(let l of c){if(l.status==="aborted")return D;l.status==="dirty"&&r.dirty(),u.add(l.value)}return{status:r.value,value:u}}let a=[...n.data.values()].map((c,u)=>s._parse(new ct(n,c,n.path,u)));return n.common.async?Promise.all(a).then(c=>i(c)):i(a)}min(e,r){return new t({...this._def,minSize:{value:e,message:O.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:O.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};pn.create=(t,e)=>new pn({valueType:t,minSize:null,maxSize:null,typeName:S.ZodSet,...H(e)});var bs=class t extends J{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==P.function)return z(r,{code:x.invalid_type,expected:P.function,received:r.parsedType}),D;function n(a,c){return Xn({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,sn(),Dt].filter(u=>!!u),issueData:{code:x.invalid_arguments,argumentsError:c}})}function o(a,c){return Xn({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,sn(),Dt].filter(u=>!!u),issueData:{code:x.invalid_return_type,returnTypeError:c}})}let s={errorMap:r.common.contextualErrorMap},i=r.data;if(this._def.returns instanceof Qt){let a=this;return Me(async function(...c){let u=new Ge([]),l=await a._def.args.parseAsync(c,s).catch(f=>{throw u.addIssue(n(c,f)),u}),d=await Reflect.apply(i,this,l);return await a._def.returns._def.type.parseAsync(d,s).catch(f=>{throw u.addIssue(o(d,f)),u})})}else{let a=this;return Me(function(...c){let u=a._def.args.safeParse(c,s);if(!u.success)throw new Ge([n(c,u.error)]);let l=Reflect.apply(i,this,u.data),d=a._def.returns.safeParse(l,s);if(!d.success)throw new Ge([o(l,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:Pt.create(e).rest(Vt.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||Pt.create([]).rest(Vt.create()),returns:r||Vt.create(),typeName:S.ZodFunction,...H(n)})}},Rr=class extends J{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};Rr.create=(t,e)=>new Rr({getter:t,typeName:S.ZodLazy,...H(e)});var zr=class extends J{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return z(r,{received:r.data,code:x.invalid_literal,expected:this._def.value}),D}return{status:"valid",value:e.data}}get value(){return this._def.value}};zr.create=(t,e)=>new zr({value:t,typeName:S.ZodLiteral,...H(e)});function Kp(t,e){return new Tr({values:t,typeName:S.ZodEnum,...H(e)})}var Tr=class t extends J{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return z(r,{expected:X.joinValues(n),received:r.parsedType,code:x.invalid_type}),D}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return z(r,{received:r.data,code:x.invalid_enum_value,options:n}),D}return Me(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};Tr.create=Kp;var Er=class extends J{_parse(e){let r=X.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==P.string&&n.parsedType!==P.number){let o=X.objectValues(r);return z(n,{expected:X.joinValues(o),received:n.parsedType,code:x.invalid_type}),D}if(this._cache||(this._cache=new Set(X.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=X.objectValues(r);return z(n,{received:n.data,code:x.invalid_enum_value,options:o}),D}return Me(e.data)}get enum(){return this._def.values}};Er.create=(t,e)=>new Er({values:t,typeName:S.ZodNativeEnum,...H(e)});var Qt=class extends J{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==P.promise&&r.common.async===!1)return z(r,{code:x.invalid_type,expected:P.promise,received:r.parsedType}),D;let n=r.parsedType===P.promise?r.data:Promise.resolve(r.data);return Me(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};Qt.create=(t,e)=>new Qt({type:t,typeName:S.ZodPromise,...H(e)});var ut=class extends J{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===S.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=this._def.effect||null,s={addIssue:i=>{z(n,i),i.fatal?r.abort():r.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="preprocess"){let i=o.transform(n.data,s);if(n.common.async)return Promise.resolve(i).then(async a=>{if(r.value==="aborted")return D;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?D:c.status==="dirty"?yr(c.value):r.value==="dirty"?yr(c.value):c});{if(r.value==="aborted")return D;let a=this._def.schema._parseSync({data:i,path:n.path,parent:n});return a.status==="aborted"?D:a.status==="dirty"?yr(a.value):r.value==="dirty"?yr(a.value):a}}if(o.type==="refinement"){let i=a=>{let c=o.refinement(a,s);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?D:(a.status==="dirty"&&r.dirty(),i(a.value),{status:r.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?D:(a.status==="dirty"&&r.dirty(),i(a.value).then(()=>({status:r.value,value:a.value}))))}if(o.type==="transform")if(n.common.async===!1){let i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Wt(i))return D;let a=o.transform(i.value,s);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(i=>Wt(i)?Promise.resolve(o.transform(i.value,s)).then(a=>({status:r.value,value:a})):D);X.assertNever(o)}};ut.create=(t,e,r)=>new ut({schema:t,typeName:S.ZodEffects,effect:e,...H(r)});ut.createWithPreprocess=(t,e,r)=>new ut({schema:e,effect:{type:"preprocess",transform:t},typeName:S.ZodEffects,...H(r)});var Je=class extends J{_parse(e){return this._getType(e)===P.undefined?Me(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Je.create=(t,e)=>new Je({innerType:t,typeName:S.ZodOptional,...H(e)});var It=class extends J{_parse(e){return this._getType(e)===P.null?Me(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};It.create=(t,e)=>new It({innerType:t,typeName:S.ZodNullable,...H(e)});var Pr=class extends J{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===P.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};Pr.create=(t,e)=>new Pr({innerType:t,typeName:S.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...H(e)});var Ir=class extends J{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return an(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Ge(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Ge(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Ir.create=(t,e)=>new Ir({innerType:t,typeName:S.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...H(e)});var fn=class extends J{_parse(e){if(this._getType(e)!==P.nan){let n=this._getOrReturnCtx(e);return z(n,{code:x.invalid_type,expected:P.nan,received:n.parsedType}),D}return{status:"valid",value:e.data}}};fn.create=t=>new fn({typeName:S.ZodNaN,...H(t)});var kb=Symbol("zod_brand"),Qn=class extends J{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},eo=class t extends J{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?D:s.status==="dirty"?(r.dirty(),yr(s.value)):this._def.out._parseAsync({data:s.value,path:n.path,parent:n})})();{let o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?D:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:S.ZodPipeline})}},Or=class extends J{_parse(e){let r=this._def.innerType._parse(e),n=o=>(Wt(o)&&(o.value=Object.freeze(o.value)),o);return an(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};Or.create=(t,e)=>new Or({innerType:t,typeName:S.ZodReadonly,...H(e)});function Bp(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function Wp(t,e={},r){return t?Xt.create().superRefine((n,o)=>{let s=t(n);if(s instanceof Promise)return s.then(i=>{if(!i){let a=Bp(e,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!s){let i=Bp(e,n),a=i.fatal??r??!0;o.addIssue({code:"custom",...i,fatal:a})}}):Xt.create()}var Rb={object:Ke.lazycreate},S;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(S||(S={}));var zb=(t,e={message:`Input not instance of ${t.name}`})=>Wp(r=>r instanceof t,e),Yp=Yt.create,Xp=_r.create,Tb=fn.create,Eb=vr.create,Qp=br.create,Pb=wr.create,Ib=un.create,Ob=$r.create,Nb=xr.create,Ab=Xt.create,Cb=Vt.create,jb=vt.create,Mb=ln.create,Zb=Lt.create,Ea=Ke.create,Db=Ke.strictCreate,qb=Sr.create,Vb=_s.create,Lb=kr.create,Ub=Pt.create,Fb=vs.create,Bb=dn.create,Hb=pn.create,Gb=bs.create,Jb=Rr.create,Kb=zr.create,Wb=Tr.create,Yb=Er.create,Xb=Qt.create,Qb=ut.create,ew=Je.create,tw=It.create,rw=ut.createWithPreprocess,nw=eo.create,ow=()=>Yp().optional(),sw=()=>Xp().optional(),iw=()=>Qp().optional(),aw={string:t=>Yt.create({...t,coerce:!0}),number:t=>_r.create({...t,coerce:!0}),boolean:t=>br.create({...t,coerce:!0}),bigint:t=>vr.create({...t,coerce:!0}),date:t=>wr.create({...t,coerce:!0})};var cw=D;var uw=Object.freeze({status:"aborted"});function b(t,e,r){function n(a,c){var u;Object.defineProperty(a,"_zod",{value:a._zod??{},enumerable:!1}),(u=a._zod).traits??(u.traits=new Set),a._zod.traits.add(t),e(a,c);for(let l in i.prototype)l in a||Object.defineProperty(a,l,{value:i.prototype[l].bind(a)});a._zod.constr=i,a._zod.def=c}let o=r?.Parent??Object;class s extends o{}Object.defineProperty(s,"name",{value:t});function i(a){var c;let u=r?.Parent?new s:this;n(u,a),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}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(t)}),Object.defineProperty(i,"name",{value:t}),i}var lw=Symbol("zod_brand"),Ut=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},ws={};function rt(t){return t&&Object.assign(ws,t),ws}var Q={};ka(Q,{BIGINT_FORMAT_RANGES:()=>tf,Class:()=>Ia,NUMBER_FORMAT_RANGES:()=>Za,aborted:()=>Ar,allowsEval:()=>Ca,assert:()=>hw,assertEqual:()=>dw,assertIs:()=>fw,assertNever:()=>mw,assertNotEqual:()=>pw,assignProp:()=>Aa,cached:()=>no,captureStackTrace:()=>xs,cleanEnum:()=>Tw,cleanRegex:()=>so,clone:()=>nt,createTransparentProxy:()=>ww,defineLazy:()=>de,esc:()=>Nr,escapeRegex:()=>er,extend:()=>Sw,finalizeIssue:()=>bt,floatSafeRemainder:()=>Na,getElementAtPath:()=>gw,getEnumValues:()=>ro,getLengthableOrigin:()=>io,getParsedType:()=>bw,getSizableOrigin:()=>rf,isObject:()=>mn,isPlainObject:()=>hn,issue:()=>Da,joinValues:()=>$s,jsonStringifyReplacer:()=>Oa,merge:()=>kw,normalizeParams:()=>q,nullish:()=>oo,numKeys:()=>vw,omit:()=>xw,optionalKeys:()=>Ma,partial:()=>Rw,pick:()=>$w,prefixIssues:()=>Ot,primitiveTypes:()=>ef,promiseAllObject:()=>yw,propertyKeyTypes:()=>ja,randomString:()=>_w,required:()=>zw,stringifyPrimitive:()=>Ss,unwrapMessage:()=>to});function dw(t){return t}function pw(t){return t}function fw(t){}function mw(t){throw new Error}function hw(t){}function ro(t){let e=Object.values(t).filter(n=>typeof n=="number");return Object.entries(t).filter(([n,o])=>e.indexOf(+n)===-1).map(([n,o])=>o)}function $s(t,e="|"){return t.map(r=>Ss(r)).join(e)}function Oa(t,e){return typeof e=="bigint"?e.toString():e}function no(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function oo(t){return t==null}function so(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function Na(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(t.toFixed(o).replace(".","")),i=Number.parseInt(e.toFixed(o).replace(".",""));return s%i/10**o}function de(t,e,r){Object.defineProperty(t,e,{get(){{let o=r();return t[e]=o,o}throw new Error("cached value already set")},set(o){Object.defineProperty(t,e,{value:o})},configurable:!0})}function Aa(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function gw(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function yw(t){let e=Object.keys(t),r=e.map(n=>t[n]);return Promise.all(r).then(n=>{let o={};for(let s=0;s<e.length;s++)o[e[s]]=n[s];return o})}function _w(t=10){let e="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<t;n++)r+=e[Math.floor(Math.random()*e.length)];return r}function Nr(t){return JSON.stringify(t)}var xs=Error.captureStackTrace?Error.captureStackTrace:(...t)=>{};function mn(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var Ca=no(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function hn(t){if(mn(t)===!1)return!1;let e=t.constructor;if(e===void 0)return!0;let r=e.prototype;return!(mn(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function vw(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var bw=t=>{let e=typeof t;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(t)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(t)?"array":t===null?"null":t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?"promise":typeof Map<"u"&&t instanceof Map?"map":typeof Set<"u"&&t instanceof Set?"set":typeof Date<"u"&&t instanceof Date?"date":typeof File<"u"&&t instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},ja=new Set(["string","number","symbol"]),ef=new Set(["string","number","bigint","boolean","symbol","undefined"]);function er(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function nt(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}function q(t){let e=t;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function ww(t){let e;return new Proxy({},{get(r,n,o){return e??(e=t()),Reflect.get(e,n,o)},set(r,n,o,s){return e??(e=t()),Reflect.set(e,n,o,s)},has(r,n){return e??(e=t()),Reflect.has(e,n)},deleteProperty(r,n){return e??(e=t()),Reflect.deleteProperty(e,n)},ownKeys(r){return e??(e=t()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(r,n){return e??(e=t()),Reflect.getOwnPropertyDescriptor(e,n)},defineProperty(r,n,o){return e??(e=t()),Reflect.defineProperty(e,n,o)}})}function Ss(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function Ma(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}var Za={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]},tf={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function $w(t,e){let r={},n=t._zod.def;for(let o in e){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);e[o]&&(r[o]=n.shape[o])}return nt(t,{...t._zod.def,shape:r,checks:[]})}function xw(t,e){let r={...t._zod.def.shape},n=t._zod.def;for(let o in e){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);e[o]&&delete r[o]}return nt(t,{...t._zod.def,shape:r,checks:[]})}function Sw(t,e){if(!hn(e))throw new Error("Invalid input to extend: expected a plain object");let r={...t._zod.def,get shape(){let n={...t._zod.def.shape,...e};return Aa(this,"shape",n),n},checks:[]};return nt(t,r)}function kw(t,e){return nt(t,{...t._zod.def,get shape(){let r={...t._zod.def.shape,...e._zod.def.shape};return Aa(this,"shape",r),r},catchall:e._zod.def.catchall,checks:[]})}function Rw(t,e,r){let n=e._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]=t?new t({type:"optional",innerType:n[s]}):n[s])}else for(let s in n)o[s]=t?new t({type:"optional",innerType:n[s]}):n[s];return nt(e,{...e._zod.def,shape:o,checks:[]})}function zw(t,e,r){let n=e._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 t({type:"nonoptional",innerType:n[s]}))}else for(let s in n)o[s]=new t({type:"nonoptional",innerType:n[s]});return nt(e,{...e._zod.def,shape:o,checks:[]})}function Ar(t,e=0){for(let r=e;r<t.issues.length;r++)if(t.issues[r]?.continue!==!0)return!0;return!1}function Ot(t,e){return e.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function to(t){return typeof t=="string"?t:t?.message}function bt(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let o=to(t.inst?._zod.def?.error?.(t))??to(e?.error?.(t))??to(r.customError?.(t))??to(r.localeError?.(t))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function rf(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function io(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function Da(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function Tw(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}var Ia=class{constructor(...e){}};var nf=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),Object.defineProperty(t,"message",{get(){return JSON.stringify(e,Oa,2)},enumerable:!0}),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},ks=b("$ZodError",nf),ao=b("$ZodError",nf,{Parent:Error});function qa(t,e=r=>r.message){let r={},n=[];for(let o of t.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(e(o))):n.push(e(o));return{formErrors:n,fieldErrors:r}}function Va(t,e){let r=e||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 u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(t),n}var La=t=>(e,r,n,o)=>{let s=n?Object.assign(n,{async:!1}):{async:!1},i=e._zod.run({value:r,issues:[]},s);if(i instanceof Promise)throw new Ut;if(i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>bt(c,s,rt())));throw xs(a,o?.callee),a}return i.value},Ua=La(ao),Fa=t=>async(e,r,n,o)=>{let s=n?Object.assign(n,{async:!0}):{async:!0},i=e._zod.run({value:r,issues:[]},s);if(i instanceof Promise&&(i=await i),i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>bt(c,s,rt())));throw xs(a,o?.callee),a}return i.value},Ba=Fa(ao),Ha=t=>(e,r,n)=>{let o=n?{...n,async:!1}:{async:!1},s=e._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new Ut;return s.issues.length?{success:!1,error:new(t??ks)(s.issues.map(i=>bt(i,o,rt())))}:{success:!0,data:s.value}},Cr=Ha(ao),Ga=t=>async(e,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},s=e._zod.run({value:r,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new t(s.issues.map(i=>bt(i,o,rt())))}:{success:!0,data:s.value}},jr=Ga(ao);var of=/^[cC][^\s-]{8,}$/,sf=/^[0-9a-z]+$/,af=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,cf=/^[0-9a-vA-V]{20}$/,uf=/^[A-Za-z0-9]{27}$/,lf=/^[a-zA-Z0-9_-]{21}$/,df=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var pf=/^([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})$/,Ja=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[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 ff=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var Pw="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function mf(){return new RegExp(Pw,"u")}var hf=/^(?:(?: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])$/,gf=/^(([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})$/,yf=/^((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])$/,_f=/^(([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])$/,vf=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Ka=/^[A-Za-z0-9_-]*$/,bf=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var wf=/^\+(?:[0-9]){6,14}[0-9]$/,$f="(?:(?:\\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])))",xf=new RegExp(`^${$f}$`);function Sf(t){let e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof t.precision=="number"?t.precision===-1?`${e}`:t.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${t.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function kf(t){return new RegExp(`^${Sf(t)}$`)}function Rf(t){let e=Sf({precision:t.precision}),r=["Z"];t.local&&r.push(""),t.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${e}(?:${r.join("|")})`;return new RegExp(`^${$f}T(?:${n})$`)}var zf=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)};var Tf=/^\d+$/,Ef=/^-?\d+(?:\.\d+)?/i,Pf=/true|false/i,If=/null/i;var Of=/^[^A-Z]*$/,Nf=/^[^a-z]*$/;var Oe=b("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),Af={number:"number",bigint:"bigint",object:"date"},Wa=b("$ZodCheckLessThan",(t,e)=>{Oe.init(t,e);let r=Af[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,s=(e.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value<s&&(e.inclusive?o.maximum=e.value:o.exclusiveMaximum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value<=e.value:n.value<e.value)||n.issues.push({origin:r,code:"too_big",maximum:e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),Ya=b("$ZodCheckGreaterThan",(t,e)=>{Oe.init(t,e);let r=Af[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,s=(e.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>s&&(e.inclusive?o.minimum=e.value:o.exclusiveMinimum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value>=e.value:n.value>e.value)||n.issues.push({origin:r,code:"too_small",minimum:e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),Cf=b("$ZodCheckMultipleOf",(t,e)=>{Oe.init(t,e),t._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=e.value)}),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%e.value===BigInt(0):Na(r.value,e.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:e.value,input:r.value,inst:t,continue:!e.abort})}}),jf=b("$ZodCheckNumberFormat",(t,e)=>{Oe.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[o,s]=Za[e.format];t._zod.onattach.push(i=>{let a=i._zod.bag;a.format=e.format,a.minimum=o,a.maximum=s,r&&(a.pattern=Tf)}),t._zod.check=i=>{let a=i.value;if(r){if(!Number.isInteger(a)){i.issues.push({expected:n,format:e.format,code:"invalid_type",input:a,inst:t});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:t,origin:n,continue:!e.abort}):i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort});return}}a<o&&i.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:t,continue:!e.abort}),a>s&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inst:t})}});var Mf=b("$ZodCheckMaxLength",(t,e)=>{var r;Oe.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!oo(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum<o&&(n._zod.bag.maximum=e.maximum)}),t._zod.check=n=>{let o=n.value;if(o.length<=e.maximum)return;let i=io(o);n.issues.push({origin:i,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Zf=b("$ZodCheckMinLength",(t,e)=>{var r;Oe.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!oo(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>o&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let o=n.value;if(o.length>=e.minimum)return;let i=io(o);n.issues.push({origin:i,code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Df=b("$ZodCheckLengthEquals",(t,e)=>{var r;Oe.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!oo(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=e.length,o.maximum=e.length,o.length=e.length}),t._zod.check=n=>{let o=n.value,s=o.length;if(s===e.length)return;let i=io(o),a=s>e.length;n.issues.push({origin:i,...a?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),co=b("$ZodCheckStringFormat",(t,e)=>{var r,n;Oe.init(t,e),t._zod.onattach.push(o=>{let s=o._zod.bag;s.format=e.format,e.pattern&&(s.patterns??(s.patterns=new Set),s.patterns.add(e.pattern))}),e.pattern?(r=t._zod).check??(r.check=o=>{e.pattern.lastIndex=0,!e.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:e.format,input:o.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(n=t._zod).check??(n.check=()=>{})}),qf=b("$ZodCheckRegex",(t,e)=>{co.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}}),Vf=b("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=Of),co.init(t,e)}),Lf=b("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=Nf),co.init(t,e)}),Uf=b("$ZodCheckIncludes",(t,e)=>{Oe.init(t,e);let r=er(e.includes),n=new RegExp(typeof e.position=="number"?`^.{${e.position}}${r}`:r);e.pattern=n,t._zod.onattach.push(o=>{let s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),t._zod.check=o=>{o.value.includes(e.includes,e.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:o.value,inst:t,continue:!e.abort})}}),Ff=b("$ZodCheckStartsWith",(t,e)=>{Oe.init(t,e);let r=new RegExp(`^${er(e.prefix)}.*`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.startsWith(e.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:n.value,inst:t,continue:!e.abort})}}),Bf=b("$ZodCheckEndsWith",(t,e)=>{Oe.init(t,e);let r=new RegExp(`.*${er(e.suffix)}$`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.endsWith(e.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:n.value,inst:t,continue:!e.abort})}});var Hf=b("$ZodCheckOverwrite",(t,e)=>{Oe.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});var zs=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(`
10
+ deps: ${r}}`};var Iz={keyword:"dependencies",type:"object",schemaType:"object",error:Mt.error,code(t){let[e,r]=Oz(t);My(t,e),Zy(t,r)}};function Oz({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let o=Array.isArray(t[n])?e:r;o[n]=t[n]}return[e,r]}function My(t,e=t.schema){let{gen:r,data:n,it:o}=t;if(Object.keys(e).length===0)return;let s=r.let("missing");for(let i in e){let a=e[i];if(a.length===0)continue;let c=(0,rs.propertyInData)(r,n,i,o.opts.ownProperties);t.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),o.allErrors?r.if(c,()=>{for(let u of a)(0,rs.checkReportMissingProp)(t,u)}):(r.if((0,Sd._)`${c} && (${(0,rs.checkMissingProp)(t,a,s)})`),(0,rs.reportMissingProp)(t,s),r.else())}}Mt.validatePropertyDeps=My;function Zy(t,e=t.schema){let{gen:r,data:n,keyword:o,it:s}=t,i=r.name("valid");for(let a in e)(0,Pz.alwaysValidSchema)(s,e[a])||(r.if((0,rs.propertyInData)(r,n,a,s.opts.ownProperties),()=>{let c=t.subschema({keyword:o,schemaProp:a},i);t.mergeValidEvaluated(c,i)},()=>r.var(i,!0)),t.ok(i))}Mt.validateSchemaDeps=Zy;Mt.default=Iz});var Vy=E(kd=>{"use strict";Object.defineProperty(kd,"__esModule",{value:!0});var qy=K(),Nz=ne(),Az={message:"property name must be valid",params:({params:t})=>(0,qy._)`{propertyName: ${t.propertyName}}`},Cz={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Az,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,Nz.alwaysValidSchema)(o,r))return;let s=e.name("valid");e.forIn("key",n,i=>{t.setParams({propertyName:i}),t.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},s),e.if((0,qy.not)(s),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(s)}};kd.default=Cz});var Td=E(Rd=>{"use strict";Object.defineProperty(Rd,"__esModule",{value:!0});var Fi=ht(),Tt=K(),jz=Kt(),Bi=ne(),Mz={message:"must NOT have additional properties",params:({params:t})=>(0,Tt._)`{additionalProperty: ${t.additionalProperty}}`},Zz={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Mz,code(t){let{gen:e,schema:r,parentSchema:n,data:o,errsCount:s,it:i}=t;if(!s)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=i;if(i.props=!0,c.removeAdditional!=="all"&&(0,Bi.alwaysValidSchema)(i,r))return;let u=(0,Fi.allSchemaProperties)(n.properties),l=(0,Fi.allSchemaProperties)(n.patternProperties);d(),t.ok((0,Tt._)`${s} === ${jz.default.errors}`);function d(){e.forIn("key",o,g=>{!u.length&&!l.length?p(g):e.if(f(g),()=>p(g))})}function f(g){let _;if(u.length>8){let y=(0,Bi.schemaRefOrVal)(i,n.properties,"properties");_=(0,Fi.isOwnProperty)(e,y,g)}else u.length?_=(0,Tt.or)(...u.map(y=>(0,Tt._)`${g} === ${y}`)):_=Tt.nil;return l.length&&(_=(0,Tt.or)(_,...l.map(y=>(0,Tt._)`${(0,Fi.usePattern)(t,y)}.test(${g})`))),(0,Tt.not)(_)}function h(g){e.code((0,Tt._)`delete ${o}[${g}]`)}function p(g){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){h(g);return}if(r===!1){t.setParams({additionalProperty:g}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0,Bi.alwaysValidSchema)(i,r)){let _=e.name("valid");c.removeAdditional==="failing"?(m(g,_,!1),e.if((0,Tt.not)(_),()=>{t.reset(),h(g)})):(m(g,_),a||e.if((0,Tt.not)(_),()=>e.break()))}}function m(g,_,y){let w={keyword:"additionalProperties",dataProp:g,dataPropType:Bi.Type.Str};y===!1&&Object.assign(w,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(w,_)}}};Rd.default=Zz});var Fy=E(Ed=>{"use strict";Object.defineProperty(Ed,"__esModule",{value:!0});var Dz=Lo(),Ly=ht(),zd=ne(),Uy=Td(),qz={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:s}=t;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&Uy.default.code(new Dz.KeywordCxt(s,Uy.default,"additionalProperties"));let i=(0,Ly.allSchemaProperties)(r);for(let d of i)s.definedProperties.add(d);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=zd.mergeEvaluated.props(e,(0,zd.toHash)(i),s.props));let a=i.filter(d=>!(0,zd.alwaysValidSchema)(s,r[d]));if(a.length===0)return;let c=e.name("valid");for(let d of a)u(d)?l(d):(e.if((0,Ly.propertyInData)(e,o,d,s.opts.ownProperties)),l(d),s.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return s.opts.useDefaults&&!s.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};Ed.default=qz});var Jy=E(Pd=>{"use strict";Object.defineProperty(Pd,"__esModule",{value:!0});var By=ht(),Hi=K(),Hy=ne(),Gy=ne(),Vz={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:o,it:s}=t,{opts:i}=s,a=(0,By.allSchemaProperties)(r),c=a.filter(m=>(0,Hy.alwaysValidSchema)(s,r[m]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let u=i.strictSchema&&!i.allowMatchingProperties&&o.properties,l=e.name("valid");s.props!==!0&&!(s.props instanceof Hi.Name)&&(s.props=(0,Gy.evaluatedPropsToName)(e,s.props));let{props:d}=s;f();function f(){for(let m of a)u&&h(m),s.allErrors?p(m):(e.var(l,!0),p(m),e.if(l))}function h(m){for(let g in u)new RegExp(m).test(g)&&(0,Hy.checkStrictMode)(s,`property ${g} matches pattern ${m} (use allowMatchingProperties)`)}function p(m){e.forIn("key",n,g=>{e.if((0,Hi._)`${(0,By.usePattern)(t,m)}.test(${g})`,()=>{let _=c.includes(m);_||t.subschema({keyword:"patternProperties",schemaProp:m,dataProp:g,dataPropType:Gy.Type.Str},l),s.opts.unevaluated&&d!==!0?e.assign((0,Hi._)`${d}[${g}]`,!0):!_&&!s.allErrors&&e.if((0,Hi.not)(l),()=>e.break())})})}}};Pd.default=Vz});var Ky=E(Id=>{"use strict";Object.defineProperty(Id,"__esModule",{value:!0});var Lz=ne(),Uz={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,Lz.alwaysValidSchema)(n,r)){t.fail();return}let o=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),t.failResult(o,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};Id.default=Uz});var Wy=E(Od=>{"use strict";Object.defineProperty(Od,"__esModule",{value:!0});var Fz=ht(),Bz={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Fz.validateUnion,error:{message:"must match a schema in anyOf"}};Od.default=Bz});var Yy=E(Nd=>{"use strict";Object.defineProperty(Nd,"__esModule",{value:!0});var Gi=K(),Hz=ne(),Gz={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,Gi._)`{passingSchemas: ${t.passing}}`},Jz={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Gz,code(t){let{gen:e,schema:r,parentSchema:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let s=r,i=e.let("valid",!1),a=e.let("passing",null),c=e.name("_valid");t.setParams({passing:a}),e.block(u),t.result(i,()=>t.reset(),()=>t.error(!0));function u(){s.forEach((l,d)=>{let f;(0,Hz.alwaysValidSchema)(o,l)?e.var(c,!0):f=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,Gi._)`${c} && ${i}`).assign(i,!1).assign(a,(0,Gi._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(i,!0),e.assign(a,d),f&&t.mergeEvaluated(f,Gi.Name)})})}}};Nd.default=Jz});var Xy=E(Ad=>{"use strict";Object.defineProperty(Ad,"__esModule",{value:!0});var Kz=ne(),Wz={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let o=e.name("valid");r.forEach((s,i)=>{if((0,Kz.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:i},o);t.ok(o),t.mergeEvaluated(a)})}};Ad.default=Wz});var t_=E(Cd=>{"use strict";Object.defineProperty(Cd,"__esModule",{value:!0});var Ji=K(),e_=ne(),Yz={message:({params:t})=>(0,Ji.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,Ji._)`{failingKeyword: ${t.ifClause}}`},Xz={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:Yz,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,e_.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=Qy(n,"then"),s=Qy(n,"else");if(!o&&!s)return;let i=e.let("valid",!0),a=e.name("_valid");if(c(),t.reset(),o&&s){let l=e.let("ifClause");t.setParams({ifClause:l}),e.if(a,u("then",l),u("else",l))}else o?e.if(a,u("then")):e.if((0,Ji.not)(a),u("else"));t.pass(i,()=>t.error(!0));function c(){let l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);t.mergeEvaluated(l)}function u(l,d){return()=>{let f=t.subschema({keyword:l},a);e.assign(i,a),t.mergeValidEvaluated(f,i),d?e.assign(d,(0,Ji._)`${l}`):t.setParams({ifClause:l})}}}};function Qy(t,e){let r=t.schema[e];return r!==void 0&&!(0,e_.alwaysValidSchema)(t,r)}Cd.default=Xz});var r_=E(jd=>{"use strict";Object.defineProperty(jd,"__esModule",{value:!0});var Qz=ne(),eE={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,Qz.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};jd.default=eE});var n_=E(Md=>{"use strict";Object.defineProperty(Md,"__esModule",{value:!0});var tE=vd(),rE=Ny(),nE=bd(),oE=Cy(),sE=jy(),iE=Dy(),aE=Vy(),cE=Td(),uE=Fy(),lE=Jy(),dE=Ky(),pE=Wy(),fE=Yy(),mE=Xy(),hE=t_(),gE=r_();function yE(t=!1){let e=[dE.default,pE.default,fE.default,mE.default,hE.default,gE.default,aE.default,cE.default,iE.default,uE.default,lE.default];return t?e.push(rE.default,oE.default):e.push(tE.default,nE.default),e.push(sE.default),e}Md.default=yE});var o_=E(Zd=>{"use strict";Object.defineProperty(Zd,"__esModule",{value:!0});var xe=K(),_E={message:({schemaCode:t})=>(0,xe.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,xe._)`{format: ${t}}`},vE={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:_E,code(t,e){let{gen:r,data:n,$data:o,schema:s,schemaCode:i,it:a}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=a;if(!c.validateFormats)return;o?f():h();function f(){let p=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),m=r.const("fDef",(0,xe._)`${p}[${i}]`),g=r.let("fType"),_=r.let("format");r.if((0,xe._)`typeof ${m} == "object" && !(${m} instanceof RegExp)`,()=>r.assign(g,(0,xe._)`${m}.type || "string"`).assign(_,(0,xe._)`${m}.validate`),()=>r.assign(g,(0,xe._)`"string"`).assign(_,m)),t.fail$data((0,xe.or)(y(),w()));function y(){return c.strictSchema===!1?xe.nil:(0,xe._)`${i} && !${_}`}function w(){let z=l.$async?(0,xe._)`(${m}.async ? await ${_}(${n}) : ${_}(${n}))`:(0,xe._)`${_}(${n})`,j=(0,xe._)`(typeof ${_} == "function" ? ${z} : ${_}.test(${n}))`;return(0,xe._)`${_} && ${_} !== true && ${g} === ${e} && !${j}`}}function h(){let p=d.formats[s];if(!p){y();return}if(p===!0)return;let[m,g,_]=w(p);m===e&&t.pass(z());function y(){if(c.strictSchema===!1){d.logger.warn(j());return}throw new Error(j());function j(){return`unknown format "${s}" ignored in schema at path "${u}"`}}function w(j){let Ee=j instanceof RegExp?(0,xe.regexpCode)(j):c.code.formats?(0,xe._)`${c.code.formats}${(0,xe.getProperty)(s)}`:void 0,ke=r.scopeValue("formats",{key:s,ref:j,code:Ee});return typeof j=="object"&&!(j instanceof RegExp)?[j.type||"string",j.validate,(0,xe._)`${ke}.validate`]:["string",j,ke]}function z(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!l.$async)throw new Error("async format in sync schema");return(0,xe._)`await ${_}(${n})`}return typeof g=="function"?(0,xe._)`${_}(${n})`:(0,xe._)`${_}.test(${n})`}}}};Zd.default=vE});var s_=E(Dd=>{"use strict";Object.defineProperty(Dd,"__esModule",{value:!0});var bE=o_(),wE=[bE.default];Dd.default=wE});var i_=E(Zn=>{"use strict";Object.defineProperty(Zn,"__esModule",{value:!0});Zn.contentVocabulary=Zn.metadataVocabulary=void 0;Zn.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Zn.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var c_=E(qd=>{"use strict";Object.defineProperty(qd,"__esModule",{value:!0});var $E=hy(),xE=Ey(),SE=n_(),kE=s_(),a_=i_(),RE=[$E.default,xE.default,(0,SE.default)(),kE.default,a_.metadataVocabulary,a_.contentVocabulary];qd.default=RE});var l_=E(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.DiscrError=void 0;var u_;(function(t){t.Tag="tag",t.Mapping="mapping"})(u_||(Ki.DiscrError=u_={}))});var p_=E(Ld=>{"use strict";Object.defineProperty(Ld,"__esModule",{value:!0});var Dn=K(),Vd=l_(),d_=Oi(),TE=Uo(),zE=ne(),EE={message:({params:{discrError:t,tagName:e}})=>t===Vd.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,Dn._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},PE={keyword:"discriminator",type:"object",schemaType:"object",error:EE,code(t){let{gen:e,data:r,schema:n,parentSchema:o,it:s}=t,{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=e.let("valid",!1),u=e.const("tag",(0,Dn._)`${r}${(0,Dn.getProperty)(a)}`);e.if((0,Dn._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:Vd.DiscrError.Tag,tag:u,tagName:a})),t.ok(c);function l(){let h=f();e.if(!1);for(let p in h)e.elseIf((0,Dn._)`${u} === ${p}`),e.assign(c,d(h[p]));e.else(),t.error(!1,{discrError:Vd.DiscrError.Mapping,tag:u,tagName:a}),e.endIf()}function d(h){let p=e.name("valid"),m=t.subschema({keyword:"oneOf",schemaProp:h},p);return t.mergeEvaluated(m,Dn.Name),p}function f(){var h;let p={},m=_(o),g=!0;for(let z=0;z<i.length;z++){let j=i[z];if(j?.$ref&&!(0,zE.schemaHasRulesButRef)(j,s.self.RULES)){let ke=j.$ref;if(j=d_.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,ke),j instanceof d_.SchemaEnv&&(j=j.schema),j===void 0)throw new TE.default(s.opts.uriResolver,s.baseId,ke)}let Ee=(h=j?.properties)===null||h===void 0?void 0:h[a];if(typeof Ee!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);g=g&&(m||_(j)),y(Ee,z)}if(!g)throw new Error(`discriminator: "${a}" must be required`);return p;function _({required:z}){return Array.isArray(z)&&z.includes(a)}function y(z,j){if(z.const)w(z.const,j);else if(z.enum)for(let Ee of z.enum)w(Ee,j);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function w(z,j){if(typeof z!="string"||z in p)throw new Error(`discriminator: "${a}" values must be unique strings`);p[z]=j}}}};Ld.default=PE});var f_=E((NM,IE)=>{IE.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 Fd=E((ye,Ud)=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.MissingRefError=ye.ValidationError=ye.CodeGen=ye.Name=ye.nil=ye.stringify=ye.str=ye._=ye.KeywordCxt=ye.Ajv=void 0;var OE=uy(),NE=c_(),AE=p_(),m_=f_(),CE=["/properties"],Wi="http://json-schema.org/draft-07/schema",qn=class extends OE.default{_addVocabularies(){super._addVocabularies(),NE.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(AE.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(m_,CE):m_;this.addMetaSchema(e,Wi,!1),this.refs["http://json-schema.org/schema"]=Wi}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Wi)?Wi:void 0)}};ye.Ajv=qn;Ud.exports=ye=qn;Ud.exports.Ajv=qn;Object.defineProperty(ye,"__esModule",{value:!0});ye.default=qn;var jE=Lo();Object.defineProperty(ye,"KeywordCxt",{enumerable:!0,get:function(){return jE.KeywordCxt}});var Vn=K();Object.defineProperty(ye,"_",{enumerable:!0,get:function(){return Vn._}});Object.defineProperty(ye,"str",{enumerable:!0,get:function(){return Vn.str}});Object.defineProperty(ye,"stringify",{enumerable:!0,get:function(){return Vn.stringify}});Object.defineProperty(ye,"nil",{enumerable:!0,get:function(){return Vn.nil}});Object.defineProperty(ye,"Name",{enumerable:!0,get:function(){return Vn.Name}});Object.defineProperty(ye,"CodeGen",{enumerable:!0,get:function(){return Vn.CodeGen}});var ME=Pi();Object.defineProperty(ye,"ValidationError",{enumerable:!0,get:function(){return ME.default}});var ZE=Uo();Object.defineProperty(ye,"MissingRefError",{enumerable:!0,get:function(){return ZE.default}})});var $_=E(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.formatNames=Dt.fastFormats=Dt.fullFormats=void 0;function Zt(t,e){return{validate:t,compare:e}}Dt.fullFormats={date:Zt(__,Jd),time:Zt(Hd(!0),Kd),"date-time":Zt(h_(!0),b_),"iso-time":Zt(Hd(),v_),"iso-date-time":Zt(h_(),w_),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:FE,"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:YE,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:BE,int32:{type:"number",validate:JE},int64:{type:"number",validate:KE},float:{type:"number",validate:y_},double:{type:"number",validate:y_},password:!0,binary:!0};Dt.fastFormats={...Dt.fullFormats,date:Zt(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,Jd),time:Zt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,Kd),"date-time":Zt(/^\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,b_),"iso-time":Zt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,v_),"iso-date-time":Zt(/^\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,w_),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};Dt.formatNames=Object.keys(Dt.fullFormats);function DE(t){return t%4===0&&(t%100!==0||t%400===0)}var qE=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,VE=[0,31,28,31,30,31,30,31,31,30,31,30,31];function __(t){let e=qE.exec(t);if(!e)return!1;let r=+e[1],n=+e[2],o=+e[3];return n>=1&&n<=12&&o>=1&&o<=(n===2&&DE(r)?29:VE[n])}function Jd(t,e){if(t&&e)return t>e?1:t<e?-1:0}var Bd=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function Hd(t){return function(r){let n=Bd.exec(r);if(!n)return!1;let o=+n[1],s=+n[2],i=+n[3],a=n[4],c=n[5]==="-"?-1:1,u=+(n[6]||0),l=+(n[7]||0);if(u>23||l>59||t&&!a)return!1;if(o<=23&&s<=59&&i<60)return!0;let d=s-l*c,f=o-u*c-(d<0?1:0);return(f===23||f===-1)&&(d===59||d===-1)&&i<61}}function Kd(t,e){if(!(t&&e))return;let r=new Date("2020-01-01T"+t).valueOf(),n=new Date("2020-01-01T"+e).valueOf();if(r&&n)return r-n}function v_(t,e){if(!(t&&e))return;let r=Bd.exec(t),n=Bd.exec(e);if(r&&n)return t=r[1]+r[2]+r[3],e=n[1]+n[2]+n[3],t>e?1:t<e?-1:0}var Gd=/t|\s/i;function h_(t){let e=Hd(t);return function(n){let o=n.split(Gd);return o.length===2&&__(o[0])&&e(o[1])}}function b_(t,e){if(!(t&&e))return;let r=new Date(t).valueOf(),n=new Date(e).valueOf();if(r&&n)return r-n}function w_(t,e){if(!(t&&e))return;let[r,n]=t.split(Gd),[o,s]=e.split(Gd),i=Jd(r,o);if(i!==void 0)return i||Kd(n,s)}var LE=/\/|:/,UE=/^(?:[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 FE(t){return LE.test(t)&&UE.test(t)}var g_=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function BE(t){return g_.lastIndex=0,g_.test(t)}var HE=-(2**31),GE=2**31-1;function JE(t){return Number.isInteger(t)&&t<=GE&&t>=HE}function KE(t){return Number.isInteger(t)}function y_(){return!0}var WE=/[^\\]\\Z/;function YE(t){if(WE.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var x_=E(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.formatLimitDefinition=void 0;var XE=Fd(),zt=K(),gr=zt.operators,Yi={formatMaximum:{okStr:"<=",ok:gr.LTE,fail:gr.GT},formatMinimum:{okStr:">=",ok:gr.GTE,fail:gr.LT},formatExclusiveMaximum:{okStr:"<",ok:gr.LT,fail:gr.GTE},formatExclusiveMinimum:{okStr:">",ok:gr.GT,fail:gr.LTE}},QE={message:({keyword:t,schemaCode:e})=>(0,zt.str)`should be ${Yi[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,zt._)`{comparison: ${Yi[t].okStr}, limit: ${e}}`};Ln.formatLimitDefinition={keyword:Object.keys(Yi),type:"string",schemaType:"string",$data:!0,error:QE,code(t){let{gen:e,data:r,schemaCode:n,keyword:o,it:s}=t,{opts:i,self:a}=s;if(!i.validateFormats)return;let c=new XE.KeywordCxt(s,a.RULES.all.format.definition,"format");c.$data?u():l();function u(){let f=e.scopeValue("formats",{ref:a.formats,code:i.code.formats}),h=e.const("fmt",(0,zt._)`${f}[${c.schemaCode}]`);t.fail$data((0,zt.or)((0,zt._)`typeof ${h} != "object"`,(0,zt._)`${h} instanceof RegExp`,(0,zt._)`typeof ${h}.compare != "function"`,d(h)))}function l(){let f=c.schema,h=a.formats[f];if(!h||h===!0)return;if(typeof h!="object"||h instanceof RegExp||typeof h.compare!="function")throw new Error(`"${o}": format "${f}" does not define "compare" function`);let p=e.scopeValue("formats",{key:f,ref:h,code:i.code.formats?(0,zt._)`${i.code.formats}${(0,zt.getProperty)(f)}`:void 0});t.fail$data(d(p))}function d(f){return(0,zt._)`${f}.compare(${r}, ${n}) ${Yi[o].fail} 0`}},dependencies:["format"]};var eP=t=>(t.addKeyword(Ln.formatLimitDefinition),t);Ln.default=eP});var T_=E((ns,R_)=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});var Un=$_(),tP=x_(),Wd=K(),S_=new Wd.Name("fullFormats"),rP=new Wd.Name("fastFormats"),Yd=(t,e={keywords:!0})=>{if(Array.isArray(e))return k_(t,e,Un.fullFormats,S_),t;let[r,n]=e.mode==="fast"?[Un.fastFormats,rP]:[Un.fullFormats,S_],o=e.formats||Un.formatNames;return k_(t,o,r,n),e.keywords&&(0,tP.default)(t),t};Yd.get=(t,e="full")=>{let n=(e==="fast"?Un.fastFormats:Un.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function k_(t,e,r,n){var o,s;(o=(s=t.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,Wd._)`require("ajv-formats/dist/formats").${n}`);for(let i of e)t.addFormat(i,r[i])}R_.exports=ns=Yd;Object.defineProperty(ns,"__esModule",{value:!0});ns.default=Yd});var F={};Ra(F,{BRAND:()=>Rb,DIRTY:()=>vr,EMPTY_PATH:()=>ob,INVALID:()=>D,NEVER:()=>uw,OK:()=>qe,ParseStatus:()=>Ne,Schema:()=>J,ZodAny:()=>er,ZodArray:()=>Ft,ZodBigInt:()=>wr,ZodBoolean:()=>$r,ZodBranded:()=>eo,ZodCatch:()=>Nr,ZodDate:()=>xr,ZodDefault:()=>Or,ZodDiscriminatedUnion:()=>vs,ZodEffects:()=>lt,ZodEnum:()=>Pr,ZodError:()=>Ke,ZodFirstPartyTypeKind:()=>S,ZodFunction:()=>ws,ZodIntersection:()=>Tr,ZodIssueCode:()=>x,ZodLazy:()=>zr,ZodLiteral:()=>Er,ZodMap:()=>pn,ZodNaN:()=>mn,ZodNativeEnum:()=>Ir,ZodNever:()=>bt,ZodNull:()=>kr,ZodNullable:()=>Nt,ZodNumber:()=>br,ZodObject:()=>Ye,ZodOptional:()=>We,ZodParsedType:()=>P,ZodPipeline:()=>to,ZodPromise:()=>tr,ZodReadonly:()=>Ar,ZodRecord:()=>bs,ZodSchema:()=>J,ZodSet:()=>fn,ZodString:()=>Qt,ZodSymbol:()=>ln,ZodTransformer:()=>lt,ZodTuple:()=>Ot,ZodType:()=>J,ZodUndefined:()=>Sr,ZodUnion:()=>Rr,ZodUnknown:()=>Ut,ZodVoid:()=>dn,addIssueToContext:()=>R,any:()=>Cb,array:()=>Db,bigint:()=>Pb,boolean:()=>ef,coerce:()=>cw,custom:()=>Yp,date:()=>Ib,datetimeRegex:()=>Kp,defaultErrorMap:()=>Vt,discriminatedUnion:()=>Lb,effect:()=>ew,enum:()=>Yb,function:()=>Jb,getErrorMap:()=>an,getParsedType:()=>It,instanceof:()=>zb,intersection:()=>Ub,isAborted:()=>ys,isAsync:()=>cn,isDirty:()=>_s,isValid:()=>Xt,late:()=>Tb,lazy:()=>Kb,literal:()=>Wb,makeIssue:()=>Qn,map:()=>Hb,nan:()=>Eb,nativeEnum:()=>Xb,never:()=>Mb,null:()=>Ab,nullable:()=>rw,number:()=>Qp,object:()=>Pa,objectUtil:()=>Ta,oboolean:()=>aw,onumber:()=>iw,optional:()=>tw,ostring:()=>sw,pipeline:()=>ow,preprocess:()=>nw,promise:()=>Qb,quotelessJson:()=>tb,record:()=>Bb,set:()=>Gb,setErrorMap:()=>nb,strictObject:()=>qb,string:()=>Xp,symbol:()=>Ob,transformer:()=>ew,tuple:()=>Fb,undefined:()=>Nb,union:()=>Vb,unknown:()=>jb,util:()=>X,void:()=>Zb});var X;(function(t){t.assertEqual=o=>{};function e(o){}t.assertIs=e;function r(o){throw new Error}t.assertNever=r,t.arrayToEnum=o=>{let s={};for(let i of o)s[i]=i;return s},t.getValidEnumValues=o=>{let s=t.objectKeys(o).filter(a=>typeof o[o[a]]!="number"),i={};for(let a of s)i[a]=o[a];return t.objectValues(i)},t.objectValues=o=>t.objectKeys(o).map(function(s){return o[s]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let s=[];for(let i in o)Object.prototype.hasOwnProperty.call(o,i)&&s.push(i);return s},t.find=(o,s)=>{for(let i of o)if(s(i))return i},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function n(o,s=" | "){return o.map(i=>typeof i=="string"?`'${i}'`:i).join(s)}t.joinValues=n,t.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(X||(X={}));var Ta;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(Ta||(Ta={}));var P=X.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),It=t=>{switch(typeof t){case"undefined":return P.undefined;case"string":return P.string;case"number":return Number.isNaN(t)?P.nan:P.number;case"boolean":return P.boolean;case"function":return P.function;case"bigint":return P.bigint;case"symbol":return P.symbol;case"object":return Array.isArray(t)?P.array:t===null?P.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?P.promise:typeof Map<"u"&&t instanceof Map?P.map:typeof Set<"u"&&t instanceof Set?P.set:typeof Date<"u"&&t instanceof Date?P.date:P.object;default:return P.unknown}};var x=X.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),tb=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),Ke=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(this),n}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,X.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=r=>r.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let s=o.path[0];r[s]=r[s]||[],r[s].push(e(o))}else n.push(e(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};Ke.create=t=>new Ke(t);var rb=(t,e)=>{let r;switch(t.code){case x.invalid_type:t.received===P.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case x.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,X.jsonStringifyReplacer)}`;break;case x.unrecognized_keys:r=`Unrecognized key(s) in object: ${X.joinValues(t.keys,", ")}`;break;case x.invalid_union:r="Invalid input";break;case x.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${X.joinValues(t.options)}`;break;case x.invalid_enum_value:r=`Invalid enum value. Expected ${X.joinValues(t.options)}, received '${t.received}'`;break;case x.invalid_arguments:r="Invalid function arguments";break;case x.invalid_return_type:r="Invalid function return type";break;case x.invalid_date:r="Invalid date";break;case x.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:X.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case x.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case x.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case x.custom:r="Invalid input";break;case x.invalid_intersection_types:r="Intersection results could not be merged";break;case x.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case x.not_finite:r="Number must be finite";break;default:r=e.defaultError,X.assertNever(t)}return{message:r}},Vt=rb;var Fp=Vt;function nb(t){Fp=t}function an(){return Fp}var Qn=t=>{let{data:e,path:r,errorMaps:n,issueData:o}=t,s=[...r,...o.path||[]],i={...o,path:s};if(o.message!==void 0)return{...o,path:s,message:o.message};let a="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)a=u(i,{data:e,defaultError:a}).message;return{...o,path:s,message:a}},ob=[];function R(t,e){let r=an(),n=Qn({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===Vt?void 0:Vt].filter(o=>!!o)});t.common.issues.push(n)}var Ne=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let o of r){if(o.status==="aborted")return D;o.status==="dirty"&&e.dirty(),n.push(o.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let o of r){let s=await o.key,i=await o.value;n.push({key:s,value:i})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let o of r){let{key:s,value:i}=o;if(s.status==="aborted"||i.status==="aborted")return D;s.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof i.value<"u"||o.alwaysSet)&&(n[s.value]=i.value)}return{status:e.value,value:n}}},D=Object.freeze({status:"aborted"}),vr=t=>({status:"dirty",value:t}),qe=t=>({status:"valid",value:t}),ys=t=>t.status==="aborted",_s=t=>t.status==="dirty",Xt=t=>t.status==="valid",cn=t=>typeof Promise<"u"&&t instanceof Promise;var O;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(O||(O={}));var ut=class{constructor(e,r,n,o){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=o}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Bp=(t,e)=>{if(Xt(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new Ke(t.common.issues);return this._error=r,this._error}}};function H(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:o}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(i,a)=>{let{message:c}=t;return i.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??n??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:c??r??a.defaultError}},description:o}}var J=class{get description(){return this._def.description}_getType(e){return It(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:It(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Ne,ctx:{common:e.parent.common,data:e.data,parsedType:It(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(cn(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:It(e)},o=this._parseSync({data:e,path:n.path,parent:n});return Bp(n,o)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:It(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return Xt(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(n=>Xt(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:It(e)},o=this._parse({data:e,path:n.path,parent:n}),s=await(cn(o)?o:Promise.resolve(o));return Bp(n,s)}refine(e,r){let n=o=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,s)=>{let i=e(o),a=()=>s.addIssue({code:x.custom,...n(o)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,r){return this._refinement((n,o)=>e(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(e){return new lt({schema:this,typeName:S.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return We.create(this,this._def)}nullable(){return Nt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ft.create(this)}promise(){return tr.create(this,this._def)}or(e){return Rr.create([this,e],this._def)}and(e){return Tr.create(this,e,this._def)}transform(e){return new lt({...H(this._def),schema:this,typeName:S.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new Or({...H(this._def),innerType:this,defaultValue:r,typeName:S.ZodDefault})}brand(){return new eo({typeName:S.ZodBranded,type:this,...H(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Nr({...H(this._def),innerType:this,catchValue:r,typeName:S.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return to.create(this,e)}readonly(){return Ar.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},sb=/^c[^\s-]{8,}$/i,ib=/^[0-9a-z]+$/,ab=/^[0-9A-HJKMNP-TV-Z]{26}$/i,cb=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,ub=/^[a-z0-9_-]{21}$/i,lb=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,db=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,pb=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,fb="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",za,mb=/^(?:(?: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])$/,hb=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,gb=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,yb=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,_b=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,vb=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Gp="((\\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])))",bb=new RegExp(`^${Gp}$`);function Jp(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function wb(t){return new RegExp(`^${Jp(t)}$`)}function Kp(t){let e=`${Gp}T${Jp(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function $b(t,e){return!!((e==="v4"||!e)&&mb.test(t)||(e==="v6"||!e)&&gb.test(t))}function xb(t,e){if(!lb.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),o=JSON.parse(atob(n));return!(typeof o!="object"||o===null||"typ"in o&&o?.typ!=="JWT"||!o.alg||e&&o.alg!==e)}catch{return!1}}function Sb(t,e){return!!((e==="v4"||!e)&&hb.test(t)||(e==="v6"||!e)&&yb.test(t))}var Qt=class t extends J{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==P.string){let s=this._getOrReturnCtx(e);return R(s,{code:x.invalid_type,expected:P.string,received:s.parsedType}),D}let n=new Ne,o;for(let s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(o=this._getOrReturnCtx(e,o),R(o,{code:x.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")e.data.length>s.value&&(o=this._getOrReturnCtx(e,o),R(o,{code:x.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let i=e.data.length>s.value,a=e.data.length<s.value;(i||a)&&(o=this._getOrReturnCtx(e,o),i?R(o,{code:x.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&R(o,{code:x.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")pb.test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"email",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")za||(za=new RegExp(fb,"u")),za.test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"emoji",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")cb.test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"uuid",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")ub.test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"nanoid",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")sb.test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"cuid",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")ib.test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"cuid2",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")ab.test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"ulid",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{o=this._getOrReturnCtx(e,o),R(o,{validation:"url",code:x.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"regex",code:x.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(o=this._getOrReturnCtx(e,o),R(o,{code:x.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(o=this._getOrReturnCtx(e,o),R(o,{code:x.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(o=this._getOrReturnCtx(e,o),R(o,{code:x.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?Kp(s).test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{code:x.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?bb.test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{code:x.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?wb(s).test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{code:x.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?db.test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"duration",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?$b(e.data,s.version)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"ip",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?xb(e.data,s.alg)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"jwt",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?Sb(e.data,s.version)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"cidr",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?_b.test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"base64",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?vb.test(e.data)||(o=this._getOrReturnCtx(e,o),R(o,{validation:"base64url",code:x.invalid_string,message:s.message}),n.dirty()):X.assertNever(s);return{status:n.value,value:e.data}}_regex(e,r,n){return this.refinement(o=>e.test(o),{validation:r,code:x.invalid_string,...O.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...O.errToObj(e)})}url(e){return this._addCheck({kind:"url",...O.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...O.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...O.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...O.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...O.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...O.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...O.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...O.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...O.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...O.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...O.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...O.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...O.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...O.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...O.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...O.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...O.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...O.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...O.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...O.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...O.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...O.errToObj(r)})}nonempty(e){return this.min(1,O.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};Qt.create=t=>new Qt({checks:[],typeName:S.ZodString,coerce:t?.coerce??!1,...H(t)});function kb(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(t.toFixed(o).replace(".","")),i=Number.parseInt(e.toFixed(o).replace(".",""));return s%i/10**o}var br=class t extends J{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==P.number){let s=this._getOrReturnCtx(e);return R(s,{code:x.invalid_type,expected:P.number,received:s.parsedType}),D}let n,o=new Ne;for(let s of this._def.checks)s.kind==="int"?X.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),R(n,{code:x.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),R(n,{code:x.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),R(n,{code:x.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?kb(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),R(n,{code:x.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),R(n,{code:x.not_finite,message:s.message}),o.dirty()):X.assertNever(s);return{status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,O.toString(r))}gt(e,r){return this.setLimit("min",e,!1,O.toString(r))}lte(e,r){return this.setLimit("max",e,!0,O.toString(r))}lt(e,r){return this.setLimit("max",e,!1,O.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:O.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:O.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:O.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:O.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:O.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:O.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:O.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:O.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:O.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:O.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&X.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(r)&&Number.isFinite(e)}};br.create=t=>new br({checks:[],typeName:S.ZodNumber,coerce:t?.coerce||!1,...H(t)});var wr=class t extends J{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==P.bigint)return this._getInvalidInput(e);let n,o=new Ne;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),R(n,{code:x.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),R(n,{code:x.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),R(n,{code:x.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):X.assertNever(s);return{status:o.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return R(r,{code:x.invalid_type,expected:P.bigint,received:r.parsedType}),D}gte(e,r){return this.setLimit("min",e,!0,O.toString(r))}gt(e,r){return this.setLimit("min",e,!1,O.toString(r))}lte(e,r){return this.setLimit("max",e,!0,O.toString(r))}lt(e,r){return this.setLimit("max",e,!1,O.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:O.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:O.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:O.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:O.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:O.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:O.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};wr.create=t=>new wr({checks:[],typeName:S.ZodBigInt,coerce:t?.coerce??!1,...H(t)});var $r=class extends J{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==P.boolean){let n=this._getOrReturnCtx(e);return R(n,{code:x.invalid_type,expected:P.boolean,received:n.parsedType}),D}return qe(e.data)}};$r.create=t=>new $r({typeName:S.ZodBoolean,coerce:t?.coerce||!1,...H(t)});var xr=class t extends J{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==P.date){let s=this._getOrReturnCtx(e);return R(s,{code:x.invalid_type,expected:P.date,received:s.parsedType}),D}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return R(s,{code:x.invalid_date}),D}let n=new Ne,o;for(let s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(o=this._getOrReturnCtx(e,o),R(o,{code:x.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(o=this._getOrReturnCtx(e,o),R(o,{code:x.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):X.assertNever(s);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:O.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:O.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e!=null?new Date(e):null}};xr.create=t=>new xr({checks:[],coerce:t?.coerce||!1,typeName:S.ZodDate,...H(t)});var ln=class extends J{_parse(e){if(this._getType(e)!==P.symbol){let n=this._getOrReturnCtx(e);return R(n,{code:x.invalid_type,expected:P.symbol,received:n.parsedType}),D}return qe(e.data)}};ln.create=t=>new ln({typeName:S.ZodSymbol,...H(t)});var Sr=class extends J{_parse(e){if(this._getType(e)!==P.undefined){let n=this._getOrReturnCtx(e);return R(n,{code:x.invalid_type,expected:P.undefined,received:n.parsedType}),D}return qe(e.data)}};Sr.create=t=>new Sr({typeName:S.ZodUndefined,...H(t)});var kr=class extends J{_parse(e){if(this._getType(e)!==P.null){let n=this._getOrReturnCtx(e);return R(n,{code:x.invalid_type,expected:P.null,received:n.parsedType}),D}return qe(e.data)}};kr.create=t=>new kr({typeName:S.ZodNull,...H(t)});var er=class extends J{constructor(){super(...arguments),this._any=!0}_parse(e){return qe(e.data)}};er.create=t=>new er({typeName:S.ZodAny,...H(t)});var Ut=class extends J{constructor(){super(...arguments),this._unknown=!0}_parse(e){return qe(e.data)}};Ut.create=t=>new Ut({typeName:S.ZodUnknown,...H(t)});var bt=class extends J{_parse(e){let r=this._getOrReturnCtx(e);return R(r,{code:x.invalid_type,expected:P.never,received:r.parsedType}),D}};bt.create=t=>new bt({typeName:S.ZodNever,...H(t)});var dn=class extends J{_parse(e){if(this._getType(e)!==P.undefined){let n=this._getOrReturnCtx(e);return R(n,{code:x.invalid_type,expected:P.void,received:n.parsedType}),D}return qe(e.data)}};dn.create=t=>new dn({typeName:S.ZodVoid,...H(t)});var Ft=class t extends J{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==P.array)return R(r,{code:x.invalid_type,expected:P.array,received:r.parsedType}),D;if(o.exactLength!==null){let i=r.data.length>o.exactLength.value,a=r.data.length<o.exactLength.value;(i||a)&&(R(r,{code:i?x.too_big:x.too_small,minimum:a?o.exactLength.value:void 0,maximum:i?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),n.dirty())}if(o.minLength!==null&&r.data.length<o.minLength.value&&(R(r,{code:x.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),n.dirty()),o.maxLength!==null&&r.data.length>o.maxLength.value&&(R(r,{code:x.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((i,a)=>o.type._parseAsync(new ut(r,i,r.path,a)))).then(i=>Ne.mergeArray(n,i));let s=[...r.data].map((i,a)=>o.type._parseSync(new ut(r,i,r.path,a)));return Ne.mergeArray(n,s)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:O.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:O.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:O.toString(r)}})}nonempty(e){return this.min(1,e)}};Ft.create=(t,e)=>new Ft({type:t,minLength:null,maxLength:null,exactLength:null,typeName:S.ZodArray,...H(e)});function un(t){if(t instanceof Ye){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=We.create(un(n))}return new Ye({...t._def,shape:()=>e})}else return t instanceof Ft?new Ft({...t._def,type:un(t.element)}):t instanceof We?We.create(un(t.unwrap())):t instanceof Nt?Nt.create(un(t.unwrap())):t instanceof Ot?Ot.create(t.items.map(e=>un(e))):t}var Ye=class t extends J{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=X.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==P.object){let u=this._getOrReturnCtx(e);return R(u,{code:x.invalid_type,expected:P.object,received:u.parsedType}),D}let{status:n,ctx:o}=this._processInputParams(e),{shape:s,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof bt&&this._def.unknownKeys==="strip"))for(let u in o.data)i.includes(u)||a.push(u);let c=[];for(let u of i){let l=s[u],d=o.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new ut(o,d,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof bt){let u=this._def.unknownKeys;if(u==="passthrough")for(let l of a)c.push({key:{status:"valid",value:l},value:{status:"valid",value:o.data[l]}});else if(u==="strict")a.length>0&&(R(o,{code:x.unrecognized_keys,keys:a}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let l of a){let d=o.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new ut(o,d,o.path,l)),alwaysSet:l in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let l of c){let d=await l.key,f=await l.value;u.push({key:d,value:f,alwaysSet:l.alwaysSet})}return u}).then(u=>Ne.mergeObjectSync(n,u)):Ne.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return O.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{let o=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:O.errToObj(e).message??o}:{message:o}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:S.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of X.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of X.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return un(this)}partial(e){let r={};for(let n of X.objectKeys(this.shape)){let o=this.shape[n];e&&!e[n]?r[n]=o:r[n]=o.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of X.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof We;)s=s._def.innerType;r[n]=s}return new t({...this._def,shape:()=>r})}keyof(){return Wp(X.objectKeys(this.shape))}};Ye.create=(t,e)=>new Ye({shape:()=>t,unknownKeys:"strip",catchall:bt.create(),typeName:S.ZodObject,...H(e)});Ye.strictCreate=(t,e)=>new Ye({shape:()=>t,unknownKeys:"strict",catchall:bt.create(),typeName:S.ZodObject,...H(e)});Ye.lazycreate=(t,e)=>new Ye({shape:t,unknownKeys:"strip",catchall:bt.create(),typeName:S.ZodObject,...H(e)});var Rr=class extends J{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function o(s){for(let a of s)if(a.result.status==="valid")return a.result;for(let a of s)if(a.result.status==="dirty")return r.common.issues.push(...a.ctx.common.issues),a.result;let i=s.map(a=>new Ke(a.ctx.common.issues));return R(r,{code:x.invalid_union,unionErrors:i}),D}if(r.common.async)return Promise.all(n.map(async s=>{let i={...r,common:{...r.common,issues:[]},parent:null};return{result:await s._parseAsync({data:r.data,path:r.path,parent:i}),ctx:i}})).then(o);{let s,i=[];for(let c of n){let u={...r,common:{...r.common,issues:[]},parent:null},l=c._parseSync({data:r.data,path:r.path,parent:u});if(l.status==="valid")return l;l.status==="dirty"&&!s&&(s={result:l,ctx:u}),u.common.issues.length&&i.push(u.common.issues)}if(s)return r.common.issues.push(...s.ctx.common.issues),s.result;let a=i.map(c=>new Ke(c));return R(r,{code:x.invalid_union,unionErrors:a}),D}}get options(){return this._def.options}};Rr.create=(t,e)=>new Rr({options:t,typeName:S.ZodUnion,...H(e)});var Lt=t=>t instanceof zr?Lt(t.schema):t instanceof lt?Lt(t.innerType()):t instanceof Er?[t.value]:t instanceof Pr?t.options:t instanceof Ir?X.objectValues(t.enum):t instanceof Or?Lt(t._def.innerType):t instanceof Sr?[void 0]:t instanceof kr?[null]:t instanceof We?[void 0,...Lt(t.unwrap())]:t instanceof Nt?[null,...Lt(t.unwrap())]:t instanceof eo||t instanceof Ar?Lt(t.unwrap()):t instanceof Nr?Lt(t._def.innerType):[],vs=class t extends J{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==P.object)return R(r,{code:x.invalid_type,expected:P.object,received:r.parsedType}),D;let n=this.discriminator,o=r.data[n],s=this.optionsMap.get(o);return s?r.common.async?s._parseAsync({data:r.data,path:r.path,parent:r}):s._parseSync({data:r.data,path:r.path,parent:r}):(R(r,{code:x.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),D)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let o=new Map;for(let s of r){let i=Lt(s.shape[e]);if(!i.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let a of i){if(o.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);o.set(a,s)}}return new t({typeName:S.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:o,...H(n)})}};function Ea(t,e){let r=It(t),n=It(e);if(t===e)return{valid:!0,data:t};if(r===P.object&&n===P.object){let o=X.objectKeys(e),s=X.objectKeys(t).filter(a=>o.indexOf(a)!==-1),i={...t,...e};for(let a of s){let c=Ea(t[a],e[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(r===P.array&&n===P.array){if(t.length!==e.length)return{valid:!1};let o=[];for(let s=0;s<t.length;s++){let i=t[s],a=e[s],c=Ea(i,a);if(!c.valid)return{valid:!1};o.push(c.data)}return{valid:!0,data:o}}else return r===P.date&&n===P.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}var Tr=class extends J{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=(s,i)=>{if(ys(s)||ys(i))return D;let a=Ea(s.value,i.value);return a.valid?((_s(s)||_s(i))&&r.dirty(),{status:r.value,value:a.data}):(R(n,{code:x.invalid_intersection_types}),D)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,i])=>o(s,i)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};Tr.create=(t,e,r)=>new Tr({left:t,right:e,typeName:S.ZodIntersection,...H(r)});var Ot=class t extends J{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==P.array)return R(n,{code:x.invalid_type,expected:P.array,received:n.parsedType}),D;if(n.data.length<this._def.items.length)return R(n,{code:x.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),D;!this._def.rest&&n.data.length>this._def.items.length&&(R(n,{code:x.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let s=[...n.data].map((i,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new ut(n,i,n.path,a)):null}).filter(i=>!!i);return n.common.async?Promise.all(s).then(i=>Ne.mergeArray(r,i)):Ne.mergeArray(r,s)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};Ot.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ot({items:t,typeName:S.ZodTuple,rest:null,...H(e)})};var bs=class t extends J{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==P.object)return R(n,{code:x.invalid_type,expected:P.object,received:n.parsedType}),D;let o=[],s=this._def.keyType,i=this._def.valueType;for(let a in n.data)o.push({key:s._parse(new ut(n,a,n.path,a)),value:i._parse(new ut(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?Ne.mergeObjectAsync(r,o):Ne.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof J?new t({keyType:e,valueType:r,typeName:S.ZodRecord,...H(n)}):new t({keyType:Qt.create(),valueType:e,typeName:S.ZodRecord,...H(r)})}},pn=class extends J{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==P.map)return R(n,{code:x.invalid_type,expected:P.map,received:n.parsedType}),D;let o=this._def.keyType,s=this._def.valueType,i=[...n.data.entries()].map(([a,c],u)=>({key:o._parse(new ut(n,a,n.path,[u,"key"])),value:s._parse(new ut(n,c,n.path,[u,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of i){let u=await c.key,l=await c.value;if(u.status==="aborted"||l.status==="aborted")return D;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}})}else{let a=new Map;for(let c of i){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return D;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}}}};pn.create=(t,e,r)=>new pn({valueType:e,keyType:t,typeName:S.ZodMap,...H(r)});var fn=class t extends J{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==P.set)return R(n,{code:x.invalid_type,expected:P.set,received:n.parsedType}),D;let o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&(R(n,{code:x.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),r.dirty()),o.maxSize!==null&&n.data.size>o.maxSize.value&&(R(n,{code:x.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let s=this._def.valueType;function i(c){let u=new Set;for(let l of c){if(l.status==="aborted")return D;l.status==="dirty"&&r.dirty(),u.add(l.value)}return{status:r.value,value:u}}let a=[...n.data.values()].map((c,u)=>s._parse(new ut(n,c,n.path,u)));return n.common.async?Promise.all(a).then(c=>i(c)):i(a)}min(e,r){return new t({...this._def,minSize:{value:e,message:O.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:O.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};fn.create=(t,e)=>new fn({valueType:t,minSize:null,maxSize:null,typeName:S.ZodSet,...H(e)});var ws=class t extends J{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==P.function)return R(r,{code:x.invalid_type,expected:P.function,received:r.parsedType}),D;function n(a,c){return Qn({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,an(),Vt].filter(u=>!!u),issueData:{code:x.invalid_arguments,argumentsError:c}})}function o(a,c){return Qn({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,an(),Vt].filter(u=>!!u),issueData:{code:x.invalid_return_type,returnTypeError:c}})}let s={errorMap:r.common.contextualErrorMap},i=r.data;if(this._def.returns instanceof tr){let a=this;return qe(async function(...c){let u=new Ke([]),l=await a._def.args.parseAsync(c,s).catch(h=>{throw u.addIssue(n(c,h)),u}),d=await Reflect.apply(i,this,l);return await a._def.returns._def.type.parseAsync(d,s).catch(h=>{throw u.addIssue(o(d,h)),u})})}else{let a=this;return qe(function(...c){let u=a._def.args.safeParse(c,s);if(!u.success)throw new Ke([n(c,u.error)]);let l=Reflect.apply(i,this,u.data),d=a._def.returns.safeParse(l,s);if(!d.success)throw new Ke([o(l,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:Ot.create(e).rest(Ut.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||Ot.create([]).rest(Ut.create()),returns:r||Ut.create(),typeName:S.ZodFunction,...H(n)})}},zr=class extends J{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};zr.create=(t,e)=>new zr({getter:t,typeName:S.ZodLazy,...H(e)});var Er=class extends J{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return R(r,{received:r.data,code:x.invalid_literal,expected:this._def.value}),D}return{status:"valid",value:e.data}}get value(){return this._def.value}};Er.create=(t,e)=>new Er({value:t,typeName:S.ZodLiteral,...H(e)});function Wp(t,e){return new Pr({values:t,typeName:S.ZodEnum,...H(e)})}var Pr=class t extends J{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return R(r,{expected:X.joinValues(n),received:r.parsedType,code:x.invalid_type}),D}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return R(r,{received:r.data,code:x.invalid_enum_value,options:n}),D}return qe(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};Pr.create=Wp;var Ir=class extends J{_parse(e){let r=X.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==P.string&&n.parsedType!==P.number){let o=X.objectValues(r);return R(n,{expected:X.joinValues(o),received:n.parsedType,code:x.invalid_type}),D}if(this._cache||(this._cache=new Set(X.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=X.objectValues(r);return R(n,{received:n.data,code:x.invalid_enum_value,options:o}),D}return qe(e.data)}get enum(){return this._def.values}};Ir.create=(t,e)=>new Ir({values:t,typeName:S.ZodNativeEnum,...H(e)});var tr=class extends J{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==P.promise&&r.common.async===!1)return R(r,{code:x.invalid_type,expected:P.promise,received:r.parsedType}),D;let n=r.parsedType===P.promise?r.data:Promise.resolve(r.data);return qe(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};tr.create=(t,e)=>new tr({type:t,typeName:S.ZodPromise,...H(e)});var lt=class extends J{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===S.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=this._def.effect||null,s={addIssue:i=>{R(n,i),i.fatal?r.abort():r.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="preprocess"){let i=o.transform(n.data,s);if(n.common.async)return Promise.resolve(i).then(async a=>{if(r.value==="aborted")return D;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?D:c.status==="dirty"?vr(c.value):r.value==="dirty"?vr(c.value):c});{if(r.value==="aborted")return D;let a=this._def.schema._parseSync({data:i,path:n.path,parent:n});return a.status==="aborted"?D:a.status==="dirty"?vr(a.value):r.value==="dirty"?vr(a.value):a}}if(o.type==="refinement"){let i=a=>{let c=o.refinement(a,s);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?D:(a.status==="dirty"&&r.dirty(),i(a.value),{status:r.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?D:(a.status==="dirty"&&r.dirty(),i(a.value).then(()=>({status:r.value,value:a.value}))))}if(o.type==="transform")if(n.common.async===!1){let i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Xt(i))return D;let a=o.transform(i.value,s);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(i=>Xt(i)?Promise.resolve(o.transform(i.value,s)).then(a=>({status:r.value,value:a})):D);X.assertNever(o)}};lt.create=(t,e,r)=>new lt({schema:t,typeName:S.ZodEffects,effect:e,...H(r)});lt.createWithPreprocess=(t,e,r)=>new lt({schema:e,effect:{type:"preprocess",transform:t},typeName:S.ZodEffects,...H(r)});var We=class extends J{_parse(e){return this._getType(e)===P.undefined?qe(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};We.create=(t,e)=>new We({innerType:t,typeName:S.ZodOptional,...H(e)});var Nt=class extends J{_parse(e){return this._getType(e)===P.null?qe(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Nt.create=(t,e)=>new Nt({innerType:t,typeName:S.ZodNullable,...H(e)});var Or=class extends J{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===P.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};Or.create=(t,e)=>new Or({innerType:t,typeName:S.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...H(e)});var Nr=class extends J{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return cn(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Ke(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Ke(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Nr.create=(t,e)=>new Nr({innerType:t,typeName:S.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...H(e)});var mn=class extends J{_parse(e){if(this._getType(e)!==P.nan){let n=this._getOrReturnCtx(e);return R(n,{code:x.invalid_type,expected:P.nan,received:n.parsedType}),D}return{status:"valid",value:e.data}}};mn.create=t=>new mn({typeName:S.ZodNaN,...H(t)});var Rb=Symbol("zod_brand"),eo=class extends J{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},to=class t extends J{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?D:s.status==="dirty"?(r.dirty(),vr(s.value)):this._def.out._parseAsync({data:s.value,path:n.path,parent:n})})();{let o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?D:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:S.ZodPipeline})}},Ar=class extends J{_parse(e){let r=this._def.innerType._parse(e),n=o=>(Xt(o)&&(o.value=Object.freeze(o.value)),o);return cn(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};Ar.create=(t,e)=>new Ar({innerType:t,typeName:S.ZodReadonly,...H(e)});function Hp(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function Yp(t,e={},r){return t?er.create().superRefine((n,o)=>{let s=t(n);if(s instanceof Promise)return s.then(i=>{if(!i){let a=Hp(e,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!s){let i=Hp(e,n),a=i.fatal??r??!0;o.addIssue({code:"custom",...i,fatal:a})}}):er.create()}var Tb={object:Ye.lazycreate},S;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(S||(S={}));var zb=(t,e={message:`Input not instance of ${t.name}`})=>Yp(r=>r instanceof t,e),Xp=Qt.create,Qp=br.create,Eb=mn.create,Pb=wr.create,ef=$r.create,Ib=xr.create,Ob=ln.create,Nb=Sr.create,Ab=kr.create,Cb=er.create,jb=Ut.create,Mb=bt.create,Zb=dn.create,Db=Ft.create,Pa=Ye.create,qb=Ye.strictCreate,Vb=Rr.create,Lb=vs.create,Ub=Tr.create,Fb=Ot.create,Bb=bs.create,Hb=pn.create,Gb=fn.create,Jb=ws.create,Kb=zr.create,Wb=Er.create,Yb=Pr.create,Xb=Ir.create,Qb=tr.create,ew=lt.create,tw=We.create,rw=Nt.create,nw=lt.createWithPreprocess,ow=to.create,sw=()=>Xp().optional(),iw=()=>Qp().optional(),aw=()=>ef().optional(),cw={string:t=>Qt.create({...t,coerce:!0}),number:t=>br.create({...t,coerce:!0}),boolean:t=>$r.create({...t,coerce:!0}),bigint:t=>wr.create({...t,coerce:!0}),date:t=>xr.create({...t,coerce:!0})};var uw=D;var lw=Object.freeze({status:"aborted"});function b(t,e,r){function n(a,c){var u;Object.defineProperty(a,"_zod",{value:a._zod??{},enumerable:!1}),(u=a._zod).traits??(u.traits=new Set),a._zod.traits.add(t),e(a,c);for(let l in i.prototype)l in a||Object.defineProperty(a,l,{value:i.prototype[l].bind(a)});a._zod.constr=i,a._zod.def=c}let o=r?.Parent??Object;class s extends o{}Object.defineProperty(s,"name",{value:t});function i(a){var c;let u=r?.Parent?new s:this;n(u,a),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}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(t)}),Object.defineProperty(i,"name",{value:t}),i}var dw=Symbol("zod_brand"),Bt=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},$s={};function ot(t){return t&&Object.assign($s,t),$s}var Q={};Ra(Q,{BIGINT_FORMAT_RANGES:()=>rf,Class:()=>Oa,NUMBER_FORMAT_RANGES:()=>Da,aborted:()=>jr,allowsEval:()=>ja,assert:()=>gw,assertEqual:()=>pw,assertIs:()=>mw,assertNever:()=>hw,assertNotEqual:()=>fw,assignProp:()=>Ca,cached:()=>oo,captureStackTrace:()=>Ss,cleanEnum:()=>Ew,cleanRegex:()=>io,clone:()=>st,createTransparentProxy:()=>$w,defineLazy:()=>de,esc:()=>Cr,escapeRegex:()=>rr,extend:()=>kw,finalizeIssue:()=>wt,floatSafeRemainder:()=>Aa,getElementAtPath:()=>yw,getEnumValues:()=>no,getLengthableOrigin:()=>ao,getParsedType:()=>ww,getSizableOrigin:()=>nf,isObject:()=>hn,isPlainObject:()=>gn,issue:()=>qa,joinValues:()=>xs,jsonStringifyReplacer:()=>Na,merge:()=>Rw,normalizeParams:()=>q,nullish:()=>so,numKeys:()=>bw,omit:()=>Sw,optionalKeys:()=>Za,partial:()=>Tw,pick:()=>xw,prefixIssues:()=>At,primitiveTypes:()=>tf,promiseAllObject:()=>_w,propertyKeyTypes:()=>Ma,randomString:()=>vw,required:()=>zw,stringifyPrimitive:()=>ks,unwrapMessage:()=>ro});function pw(t){return t}function fw(t){return t}function mw(t){}function hw(t){throw new Error}function gw(t){}function no(t){let e=Object.values(t).filter(n=>typeof n=="number");return Object.entries(t).filter(([n,o])=>e.indexOf(+n)===-1).map(([n,o])=>o)}function xs(t,e="|"){return t.map(r=>ks(r)).join(e)}function Na(t,e){return typeof e=="bigint"?e.toString():e}function oo(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function so(t){return t==null}function io(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function Aa(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(t.toFixed(o).replace(".","")),i=Number.parseInt(e.toFixed(o).replace(".",""));return s%i/10**o}function de(t,e,r){Object.defineProperty(t,e,{get(){{let o=r();return t[e]=o,o}throw new Error("cached value already set")},set(o){Object.defineProperty(t,e,{value:o})},configurable:!0})}function Ca(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function yw(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function _w(t){let e=Object.keys(t),r=e.map(n=>t[n]);return Promise.all(r).then(n=>{let o={};for(let s=0;s<e.length;s++)o[e[s]]=n[s];return o})}function vw(t=10){let e="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<t;n++)r+=e[Math.floor(Math.random()*e.length)];return r}function Cr(t){return JSON.stringify(t)}var Ss=Error.captureStackTrace?Error.captureStackTrace:(...t)=>{};function hn(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var ja=oo(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function gn(t){if(hn(t)===!1)return!1;let e=t.constructor;if(e===void 0)return!0;let r=e.prototype;return!(hn(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function bw(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var ww=t=>{let e=typeof t;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(t)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(t)?"array":t===null?"null":t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?"promise":typeof Map<"u"&&t instanceof Map?"map":typeof Set<"u"&&t instanceof Set?"set":typeof Date<"u"&&t instanceof Date?"date":typeof File<"u"&&t instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},Ma=new Set(["string","number","symbol"]),tf=new Set(["string","number","bigint","boolean","symbol","undefined"]);function rr(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function st(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}function q(t){let e=t;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function $w(t){let e;return new Proxy({},{get(r,n,o){return e??(e=t()),Reflect.get(e,n,o)},set(r,n,o,s){return e??(e=t()),Reflect.set(e,n,o,s)},has(r,n){return e??(e=t()),Reflect.has(e,n)},deleteProperty(r,n){return e??(e=t()),Reflect.deleteProperty(e,n)},ownKeys(r){return e??(e=t()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(r,n){return e??(e=t()),Reflect.getOwnPropertyDescriptor(e,n)},defineProperty(r,n,o){return e??(e=t()),Reflect.defineProperty(e,n,o)}})}function ks(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function Za(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}var Da={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]},rf={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function xw(t,e){let r={},n=t._zod.def;for(let o in e){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);e[o]&&(r[o]=n.shape[o])}return st(t,{...t._zod.def,shape:r,checks:[]})}function Sw(t,e){let r={...t._zod.def.shape},n=t._zod.def;for(let o in e){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);e[o]&&delete r[o]}return st(t,{...t._zod.def,shape:r,checks:[]})}function kw(t,e){if(!gn(e))throw new Error("Invalid input to extend: expected a plain object");let r={...t._zod.def,get shape(){let n={...t._zod.def.shape,...e};return Ca(this,"shape",n),n},checks:[]};return st(t,r)}function Rw(t,e){return st(t,{...t._zod.def,get shape(){let r={...t._zod.def.shape,...e._zod.def.shape};return Ca(this,"shape",r),r},catchall:e._zod.def.catchall,checks:[]})}function Tw(t,e,r){let n=e._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]=t?new t({type:"optional",innerType:n[s]}):n[s])}else for(let s in n)o[s]=t?new t({type:"optional",innerType:n[s]}):n[s];return st(e,{...e._zod.def,shape:o,checks:[]})}function zw(t,e,r){let n=e._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 t({type:"nonoptional",innerType:n[s]}))}else for(let s in n)o[s]=new t({type:"nonoptional",innerType:n[s]});return st(e,{...e._zod.def,shape:o,checks:[]})}function jr(t,e=0){for(let r=e;r<t.issues.length;r++)if(t.issues[r]?.continue!==!0)return!0;return!1}function At(t,e){return e.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function ro(t){return typeof t=="string"?t:t?.message}function wt(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let o=ro(t.inst?._zod.def?.error?.(t))??ro(e?.error?.(t))??ro(r.customError?.(t))??ro(r.localeError?.(t))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function nf(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function ao(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function qa(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function Ew(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}var Oa=class{constructor(...e){}};var of=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),Object.defineProperty(t,"message",{get(){return JSON.stringify(e,Na,2)},enumerable:!0}),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},Rs=b("$ZodError",of),co=b("$ZodError",of,{Parent:Error});function Va(t,e=r=>r.message){let r={},n=[];for(let o of t.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(e(o))):n.push(e(o));return{formErrors:n,fieldErrors:r}}function La(t,e){let r=e||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 u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(t),n}var Ua=t=>(e,r,n,o)=>{let s=n?Object.assign(n,{async:!1}):{async:!1},i=e._zod.run({value:r,issues:[]},s);if(i instanceof Promise)throw new Bt;if(i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>wt(c,s,ot())));throw Ss(a,o?.callee),a}return i.value},Fa=Ua(co),Ba=t=>async(e,r,n,o)=>{let s=n?Object.assign(n,{async:!0}):{async:!0},i=e._zod.run({value:r,issues:[]},s);if(i instanceof Promise&&(i=await i),i.issues.length){let a=new(o?.Err??t)(i.issues.map(c=>wt(c,s,ot())));throw Ss(a,o?.callee),a}return i.value},Ha=Ba(co),Ga=t=>(e,r,n)=>{let o=n?{...n,async:!1}:{async:!1},s=e._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new Bt;return s.issues.length?{success:!1,error:new(t??Rs)(s.issues.map(i=>wt(i,o,ot())))}:{success:!0,data:s.value}},Mr=Ga(co),Ja=t=>async(e,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},s=e._zod.run({value:r,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new t(s.issues.map(i=>wt(i,o,ot())))}:{success:!0,data:s.value}},Zr=Ja(co);var sf=/^[cC][^\s-]{8,}$/,af=/^[0-9a-z]+$/,cf=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,uf=/^[0-9a-vA-V]{20}$/,lf=/^[A-Za-z0-9]{27}$/,df=/^[a-zA-Z0-9_-]{21}$/,pf=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var ff=/^([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})$/,Ka=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[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 mf=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var Iw="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function hf(){return new RegExp(Iw,"u")}var gf=/^(?:(?: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])$/,yf=/^(([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})$/,_f=/^((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])$/,vf=/^(([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])$/,bf=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Wa=/^[A-Za-z0-9_-]*$/,wf=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var $f=/^\+(?:[0-9]){6,14}[0-9]$/,xf="(?:(?:\\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])))",Sf=new RegExp(`^${xf}$`);function kf(t){let e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof t.precision=="number"?t.precision===-1?`${e}`:t.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${t.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Rf(t){return new RegExp(`^${kf(t)}$`)}function Tf(t){let e=kf({precision:t.precision}),r=["Z"];t.local&&r.push(""),t.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${e}(?:${r.join("|")})`;return new RegExp(`^${xf}T(?:${n})$`)}var zf=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)};var Ef=/^\d+$/,Pf=/^-?\d+(?:\.\d+)?/i,If=/true|false/i,Of=/null/i;var Nf=/^[^A-Z]*$/,Af=/^[^a-z]*$/;var Ae=b("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),Cf={number:"number",bigint:"bigint",object:"date"},Ya=b("$ZodCheckLessThan",(t,e)=>{Ae.init(t,e);let r=Cf[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,s=(e.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value<s&&(e.inclusive?o.maximum=e.value:o.exclusiveMaximum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value<=e.value:n.value<e.value)||n.issues.push({origin:r,code:"too_big",maximum:e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),Xa=b("$ZodCheckGreaterThan",(t,e)=>{Ae.init(t,e);let r=Cf[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,s=(e.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>s&&(e.inclusive?o.minimum=e.value:o.exclusiveMinimum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value>=e.value:n.value>e.value)||n.issues.push({origin:r,code:"too_small",minimum:e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),jf=b("$ZodCheckMultipleOf",(t,e)=>{Ae.init(t,e),t._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=e.value)}),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%e.value===BigInt(0):Aa(r.value,e.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:e.value,input:r.value,inst:t,continue:!e.abort})}}),Mf=b("$ZodCheckNumberFormat",(t,e)=>{Ae.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[o,s]=Da[e.format];t._zod.onattach.push(i=>{let a=i._zod.bag;a.format=e.format,a.minimum=o,a.maximum=s,r&&(a.pattern=Ef)}),t._zod.check=i=>{let a=i.value;if(r){if(!Number.isInteger(a)){i.issues.push({expected:n,format:e.format,code:"invalid_type",input:a,inst:t});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:t,origin:n,continue:!e.abort}):i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort});return}}a<o&&i.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:t,continue:!e.abort}),a>s&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inst:t})}});var Zf=b("$ZodCheckMaxLength",(t,e)=>{var r;Ae.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!so(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum<o&&(n._zod.bag.maximum=e.maximum)}),t._zod.check=n=>{let o=n.value;if(o.length<=e.maximum)return;let i=ao(o);n.issues.push({origin:i,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Df=b("$ZodCheckMinLength",(t,e)=>{var r;Ae.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!so(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>o&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let o=n.value;if(o.length>=e.minimum)return;let i=ao(o);n.issues.push({origin:i,code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),qf=b("$ZodCheckLengthEquals",(t,e)=>{var r;Ae.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!so(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=e.length,o.maximum=e.length,o.length=e.length}),t._zod.check=n=>{let o=n.value,s=o.length;if(s===e.length)return;let i=ao(o),a=s>e.length;n.issues.push({origin:i,...a?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),uo=b("$ZodCheckStringFormat",(t,e)=>{var r,n;Ae.init(t,e),t._zod.onattach.push(o=>{let s=o._zod.bag;s.format=e.format,e.pattern&&(s.patterns??(s.patterns=new Set),s.patterns.add(e.pattern))}),e.pattern?(r=t._zod).check??(r.check=o=>{e.pattern.lastIndex=0,!e.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:e.format,input:o.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(n=t._zod).check??(n.check=()=>{})}),Vf=b("$ZodCheckRegex",(t,e)=>{uo.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}}),Lf=b("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=Nf),uo.init(t,e)}),Uf=b("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=Af),uo.init(t,e)}),Ff=b("$ZodCheckIncludes",(t,e)=>{Ae.init(t,e);let r=rr(e.includes),n=new RegExp(typeof e.position=="number"?`^.{${e.position}}${r}`:r);e.pattern=n,t._zod.onattach.push(o=>{let s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),t._zod.check=o=>{o.value.includes(e.includes,e.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:o.value,inst:t,continue:!e.abort})}}),Bf=b("$ZodCheckStartsWith",(t,e)=>{Ae.init(t,e);let r=new RegExp(`^${rr(e.prefix)}.*`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.startsWith(e.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:n.value,inst:t,continue:!e.abort})}}),Hf=b("$ZodCheckEndsWith",(t,e)=>{Ae.init(t,e);let r=new RegExp(`.*${rr(e.suffix)}$`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.endsWith(e.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:n.value,inst:t,continue:!e.abort})}});var Gf=b("$ZodCheckOverwrite",(t,e)=>{Ae.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});var zs=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(`
11
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 e=Function,r=this?.args,o=[...(this?.content??[""]).map(s=>` ${s}`)];return new e(...r,o.join(`
12
- `))}};var Jf={major:4,minor:0,patch:0};var ce=b("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=Jf;let n=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&n.unshift(t);for(let o of n)for(let s of o._zod.onattach)s(t);if(n.length===0)(r=t._zod).deferred??(r.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{let o=(s,i,a)=>{let c=Ar(s),u;for(let l of i){if(l._zod.def.when){if(!l._zod.def.when(s))continue}else if(c)continue;let d=s.issues.length,p=l._zod.check(s);if(p instanceof Promise&&a?.async===!1)throw new Ut;if(u||p instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await p,s.issues.length!==d&&(c||(c=Ar(s,d)))});else{if(s.issues.length===d)continue;c||(c=Ar(s,d))}}return u?u.then(()=>s):s};t._zod.run=(s,i)=>{let a=t._zod.parse(s,i);if(a instanceof Promise){if(i.async===!1)throw new Ut;return a.then(c=>o(c,n,i))}return o(a,n,i)}}t["~standard"]={validate:o=>{try{let s=Cr(t,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return jr(t,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),uo=b("$ZodString",(t,e)=>{ce.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??zf(t._zod.bag),t._zod.parse=(r,n)=>{if(e.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:t}),r}}),pe=b("$ZodStringFormat",(t,e)=>{co.init(t,e),uo.init(t,e)}),Qa=b("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=pf),pe.init(t,e)}),ec=b("$ZodUUID",(t,e)=>{if(e.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(n===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=Ja(n))}else e.pattern??(e.pattern=Ja());pe.init(t,e)}),tc=b("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=ff),pe.init(t,e)}),rc=b("$ZodURL",(t,e)=>{pe.init(t,e),t._zod.check=r=>{try{let n=r.value,o=new URL(n),s=o.href;e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:bf.source,input:r.value,inst:t,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:r.value,inst:t,continue:!e.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:t,continue:!e.abort})}}}),nc=b("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=mf()),pe.init(t,e)}),oc=b("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=lf),pe.init(t,e)}),sc=b("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=of),pe.init(t,e)}),ic=b("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=sf),pe.init(t,e)}),ac=b("$ZodULID",(t,e)=>{e.pattern??(e.pattern=af),pe.init(t,e)}),cc=b("$ZodXID",(t,e)=>{e.pattern??(e.pattern=cf),pe.init(t,e)}),uc=b("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=uf),pe.init(t,e)}),om=b("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=Rf(e)),pe.init(t,e)}),sm=b("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=xf),pe.init(t,e)}),im=b("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=kf(e)),pe.init(t,e)}),am=b("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=df),pe.init(t,e)}),lc=b("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=hf),pe.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),dc=b("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=gf),pe.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv6"}),t._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:t,continue:!e.abort})}}}),pc=b("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=yf),pe.init(t,e)}),fc=b("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=_f),pe.init(t,e),t._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:t,continue:!e.abort})}}});function cm(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}var mc=b("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=vf),pe.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),t._zod.check=r=>{cm(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function Iw(t){if(!Ka.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return cm(r)}var hc=b("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=Ka),pe.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),t._zod.check=r=>{Iw(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),gc=b("$ZodE164",(t,e)=>{e.pattern??(e.pattern=wf),pe.init(t,e)});function Ow(t,e=null){try{let r=t.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||e&&(!("alg"in o)||o.alg!==e))}catch{return!1}}var yc=b("$ZodJWT",(t,e)=>{pe.init(t,e),t._zod.check=r=>{Ow(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}});var Es=b("$ZodNumber",(t,e)=>{ce.init(t,e),t._zod.pattern=t._zod.bag.pattern??Ef,t._zod.parse=(r,n)=>{if(e.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:t,...s?{received:s}:{}}),r}}),_c=b("$ZodNumber",(t,e)=>{jf.init(t,e),Es.init(t,e)}),vc=b("$ZodBoolean",(t,e)=>{ce.init(t,e),t._zod.pattern=Pf,t._zod.parse=(r,n)=>{if(e.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:t}),r}});var bc=b("$ZodNull",(t,e)=>{ce.init(t,e),t._zod.pattern=If,t._zod.values=new Set([null]),t._zod.parse=(r,n)=>{let o=r.value;return o===null||r.issues.push({expected:"null",code:"invalid_type",input:o,inst:t}),r}});var wc=b("$ZodUnknown",(t,e)=>{ce.init(t,e),t._zod.parse=r=>r}),$c=b("$ZodNever",(t,e)=>{ce.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)});function Kf(t,e,r){t.issues.length&&e.issues.push(...Ot(r,t.issues)),e.value[r]=t.value}var xc=b("$ZodArray",(t,e)=>{ce.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:t}),r;r.value=Array(o.length);let s=[];for(let i=0;i<o.length;i++){let a=o[i],c=e.element._zod.run({value:a,issues:[]},n);c instanceof Promise?s.push(c.then(u=>Kf(u,r,i))):Kf(c,r,i)}return s.length?Promise.all(s).then(()=>r):r}});function Ts(t,e,r){t.issues.length&&e.issues.push(...Ot(r,t.issues)),e.value[r]=t.value}function Wf(t,e,r,n){t.issues.length?n[r]===void 0?r in n?e.value[r]=void 0:e.value[r]=t.value:e.issues.push(...Ot(r,t.issues)):t.value===void 0?r in n&&(e.value[r]=void 0):e.value[r]=t.value}var Ps=b("$ZodObject",(t,e)=>{ce.init(t,e);let r=no(()=>{let d=Object.keys(e.shape);for(let f of d)if(!(e.shape[f]instanceof ce))throw new Error(`Invalid element at key "${f}": expected a Zod schema`);let p=Ma(e.shape);return{shape:e.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(p)}});de(t._zod,"propValues",()=>{let d=e.shape,p={};for(let f in d){let m=d[f]._zod;if(m.values){p[f]??(p[f]=new Set);for(let h of m.values)p[f].add(h)}}return p});let n=d=>{let p=new zs(["shape","payload","ctx"]),f=r.value,m=y=>{let $=Nr(y);return`shape[${$}]._zod.run({ value: input[${$}], issues: [] }, ctx)`};p.write("const input = payload.value;");let h=Object.create(null),g=0;for(let y of f.keys)h[y]=`key_${g++}`;p.write("const newResult = {}");for(let y of f.keys)if(f.optionalKeys.has(y)){let $=h[y];p.write(`const ${$} = ${m(y)};`);let R=Nr(y);p.write(`
13
- if (${$}.issues.length) {
14
- if (input[${R}] === undefined) {
15
- if (${R} in input) {
16
- newResult[${R}] = undefined;
12
+ `))}};var Kf={major:4,minor:0,patch:0};var ce=b("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=Kf;let n=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&n.unshift(t);for(let o of n)for(let s of o._zod.onattach)s(t);if(n.length===0)(r=t._zod).deferred??(r.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{let o=(s,i,a)=>{let c=jr(s),u;for(let l of i){if(l._zod.def.when){if(!l._zod.def.when(s))continue}else if(c)continue;let d=s.issues.length,f=l._zod.check(s);if(f instanceof Promise&&a?.async===!1)throw new Bt;if(u||f instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await f,s.issues.length!==d&&(c||(c=jr(s,d)))});else{if(s.issues.length===d)continue;c||(c=jr(s,d))}}return u?u.then(()=>s):s};t._zod.run=(s,i)=>{let a=t._zod.parse(s,i);if(a instanceof Promise){if(i.async===!1)throw new Bt;return a.then(c=>o(c,n,i))}return o(a,n,i)}}t["~standard"]={validate:o=>{try{let s=Mr(t,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return Zr(t,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),lo=b("$ZodString",(t,e)=>{ce.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??zf(t._zod.bag),t._zod.parse=(r,n)=>{if(e.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:t}),r}}),pe=b("$ZodStringFormat",(t,e)=>{uo.init(t,e),lo.init(t,e)}),ec=b("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=ff),pe.init(t,e)}),tc=b("$ZodUUID",(t,e)=>{if(e.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(n===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=Ka(n))}else e.pattern??(e.pattern=Ka());pe.init(t,e)}),rc=b("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=mf),pe.init(t,e)}),nc=b("$ZodURL",(t,e)=>{pe.init(t,e),t._zod.check=r=>{try{let n=r.value,o=new URL(n),s=o.href;e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:wf.source,input:r.value,inst:t,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:r.value,inst:t,continue:!e.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:t,continue:!e.abort})}}}),oc=b("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=hf()),pe.init(t,e)}),sc=b("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=df),pe.init(t,e)}),ic=b("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=sf),pe.init(t,e)}),ac=b("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=af),pe.init(t,e)}),cc=b("$ZodULID",(t,e)=>{e.pattern??(e.pattern=cf),pe.init(t,e)}),uc=b("$ZodXID",(t,e)=>{e.pattern??(e.pattern=uf),pe.init(t,e)}),lc=b("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=lf),pe.init(t,e)}),sm=b("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=Tf(e)),pe.init(t,e)}),im=b("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=Sf),pe.init(t,e)}),am=b("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=Rf(e)),pe.init(t,e)}),cm=b("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=pf),pe.init(t,e)}),dc=b("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=gf),pe.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),pc=b("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=yf),pe.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv6"}),t._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:t,continue:!e.abort})}}}),fc=b("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=_f),pe.init(t,e)}),mc=b("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=vf),pe.init(t,e),t._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:t,continue:!e.abort})}}});function um(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}var hc=b("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=bf),pe.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),t._zod.check=r=>{um(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function Ow(t){if(!Wa.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return um(r)}var gc=b("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=Wa),pe.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),t._zod.check=r=>{Ow(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),yc=b("$ZodE164",(t,e)=>{e.pattern??(e.pattern=$f),pe.init(t,e)});function Nw(t,e=null){try{let r=t.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||e&&(!("alg"in o)||o.alg!==e))}catch{return!1}}var _c=b("$ZodJWT",(t,e)=>{pe.init(t,e),t._zod.check=r=>{Nw(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}});var Ps=b("$ZodNumber",(t,e)=>{ce.init(t,e),t._zod.pattern=t._zod.bag.pattern??Pf,t._zod.parse=(r,n)=>{if(e.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:t,...s?{received:s}:{}}),r}}),vc=b("$ZodNumber",(t,e)=>{Mf.init(t,e),Ps.init(t,e)}),bc=b("$ZodBoolean",(t,e)=>{ce.init(t,e),t._zod.pattern=If,t._zod.parse=(r,n)=>{if(e.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:t}),r}});var wc=b("$ZodNull",(t,e)=>{ce.init(t,e),t._zod.pattern=Of,t._zod.values=new Set([null]),t._zod.parse=(r,n)=>{let o=r.value;return o===null||r.issues.push({expected:"null",code:"invalid_type",input:o,inst:t}),r}});var $c=b("$ZodUnknown",(t,e)=>{ce.init(t,e),t._zod.parse=r=>r}),xc=b("$ZodNever",(t,e)=>{ce.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)});function Wf(t,e,r){t.issues.length&&e.issues.push(...At(r,t.issues)),e.value[r]=t.value}var Sc=b("$ZodArray",(t,e)=>{ce.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:t}),r;r.value=Array(o.length);let s=[];for(let i=0;i<o.length;i++){let a=o[i],c=e.element._zod.run({value:a,issues:[]},n);c instanceof Promise?s.push(c.then(u=>Wf(u,r,i))):Wf(c,r,i)}return s.length?Promise.all(s).then(()=>r):r}});function Es(t,e,r){t.issues.length&&e.issues.push(...At(r,t.issues)),e.value[r]=t.value}function Yf(t,e,r,n){t.issues.length?n[r]===void 0?r in n?e.value[r]=void 0:e.value[r]=t.value:e.issues.push(...At(r,t.issues)):t.value===void 0?r in n&&(e.value[r]=void 0):e.value[r]=t.value}var Is=b("$ZodObject",(t,e)=>{ce.init(t,e);let r=oo(()=>{let d=Object.keys(e.shape);for(let h of d)if(!(e.shape[h]instanceof ce))throw new Error(`Invalid element at key "${h}": expected a Zod schema`);let f=Za(e.shape);return{shape:e.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(f)}});de(t._zod,"propValues",()=>{let d=e.shape,f={};for(let h in d){let p=d[h]._zod;if(p.values){f[h]??(f[h]=new Set);for(let m of p.values)f[h].add(m)}}return f});let n=d=>{let f=new zs(["shape","payload","ctx"]),h=r.value,p=y=>{let w=Cr(y);return`shape[${w}]._zod.run({ value: input[${w}], issues: [] }, ctx)`};f.write("const input = payload.value;");let m=Object.create(null),g=0;for(let y of h.keys)m[y]=`key_${g++}`;f.write("const newResult = {}");for(let y of h.keys)if(h.optionalKeys.has(y)){let w=m[y];f.write(`const ${w} = ${p(y)};`);let z=Cr(y);f.write(`
13
+ if (${w}.issues.length) {
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
- ${$}.issues.map((iss) => ({
20
+ ${w}.issues.map((iss) => ({
21
21
  ...iss,
22
- path: iss.path ? [${R}, ...iss.path] : [${R}],
22
+ path: iss.path ? [${z}, ...iss.path] : [${z}],
23
23
  }))
24
24
  );
25
25
  }
26
- } else if (${$}.value === undefined) {
27
- if (${R} in input) newResult[${R}] = undefined;
26
+ } else if (${w}.value === undefined) {
27
+ if (${z} in input) newResult[${z}] = undefined;
28
28
  } else {
29
- newResult[${R}] = ${$}.value;
29
+ newResult[${z}] = ${w}.value;
30
30
  }
31
- `)}else{let $=h[y];p.write(`const ${$} = ${m(y)};`),p.write(`
32
- if (${$}.issues.length) payload.issues = payload.issues.concat(${$}.issues.map(iss => ({
31
+ `)}else{let w=m[y];f.write(`const ${w} = ${p(y)};`),f.write(`
32
+ if (${w}.issues.length) payload.issues = payload.issues.concat(${w}.issues.map(iss => ({
33
33
  ...iss,
34
- path: iss.path ? [${Nr(y)}, ...iss.path] : [${Nr(y)}]
35
- })));`),p.write(`newResult[${Nr(y)}] = ${$}.value`)}p.write("payload.value = newResult;"),p.write("return payload;");let v=p.compile();return(y,$)=>v(d,y,$)},o,s=mn,i=!ws.jitless,c=i&&Ca.value,u=e.catchall,l;t._zod.parse=(d,p)=>{l??(l=r.value);let f=d.value;if(!s(f))return d.issues.push({expected:"object",code:"invalid_type",input:f,inst:t}),d;let m=[];if(i&&c&&p?.async===!1&&p.jitless!==!0)o||(o=n(e.shape)),d=o(d,p);else{d.value={};let $=l.shape;for(let R of l.keys){let Z=$[R],Ve=Z._zod.run({value:f[R],issues:[]},p),at=Z._zod.optin==="optional"&&Z._zod.optout==="optional";Ve instanceof Promise?m.push(Ve.then(on=>at?Wf(on,d,R,f):Ts(on,d,R))):at?Wf(Ve,d,R,f):Ts(Ve,d,R)}}if(!u)return m.length?Promise.all(m).then(()=>d):d;let h=[],g=l.keySet,v=u._zod,y=v.def.type;for(let $ of Object.keys(f)){if(g.has($))continue;if(y==="never"){h.push($);continue}let R=v.run({value:f[$],issues:[]},p);R instanceof Promise?m.push(R.then(Z=>Ts(Z,d,$))):Ts(R,d,$)}return h.length&&d.issues.push({code:"unrecognized_keys",keys:h,input:f,inst:t}),m.length?Promise.all(m).then(()=>d):d}});function Yf(t,e,r,n){for(let o of t)if(o.issues.length===0)return e.value=o.value,e;return e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(o=>o.issues.map(s=>bt(s,n,rt())))}),e}var Is=b("$ZodUnion",(t,e)=>{ce.init(t,e),de(t._zod,"optin",()=>e.options.some(r=>r._zod.optin==="optional")?"optional":void 0),de(t._zod,"optout",()=>e.options.some(r=>r._zod.optout==="optional")?"optional":void 0),de(t._zod,"values",()=>{if(e.options.every(r=>r._zod.values))return new Set(e.options.flatMap(r=>Array.from(r._zod.values)))}),de(t._zod,"pattern",()=>{if(e.options.every(r=>r._zod.pattern)){let r=e.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>so(n.source)).join("|")})$`)}}),t._zod.parse=(r,n)=>{let o=!1,s=[];for(let i of e.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=>Yf(i,r,t,n)):Yf(s,r,t,n)}}),Sc=b("$ZodDiscriminatedUnion",(t,e)=>{Is.init(t,e);let r=t._zod.parse;de(t._zod,"propValues",()=>{let o={};for(let s of e.options){let i=s._zod.propValues;if(!i||Object.keys(i).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(s)}"`);for(let[a,c]of Object.entries(i)){o[a]||(o[a]=new Set);for(let u of c)o[a].add(u)}}return o});let n=no(()=>{let o=e.options,s=new Map;for(let i of o){let a=i._zod.propValues[e.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${e.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});t._zod.parse=(o,s)=>{let i=o.value;if(!mn(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:t}),o;let a=n.value.get(i?.[e.discriminator]);return a?a._zod.run(o,s):e.unionFallback?r(o,s):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:i,path:[e.discriminator],inst:t}),o)}}),kc=b("$ZodIntersection",(t,e)=>{ce.init(t,e),t._zod.parse=(r,n)=>{let o=r.value,s=e.left._zod.run({value:o,issues:[]},n),i=e.right._zod.run({value:o,issues:[]},n);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([c,u])=>Xf(r,c,u)):Xf(r,s,i)}});function Xa(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if(hn(t)&&hn(e)){let r=Object.keys(e),n=Object.keys(t).filter(s=>r.indexOf(s)!==-1),o={...t,...e};for(let s of n){let i=Xa(t[s],e[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<t.length;n++){let o=t[n],s=e[n],i=Xa(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 Xf(t,e,r){if(e.issues.length&&t.issues.push(...e.issues),r.issues.length&&t.issues.push(...r.issues),Ar(t))return t;let n=Xa(e.value,r.value);if(!n.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(n.mergeErrorPath)}`);return t.value=n.data,t}var Rc=b("$ZodRecord",(t,e)=>{ce.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!hn(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:t}),r;let s=[];if(e.keyType._zod.values){let i=e.keyType._zod.values;r.value={};for(let c of i)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let u=e.valueType._zod.run({value:o[c],issues:[]},n);u instanceof Promise?s.push(u.then(l=>{l.issues.length&&r.issues.push(...Ot(c,l.issues)),r.value[c]=l.value})):(u.issues.length&&r.issues.push(...Ot(c,u.issues)),r.value[c]=u.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:t,keys:a})}else{r.value={};for(let i of Reflect.ownKeys(o)){if(i==="__proto__")continue;let a=e.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(u=>bt(u,n,rt())),input:i,path:[i],inst:t}),r.value[a.value]=a.value;continue}let c=e.valueType._zod.run({value:o[i],issues:[]},n);c instanceof Promise?s.push(c.then(u=>{u.issues.length&&r.issues.push(...Ot(i,u.issues)),r.value[a.value]=u.value})):(c.issues.length&&r.issues.push(...Ot(i,c.issues)),r.value[a.value]=c.value)}}return s.length?Promise.all(s).then(()=>r):r}});var zc=b("$ZodEnum",(t,e)=>{ce.init(t,e);let r=ro(e.entries);t._zod.values=new Set(r),t._zod.pattern=new RegExp(`^(${r.filter(n=>ja.has(typeof n)).map(n=>typeof n=="string"?er(n):n.toString()).join("|")})$`),t._zod.parse=(n,o)=>{let s=n.value;return t._zod.values.has(s)||n.issues.push({code:"invalid_value",values:r,input:s,inst:t}),n}}),Tc=b("$ZodLiteral",(t,e)=>{ce.init(t,e),t._zod.values=new Set(e.values),t._zod.pattern=new RegExp(`^(${e.values.map(r=>typeof r=="string"?er(r):r?r.toString():String(r)).join("|")})$`),t._zod.parse=(r,n)=>{let o=r.value;return t._zod.values.has(o)||r.issues.push({code:"invalid_value",values:e.values,input:o,inst:t}),r}});var Ec=b("$ZodTransform",(t,e)=>{ce.init(t,e),t._zod.parse=(r,n)=>{let o=e.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 Ut;return r.value=o,r}}),Pc=b("$ZodOptional",(t,e)=>{ce.init(t,e),t._zod.optin="optional",t._zod.optout="optional",de(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),de(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${so(r.source)})?$`):void 0}),t._zod.parse=(r,n)=>e.innerType._zod.optin==="optional"?e.innerType._zod.run(r,n):r.value===void 0?r:e.innerType._zod.run(r,n)}),Ic=b("$ZodNullable",(t,e)=>{ce.init(t,e),de(t._zod,"optin",()=>e.innerType._zod.optin),de(t._zod,"optout",()=>e.innerType._zod.optout),de(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${so(r.source)}|null)$`):void 0}),de(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,n)=>r.value===null?r:e.innerType._zod.run(r,n)}),Oc=b("$ZodDefault",(t,e)=>{ce.init(t,e),t._zod.optin="optional",de(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=e.defaultValue,r;let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>Qf(s,e)):Qf(o,e)}});function Qf(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var Nc=b("$ZodPrefault",(t,e)=>{ce.init(t,e),t._zod.optin="optional",de(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>(r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,n))}),Ac=b("$ZodNonOptional",(t,e)=>{ce.init(t,e),de(t._zod,"values",()=>{let r=e.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>em(s,t)):em(o,t)}});function em(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}var Cc=b("$ZodCatch",(t,e)=>{ce.init(t,e),t._zod.optin="optional",de(t._zod,"optout",()=>e.innerType._zod.optout),de(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>(r.value=s.value,s.issues.length&&(r.value=e.catchValue({...r,error:{issues:s.issues.map(i=>bt(i,n,rt()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=e.catchValue({...r,error:{issues:o.issues.map(s=>bt(s,n,rt()))},input:r.value}),r.issues=[]),r)}});var jc=b("$ZodPipe",(t,e)=>{ce.init(t,e),de(t._zod,"values",()=>e.in._zod.values),de(t._zod,"optin",()=>e.in._zod.optin),de(t._zod,"optout",()=>e.out._zod.optout),t._zod.parse=(r,n)=>{let o=e.in._zod.run(r,n);return o instanceof Promise?o.then(s=>tm(s,e,n)):tm(o,e,n)}});function tm(t,e,r){return Ar(t)?t:e.out._zod.run({value:t.value,issues:t.issues},r)}var Mc=b("$ZodReadonly",(t,e)=>{ce.init(t,e),de(t._zod,"propValues",()=>e.innerType._zod.propValues),de(t._zod,"values",()=>e.innerType._zod.values),de(t._zod,"optin",()=>e.innerType._zod.optin),de(t._zod,"optout",()=>e.innerType._zod.optout),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(rm):rm(o)}});function rm(t){return t.value=Object.freeze(t.value),t}var Zc=b("$ZodCustom",(t,e)=>{Oe.init(t,e),ce.init(t,e),t._zod.parse=(r,n)=>r,t._zod.check=r=>{let n=r.value,o=e.fn(n);if(o instanceof Promise)return o.then(s=>nm(s,r,n,t));nm(o,r,n,t)}});function nm(t,e,r,n){if(!t){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),e.issues.push(Da(o))}}var Nw=t=>{let e=typeof t;switch(e){case"number":return Number.isNaN(t)?"NaN":"number";case"object":{if(Array.isArray(t))return"array";if(t===null)return"null";if(Object.getPrototypeOf(t)!==Object.prototype&&t.constructor)return t.constructor.name}}return e},Aw=()=>{let t={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 e(n){return t[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 ${Nw(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${Ss(n.values[0])}`:`Invalid option: expected one of ${$s(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=e(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=e(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":""}: ${$s(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 um(){return{localeError:Aw()}}var Cw=Symbol("ZodOutput"),jw=Symbol("ZodInput"),lo=class{constructor(){this._map=new Map,this._idmap=new Map}add(e,...r){let n=r[0];if(this._map.set(e,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,e)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(e){let r=this._map.get(e);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(e),this}get(e){let r=e._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}};function lm(){return new lo}var tr=lm();function Dc(t,e){return new t({type:"string",...q(e)})}function qc(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...q(e)})}function Os(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...q(e)})}function Vc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...q(e)})}function Lc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...q(e)})}function Uc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...q(e)})}function Fc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...q(e)})}function Bc(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...q(e)})}function Hc(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...q(e)})}function Gc(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...q(e)})}function Jc(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...q(e)})}function Kc(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...q(e)})}function Wc(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...q(e)})}function Yc(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...q(e)})}function Xc(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...q(e)})}function Qc(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...q(e)})}function eu(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...q(e)})}function tu(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...q(e)})}function ru(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...q(e)})}function nu(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...q(e)})}function ou(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...q(e)})}function su(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...q(e)})}function iu(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...q(e)})}function dm(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...q(e)})}function pm(t,e){return new t({type:"string",format:"date",check:"string_format",...q(e)})}function fm(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...q(e)})}function mm(t,e){return new t({type:"string",format:"duration",check:"string_format",...q(e)})}function au(t,e){return new t({type:"number",checks:[],...q(e)})}function cu(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...q(e)})}function uu(t,e){return new t({type:"boolean",...q(e)})}function lu(t,e){return new t({type:"null",...q(e)})}function du(t){return new t({type:"unknown"})}function pu(t,e){return new t({type:"never",...q(e)})}function Ns(t,e){return new Wa({check:"less_than",...q(e),value:t,inclusive:!1})}function po(t,e){return new Wa({check:"less_than",...q(e),value:t,inclusive:!0})}function As(t,e){return new Ya({check:"greater_than",...q(e),value:t,inclusive:!1})}function fo(t,e){return new Ya({check:"greater_than",...q(e),value:t,inclusive:!0})}function Cs(t,e){return new Cf({check:"multiple_of",...q(e),value:t})}function js(t,e){return new Mf({check:"max_length",...q(e),maximum:t})}function gn(t,e){return new Zf({check:"min_length",...q(e),minimum:t})}function Ms(t,e){return new Df({check:"length_equals",...q(e),length:t})}function fu(t,e){return new qf({check:"string_format",format:"regex",...q(e),pattern:t})}function mu(t){return new Vf({check:"string_format",format:"lowercase",...q(t)})}function hu(t){return new Lf({check:"string_format",format:"uppercase",...q(t)})}function gu(t,e){return new Uf({check:"string_format",format:"includes",...q(e),includes:t})}function yu(t,e){return new Ff({check:"string_format",format:"starts_with",...q(e),prefix:t})}function _u(t,e){return new Bf({check:"string_format",format:"ends_with",...q(e),suffix:t})}function Mr(t){return new Hf({check:"overwrite",tx:t})}function vu(t){return Mr(e=>e.normalize(t))}function bu(){return Mr(t=>t.trim())}function wu(){return Mr(t=>t.toLowerCase())}function $u(){return Mr(t=>t.toUpperCase())}function hm(t,e,r){return new t({type:"array",element:e,...q(r)})}function xu(t,e,r){let n=q(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function Su(t,e,r){return new t({type:"custom",check:"custom",fn:e,...q(r)})}var Zs=class{constructor(e){this.counter=0,this.metadataRegistry=e?.metadata??tr,this.target=e?.target??"draft-2020-12",this.unrepresentable=e?.unrepresentable??"throw",this.override=e?.override??(()=>{}),this.io=e?.io??"output",this.seen=new Map}process(e,r={path:[],schemaPath:[]}){var n;let o=e._zod.def,s={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},i=this.seen.get(e);if(i)return i.count++,r.schemaPath.includes(e)&&(i.cycle=r.path),i.schema;let a={schema:{},count:1,cycle:void 0,path:r.path};this.seen.set(e,a);let c=e._zod.toJSONSchema?.();if(c)a.schema=c;else{let d={...r,schemaPath:[...r.schemaPath,e],path:r.path},p=e._zod.parent;if(p)a.ref=p,this.process(p,d),this.seen.get(p).isParent=!0;else{let f=a.schema;switch(o.type){case"string":{let m=f;m.type="string";let{minimum:h,maximum:g,format:v,patterns:y,contentEncoding:$}=e._zod.bag;if(typeof h=="number"&&(m.minLength=h),typeof g=="number"&&(m.maxLength=g),v&&(m.format=s[v]??v,m.format===""&&delete m.format),$&&(m.contentEncoding=$),y&&y.size>0){let R=[...y];R.length===1?m.pattern=R[0].source:R.length>1&&(a.schema.allOf=[...R.map(Z=>({...this.target==="draft-7"?{type:"string"}:{},pattern:Z.source}))])}break}case"number":{let m=f,{minimum:h,maximum:g,format:v,multipleOf:y,exclusiveMaximum:$,exclusiveMinimum:R}=e._zod.bag;typeof v=="string"&&v.includes("int")?m.type="integer":m.type="number",typeof R=="number"&&(m.exclusiveMinimum=R),typeof h=="number"&&(m.minimum=h,typeof R=="number"&&(R>=h?delete m.minimum:delete m.exclusiveMinimum)),typeof $=="number"&&(m.exclusiveMaximum=$),typeof g=="number"&&(m.maximum=g,typeof $=="number"&&($<=g?delete m.maximum:delete m.exclusiveMaximum)),typeof y=="number"&&(m.multipleOf=y);break}case"boolean":{let m=f;m.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema");break}case"null":{f.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema");break}case"never":{f.not={};break}case"date":{if(this.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema");break}case"array":{let m=f,{minimum:h,maximum:g}=e._zod.bag;typeof h=="number"&&(m.minItems=h),typeof g=="number"&&(m.maxItems=g),m.type="array",m.items=this.process(o.element,{...d,path:[...d.path,"items"]});break}case"object":{let m=f;m.type="object",m.properties={};let h=o.shape;for(let y in h)m.properties[y]=this.process(h[y],{...d,path:[...d.path,"properties",y]});let g=new Set(Object.keys(h)),v=new Set([...g].filter(y=>{let $=o.shape[y]._zod;return this.io==="input"?$.optin===void 0:$.optout===void 0}));v.size>0&&(m.required=Array.from(v)),o.catchall?._zod.def.type==="never"?m.additionalProperties=!1:o.catchall?o.catchall&&(m.additionalProperties=this.process(o.catchall,{...d,path:[...d.path,"additionalProperties"]})):this.io==="output"&&(m.additionalProperties=!1);break}case"union":{let m=f;m.anyOf=o.options.map((h,g)=>this.process(h,{...d,path:[...d.path,"anyOf",g]}));break}case"intersection":{let m=f,h=this.process(o.left,{...d,path:[...d.path,"allOf",0]}),g=this.process(o.right,{...d,path:[...d.path,"allOf",1]}),v=$=>"allOf"in $&&Object.keys($).length===1,y=[...v(h)?h.allOf:[h],...v(g)?g.allOf:[g]];m.allOf=y;break}case"tuple":{let m=f;m.type="array";let h=o.items.map((y,$)=>this.process(y,{...d,path:[...d.path,"prefixItems",$]}));if(this.target==="draft-2020-12"?m.prefixItems=h:m.items=h,o.rest){let y=this.process(o.rest,{...d,path:[...d.path,"items"]});this.target==="draft-2020-12"?m.items=y:m.additionalItems=y}o.rest&&(m.items=this.process(o.rest,{...d,path:[...d.path,"items"]}));let{minimum:g,maximum:v}=e._zod.bag;typeof g=="number"&&(m.minItems=g),typeof v=="number"&&(m.maxItems=v);break}case"record":{let m=f;m.type="object",m.propertyNames=this.process(o.keyType,{...d,path:[...d.path,"propertyNames"]}),m.additionalProperties=this.process(o.valueType,{...d,path:[...d.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema");break}case"enum":{let m=f,h=ro(o.entries);h.every(g=>typeof g=="number")&&(m.type="number"),h.every(g=>typeof g=="string")&&(m.type="string"),m.enum=h;break}case"literal":{let m=f,h=[];for(let g of o.values)if(g===void 0){if(this.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof g=="bigint"){if(this.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");h.push(Number(g))}else h.push(g);if(h.length!==0)if(h.length===1){let g=h[0];m.type=g===null?"null":typeof g,m.const=g}else h.every(g=>typeof g=="number")&&(m.type="number"),h.every(g=>typeof g=="string")&&(m.type="string"),h.every(g=>typeof g=="boolean")&&(m.type="string"),h.every(g=>g===null)&&(m.type="null"),m.enum=h;break}case"file":{let m=f,h={type:"string",format:"binary",contentEncoding:"binary"},{minimum:g,maximum:v,mime:y}=e._zod.bag;g!==void 0&&(h.minLength=g),v!==void 0&&(h.maxLength=v),y?y.length===1?(h.contentMediaType=y[0],Object.assign(m,h)):m.anyOf=y.map($=>({...h,contentMediaType:$})):Object.assign(m,h);break}case"transform":{if(this.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let m=this.process(o.innerType,d);f.anyOf=[m,{type:"null"}];break}case"nonoptional":{this.process(o.innerType,d),a.ref=o.innerType;break}case"success":{let m=f;m.type="boolean";break}case"default":{this.process(o.innerType,d),a.ref=o.innerType,f.default=JSON.parse(JSON.stringify(o.defaultValue));break}case"prefault":{this.process(o.innerType,d),a.ref=o.innerType,this.io==="input"&&(f._prefault=JSON.parse(JSON.stringify(o.defaultValue)));break}case"catch":{this.process(o.innerType,d),a.ref=o.innerType;let m;try{m=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}f.default=m;break}case"nan":{if(this.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let m=f,h=e._zod.pattern;if(!h)throw new Error("Pattern not found in template literal");m.type="string",m.pattern=h.source;break}case"pipe":{let m=this.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;this.process(m,d),a.ref=m;break}case"readonly":{this.process(o.innerType,d),a.ref=o.innerType,f.readOnly=!0;break}case"promise":{this.process(o.innerType,d),a.ref=o.innerType;break}case"optional":{this.process(o.innerType,d),a.ref=o.innerType;break}case"lazy":{let m=e._zod.innerType;this.process(m,d),a.ref=m;break}case"custom":{if(this.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema");break}default:}}}let u=this.metadataRegistry.get(e);return u&&Object.assign(a.schema,u),this.io==="input"&&ke(e)&&(delete a.schema.examples,delete a.schema.default),this.io==="input"&&a.schema._prefault&&((n=a.schema).default??(n.default=a.schema._prefault)),delete a.schema._prefault,this.seen.get(e).schema}emit(e,r){let n={cycles:r?.cycles??"ref",reused:r?.reused??"inline",external:r?.external??void 0},o=this.seen.get(e);if(!o)throw new Error("Unprocessed schema. This is a bug in Zod.");let s=l=>{let d=this.target==="draft-2020-12"?"$defs":"definitions";if(n.external){let h=n.external.registry.get(l[0])?.id,g=n.external.uri??(y=>y);if(h)return{ref:g(h)};let v=l[1].defId??l[1].schema.id??`schema${this.counter++}`;return l[1].defId=v,{defId:v,ref:`${g("__shared")}#/${d}/${v}`}}if(l[1]===o)return{ref:"#"};let f=`#/${d}/`,m=l[1].schema.id??`__schema${this.counter++}`;return{defId:m,ref:f+m}},i=l=>{if(l[1].schema.$ref)return;let d=l[1],{ref:p,defId:f}=s(l);d.def={...d.schema},f&&(d.defId=f);let m=d.schema;for(let h in m)delete m[h];m.$ref=p};if(n.cycles==="throw")for(let l of this.seen.entries()){let d=l[1];if(d.cycle)throw new Error(`Cycle detected: #/${d.cycle?.join("/")}/<root>
34
+ path: iss.path ? [${Cr(y)}, ...iss.path] : [${Cr(y)}]
35
+ })));`),f.write(`newResult[${Cr(y)}] = ${w}.value`)}f.write("payload.value = newResult;"),f.write("return payload;");let _=f.compile();return(y,w)=>_(d,y,w)},o,s=hn,i=!$s.jitless,c=i&&ja.value,u=e.catchall,l;t._zod.parse=(d,f)=>{l??(l=r.value);let h=d.value;if(!s(h))return d.issues.push({expected:"object",code:"invalid_type",input:h,inst:t}),d;let p=[];if(i&&c&&f?.async===!1&&f.jitless!==!0)o||(o=n(e.shape)),d=o(d,f);else{d.value={};let w=l.shape;for(let z of l.keys){let j=w[z],Ee=j._zod.run({value:h[z],issues:[]},f),ke=j._zod.optin==="optional"&&j._zod.optout==="optional";Ee instanceof Promise?p.push(Ee.then(Pt=>ke?Yf(Pt,d,z,h):Es(Pt,d,z))):ke?Yf(Ee,d,z,h):Es(Ee,d,z)}}if(!u)return p.length?Promise.all(p).then(()=>d):d;let m=[],g=l.keySet,_=u._zod,y=_.def.type;for(let w of Object.keys(h)){if(g.has(w))continue;if(y==="never"){m.push(w);continue}let z=_.run({value:h[w],issues:[]},f);z instanceof Promise?p.push(z.then(j=>Es(j,d,w))):Es(z,d,w)}return m.length&&d.issues.push({code:"unrecognized_keys",keys:m,input:h,inst:t}),p.length?Promise.all(p).then(()=>d):d}});function Xf(t,e,r,n){for(let o of t)if(o.issues.length===0)return e.value=o.value,e;return e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(o=>o.issues.map(s=>wt(s,n,ot())))}),e}var Os=b("$ZodUnion",(t,e)=>{ce.init(t,e),de(t._zod,"optin",()=>e.options.some(r=>r._zod.optin==="optional")?"optional":void 0),de(t._zod,"optout",()=>e.options.some(r=>r._zod.optout==="optional")?"optional":void 0),de(t._zod,"values",()=>{if(e.options.every(r=>r._zod.values))return new Set(e.options.flatMap(r=>Array.from(r._zod.values)))}),de(t._zod,"pattern",()=>{if(e.options.every(r=>r._zod.pattern)){let r=e.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>io(n.source)).join("|")})$`)}}),t._zod.parse=(r,n)=>{let o=!1,s=[];for(let i of e.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=>Xf(i,r,t,n)):Xf(s,r,t,n)}}),kc=b("$ZodDiscriminatedUnion",(t,e)=>{Os.init(t,e);let r=t._zod.parse;de(t._zod,"propValues",()=>{let o={};for(let s of e.options){let i=s._zod.propValues;if(!i||Object.keys(i).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(s)}"`);for(let[a,c]of Object.entries(i)){o[a]||(o[a]=new Set);for(let u of c)o[a].add(u)}}return o});let n=oo(()=>{let o=e.options,s=new Map;for(let i of o){let a=i._zod.propValues[e.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${e.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});t._zod.parse=(o,s)=>{let i=o.value;if(!hn(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:t}),o;let a=n.value.get(i?.[e.discriminator]);return a?a._zod.run(o,s):e.unionFallback?r(o,s):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:i,path:[e.discriminator],inst:t}),o)}}),Rc=b("$ZodIntersection",(t,e)=>{ce.init(t,e),t._zod.parse=(r,n)=>{let o=r.value,s=e.left._zod.run({value:o,issues:[]},n),i=e.right._zod.run({value:o,issues:[]},n);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([c,u])=>Qf(r,c,u)):Qf(r,s,i)}});function Qa(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if(gn(t)&&gn(e)){let r=Object.keys(e),n=Object.keys(t).filter(s=>r.indexOf(s)!==-1),o={...t,...e};for(let s of n){let i=Qa(t[s],e[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<t.length;n++){let o=t[n],s=e[n],i=Qa(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 Qf(t,e,r){if(e.issues.length&&t.issues.push(...e.issues),r.issues.length&&t.issues.push(...r.issues),jr(t))return t;let n=Qa(e.value,r.value);if(!n.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(n.mergeErrorPath)}`);return t.value=n.data,t}var Tc=b("$ZodRecord",(t,e)=>{ce.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!gn(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:t}),r;let s=[];if(e.keyType._zod.values){let i=e.keyType._zod.values;r.value={};for(let c of i)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let u=e.valueType._zod.run({value:o[c],issues:[]},n);u instanceof Promise?s.push(u.then(l=>{l.issues.length&&r.issues.push(...At(c,l.issues)),r.value[c]=l.value})):(u.issues.length&&r.issues.push(...At(c,u.issues)),r.value[c]=u.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:t,keys:a})}else{r.value={};for(let i of Reflect.ownKeys(o)){if(i==="__proto__")continue;let a=e.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(u=>wt(u,n,ot())),input:i,path:[i],inst:t}),r.value[a.value]=a.value;continue}let c=e.valueType._zod.run({value:o[i],issues:[]},n);c instanceof Promise?s.push(c.then(u=>{u.issues.length&&r.issues.push(...At(i,u.issues)),r.value[a.value]=u.value})):(c.issues.length&&r.issues.push(...At(i,c.issues)),r.value[a.value]=c.value)}}return s.length?Promise.all(s).then(()=>r):r}});var zc=b("$ZodEnum",(t,e)=>{ce.init(t,e);let r=no(e.entries);t._zod.values=new Set(r),t._zod.pattern=new RegExp(`^(${r.filter(n=>Ma.has(typeof n)).map(n=>typeof n=="string"?rr(n):n.toString()).join("|")})$`),t._zod.parse=(n,o)=>{let s=n.value;return t._zod.values.has(s)||n.issues.push({code:"invalid_value",values:r,input:s,inst:t}),n}}),Ec=b("$ZodLiteral",(t,e)=>{ce.init(t,e),t._zod.values=new Set(e.values),t._zod.pattern=new RegExp(`^(${e.values.map(r=>typeof r=="string"?rr(r):r?r.toString():String(r)).join("|")})$`),t._zod.parse=(r,n)=>{let o=r.value;return t._zod.values.has(o)||r.issues.push({code:"invalid_value",values:e.values,input:o,inst:t}),r}});var Pc=b("$ZodTransform",(t,e)=>{ce.init(t,e),t._zod.parse=(r,n)=>{let o=e.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 Bt;return r.value=o,r}}),Ic=b("$ZodOptional",(t,e)=>{ce.init(t,e),t._zod.optin="optional",t._zod.optout="optional",de(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),de(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${io(r.source)})?$`):void 0}),t._zod.parse=(r,n)=>e.innerType._zod.optin==="optional"?e.innerType._zod.run(r,n):r.value===void 0?r:e.innerType._zod.run(r,n)}),Oc=b("$ZodNullable",(t,e)=>{ce.init(t,e),de(t._zod,"optin",()=>e.innerType._zod.optin),de(t._zod,"optout",()=>e.innerType._zod.optout),de(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${io(r.source)}|null)$`):void 0}),de(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,n)=>r.value===null?r:e.innerType._zod.run(r,n)}),Nc=b("$ZodDefault",(t,e)=>{ce.init(t,e),t._zod.optin="optional",de(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=e.defaultValue,r;let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>em(s,e)):em(o,e)}});function em(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var Ac=b("$ZodPrefault",(t,e)=>{ce.init(t,e),t._zod.optin="optional",de(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>(r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,n))}),Cc=b("$ZodNonOptional",(t,e)=>{ce.init(t,e),de(t._zod,"values",()=>{let r=e.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>tm(s,t)):tm(o,t)}});function tm(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}var jc=b("$ZodCatch",(t,e)=>{ce.init(t,e),t._zod.optin="optional",de(t._zod,"optout",()=>e.innerType._zod.optout),de(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>(r.value=s.value,s.issues.length&&(r.value=e.catchValue({...r,error:{issues:s.issues.map(i=>wt(i,n,ot()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=e.catchValue({...r,error:{issues:o.issues.map(s=>wt(s,n,ot()))},input:r.value}),r.issues=[]),r)}});var Mc=b("$ZodPipe",(t,e)=>{ce.init(t,e),de(t._zod,"values",()=>e.in._zod.values),de(t._zod,"optin",()=>e.in._zod.optin),de(t._zod,"optout",()=>e.out._zod.optout),t._zod.parse=(r,n)=>{let o=e.in._zod.run(r,n);return o instanceof Promise?o.then(s=>rm(s,e,n)):rm(o,e,n)}});function rm(t,e,r){return jr(t)?t:e.out._zod.run({value:t.value,issues:t.issues},r)}var Zc=b("$ZodReadonly",(t,e)=>{ce.init(t,e),de(t._zod,"propValues",()=>e.innerType._zod.propValues),de(t._zod,"values",()=>e.innerType._zod.values),de(t._zod,"optin",()=>e.innerType._zod.optin),de(t._zod,"optout",()=>e.innerType._zod.optout),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(nm):nm(o)}});function nm(t){return t.value=Object.freeze(t.value),t}var Dc=b("$ZodCustom",(t,e)=>{Ae.init(t,e),ce.init(t,e),t._zod.parse=(r,n)=>r,t._zod.check=r=>{let n=r.value,o=e.fn(n);if(o instanceof Promise)return o.then(s=>om(s,r,n,t));om(o,r,n,t)}});function om(t,e,r,n){if(!t){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),e.issues.push(qa(o))}}var Aw=t=>{let e=typeof t;switch(e){case"number":return Number.isNaN(t)?"NaN":"number";case"object":{if(Array.isArray(t))return"array";if(t===null)return"null";if(Object.getPrototypeOf(t)!==Object.prototype&&t.constructor)return t.constructor.name}}return e},Cw=()=>{let t={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 e(n){return t[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 ${Aw(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${ks(n.values[0])}`:`Invalid option: expected one of ${xs(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=e(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=e(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":""}: ${xs(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 lm(){return{localeError:Cw()}}var jw=Symbol("ZodOutput"),Mw=Symbol("ZodInput"),po=class{constructor(){this._map=new Map,this._idmap=new Map}add(e,...r){let n=r[0];if(this._map.set(e,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,e)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(e){let r=this._map.get(e);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(e),this}get(e){let r=e._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}};function dm(){return new po}var nr=dm();function qc(t,e){return new t({type:"string",...q(e)})}function Vc(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...q(e)})}function Ns(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...q(e)})}function Lc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...q(e)})}function Uc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...q(e)})}function Fc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...q(e)})}function Bc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...q(e)})}function Hc(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...q(e)})}function Gc(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...q(e)})}function Jc(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...q(e)})}function Kc(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...q(e)})}function Wc(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...q(e)})}function Yc(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...q(e)})}function Xc(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...q(e)})}function Qc(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...q(e)})}function eu(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...q(e)})}function tu(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...q(e)})}function ru(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...q(e)})}function nu(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...q(e)})}function ou(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...q(e)})}function su(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...q(e)})}function iu(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...q(e)})}function au(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...q(e)})}function pm(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...q(e)})}function fm(t,e){return new t({type:"string",format:"date",check:"string_format",...q(e)})}function mm(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...q(e)})}function hm(t,e){return new t({type:"string",format:"duration",check:"string_format",...q(e)})}function cu(t,e){return new t({type:"number",checks:[],...q(e)})}function uu(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...q(e)})}function lu(t,e){return new t({type:"boolean",...q(e)})}function du(t,e){return new t({type:"null",...q(e)})}function pu(t){return new t({type:"unknown"})}function fu(t,e){return new t({type:"never",...q(e)})}function As(t,e){return new Ya({check:"less_than",...q(e),value:t,inclusive:!1})}function fo(t,e){return new Ya({check:"less_than",...q(e),value:t,inclusive:!0})}function Cs(t,e){return new Xa({check:"greater_than",...q(e),value:t,inclusive:!1})}function mo(t,e){return new Xa({check:"greater_than",...q(e),value:t,inclusive:!0})}function js(t,e){return new jf({check:"multiple_of",...q(e),value:t})}function Ms(t,e){return new Zf({check:"max_length",...q(e),maximum:t})}function yn(t,e){return new Df({check:"min_length",...q(e),minimum:t})}function Zs(t,e){return new qf({check:"length_equals",...q(e),length:t})}function mu(t,e){return new Vf({check:"string_format",format:"regex",...q(e),pattern:t})}function hu(t){return new Lf({check:"string_format",format:"lowercase",...q(t)})}function gu(t){return new Uf({check:"string_format",format:"uppercase",...q(t)})}function yu(t,e){return new Ff({check:"string_format",format:"includes",...q(e),includes:t})}function _u(t,e){return new Bf({check:"string_format",format:"starts_with",...q(e),prefix:t})}function vu(t,e){return new Hf({check:"string_format",format:"ends_with",...q(e),suffix:t})}function Dr(t){return new Gf({check:"overwrite",tx:t})}function bu(t){return Dr(e=>e.normalize(t))}function wu(){return Dr(t=>t.trim())}function $u(){return Dr(t=>t.toLowerCase())}function xu(){return Dr(t=>t.toUpperCase())}function gm(t,e,r){return new t({type:"array",element:e,...q(r)})}function Su(t,e,r){let n=q(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function ku(t,e,r){return new t({type:"custom",check:"custom",fn:e,...q(r)})}var Ds=class{constructor(e){this.counter=0,this.metadataRegistry=e?.metadata??nr,this.target=e?.target??"draft-2020-12",this.unrepresentable=e?.unrepresentable??"throw",this.override=e?.override??(()=>{}),this.io=e?.io??"output",this.seen=new Map}process(e,r={path:[],schemaPath:[]}){var n;let o=e._zod.def,s={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},i=this.seen.get(e);if(i)return i.count++,r.schemaPath.includes(e)&&(i.cycle=r.path),i.schema;let a={schema:{},count:1,cycle:void 0,path:r.path};this.seen.set(e,a);let c=e._zod.toJSONSchema?.();if(c)a.schema=c;else{let d={...r,schemaPath:[...r.schemaPath,e],path:r.path},f=e._zod.parent;if(f)a.ref=f,this.process(f,d),this.seen.get(f).isParent=!0;else{let h=a.schema;switch(o.type){case"string":{let p=h;p.type="string";let{minimum:m,maximum:g,format:_,patterns:y,contentEncoding:w}=e._zod.bag;if(typeof m=="number"&&(p.minLength=m),typeof g=="number"&&(p.maxLength=g),_&&(p.format=s[_]??_,p.format===""&&delete p.format),w&&(p.contentEncoding=w),y&&y.size>0){let z=[...y];z.length===1?p.pattern=z[0].source:z.length>1&&(a.schema.allOf=[...z.map(j=>({...this.target==="draft-7"?{type:"string"}:{},pattern:j.source}))])}break}case"number":{let p=h,{minimum:m,maximum:g,format:_,multipleOf:y,exclusiveMaximum:w,exclusiveMinimum:z}=e._zod.bag;typeof _=="string"&&_.includes("int")?p.type="integer":p.type="number",typeof z=="number"&&(p.exclusiveMinimum=z),typeof m=="number"&&(p.minimum=m,typeof z=="number"&&(z>=m?delete p.minimum:delete p.exclusiveMinimum)),typeof w=="number"&&(p.exclusiveMaximum=w),typeof g=="number"&&(p.maximum=g,typeof w=="number"&&(w<=g?delete p.maximum:delete p.exclusiveMaximum)),typeof y=="number"&&(p.multipleOf=y);break}case"boolean":{let p=h;p.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema");break}case"null":{h.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema");break}case"never":{h.not={};break}case"date":{if(this.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema");break}case"array":{let p=h,{minimum:m,maximum:g}=e._zod.bag;typeof m=="number"&&(p.minItems=m),typeof g=="number"&&(p.maxItems=g),p.type="array",p.items=this.process(o.element,{...d,path:[...d.path,"items"]});break}case"object":{let p=h;p.type="object",p.properties={};let m=o.shape;for(let y in m)p.properties[y]=this.process(m[y],{...d,path:[...d.path,"properties",y]});let g=new Set(Object.keys(m)),_=new Set([...g].filter(y=>{let w=o.shape[y]._zod;return this.io==="input"?w.optin===void 0:w.optout===void 0}));_.size>0&&(p.required=Array.from(_)),o.catchall?._zod.def.type==="never"?p.additionalProperties=!1:o.catchall?o.catchall&&(p.additionalProperties=this.process(o.catchall,{...d,path:[...d.path,"additionalProperties"]})):this.io==="output"&&(p.additionalProperties=!1);break}case"union":{let p=h;p.anyOf=o.options.map((m,g)=>this.process(m,{...d,path:[...d.path,"anyOf",g]}));break}case"intersection":{let p=h,m=this.process(o.left,{...d,path:[...d.path,"allOf",0]}),g=this.process(o.right,{...d,path:[...d.path,"allOf",1]}),_=w=>"allOf"in w&&Object.keys(w).length===1,y=[..._(m)?m.allOf:[m],..._(g)?g.allOf:[g]];p.allOf=y;break}case"tuple":{let p=h;p.type="array";let m=o.items.map((y,w)=>this.process(y,{...d,path:[...d.path,"prefixItems",w]}));if(this.target==="draft-2020-12"?p.prefixItems=m:p.items=m,o.rest){let y=this.process(o.rest,{...d,path:[...d.path,"items"]});this.target==="draft-2020-12"?p.items=y:p.additionalItems=y}o.rest&&(p.items=this.process(o.rest,{...d,path:[...d.path,"items"]}));let{minimum:g,maximum:_}=e._zod.bag;typeof g=="number"&&(p.minItems=g),typeof _=="number"&&(p.maxItems=_);break}case"record":{let p=h;p.type="object",p.propertyNames=this.process(o.keyType,{...d,path:[...d.path,"propertyNames"]}),p.additionalProperties=this.process(o.valueType,{...d,path:[...d.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema");break}case"enum":{let p=h,m=no(o.entries);m.every(g=>typeof g=="number")&&(p.type="number"),m.every(g=>typeof g=="string")&&(p.type="string"),p.enum=m;break}case"literal":{let p=h,m=[];for(let g of o.values)if(g===void 0){if(this.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof g=="bigint"){if(this.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");m.push(Number(g))}else m.push(g);if(m.length!==0)if(m.length===1){let g=m[0];p.type=g===null?"null":typeof g,p.const=g}else m.every(g=>typeof g=="number")&&(p.type="number"),m.every(g=>typeof g=="string")&&(p.type="string"),m.every(g=>typeof g=="boolean")&&(p.type="string"),m.every(g=>g===null)&&(p.type="null"),p.enum=m;break}case"file":{let p=h,m={type:"string",format:"binary",contentEncoding:"binary"},{minimum:g,maximum:_,mime:y}=e._zod.bag;g!==void 0&&(m.minLength=g),_!==void 0&&(m.maxLength=_),y?y.length===1?(m.contentMediaType=y[0],Object.assign(p,m)):p.anyOf=y.map(w=>({...m,contentMediaType:w})):Object.assign(p,m);break}case"transform":{if(this.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let p=this.process(o.innerType,d);h.anyOf=[p,{type:"null"}];break}case"nonoptional":{this.process(o.innerType,d),a.ref=o.innerType;break}case"success":{let p=h;p.type="boolean";break}case"default":{this.process(o.innerType,d),a.ref=o.innerType,h.default=JSON.parse(JSON.stringify(o.defaultValue));break}case"prefault":{this.process(o.innerType,d),a.ref=o.innerType,this.io==="input"&&(h._prefault=JSON.parse(JSON.stringify(o.defaultValue)));break}case"catch":{this.process(o.innerType,d),a.ref=o.innerType;let p;try{p=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}h.default=p;break}case"nan":{if(this.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let p=h,m=e._zod.pattern;if(!m)throw new Error("Pattern not found in template literal");p.type="string",p.pattern=m.source;break}case"pipe":{let p=this.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;this.process(p,d),a.ref=p;break}case"readonly":{this.process(o.innerType,d),a.ref=o.innerType,h.readOnly=!0;break}case"promise":{this.process(o.innerType,d),a.ref=o.innerType;break}case"optional":{this.process(o.innerType,d),a.ref=o.innerType;break}case"lazy":{let p=e._zod.innerType;this.process(p,d),a.ref=p;break}case"custom":{if(this.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema");break}default:}}}let u=this.metadataRegistry.get(e);return u&&Object.assign(a.schema,u),this.io==="input"&&Re(e)&&(delete a.schema.examples,delete a.schema.default),this.io==="input"&&a.schema._prefault&&((n=a.schema).default??(n.default=a.schema._prefault)),delete a.schema._prefault,this.seen.get(e).schema}emit(e,r){let n={cycles:r?.cycles??"ref",reused:r?.reused??"inline",external:r?.external??void 0},o=this.seen.get(e);if(!o)throw new Error("Unprocessed schema. This is a bug in Zod.");let s=l=>{let d=this.target==="draft-2020-12"?"$defs":"definitions";if(n.external){let m=n.external.registry.get(l[0])?.id,g=n.external.uri??(y=>y);if(m)return{ref:g(m)};let _=l[1].defId??l[1].schema.id??`schema${this.counter++}`;return l[1].defId=_,{defId:_,ref:`${g("__shared")}#/${d}/${_}`}}if(l[1]===o)return{ref:"#"};let h=`#/${d}/`,p=l[1].schema.id??`__schema${this.counter++}`;return{defId:p,ref:h+p}},i=l=>{if(l[1].schema.$ref)return;let d=l[1],{ref:f,defId:h}=s(l);d.def={...d.schema},h&&(d.defId=h);let p=d.schema;for(let m in p)delete p[m];p.$ref=f};if(n.cycles==="throw")for(let l of this.seen.entries()){let d=l[1];if(d.cycle)throw new Error(`Cycle detected: #/${d.cycle?.join("/")}/<root>
36
36
 
37
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let l of this.seen.entries()){let d=l[1];if(e===l[0]){i(l);continue}if(n.external){let f=n.external.registry.get(l[0])?.id;if(e!==l[0]&&f){i(l);continue}}if(this.metadataRegistry.get(l[0])?.id){i(l);continue}if(d.cycle){i(l);continue}if(d.count>1&&n.reused==="ref"){i(l);continue}}let a=(l,d)=>{let p=this.seen.get(l),f=p.def??p.schema,m={...f};if(p.ref===null)return;let h=p.ref;if(p.ref=null,h){a(h,d);let g=this.seen.get(h).schema;g.$ref&&d.target==="draft-7"?(f.allOf=f.allOf??[],f.allOf.push(g)):(Object.assign(f,g),Object.assign(f,m))}p.isParent||this.override({zodSchema:l,jsonSchema:f,path:p.path??[]})};for(let l of[...this.seen.entries()].reverse())a(l[0],{target:this.target});let c={};if(this.target==="draft-2020-12"?c.$schema="https://json-schema.org/draft/2020-12/schema":this.target==="draft-7"?c.$schema="http://json-schema.org/draft-07/schema#":console.warn(`Invalid target: ${this.target}`),n.external?.uri){let l=n.external.registry.get(e)?.id;if(!l)throw new Error("Schema is missing an `id` property");c.$id=n.external.uri(l)}Object.assign(c,o.def);let u=n.external?.defs??{};for(let l of this.seen.entries()){let d=l[1];d.def&&d.defId&&(u[d.defId]=d.def)}n.external||Object.keys(u).length>0&&(this.target==="draft-2020-12"?c.$defs=u:c.definitions=u);try{return JSON.parse(JSON.stringify(c))}catch{throw new Error("Error converting schema to JSON.")}}};function ku(t,e){if(t instanceof lo){let n=new Zs(e),o={};for(let a of t._idmap.entries()){let[c,u]=a;n.process(u)}let s={},i={registry:t,uri:e?.uri,defs:o};for(let a of t._idmap.entries()){let[c,u]=a;s[c]=n.emit(u,{...e,external:i})}if(Object.keys(o).length>0){let a=n.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[a]:o}}return{schemas:s}}let r=new Zs(e);return r.process(t),r.emit(t,e)}function ke(t,e){let r=e??{seen:new Set};if(r.seen.has(t))return!1;r.seen.add(t);let o=t._zod.def;switch(o.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return ke(o.element,r);case"object":{for(let s in o.shape)if(ke(o.shape[s],r))return!0;return!1}case"union":{for(let s of o.options)if(ke(s,r))return!0;return!1}case"intersection":return ke(o.left,r)||ke(o.right,r);case"tuple":{for(let s of o.items)if(ke(s,r))return!0;return!!(o.rest&&ke(o.rest,r))}case"record":return ke(o.keyType,r)||ke(o.valueType,r);case"map":return ke(o.keyType,r)||ke(o.valueType,r);case"set":return ke(o.valueType,r);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return ke(o.innerType,r);case"lazy":return ke(o.getter(),r);case"default":return ke(o.innerType,r);case"prefault":return ke(o.innerType,r);case"custom":return!1;case"transform":return!0;case"pipe":return ke(o.in,r)||ke(o.out,r);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${o.type}`)}var y$=b("ZodMiniType",(t,e)=>{if(!t._zod)throw new Error("Uninitialized schema in ZodMiniType.");ce.init(t,e),t.def=e,t.parse=(r,n)=>Ua(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>Cr(t,r,n),t.parseAsync=async(r,n)=>Ba(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>jr(t,r,n),t.check=(...r)=>t.clone({...e,checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),t.clone=(r,n)=>nt(t,r,n),t.brand=()=>t,t.register=(r,n)=>(r.add(t,n),t)});var _$=b("ZodMiniObject",(t,e)=>{Ps.init(t,e),y$.init(t,e),Q.defineLazy(t,"shape",()=>e.shape)});function Ru(t,e){let r={type:"object",get shape(){return Q.assignProp(this,"shape",{...t}),this.shape},...Q.normalizeParams(e)};return new _$(r)}function lt(t){return!!t._zod}function Dr(t){let e=Object.values(t);if(e.length===0)return Ru({});let r=e.every(lt),n=e.every(o=>!lt(o));if(r)return Ru(t);if(n)return Ea(t);throw new Error("Mixed Zod versions detected in object shape.")}function rr(t,e){return lt(t)?Cr(t,e):t.safeParse(e)}async function Ds(t,e){return lt(t)?await jr(t,e):await t.safeParseAsync(e)}function nr(t){if(!t)return;let e;if(lt(t)?e=t._zod?.def?.shape:e=t.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function yn(t){if(t){if(typeof t=="object"){let e=t,r=t;if(!e._def&&!r._zod){let n=Object.values(t);if(n.length>0&&n.every(o=>typeof o=="object"&&o!==null&&(o._def!==void 0||o._zod!==void 0||typeof o.parse=="function")))return Dr(t)}}if(lt(t)){let r=t._zod?.def;if(r&&(r.type==="object"||r.shape!==void 0))return t}else if(t.shape!==void 0)return t}}function qs(t){if(t&&typeof t=="object"){if("message"in t&&typeof t.message=="string")return t.message;if("issues"in t&&Array.isArray(t.issues)&&t.issues.length>0){let e=t.issues[0];if(e&&typeof e=="object"&&"message"in e)return String(e.message)}try{return JSON.stringify(t)}catch{return String(t)}}return String(t)}function ym(t){return t.description}function _m(t){if(lt(t))return t._zod?.def?.type==="optional";let e=t;return typeof t.isOptional=="function"?t.isOptional():e._def?.typeName==="ZodOptional"}function Vs(t){if(lt(t)){let s=t._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=t._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=t.value;if(n!==void 0)return n}var mo={};ka(mo,{ZodISODate:()=>bm,ZodISODateTime:()=>vm,ZodISODuration:()=>$m,ZodISOTime:()=>wm,date:()=>Tu,datetime:()=>zu,duration:()=>Pu,time:()=>Eu});var vm=b("ZodISODateTime",(t,e)=>{om.init(t,e),_e.init(t,e)});function zu(t){return dm(vm,t)}var bm=b("ZodISODate",(t,e)=>{sm.init(t,e),_e.init(t,e)});function Tu(t){return pm(bm,t)}var wm=b("ZodISOTime",(t,e)=>{im.init(t,e),_e.init(t,e)});function Eu(t){return fm(wm,t)}var $m=b("ZodISODuration",(t,e)=>{am.init(t,e),_e.init(t,e)});function Pu(t){return mm($m,t)}var xm=(t,e)=>{ks.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>Va(t,r)},flatten:{value:r=>qa(t,r)},addIssue:{value:r=>t.issues.push(r)},addIssues:{value:r=>t.issues.push(...r)},isEmpty:{get(){return t.issues.length===0}}})},HN=b("ZodError",xm),ho=b("ZodError",xm,{Parent:Error});var Sm=La(ho),km=Fa(ho),Rm=Ha(ho),zm=Ga(ho);var $e=b("ZodType",(t,e)=>(ce.init(t,e),t.def=e,Object.defineProperty(t,"_def",{value:e}),t.check=(...r)=>t.clone({...e,checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),t.clone=(r,n)=>nt(t,r,n),t.brand=()=>t,t.register=(r,n)=>(r.add(t,n),t),t.parse=(r,n)=>Sm(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>Rm(t,r,n),t.parseAsync=async(r,n)=>km(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>zm(t,r,n),t.spa=t.safeParseAsync,t.refine=(r,n)=>t.check(hx(r,n)),t.superRefine=r=>t.check(gx(r)),t.overwrite=r=>t.check(Mr(r)),t.optional=()=>be(t),t.nullable=()=>Pm(t),t.nullish=()=>be(Pm(t)),t.nonoptional=r=>cx(t,r),t.array=()=>ee(t),t.or=r=>he([t,r]),t.and=r=>Us(t,r),t.transform=r=>Ou(t,jm(r)),t.default=r=>sx(t,r),t.prefault=r=>ax(t,r),t.catch=r=>lx(t,r),t.pipe=r=>Ou(t,r),t.readonly=()=>fx(t),t.describe=r=>{let n=t.clone();return tr.add(n,{description:r}),n},Object.defineProperty(t,"description",{get(){return tr.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return tr.get(t);let n=t.clone();return tr.add(n,r[0]),n},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t)),Im=b("_ZodString",(t,e)=>{uo.init(t,e),$e.init(t,e);let r=t._zod.bag;t.format=r.format??null,t.minLength=r.minimum??null,t.maxLength=r.maximum??null,t.regex=(...n)=>t.check(fu(...n)),t.includes=(...n)=>t.check(gu(...n)),t.startsWith=(...n)=>t.check(yu(...n)),t.endsWith=(...n)=>t.check(_u(...n)),t.min=(...n)=>t.check(gn(...n)),t.max=(...n)=>t.check(js(...n)),t.length=(...n)=>t.check(Ms(...n)),t.nonempty=(...n)=>t.check(gn(1,...n)),t.lowercase=n=>t.check(mu(n)),t.uppercase=n=>t.check(hu(n)),t.trim=()=>t.check(bu()),t.normalize=(...n)=>t.check(vu(...n)),t.toLowerCase=()=>t.check(wu()),t.toUpperCase=()=>t.check($u())}),z$=b("ZodString",(t,e)=>{uo.init(t,e),Im.init(t,e),t.email=r=>t.check(qc(T$,r)),t.url=r=>t.check(Bc(E$,r)),t.jwt=r=>t.check(iu(F$,r)),t.emoji=r=>t.check(Hc(P$,r)),t.guid=r=>t.check(Os(Tm,r)),t.uuid=r=>t.check(Vc(Ls,r)),t.uuidv4=r=>t.check(Lc(Ls,r)),t.uuidv6=r=>t.check(Uc(Ls,r)),t.uuidv7=r=>t.check(Fc(Ls,r)),t.nanoid=r=>t.check(Gc(I$,r)),t.guid=r=>t.check(Os(Tm,r)),t.cuid=r=>t.check(Jc(O$,r)),t.cuid2=r=>t.check(Kc(N$,r)),t.ulid=r=>t.check(Wc(A$,r)),t.base64=r=>t.check(nu(V$,r)),t.base64url=r=>t.check(ou(L$,r)),t.xid=r=>t.check(Yc(C$,r)),t.ksuid=r=>t.check(Xc(j$,r)),t.ipv4=r=>t.check(Qc(M$,r)),t.ipv6=r=>t.check(eu(Z$,r)),t.cidrv4=r=>t.check(tu(D$,r)),t.cidrv6=r=>t.check(ru(q$,r)),t.e164=r=>t.check(su(U$,r)),t.datetime=r=>t.check(zu(r)),t.date=r=>t.check(Tu(r)),t.time=r=>t.check(Eu(r)),t.duration=r=>t.check(Pu(r))});function _(t){return Dc(z$,t)}var _e=b("ZodStringFormat",(t,e)=>{pe.init(t,e),Im.init(t,e)}),T$=b("ZodEmail",(t,e)=>{tc.init(t,e),_e.init(t,e)});var Tm=b("ZodGUID",(t,e)=>{Qa.init(t,e),_e.init(t,e)});var Ls=b("ZodUUID",(t,e)=>{ec.init(t,e),_e.init(t,e)});var E$=b("ZodURL",(t,e)=>{rc.init(t,e),_e.init(t,e)});var P$=b("ZodEmoji",(t,e)=>{nc.init(t,e),_e.init(t,e)});var I$=b("ZodNanoID",(t,e)=>{oc.init(t,e),_e.init(t,e)});var O$=b("ZodCUID",(t,e)=>{sc.init(t,e),_e.init(t,e)});var N$=b("ZodCUID2",(t,e)=>{ic.init(t,e),_e.init(t,e)});var A$=b("ZodULID",(t,e)=>{ac.init(t,e),_e.init(t,e)});var C$=b("ZodXID",(t,e)=>{cc.init(t,e),_e.init(t,e)});var j$=b("ZodKSUID",(t,e)=>{uc.init(t,e),_e.init(t,e)});var M$=b("ZodIPv4",(t,e)=>{lc.init(t,e),_e.init(t,e)});var Z$=b("ZodIPv6",(t,e)=>{dc.init(t,e),_e.init(t,e)});var D$=b("ZodCIDRv4",(t,e)=>{pc.init(t,e),_e.init(t,e)});var q$=b("ZodCIDRv6",(t,e)=>{fc.init(t,e),_e.init(t,e)});var V$=b("ZodBase64",(t,e)=>{mc.init(t,e),_e.init(t,e)});var L$=b("ZodBase64URL",(t,e)=>{hc.init(t,e),_e.init(t,e)});var U$=b("ZodE164",(t,e)=>{gc.init(t,e),_e.init(t,e)});var F$=b("ZodJWT",(t,e)=>{yc.init(t,e),_e.init(t,e)});var Om=b("ZodNumber",(t,e)=>{Es.init(t,e),$e.init(t,e),t.gt=(n,o)=>t.check(As(n,o)),t.gte=(n,o)=>t.check(fo(n,o)),t.min=(n,o)=>t.check(fo(n,o)),t.lt=(n,o)=>t.check(Ns(n,o)),t.lte=(n,o)=>t.check(po(n,o)),t.max=(n,o)=>t.check(po(n,o)),t.int=n=>t.check(Em(n)),t.safe=n=>t.check(Em(n)),t.positive=n=>t.check(As(0,n)),t.nonnegative=n=>t.check(fo(0,n)),t.negative=n=>t.check(Ns(0,n)),t.nonpositive=n=>t.check(po(0,n)),t.multipleOf=(n,o)=>t.check(Cs(n,o)),t.step=(n,o)=>t.check(Cs(n,o)),t.finite=()=>t;let r=t._zod.bag;t.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),t.isFinite=!0,t.format=r.format??null});function ae(t){return au(Om,t)}var B$=b("ZodNumberFormat",(t,e)=>{_c.init(t,e),Om.init(t,e)});function Em(t){return cu(B$,t)}var H$=b("ZodBoolean",(t,e)=>{vc.init(t,e),$e.init(t,e)});function Te(t){return uu(H$,t)}var G$=b("ZodNull",(t,e)=>{bc.init(t,e),$e.init(t,e)});function Nm(t){return lu(G$,t)}var J$=b("ZodUnknown",(t,e)=>{wc.init(t,e),$e.init(t,e)});function ve(){return du(J$)}var K$=b("ZodNever",(t,e)=>{$c.init(t,e),$e.init(t,e)});function W$(t){return pu(K$,t)}var Y$=b("ZodArray",(t,e)=>{xc.init(t,e),$e.init(t,e),t.element=e.element,t.min=(r,n)=>t.check(gn(r,n)),t.nonempty=r=>t.check(gn(1,r)),t.max=(r,n)=>t.check(js(r,n)),t.length=(r,n)=>t.check(Ms(r,n)),t.unwrap=()=>t.element});function ee(t,e){return hm(Y$,t,e)}var Am=b("ZodObject",(t,e)=>{Ps.init(t,e),$e.init(t,e),Q.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>We(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:ve()}),t.loose=()=>t.clone({...t._zod.def,catchall:ve()}),t.strict=()=>t.clone({...t._zod.def,catchall:W$()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>Q.extend(t,r),t.merge=r=>Q.merge(t,r),t.pick=r=>Q.pick(t,r),t.omit=r=>Q.omit(t,r),t.partial=(...r)=>Q.partial(Mm,t,r[0]),t.required=(...r)=>Q.required(Zm,t,r[0])});function I(t,e){let r={type:"object",get shape(){return Q.assignProp(this,"shape",{...t}),this.shape},...Q.normalizeParams(e)};return new Am(r)}function Le(t,e){return new Am({type:"object",get shape(){return Q.assignProp(this,"shape",{...t}),this.shape},catchall:ve(),...Q.normalizeParams(e)})}var Cm=b("ZodUnion",(t,e)=>{Is.init(t,e),$e.init(t,e),t.options=e.options});function he(t,e){return new Cm({type:"union",options:t,...Q.normalizeParams(e)})}var X$=b("ZodDiscriminatedUnion",(t,e)=>{Cm.init(t,e),Sc.init(t,e)});function Nu(t,e,r){return new X$({type:"union",options:e,discriminator:t,...Q.normalizeParams(r)})}var Q$=b("ZodIntersection",(t,e)=>{kc.init(t,e),$e.init(t,e)});function Us(t,e){return new Q$({type:"intersection",left:t,right:e})}var ex=b("ZodRecord",(t,e)=>{Rc.init(t,e),$e.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});function fe(t,e,r){return new ex({type:"record",keyType:t,valueType:e,...Q.normalizeParams(r)})}var Iu=b("ZodEnum",(t,e)=>{zc.init(t,e),$e.init(t,e),t.enum=e.entries,t.options=Object.values(e.entries);let r=new Set(Object.keys(e.entries));t.extract=(n,o)=>{let s={};for(let i of n)if(r.has(i))s[i]=e.entries[i];else throw new Error(`Key ${i} not found in enum`);return new Iu({...e,checks:[],...Q.normalizeParams(o),entries:s})},t.exclude=(n,o)=>{let s={...e.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 Iu({...e,checks:[],...Q.normalizeParams(o),entries:s})}});function We(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new Iu({type:"enum",entries:r,...Q.normalizeParams(e)})}var tx=b("ZodLiteral",(t,e)=>{Tc.init(t,e),$e.init(t,e),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function A(t,e){return new tx({type:"literal",values:Array.isArray(t)?t:[t],...Q.normalizeParams(e)})}var rx=b("ZodTransform",(t,e)=>{Ec.init(t,e),$e.init(t,e),t._zod.parse=(r,n)=>{r.addIssue=s=>{if(typeof s=="string")r.issues.push(Q.issue(s,r.value,e));else{let i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=t),i.continue??(i.continue=!0),r.issues.push(Q.issue(i))}};let o=e.transform(r.value,r);return o instanceof Promise?o.then(s=>(r.value=s,r)):(r.value=o,r)}});function jm(t){return new rx({type:"transform",transform:t})}var Mm=b("ZodOptional",(t,e)=>{Pc.init(t,e),$e.init(t,e),t.unwrap=()=>t._zod.def.innerType});function be(t){return new Mm({type:"optional",innerType:t})}var nx=b("ZodNullable",(t,e)=>{Ic.init(t,e),$e.init(t,e),t.unwrap=()=>t._zod.def.innerType});function Pm(t){return new nx({type:"nullable",innerType:t})}var ox=b("ZodDefault",(t,e)=>{Oc.init(t,e),$e.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function sx(t,e){return new ox({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var ix=b("ZodPrefault",(t,e)=>{Nc.init(t,e),$e.init(t,e),t.unwrap=()=>t._zod.def.innerType});function ax(t,e){return new ix({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var Zm=b("ZodNonOptional",(t,e)=>{Ac.init(t,e),$e.init(t,e),t.unwrap=()=>t._zod.def.innerType});function cx(t,e){return new Zm({type:"nonoptional",innerType:t,...Q.normalizeParams(e)})}var ux=b("ZodCatch",(t,e)=>{Cc.init(t,e),$e.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function lx(t,e){return new ux({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var dx=b("ZodPipe",(t,e)=>{jc.init(t,e),$e.init(t,e),t.in=e.in,t.out=e.out});function Ou(t,e){return new dx({type:"pipe",in:t,out:e})}var px=b("ZodReadonly",(t,e)=>{Mc.init(t,e),$e.init(t,e)});function fx(t){return new px({type:"readonly",innerType:t})}var Dm=b("ZodCustom",(t,e)=>{Zc.init(t,e),$e.init(t,e)});function mx(t){let e=new Oe({check:"custom"});return e._zod.check=t,e}function qm(t,e){return xu(Dm,t??(()=>!0),e)}function hx(t,e={}){return Su(Dm,t,e)}function gx(t){let e=mx(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(Q.issue(n,r.value,e._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=e),o.continue??(o.continue=!e._zod.def.abort),r.issues.push(Q.issue(o))}},t(r.value,r)));return e}function Au(t,e){return Ou(jm(t),e)}rt(um());var ju="2025-11-25",Vm="2025-03-26",vn=[ju,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],or="io.modelcontextprotocol/related-task",Bs="2.0",Re=qm(t=>t!==null&&(typeof t=="object"||typeof t=="function")),Lm=he([_(),ae().int()]),Um=_(),iA=Le({ttl:ae().optional(),pollInterval:ae().optional()}),yx=I({ttl:ae().optional()}),_x=I({taskId:_()}),Mu=Le({progressToken:Lm.optional(),[or]:_x.optional()}),ot=I({_meta:Mu.optional()}),go=ot.extend({task:yx.optional()}),Fm=t=>go.safeParse(t).success,Ne=I({method:_(),params:ot.loose().optional()}),dt=I({_meta:Mu.optional()}),pt=I({method:_(),params:dt.loose().optional()}),Ae=Le({_meta:Mu.optional()}),Hs=he([_(),ae().int()]),Bm=I({jsonrpc:A(Bs),id:Hs,...Ne.shape}).strict(),sr=t=>Bm.safeParse(t).success,Hm=I({jsonrpc:A(Bs),...pt.shape}).strict(),Gm=t=>Hm.safeParse(t).success,Zu=I({jsonrpc:A(Bs),id:Hs,result:Ae}).strict(),Ft=t=>Zu.safeParse(t).success;var j;(function(t){t[t.ConnectionClosed=-32e3]="ConnectionClosed",t[t.RequestTimeout=-32001]="RequestTimeout",t[t.ParseError=-32700]="ParseError",t[t.InvalidRequest=-32600]="InvalidRequest",t[t.MethodNotFound=-32601]="MethodNotFound",t[t.InvalidParams=-32602]="InvalidParams",t[t.InternalError=-32603]="InternalError",t[t.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(j||(j={}));var Du=I({jsonrpc:A(Bs),id:Hs.optional(),error:I({code:ae().int(),message:_(),data:ve().optional()})}).strict();var bn=t=>Du.safeParse(t).success;var yo=he([Bm,Hm,Zu,Du]),aA=he([Zu,Du]),Gs=Ae.strict(),vx=dt.extend({requestId:Hs.optional(),reason:_().optional()}),Js=pt.extend({method:A("notifications/cancelled"),params:vx}),bx=I({src:_(),mimeType:_().optional(),sizes:ee(_()).optional(),theme:We(["light","dark"]).optional()}),_o=I({icons:ee(bx).optional()}),_n=I({name:_(),title:_().optional()}),Jm=_n.extend({..._n.shape,..._o.shape,version:_(),websiteUrl:_().optional(),description:_().optional()}),wx=Us(I({applyDefaults:Te().optional()}),fe(_(),ve())),$x=Au(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,Us(I({form:wx.optional(),url:Re.optional()}),fe(_(),ve()).optional())),xx=Le({list:Re.optional(),cancel:Re.optional(),requests:Le({sampling:Le({createMessage:Re.optional()}).optional(),elicitation:Le({create:Re.optional()}).optional()}).optional()}),Sx=Le({list:Re.optional(),cancel:Re.optional(),requests:Le({tools:Le({call:Re.optional()}).optional()}).optional()}),kx=I({experimental:fe(_(),Re).optional(),sampling:I({context:Re.optional(),tools:Re.optional()}).optional(),elicitation:$x.optional(),roots:I({listChanged:Te().optional()}).optional(),tasks:xx.optional(),extensions:fe(_(),Re).optional()}),Rx=ot.extend({protocolVersion:_(),capabilities:kx,clientInfo:Jm}),Ks=Ne.extend({method:A("initialize"),params:Rx}),vo=t=>Ks.safeParse(t).success,zx=I({experimental:fe(_(),Re).optional(),logging:Re.optional(),completions:Re.optional(),prompts:I({listChanged:Te().optional()}).optional(),resources:I({subscribe:Te().optional(),listChanged:Te().optional()}).optional(),tools:I({listChanged:Te().optional()}).optional(),tasks:Sx.optional(),extensions:fe(_(),Re).optional()}),Tx=Ae.extend({protocolVersion:_(),capabilities:zx,serverInfo:Jm,instructions:_().optional()}),qu=pt.extend({method:A("notifications/initialized"),params:dt.optional()});var Ws=Ne.extend({method:A("ping"),params:ot.optional()}),Ex=I({progress:ae(),total:be(ae()),message:be(_())}),Px=I({...dt.shape,...Ex.shape,progressToken:Lm}),Ys=pt.extend({method:A("notifications/progress"),params:Px}),Ix=ot.extend({cursor:Um.optional()}),bo=Ne.extend({params:Ix.optional()}),wo=Ae.extend({nextCursor:Um.optional()}),Ox=We(["working","input_required","completed","failed","cancelled"]),$o=I({taskId:_(),status:Ox,ttl:he([ae(),Nm()]),createdAt:_(),lastUpdatedAt:_(),pollInterval:be(ae()),statusMessage:be(_())}),wn=Ae.extend({task:$o}),Nx=dt.merge($o),xo=pt.extend({method:A("notifications/tasks/status"),params:Nx}),Xs=Ne.extend({method:A("tasks/get"),params:ot.extend({taskId:_()})}),Qs=Ae.merge($o),ei=Ne.extend({method:A("tasks/result"),params:ot.extend({taskId:_()})}),cA=Ae.loose(),ti=bo.extend({method:A("tasks/list")}),ri=wo.extend({tasks:ee($o)}),ni=Ne.extend({method:A("tasks/cancel"),params:ot.extend({taskId:_()})}),Km=Ae.merge($o),Wm=I({uri:_(),mimeType:be(_()),_meta:fe(_(),ve()).optional()}),Ym=Wm.extend({text:_()}),Vu=_().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),Xm=Wm.extend({blob:Vu}),So=We(["user","assistant"]),$n=I({audience:ee(So).optional(),priority:ae().min(0).max(1).optional(),lastModified:mo.datetime({offset:!0}).optional()}),Qm=I({..._n.shape,..._o.shape,uri:_(),description:be(_()),mimeType:be(_()),size:be(ae()),annotations:$n.optional(),_meta:be(Le({}))}),Ax=I({..._n.shape,..._o.shape,uriTemplate:_(),description:be(_()),mimeType:be(_()),annotations:$n.optional(),_meta:be(Le({}))}),oi=bo.extend({method:A("resources/list")}),Cx=wo.extend({resources:ee(Qm)}),si=bo.extend({method:A("resources/templates/list")}),jx=wo.extend({resourceTemplates:ee(Ax)}),Lu=ot.extend({uri:_()}),Mx=Lu,ii=Ne.extend({method:A("resources/read"),params:Mx}),Zx=Ae.extend({contents:ee(he([Ym,Xm]))}),Dx=pt.extend({method:A("notifications/resources/list_changed"),params:dt.optional()}),qx=Lu,Vx=Ne.extend({method:A("resources/subscribe"),params:qx}),Lx=Lu,Ux=Ne.extend({method:A("resources/unsubscribe"),params:Lx}),Fx=dt.extend({uri:_()}),Bx=pt.extend({method:A("notifications/resources/updated"),params:Fx}),Hx=I({name:_(),description:be(_()),required:be(Te())}),Gx=I({..._n.shape,..._o.shape,description:be(_()),arguments:be(ee(Hx)),_meta:be(Le({}))}),ai=bo.extend({method:A("prompts/list")}),Jx=wo.extend({prompts:ee(Gx)}),Kx=ot.extend({name:_(),arguments:fe(_(),_()).optional()}),ci=Ne.extend({method:A("prompts/get"),params:Kx}),Uu=I({type:A("text"),text:_(),annotations:$n.optional(),_meta:fe(_(),ve()).optional()}),Fu=I({type:A("image"),data:Vu,mimeType:_(),annotations:$n.optional(),_meta:fe(_(),ve()).optional()}),Bu=I({type:A("audio"),data:Vu,mimeType:_(),annotations:$n.optional(),_meta:fe(_(),ve()).optional()}),Wx=I({type:A("tool_use"),name:_(),id:_(),input:fe(_(),ve()),_meta:fe(_(),ve()).optional()}),Yx=I({type:A("resource"),resource:he([Ym,Xm]),annotations:$n.optional(),_meta:fe(_(),ve()).optional()}),Xx=Qm.extend({type:A("resource_link")}),Hu=he([Uu,Fu,Bu,Xx,Yx]),Qx=I({role:So,content:Hu}),e0=Ae.extend({description:_().optional(),messages:ee(Qx)}),t0=pt.extend({method:A("notifications/prompts/list_changed"),params:dt.optional()}),r0=I({title:_().optional(),readOnlyHint:Te().optional(),destructiveHint:Te().optional(),idempotentHint:Te().optional(),openWorldHint:Te().optional()}),n0=I({taskSupport:We(["required","optional","forbidden"]).optional()}),eh=I({..._n.shape,..._o.shape,description:_().optional(),inputSchema:I({type:A("object"),properties:fe(_(),Re).optional(),required:ee(_()).optional()}).catchall(ve()),outputSchema:I({type:A("object"),properties:fe(_(),Re).optional(),required:ee(_()).optional()}).catchall(ve()).optional(),annotations:r0.optional(),execution:n0.optional(),_meta:fe(_(),ve()).optional()}),ui=bo.extend({method:A("tools/list")}),o0=wo.extend({tools:ee(eh)}),li=Ae.extend({content:ee(Hu).default([]),structuredContent:fe(_(),ve()).optional(),isError:Te().optional()}),uA=li.or(Ae.extend({toolResult:ve()})),s0=go.extend({name:_(),arguments:fe(_(),ve()).optional()}),xn=Ne.extend({method:A("tools/call"),params:s0}),i0=pt.extend({method:A("notifications/tools/list_changed"),params:dt.optional()}),lA=I({autoRefresh:Te().default(!0),debounceMs:ae().int().nonnegative().default(300)}),ko=We(["debug","info","notice","warning","error","critical","alert","emergency"]),a0=ot.extend({level:ko}),Gu=Ne.extend({method:A("logging/setLevel"),params:a0}),c0=dt.extend({level:ko,logger:_().optional(),data:ve()}),u0=pt.extend({method:A("notifications/message"),params:c0}),l0=I({name:_().optional()}),d0=I({hints:ee(l0).optional(),costPriority:ae().min(0).max(1).optional(),speedPriority:ae().min(0).max(1).optional(),intelligencePriority:ae().min(0).max(1).optional()}),p0=I({mode:We(["auto","required","none"]).optional()}),f0=I({type:A("tool_result"),toolUseId:_().describe("The unique identifier for the corresponding tool call."),content:ee(Hu).default([]),structuredContent:I({}).loose().optional(),isError:Te().optional(),_meta:fe(_(),ve()).optional()}),m0=Nu("type",[Uu,Fu,Bu]),Fs=Nu("type",[Uu,Fu,Bu,Wx,f0]),h0=I({role:So,content:he([Fs,ee(Fs)]),_meta:fe(_(),ve()).optional()}),g0=go.extend({messages:ee(h0),modelPreferences:d0.optional(),systemPrompt:_().optional(),includeContext:We(["none","thisServer","allServers"]).optional(),temperature:ae().optional(),maxTokens:ae().int(),stopSequences:ee(_()).optional(),metadata:Re.optional(),tools:ee(eh).optional(),toolChoice:p0.optional()}),y0=Ne.extend({method:A("sampling/createMessage"),params:g0}),Ro=Ae.extend({model:_(),stopReason:be(We(["endTurn","stopSequence","maxTokens"]).or(_())),role:So,content:m0}),Ju=Ae.extend({model:_(),stopReason:be(We(["endTurn","stopSequence","maxTokens","toolUse"]).or(_())),role:So,content:he([Fs,ee(Fs)])}),_0=I({type:A("boolean"),title:_().optional(),description:_().optional(),default:Te().optional()}),v0=I({type:A("string"),title:_().optional(),description:_().optional(),minLength:ae().optional(),maxLength:ae().optional(),format:We(["email","uri","date","date-time"]).optional(),default:_().optional()}),b0=I({type:We(["number","integer"]),title:_().optional(),description:_().optional(),minimum:ae().optional(),maximum:ae().optional(),default:ae().optional()}),w0=I({type:A("string"),title:_().optional(),description:_().optional(),enum:ee(_()),default:_().optional()}),$0=I({type:A("string"),title:_().optional(),description:_().optional(),oneOf:ee(I({const:_(),title:_()})),default:_().optional()}),x0=I({type:A("string"),title:_().optional(),description:_().optional(),enum:ee(_()),enumNames:ee(_()).optional(),default:_().optional()}),S0=he([w0,$0]),k0=I({type:A("array"),title:_().optional(),description:_().optional(),minItems:ae().optional(),maxItems:ae().optional(),items:I({type:A("string"),enum:ee(_())}),default:ee(_()).optional()}),R0=I({type:A("array"),title:_().optional(),description:_().optional(),minItems:ae().optional(),maxItems:ae().optional(),items:I({anyOf:ee(I({const:_(),title:_()}))}),default:ee(_()).optional()}),z0=he([k0,R0]),T0=he([x0,S0,z0]),E0=he([T0,_0,v0,b0]),P0=go.extend({mode:A("form").optional(),message:_(),requestedSchema:I({type:A("object"),properties:fe(_(),E0),required:ee(_()).optional()})}),I0=go.extend({mode:A("url"),message:_(),elicitationId:_(),url:_().url()}),O0=he([P0,I0]),N0=Ne.extend({method:A("elicitation/create"),params:O0}),A0=dt.extend({elicitationId:_()}),C0=pt.extend({method:A("notifications/elicitation/complete"),params:A0}),Sn=Ae.extend({action:We(["accept","decline","cancel"]),content:Au(t=>t===null?void 0:t,fe(_(),he([_(),ae(),Te(),ee(_())])).optional())}),j0=I({type:A("ref/resource"),uri:_()});var M0=I({type:A("ref/prompt"),name:_()}),Z0=ot.extend({ref:he([M0,j0]),argument:I({name:_(),value:_()}),context:I({arguments:fe(_(),_()).optional()}).optional()}),di=Ne.extend({method:A("completion/complete"),params:Z0});function th(t){if(t.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${t.params.ref.type}`)}function rh(t){if(t.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${t.params.ref.type}`)}var D0=Ae.extend({completion:Le({values:ee(_()).max(100),total:be(ae().int()),hasMore:be(Te())})}),q0=I({uri:_().startsWith("file://"),name:_().optional(),_meta:fe(_(),ve()).optional()}),V0=Ne.extend({method:A("roots/list"),params:ot.optional()}),Ku=Ae.extend({roots:ee(q0)}),L0=pt.extend({method:A("notifications/roots/list_changed"),params:dt.optional()}),dA=he([Ws,Ks,di,Gu,ci,ai,oi,si,ii,Vx,Ux,xn,ui,Xs,ei,ti,ni]),pA=he([Js,Ys,qu,L0,xo]),fA=he([Gs,Ro,Ju,Sn,Ku,Qs,ri,wn]),mA=he([Ws,y0,N0,V0,Xs,ei,ti,ni]),hA=he([Js,Ys,u0,Bx,Dx,i0,t0,xo,C0]),gA=he([Gs,Tx,D0,e0,Jx,Cx,jx,Zx,li,o0,Qs,ri,wn]),N=class t extends Error{constructor(e,r,n){super(`MCP error ${e}: ${r}`),this.code=e,this.data=n,this.name="McpError"}static fromError(e,r,n){if(e===j.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new Cu(o.elicitations,r)}return new t(e,r,n)}},Cu=class extends N{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(j.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function ir(t){return t==="completed"||t==="failed"||t==="cancelled"}var oh=Symbol("Let zodToJsonSchema decide on which parser to use");var nh={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},sh=t=>typeof t=="string"?{...nh,name:t}:{...nh,...t};var ih=t=>{let e=sh(t),r=e.name!==void 0?[...e.basePath,e.definitionPath,e.name]:e.basePath;return{...e,flags:{hasReferencedOpenAiAnyType:!1},currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(e.definitions).map(([n,o])=>[o._def,{def:o._def,path:[...e.basePath,e.definitionPath,n],jsonSchema:void 0}]))}};function Wu(t,e,r,n){n?.errorMessages&&r&&(t.errorMessage={...t.errorMessage,[e]:r})}function te(t,e,r,n,o){t[e]=r,Wu(t,e,n,o)}var pi=(t,e)=>{let r=0;for(;r<t.length&&r<e.length&&t[r]===e[r];r++);return[(t.length-r).toString(),...e.slice(r)].join("/")};function we(t){if(t.target!=="openAi")return{};let e=[...t.basePath,t.definitionPath,t.openAiAnyTypeName];return t.flags.hasReferencedOpenAiAnyType=!0,{$ref:t.$refStrategy==="relative"?pi(e,t.currentPath):e.join("/")}}function ah(t,e){let r={type:"array"};return t.type?._def&&t.type?._def?.typeName!==S.ZodAny&&(r.items=V(t.type._def,{...e,currentPath:[...e.currentPath,"items"]})),t.minLength&&te(r,"minItems",t.minLength.value,t.minLength.message,e),t.maxLength&&te(r,"maxItems",t.maxLength.value,t.maxLength.message,e),t.exactLength&&(te(r,"minItems",t.exactLength.value,t.exactLength.message,e),te(r,"maxItems",t.exactLength.value,t.exactLength.message,e)),r}function ch(t,e){let r={type:"integer",format:"int64"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"min":e.target==="jsonSchema7"?n.inclusive?te(r,"minimum",n.value,n.message,e):te(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),te(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?te(r,"maximum",n.value,n.message,e):te(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),te(r,"maximum",n.value,n.message,e));break;case"multipleOf":te(r,"multipleOf",n.value,n.message,e);break}return r}function uh(){return{type:"boolean"}}function fi(t,e){return V(t.type._def,e)}var lh=(t,e)=>V(t.innerType._def,e);function Yu(t,e,r){let n=r??e.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>Yu(t,e,o))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return U0(t,e)}}var U0=(t,e)=>{let r={type:"integer",format:"unix-time"};if(e.target==="openApi3")return r;for(let n of t.checks)switch(n.kind){case"min":te(r,"minimum",n.value,n.message,e);break;case"max":te(r,"maximum",n.value,n.message,e);break}return r};function dh(t,e){return{...V(t.innerType._def,e),default:t.defaultValue()}}function ph(t,e){return e.effectStrategy==="input"?V(t.schema._def,e):we(e)}function fh(t){return{type:"string",enum:Array.from(t.values)}}var F0=t=>"type"in t&&t.type==="string"?!1:"allOf"in t;function mh(t,e){let r=[V(t.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),V(t.right._def,{...e,currentPath:[...e.currentPath,"allOf","1"]})].filter(s=>!!s),n=e.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return r.forEach(s=>{if(F0(s))o.push(...s.allOf),s.unevaluatedProperties===void 0&&(n=void 0);else{let i=s;if("additionalProperties"in s&&s.additionalProperties===!1){let{additionalProperties:a,...c}=s;i=c}else n=void 0;o.push(i)}}),o.length?{allOf:o,...n}:void 0}function hh(t,e){let r=typeof t.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(t.value)?"array":"object"}:e.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[t.value]}:{type:r==="bigint"?"integer":r,const:t.value}}var Xu,wt={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(Xu===void 0&&(Xu=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),Xu),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?: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])$/,ipv4Cidr:/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function mi(t,e){let r={type:"string"};if(t.checks)for(let n of t.checks)switch(n.kind){case"min":te(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e);break;case"max":te(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"email":switch(e.emailStrategy){case"format:email":$t(r,"email",n.message,e);break;case"format:idn-email":$t(r,"idn-email",n.message,e);break;case"pattern:zod":Ue(r,wt.email,n.message,e);break}break;case"url":$t(r,"uri",n.message,e);break;case"uuid":$t(r,"uuid",n.message,e);break;case"regex":Ue(r,n.regex,n.message,e);break;case"cuid":Ue(r,wt.cuid,n.message,e);break;case"cuid2":Ue(r,wt.cuid2,n.message,e);break;case"startsWith":Ue(r,RegExp(`^${Qu(n.value,e)}`),n.message,e);break;case"endsWith":Ue(r,RegExp(`${Qu(n.value,e)}$`),n.message,e);break;case"datetime":$t(r,"date-time",n.message,e);break;case"date":$t(r,"date",n.message,e);break;case"time":$t(r,"time",n.message,e);break;case"duration":$t(r,"duration",n.message,e);break;case"length":te(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e),te(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"includes":{Ue(r,RegExp(Qu(n.value,e)),n.message,e);break}case"ip":{n.version!=="v6"&&$t(r,"ipv4",n.message,e),n.version!=="v4"&&$t(r,"ipv6",n.message,e);break}case"base64url":Ue(r,wt.base64url,n.message,e);break;case"jwt":Ue(r,wt.jwt,n.message,e);break;case"cidr":{n.version!=="v6"&&Ue(r,wt.ipv4Cidr,n.message,e),n.version!=="v4"&&Ue(r,wt.ipv6Cidr,n.message,e);break}case"emoji":Ue(r,wt.emoji(),n.message,e);break;case"ulid":{Ue(r,wt.ulid,n.message,e);break}case"base64":{switch(e.base64Strategy){case"format:binary":{$t(r,"binary",n.message,e);break}case"contentEncoding:base64":{te(r,"contentEncoding","base64",n.message,e);break}case"pattern:zod":{Ue(r,wt.base64,n.message,e);break}}break}case"nanoid":Ue(r,wt.nanoid,n.message,e);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function Qu(t,e){return e.patternStrategy==="escape"?H0(t):t}var B0=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function H0(t){let e="";for(let r=0;r<t.length;r++)B0.has(t[r])||(e+="\\"),e+=t[r];return e}function $t(t,e,r,n){t.format||t.anyOf?.some(o=>o.format)?(t.anyOf||(t.anyOf=[]),t.format&&(t.anyOf.push({format:t.format,...t.errorMessage&&n.errorMessages&&{errorMessage:{format:t.errorMessage.format}}}),delete t.format,t.errorMessage&&(delete t.errorMessage.format,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.anyOf.push({format:e,...r&&n.errorMessages&&{errorMessage:{format:r}}})):te(t,"format",e,r,n)}function Ue(t,e,r,n){t.pattern||t.allOf?.some(o=>o.pattern)?(t.allOf||(t.allOf=[]),t.pattern&&(t.allOf.push({pattern:t.pattern,...t.errorMessage&&n.errorMessages&&{errorMessage:{pattern:t.errorMessage.pattern}}}),delete t.pattern,t.errorMessage&&(delete t.errorMessage.pattern,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.allOf.push({pattern:gh(e,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):te(t,"pattern",gh(e,n),r,n)}function gh(t,e){if(!e.applyRegexFlags||!t.flags)return t.source;let r={i:t.flags.includes("i"),m:t.flags.includes("m"),s:t.flags.includes("s")},n=r.i?t.source.toLowerCase():t.source,o="",s=!1,i=!1,a=!1;for(let c=0;c<n.length;c++){if(s){o+=n[c],s=!1;continue}if(r.i){if(i){if(n[c].match(/[a-z]/)){a?(o+=n[c],o+=`${n[c-2]}-${n[c]}`.toUpperCase(),a=!1):n[c+1]==="-"&&n[c+2]?.match(/[a-z]/)?(o+=n[c],a=!0):o+=`${n[c]}${n[c].toUpperCase()}`;continue}}else if(n[c].match(/[a-z]/)){o+=`[${n[c]}${n[c].toUpperCase()}]`;continue}}if(r.m){if(n[c]==="^"){o+=`(^|(?<=[\r
37
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let l of this.seen.entries()){let d=l[1];if(e===l[0]){i(l);continue}if(n.external){let h=n.external.registry.get(l[0])?.id;if(e!==l[0]&&h){i(l);continue}}if(this.metadataRegistry.get(l[0])?.id){i(l);continue}if(d.cycle){i(l);continue}if(d.count>1&&n.reused==="ref"){i(l);continue}}let a=(l,d)=>{let f=this.seen.get(l),h=f.def??f.schema,p={...h};if(f.ref===null)return;let m=f.ref;if(f.ref=null,m){a(m,d);let g=this.seen.get(m).schema;g.$ref&&d.target==="draft-7"?(h.allOf=h.allOf??[],h.allOf.push(g)):(Object.assign(h,g),Object.assign(h,p))}f.isParent||this.override({zodSchema:l,jsonSchema:h,path:f.path??[]})};for(let l of[...this.seen.entries()].reverse())a(l[0],{target:this.target});let c={};if(this.target==="draft-2020-12"?c.$schema="https://json-schema.org/draft/2020-12/schema":this.target==="draft-7"?c.$schema="http://json-schema.org/draft-07/schema#":console.warn(`Invalid target: ${this.target}`),n.external?.uri){let l=n.external.registry.get(e)?.id;if(!l)throw new Error("Schema is missing an `id` property");c.$id=n.external.uri(l)}Object.assign(c,o.def);let u=n.external?.defs??{};for(let l of this.seen.entries()){let d=l[1];d.def&&d.defId&&(u[d.defId]=d.def)}n.external||Object.keys(u).length>0&&(this.target==="draft-2020-12"?c.$defs=u:c.definitions=u);try{return JSON.parse(JSON.stringify(c))}catch{throw new Error("Error converting schema to JSON.")}}};function Ru(t,e){if(t instanceof po){let n=new Ds(e),o={};for(let a of t._idmap.entries()){let[c,u]=a;n.process(u)}let s={},i={registry:t,uri:e?.uri,defs:o};for(let a of t._idmap.entries()){let[c,u]=a;s[c]=n.emit(u,{...e,external:i})}if(Object.keys(o).length>0){let a=n.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[a]:o}}return{schemas:s}}let r=new Ds(e);return r.process(t),r.emit(t,e)}function Re(t,e){let r=e??{seen:new Set};if(r.seen.has(t))return!1;r.seen.add(t);let o=t._zod.def;switch(o.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return Re(o.element,r);case"object":{for(let s in o.shape)if(Re(o.shape[s],r))return!0;return!1}case"union":{for(let s of o.options)if(Re(s,r))return!0;return!1}case"intersection":return Re(o.left,r)||Re(o.right,r);case"tuple":{for(let s of o.items)if(Re(s,r))return!0;return!!(o.rest&&Re(o.rest,r))}case"record":return Re(o.keyType,r)||Re(o.valueType,r);case"map":return Re(o.keyType,r)||Re(o.valueType,r);case"set":return Re(o.valueType,r);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return Re(o.innerType,r);case"lazy":return Re(o.getter(),r);case"default":return Re(o.innerType,r);case"prefault":return Re(o.innerType,r);case"custom":return!1;case"transform":return!0;case"pipe":return Re(o.in,r)||Re(o.out,r);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${o.type}`)}var _$=b("ZodMiniType",(t,e)=>{if(!t._zod)throw new Error("Uninitialized schema in ZodMiniType.");ce.init(t,e),t.def=e,t.parse=(r,n)=>Fa(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>Mr(t,r,n),t.parseAsync=async(r,n)=>Ha(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>Zr(t,r,n),t.check=(...r)=>t.clone({...e,checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),t.clone=(r,n)=>st(t,r,n),t.brand=()=>t,t.register=(r,n)=>(r.add(t,n),t)});var v$=b("ZodMiniObject",(t,e)=>{Is.init(t,e),_$.init(t,e),Q.defineLazy(t,"shape",()=>e.shape)});function Tu(t,e){let r={type:"object",get shape(){return Q.assignProp(this,"shape",{...t}),this.shape},...Q.normalizeParams(e)};return new v$(r)}function dt(t){return!!t._zod}function Vr(t){let e=Object.values(t);if(e.length===0)return Tu({});let r=e.every(dt),n=e.every(o=>!dt(o));if(r)return Tu(t);if(n)return Pa(t);throw new Error("Mixed Zod versions detected in object shape.")}function or(t,e){return dt(t)?Mr(t,e):t.safeParse(e)}async function qs(t,e){return dt(t)?await Zr(t,e):await t.safeParseAsync(e)}function sr(t){if(!t)return;let e;if(dt(t)?e=t._zod?.def?.shape:e=t.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function _n(t){if(t){if(typeof t=="object"){let e=t,r=t;if(!e._def&&!r._zod){let n=Object.values(t);if(n.length>0&&n.every(o=>typeof o=="object"&&o!==null&&(o._def!==void 0||o._zod!==void 0||typeof o.parse=="function")))return Vr(t)}}if(dt(t)){let r=t._zod?.def;if(r&&(r.type==="object"||r.shape!==void 0))return t}else if(t.shape!==void 0)return t}}function Vs(t){if(t&&typeof t=="object"){if("message"in t&&typeof t.message=="string")return t.message;if("issues"in t&&Array.isArray(t.issues)&&t.issues.length>0){let e=t.issues[0];if(e&&typeof e=="object"&&"message"in e)return String(e.message)}try{return JSON.stringify(t)}catch{return String(t)}}return String(t)}function _m(t){return t.description}function vm(t){if(dt(t))return t._zod?.def?.type==="optional";let e=t;return typeof t.isOptional=="function"?t.isOptional():e._def?.typeName==="ZodOptional"}function Ls(t){if(dt(t)){let s=t._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=t._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=t.value;if(n!==void 0)return n}var ho={};Ra(ho,{ZodISODate:()=>wm,ZodISODateTime:()=>bm,ZodISODuration:()=>xm,ZodISOTime:()=>$m,date:()=>Eu,datetime:()=>zu,duration:()=>Iu,time:()=>Pu});var bm=b("ZodISODateTime",(t,e)=>{sm.init(t,e),_e.init(t,e)});function zu(t){return pm(bm,t)}var wm=b("ZodISODate",(t,e)=>{im.init(t,e),_e.init(t,e)});function Eu(t){return fm(wm,t)}var $m=b("ZodISOTime",(t,e)=>{am.init(t,e),_e.init(t,e)});function Pu(t){return mm($m,t)}var xm=b("ZodISODuration",(t,e)=>{cm.init(t,e),_e.init(t,e)});function Iu(t){return hm(xm,t)}var Sm=(t,e)=>{Rs.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>La(t,r)},flatten:{value:r=>Va(t,r)},addIssue:{value:r=>t.issues.push(r)},addIssues:{value:r=>t.issues.push(...r)},isEmpty:{get(){return t.issues.length===0}}})},KN=b("ZodError",Sm),go=b("ZodError",Sm,{Parent:Error});var km=Ua(go),Rm=Ba(go),Tm=Ga(go),zm=Ja(go);var $e=b("ZodType",(t,e)=>(ce.init(t,e),t.def=e,Object.defineProperty(t,"_def",{value:e}),t.check=(...r)=>t.clone({...e,checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),t.clone=(r,n)=>st(t,r,n),t.brand=()=>t,t.register=(r,n)=>(r.add(t,n),t),t.parse=(r,n)=>km(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>Tm(t,r,n),t.parseAsync=async(r,n)=>Rm(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>zm(t,r,n),t.spa=t.safeParseAsync,t.refine=(r,n)=>t.check(gx(r,n)),t.superRefine=r=>t.check(yx(r)),t.overwrite=r=>t.check(Dr(r)),t.optional=()=>be(t),t.nullable=()=>Im(t),t.nullish=()=>be(Im(t)),t.nonoptional=r=>ux(t,r),t.array=()=>ee(t),t.or=r=>he([t,r]),t.and=r=>Fs(t,r),t.transform=r=>Nu(t,Mm(r)),t.default=r=>ix(t,r),t.prefault=r=>cx(t,r),t.catch=r=>dx(t,r),t.pipe=r=>Nu(t,r),t.readonly=()=>mx(t),t.describe=r=>{let n=t.clone();return nr.add(n,{description:r}),n},Object.defineProperty(t,"description",{get(){return nr.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return nr.get(t);let n=t.clone();return nr.add(n,r[0]),n},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t)),Om=b("_ZodString",(t,e)=>{lo.init(t,e),$e.init(t,e);let r=t._zod.bag;t.format=r.format??null,t.minLength=r.minimum??null,t.maxLength=r.maximum??null,t.regex=(...n)=>t.check(mu(...n)),t.includes=(...n)=>t.check(yu(...n)),t.startsWith=(...n)=>t.check(_u(...n)),t.endsWith=(...n)=>t.check(vu(...n)),t.min=(...n)=>t.check(yn(...n)),t.max=(...n)=>t.check(Ms(...n)),t.length=(...n)=>t.check(Zs(...n)),t.nonempty=(...n)=>t.check(yn(1,...n)),t.lowercase=n=>t.check(hu(n)),t.uppercase=n=>t.check(gu(n)),t.trim=()=>t.check(wu()),t.normalize=(...n)=>t.check(bu(...n)),t.toLowerCase=()=>t.check($u()),t.toUpperCase=()=>t.check(xu())}),z$=b("ZodString",(t,e)=>{lo.init(t,e),Om.init(t,e),t.email=r=>t.check(Vc(E$,r)),t.url=r=>t.check(Hc(P$,r)),t.jwt=r=>t.check(au(B$,r)),t.emoji=r=>t.check(Gc(I$,r)),t.guid=r=>t.check(Ns(Em,r)),t.uuid=r=>t.check(Lc(Us,r)),t.uuidv4=r=>t.check(Uc(Us,r)),t.uuidv6=r=>t.check(Fc(Us,r)),t.uuidv7=r=>t.check(Bc(Us,r)),t.nanoid=r=>t.check(Jc(O$,r)),t.guid=r=>t.check(Ns(Em,r)),t.cuid=r=>t.check(Kc(N$,r)),t.cuid2=r=>t.check(Wc(A$,r)),t.ulid=r=>t.check(Yc(C$,r)),t.base64=r=>t.check(ou(L$,r)),t.base64url=r=>t.check(su(U$,r)),t.xid=r=>t.check(Xc(j$,r)),t.ksuid=r=>t.check(Qc(M$,r)),t.ipv4=r=>t.check(eu(Z$,r)),t.ipv6=r=>t.check(tu(D$,r)),t.cidrv4=r=>t.check(ru(q$,r)),t.cidrv6=r=>t.check(nu(V$,r)),t.e164=r=>t.check(iu(F$,r)),t.datetime=r=>t.check(zu(r)),t.date=r=>t.check(Eu(r)),t.time=r=>t.check(Pu(r)),t.duration=r=>t.check(Iu(r))});function v(t){return qc(z$,t)}var _e=b("ZodStringFormat",(t,e)=>{pe.init(t,e),Om.init(t,e)}),E$=b("ZodEmail",(t,e)=>{rc.init(t,e),_e.init(t,e)});var Em=b("ZodGUID",(t,e)=>{ec.init(t,e),_e.init(t,e)});var Us=b("ZodUUID",(t,e)=>{tc.init(t,e),_e.init(t,e)});var P$=b("ZodURL",(t,e)=>{nc.init(t,e),_e.init(t,e)});var I$=b("ZodEmoji",(t,e)=>{oc.init(t,e),_e.init(t,e)});var O$=b("ZodNanoID",(t,e)=>{sc.init(t,e),_e.init(t,e)});var N$=b("ZodCUID",(t,e)=>{ic.init(t,e),_e.init(t,e)});var A$=b("ZodCUID2",(t,e)=>{ac.init(t,e),_e.init(t,e)});var C$=b("ZodULID",(t,e)=>{cc.init(t,e),_e.init(t,e)});var j$=b("ZodXID",(t,e)=>{uc.init(t,e),_e.init(t,e)});var M$=b("ZodKSUID",(t,e)=>{lc.init(t,e),_e.init(t,e)});var Z$=b("ZodIPv4",(t,e)=>{dc.init(t,e),_e.init(t,e)});var D$=b("ZodIPv6",(t,e)=>{pc.init(t,e),_e.init(t,e)});var q$=b("ZodCIDRv4",(t,e)=>{fc.init(t,e),_e.init(t,e)});var V$=b("ZodCIDRv6",(t,e)=>{mc.init(t,e),_e.init(t,e)});var L$=b("ZodBase64",(t,e)=>{hc.init(t,e),_e.init(t,e)});var U$=b("ZodBase64URL",(t,e)=>{gc.init(t,e),_e.init(t,e)});var F$=b("ZodE164",(t,e)=>{yc.init(t,e),_e.init(t,e)});var B$=b("ZodJWT",(t,e)=>{_c.init(t,e),_e.init(t,e)});var Nm=b("ZodNumber",(t,e)=>{Ps.init(t,e),$e.init(t,e),t.gt=(n,o)=>t.check(Cs(n,o)),t.gte=(n,o)=>t.check(mo(n,o)),t.min=(n,o)=>t.check(mo(n,o)),t.lt=(n,o)=>t.check(As(n,o)),t.lte=(n,o)=>t.check(fo(n,o)),t.max=(n,o)=>t.check(fo(n,o)),t.int=n=>t.check(Pm(n)),t.safe=n=>t.check(Pm(n)),t.positive=n=>t.check(Cs(0,n)),t.nonnegative=n=>t.check(mo(0,n)),t.negative=n=>t.check(As(0,n)),t.nonpositive=n=>t.check(fo(0,n)),t.multipleOf=(n,o)=>t.check(js(n,o)),t.step=(n,o)=>t.check(js(n,o)),t.finite=()=>t;let r=t._zod.bag;t.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,t.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,t.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),t.isFinite=!0,t.format=r.format??null});function ae(t){return cu(Nm,t)}var H$=b("ZodNumberFormat",(t,e)=>{vc.init(t,e),Nm.init(t,e)});function Pm(t){return uu(H$,t)}var G$=b("ZodBoolean",(t,e)=>{bc.init(t,e),$e.init(t,e)});function Pe(t){return lu(G$,t)}var J$=b("ZodNull",(t,e)=>{wc.init(t,e),$e.init(t,e)});function Am(t){return du(J$,t)}var K$=b("ZodUnknown",(t,e)=>{$c.init(t,e),$e.init(t,e)});function ve(){return pu(K$)}var W$=b("ZodNever",(t,e)=>{xc.init(t,e),$e.init(t,e)});function Y$(t){return fu(W$,t)}var X$=b("ZodArray",(t,e)=>{Sc.init(t,e),$e.init(t,e),t.element=e.element,t.min=(r,n)=>t.check(yn(r,n)),t.nonempty=r=>t.check(yn(1,r)),t.max=(r,n)=>t.check(Ms(r,n)),t.length=(r,n)=>t.check(Zs(r,n)),t.unwrap=()=>t.element});function ee(t,e){return gm(X$,t,e)}var Cm=b("ZodObject",(t,e)=>{Is.init(t,e),$e.init(t,e),Q.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>Xe(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:ve()}),t.loose=()=>t.clone({...t._zod.def,catchall:ve()}),t.strict=()=>t.clone({...t._zod.def,catchall:Y$()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>Q.extend(t,r),t.merge=r=>Q.merge(t,r),t.pick=r=>Q.pick(t,r),t.omit=r=>Q.omit(t,r),t.partial=(...r)=>Q.partial(Zm,t,r[0]),t.required=(...r)=>Q.required(Dm,t,r[0])});function I(t,e){let r={type:"object",get shape(){return Q.assignProp(this,"shape",{...t}),this.shape},...Q.normalizeParams(e)};return new Cm(r)}function Fe(t,e){return new Cm({type:"object",get shape(){return Q.assignProp(this,"shape",{...t}),this.shape},catchall:ve(),...Q.normalizeParams(e)})}var jm=b("ZodUnion",(t,e)=>{Os.init(t,e),$e.init(t,e),t.options=e.options});function he(t,e){return new jm({type:"union",options:t,...Q.normalizeParams(e)})}var Q$=b("ZodDiscriminatedUnion",(t,e)=>{jm.init(t,e),kc.init(t,e)});function Au(t,e,r){return new Q$({type:"union",options:e,discriminator:t,...Q.normalizeParams(r)})}var ex=b("ZodIntersection",(t,e)=>{Rc.init(t,e),$e.init(t,e)});function Fs(t,e){return new ex({type:"intersection",left:t,right:e})}var tx=b("ZodRecord",(t,e)=>{Tc.init(t,e),$e.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});function fe(t,e,r){return new tx({type:"record",keyType:t,valueType:e,...Q.normalizeParams(r)})}var Ou=b("ZodEnum",(t,e)=>{zc.init(t,e),$e.init(t,e),t.enum=e.entries,t.options=Object.values(e.entries);let r=new Set(Object.keys(e.entries));t.extract=(n,o)=>{let s={};for(let i of n)if(r.has(i))s[i]=e.entries[i];else throw new Error(`Key ${i} not found in enum`);return new Ou({...e,checks:[],...Q.normalizeParams(o),entries:s})},t.exclude=(n,o)=>{let s={...e.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 Ou({...e,checks:[],...Q.normalizeParams(o),entries:s})}});function Xe(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new Ou({type:"enum",entries:r,...Q.normalizeParams(e)})}var rx=b("ZodLiteral",(t,e)=>{Ec.init(t,e),$e.init(t,e),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function A(t,e){return new rx({type:"literal",values:Array.isArray(t)?t:[t],...Q.normalizeParams(e)})}var nx=b("ZodTransform",(t,e)=>{Pc.init(t,e),$e.init(t,e),t._zod.parse=(r,n)=>{r.addIssue=s=>{if(typeof s=="string")r.issues.push(Q.issue(s,r.value,e));else{let i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=t),i.continue??(i.continue=!0),r.issues.push(Q.issue(i))}};let o=e.transform(r.value,r);return o instanceof Promise?o.then(s=>(r.value=s,r)):(r.value=o,r)}});function Mm(t){return new nx({type:"transform",transform:t})}var Zm=b("ZodOptional",(t,e)=>{Ic.init(t,e),$e.init(t,e),t.unwrap=()=>t._zod.def.innerType});function be(t){return new Zm({type:"optional",innerType:t})}var ox=b("ZodNullable",(t,e)=>{Oc.init(t,e),$e.init(t,e),t.unwrap=()=>t._zod.def.innerType});function Im(t){return new ox({type:"nullable",innerType:t})}var sx=b("ZodDefault",(t,e)=>{Nc.init(t,e),$e.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function ix(t,e){return new sx({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var ax=b("ZodPrefault",(t,e)=>{Ac.init(t,e),$e.init(t,e),t.unwrap=()=>t._zod.def.innerType});function cx(t,e){return new ax({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var Dm=b("ZodNonOptional",(t,e)=>{Cc.init(t,e),$e.init(t,e),t.unwrap=()=>t._zod.def.innerType});function ux(t,e){return new Dm({type:"nonoptional",innerType:t,...Q.normalizeParams(e)})}var lx=b("ZodCatch",(t,e)=>{jc.init(t,e),$e.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function dx(t,e){return new lx({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var px=b("ZodPipe",(t,e)=>{Mc.init(t,e),$e.init(t,e),t.in=e.in,t.out=e.out});function Nu(t,e){return new px({type:"pipe",in:t,out:e})}var fx=b("ZodReadonly",(t,e)=>{Zc.init(t,e),$e.init(t,e)});function mx(t){return new fx({type:"readonly",innerType:t})}var qm=b("ZodCustom",(t,e)=>{Dc.init(t,e),$e.init(t,e)});function hx(t){let e=new Ae({check:"custom"});return e._zod.check=t,e}function Vm(t,e){return Su(qm,t??(()=>!0),e)}function gx(t,e={}){return ku(qm,t,e)}function yx(t){let e=hx(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(Q.issue(n,r.value,e._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=e),o.continue??(o.continue=!e._zod.def.abort),r.issues.push(Q.issue(o))}},t(r.value,r)));return e}function Cu(t,e){return Nu(Mm(t),e)}ot(lm());var Mu="2025-11-25",Lm="2025-03-26",bn=[Mu,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],ir="io.modelcontextprotocol/related-task",Hs="2.0",Te=Vm(t=>t!==null&&(typeof t=="object"||typeof t=="function")),Um=he([v(),ae().int()]),Fm=v(),uA=Fe({ttl:ae().optional(),pollInterval:ae().optional()}),_x=I({ttl:ae().optional()}),vx=I({taskId:v()}),Zu=Fe({progressToken:Um.optional(),[ir]:vx.optional()}),it=I({_meta:Zu.optional()}),yo=it.extend({task:_x.optional()}),Bm=t=>yo.safeParse(t).success,Ce=I({method:v(),params:it.loose().optional()}),pt=I({_meta:Zu.optional()}),ft=I({method:v(),params:pt.loose().optional()}),je=Fe({_meta:Zu.optional()}),Gs=he([v(),ae().int()]),Hm=I({jsonrpc:A(Hs),id:Gs,...Ce.shape}).strict(),ar=t=>Hm.safeParse(t).success,Gm=I({jsonrpc:A(Hs),...ft.shape}).strict(),Jm=t=>Gm.safeParse(t).success,Du=I({jsonrpc:A(Hs),id:Gs,result:je}).strict(),Ht=t=>Du.safeParse(t).success;var M;(function(t){t[t.ConnectionClosed=-32e3]="ConnectionClosed",t[t.RequestTimeout=-32001]="RequestTimeout",t[t.ParseError=-32700]="ParseError",t[t.InvalidRequest=-32600]="InvalidRequest",t[t.MethodNotFound=-32601]="MethodNotFound",t[t.InvalidParams=-32602]="InvalidParams",t[t.InternalError=-32603]="InternalError",t[t.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(M||(M={}));var qu=I({jsonrpc:A(Hs),id:Gs.optional(),error:I({code:ae().int(),message:v(),data:ve().optional()})}).strict();var wn=t=>qu.safeParse(t).success;var _o=he([Hm,Gm,Du,qu]),lA=he([Du,qu]),Js=je.strict(),bx=pt.extend({requestId:Gs.optional(),reason:v().optional()}),Ks=ft.extend({method:A("notifications/cancelled"),params:bx}),wx=I({src:v(),mimeType:v().optional(),sizes:ee(v()).optional(),theme:Xe(["light","dark"]).optional()}),vo=I({icons:ee(wx).optional()}),vn=I({name:v(),title:v().optional()}),Km=vn.extend({...vn.shape,...vo.shape,version:v(),websiteUrl:v().optional(),description:v().optional()}),$x=Fs(I({applyDefaults:Pe().optional()}),fe(v(),ve())),xx=Cu(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,Fs(I({form:$x.optional(),url:Te.optional()}),fe(v(),ve()).optional())),Sx=Fe({list:Te.optional(),cancel:Te.optional(),requests:Fe({sampling:Fe({createMessage:Te.optional()}).optional(),elicitation:Fe({create:Te.optional()}).optional()}).optional()}),kx=Fe({list:Te.optional(),cancel:Te.optional(),requests:Fe({tools:Fe({call:Te.optional()}).optional()}).optional()}),Rx=I({experimental:fe(v(),Te).optional(),sampling:I({context:Te.optional(),tools:Te.optional()}).optional(),elicitation:xx.optional(),roots:I({listChanged:Pe().optional()}).optional(),tasks:Sx.optional(),extensions:fe(v(),Te).optional()}),Tx=it.extend({protocolVersion:v(),capabilities:Rx,clientInfo:Km}),Ws=Ce.extend({method:A("initialize"),params:Tx}),bo=t=>Ws.safeParse(t).success,zx=I({experimental:fe(v(),Te).optional(),logging:Te.optional(),completions:Te.optional(),prompts:I({listChanged:Pe().optional()}).optional(),resources:I({subscribe:Pe().optional(),listChanged:Pe().optional()}).optional(),tools:I({listChanged:Pe().optional()}).optional(),tasks:kx.optional(),extensions:fe(v(),Te).optional()}),Ex=je.extend({protocolVersion:v(),capabilities:zx,serverInfo:Km,instructions:v().optional()}),Vu=ft.extend({method:A("notifications/initialized"),params:pt.optional()});var Ys=Ce.extend({method:A("ping"),params:it.optional()}),Px=I({progress:ae(),total:be(ae()),message:be(v())}),Ix=I({...pt.shape,...Px.shape,progressToken:Um}),Xs=ft.extend({method:A("notifications/progress"),params:Ix}),Ox=it.extend({cursor:Fm.optional()}),wo=Ce.extend({params:Ox.optional()}),$o=je.extend({nextCursor:Fm.optional()}),Nx=Xe(["working","input_required","completed","failed","cancelled"]),xo=I({taskId:v(),status:Nx,ttl:he([ae(),Am()]),createdAt:v(),lastUpdatedAt:v(),pollInterval:be(ae()),statusMessage:be(v())}),$n=je.extend({task:xo}),Ax=pt.merge(xo),So=ft.extend({method:A("notifications/tasks/status"),params:Ax}),Qs=Ce.extend({method:A("tasks/get"),params:it.extend({taskId:v()})}),ei=je.merge(xo),ti=Ce.extend({method:A("tasks/result"),params:it.extend({taskId:v()})}),dA=je.loose(),ri=wo.extend({method:A("tasks/list")}),ni=$o.extend({tasks:ee(xo)}),oi=Ce.extend({method:A("tasks/cancel"),params:it.extend({taskId:v()})}),Wm=je.merge(xo),Ym=I({uri:v(),mimeType:be(v()),_meta:fe(v(),ve()).optional()}),Xm=Ym.extend({text:v()}),Lu=v().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),Qm=Ym.extend({blob:Lu}),ko=Xe(["user","assistant"]),xn=I({audience:ee(ko).optional(),priority:ae().min(0).max(1).optional(),lastModified:ho.datetime({offset:!0}).optional()}),eh=I({...vn.shape,...vo.shape,uri:v(),description:be(v()),mimeType:be(v()),size:be(ae()),annotations:xn.optional(),_meta:be(Fe({}))}),Cx=I({...vn.shape,...vo.shape,uriTemplate:v(),description:be(v()),mimeType:be(v()),annotations:xn.optional(),_meta:be(Fe({}))}),si=wo.extend({method:A("resources/list")}),jx=$o.extend({resources:ee(eh)}),ii=wo.extend({method:A("resources/templates/list")}),Mx=$o.extend({resourceTemplates:ee(Cx)}),Uu=it.extend({uri:v()}),Zx=Uu,ai=Ce.extend({method:A("resources/read"),params:Zx}),Dx=je.extend({contents:ee(he([Xm,Qm]))}),qx=ft.extend({method:A("notifications/resources/list_changed"),params:pt.optional()}),Vx=Uu,Lx=Ce.extend({method:A("resources/subscribe"),params:Vx}),Ux=Uu,Fx=Ce.extend({method:A("resources/unsubscribe"),params:Ux}),Bx=pt.extend({uri:v()}),Hx=ft.extend({method:A("notifications/resources/updated"),params:Bx}),Gx=I({name:v(),description:be(v()),required:be(Pe())}),Jx=I({...vn.shape,...vo.shape,description:be(v()),arguments:be(ee(Gx)),_meta:be(Fe({}))}),ci=wo.extend({method:A("prompts/list")}),Kx=$o.extend({prompts:ee(Jx)}),Wx=it.extend({name:v(),arguments:fe(v(),v()).optional()}),ui=Ce.extend({method:A("prompts/get"),params:Wx}),Fu=I({type:A("text"),text:v(),annotations:xn.optional(),_meta:fe(v(),ve()).optional()}),Bu=I({type:A("image"),data:Lu,mimeType:v(),annotations:xn.optional(),_meta:fe(v(),ve()).optional()}),Hu=I({type:A("audio"),data:Lu,mimeType:v(),annotations:xn.optional(),_meta:fe(v(),ve()).optional()}),Yx=I({type:A("tool_use"),name:v(),id:v(),input:fe(v(),ve()),_meta:fe(v(),ve()).optional()}),Xx=I({type:A("resource"),resource:he([Xm,Qm]),annotations:xn.optional(),_meta:fe(v(),ve()).optional()}),Qx=eh.extend({type:A("resource_link")}),Gu=he([Fu,Bu,Hu,Qx,Xx]),e0=I({role:ko,content:Gu}),t0=je.extend({description:v().optional(),messages:ee(e0)}),r0=ft.extend({method:A("notifications/prompts/list_changed"),params:pt.optional()}),n0=I({title:v().optional(),readOnlyHint:Pe().optional(),destructiveHint:Pe().optional(),idempotentHint:Pe().optional(),openWorldHint:Pe().optional()}),o0=I({taskSupport:Xe(["required","optional","forbidden"]).optional()}),th=I({...vn.shape,...vo.shape,description:v().optional(),inputSchema:I({type:A("object"),properties:fe(v(),Te).optional(),required:ee(v()).optional()}).catchall(ve()),outputSchema:I({type:A("object"),properties:fe(v(),Te).optional(),required:ee(v()).optional()}).catchall(ve()).optional(),annotations:n0.optional(),execution:o0.optional(),_meta:fe(v(),ve()).optional()}),li=wo.extend({method:A("tools/list")}),s0=$o.extend({tools:ee(th)}),di=je.extend({content:ee(Gu).default([]),structuredContent:fe(v(),ve()).optional(),isError:Pe().optional()}),pA=di.or(je.extend({toolResult:ve()})),i0=yo.extend({name:v(),arguments:fe(v(),ve()).optional()}),Sn=Ce.extend({method:A("tools/call"),params:i0}),a0=ft.extend({method:A("notifications/tools/list_changed"),params:pt.optional()}),fA=I({autoRefresh:Pe().default(!0),debounceMs:ae().int().nonnegative().default(300)}),Ro=Xe(["debug","info","notice","warning","error","critical","alert","emergency"]),c0=it.extend({level:Ro}),Ju=Ce.extend({method:A("logging/setLevel"),params:c0}),u0=pt.extend({level:Ro,logger:v().optional(),data:ve()}),l0=ft.extend({method:A("notifications/message"),params:u0}),d0=I({name:v().optional()}),p0=I({hints:ee(d0).optional(),costPriority:ae().min(0).max(1).optional(),speedPriority:ae().min(0).max(1).optional(),intelligencePriority:ae().min(0).max(1).optional()}),f0=I({mode:Xe(["auto","required","none"]).optional()}),m0=I({type:A("tool_result"),toolUseId:v().describe("The unique identifier for the corresponding tool call."),content:ee(Gu).default([]),structuredContent:I({}).loose().optional(),isError:Pe().optional(),_meta:fe(v(),ve()).optional()}),h0=Au("type",[Fu,Bu,Hu]),Bs=Au("type",[Fu,Bu,Hu,Yx,m0]),g0=I({role:ko,content:he([Bs,ee(Bs)]),_meta:fe(v(),ve()).optional()}),y0=yo.extend({messages:ee(g0),modelPreferences:p0.optional(),systemPrompt:v().optional(),includeContext:Xe(["none","thisServer","allServers"]).optional(),temperature:ae().optional(),maxTokens:ae().int(),stopSequences:ee(v()).optional(),metadata:Te.optional(),tools:ee(th).optional(),toolChoice:f0.optional()}),_0=Ce.extend({method:A("sampling/createMessage"),params:y0}),To=je.extend({model:v(),stopReason:be(Xe(["endTurn","stopSequence","maxTokens"]).or(v())),role:ko,content:h0}),Ku=je.extend({model:v(),stopReason:be(Xe(["endTurn","stopSequence","maxTokens","toolUse"]).or(v())),role:ko,content:he([Bs,ee(Bs)])}),v0=I({type:A("boolean"),title:v().optional(),description:v().optional(),default:Pe().optional()}),b0=I({type:A("string"),title:v().optional(),description:v().optional(),minLength:ae().optional(),maxLength:ae().optional(),format:Xe(["email","uri","date","date-time"]).optional(),default:v().optional()}),w0=I({type:Xe(["number","integer"]),title:v().optional(),description:v().optional(),minimum:ae().optional(),maximum:ae().optional(),default:ae().optional()}),$0=I({type:A("string"),title:v().optional(),description:v().optional(),enum:ee(v()),default:v().optional()}),x0=I({type:A("string"),title:v().optional(),description:v().optional(),oneOf:ee(I({const:v(),title:v()})),default:v().optional()}),S0=I({type:A("string"),title:v().optional(),description:v().optional(),enum:ee(v()),enumNames:ee(v()).optional(),default:v().optional()}),k0=he([$0,x0]),R0=I({type:A("array"),title:v().optional(),description:v().optional(),minItems:ae().optional(),maxItems:ae().optional(),items:I({type:A("string"),enum:ee(v())}),default:ee(v()).optional()}),T0=I({type:A("array"),title:v().optional(),description:v().optional(),minItems:ae().optional(),maxItems:ae().optional(),items:I({anyOf:ee(I({const:v(),title:v()}))}),default:ee(v()).optional()}),z0=he([R0,T0]),E0=he([S0,k0,z0]),P0=he([E0,v0,b0,w0]),I0=yo.extend({mode:A("form").optional(),message:v(),requestedSchema:I({type:A("object"),properties:fe(v(),P0),required:ee(v()).optional()})}),O0=yo.extend({mode:A("url"),message:v(),elicitationId:v(),url:v().url()}),N0=he([I0,O0]),A0=Ce.extend({method:A("elicitation/create"),params:N0}),C0=pt.extend({elicitationId:v()}),j0=ft.extend({method:A("notifications/elicitation/complete"),params:C0}),kn=je.extend({action:Xe(["accept","decline","cancel"]),content:Cu(t=>t===null?void 0:t,fe(v(),he([v(),ae(),Pe(),ee(v())])).optional())}),M0=I({type:A("ref/resource"),uri:v()});var Z0=I({type:A("ref/prompt"),name:v()}),D0=it.extend({ref:he([Z0,M0]),argument:I({name:v(),value:v()}),context:I({arguments:fe(v(),v()).optional()}).optional()}),pi=Ce.extend({method:A("completion/complete"),params:D0});function rh(t){if(t.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${t.params.ref.type}`)}function nh(t){if(t.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${t.params.ref.type}`)}var q0=je.extend({completion:Fe({values:ee(v()).max(100),total:be(ae().int()),hasMore:be(Pe())})}),V0=I({uri:v().startsWith("file://"),name:v().optional(),_meta:fe(v(),ve()).optional()}),L0=Ce.extend({method:A("roots/list"),params:it.optional()}),Wu=je.extend({roots:ee(V0)}),U0=ft.extend({method:A("notifications/roots/list_changed"),params:pt.optional()}),mA=he([Ys,Ws,pi,Ju,ui,ci,si,ii,ai,Lx,Fx,Sn,li,Qs,ti,ri,oi]),hA=he([Ks,Xs,Vu,U0,So]),gA=he([Js,To,Ku,kn,Wu,ei,ni,$n]),yA=he([Ys,_0,A0,L0,Qs,ti,ri,oi]),_A=he([Ks,Xs,l0,Hx,qx,a0,r0,So,j0]),vA=he([Js,Ex,q0,t0,Kx,jx,Mx,Dx,di,s0,ei,ni,$n]),N=class t extends Error{constructor(e,r,n){super(`MCP error ${e}: ${r}`),this.code=e,this.data=n,this.name="McpError"}static fromError(e,r,n){if(e===M.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new ju(o.elicitations,r)}return new t(e,r,n)}},ju=class extends N{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(M.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function cr(t){return t==="completed"||t==="failed"||t==="cancelled"}var sh=Symbol("Let zodToJsonSchema decide on which parser to use");var oh={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},ih=t=>typeof t=="string"?{...oh,name:t}:{...oh,...t};var ah=t=>{let e=ih(t),r=e.name!==void 0?[...e.basePath,e.definitionPath,e.name]:e.basePath;return{...e,flags:{hasReferencedOpenAiAnyType:!1},currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(e.definitions).map(([n,o])=>[o._def,{def:o._def,path:[...e.basePath,e.definitionPath,n],jsonSchema:void 0}]))}};function Yu(t,e,r,n){n?.errorMessages&&r&&(t.errorMessage={...t.errorMessage,[e]:r})}function te(t,e,r,n,o){t[e]=r,Yu(t,e,n,o)}var fi=(t,e)=>{let r=0;for(;r<t.length&&r<e.length&&t[r]===e[r];r++);return[(t.length-r).toString(),...e.slice(r)].join("/")};function we(t){if(t.target!=="openAi")return{};let e=[...t.basePath,t.definitionPath,t.openAiAnyTypeName];return t.flags.hasReferencedOpenAiAnyType=!0,{$ref:t.$refStrategy==="relative"?fi(e,t.currentPath):e.join("/")}}function ch(t,e){let r={type:"array"};return t.type?._def&&t.type?._def?.typeName!==S.ZodAny&&(r.items=V(t.type._def,{...e,currentPath:[...e.currentPath,"items"]})),t.minLength&&te(r,"minItems",t.minLength.value,t.minLength.message,e),t.maxLength&&te(r,"maxItems",t.maxLength.value,t.maxLength.message,e),t.exactLength&&(te(r,"minItems",t.exactLength.value,t.exactLength.message,e),te(r,"maxItems",t.exactLength.value,t.exactLength.message,e)),r}function uh(t,e){let r={type:"integer",format:"int64"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"min":e.target==="jsonSchema7"?n.inclusive?te(r,"minimum",n.value,n.message,e):te(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),te(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?te(r,"maximum",n.value,n.message,e):te(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),te(r,"maximum",n.value,n.message,e));break;case"multipleOf":te(r,"multipleOf",n.value,n.message,e);break}return r}function lh(){return{type:"boolean"}}function mi(t,e){return V(t.type._def,e)}var dh=(t,e)=>V(t.innerType._def,e);function Xu(t,e,r){let n=r??e.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>Xu(t,e,o))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return F0(t,e)}}var F0=(t,e)=>{let r={type:"integer",format:"unix-time"};if(e.target==="openApi3")return r;for(let n of t.checks)switch(n.kind){case"min":te(r,"minimum",n.value,n.message,e);break;case"max":te(r,"maximum",n.value,n.message,e);break}return r};function ph(t,e){return{...V(t.innerType._def,e),default:t.defaultValue()}}function fh(t,e){return e.effectStrategy==="input"?V(t.schema._def,e):we(e)}function mh(t){return{type:"string",enum:Array.from(t.values)}}var B0=t=>"type"in t&&t.type==="string"?!1:"allOf"in t;function hh(t,e){let r=[V(t.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),V(t.right._def,{...e,currentPath:[...e.currentPath,"allOf","1"]})].filter(s=>!!s),n=e.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return r.forEach(s=>{if(B0(s))o.push(...s.allOf),s.unevaluatedProperties===void 0&&(n=void 0);else{let i=s;if("additionalProperties"in s&&s.additionalProperties===!1){let{additionalProperties:a,...c}=s;i=c}else n=void 0;o.push(i)}}),o.length?{allOf:o,...n}:void 0}function gh(t,e){let r=typeof t.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(t.value)?"array":"object"}:e.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[t.value]}:{type:r==="bigint"?"integer":r,const:t.value}}var Qu,$t={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(Qu===void 0&&(Qu=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),Qu),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?: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])$/,ipv4Cidr:/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function hi(t,e){let r={type:"string"};if(t.checks)for(let n of t.checks)switch(n.kind){case"min":te(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e);break;case"max":te(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"email":switch(e.emailStrategy){case"format:email":xt(r,"email",n.message,e);break;case"format:idn-email":xt(r,"idn-email",n.message,e);break;case"pattern:zod":Be(r,$t.email,n.message,e);break}break;case"url":xt(r,"uri",n.message,e);break;case"uuid":xt(r,"uuid",n.message,e);break;case"regex":Be(r,n.regex,n.message,e);break;case"cuid":Be(r,$t.cuid,n.message,e);break;case"cuid2":Be(r,$t.cuid2,n.message,e);break;case"startsWith":Be(r,RegExp(`^${el(n.value,e)}`),n.message,e);break;case"endsWith":Be(r,RegExp(`${el(n.value,e)}$`),n.message,e);break;case"datetime":xt(r,"date-time",n.message,e);break;case"date":xt(r,"date",n.message,e);break;case"time":xt(r,"time",n.message,e);break;case"duration":xt(r,"duration",n.message,e);break;case"length":te(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e),te(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"includes":{Be(r,RegExp(el(n.value,e)),n.message,e);break}case"ip":{n.version!=="v6"&&xt(r,"ipv4",n.message,e),n.version!=="v4"&&xt(r,"ipv6",n.message,e);break}case"base64url":Be(r,$t.base64url,n.message,e);break;case"jwt":Be(r,$t.jwt,n.message,e);break;case"cidr":{n.version!=="v6"&&Be(r,$t.ipv4Cidr,n.message,e),n.version!=="v4"&&Be(r,$t.ipv6Cidr,n.message,e);break}case"emoji":Be(r,$t.emoji(),n.message,e);break;case"ulid":{Be(r,$t.ulid,n.message,e);break}case"base64":{switch(e.base64Strategy){case"format:binary":{xt(r,"binary",n.message,e);break}case"contentEncoding:base64":{te(r,"contentEncoding","base64",n.message,e);break}case"pattern:zod":{Be(r,$t.base64,n.message,e);break}}break}case"nanoid":Be(r,$t.nanoid,n.message,e);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function el(t,e){return e.patternStrategy==="escape"?G0(t):t}var H0=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function G0(t){let e="";for(let r=0;r<t.length;r++)H0.has(t[r])||(e+="\\"),e+=t[r];return e}function xt(t,e,r,n){t.format||t.anyOf?.some(o=>o.format)?(t.anyOf||(t.anyOf=[]),t.format&&(t.anyOf.push({format:t.format,...t.errorMessage&&n.errorMessages&&{errorMessage:{format:t.errorMessage.format}}}),delete t.format,t.errorMessage&&(delete t.errorMessage.format,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.anyOf.push({format:e,...r&&n.errorMessages&&{errorMessage:{format:r}}})):te(t,"format",e,r,n)}function Be(t,e,r,n){t.pattern||t.allOf?.some(o=>o.pattern)?(t.allOf||(t.allOf=[]),t.pattern&&(t.allOf.push({pattern:t.pattern,...t.errorMessage&&n.errorMessages&&{errorMessage:{pattern:t.errorMessage.pattern}}}),delete t.pattern,t.errorMessage&&(delete t.errorMessage.pattern,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.allOf.push({pattern:yh(e,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):te(t,"pattern",yh(e,n),r,n)}function yh(t,e){if(!e.applyRegexFlags||!t.flags)return t.source;let r={i:t.flags.includes("i"),m:t.flags.includes("m"),s:t.flags.includes("s")},n=r.i?t.source.toLowerCase():t.source,o="",s=!1,i=!1,a=!1;for(let c=0;c<n.length;c++){if(s){o+=n[c],s=!1;continue}if(r.i){if(i){if(n[c].match(/[a-z]/)){a?(o+=n[c],o+=`${n[c-2]}-${n[c]}`.toUpperCase(),a=!1):n[c+1]==="-"&&n[c+2]?.match(/[a-z]/)?(o+=n[c],a=!0):o+=`${n[c]}${n[c].toUpperCase()}`;continue}}else if(n[c].match(/[a-z]/)){o+=`[${n[c]}${n[c].toUpperCase()}]`;continue}}if(r.m){if(n[c]==="^"){o+=`(^|(?<=[\r
38
38
  ]))`;continue}else if(n[c]==="$"){o+=`($|(?=[\r
39
39
  ]))`;continue}}if(r.s&&n[c]==="."){o+=i?`${n[c]}\r
40
40
  `:`[${n[c]}\r
41
- ]`;continue}o+=n[c],n[c]==="\\"?s=!0:i&&n[c]==="]"?i=!1:!i&&n[c]==="["&&(i=!0)}try{new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${e.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),t.source}return o}function hi(t,e){if(e.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),e.target==="openApi3"&&t.keyType?._def.typeName===S.ZodEnum)return{type:"object",required:t.keyType._def.values,properties:t.keyType._def.values.reduce((n,o)=>({...n,[o]:V(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",o]})??we(e)}),{}),additionalProperties:e.rejectedAdditionalProperties};let r={type:"object",additionalProperties:V(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??e.allowedAdditionalProperties};if(e.target==="openApi3")return r;if(t.keyType?._def.typeName===S.ZodString&&t.keyType._def.checks?.length){let{type:n,...o}=mi(t.keyType._def,e);return{...r,propertyNames:o}}else{if(t.keyType?._def.typeName===S.ZodEnum)return{...r,propertyNames:{enum:t.keyType._def.values}};if(t.keyType?._def.typeName===S.ZodBranded&&t.keyType._def.type._def.typeName===S.ZodString&&t.keyType._def.type._def.checks?.length){let{type:n,...o}=fi(t.keyType._def,e);return{...r,propertyNames:o}}}return r}function yh(t,e){if(e.mapStrategy==="record")return hi(t,e);let r=V(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||we(e),n=V(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||we(e);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function _h(t){let e=t.values,n=Object.keys(t.values).filter(s=>typeof e[e[s]]!="number").map(s=>e[s]),o=Array.from(new Set(n.map(s=>typeof s)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:n}}function vh(t){return t.target==="openAi"?void 0:{not:we({...t,currentPath:[...t.currentPath,"not"]})}}function bh(t){return t.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var zo={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function $h(t,e){if(e.target==="openApi3")return wh(t,e);let r=t.options instanceof Map?Array.from(t.options.values()):t.options;if(r.every(n=>n._def.typeName in zo&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,s)=>{let i=zo[s._def.typeName];return i&&!o.includes(i)?[...o,i]:o},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((o,s)=>{let i=typeof s._def.value;switch(i){case"string":case"number":case"boolean":return[...o,i];case"bigint":return[...o,"integer"];case"object":if(s._def.value===null)return[...o,"null"];case"symbol":case"undefined":case"function":default:return o}},[]);if(n.length===r.length){let o=n.filter((s,i,a)=>a.indexOf(s)===i);return{type:o.length>1?o:o[0],enum:r.reduce((s,i)=>s.includes(i._def.value)?s:[...s,i._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,o)=>[...n,...o._def.values.filter(s=>!n.includes(s))],[])};return wh(t,e)}var wh=(t,e)=>{let r=(t.options instanceof Map?Array.from(t.options.values()):t.options).map((n,o)=>V(n._def,{...e,currentPath:[...e.currentPath,"anyOf",`${o}`]})).filter(n=>!!n&&(!e.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function xh(t,e){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(t.innerType._def.typeName)&&(!t.innerType._def.checks||!t.innerType._def.checks.length))return e.target==="openApi3"?{type:zo[t.innerType._def.typeName],nullable:!0}:{type:[zo[t.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let n=V(t.innerType._def,{...e,currentPath:[...e.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=V(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function Sh(t,e){let r={type:"number"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"int":r.type="integer",Wu(r,"type",n.message,e);break;case"min":e.target==="jsonSchema7"?n.inclusive?te(r,"minimum",n.value,n.message,e):te(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),te(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?te(r,"maximum",n.value,n.message,e):te(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),te(r,"maximum",n.value,n.message,e));break;case"multipleOf":te(r,"multipleOf",n.value,n.message,e);break}return r}function kh(t,e){let r=e.target==="openAi",n={type:"object",properties:{}},o=[],s=t.shape();for(let a in s){let c=s[a];if(c===void 0||c._def===void 0)continue;let u=J0(c);u&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),u=!1);let l=V(c._def,{...e,currentPath:[...e.currentPath,"properties",a],propertyPath:[...e.currentPath,"properties",a]});l!==void 0&&(n.properties[a]=l,u||o.push(a))}o.length&&(n.required=o);let i=G0(t,e);return i!==void 0&&(n.additionalProperties=i),n}function G0(t,e){if(t.catchall._def.typeName!=="ZodNever")return V(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]});switch(t.unknownKeys){case"passthrough":return e.allowedAdditionalProperties;case"strict":return e.rejectedAdditionalProperties;case"strip":return e.removeAdditionalStrategy==="strict"?e.allowedAdditionalProperties:e.rejectedAdditionalProperties}}function J0(t){try{return t.isOptional()}catch{return!0}}var Rh=(t,e)=>{if(e.currentPath.toString()===e.propertyPath?.toString())return V(t.innerType._def,e);let r=V(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return r?{anyOf:[{not:we(e)},r]}:we(e)};var zh=(t,e)=>{if(e.pipeStrategy==="input")return V(t.in._def,e);if(e.pipeStrategy==="output")return V(t.out._def,e);let r=V(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),n=V(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}};function Th(t,e){return V(t.type._def,e)}function Eh(t,e){let n={type:"array",uniqueItems:!0,items:V(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&te(n,"minItems",t.minSize.value,t.minSize.message,e),t.maxSize&&te(n,"maxItems",t.maxSize.value,t.maxSize.message,e),n}function Ph(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((r,n)=>V(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:V(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((r,n)=>V(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function Ih(t){return{not:we(t)}}function Oh(t){return we(t)}var Nh=(t,e)=>V(t.innerType._def,e);var Ah=(t,e,r)=>{switch(e){case S.ZodString:return mi(t,r);case S.ZodNumber:return Sh(t,r);case S.ZodObject:return kh(t,r);case S.ZodBigInt:return ch(t,r);case S.ZodBoolean:return uh();case S.ZodDate:return Yu(t,r);case S.ZodUndefined:return Ih(r);case S.ZodNull:return bh(r);case S.ZodArray:return ah(t,r);case S.ZodUnion:case S.ZodDiscriminatedUnion:return $h(t,r);case S.ZodIntersection:return mh(t,r);case S.ZodTuple:return Ph(t,r);case S.ZodRecord:return hi(t,r);case S.ZodLiteral:return hh(t,r);case S.ZodEnum:return fh(t);case S.ZodNativeEnum:return _h(t);case S.ZodNullable:return xh(t,r);case S.ZodOptional:return Rh(t,r);case S.ZodMap:return yh(t,r);case S.ZodSet:return Eh(t,r);case S.ZodLazy:return()=>t.getter()._def;case S.ZodPromise:return Th(t,r);case S.ZodNaN:case S.ZodNever:return vh(r);case S.ZodEffects:return ph(t,r);case S.ZodAny:return we(r);case S.ZodUnknown:return Oh(r);case S.ZodDefault:return dh(t,r);case S.ZodBranded:return fi(t,r);case S.ZodReadonly:return Nh(t,r);case S.ZodCatch:return lh(t,r);case S.ZodPipeline:return zh(t,r);case S.ZodFunction:case S.ZodVoid:case S.ZodSymbol:return;default:return(n=>{})(e)}};function V(t,e,r=!1){let n=e.seen.get(t);if(e.override){let a=e.override?.(t,e,n,r);if(a!==oh)return a}if(n&&!r){let a=K0(n,e);if(a!==void 0)return a}let o={def:t,path:e.currentPath,jsonSchema:void 0};e.seen.set(t,o);let s=Ah(t,t.typeName,e),i=typeof s=="function"?V(s(),e):s;if(i&&W0(t,e,i),e.postProcess){let a=e.postProcess(i,t,e);return o.jsonSchema=i,a}return o.jsonSchema=i,i}var K0=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"relative":return{$ref:pi(e.currentPath,t.path)};case"none":case"seen":return t.path.length<e.currentPath.length&&t.path.every((r,n)=>e.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),we(e)):e.$refStrategy==="seen"?we(e):void 0}},W0=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r);var el=(t,e)=>{let r=ih(e),n=typeof e=="object"&&e.definitions?Object.entries(e.definitions).reduce((c,[u,l])=>({...c,[u]:V(l._def,{...r,currentPath:[...r.basePath,r.definitionPath,u]},!0)??we(r)}),{}):void 0,o=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,s=V(t._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??we(r),i=typeof e=="object"&&e.name!==void 0&&e.nameStrategy==="title"?e.name:void 0;i!==void 0&&(s.title=i),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let a=o===void 0?n?{...s,[r.definitionPath]:n}:s:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,o].join("/"),[r.definitionPath]:{...n,[o]:s}};return r.target==="jsonSchema7"?a.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(a.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in a||"oneOf"in a||"allOf"in a||"type"in a&&Array.isArray(a.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),a};function Y0(t){return!t||t==="jsonSchema7"||t==="draft-7"?"draft-7":t==="jsonSchema2019-09"||t==="draft-2020-12"?"draft-2020-12":"draft-7"}function tl(t,e){return lt(t)?ku(t,{target:Y0(e?.target),io:e?.pipeStrategy??"input"}):el(t,{strictUnions:e?.strictUnions??!0,pipeStrategy:e?.pipeStrategy??"input"})}function rl(t){let r=nr(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=Vs(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function nl(t,e){let r=rr(t,e);if(!r.success)throw r.error;return r.data}var X0=6e4,gi=class{constructor(e){this._options=e,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(Js,r=>{this._oncancel(r)}),this.setNotificationHandler(Ys,r=>{this._onprogress(r)}),this.setRequestHandler(Ws,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Xs,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new N(j.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(ei,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,u=c.id,l=this._requestResolvers.get(u);if(l)if(this._requestResolvers.delete(u),a.type==="response")l(c);else{let d=c,p=new N(d.error.code,d.error.message,d.error.data);l(p)}else{let d=a.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${u}`))}continue}await this._transport?.send(a.message,{relatedRequestId:n.requestId})}}let i=await this._taskStore.getTask(s,n.sessionId);if(!i)throw new N(j.InvalidParams,`Task not found: ${s}`);if(!ir(i.status))return await this._waitForTaskUpdate(s,n.signal),await o();if(ir(i.status)){let a=await this._taskStore.getTaskResult(s,n.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[or]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(ti,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 N(j.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(ni,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new N(j.InvalidParams,`Task not found: ${r.params.taskId}`);if(ir(o.status))throw new N(j.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 N(j.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof N?o:new N(j.InvalidRequest,`Failed to cancel task: ${o instanceof Error?o.message:String(o)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,r,n,o,s=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(o,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:s,onTimeout:o})}_resetTimeout(e){let r=this._timeoutInfo.get(e);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(e),N.fromError(j.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(e){let r=this._timeoutInfo.get(e);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(e))}async connect(e){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=e;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),Ft(s)||bn(s)?this._onresponse(s):sr(s)?this._onrequest(s,i):Gm(s)?this._onnotification(s):this._onerror(new Error(`Unknown message type: ${JSON.stringify(s)}`))},await this._transport.start()}_onclose(){let e=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=N.fromError(j.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of e.values())n(r)}_onerror(e){this.onerror?.(e)}_onnotification(e){let r=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(e)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(e,r){let n=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,o=this._transport,s=e.params?._meta?.[or]?.taskId;if(n===void 0){let l={jsonrpc:"2.0",id:e.id,error:{code:j.MethodNotFound,message:"Method not found"}};s&&this._taskMessageQueue?this._enqueueTaskMessage(s,{type:"error",message:l,timestamp:Date.now()},o?.sessionId).catch(d=>this._onerror(new Error(`Failed to enqueue error response: ${d}`))):o?.send(l).catch(d=>this._onerror(new Error(`Failed to send an error response: ${d}`)));return}let i=new AbortController;this._requestHandlerAbortControllers.set(e.id,i);let a=Fm(e.params)?e.params.task:void 0,c=this._taskStore?this.requestTaskStore(e,o?.sessionId):void 0,u={signal:i.signal,sessionId:o?.sessionId,_meta:e.params?._meta,sendNotification:async l=>{if(i.signal.aborted)return;let d={relatedRequestId:e.id};s&&(d.relatedTask={taskId:s}),await this.notification(l,d)},sendRequest:async(l,d,p)=>{if(i.signal.aborted)throw new N(j.ConnectionClosed,"Request was cancelled");let f={...p,relatedRequestId:e.id};s&&!f.relatedTask&&(f.relatedTask={taskId:s});let m=f.relatedTask?.taskId??s;return m&&c&&await c.updateTaskStatus(m,"input_required"),await this.request(l,d,f)},authInfo:r?.authInfo,requestId:e.id,requestInfo:r?.requestInfo,taskId:s,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(e.method)}).then(()=>n(e,u)).then(async l=>{if(i.signal.aborted)return;let d={result:l,jsonrpc:"2.0",id:e.id};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"response",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)},async l=>{if(i.signal.aborted)return;let d={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(l.code)?l.code:j.InternalError,message:l.message??"Internal error",...l.data!==void 0&&{data:l.data}}};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"error",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)}).catch(l=>this._onerror(new Error(`Failed to send response: ${l}`))).finally(()=>{this._requestHandlerAbortControllers.get(e.id)===i&&this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...n}=e.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(e)}`));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(e){let r=Number(e.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),Ft(e))n(e);else{let i=new N(e.error.code,e.error.message,e.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(e)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let s=!1;if(Ft(e)&&e.result&&typeof e.result=="object"){let i=e.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),Ft(e))o(e);else{let i=N.fromError(e.error.code,e.error.message,e.error.data);o(i)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,r,n){let{task:o}=n??{};if(!o){try{yield{type:"result",result:await this.request(e,r,n)}}catch(i){yield{type:"error",error:i instanceof N?i:new N(j.InternalError,String(i))}}return}let s;try{let i=await this.request(e,wn,n);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new N(j.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},n);if(yield{type:"taskStatus",task:a},ir(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)}:a.status==="failed"?yield{type:"error",error:new N(j.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new N(j.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(u=>setTimeout(u,c)),n?.signal?.throwIfAborted()}}catch(i){yield{type:"error",error:i instanceof N?i:new N(j.InternalError,String(i))}}}request(e,r,n){let{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i,task:a,relatedTask:c}=n??{};return new Promise((u,l)=>{let d=y=>{l(y)};if(!this._transport){d(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),a&&this.assertTaskCapability(e.method)}catch(y){d(y);return}n?.signal?.throwIfAborted();let p=this._requestMessageId++,f={...e,jsonrpc:"2.0",id:p};n?.onprogress&&(this._progressHandlers.set(p,n.onprogress),f.params={...e.params,_meta:{...e.params?._meta||{},progressToken:p}}),a&&(f.params={...f.params,task:a}),c&&(f.params={...f.params,_meta:{...f.params?._meta||{},[or]:c}});let m=y=>{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(y)}},{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(R=>this._onerror(new Error(`Failed to send cancellation: ${R}`)));let $=y instanceof N?y:new N(j.RequestTimeout,String(y));l($)};this._responseHandlers.set(p,y=>{if(!n?.signal?.aborted){if(y instanceof Error)return l(y);try{let $=rr(r,y.result);$.success?u($.data):l($.error)}catch($){l($)}}}),n?.signal?.addEventListener("abort",()=>{m(n?.signal?.reason)});let h=n?.timeout??X0,g=()=>m(N.fromError(j.RequestTimeout,"Request timed out",{timeout:h}));this._setupTimeout(p,h,n?.maxTotalTimeout,g,n?.resetTimeoutOnProgress??!1);let v=c?.taskId;if(v){let y=$=>{let R=this._responseHandlers.get(p);R?R($):this._onerror(new Error(`Response handler missing for side-channeled request ${p}`))};this._requestResolvers.set(p,y),this._enqueueTaskMessage(v,{type:"request",message:f,timestamp:Date.now()}).catch($=>{this._cleanupTimeout(p),l($)})}else this._transport.send(f,{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(y=>{this._cleanupTimeout(p),l(y)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},Qs,r)}async getTaskResult(e,r,n){return this.request({method:"tasks/result",params:e},r,n)}async listTasks(e,r){return this.request({method:"tasks/list",params:e},ri,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},Km,r)}async notification(e,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);let n=r?.relatedTask?.taskId;if(n){let a={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...e.params?._meta||{},[or]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let a={...e,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[or]:r.relatedTask}}}),this._transport?.send(a,r).catch(c=>this._onerror(c))});return}let i={...e,jsonrpc:"2.0"};r?.relatedTask&&(i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[or]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(e,r){let n=rl(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,s)=>{let i=nl(e,o);return Promise.resolve(r(i,s))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,r){let n=rl(e);this._notificationHandlers.set(n,o=>{let s=nl(e,o);return Promise.resolve(r(s))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let r=this._taskProgressTokens.get(e);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,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(e,r,n,o)}async _clearTaskQueue(e,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(e,r);for(let o of n)if(o.type==="request"&&sr(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new N(j.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(s)):this._onerror(new Error(`Resolver missing for request ${s} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let o=await this._taskStore?.getTask(e);o?.pollInterval&&(n=o.pollInterval)}catch{}return new Promise((o,s)=>{if(r.aborted){s(new N(j.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(i),s(new N(j.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async o=>{if(!e)throw new Error("No request provided");return await n.createTask(o,e.id,{method:e.method,params:e.params},r)},getTask:async o=>{let s=await n.getTask(o,r);if(!s)throw new N(j.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=xo.parse({method:"notifications/tasks/status",params:a});await this.notification(c),ir(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 N(j.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(ir(a.status))throw new N(j.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 u=xo.parse({method:"notifications/tasks/status",params:c});await this.notification(u),ir(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function Ch(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function jh(t,e){let r={...t};for(let n in e){let o=n,s=e[o];if(s===void 0)continue;let i=r[o];Ch(i)&&Ch(s)?r[o]={...i,...s}:r[o]=s}return r}var z_=Lp(Ud(),1),T_=Lp(R_(),1);function rP(){let t=new z_.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,T_.default)(t),t}var Yi=class{constructor(e){this._ajv=e??rP()}getValidator(e){let r="$id"in e&&typeof e.$id=="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var Xi=class{constructor(e){this._server=e}requestStream(e,r,n){return this._server.requestStream(e,r,n)}createMessageStream(e,r){let n=this._server.getClientCapabilities();if((e.tools||e.toolChoice)&&!n?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let o=e.messages[e.messages.length-1],s=Array.isArray(o.content)?o.content:[o.content],i=s.some(l=>l.type==="tool_result"),a=e.messages.length>1?e.messages[e.messages.length-2]:void 0,c=a?Array.isArray(a.content)?a.content:[a.content]:[],u=c.some(l=>l.type==="tool_use");if(i){if(s.some(l=>l.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!u)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(u){let l=new Set(c.filter(p=>p.type==="tool_use").map(p=>p.id)),d=new Set(s.filter(p=>p.type==="tool_result").map(p=>p.toolUseId));if(l.size!==d.size||![...l].every(p=>d.has(p)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return this.requestStream({method:"sampling/createMessage",params:e},Ro,r)}elicitInputStream(e,r){let n=this._server.getClientCapabilities(),o=e.mode??"form";switch(o){case"url":{if(!n?.elicitation?.url)throw new Error("Client does not support url elicitation.");break}case"form":{if(!n?.elicitation?.form)throw new Error("Client does not support form elicitation.");break}}let s=o==="form"&&e.mode===void 0?{...e,mode:"form"}:e;return this.requestStream({method:"elicitation/create",params:s},Sn,r)}async getTask(e,r){return this._server.getTask({taskId:e},r)}async getTaskResult(e,r,n){return this._server.getTaskResult({taskId:e},r,n)}async listTasks(e,r){return this._server.listTasks(e?{cursor:e}:void 0,r)}async cancelTask(e,r){return this._server.cancelTask({taskId:e},r)}};function E_(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"tools/call":if(!t.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${e})`);break;default:break}}function P_(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"sampling/createMessage":if(!t.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${e})`);break;case"elicitation/create":if(!t.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${e})`);break;default:break}}var Qi=class extends gi{constructor(e,r){super(r),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(ko.options.map((n,o)=>[n,o])),this.isMessageIgnored=(n,o)=>{let s=this._loggingLevels.get(o);return s?this.LOG_LEVEL_SEVERITY.get(n)<this.LOG_LEVEL_SEVERITY.get(s):!1},this._capabilities=r?.capabilities??{},this._instructions=r?.instructions,this._jsonSchemaValidator=r?.jsonSchemaValidator??new Yi,this.setRequestHandler(Ks,n=>this._oninitialize(n)),this.setNotificationHandler(qu,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(Gu,async(n,o)=>{let s=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:i}=n.params,a=ko.safeParse(i);return a.success&&this._loggingLevels.set(s,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new Xi(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=jh(this._capabilities,e)}setRequestHandler(e,r){let o=nr(e)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(lt(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");if(s==="tools/call"){let a=async(c,u)=>{let l=rr(xn,c);if(!l.success){let m=l.error instanceof Error?l.error.message:String(l.error);throw new N(j.InvalidParams,`Invalid tools/call request: ${m}`)}let{params:d}=l.data,p=await Promise.resolve(r(c,u));if(d.task){let m=rr(wn,p);if(!m.success){let h=m.error instanceof Error?m.error.message:String(m.error);throw new N(j.InvalidParams,`Invalid task creation result: ${h}`)}return m.data}let f=rr(li,p);if(!f.success){let m=f.error instanceof Error?f.error.message:String(f.error);throw new N(j.InvalidParams,`Invalid tools/call result: ${m}`)}return f.data};return super.setRequestHandler(e,a)}return super.setRequestHandler(e,r)}assertCapabilityForMethod(e){switch(e){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${e})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${e})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${e})`);break;case"ping":break}}assertNotificationCapability(e){switch(e){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${e})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${e})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${e})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${e})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${e})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Server does not support tasks capability (required for ${e})`);break;case"ping":case"initialize":break}}assertTaskCapability(e){P_(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&E_(this._capabilities.tasks?.requests,e,"Server")}async _oninitialize(e){let r=e.params.protocolVersion;return this._clientCapabilities=e.params.capabilities,this._clientVersion=e.params.clientInfo,{protocolVersion:vn.includes(r)?r:ju,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},Gs)}async createMessage(e,r){if((e.tools||e.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let n=e.messages[e.messages.length-1],o=Array.isArray(n.content)?n.content:[n.content],s=o.some(u=>u.type==="tool_result"),i=e.messages.length>1?e.messages[e.messages.length-2]:void 0,a=i?Array.isArray(i.content)?i.content:[i.content]:[],c=a.some(u=>u.type==="tool_use");if(s){if(o.some(u=>u.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!c)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(c){let u=new Set(a.filter(d=>d.type==="tool_use").map(d=>d.id)),l=new Set(o.filter(d=>d.type==="tool_result").map(d=>d.toolUseId));if(u.size!==l.size||![...u].every(d=>l.has(d)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return e.tools?this.request({method:"sampling/createMessage",params:e},Ju,r):this.request({method:"sampling/createMessage",params:e},Ro,r)}async elicitInput(e,r){switch(e.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support url elicitation.");let o=e;return this.request({method:"elicitation/create",params:o},Sn,r)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw new Error("Client does not support form elicitation.");let o=e.mode==="form"?e:{...e,mode:"form"},s=await this.request({method:"elicitation/create",params:o},Sn,r);if(s.action==="accept"&&s.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(s.content);if(!a.valid)throw new N(j.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(i){throw i instanceof N?i:new N(j.InternalError,`Error validating elicitation response: ${i instanceof Error?i.message:String(i)}`)}return s}}}createElicitationCompletionNotifier(e,r){if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:e}},r)}async listRoots(e,r){return this.request({method:"roots/list",params:e},Ku,r)}async sendLoggingMessage(e,r){if(this._capabilities.logging&&!this.isMessageIgnored(e.level,r))return this.notification({method:"notifications/message",params:e})}async sendResourceUpdated(e){return this.notification({method:"notifications/resources/updated",params:e})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}};var O_=Symbol.for("mcp.completable");function Yd(t){return!!t&&typeof t=="object"&&O_ in t}function N_(t){return t[O_]?.complete}var I_;(function(t){t.Completable="McpCompletable"})(I_||(I_={}));var nP=/^[A-Za-z0-9._-]{1,128}$/;function oP(t){let e=[];if(t.length===0)return{isValid:!1,warnings:["Tool name cannot be empty"]};if(t.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${t.length})`]};if(t.includes(" ")&&e.push("Tool name contains spaces, which may cause parsing issues"),t.includes(",")&&e.push("Tool name contains commas, which may cause parsing issues"),(t.startsWith("-")||t.endsWith("-"))&&e.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts"),(t.startsWith(".")||t.endsWith("."))&&e.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts"),!nP.test(t)){let r=t.split("").filter(n=>!/[A-Za-z0-9._-]/.test(n)).filter((n,o,s)=>s.indexOf(n)===o);return e.push(`Tool name contains invalid characters: ${r.map(n=>`"${n}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:e}}return{isValid:!0,warnings:e}}function sP(t,e){if(e.length>0){console.warn(`Tool name validation warning for "${t}":`);for(let r of e)console.warn(` - ${r}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function Xd(t){let e=oP(t);return sP(t,e.warnings),e.isValid}var ea=class{constructor(e){this._mcpServer=e}registerToolTask(e,r,n){let o={taskSupport:"required",...r.execution};if(o.taskSupport==="forbidden")throw new Error(`Cannot register task-based tool '${e}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(e,r.title,r.description,r.inputSchema,r.outputSchema,r.annotations,o,r._meta,n)}};var ta=class{constructor(e,r){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new Qi(e,r)}get experimental(){return this._experimental||(this._experimental={tasks:new ea(this)}),this._experimental}async connect(e){return await this.server.connect(e)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(hr(ui)),this.server.assertCanSetRequestHandler(hr(xn)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(ui,()=>({tools:Object.entries(this._registeredTools).filter(([,e])=>e.enabled).map(([e,r])=>{let n={name:e,title:r.title,description:r.description,inputSchema:(()=>{let o=yn(r.inputSchema);return o?tl(o,{strictUnions:!0,pipeStrategy:"input"}):iP})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let o=yn(r.outputSchema);o&&(n.outputSchema=tl(o,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(xn,async(e,r)=>{try{let n=this._registeredTools[e.params.name];if(!n)throw new N(j.InvalidParams,`Tool ${e.params.name} not found`);if(!n.enabled)throw new N(j.InvalidParams,`Tool ${e.params.name} disabled`);let o=!!e.params.task,s=n.execution?.taskSupport,i="createTask"in n.handler;if((s==="required"||s==="optional")&&!i)throw new N(j.InternalError,`Tool ${e.params.name} has taskSupport '${s}' but was not registered with registerToolTask`);if(s==="required"&&!o)throw new N(j.MethodNotFound,`Tool ${e.params.name} requires task augmentation (taskSupport: 'required')`);if(s==="optional"&&!o&&i)return await this.handleAutomaticTaskPolling(n,e,r);let a=await this.validateToolInput(n,e.params.arguments,e.params.name),c=await this.executeToolHandler(n,a,r);return o||await this.validateToolOutput(n,c,e.params.name),c}catch(n){if(n instanceof N&&n.code===j.UrlElicitationRequired)throw n;return this.createToolError(n instanceof Error?n.message:String(n))}}),this._toolHandlersInitialized=!0)}createToolError(e){return{content:[{type:"text",text:e}],isError:!0}}async validateToolInput(e,r,n){if(!e.inputSchema)return;let s=yn(e.inputSchema)??e.inputSchema,i=await Ds(s,r);if(!i.success){let a="error"in i?i.error:"Unknown error",c=qs(a);throw new N(j.InvalidParams,`Input validation error: Invalid arguments for tool ${n}: ${c}`)}return i.data}async validateToolOutput(e,r,n){if(!e.outputSchema||!("content"in r)||r.isError)return;if(!r.structuredContent)throw new N(j.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let o=yn(e.outputSchema),s=await Ds(o,r.structuredContent);if(!s.success){let i="error"in s?s.error:"Unknown error",a=qs(i);throw new N(j.InvalidParams,`Output validation error: Invalid structured content for tool ${n}: ${a}`)}}async executeToolHandler(e,r,n){let o=e.handler;if("createTask"in o){if(!n.taskStore)throw new Error("No task store provided.");let i={...n,taskStore:n.taskStore};if(e.inputSchema){let a=o;return await Promise.resolve(a.createTask(r,i))}else{let a=o;return await Promise.resolve(a.createTask(i))}}if(e.inputSchema){let i=o;return await Promise.resolve(i(r,n))}else{let i=o;return await Promise.resolve(i(n))}}async handleAutomaticTaskPolling(e,r,n){if(!n.taskStore)throw new Error("No task store provided for task-capable tool.");let o=await this.validateToolInput(e,r.params.arguments,r.params.name),s=e.handler,i={...n,taskStore:n.taskStore},a=o?await Promise.resolve(s.createTask(o,i)):await Promise.resolve(s.createTask(i)),c=a.task.taskId,u=a.task,l=u.pollInterval??5e3;for(;u.status!=="completed"&&u.status!=="failed"&&u.status!=="cancelled";){await new Promise(p=>setTimeout(p,l));let d=await n.taskStore.getTask(c);if(!d)throw new N(j.InternalError,`Task ${c} not found during polling`);u=d}return await n.taskStore.getTaskResult(c)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(hr(di)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(di,async e=>{switch(e.params.ref.type){case"ref/prompt":return th(e),this.handlePromptCompletion(e,e.params.ref);case"ref/resource":return rh(e),this.handleResourceCompletion(e,e.params.ref);default:throw new N(j.InvalidParams,`Invalid completion reference: ${e.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(e,r){let n=this._registeredPrompts[r.name];if(!n)throw new N(j.InvalidParams,`Prompt ${r.name} not found`);if(!n.enabled)throw new N(j.InvalidParams,`Prompt ${r.name} disabled`);if(!n.argsSchema)return ns;let s=nr(n.argsSchema)?.[e.params.argument.name];if(!Yd(s))return ns;let i=N_(s);if(!i)return ns;let a=await i(e.params.argument.value,e.params.context);return C_(a)}async handleResourceCompletion(e,r){let n=Object.values(this._registeredResourceTemplates).find(i=>i.resourceTemplate.uriTemplate.toString()===r.uri);if(!n){if(this._registeredResources[r.uri])return ns;throw new N(j.InvalidParams,`Resource template ${e.params.ref.uri} not found`)}let o=n.resourceTemplate.completeCallback(e.params.argument.name);if(!o)return ns;let s=await o(e.params.argument.value,e.params.context);return C_(s)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(hr(oi)),this.server.assertCanSetRequestHandler(hr(si)),this.server.assertCanSetRequestHandler(hr(ii)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(oi,async(e,r)=>{let n=Object.entries(this._registeredResources).filter(([s,i])=>i.enabled).map(([s,i])=>({uri:s,name:i.name,...i.metadata})),o=[];for(let s of Object.values(this._registeredResourceTemplates)){if(!s.resourceTemplate.listCallback)continue;let i=await s.resourceTemplate.listCallback(r);for(let a of i.resources)o.push({...s.metadata,...a})}return{resources:[...n,...o]}}),this.server.setRequestHandler(si,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(ii,async(e,r)=>{let n=new URL(e.params.uri),o=this._registeredResources[n.toString()];if(o){if(!o.enabled)throw new N(j.InvalidParams,`Resource ${n} disabled`);return o.readCallback(n,r)}for(let s of Object.values(this._registeredResourceTemplates)){let i=s.resourceTemplate.uriTemplate.match(n.toString());if(i)return s.readCallback(n,i,r)}throw new N(j.InvalidParams,`Resource ${n} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(hr(ai)),this.server.assertCanSetRequestHandler(hr(ci)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(ai,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,e])=>e.enabled).map(([e,r])=>({name:e,title:r.title,description:r.description,arguments:r.argsSchema?aP(r.argsSchema):void 0}))})),this.server.setRequestHandler(ci,async(e,r)=>{let n=this._registeredPrompts[e.params.name];if(!n)throw new N(j.InvalidParams,`Prompt ${e.params.name} not found`);if(!n.enabled)throw new N(j.InvalidParams,`Prompt ${e.params.name} disabled`);if(n.argsSchema){let o=yn(n.argsSchema),s=await Ds(o,e.params.arguments);if(!s.success){let c="error"in s?s.error:"Unknown error",u=qs(c);throw new N(j.InvalidParams,`Invalid arguments for prompt ${e.params.name}: ${u}`)}let i=s.data,a=n.callback;return await Promise.resolve(a(i,r))}else{let o=n.callback;return await Promise.resolve(o(r))}}),this._promptHandlersInitialized=!0)}resource(e,r,...n){let o;typeof n[0]=="object"&&(o=n.shift());let s=n[0];if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let i=this._createRegisteredResource(e,void 0,r,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}else{if(this._registeredResourceTemplates[e])throw new Error(`Resource template ${e} is already registered`);let i=this._createRegisteredResourceTemplate(e,void 0,r,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}}registerResource(e,r,n,o){if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let s=this._createRegisteredResource(e,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}else{if(this._registeredResourceTemplates[e])throw new Error(`Resource template ${e} is already registered`);let s=this._createRegisteredResourceTemplate(e,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}}_createRegisteredResource(e,r,n,o,s){let i={name:e,title:r,metadata:o,readCallback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({uri:null}),update:a=>{typeof a.uri<"u"&&a.uri!==n&&(delete this._registeredResources[n],a.uri&&(this._registeredResources[a.uri]=i)),typeof a.name<"u"&&(i.name=a.name),typeof a.title<"u"&&(i.title=a.title),typeof a.metadata<"u"&&(i.metadata=a.metadata),typeof a.callback<"u"&&(i.readCallback=a.callback),typeof a.enabled<"u"&&(i.enabled=a.enabled),this.sendResourceListChanged()}};return this._registeredResources[n]=i,i}_createRegisteredResourceTemplate(e,r,n,o,s){let i={resourceTemplate:n,title:r,metadata:o,readCallback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({name:null}),update:u=>{typeof u.name<"u"&&u.name!==e&&(delete this._registeredResourceTemplates[e],u.name&&(this._registeredResourceTemplates[u.name]=i)),typeof u.title<"u"&&(i.title=u.title),typeof u.template<"u"&&(i.resourceTemplate=u.template),typeof u.metadata<"u"&&(i.metadata=u.metadata),typeof u.callback<"u"&&(i.readCallback=u.callback),typeof u.enabled<"u"&&(i.enabled=u.enabled),this.sendResourceListChanged()}};this._registeredResourceTemplates[e]=i;let a=n.uriTemplate.variableNames;return Array.isArray(a)&&a.some(u=>!!n.completeCallback(u))&&this.setCompletionRequestHandler(),i}_createRegisteredPrompt(e,r,n,o,s){let i={title:r,description:n,argsSchema:o===void 0?void 0:Dr(o),callback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({name:null}),update:a=>{typeof a.name<"u"&&a.name!==e&&(delete this._registeredPrompts[e],a.name&&(this._registeredPrompts[a.name]=i)),typeof a.title<"u"&&(i.title=a.title),typeof a.description<"u"&&(i.description=a.description),typeof a.argsSchema<"u"&&(i.argsSchema=Dr(a.argsSchema)),typeof a.callback<"u"&&(i.callback=a.callback),typeof a.enabled<"u"&&(i.enabled=a.enabled),this.sendPromptListChanged()}};return this._registeredPrompts[e]=i,o&&Object.values(o).some(c=>{let u=c instanceof Je?c._def?.innerType:c;return Yd(u)})&&this.setCompletionRequestHandler(),i}_createRegisteredTool(e,r,n,o,s,i,a,c,u){Xd(e);let l={title:r,description:n,inputSchema:A_(o),outputSchema:A_(s),annotations:i,execution:a,_meta:c,handler:u,enabled:!0,disable:()=>l.update({enabled:!1}),enable:()=>l.update({enabled:!0}),remove:()=>l.update({name:null}),update:d=>{typeof d.name<"u"&&d.name!==e&&(typeof d.name=="string"&&Xd(d.name),delete this._registeredTools[e],d.name&&(this._registeredTools[d.name]=l)),typeof d.title<"u"&&(l.title=d.title),typeof d.description<"u"&&(l.description=d.description),typeof d.paramsSchema<"u"&&(l.inputSchema=Dr(d.paramsSchema)),typeof d.outputSchema<"u"&&(l.outputSchema=Dr(d.outputSchema)),typeof d.callback<"u"&&(l.handler=d.callback),typeof d.annotations<"u"&&(l.annotations=d.annotations),typeof d._meta<"u"&&(l._meta=d._meta),typeof d.enabled<"u"&&(l.enabled=d.enabled),this.sendToolListChanged()}};return this._registeredTools[e]=l,this.setToolRequestHandlers(),this.sendToolListChanged(),l}tool(e,...r){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let n,o,s,i;if(typeof r[0]=="string"&&(n=r.shift()),r.length>1){let c=r[0];if(Qd(c))o=r.shift(),r.length>1&&typeof r[0]=="object"&&r[0]!==null&&!Qd(r[0])&&(i=r.shift());else if(typeof c=="object"&&c!==null){if(Object.values(c).some(u=>typeof u=="object"&&u!==null))throw new Error(`Tool ${e} expected a Zod schema or ToolAnnotations, but received an unrecognized object`);i=r.shift()}}let a=r[0];return this._createRegisteredTool(e,void 0,n,o,s,i,{taskSupport:"forbidden"},void 0,a)}registerTool(e,r,n){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let{title:o,description:s,inputSchema:i,outputSchema:a,annotations:c,_meta:u}=r;return this._createRegisteredTool(e,o,s,i,a,c,{taskSupport:"forbidden"},u,n)}prompt(e,...r){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let n;typeof r[0]=="string"&&(n=r.shift());let o;r.length>1&&(o=r.shift());let s=r[0],i=this._createRegisteredPrompt(e,void 0,n,o,s);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),i}registerPrompt(e,r,n){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let{title:o,description:s,argsSchema:i}=r,a=this._createRegisteredPrompt(e,o,s,i,n);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(e,r){return this.server.sendLoggingMessage(e,r)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}};var iP={type:"object",properties:{}};function j_(t){return t!==null&&typeof t=="object"&&"parse"in t&&typeof t.parse=="function"&&"safeParse"in t&&typeof t.safeParse=="function"}function M_(t){return"_def"in t||"_zod"in t||j_(t)}function Qd(t){return typeof t!="object"||t===null||M_(t)?!1:Object.keys(t).length===0?!0:Object.values(t).some(j_)}function A_(t){if(t){if(Qd(t))return Dr(t);if(!M_(t))throw new Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return t}}function aP(t){let e=nr(t);return e?Object.entries(e).map(([r,n])=>{let o=ym(n),s=_m(n);return{name:r,description:o,required:!s}}):[]}function hr(t){let r=nr(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=Vs(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function C_(t){return{completion:{values:t.slice(0,100),total:t.length,hasMore:t.length>100}}}var ns={completion:{values:[],hasMore:!1}};import D_ from"node:process";var ra=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(`
42
- `);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),cP(r)}clear(){this._buffer=void 0}};function cP(t){return yo.parse(JSON.parse(t))}function Z_(t){return JSON.stringify(t)+`
43
- `}var na=class{constructor(e=D_.stdin,r=D_.stdout){this._stdin=e,this._stdout=r,this._readBuffer=new ra,this._started=!1,this._ondata=n=>{this._readBuffer.append(n),this.processReadBuffer()},this._onerror=n=>{this.onerror?.(n)}}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){for(;;)try{let e=this._readBuffer.readMessage();if(e===null)break;this.onmessage?.(e)}catch(e){this.onerror?.(e)}}async close(){this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0&&this._stdin.pause(),this._readBuffer.clear(),this.onclose?.()}send(e){return new Promise(r=>{let n=Z_(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};import{Http2ServerRequest as L_,constants as uP}from"http2";import{Http2ServerRequest as ep}from"http2";import{Readable as q_}from"stream";import bP from"crypto";var Yr=class extends Error{constructor(t,e){super(t,e),this.name="RequestError"}},lP=t=>t instanceof Yr?t:new Yr(t.message,{cause:t}),dP=global.Request,os=class extends dP{constructor(t,e){typeof t=="object"&&Bn in t&&(t=t[Bn]()),typeof e?.body?.getReader<"u"&&(e.duplex??="half"),super(t,e)}},pP=t=>{let e=[],r=t.rawHeaders;for(let n=0;n<r.length;n+=2){let{[n]:o,[n+1]:s}=r;o.charCodeAt(0)!==58&&e.push([o,s])}return new Headers(e)},U_=Symbol("wrapBodyStream"),fP=(t,e,r,n,o)=>{let s={method:t,headers:r,signal:o.signal};if(t==="TRACE"){s.method="GET";let i=new os(e,s);return Object.defineProperty(i,"method",{get(){return"TRACE"}}),i}if(!(t==="GET"||t==="HEAD"))if("rawBody"in n&&n.rawBody instanceof Buffer)s.body=new ReadableStream({start(i){i.enqueue(n.rawBody),i.close()}});else if(n[U_]){let i;s.body=new ReadableStream({async pull(a){try{i||=q_.toWeb(n).getReader();let{done:c,value:u}=await i.read();c?a.close():a.enqueue(u)}catch(c){a.error(c)}}})}else s.body=q_.toWeb(n);return new os(e,s)},Bn=Symbol("getRequestCache"),F_=Symbol("requestCache"),oa=Symbol("incomingKey"),sa=Symbol("urlKey"),mP=Symbol("headersKey"),Fn=Symbol("abortControllerKey"),hP=Symbol("getAbortController"),ss={get method(){return this[oa].method||"GET"},get url(){return this[sa]},get headers(){return this[mP]||=pP(this[oa])},[hP](){return this[Bn](),this[Fn]},[Bn](){return this[Fn]||=new AbortController,this[F_]||=fP(this.method,this[sa],this.headers,this[oa],this[Fn])}};["body","bodyUsed","cache","credentials","destination","integrity","mode","redirect","referrer","referrerPolicy","signal","keepalive"].forEach(t=>{Object.defineProperty(ss,t,{get(){return this[Bn]()[t]}})});["arrayBuffer","blob","clone","formData","json","text"].forEach(t=>{Object.defineProperty(ss,t,{value:function(){return this[Bn]()[t]()}})});Object.defineProperty(ss,Symbol.for("nodejs.util.inspect.custom"),{value:function(t,e,r){let n={method:this.method,url:this.url,headers:this.headers,nativeRequest:this[F_]};return`Request (lightweight) ${r(n,{...e,depth:t==null?null:t-1})}`}});Object.setPrototypeOf(ss,os.prototype);var gP=(t,e)=>{let r=Object.create(ss);r[oa]=t;let n=t.url||"";if(n[0]!=="/"&&(n.startsWith("http://")||n.startsWith("https://"))){if(t instanceof ep)throw new Yr("Absolute URL for :path is not allowed in HTTP/2");try{let a=new URL(n);r[sa]=a.href}catch(a){throw new Yr("Invalid absolute URL",{cause:a})}return r}let o=(t instanceof ep?t.authority:t.headers.host)||e;if(!o)throw new Yr("Missing host header");let s;if(t instanceof ep){if(s=t.scheme,!(s==="http"||s==="https"))throw new Yr("Unsupported scheme")}else s=t.socket&&t.socket.encrypted?"https":"http";let i=new URL(`${s}://${o}${n}`);if(i.hostname.length!==o.length&&i.hostname!==o.replace(/:\d+$/,""))throw new Yr("Invalid host header");return r[sa]=i.href,r},rp=Symbol("responseCache"),Un=Symbol("getResponseCache"),Xr=Symbol("cache"),sp=global.Response,Hn=class B_{#t;#e;[Un](){return delete this[Xr],this[rp]||=new sp(this.#t,this.#e)}constructor(e,r){let n;if(this.#t=e,r instanceof B_){let o=r[rp];if(o){this.#e=o,this[Un]();return}else this.#e=r.#e,n=new Headers(r.#e.headers)}else this.#e=r;(typeof e=="string"||typeof e?.getReader<"u"||e instanceof Blob||e instanceof Uint8Array)&&(this[Xr]=[r?.status||200,e,n||r?.headers])}get headers(){let e=this[Xr];return e?(e[2]instanceof Headers||(e[2]=new Headers(e[2]||{"content-type":"text/plain; charset=UTF-8"})),e[2]):this[Un]().headers}get status(){return this[Xr]?.[0]??this[Un]().status}get ok(){let e=this.status;return e>=200&&e<300}};["body","bodyUsed","redirected","statusText","trailers","type","url"].forEach(t=>{Object.defineProperty(Hn.prototype,t,{get(){return this[Un]()[t]}})});["arrayBuffer","blob","clone","formData","json","text"].forEach(t=>{Object.defineProperty(Hn.prototype,t,{value:function(){return this[Un]()[t]()}})});Object.defineProperty(Hn.prototype,Symbol.for("nodejs.util.inspect.custom"),{value:function(t,e,r){let n={status:this.status,headers:this.headers,ok:this.ok,nativeResponse:this[rp]};return`Response (lightweight) ${r(n,{...e,depth:t==null?null:t-1})}`}});Object.setPrototypeOf(Hn,sp);Object.setPrototypeOf(Hn.prototype,sp.prototype);async function yP(t){return Promise.race([t,Promise.resolve().then(()=>Promise.resolve(void 0))])}function H_(t,e,r){let n=a=>{t.cancel(a).catch(()=>{})};return e.on("close",n),e.on("error",n),(r??t.read()).then(i,o),t.closed.finally(()=>{e.off("close",n),e.off("error",n)});function o(a){a&&e.destroy(a)}function s(){t.read().then(i,o)}function i({done:a,value:c}){try{if(a)e.end();else if(!e.write(c))e.once("drain",s);else return t.read().then(i,o)}catch(u){o(u)}}}function _P(t,e){if(t.locked)throw new TypeError("ReadableStream is locked.");return e.destroyed?void 0:H_(t.getReader(),e)}var np=t=>{let e={};t instanceof Headers||(t=new Headers(t??void 0));let r=[];for(let[n,o]of t)n==="set-cookie"?r.push(o):e[n]=o;return r.length>0&&(e["set-cookie"]=r),e["content-type"]??="text/plain; charset=UTF-8",e},vP="x-hono-already-sent";typeof global.crypto>"u"&&(global.crypto=bP);var ip=Symbol("outgoingEnded"),V_=Symbol("incomingDraining"),wP=500,$P=64*1024*1024,tp=t=>{let e=t;if(t.destroyed||e[V_])return;if(e[V_]=!0,t instanceof L_){try{t.stream?.close?.(uP.NGHTTP2_NO_ERROR)}catch{}return}let r=0,n=()=>{clearTimeout(s),t.off("data",i),t.off("end",n),t.off("error",n)},o=()=>{n();let a=t.socket;a&&!a.destroyed&&a.destroySoon()},s=setTimeout(o,wP);s.unref?.();let i=a=>{r+=a.length,r>$P&&o()};t.on("data",i),t.on("end",n),t.on("error",n),t.resume()},xP=()=>new Response(null,{status:400}),G_=t=>new Response(null,{status:t instanceof Error&&(t.name==="TimeoutError"||t.constructor.name==="TimeoutError")?504:500}),op=(t,e)=>{let r=t instanceof Error?t:new Error("unknown error",{cause:t});r.code==="ERR_STREAM_PREMATURE_CLOSE"?console.info("The user aborted a request."):(console.error(t),e.headersSent||e.writeHead(500,{"Content-Type":"text/plain"}),e.end(`Error: ${r.message}`),e.destroy(r))},J_=t=>{"flushHeaders"in t&&t.writable&&t.flushHeaders()},K_=async(t,e)=>{let[r,n,o]=t[Xr],s=!1;if(!o)o={"content-type":"text/plain; charset=UTF-8"};else if(o instanceof Headers)s=o.has("content-length"),o=np(o);else if(Array.isArray(o)){let i=new Headers(o);s=i.has("content-length"),o=np(i)}else for(let i in o)if(i.length===14&&i.toLowerCase()==="content-length"){s=!0;break}s||(typeof n=="string"?o["Content-Length"]=Buffer.byteLength(n):n instanceof Uint8Array?o["Content-Length"]=n.byteLength:n instanceof Blob&&(o["Content-Length"]=n.size)),e.writeHead(r,o),typeof n=="string"||n instanceof Uint8Array?e.end(n):n instanceof Blob?e.end(new Uint8Array(await n.arrayBuffer())):(J_(e),await _P(n,e)?.catch(i=>op(i,e))),e[ip]?.()},SP=t=>typeof t.then=="function",kP=async(t,e,r={})=>{if(SP(t))if(r.errorHandler)try{t=await t}catch(o){let s=await r.errorHandler(o);if(!s)return;t=s}else t=await t.catch(G_);if(Xr in t)return K_(t,e);let n=np(t.headers);if(t.body){let o=t.body.getReader(),s=[],i=!1,a;if(n["transfer-encoding"]!=="chunked"){let c=2;for(let u=0;u<c;u++){a||=o.read();let l=await yP(a).catch(d=>{console.error(d),i=!0});if(!l){if(u===1){await new Promise(d=>setTimeout(d)),c=3;continue}break}if(a=void 0,l.value&&s.push(l.value),l.done){i=!0;break}}i&&!("content-length"in n)&&(n["content-length"]=s.reduce((u,l)=>u+l.length,0))}e.writeHead(t.status,n),s.forEach(c=>{e.write(c)}),i?e.end():(s.length===0&&J_(e),await H_(o,e,a))}else n[vP]||(e.writeHead(t.status,n),e.end());e[ip]?.()},ap=(t,e={})=>{let r=e.autoCleanupIncoming??!0;return e.overrideGlobalObjects!==!1&&global.Request!==os&&(Object.defineProperty(global,"Request",{value:os}),Object.defineProperty(global,"Response",{value:Hn})),async(n,o)=>{let s,i;try{i=gP(n,e.hostname);let a=!r||n.method==="GET"||n.method==="HEAD";if(a||(n[U_]=!0,n.on("end",()=>{a=!0}),n instanceof L_&&(o[ip]=()=>{a||setTimeout(()=>{a||setTimeout(()=>{tp(n)})})}),o.on("finish",()=>{a||tp(n)})),o.on("close",()=>{i[Fn]&&(n.errored?i[Fn].abort(n.errored.toString()):o.writableFinished||i[Fn].abort("Client connection prematurely closed.")),a||setTimeout(()=>{a||setTimeout(()=>{tp(n)})})}),s=t(i,{incoming:n,outgoing:o}),Xr in s)return K_(s,o)}catch(a){if(s)return op(a,o);if(e.errorHandler){if(s=await e.errorHandler(i?a:lP(a)),!s)return}else i?s=G_(a):s=xP()}try{return await kP(s,o,e)}catch(a){return op(a,o)}}};var ia=class{constructor(e={}){this._started=!1,this._hasHandledRequest=!1,this._streamMapping=new Map,this._requestToStreamMapping=new Map,this._requestResponseMap=new Map,this._initialized=!1,this._enableJsonResponse=!1,this._standaloneSseStreamId="_GET_stream",this.sessionIdGenerator=e.sessionIdGenerator,this._enableJsonResponse=e.enableJsonResponse??!1,this._eventStore=e.eventStore,this._onsessioninitialized=e.onsessioninitialized,this._onsessionclosed=e.onsessionclosed,this._allowedHosts=e.allowedHosts,this._allowedOrigins=e.allowedOrigins,this._enableDnsRebindingProtection=e.enableDnsRebindingProtection??!1,this._retryInterval=e.retryInterval}async start(){if(this._started)throw new Error("Transport already started");this._started=!0}createJsonErrorResponse(e,r,n,o){let s={code:r,message:n};return o?.data!==void 0&&(s.data=o.data),new Response(JSON.stringify({jsonrpc:"2.0",error:s,id:null}),{status:e,headers:{"Content-Type":"application/json",...o?.headers}})}validateRequestHeaders(e){if(this._enableDnsRebindingProtection){if(this._allowedHosts&&this._allowedHosts.length>0){let r=e.headers.get("host");if(!r||!this._allowedHosts.includes(r)){let n=`Invalid Host header: ${r}`;return this.onerror?.(new Error(n)),this.createJsonErrorResponse(403,-32e3,n)}}if(this._allowedOrigins&&this._allowedOrigins.length>0){let r=e.headers.get("origin");if(r&&!this._allowedOrigins.includes(r)){let n=`Invalid Origin header: ${r}`;return this.onerror?.(new Error(n)),this.createJsonErrorResponse(403,-32e3,n)}}}}async handleRequest(e,r){if(!this.sessionIdGenerator&&this._hasHandledRequest)throw new Error("Stateless transport cannot be reused across requests. Create a new transport per request.");this._hasHandledRequest=!0;let n=this.validateRequestHeaders(e);if(n)return n;switch(e.method){case"POST":return this.handlePostRequest(e,r);case"GET":return this.handleGetRequest(e);case"DELETE":return this.handleDeleteRequest(e);default:return this.handleUnsupportedRequest()}}async writePrimingEvent(e,r,n,o){if(!this._eventStore||o<"2025-11-25")return;let s=await this._eventStore.storeEvent(n,{}),i=`id: ${s}
41
+ ]`;continue}o+=n[c],n[c]==="\\"?s=!0:i&&n[c]==="]"?i=!1:!i&&n[c]==="["&&(i=!0)}try{new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${e.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),t.source}return o}function gi(t,e){if(e.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),e.target==="openApi3"&&t.keyType?._def.typeName===S.ZodEnum)return{type:"object",required:t.keyType._def.values,properties:t.keyType._def.values.reduce((n,o)=>({...n,[o]:V(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",o]})??we(e)}),{}),additionalProperties:e.rejectedAdditionalProperties};let r={type:"object",additionalProperties:V(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??e.allowedAdditionalProperties};if(e.target==="openApi3")return r;if(t.keyType?._def.typeName===S.ZodString&&t.keyType._def.checks?.length){let{type:n,...o}=hi(t.keyType._def,e);return{...r,propertyNames:o}}else{if(t.keyType?._def.typeName===S.ZodEnum)return{...r,propertyNames:{enum:t.keyType._def.values}};if(t.keyType?._def.typeName===S.ZodBranded&&t.keyType._def.type._def.typeName===S.ZodString&&t.keyType._def.type._def.checks?.length){let{type:n,...o}=mi(t.keyType._def,e);return{...r,propertyNames:o}}}return r}function _h(t,e){if(e.mapStrategy==="record")return gi(t,e);let r=V(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||we(e),n=V(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||we(e);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function vh(t){let e=t.values,n=Object.keys(t.values).filter(s=>typeof e[e[s]]!="number").map(s=>e[s]),o=Array.from(new Set(n.map(s=>typeof s)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:n}}function bh(t){return t.target==="openAi"?void 0:{not:we({...t,currentPath:[...t.currentPath,"not"]})}}function wh(t){return t.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var zo={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function xh(t,e){if(e.target==="openApi3")return $h(t,e);let r=t.options instanceof Map?Array.from(t.options.values()):t.options;if(r.every(n=>n._def.typeName in zo&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,s)=>{let i=zo[s._def.typeName];return i&&!o.includes(i)?[...o,i]:o},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((o,s)=>{let i=typeof s._def.value;switch(i){case"string":case"number":case"boolean":return[...o,i];case"bigint":return[...o,"integer"];case"object":if(s._def.value===null)return[...o,"null"];case"symbol":case"undefined":case"function":default:return o}},[]);if(n.length===r.length){let o=n.filter((s,i,a)=>a.indexOf(s)===i);return{type:o.length>1?o:o[0],enum:r.reduce((s,i)=>s.includes(i._def.value)?s:[...s,i._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,o)=>[...n,...o._def.values.filter(s=>!n.includes(s))],[])};return $h(t,e)}var $h=(t,e)=>{let r=(t.options instanceof Map?Array.from(t.options.values()):t.options).map((n,o)=>V(n._def,{...e,currentPath:[...e.currentPath,"anyOf",`${o}`]})).filter(n=>!!n&&(!e.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function Sh(t,e){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(t.innerType._def.typeName)&&(!t.innerType._def.checks||!t.innerType._def.checks.length))return e.target==="openApi3"?{type:zo[t.innerType._def.typeName],nullable:!0}:{type:[zo[t.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let n=V(t.innerType._def,{...e,currentPath:[...e.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=V(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function kh(t,e){let r={type:"number"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"int":r.type="integer",Yu(r,"type",n.message,e);break;case"min":e.target==="jsonSchema7"?n.inclusive?te(r,"minimum",n.value,n.message,e):te(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),te(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?te(r,"maximum",n.value,n.message,e):te(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),te(r,"maximum",n.value,n.message,e));break;case"multipleOf":te(r,"multipleOf",n.value,n.message,e);break}return r}function Rh(t,e){let r=e.target==="openAi",n={type:"object",properties:{}},o=[],s=t.shape();for(let a in s){let c=s[a];if(c===void 0||c._def===void 0)continue;let u=K0(c);u&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),u=!1);let l=V(c._def,{...e,currentPath:[...e.currentPath,"properties",a],propertyPath:[...e.currentPath,"properties",a]});l!==void 0&&(n.properties[a]=l,u||o.push(a))}o.length&&(n.required=o);let i=J0(t,e);return i!==void 0&&(n.additionalProperties=i),n}function J0(t,e){if(t.catchall._def.typeName!=="ZodNever")return V(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]});switch(t.unknownKeys){case"passthrough":return e.allowedAdditionalProperties;case"strict":return e.rejectedAdditionalProperties;case"strip":return e.removeAdditionalStrategy==="strict"?e.allowedAdditionalProperties:e.rejectedAdditionalProperties}}function K0(t){try{return t.isOptional()}catch{return!0}}var Th=(t,e)=>{if(e.currentPath.toString()===e.propertyPath?.toString())return V(t.innerType._def,e);let r=V(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return r?{anyOf:[{not:we(e)},r]}:we(e)};var zh=(t,e)=>{if(e.pipeStrategy==="input")return V(t.in._def,e);if(e.pipeStrategy==="output")return V(t.out._def,e);let r=V(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),n=V(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}};function Eh(t,e){return V(t.type._def,e)}function Ph(t,e){let n={type:"array",uniqueItems:!0,items:V(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&te(n,"minItems",t.minSize.value,t.minSize.message,e),t.maxSize&&te(n,"maxItems",t.maxSize.value,t.maxSize.message,e),n}function Ih(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((r,n)=>V(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:V(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((r,n)=>V(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function Oh(t){return{not:we(t)}}function Nh(t){return we(t)}var Ah=(t,e)=>V(t.innerType._def,e);var Ch=(t,e,r)=>{switch(e){case S.ZodString:return hi(t,r);case S.ZodNumber:return kh(t,r);case S.ZodObject:return Rh(t,r);case S.ZodBigInt:return uh(t,r);case S.ZodBoolean:return lh();case S.ZodDate:return Xu(t,r);case S.ZodUndefined:return Oh(r);case S.ZodNull:return wh(r);case S.ZodArray:return ch(t,r);case S.ZodUnion:case S.ZodDiscriminatedUnion:return xh(t,r);case S.ZodIntersection:return hh(t,r);case S.ZodTuple:return Ih(t,r);case S.ZodRecord:return gi(t,r);case S.ZodLiteral:return gh(t,r);case S.ZodEnum:return mh(t);case S.ZodNativeEnum:return vh(t);case S.ZodNullable:return Sh(t,r);case S.ZodOptional:return Th(t,r);case S.ZodMap:return _h(t,r);case S.ZodSet:return Ph(t,r);case S.ZodLazy:return()=>t.getter()._def;case S.ZodPromise:return Eh(t,r);case S.ZodNaN:case S.ZodNever:return bh(r);case S.ZodEffects:return fh(t,r);case S.ZodAny:return we(r);case S.ZodUnknown:return Nh(r);case S.ZodDefault:return ph(t,r);case S.ZodBranded:return mi(t,r);case S.ZodReadonly:return Ah(t,r);case S.ZodCatch:return dh(t,r);case S.ZodPipeline:return zh(t,r);case S.ZodFunction:case S.ZodVoid:case S.ZodSymbol:return;default:return(n=>{})(e)}};function V(t,e,r=!1){let n=e.seen.get(t);if(e.override){let a=e.override?.(t,e,n,r);if(a!==sh)return a}if(n&&!r){let a=W0(n,e);if(a!==void 0)return a}let o={def:t,path:e.currentPath,jsonSchema:void 0};e.seen.set(t,o);let s=Ch(t,t.typeName,e),i=typeof s=="function"?V(s(),e):s;if(i&&Y0(t,e,i),e.postProcess){let a=e.postProcess(i,t,e);return o.jsonSchema=i,a}return o.jsonSchema=i,i}var W0=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"relative":return{$ref:fi(e.currentPath,t.path)};case"none":case"seen":return t.path.length<e.currentPath.length&&t.path.every((r,n)=>e.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),we(e)):e.$refStrategy==="seen"?we(e):void 0}},Y0=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r);var tl=(t,e)=>{let r=ah(e),n=typeof e=="object"&&e.definitions?Object.entries(e.definitions).reduce((c,[u,l])=>({...c,[u]:V(l._def,{...r,currentPath:[...r.basePath,r.definitionPath,u]},!0)??we(r)}),{}):void 0,o=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,s=V(t._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??we(r),i=typeof e=="object"&&e.name!==void 0&&e.nameStrategy==="title"?e.name:void 0;i!==void 0&&(s.title=i),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let a=o===void 0?n?{...s,[r.definitionPath]:n}:s:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,o].join("/"),[r.definitionPath]:{...n,[o]:s}};return r.target==="jsonSchema7"?a.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(a.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in a||"oneOf"in a||"allOf"in a||"type"in a&&Array.isArray(a.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),a};function X0(t){return!t||t==="jsonSchema7"||t==="draft-7"?"draft-7":t==="jsonSchema2019-09"||t==="draft-2020-12"?"draft-2020-12":"draft-7"}function rl(t,e){return dt(t)?Ru(t,{target:X0(e?.target),io:e?.pipeStrategy??"input"}):tl(t,{strictUnions:e?.strictUnions??!0,pipeStrategy:e?.pipeStrategy??"input"})}function nl(t){let r=sr(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=Ls(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function ol(t,e){let r=or(t,e);if(!r.success)throw r.error;return r.data}var Q0=6e4,yi=class{constructor(e){this._options=e,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(Ks,r=>{this._oncancel(r)}),this.setNotificationHandler(Xs,r=>{this._onprogress(r)}),this.setRequestHandler(Ys,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Qs,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new N(M.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(ti,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,u=c.id,l=this._requestResolvers.get(u);if(l)if(this._requestResolvers.delete(u),a.type==="response")l(c);else{let d=c,f=new N(d.error.code,d.error.message,d.error.data);l(f)}else{let d=a.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${u}`))}continue}await this._transport?.send(a.message,{relatedRequestId:n.requestId})}}let i=await this._taskStore.getTask(s,n.sessionId);if(!i)throw new N(M.InvalidParams,`Task not found: ${s}`);if(!cr(i.status))return await this._waitForTaskUpdate(s,n.signal),await o();if(cr(i.status)){let a=await this._taskStore.getTaskResult(s,n.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[ir]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(ri,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 N(M.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(oi,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new N(M.InvalidParams,`Task not found: ${r.params.taskId}`);if(cr(o.status))throw new N(M.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 N(M.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof N?o:new N(M.InvalidRequest,`Failed to cancel task: ${o instanceof Error?o.message:String(o)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,r,n,o,s=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(o,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:s,onTimeout:o})}_resetTimeout(e){let r=this._timeoutInfo.get(e);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(e),N.fromError(M.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(e){let r=this._timeoutInfo.get(e);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(e))}async connect(e){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=e;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),Ht(s)||wn(s)?this._onresponse(s):ar(s)?this._onrequest(s,i):Jm(s)?this._onnotification(s):this._onerror(new Error(`Unknown message type: ${JSON.stringify(s)}`))},await this._transport.start()}_onclose(){let e=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=N.fromError(M.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of e.values())n(r)}_onerror(e){this.onerror?.(e)}_onnotification(e){let r=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(e)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(e,r){let n=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,o=this._transport,s=e.params?._meta?.[ir]?.taskId;if(n===void 0){let l={jsonrpc:"2.0",id:e.id,error:{code:M.MethodNotFound,message:"Method not found"}};s&&this._taskMessageQueue?this._enqueueTaskMessage(s,{type:"error",message:l,timestamp:Date.now()},o?.sessionId).catch(d=>this._onerror(new Error(`Failed to enqueue error response: ${d}`))):o?.send(l).catch(d=>this._onerror(new Error(`Failed to send an error response: ${d}`)));return}let i=new AbortController;this._requestHandlerAbortControllers.set(e.id,i);let a=Bm(e.params)?e.params.task:void 0,c=this._taskStore?this.requestTaskStore(e,o?.sessionId):void 0,u={signal:i.signal,sessionId:o?.sessionId,_meta:e.params?._meta,sendNotification:async l=>{if(i.signal.aborted)return;let d={relatedRequestId:e.id};s&&(d.relatedTask={taskId:s}),await this.notification(l,d)},sendRequest:async(l,d,f)=>{if(i.signal.aborted)throw new N(M.ConnectionClosed,"Request was cancelled");let h={...f,relatedRequestId:e.id};s&&!h.relatedTask&&(h.relatedTask={taskId:s});let p=h.relatedTask?.taskId??s;return p&&c&&await c.updateTaskStatus(p,"input_required"),await this.request(l,d,h)},authInfo:r?.authInfo,requestId:e.id,requestInfo:r?.requestInfo,taskId:s,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(e.method)}).then(()=>n(e,u)).then(async l=>{if(i.signal.aborted)return;let d={result:l,jsonrpc:"2.0",id:e.id};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"response",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)},async l=>{if(i.signal.aborted)return;let d={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(l.code)?l.code:M.InternalError,message:l.message??"Internal error",...l.data!==void 0&&{data:l.data}}};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"error",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)}).catch(l=>this._onerror(new Error(`Failed to send response: ${l}`))).finally(()=>{this._requestHandlerAbortControllers.get(e.id)===i&&this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...n}=e.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(e)}`));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(e){let r=Number(e.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),Ht(e))n(e);else{let i=new N(e.error.code,e.error.message,e.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(e)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let s=!1;if(Ht(e)&&e.result&&typeof e.result=="object"){let i=e.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),Ht(e))o(e);else{let i=N.fromError(e.error.code,e.error.message,e.error.data);o(i)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,r,n){let{task:o}=n??{};if(!o){try{yield{type:"result",result:await this.request(e,r,n)}}catch(i){yield{type:"error",error:i instanceof N?i:new N(M.InternalError,String(i))}}return}let s;try{let i=await this.request(e,$n,n);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new N(M.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},n);if(yield{type:"taskStatus",task:a},cr(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)}:a.status==="failed"?yield{type:"error",error:new N(M.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new N(M.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(u=>setTimeout(u,c)),n?.signal?.throwIfAborted()}}catch(i){yield{type:"error",error:i instanceof N?i:new N(M.InternalError,String(i))}}}request(e,r,n){let{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i,task:a,relatedTask:c}=n??{};return new Promise((u,l)=>{let d=y=>{l(y)};if(!this._transport){d(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),a&&this.assertTaskCapability(e.method)}catch(y){d(y);return}n?.signal?.throwIfAborted();let f=this._requestMessageId++,h={...e,jsonrpc:"2.0",id:f};n?.onprogress&&(this._progressHandlers.set(f,n.onprogress),h.params={...e.params,_meta:{...e.params?._meta||{},progressToken:f}}),a&&(h.params={...h.params,task:a}),c&&(h.params={...h.params,_meta:{...h.params?._meta||{},[ir]:c}});let p=y=>{this._responseHandlers.delete(f),this._progressHandlers.delete(f),this._cleanupTimeout(f),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:f,reason:String(y)}},{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(z=>this._onerror(new Error(`Failed to send cancellation: ${z}`)));let w=y instanceof N?y:new N(M.RequestTimeout,String(y));l(w)};this._responseHandlers.set(f,y=>{if(!n?.signal?.aborted){if(y instanceof Error)return l(y);try{let w=or(r,y.result);w.success?u(w.data):l(w.error)}catch(w){l(w)}}}),n?.signal?.addEventListener("abort",()=>{p(n?.signal?.reason)});let m=n?.timeout??Q0,g=()=>p(N.fromError(M.RequestTimeout,"Request timed out",{timeout:m}));this._setupTimeout(f,m,n?.maxTotalTimeout,g,n?.resetTimeoutOnProgress??!1);let _=c?.taskId;if(_){let y=w=>{let z=this._responseHandlers.get(f);z?z(w):this._onerror(new Error(`Response handler missing for side-channeled request ${f}`))};this._requestResolvers.set(f,y),this._enqueueTaskMessage(_,{type:"request",message:h,timestamp:Date.now()}).catch(w=>{this._cleanupTimeout(f),l(w)})}else this._transport.send(h,{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(y=>{this._cleanupTimeout(f),l(y)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},ei,r)}async getTaskResult(e,r,n){return this.request({method:"tasks/result",params:e},r,n)}async listTasks(e,r){return this.request({method:"tasks/list",params:e},ni,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},Wm,r)}async notification(e,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);let n=r?.relatedTask?.taskId;if(n){let a={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...e.params?._meta||{},[ir]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let a={...e,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[ir]:r.relatedTask}}}),this._transport?.send(a,r).catch(c=>this._onerror(c))});return}let i={...e,jsonrpc:"2.0"};r?.relatedTask&&(i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[ir]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(e,r){let n=nl(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,s)=>{let i=ol(e,o);return Promise.resolve(r(i,s))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,r){let n=nl(e);this._notificationHandlers.set(n,o=>{let s=ol(e,o);return Promise.resolve(r(s))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let r=this._taskProgressTokens.get(e);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,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(e,r,n,o)}async _clearTaskQueue(e,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(e,r);for(let o of n)if(o.type==="request"&&ar(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new N(M.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(s)):this._onerror(new Error(`Resolver missing for request ${s} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let o=await this._taskStore?.getTask(e);o?.pollInterval&&(n=o.pollInterval)}catch{}return new Promise((o,s)=>{if(r.aborted){s(new N(M.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(i),s(new N(M.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async o=>{if(!e)throw new Error("No request provided");return await n.createTask(o,e.id,{method:e.method,params:e.params},r)},getTask:async o=>{let s=await n.getTask(o,r);if(!s)throw new N(M.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=So.parse({method:"notifications/tasks/status",params:a});await this.notification(c),cr(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 N(M.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(cr(a.status))throw new N(M.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 u=So.parse({method:"notifications/tasks/status",params:c});await this.notification(u),cr(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function jh(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function Mh(t,e){let r={...t};for(let n in e){let o=n,s=e[o];if(s===void 0)continue;let i=r[o];jh(i)&&jh(s)?r[o]={...i,...s}:r[o]=s}return r}var z_=Up(Fd(),1),E_=Up(T_(),1);function nP(){let t=new z_.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,E_.default)(t),t}var Xi=class{constructor(e){this._ajv=e??nP()}getValidator(e){let r="$id"in e&&typeof e.$id=="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var Qi=class{constructor(e){this._server=e}requestStream(e,r,n){return this._server.requestStream(e,r,n)}createMessageStream(e,r){let n=this._server.getClientCapabilities();if((e.tools||e.toolChoice)&&!n?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let o=e.messages[e.messages.length-1],s=Array.isArray(o.content)?o.content:[o.content],i=s.some(l=>l.type==="tool_result"),a=e.messages.length>1?e.messages[e.messages.length-2]:void 0,c=a?Array.isArray(a.content)?a.content:[a.content]:[],u=c.some(l=>l.type==="tool_use");if(i){if(s.some(l=>l.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!u)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(u){let l=new Set(c.filter(f=>f.type==="tool_use").map(f=>f.id)),d=new Set(s.filter(f=>f.type==="tool_result").map(f=>f.toolUseId));if(l.size!==d.size||![...l].every(f=>d.has(f)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return this.requestStream({method:"sampling/createMessage",params:e},To,r)}elicitInputStream(e,r){let n=this._server.getClientCapabilities(),o=e.mode??"form";switch(o){case"url":{if(!n?.elicitation?.url)throw new Error("Client does not support url elicitation.");break}case"form":{if(!n?.elicitation?.form)throw new Error("Client does not support form elicitation.");break}}let s=o==="form"&&e.mode===void 0?{...e,mode:"form"}:e;return this.requestStream({method:"elicitation/create",params:s},kn,r)}async getTask(e,r){return this._server.getTask({taskId:e},r)}async getTaskResult(e,r,n){return this._server.getTaskResult({taskId:e},r,n)}async listTasks(e,r){return this._server.listTasks(e?{cursor:e}:void 0,r)}async cancelTask(e,r){return this._server.cancelTask({taskId:e},r)}};function P_(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"tools/call":if(!t.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${e})`);break;default:break}}function I_(t,e,r){if(!t)throw new Error(`${r} does not support task creation (required for ${e})`);switch(e){case"sampling/createMessage":if(!t.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${e})`);break;case"elicitation/create":if(!t.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${e})`);break;default:break}}var ea=class extends yi{constructor(e,r){super(r),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Ro.options.map((n,o)=>[n,o])),this.isMessageIgnored=(n,o)=>{let s=this._loggingLevels.get(o);return s?this.LOG_LEVEL_SEVERITY.get(n)<this.LOG_LEVEL_SEVERITY.get(s):!1},this._capabilities=r?.capabilities??{},this._instructions=r?.instructions,this._jsonSchemaValidator=r?.jsonSchemaValidator??new Xi,this.setRequestHandler(Ws,n=>this._oninitialize(n)),this.setNotificationHandler(Vu,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(Ju,async(n,o)=>{let s=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:i}=n.params,a=Ro.safeParse(i);return a.success&&this._loggingLevels.set(s,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new Qi(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Mh(this._capabilities,e)}setRequestHandler(e,r){let o=sr(e)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(dt(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");if(s==="tools/call"){let a=async(c,u)=>{let l=or(Sn,c);if(!l.success){let p=l.error instanceof Error?l.error.message:String(l.error);throw new N(M.InvalidParams,`Invalid tools/call request: ${p}`)}let{params:d}=l.data,f=await Promise.resolve(r(c,u));if(d.task){let p=or($n,f);if(!p.success){let m=p.error instanceof Error?p.error.message:String(p.error);throw new N(M.InvalidParams,`Invalid task creation result: ${m}`)}return p.data}let h=or(di,f);if(!h.success){let p=h.error instanceof Error?h.error.message:String(h.error);throw new N(M.InvalidParams,`Invalid tools/call result: ${p}`)}return h.data};return super.setRequestHandler(e,a)}return super.setRequestHandler(e,r)}assertCapabilityForMethod(e){switch(e){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${e})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${e})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${e})`);break;case"ping":break}}assertNotificationCapability(e){switch(e){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${e})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${e})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${e})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${e})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${e})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Server does not support tasks capability (required for ${e})`);break;case"ping":case"initialize":break}}assertTaskCapability(e){I_(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&P_(this._capabilities.tasks?.requests,e,"Server")}async _oninitialize(e){let r=e.params.protocolVersion;return this._clientCapabilities=e.params.capabilities,this._clientVersion=e.params.clientInfo,{protocolVersion:bn.includes(r)?r:Mu,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},Js)}async createMessage(e,r){if((e.tools||e.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(e.messages.length>0){let n=e.messages[e.messages.length-1],o=Array.isArray(n.content)?n.content:[n.content],s=o.some(u=>u.type==="tool_result"),i=e.messages.length>1?e.messages[e.messages.length-2]:void 0,a=i?Array.isArray(i.content)?i.content:[i.content]:[],c=a.some(u=>u.type==="tool_use");if(s){if(o.some(u=>u.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!c)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(c){let u=new Set(a.filter(d=>d.type==="tool_use").map(d=>d.id)),l=new Set(o.filter(d=>d.type==="tool_result").map(d=>d.toolUseId));if(u.size!==l.size||![...u].every(d=>l.has(d)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return e.tools?this.request({method:"sampling/createMessage",params:e},Ku,r):this.request({method:"sampling/createMessage",params:e},To,r)}async elicitInput(e,r){switch(e.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support url elicitation.");let o=e;return this.request({method:"elicitation/create",params:o},kn,r)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw new Error("Client does not support form elicitation.");let o=e.mode==="form"?e:{...e,mode:"form"},s=await this.request({method:"elicitation/create",params:o},kn,r);if(s.action==="accept"&&s.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(s.content);if(!a.valid)throw new N(M.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(i){throw i instanceof N?i:new N(M.InternalError,`Error validating elicitation response: ${i instanceof Error?i.message:String(i)}`)}return s}}}createElicitationCompletionNotifier(e,r){if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:e}},r)}async listRoots(e,r){return this.request({method:"roots/list",params:e},Wu,r)}async sendLoggingMessage(e,r){if(this._capabilities.logging&&!this.isMessageIgnored(e.level,r))return this.notification({method:"notifications/message",params:e})}async sendResourceUpdated(e){return this.notification({method:"notifications/resources/updated",params:e})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}};var N_=Symbol.for("mcp.completable");function Xd(t){return!!t&&typeof t=="object"&&N_ in t}function A_(t){return t[N_]?.complete}var O_;(function(t){t.Completable="McpCompletable"})(O_||(O_={}));var oP=/^[A-Za-z0-9._-]{1,128}$/;function sP(t){let e=[];if(t.length===0)return{isValid:!1,warnings:["Tool name cannot be empty"]};if(t.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${t.length})`]};if(t.includes(" ")&&e.push("Tool name contains spaces, which may cause parsing issues"),t.includes(",")&&e.push("Tool name contains commas, which may cause parsing issues"),(t.startsWith("-")||t.endsWith("-"))&&e.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts"),(t.startsWith(".")||t.endsWith("."))&&e.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts"),!oP.test(t)){let r=t.split("").filter(n=>!/[A-Za-z0-9._-]/.test(n)).filter((n,o,s)=>s.indexOf(n)===o);return e.push(`Tool name contains invalid characters: ${r.map(n=>`"${n}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:e}}return{isValid:!0,warnings:e}}function iP(t,e){if(e.length>0){console.warn(`Tool name validation warning for "${t}":`);for(let r of e)console.warn(` - ${r}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function Qd(t){let e=sP(t);return iP(t,e.warnings),e.isValid}var ta=class{constructor(e){this._mcpServer=e}registerToolTask(e,r,n){let o={taskSupport:"required",...r.execution};if(o.taskSupport==="forbidden")throw new Error(`Cannot register task-based tool '${e}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(e,r.title,r.description,r.inputSchema,r.outputSchema,r.annotations,o,r._meta,n)}};var ra=class{constructor(e,r){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new ea(e,r)}get experimental(){return this._experimental||(this._experimental={tasks:new ta(this)}),this._experimental}async connect(e){return await this.server.connect(e)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(yr(li)),this.server.assertCanSetRequestHandler(yr(Sn)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(li,()=>({tools:Object.entries(this._registeredTools).filter(([,e])=>e.enabled).map(([e,r])=>{let n={name:e,title:r.title,description:r.description,inputSchema:(()=>{let o=_n(r.inputSchema);return o?rl(o,{strictUnions:!0,pipeStrategy:"input"}):aP})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let o=_n(r.outputSchema);o&&(n.outputSchema=rl(o,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(Sn,async(e,r)=>{try{let n=this._registeredTools[e.params.name];if(!n)throw new N(M.InvalidParams,`Tool ${e.params.name} not found`);if(!n.enabled)throw new N(M.InvalidParams,`Tool ${e.params.name} disabled`);let o=!!e.params.task,s=n.execution?.taskSupport,i="createTask"in n.handler;if((s==="required"||s==="optional")&&!i)throw new N(M.InternalError,`Tool ${e.params.name} has taskSupport '${s}' but was not registered with registerToolTask`);if(s==="required"&&!o)throw new N(M.MethodNotFound,`Tool ${e.params.name} requires task augmentation (taskSupport: 'required')`);if(s==="optional"&&!o&&i)return await this.handleAutomaticTaskPolling(n,e,r);let a=await this.validateToolInput(n,e.params.arguments,e.params.name),c=await this.executeToolHandler(n,a,r);return o||await this.validateToolOutput(n,c,e.params.name),c}catch(n){if(n instanceof N&&n.code===M.UrlElicitationRequired)throw n;return this.createToolError(n instanceof Error?n.message:String(n))}}),this._toolHandlersInitialized=!0)}createToolError(e){return{content:[{type:"text",text:e}],isError:!0}}async validateToolInput(e,r,n){if(!e.inputSchema)return;let s=_n(e.inputSchema)??e.inputSchema,i=await qs(s,r);if(!i.success){let a="error"in i?i.error:"Unknown error",c=Vs(a);throw new N(M.InvalidParams,`Input validation error: Invalid arguments for tool ${n}: ${c}`)}return i.data}async validateToolOutput(e,r,n){if(!e.outputSchema||!("content"in r)||r.isError)return;if(!r.structuredContent)throw new N(M.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let o=_n(e.outputSchema),s=await qs(o,r.structuredContent);if(!s.success){let i="error"in s?s.error:"Unknown error",a=Vs(i);throw new N(M.InvalidParams,`Output validation error: Invalid structured content for tool ${n}: ${a}`)}}async executeToolHandler(e,r,n){let o=e.handler;if("createTask"in o){if(!n.taskStore)throw new Error("No task store provided.");let i={...n,taskStore:n.taskStore};if(e.inputSchema){let a=o;return await Promise.resolve(a.createTask(r,i))}else{let a=o;return await Promise.resolve(a.createTask(i))}}if(e.inputSchema){let i=o;return await Promise.resolve(i(r,n))}else{let i=o;return await Promise.resolve(i(n))}}async handleAutomaticTaskPolling(e,r,n){if(!n.taskStore)throw new Error("No task store provided for task-capable tool.");let o=await this.validateToolInput(e,r.params.arguments,r.params.name),s=e.handler,i={...n,taskStore:n.taskStore},a=o?await Promise.resolve(s.createTask(o,i)):await Promise.resolve(s.createTask(i)),c=a.task.taskId,u=a.task,l=u.pollInterval??5e3;for(;u.status!=="completed"&&u.status!=="failed"&&u.status!=="cancelled";){await new Promise(f=>setTimeout(f,l));let d=await n.taskStore.getTask(c);if(!d)throw new N(M.InternalError,`Task ${c} not found during polling`);u=d}return await n.taskStore.getTaskResult(c)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(yr(pi)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(pi,async e=>{switch(e.params.ref.type){case"ref/prompt":return rh(e),this.handlePromptCompletion(e,e.params.ref);case"ref/resource":return nh(e),this.handleResourceCompletion(e,e.params.ref);default:throw new N(M.InvalidParams,`Invalid completion reference: ${e.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(e,r){let n=this._registeredPrompts[r.name];if(!n)throw new N(M.InvalidParams,`Prompt ${r.name} not found`);if(!n.enabled)throw new N(M.InvalidParams,`Prompt ${r.name} disabled`);if(!n.argsSchema)return os;let s=sr(n.argsSchema)?.[e.params.argument.name];if(!Xd(s))return os;let i=A_(s);if(!i)return os;let a=await i(e.params.argument.value,e.params.context);return j_(a)}async handleResourceCompletion(e,r){let n=Object.values(this._registeredResourceTemplates).find(i=>i.resourceTemplate.uriTemplate.toString()===r.uri);if(!n){if(this._registeredResources[r.uri])return os;throw new N(M.InvalidParams,`Resource template ${e.params.ref.uri} not found`)}let o=n.resourceTemplate.completeCallback(e.params.argument.name);if(!o)return os;let s=await o(e.params.argument.value,e.params.context);return j_(s)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(yr(si)),this.server.assertCanSetRequestHandler(yr(ii)),this.server.assertCanSetRequestHandler(yr(ai)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(si,async(e,r)=>{let n=Object.entries(this._registeredResources).filter(([s,i])=>i.enabled).map(([s,i])=>({uri:s,name:i.name,...i.metadata})),o=[];for(let s of Object.values(this._registeredResourceTemplates)){if(!s.resourceTemplate.listCallback)continue;let i=await s.resourceTemplate.listCallback(r);for(let a of i.resources)o.push({...s.metadata,...a})}return{resources:[...n,...o]}}),this.server.setRequestHandler(ii,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(ai,async(e,r)=>{let n=new URL(e.params.uri),o=this._registeredResources[n.toString()];if(o){if(!o.enabled)throw new N(M.InvalidParams,`Resource ${n} disabled`);return o.readCallback(n,r)}for(let s of Object.values(this._registeredResourceTemplates)){let i=s.resourceTemplate.uriTemplate.match(n.toString());if(i)return s.readCallback(n,i,r)}throw new N(M.InvalidParams,`Resource ${n} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(yr(ci)),this.server.assertCanSetRequestHandler(yr(ui)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(ci,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,e])=>e.enabled).map(([e,r])=>({name:e,title:r.title,description:r.description,arguments:r.argsSchema?cP(r.argsSchema):void 0}))})),this.server.setRequestHandler(ui,async(e,r)=>{let n=this._registeredPrompts[e.params.name];if(!n)throw new N(M.InvalidParams,`Prompt ${e.params.name} not found`);if(!n.enabled)throw new N(M.InvalidParams,`Prompt ${e.params.name} disabled`);if(n.argsSchema){let o=_n(n.argsSchema),s=await qs(o,e.params.arguments);if(!s.success){let c="error"in s?s.error:"Unknown error",u=Vs(c);throw new N(M.InvalidParams,`Invalid arguments for prompt ${e.params.name}: ${u}`)}let i=s.data,a=n.callback;return await Promise.resolve(a(i,r))}else{let o=n.callback;return await Promise.resolve(o(r))}}),this._promptHandlersInitialized=!0)}resource(e,r,...n){let o;typeof n[0]=="object"&&(o=n.shift());let s=n[0];if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let i=this._createRegisteredResource(e,void 0,r,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}else{if(this._registeredResourceTemplates[e])throw new Error(`Resource template ${e} is already registered`);let i=this._createRegisteredResourceTemplate(e,void 0,r,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}}registerResource(e,r,n,o){if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let s=this._createRegisteredResource(e,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}else{if(this._registeredResourceTemplates[e])throw new Error(`Resource template ${e} is already registered`);let s=this._createRegisteredResourceTemplate(e,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}}_createRegisteredResource(e,r,n,o,s){let i={name:e,title:r,metadata:o,readCallback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({uri:null}),update:a=>{typeof a.uri<"u"&&a.uri!==n&&(delete this._registeredResources[n],a.uri&&(this._registeredResources[a.uri]=i)),typeof a.name<"u"&&(i.name=a.name),typeof a.title<"u"&&(i.title=a.title),typeof a.metadata<"u"&&(i.metadata=a.metadata),typeof a.callback<"u"&&(i.readCallback=a.callback),typeof a.enabled<"u"&&(i.enabled=a.enabled),this.sendResourceListChanged()}};return this._registeredResources[n]=i,i}_createRegisteredResourceTemplate(e,r,n,o,s){let i={resourceTemplate:n,title:r,metadata:o,readCallback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({name:null}),update:u=>{typeof u.name<"u"&&u.name!==e&&(delete this._registeredResourceTemplates[e],u.name&&(this._registeredResourceTemplates[u.name]=i)),typeof u.title<"u"&&(i.title=u.title),typeof u.template<"u"&&(i.resourceTemplate=u.template),typeof u.metadata<"u"&&(i.metadata=u.metadata),typeof u.callback<"u"&&(i.readCallback=u.callback),typeof u.enabled<"u"&&(i.enabled=u.enabled),this.sendResourceListChanged()}};this._registeredResourceTemplates[e]=i;let a=n.uriTemplate.variableNames;return Array.isArray(a)&&a.some(u=>!!n.completeCallback(u))&&this.setCompletionRequestHandler(),i}_createRegisteredPrompt(e,r,n,o,s){let i={title:r,description:n,argsSchema:o===void 0?void 0:Vr(o),callback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({name:null}),update:a=>{typeof a.name<"u"&&a.name!==e&&(delete this._registeredPrompts[e],a.name&&(this._registeredPrompts[a.name]=i)),typeof a.title<"u"&&(i.title=a.title),typeof a.description<"u"&&(i.description=a.description),typeof a.argsSchema<"u"&&(i.argsSchema=Vr(a.argsSchema)),typeof a.callback<"u"&&(i.callback=a.callback),typeof a.enabled<"u"&&(i.enabled=a.enabled),this.sendPromptListChanged()}};return this._registeredPrompts[e]=i,o&&Object.values(o).some(c=>{let u=c instanceof We?c._def?.innerType:c;return Xd(u)})&&this.setCompletionRequestHandler(),i}_createRegisteredTool(e,r,n,o,s,i,a,c,u){Qd(e);let l={title:r,description:n,inputSchema:C_(o),outputSchema:C_(s),annotations:i,execution:a,_meta:c,handler:u,enabled:!0,disable:()=>l.update({enabled:!1}),enable:()=>l.update({enabled:!0}),remove:()=>l.update({name:null}),update:d=>{typeof d.name<"u"&&d.name!==e&&(typeof d.name=="string"&&Qd(d.name),delete this._registeredTools[e],d.name&&(this._registeredTools[d.name]=l)),typeof d.title<"u"&&(l.title=d.title),typeof d.description<"u"&&(l.description=d.description),typeof d.paramsSchema<"u"&&(l.inputSchema=Vr(d.paramsSchema)),typeof d.outputSchema<"u"&&(l.outputSchema=Vr(d.outputSchema)),typeof d.callback<"u"&&(l.handler=d.callback),typeof d.annotations<"u"&&(l.annotations=d.annotations),typeof d._meta<"u"&&(l._meta=d._meta),typeof d.enabled<"u"&&(l.enabled=d.enabled),this.sendToolListChanged()}};return this._registeredTools[e]=l,this.setToolRequestHandlers(),this.sendToolListChanged(),l}tool(e,...r){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let n,o,s,i;if(typeof r[0]=="string"&&(n=r.shift()),r.length>1){let c=r[0];if(ep(c))o=r.shift(),r.length>1&&typeof r[0]=="object"&&r[0]!==null&&!ep(r[0])&&(i=r.shift());else if(typeof c=="object"&&c!==null){if(Object.values(c).some(u=>typeof u=="object"&&u!==null))throw new Error(`Tool ${e} expected a Zod schema or ToolAnnotations, but received an unrecognized object`);i=r.shift()}}let a=r[0];return this._createRegisteredTool(e,void 0,n,o,s,i,{taskSupport:"forbidden"},void 0,a)}registerTool(e,r,n){if(this._registeredTools[e])throw new Error(`Tool ${e} is already registered`);let{title:o,description:s,inputSchema:i,outputSchema:a,annotations:c,_meta:u}=r;return this._createRegisteredTool(e,o,s,i,a,c,{taskSupport:"forbidden"},u,n)}prompt(e,...r){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let n;typeof r[0]=="string"&&(n=r.shift());let o;r.length>1&&(o=r.shift());let s=r[0],i=this._createRegisteredPrompt(e,void 0,n,o,s);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),i}registerPrompt(e,r,n){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let{title:o,description:s,argsSchema:i}=r,a=this._createRegisteredPrompt(e,o,s,i,n);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(e,r){return this.server.sendLoggingMessage(e,r)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}};var aP={type:"object",properties:{}};function M_(t){return t!==null&&typeof t=="object"&&"parse"in t&&typeof t.parse=="function"&&"safeParse"in t&&typeof t.safeParse=="function"}function Z_(t){return"_def"in t||"_zod"in t||M_(t)}function ep(t){return typeof t!="object"||t===null||Z_(t)?!1:Object.keys(t).length===0?!0:Object.values(t).some(M_)}function C_(t){if(t){if(ep(t))return Vr(t);if(!Z_(t))throw new Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return t}}function cP(t){let e=sr(t);return e?Object.entries(e).map(([r,n])=>{let o=_m(n),s=vm(n);return{name:r,description:o,required:!s}}):[]}function yr(t){let r=sr(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=Ls(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function j_(t){return{completion:{values:t.slice(0,100),total:t.length,hasMore:t.length>100}}}var os={completion:{values:[],hasMore:!1}};import q_ from"node:process";var na=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(`
42
+ `);if(e===-1)return null;let r=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),uP(r)}clear(){this._buffer=void 0}};function uP(t){return _o.parse(JSON.parse(t))}function D_(t){return JSON.stringify(t)+`
43
+ `}var oa=class{constructor(e=q_.stdin,r=q_.stdout){this._stdin=e,this._stdout=r,this._readBuffer=new na,this._started=!1,this._ondata=n=>{this._readBuffer.append(n),this.processReadBuffer()},this._onerror=n=>{this.onerror?.(n)}}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){for(;;)try{let e=this._readBuffer.readMessage();if(e===null)break;this.onmessage?.(e)}catch(e){this.onerror?.(e)}}async close(){this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0&&this._stdin.pause(),this._readBuffer.clear(),this.onclose?.()}send(e){return new Promise(r=>{let n=D_(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};import{Http2ServerRequest as U_,constants as lP}from"http2";import{Http2ServerRequest as tp}from"http2";import{Readable as V_}from"stream";import wP from"crypto";var Qr=class extends Error{constructor(t,e){super(t,e),this.name="RequestError"}},dP=t=>t instanceof Qr?t:new Qr(t.message,{cause:t}),pP=global.Request,ss=class extends pP{constructor(t,e){typeof t=="object"&&Hn in t&&(t=t[Hn]()),typeof e?.body?.getReader<"u"&&(e.duplex??="half"),super(t,e)}},fP=t=>{let e=[],r=t.rawHeaders;for(let n=0;n<r.length;n+=2){let{[n]:o,[n+1]:s}=r;o.charCodeAt(0)!==58&&e.push([o,s])}return new Headers(e)},F_=Symbol("wrapBodyStream"),mP=(t,e,r,n,o)=>{let s={method:t,headers:r,signal:o.signal};if(t==="TRACE"){s.method="GET";let i=new ss(e,s);return Object.defineProperty(i,"method",{get(){return"TRACE"}}),i}if(!(t==="GET"||t==="HEAD"))if("rawBody"in n&&n.rawBody instanceof Buffer)s.body=new ReadableStream({start(i){i.enqueue(n.rawBody),i.close()}});else if(n[F_]){let i;s.body=new ReadableStream({async pull(a){try{i||=V_.toWeb(n).getReader();let{done:c,value:u}=await i.read();c?a.close():a.enqueue(u)}catch(c){a.error(c)}}})}else s.body=V_.toWeb(n);return new ss(e,s)},Hn=Symbol("getRequestCache"),B_=Symbol("requestCache"),sa=Symbol("incomingKey"),ia=Symbol("urlKey"),hP=Symbol("headersKey"),Bn=Symbol("abortControllerKey"),gP=Symbol("getAbortController"),is={get method(){return this[sa].method||"GET"},get url(){return this[ia]},get headers(){return this[hP]||=fP(this[sa])},[gP](){return this[Hn](),this[Bn]},[Hn](){return this[Bn]||=new AbortController,this[B_]||=mP(this.method,this[ia],this.headers,this[sa],this[Bn])}};["body","bodyUsed","cache","credentials","destination","integrity","mode","redirect","referrer","referrerPolicy","signal","keepalive"].forEach(t=>{Object.defineProperty(is,t,{get(){return this[Hn]()[t]}})});["arrayBuffer","blob","clone","formData","json","text"].forEach(t=>{Object.defineProperty(is,t,{value:function(){return this[Hn]()[t]()}})});Object.defineProperty(is,Symbol.for("nodejs.util.inspect.custom"),{value:function(t,e,r){let n={method:this.method,url:this.url,headers:this.headers,nativeRequest:this[B_]};return`Request (lightweight) ${r(n,{...e,depth:t==null?null:t-1})}`}});Object.setPrototypeOf(is,ss.prototype);var yP=(t,e)=>{let r=Object.create(is);r[sa]=t;let n=t.url||"";if(n[0]!=="/"&&(n.startsWith("http://")||n.startsWith("https://"))){if(t instanceof tp)throw new Qr("Absolute URL for :path is not allowed in HTTP/2");try{let a=new URL(n);r[ia]=a.href}catch(a){throw new Qr("Invalid absolute URL",{cause:a})}return r}let o=(t instanceof tp?t.authority:t.headers.host)||e;if(!o)throw new Qr("Missing host header");let s;if(t instanceof tp){if(s=t.scheme,!(s==="http"||s==="https"))throw new Qr("Unsupported scheme")}else s=t.socket&&t.socket.encrypted?"https":"http";let i=new URL(`${s}://${o}${n}`);if(i.hostname.length!==o.length&&i.hostname!==o.replace(/:\d+$/,""))throw new Qr("Invalid host header");return r[ia]=i.href,r},np=Symbol("responseCache"),Fn=Symbol("getResponseCache"),en=Symbol("cache"),ip=global.Response,Gn=class H_{#t;#e;[Fn](){return delete this[en],this[np]||=new ip(this.#t,this.#e)}constructor(e,r){let n;if(this.#t=e,r instanceof H_){let o=r[np];if(o){this.#e=o,this[Fn]();return}else this.#e=r.#e,n=new Headers(r.#e.headers)}else this.#e=r;(typeof e=="string"||typeof e?.getReader<"u"||e instanceof Blob||e instanceof Uint8Array)&&(this[en]=[r?.status||200,e,n||r?.headers])}get headers(){let e=this[en];return e?(e[2]instanceof Headers||(e[2]=new Headers(e[2]||{"content-type":"text/plain; charset=UTF-8"})),e[2]):this[Fn]().headers}get status(){return this[en]?.[0]??this[Fn]().status}get ok(){let e=this.status;return e>=200&&e<300}};["body","bodyUsed","redirected","statusText","trailers","type","url"].forEach(t=>{Object.defineProperty(Gn.prototype,t,{get(){return this[Fn]()[t]}})});["arrayBuffer","blob","clone","formData","json","text"].forEach(t=>{Object.defineProperty(Gn.prototype,t,{value:function(){return this[Fn]()[t]()}})});Object.defineProperty(Gn.prototype,Symbol.for("nodejs.util.inspect.custom"),{value:function(t,e,r){let n={status:this.status,headers:this.headers,ok:this.ok,nativeResponse:this[np]};return`Response (lightweight) ${r(n,{...e,depth:t==null?null:t-1})}`}});Object.setPrototypeOf(Gn,ip);Object.setPrototypeOf(Gn.prototype,ip.prototype);async function _P(t){return Promise.race([t,Promise.resolve().then(()=>Promise.resolve(void 0))])}function G_(t,e,r){let n=a=>{t.cancel(a).catch(()=>{})};return e.on("close",n),e.on("error",n),(r??t.read()).then(i,o),t.closed.finally(()=>{e.off("close",n),e.off("error",n)});function o(a){a&&e.destroy(a)}function s(){t.read().then(i,o)}function i({done:a,value:c}){try{if(a)e.end();else if(!e.write(c))e.once("drain",s);else return t.read().then(i,o)}catch(u){o(u)}}}function vP(t,e){if(t.locked)throw new TypeError("ReadableStream is locked.");return e.destroyed?void 0:G_(t.getReader(),e)}var op=t=>{let e={};t instanceof Headers||(t=new Headers(t??void 0));let r=[];for(let[n,o]of t)n==="set-cookie"?r.push(o):e[n]=o;return r.length>0&&(e["set-cookie"]=r),e["content-type"]??="text/plain; charset=UTF-8",e},bP="x-hono-already-sent";typeof global.crypto>"u"&&(global.crypto=wP);var ap=Symbol("outgoingEnded"),L_=Symbol("incomingDraining"),$P=500,xP=64*1024*1024,rp=t=>{let e=t;if(t.destroyed||e[L_])return;if(e[L_]=!0,t instanceof U_){try{t.stream?.close?.(lP.NGHTTP2_NO_ERROR)}catch{}return}let r=0,n=()=>{clearTimeout(s),t.off("data",i),t.off("end",n),t.off("error",n)},o=()=>{n();let a=t.socket;a&&!a.destroyed&&a.destroySoon()},s=setTimeout(o,$P);s.unref?.();let i=a=>{r+=a.length,r>xP&&o()};t.on("data",i),t.on("end",n),t.on("error",n),t.resume()},SP=()=>new Response(null,{status:400}),J_=t=>new Response(null,{status:t instanceof Error&&(t.name==="TimeoutError"||t.constructor.name==="TimeoutError")?504:500}),sp=(t,e)=>{let r=t instanceof Error?t:new Error("unknown error",{cause:t});r.code==="ERR_STREAM_PREMATURE_CLOSE"?console.info("The user aborted a request."):(console.error(t),e.headersSent||e.writeHead(500,{"Content-Type":"text/plain"}),e.end(`Error: ${r.message}`),e.destroy(r))},K_=t=>{"flushHeaders"in t&&t.writable&&t.flushHeaders()},W_=async(t,e)=>{let[r,n,o]=t[en],s=!1;if(!o)o={"content-type":"text/plain; charset=UTF-8"};else if(o instanceof Headers)s=o.has("content-length"),o=op(o);else if(Array.isArray(o)){let i=new Headers(o);s=i.has("content-length"),o=op(i)}else for(let i in o)if(i.length===14&&i.toLowerCase()==="content-length"){s=!0;break}s||(typeof n=="string"?o["Content-Length"]=Buffer.byteLength(n):n instanceof Uint8Array?o["Content-Length"]=n.byteLength:n instanceof Blob&&(o["Content-Length"]=n.size)),e.writeHead(r,o),typeof n=="string"||n instanceof Uint8Array?e.end(n):n instanceof Blob?e.end(new Uint8Array(await n.arrayBuffer())):(K_(e),await vP(n,e)?.catch(i=>sp(i,e))),e[ap]?.()},kP=t=>typeof t.then=="function",RP=async(t,e,r={})=>{if(kP(t))if(r.errorHandler)try{t=await t}catch(o){let s=await r.errorHandler(o);if(!s)return;t=s}else t=await t.catch(J_);if(en in t)return W_(t,e);let n=op(t.headers);if(t.body){let o=t.body.getReader(),s=[],i=!1,a;if(n["transfer-encoding"]!=="chunked"){let c=2;for(let u=0;u<c;u++){a||=o.read();let l=await _P(a).catch(d=>{console.error(d),i=!0});if(!l){if(u===1){await new Promise(d=>setTimeout(d)),c=3;continue}break}if(a=void 0,l.value&&s.push(l.value),l.done){i=!0;break}}i&&!("content-length"in n)&&(n["content-length"]=s.reduce((u,l)=>u+l.length,0))}e.writeHead(t.status,n),s.forEach(c=>{e.write(c)}),i?e.end():(s.length===0&&K_(e),await G_(o,e,a))}else n[bP]||(e.writeHead(t.status,n),e.end());e[ap]?.()},cp=(t,e={})=>{let r=e.autoCleanupIncoming??!0;return e.overrideGlobalObjects!==!1&&global.Request!==ss&&(Object.defineProperty(global,"Request",{value:ss}),Object.defineProperty(global,"Response",{value:Gn})),async(n,o)=>{let s,i;try{i=yP(n,e.hostname);let a=!r||n.method==="GET"||n.method==="HEAD";if(a||(n[F_]=!0,n.on("end",()=>{a=!0}),n instanceof U_&&(o[ap]=()=>{a||setTimeout(()=>{a||setTimeout(()=>{rp(n)})})}),o.on("finish",()=>{a||rp(n)})),o.on("close",()=>{i[Bn]&&(n.errored?i[Bn].abort(n.errored.toString()):o.writableFinished||i[Bn].abort("Client connection prematurely closed.")),a||setTimeout(()=>{a||setTimeout(()=>{rp(n)})})}),s=t(i,{incoming:n,outgoing:o}),en in s)return W_(s,o)}catch(a){if(s)return sp(a,o);if(e.errorHandler){if(s=await e.errorHandler(i?a:dP(a)),!s)return}else i?s=J_(a):s=SP()}try{return await RP(s,o,e)}catch(a){return sp(a,o)}}};var aa=class{constructor(e={}){this._started=!1,this._hasHandledRequest=!1,this._streamMapping=new Map,this._requestToStreamMapping=new Map,this._requestResponseMap=new Map,this._initialized=!1,this._enableJsonResponse=!1,this._standaloneSseStreamId="_GET_stream",this.sessionIdGenerator=e.sessionIdGenerator,this._enableJsonResponse=e.enableJsonResponse??!1,this._eventStore=e.eventStore,this._onsessioninitialized=e.onsessioninitialized,this._onsessionclosed=e.onsessionclosed,this._allowedHosts=e.allowedHosts,this._allowedOrigins=e.allowedOrigins,this._enableDnsRebindingProtection=e.enableDnsRebindingProtection??!1,this._retryInterval=e.retryInterval}async start(){if(this._started)throw new Error("Transport already started");this._started=!0}createJsonErrorResponse(e,r,n,o){let s={code:r,message:n};return o?.data!==void 0&&(s.data=o.data),new Response(JSON.stringify({jsonrpc:"2.0",error:s,id:null}),{status:e,headers:{"Content-Type":"application/json",...o?.headers}})}validateRequestHeaders(e){if(this._enableDnsRebindingProtection){if(this._allowedHosts&&this._allowedHosts.length>0){let r=e.headers.get("host");if(!r||!this._allowedHosts.includes(r)){let n=`Invalid Host header: ${r}`;return this.onerror?.(new Error(n)),this.createJsonErrorResponse(403,-32e3,n)}}if(this._allowedOrigins&&this._allowedOrigins.length>0){let r=e.headers.get("origin");if(r&&!this._allowedOrigins.includes(r)){let n=`Invalid Origin header: ${r}`;return this.onerror?.(new Error(n)),this.createJsonErrorResponse(403,-32e3,n)}}}}async handleRequest(e,r){if(!this.sessionIdGenerator&&this._hasHandledRequest)throw new Error("Stateless transport cannot be reused across requests. Create a new transport per request.");this._hasHandledRequest=!0;let n=this.validateRequestHeaders(e);if(n)return n;switch(e.method){case"POST":return this.handlePostRequest(e,r);case"GET":return this.handleGetRequest(e);case"DELETE":return this.handleDeleteRequest(e);default:return this.handleUnsupportedRequest()}}async writePrimingEvent(e,r,n,o){if(!this._eventStore||o<"2025-11-25")return;let s=await this._eventStore.storeEvent(n,{}),i=`id: ${s}
44
44
  data:
45
45
 
46
46
  `;this._retryInterval!==void 0&&(i=`id: ${s}
@@ -51,49 +51,51 @@ data:
51
51
  `;return o&&(s+=`id: ${o}
52
52
  `),s+=`data: ${JSON.stringify(n)}
53
53
 
54
- `,e.enqueue(r.encode(s)),!0}catch(s){return this.onerror?.(s),!1}}handleUnsupportedRequest(){return this.onerror?.(new Error("Method not allowed.")),new Response(JSON.stringify({jsonrpc:"2.0",error:{code:-32e3,message:"Method not allowed."},id:null}),{status:405,headers:{Allow:"GET, POST, DELETE","Content-Type":"application/json"}})}async handlePostRequest(e,r){try{let n=e.headers.get("accept");if(!n?.includes("application/json")||!n.includes("text/event-stream"))return this.onerror?.(new Error("Not Acceptable: Client must accept both application/json and text/event-stream")),this.createJsonErrorResponse(406,-32e3,"Not Acceptable: Client must accept both application/json and text/event-stream");let o=e.headers.get("content-type");if(!o||!o.includes("application/json"))return this.onerror?.(new Error("Unsupported Media Type: Content-Type must be application/json")),this.createJsonErrorResponse(415,-32e3,"Unsupported Media Type: Content-Type must be application/json");let s={headers:Object.fromEntries(e.headers.entries()),url:new URL(e.url)},i;if(r?.parsedBody!==void 0)i=r.parsedBody;else try{i=await e.json()}catch{return this.onerror?.(new Error("Parse error: Invalid JSON")),this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON")}let a;try{Array.isArray(i)?a=i.map(v=>yo.parse(v)):a=[yo.parse(i)]}catch{return this.onerror?.(new Error("Parse error: Invalid JSON-RPC message")),this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON-RPC message")}let c=a.some(vo);if(c){if(this._initialized&&this.sessionId!==void 0)return this.onerror?.(new Error("Invalid Request: Server already initialized")),this.createJsonErrorResponse(400,-32600,"Invalid Request: Server already initialized");if(a.length>1)return this.onerror?.(new Error("Invalid Request: Only one initialization request is allowed")),this.createJsonErrorResponse(400,-32600,"Invalid Request: Only one initialization request is allowed");this.sessionId=this.sessionIdGenerator?.(),this._initialized=!0,this.sessionId&&this._onsessioninitialized&&await Promise.resolve(this._onsessioninitialized(this.sessionId))}if(!c){let v=this.validateSession(e);if(v)return v;let y=this.validateProtocolVersion(e);if(y)return y}if(!a.some(sr)){for(let v of a)this.onmessage?.(v,{authInfo:r?.authInfo,requestInfo:s});return new Response(null,{status:202})}let l=crypto.randomUUID(),d=a.find(v=>vo(v)),p=d?d.params.protocolVersion:e.headers.get("mcp-protocol-version")??Vm;if(this._enableJsonResponse)return new Promise(v=>{this._streamMapping.set(l,{resolveJson:v,cleanup:()=>{this._streamMapping.delete(l)}});for(let y of a)sr(y)&&this._requestToStreamMapping.set(y.id,l);for(let y of a)this.onmessage?.(y,{authInfo:r?.authInfo,requestInfo:s})});let f=new TextEncoder,m,h=new ReadableStream({start:v=>{m=v},cancel:()=>{this._streamMapping.delete(l)}}),g={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"};this.sessionId!==void 0&&(g["mcp-session-id"]=this.sessionId);for(let v of a)sr(v)&&(this._streamMapping.set(l,{controller:m,encoder:f,cleanup:()=>{this._streamMapping.delete(l);try{m.close()}catch{}}}),this._requestToStreamMapping.set(v.id,l));await this.writePrimingEvent(m,f,l,p);for(let v of a){let y,$;sr(v)&&this._eventStore&&p>="2025-11-25"&&(y=()=>{this.closeSSEStream(v.id)},$=()=>{this.closeStandaloneSSEStream()}),this.onmessage?.(v,{authInfo:r?.authInfo,requestInfo:s,closeSSEStream:y,closeStandaloneSSEStream:$})}return new Response(h,{status:200,headers:g})}catch(n){return this.onerror?.(n),this.createJsonErrorResponse(400,-32700,"Parse error",{data:String(n)})}}async handleDeleteRequest(e){let r=this.validateSession(e);if(r)return r;let n=this.validateProtocolVersion(e);return n||(await Promise.resolve(this._onsessionclosed?.(this.sessionId)),await this.close(),new Response(null,{status:200}))}validateSession(e){if(this.sessionIdGenerator===void 0)return;if(!this._initialized)return this.onerror?.(new Error("Bad Request: Server not initialized")),this.createJsonErrorResponse(400,-32e3,"Bad Request: Server not initialized");let r=e.headers.get("mcp-session-id");if(!r)return this.onerror?.(new Error("Bad Request: Mcp-Session-Id header is required")),this.createJsonErrorResponse(400,-32e3,"Bad Request: Mcp-Session-Id header is required");if(r!==this.sessionId)return this.onerror?.(new Error("Session not found")),this.createJsonErrorResponse(404,-32001,"Session not found")}validateProtocolVersion(e){let r=e.headers.get("mcp-protocol-version");if(r!==null&&!vn.includes(r))return this.onerror?.(new Error(`Bad Request: Unsupported protocol version: ${r} (supported versions: ${vn.join(", ")})`)),this.createJsonErrorResponse(400,-32e3,`Bad Request: Unsupported protocol version: ${r} (supported versions: ${vn.join(", ")})`)}async close(){this._streamMapping.forEach(({cleanup:e})=>{e()}),this._streamMapping.clear(),this._requestResponseMap.clear(),this.onclose?.()}closeSSEStream(e){let r=this._requestToStreamMapping.get(e);if(!r)return;let n=this._streamMapping.get(r);n&&n.cleanup()}closeStandaloneSSEStream(){let e=this._streamMapping.get(this._standaloneSseStreamId);e&&e.cleanup()}async send(e,r){let n=r?.relatedRequestId;if((Ft(e)||bn(e))&&(n=e.id),n===void 0){if(Ft(e)||bn(e))throw new Error("Cannot send a response on a standalone SSE stream unless resuming a previous client request");let i;this._eventStore&&(i=await this._eventStore.storeEvent(this._standaloneSseStreamId,e));let a=this._streamMapping.get(this._standaloneSseStreamId);if(a===void 0)return;a.controller&&a.encoder&&this.writeSSEEvent(a.controller,a.encoder,e,i);return}let o=this._requestToStreamMapping.get(n);if(!o)throw new Error(`No connection established for request ID: ${String(n)}`);let s=this._streamMapping.get(o);if(!this._enableJsonResponse&&s?.controller&&s?.encoder){let i;this._eventStore&&(i=await this._eventStore.storeEvent(o,e)),this.writeSSEEvent(s.controller,s.encoder,e,i)}if(Ft(e)||bn(e)){this._requestResponseMap.set(n,e);let i=Array.from(this._requestToStreamMapping.entries()).filter(([c,u])=>u===o).map(([c])=>c);if(i.every(c=>this._requestResponseMap.has(c))){if(!s)throw new Error(`No connection established for request ID: ${String(n)}`);if(this._enableJsonResponse&&s.resolveJson){let c={"Content-Type":"application/json"};this.sessionId!==void 0&&(c["mcp-session-id"]=this.sessionId);let u=i.map(l=>this._requestResponseMap.get(l));u.length===1?s.resolveJson(new Response(JSON.stringify(u[0]),{status:200,headers:c})):s.resolveJson(new Response(JSON.stringify(u),{status:200,headers:c}))}else s.cleanup();for(let c of i)this._requestResponseMap.delete(c),this._requestToStreamMapping.delete(c)}}}};var aa=class{constructor(e={}){this._requestContext=new WeakMap,this._webStandardTransport=new ia(e),this._requestListener=ap(async r=>{let n=this._requestContext.get(r);return this._webStandardTransport.handleRequest(r,{authInfo:n?.authInfo,parsedBody:n?.parsedBody})},{overrideGlobalObjects:!1})}get sessionId(){return this._webStandardTransport.sessionId}set onclose(e){this._webStandardTransport.onclose=e}get onclose(){return this._webStandardTransport.onclose}set onerror(e){this._webStandardTransport.onerror=e}get onerror(){return this._webStandardTransport.onerror}set onmessage(e){this._webStandardTransport.onmessage=e}get onmessage(){return this._webStandardTransport.onmessage}async start(){return this._webStandardTransport.start()}async close(){return this._webStandardTransport.close()}async send(e,r){return this._webStandardTransport.send(e,r)}async handleRequest(e,r,n){let o=e.auth;await ap(async i=>this._webStandardTransport.handleRequest(i,{authInfo:o,parsedBody:n}),{overrideGlobalObjects:!1})(e,r)}closeSSEStream(e){this._webStandardTransport.closeSSEStream(e)}closeStandaloneSSEStream(){this._webStandardTransport.closeStandaloneSSEStream()}};import{resolve as eI,join as ze,dirname as tI,isAbsolute as rI,basename as nI}from"node:path";import{fileURLToPath as oI}from"node:url";import{randomBytes as Rv,randomInt as zv,randomUUID as sI,timingSafeEqual as iI}from"node:crypto";import{createServer as aI}from"node:http";import{brotliCompressSync as cI,brotliDecompressSync as uI}from"node:zlib";import*as T from"node:fs";import{readFile as lI,mkdir as dI,writeFile as pI}from"node:fs/promises";import{adapt_wrapper as fI}from"@adapt-toolkit/sdk/executables";import{PacketWrapperConfigurator as mI}from"@adapt-toolkit/sdk/wrappers";import{object_to_adapt_value as Tv}from"@adapt-toolkit/sdk/wrapper";import{AdaptObjectLifetime as Np}from"@adapt-toolkit/sdk/common";import*as st from"node:fs";import{randomBytes as RP}from"node:crypto";import{homedir as X_}from"node:os";import{resolve as ca,join as cp,dirname as Q_,basename as zP}from"node:path";var ev=["owner","shared","open"],Gn={brokerUrl:"wss://broker1.ours.network",port:3050,stateDir:ca(X_(),".ours"),gcIntervalMs:36e5,autoStart:!1,apiVisibility:"owner"};function TP(){return process.env.OURS_CONFIG??cp(X_(),".ours","config.json")}function EP(){let t;try{t=st.readFileSync(TP(),"utf8")}catch{return{}}let e;try{e=JSON.parse(t)}catch{return{}}let r={};if(typeof e.brokerUrl=="string"&&(r.brokerUrl=e.brokerUrl),typeof e.port=="number"&&Number.isFinite(e.port)&&(r.port=e.port),typeof e.stateDir=="string"&&(r.stateDir=ca(e.stateDir)),typeof e.gcIntervalMs=="number"&&Number.isFinite(e.gcIntervalMs)&&(r.gcIntervalMs=e.gcIntervalMs),typeof e.autoStart=="boolean"&&(r.autoStart=e.autoStart),typeof e.apiVisibility=="string"&&ev.includes(e.apiVisibility)&&(r.apiVisibility=e.apiVisibility),typeof e.apiToken=="string"&&e.apiToken.trim()&&(r.apiToken=e.apiToken.trim()),e.stt&&typeof e.stt=="object"){let n=e.stt,o={};typeof n.provider=="string"&&(o.provider=n.provider),typeof n.apiKey=="string"&&(o.apiKey=n.apiKey),typeof n.model=="string"&&(o.model=n.model),typeof n.baseUrl=="string"&&(o.baseUrl=n.baseUrl),typeof n.language=="string"&&(o.language=n.language),typeof n.maxBytes=="number"&&Number.isFinite(n.maxBytes)&&(o.maxBytes=n.maxBytes),typeof n.timeoutMs=="number"&&Number.isFinite(n.timeoutMs)&&(o.timeoutMs=n.timeoutMs),n.custom&&typeof n.custom=="object"&&(o.custom=n.custom),r.stt=o}return r}function PP(){let t=process.env.OURS_API_VISIBILITY?.trim().toLowerCase();return t&&ev.includes(t)?t:void 0}function IP(t){let e=process.env[t];if(e!==void 0)return e==="1"||e.toLowerCase()==="true"}function W_(t){let e=process.env[t];if(e===void 0)return;let r=parseInt(e,10);return Number.isNaN(r)?void 0:r}function tv(){let t=EP();return{brokerUrl:process.env.OURS_BROKER_URL??t.brokerUrl??Gn.brokerUrl,port:W_("OURS_PORT")??t.port??Gn.port,stateDir:ca(process.env.OURS_STATE_DIR??t.stateDir??Gn.stateDir),gcIntervalMs:W_("OURS_GC_INTERVAL_MS")??t.gcIntervalMs??Gn.gcIntervalMs,autoStart:IP("OURS_AUTOSTART")??t.autoStart??Gn.autoStart,apiVisibility:PP()??t.apiVisibility??Gn.apiVisibility,apiToken:process.env.OURS_API_TOKEN?.trim()||t.apiToken,stt:OP(t.stt)}}function OP(t){let e={};process.env.OURS_STT_PROVIDER?.trim()&&(e.provider=process.env.OURS_STT_PROVIDER.trim()),process.env.OURS_STT_API_KEY?.trim()&&(e.apiKey=process.env.OURS_STT_API_KEY.trim()),process.env.OURS_STT_MODEL?.trim()&&(e.model=process.env.OURS_STT_MODEL.trim()),process.env.OURS_STT_BASE_URL?.trim()&&(e.baseUrl=process.env.OURS_STT_BASE_URL.trim()),process.env.OURS_STT_LANGUAGE?.trim()&&(e.language=process.env.OURS_STT_LANGUAGE.trim());let r={...t??{},...e};return Object.keys(r).length?r:void 0}var NP="daemon-token";function up(t){return cp(t.stateDir,NP)}function rv(t){let e=process.env.OURS_API_TOKEN?.trim();return e||t.apiToken?.trim()||void 0}function nv(t,e={}){let r=process.env.OURS_API_TOKEN?.trim();if(r)return{token:r,source:"env"};let n=t.apiToken?.trim();if(n)return{token:n,source:"config"};let o=up(t);try{let i=st.readFileSync(o,"utf8").trim();if(i)return{token:i,source:"file"}}catch{}if(!e.generate)return null;let s=RP(32).toString("hex");try{st.mkdirSync(Q_(o),{recursive:!0}),st.writeFileSync(o,s+`
55
- `,{mode:384}),st.chmodSync(o,384)}catch{}return{token:s,source:"generated"}}var Y_=".ours-identity";function lp(t){if(!t.name.trim())throw new Error("identity name must not be empty");let e={identity:t.name.trim()};return t.force&&(e.force=!0),e.expose_local=t.exposeLocal??!0,e.local_auto_accept=t.localAutoAccept??!0,e}function AP(t){let e=ca(t);return zP(e)===Y_?e:cp(e,Y_)}function ov(t,e,r=!1){let n=lp(e),o=AP(t);if(!r&&st.existsSync(o))throw new Error(`${o} already exists \u2014 pass overwrite to replace it`);return st.mkdirSync(Q_(o),{recursive:!0}),st.writeFileSync(o,JSON.stringify(n,null,2)+`
56
- `),o}import{basename as CP,extname as jP}from"node:path";var MP={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".svg":"image/svg+xml",".bmp":"image/bmp",".ico":"image/x-icon",".pdf":"application/pdf",".txt":"text/plain",".md":"text/markdown",".json":"application/json",".csv":"text/csv",".html":"text/html",".xml":"application/xml",".zip":"application/zip",".gz":"application/gzip",".tar":"application/x-tar",".mp3":"audio/mpeg",".wav":"audio/wav",".mp4":"video/mp4",".mov":"video/quicktime"};function sv(t){return MP[jP(t).toLowerCase()]??"application/octet-stream"}function iv(t){let e=CP(t).replace(/[^A-Za-z0-9._-]/g,"_");return e.length?e.slice(0,200):"file"}var ZP=new Set(["e2e_app_recv","migration_deferred_flush"]);function av(t){let e=new Set;for(let r of t){if(!r||typeof r!="object")continue;let n=r.event;if(typeof n!="string"||!ZP.has(n))continue;let o=r.wire_id;typeof o=="string"&&o.length>0&&e.add(o)}return e}function DP(t,e){return t&&e.has(t)?"e2e":"legacy"}function qP(t,e){let r=DP(t.wire_id,e);return{msg_id:t.msg_id,wire_id:t.wire_id,from:{id:t.sender_id,name:t.sender_name},encryption:r,transport:r==="e2e"?"double_ratchet":"legacy_box",text:t.text,date:t.date,status:t.status,reply_to:t.reply_to}}function cv(t,e){let r=t.map(n=>qP(n,e));return{count:r.length,messages:r}}var VP="x-ours-kind=voice-message",LP="voice-message-";function pp(t,e){let r=(t??"").toLowerCase().split(";").map(n=>n.trim());return r[0].startsWith("audio/")&&r.slice(1).includes(VP)?!0:e.toLowerCase().startsWith(LP)&&r[0].startsWith("audio/")}function fp(t){return(t??"").split(";")[0].trim()||"application/octet-stream"}var dp=["openai-compatible","elevenlabs","deepgram","custom"],UP=5*1024*1024,FP=6e4;function mp(t){let e="configure it in config.json `stt: {}` or via OURS_STT_* env";if(!t?.provider)return{ready:!1,reason:`no STT provider configured (stt.provider: ${dp.join(" | ")}) \u2014 ${e}`};let r=t.provider.trim().toLowerCase();if(!dp.includes(r))return{ready:!1,reason:`unknown STT provider "${t.provider}" (expected: ${dp.join(" | ")})`};if(!t.apiKey?.trim())return{ready:!1,reason:`STT provider "${r}" is set but the API key is missing (stt.apiKey / OURS_STT_API_KEY)`};if(r==="openai-compatible"){if(!t.baseUrl?.trim())return{ready:!1,reason:"openai-compatible STT needs stt.baseUrl / OURS_STT_BASE_URL (e.g. your provider's /v1 root) \u2014 no endpoint is assumed"};if(!t.model?.trim())return{ready:!1,reason:"openai-compatible STT needs stt.model / OURS_STT_MODEL (passed to the provider verbatim) \u2014 no model is assumed"}}if(r==="elevenlabs"&&!t.model?.trim())return{ready:!1,reason:"elevenlabs STT needs stt.model / OURS_STT_MODEL (the model_id, e.g. from your ElevenLabs account) \u2014 no model is assumed"};if(r==="custom"){if(!t.custom?.url?.trim())return{ready:!1,reason:"custom STT needs stt.custom.url (the full endpoint URL of your provider)"};if((t.custom.url.includes("{model}")||t.custom.modelField!==void 0&&t.custom.modelField!=="")&&!t.model?.trim())return{ready:!1,reason:"the custom STT template references a model (url {model} or modelField) but stt.model / OURS_STT_MODEL is not set"}}return{ready:!0,provider:r}}function ua(t,e){let r=t;for(let n of e.split(".")){if(r===null||typeof r!="object")return;r=r[n]}return typeof r=="string"?r:void 0}async function la(t,e,r,n=[]){let o=new AbortController,s=setTimeout(()=>o.abort(),r);try{let i=await fetch(t,{...e,signal:o.signal});if(!i.ok){let a=await i.text().catch(()=>"");for(let c of n)c&&(a=a.split(c).join("[redacted]"));return{ok:!1,error:`STT HTTP ${i.status}${a?`: ${a.slice(0,200)}`:""}`}}return{ok:!0,json:await i.json()}}catch(i){return i?.name==="AbortError"?{ok:!1,error:`STT timeout after ${r}ms`}:{ok:!1,error:i instanceof Error?i.message:String(i)}}finally{clearTimeout(s)}}var hp=(t,e)=>new Blob([new Uint8Array(t)],{type:fp(e)}),BP=async(t,e,r,n,o)=>{let s=new FormData;s.set("file",hp(t,r),e),s.set("model",n.model.trim()),s.set("response_format","json"),n.language?.trim()&&s.set("language",n.language.trim());let i=await la(`${n.baseUrl.trim().replace(/\/$/,"")}/audio/transcriptions`,{method:"POST",headers:{Authorization:`Bearer ${n.apiKey.trim()}`},body:s},o,[n.apiKey.trim()]);if(!i.ok)return i;let a=ua(i.json,"text");return a!==void 0?{ok:!0,text:a}:{ok:!1,error:"STT response missing text"}},HP=async(t,e,r,n,o)=>{let s=new FormData;s.set("file",hp(t,r),e),s.set("model_id",n.model.trim()),n.language?.trim()&&s.set("language_code",n.language.trim());let i=await la(`${(n.baseUrl?.trim()||"https://api.elevenlabs.io").replace(/\/$/,"")}/v1/speech-to-text`,{method:"POST",headers:{"xi-api-key":n.apiKey.trim()},body:s},o,[n.apiKey.trim()]);if(!i.ok)return i;let a=ua(i.json,"text");return a!==void 0?{ok:!0,text:a}:{ok:!1,error:"STT response missing text"}},GP=async(t,e,r,n,o)=>{let s=new URLSearchParams;n.model?.trim()&&s.set("model",n.model.trim()),n.language?.trim()&&s.set("language",n.language.trim());let i=s.toString(),a=await la(`${(n.baseUrl?.trim()||"https://api.deepgram.com").replace(/\/$/,"")}/v1/listen${i?`?${i}`:""}`,{method:"POST",headers:{Authorization:`Token ${n.apiKey.trim()}`,"Content-Type":fp(r)},body:new Uint8Array(t)},o,[n.apiKey.trim()]);if(!a.ok)return a;let c=ua(a.json,"results.channels.0.alternatives.0.transcript");return c!==void 0?{ok:!0,text:c}:{ok:!1,error:"STT response missing transcript"}},JP=async(t,e,r,n,o)=>{let s=n.custom,i=n.model?.trim()??"",a=s.url.replaceAll("{model}",encodeURIComponent(i)),c={},u=s.authHeaderName?.trim()||"Authorization",l=(s.authHeaderTemplate??"Bearer {key}").replaceAll("{key}",n.apiKey.trim());l&&(c[u]=l);let d=s.bodyMode??"multipart",p=s.fileField?.trim()||"file",f=s.modelField===void 0?"model":s.modelField.trim(),m;if(d==="multipart"){let v=new FormData;v.set(p,hp(t,r),e),f&&i&&v.set(f,i);for(let[y,$]of Object.entries(s.extraFields??{}))v.set(y,$);m=v}else d==="raw"?(c["Content-Type"]=fp(r),m=new Uint8Array(t)):(c["Content-Type"]="application/json",m=JSON.stringify({[p]:t.toString("base64"),...f&&i?{[f]:i}:{},...s.extraFields??{}}));let h=await la(a,{method:s.method?.trim()||"POST",headers:c,body:m},o,[n.apiKey.trim()]);if(!h.ok)return h;let g=ua(h.json,s.responseTextPath?.trim()||"text");return g!==void 0?{ok:!0,text:g}:{ok:!1,error:`STT response has no text at "${s.responseTextPath?.trim()||"text"}"`}},KP={"openai-compatible":BP,elevenlabs:HP,deepgram:GP,custom:JP};async function uv(t,e,r,n){let o=mp(n);if(!o.ready)return{ok:!1,error:o.reason};let s=n.maxBytes??UP;if(t.length>s)return{ok:!1,error:`voice message is ${t.length} B \u2014 over the ${s} B STT limit (stt.maxBytes)`};let i=n.timeoutMs??FP;try{return await KP[o.provider](t,e,r,n,i)}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}function lv(t,e){let r=` \u2022 \u{1F3A4} voice message from ${t.sender} (${t.sizeBytes} B)`,n=`audio saved \u2192 ${t.savedPath} {${t.wire}}`;switch(e.kind){case"transcript":return`${r}: "${e.text}" \u2014 transcribed from voice message (STT); ${n}`;case"unconfigured":return`${r}: cannot transcribe \u2014 ${e.reason}. Tell the user you can't listen to voice messages until the operator configures transcription on this ours-mcp server, and ask them to send text meanwhile; ${n}`;case"failed":return`${r}: transcription failed (${e.error}). Tell the user their voice message could not be transcribed right now and ask them to send text or retry; ${n}`}}import*as Tt from"node:fs";import{join as WP}from"node:path";var YP="startup-progress.json",dv=1;function XP(t){return WP(t,YP)}function pv(t,e={}){let r=e.pid??process.pid,n=e.now??Date.now,o=n(),s=XP(t),i=`${s}.${r}.tmp`,a=Math.max(100,e.heartbeatMs??2e3),c=!1,u=!1,l={version:dv,pid:r,bootId:`${r}-${o}`,phase:"initializing",startedAt:o,updatedAt:o},d=()=>{if(!u)try{Tt.mkdirSync(t,{recursive:!0,mode:448}),Tt.writeFileSync(i,`${JSON.stringify(l)}
57
- `,{mode:384}),Tt.renameSync(i,s);try{Tt.chmodSync(s,384)}catch{}}catch{u=!0;try{Tt.rmSync(i,{force:!0})}catch{}}},p=(h,g)=>{l={version:dv,pid:r,bootId:l.bootId,phase:h,...g?{completed:g.completed,total:g.total}:{},startedAt:o,updatedAt:n()},d()};d();let f=setInterval(()=>{c||(l={...l,updatedAt:n()},d())},a);f.unref?.();let m=h=>{c||(p(h),c=!0,clearInterval(f))};return{update:p,ready:()=>m("ready"),failed:()=>m("failed")}}function QP(t){let{selfVersion:e,daemonVersion:r}=t;return!r||r===e?null:`ours: version mismatch \u2014 this plugin/connector is v${e}, the running daemon is v${r}. Everything still works; for the best experience run matching versions. The daemon is a shared singleton and is never restarted automatically, so when no other session is mid-task run \`ours-mcp stop\` (the next session starts the daemon at the new version) \u2014 or update the lagging side to match. No action is required; this is advisory.`}var as="0.15.1",Zt=tv(),Pe=Zt.stateDir,ha=Zt.brokerUrl,Ev=process.env.OURS_TRANSPORT??"http",gp=Zt.port,mv=Zt.gcIntervalMs,wp=Zt.apiVisibility,hI=Number(process.env.OURS_TEST_STARTUP_HEARTBEAT_MS||"")||void 0,Kt=Ev==="http"?pv(Pe,{heartbeatMs:hI}):null,w=(...t)=>process.stderr.write(`ours: ${t.join(" ")}
58
- `);function gI(){if(wp==="open")return null;if(wp==="shared"){let t=rv(Zt);if(!t)throw new Error(`apiVisibility=shared requires an operator-supplied token so it can be distributed to cross-user agents \u2014 set OURS_API_TOKEN or "apiToken" in config (${up(Zt)} is not used for shared mode). Use apiVisibility=owner for a same-user-only auto-token, or =open to disable auth.`);return t}return nv(Zt,{generate:!0}).token}var hv=gI();function yI(t){let e=t.headers["x-ours-api-token"];if(typeof e=="string"&&e)return e;let r=t.headers.authorization;if(typeof r=="string"){let n=/^Bearer\s+(.+)$/i.exec(r.trim());if(n)return n[1]}}function _I(t){if(hv===null)return!0;let e=yI(t);if(!e)return!1;let r=Buffer.from(e),n=Buffer.from(hv);return r.length===n.length&&iI(r,n)}function da(t,e){return _I(t)?!0:(e.writeHead(401,{"Content-Type":"application/json"}),e.end(JSON.stringify({error:"unauthorized"})),!1)}var vI=/^[A-Za-z0-9 _.@-]{1,64}$/,ga="contact-book";function ya(t){return vI.test(t)?t==="."||t===".."||t.includes("/")||t.includes("\\")?"invalid name":t===ga?`"${ga}" is reserved for the local contact book`:t==="root.json"||t==="bindings.json"?`"${t}" is reserved for daemon bookkeeping`:null:"name must be 1-64 chars of letters, digits, space, _ . @ or -"}function bI(){let t=tI(oI(import.meta.url)),e=process.env.OURS_UNIT_DIR,r=process.env.OURS_ADVERTISE_MIGRATE==="0",n=s=>r?[`${s}-nocap`]:[s],o=e?n(eI(e)):[ze(t,"mufl_code"),ze(t,"..","mufl_code")].flatMap(n);for(let s of o){if(!T.existsSync(s))continue;let i=T.readdirSync(s).find(a=>a.endsWith(".muflo"));if(i){let a=i.slice(0,-6),c=new Uint8Array(T.readFileSync(ze(s,i)));return{dir:s,hash:a,contents:c}}}throw new Error(`no compiled .muflo packet found (looked in: ${o.join(", ")})`+(r?' \u2014 OURS_ADVERTISE_MIGRATE=0 requires a "<dir>-nocap" packet variant (compiled with $advertise = [core.e2e] only); build it or unset the env.':""))}var cs,tn,L=new Map,_t=null,$p=null,Ee=new Map,va=new Set,it=new Map;function xp(t){if(!Number.isInteger(t)||t<=0)return!1;try{return process.kill(t,0),!0}catch(e){return e.code==="EPERM"}}function Pv(t){for(let e of Ee.values())if(e.token===t)return e}var gv=()=>ze(Pe,"bindings.json");function ps(){try{T.mkdirSync(Pe,{recursive:!0});let t=`${gv()}.tmp`;T.writeFileSync(t,JSON.stringify({pid:process.pid,bound:[...Ee.keys()],holders:[...Ee.values()].map(e=>({identity:e.identity,pid:e.pid}))})),T.renameSync(t,gv())}catch(t){w("failed to persist bindings snapshot:",String(t))}}var Iv=t=>ze(Pe,t),fs=t=>ze(t,"identity.key"),rn=t=>ze(t,"state_data.bin"),Ap=t=>ze(t,"notifications.log"),Sp=t=>ze(t,"unread.json"),wI=t=>ze(t.dir,"files");function $I(){for(let t of Cp()){let e=ze(Pe,t);try{T.chmodSync(e,448)}catch(r){w(`[${t}] chmod 0700 failed:`,String(r))}for(let r of[rn(e),fs(e)])if(T.existsSync(r))try{T.chmodSync(r,384)}catch(n){w(`[${t}] chmod 0600 ${r} failed:`,String(n))}}}function Cp(){return T.existsSync(Pe)?T.readdirSync(Pe,{withFileTypes:!0}).filter(t=>t.isDirectory()&&T.existsSync(fs(ze(Pe,t.name)))).map(t=>t.name):[]}var ls=()=>ze(Pe,ga),yv=()=>ze(ls(),"registrar.key"),kp=()=>ze(ls(),"book.json");function ba(){try{let t=JSON.parse(T.readFileSync(kp(),"utf8"));return t&&typeof t.entries=="object"?t.entries:{}}catch{return{}}}function Ov(t){T.mkdirSync(ls(),{recursive:!0});let e=`${kp()}.tmp`;T.writeFileSync(e,JSON.stringify({v:1,entries:t},null,2),{mode:384}),T.renameSync(e,kp())}function Wn(t){return He(e=>Buffer.from(Se(t,"::actor::export_address_document",e).GetBinary()))}function Nv(t){return He(e=>Buffer.from(Se(t,"::actor::export_signing_secret",e).Serialize()).toString("hex"))}async function Av(t){if(!_t)throw new Error("registrar is not available");let e=Wn(t),r=await B(async o=>{let s=await M(_t,"::actor::sign_book_entry",{name:t.name,ad:_t.pw.packet.NewBinaryFromBuffer(e).Attach(o)},o);return Buffer.from(s.Reduce("sig").GetBinary()).toString("base64url")}),n=ba();n[t.name]={v:1,name:t.name,container_id:t.cid,address_document:e.toString("base64url"),published_at:new Date().toISOString(),registrar_sig:r},Ov(n),w(`[${t.name}] published to the local contact book`)}function Cv(t){let e=ba();t in e&&(delete e[t],Ov(e),w(`[${t}] removed from the local contact book`))}async function jv(t){if(!$p)throw new Error("registrar is not available");await B(async e=>{await M(t,"::actor::pin_registrar",{registrar_ad:t.pw.packet.NewBinaryFromBuffer($p).Attach(e)},e)})}var _a=()=>ze(Pe,"root.json"),ie=null;function xI(){try{let t=JSON.parse(T.readFileSync(_a(),"utf8"));return typeof t.name=="string"?t.name:null}catch{return null}}function SI(t){T.mkdirSync(Pe,{recursive:!0});let e=`${_a()}.tmp`;T.writeFileSync(e,JSON.stringify({v:1,name:t})),T.renameSync(e,_a())}function Mv(){T.rmSync(_a(),{force:!0})}function yt(t){return He(e=>{let r=Se(t,"::actor::describe_identity",e);return{bio:r.Reduce("bio").Visualize(),persona:r.Reduce("persona").Visualize(),hasCert:r.Reduce("has_cert").GetBoolean(),roleId:r.Reduce("role_id").Visualize(),rootCid:r.Reduce("root_cid").Visualize(),rootName:r.Reduce("root_name").Visualize(),monitoringEnabled:r.Reduce("monitoring_enabled").GetBoolean()}})}async function Jn(t,e){await B(async r=>{let n=Wn(e),o=await M(t,"::actor::sign_delegation",{role_ad:t.pw.packet.NewBinaryFromBuffer(n).Attach(r),role_id:e.name},r),s=Buffer.from(o.Reduce("cert").GetBinary()),i=await M(t,"::actor::export_root_profile",{},r),a=Buffer.from(i.Reduce("profile").GetBinary()),c=Wn(t),u=Buffer.from((await M(e,"::actor::export_v1_address_document",{},r)).Reduce("ad").GetBinary()),l=await M(t,"::actor::sign_delegation",{role_ad:t.pw.packet.NewBinaryFromBuffer(u).Attach(r),role_id:e.name},r),d=Buffer.from(l.Reduce("cert").GetBinary());await M(e,"::actor::set_delegation",{cert:e.pw.packet.NewBinaryFromBuffer(s).Attach(r),root_ad:e.pw.packet.NewBinaryFromBuffer(c).Attach(r),root_profile:e.pw.packet.NewBinaryFromBuffer(a).Attach(r),cert_v1:e.pw.packet.NewBinaryFromBuffer(d).Attach(r)},r)}),w(`[${e.name}] delegated as a role under root "${t.name}"`)}async function _v(t){ie=t.name,SI(t.name);let e=[],r=[];for(let n of L.values())if(n.name!==t.name)try{await Jn(t,n),e.push(n.name)}catch(o){w(`failed to adopt "${n.name}" as a role under new root "${t.name}":`,String(o)),r.push(n.name)}return w(`[${t.name}] established as the host root${e.length?` (adopted ${e.length} role(s))`:""}`),{adopted:e,failed:r}}function kI(t,e){if(!ie||!L.has(ie))return null;let r=L.get(e)??[...L.values()].find(o=>o.cid===e);if(!r||r.name===t.name)return null;let n=o=>o.name===ie||yt(o).roleId!=="";return n(t)&&n(r)?r:null}async function RI(t,e,r){let n=Wn(e);return await B(async o=>{await M(t,"::actor::connect_sibling",{name:e.name,target_ad:t.pw.packet.NewBinaryFromBuffer(n).Attach(o),text:r},o)}),`"${e.name}" was not a contact yet \u2014 connected as an intra-root sibling (delegation-cert auto-accept) and delivered the message.`}async function zI(t,e,r){if(!_t)throw new Error(`"${e}" is not a contact, and the local contact book is unavailable.`);let n=ba(),o=n[e]??Object.values(n).find(c=>c.container_id===e);if(!o)throw new Error(`"${e}" is not a contact and has no local contact-book entry. Use generate_invite/add_contact for remote peers, or list_local_contact_book to see local ones.`);if(o.container_id===t.cid)throw new Error("that contact-book entry is this identity itself.");let s=Buffer.from(o.address_document,"base64url"),i=Buffer.from(o.registrar_sig,"base64url"),a=Wn(t);return await B(async c=>{let u=await M(_t,"::actor::mint_introduction",{joiner_ad:_t.pw.packet.NewBinaryFromBuffer(a).Attach(c),target_ad:_t.pw.packet.NewBinaryFromBuffer(s).Attach(c)},c),l=Buffer.from(u.Reduce("intro").GetBinary());await M(t,"::actor::connect_local",{name:o.name,target_ad:t.pw.packet.NewBinaryFromBuffer(s).Attach(c),intro:t.pw.packet.NewBinaryFromBuffer(l).Attach(c),entry_sig:t.pw.packet.NewBinaryFromBuffer(i).Attach(c),text:r},c)}),`"${o.name}" was not a contact yet \u2014 connected via the local contact book and sent the message with the introduction. If "${o.name}" requires approval for local introductions, delivery completes once they approve.`}function ms(t){return He(e=>{let r=Se(t,"::a2a_messaging::get_monitoring_status",e),n=Se(t,"::actor::get_monitoring_status",e);return{enabled:r.Reduce("monitored").GetBoolean(),proxyCid:r.Reduce("proxy_cid").Visualize(),proxyPending:r.Reduce("proxy_pending").GetBoolean(),copiesQueued:parseInt(n.Reduce("copies_queued").Visualize(),10)||0,controlQueued:parseInt(n.Reduce("control_queued").Visualize(),10)||0}})}async function us(t,e,r){await B(async n=>{await M(t,"::a2a_control::send_control",{contact:e,payload:JSON.stringify(r)},n)})}function Zv(t){try{return He(e=>{let r=Se(t,"::a2a_capabilities::get_manifest",e).Reduce("capabilities");return r.IsNil()?[]:[...r.GetKeys()].map(n=>typeof n=="string"?n:n.Visualize())})}catch{return[]}}function TI(t){let e="",r="",n="",o="",s=[];try{He(i=>{let a=Se(t,"::a2a_capabilities::get_manifest",i),c=l=>{let d=a.Reduce(l);return d.IsNil()?"":d.Visualize()};e=c("app_id"),r=c("name"),n=c("description"),o=c("version");let u=a.Reduce("capabilities");u.IsNil()||(s=[...u.GetKeys()].map(l=>typeof l=="string"?l:l.Visualize()))})}catch{}return{app_id:e,name:r,description:n,version:o,capabilities:s,monitoring_status:ms(t).proxyCid?"bound":"unbound"}}function EI(t){let e=[];for(let r of L.values()){if(r.name===t.name)continue;let n=yt(r);n.rootCid===t.cid&&e.push({name:r.name,cid:r.cid,role_id:n.roleId,bio:n.bio,monitoring:n.monitoringEnabled,capabilities:Zv(r)})}return e}function Dv(t){try{tn.remove_packet(t.cid)}catch(e){w(`remove_packet(${t.cid}) failed:`,String(e))}L.delete(t.name);try{Cv(t.name)}catch(e){w(`failed to unpublish "${t.name}" from the contact book:`,String(e))}Ee.has(t.name)&&(Ee.delete(t.name),ps()),t.name===ie&&(ie=null,Mv());try{T.rmSync(t.dir,{recursive:!0,force:!0}),gr.delete(t.name)}catch(e){return`deleting ${t.dir} failed: ${String(e)}`}return null}var jp=!0,qv=jp?2:1,PI=6e5,Rp=new Map,zp=(t,e)=>`${t}:${e}`;function Vv(t,e,r){e&&Rp.set(zp(t,e),{response:r,at:Date.now()})}function II(t,e){if(!e)return;let r=Rp.get(zp(t,e));if(r){if(Date.now()-r.at>PI){Rp.delete(zp(t,e));return}return r.response}}async function OI(t,e,r){let n=ds(r);if(!n||typeof n!="object")return;let o=n,s=o.result;if(s&&typeof s=="object"&&s.pending===!0)return;let i=String(o.req_id??"");i&&(await us(t,e,o),Vv(e,i,o))}async function NI(t,e,r,n,o,s){let i;try{let d=JSON.parse(o);if(!d||typeof d!="object")throw new Error("not an object");i=d}catch{w(`[${t.name}] dropping unparseable control payload from ${n}`);return}if(i.v===1){i.t==="get_manifest"?await us(t,r,{v:1,t:"res",id:i.id??null,ok:!0,manifest:{...TI(t),protocol_version:qv}}):await us(t,r,{v:1,t:"res",id:i.id??null,error:{code:"protocol_upgraded",message:"This host now speaks the ours control-envelope protocol (v2). Refresh / cache-bust the control plane."}});return}let a=String(i.req_id??""),c=II(r,a);if(c){await us(t,r,c);return}let u=i.args&&typeof i.args=="object"?i.args:{},l={cap:String(i.cap??""),verb:String(i.verb??""),args:u,req_id:a};await B(async d=>{let p;try{p=await M(t,"::actor::process_control_envelope",{sender_id:e,sender_name:n,envelope:l,date:s},d)}catch(f){w(`[${t.name}] dispatch of "${l.cap}.${l.verb}" from ${n} failed:`,String(f));return}if(await OI(t,r,p),l.cap==="core.monitoring"&&l.verb==="bind")try{let f=ds(p);f&&(f.ok===!0||f.$ok===!0)&&DI(t,r)}catch{}})}async function AI(t){for(;;)if(await B(async r=>{let o=(await M(t,"::actor::get_control_requests",{},r)).Reduce("requests"),s=o.GetKeys();if(s.length===0)return!0;for(let i=0;i<s.length;i++){let a=o.Reduce(i),c=a.Reduce("sender_cid");await NI(t,c,c.Visualize(),a.Reduce("sender_name").Visualize(),a.Reduce("payload").Visualize(),a.Reduce("date"))}return!1}))return}function CI(){return String(zv(0,1e6)).padStart(6,"0")}var nn=new Map;function wa(t){return[...L.values()].find(e=>e.cid===t)}async function hs(t,e){let r=e.Reduce("target").Visualize(),n=ds(e.Reduce("response"));if(!n||typeof n!="object")return;await us(t,r,n);let o=String(n.req_id??"");o&&Vv(r,o,n)}async function jI(t,e,r,n){try{if(L.has(e)){w(`[${t.name}] host_provision_child("${e}") rejected: name exists (settles via sweep timeout)`);return}let o=await Op(e);await B(async s=>{r&&await M(o,"::a2a_messaging::set_my_bio",{bio:r},s),await Jn(t,o);let i=yt(o).roleId,a=Se(o,"::actor::export_address_document_native",s),c=await M(t,"::a2a_cluster::register_provisioned_child",{pending_handle:n,role_id:i,child_ad:a},s);await hs(t,c)})}catch(o){w(`[${t.name}] host_provision_child("${e}") failed (settles via sweep timeout):`,String(o))}}async function MI(t,e,r){try{let n=wa(e.Visualize());if(n){let o=Dv(n);o&&w(`[${t.name}] host_destroy_child teardown warning:`,o)}nn.delete(e.Visualize()),await B(async o=>{let s=await M(t,"::a2a_cluster::confirm_child_destroyed",{pending_handle:r,cid:e},o);await hs(t,s)})}catch(n){w(`[${t.name}] host_destroy_child failed (settles via sweep timeout):`,String(n))}}async function ZI(t,e,r){try{let n=wa(e.Visualize());if(!n){w(`[${t.name}] host_mint_child_invite: unknown child ${e.Visualize()} (settles via sweep timeout)`);return}await B(async o=>{let s=await M(n,"::a2a_messaging::generate_invite",{},o),i=t.pw.packet.NewBinaryFromBuffer(Buffer.from(s.Reduce("invite").GetBinary())).Attach(o),a=await M(t,"::a2a_cluster::register_child_invite",{pending_handle:r,invite:i},o);await hs(t,a)})}catch(n){w(`[${t.name}] host_mint_child_invite failed (settles via sweep timeout):`,String(n))}}async function Tp(t,e,r,n){await B(async o=>{if(e){n&&await M(t,"::a2a_messaging::host_register_monitoring_cp",{cp_ad:n},o);let s=CI();await M(t,"::a2a_messaging::set_proxy_pending",{code:s,proxy:r},o),await M(t,"::a2a_messaging::verify_proxy_code",{code:s,sender:r},o),nn.set(t.cid,r??"")}else await M(t,"::a2a_messaging::host_clear_child_monitoring",{},o),nn.delete(t.cid)})}async function vv(t,e,r,n,o,s){try{let i=wa(e.Visualize());if(!i){w(`[${t.name}] host_set_child_monitoring: unknown child ${e.Visualize()} (settles via sweep timeout)`);return}r?await Tp(i,!0,o?.Visualize(),s):await Tp(i,!1),await B(async a=>{let c=await M(t,"::a2a_cluster::confirm_child_monitoring",{pending_handle:n,cid:e,enabled:r},a);await hs(t,c)})}catch(i){w(`[${t.name}] host_set_child_monitoring failed (settles via sweep timeout):`,String(i))}}async function DI(t,e){for(let[r,n]of[...nn.entries()]){if(n===e)continue;let o=wa(r);if(!o){nn.delete(r);continue}await Tp(o,!1).catch(s=>w(`[${t.name}] CP-rebind clear of child ${r} failed:`,String(s)))}}function qI(t,e){let r=[];for(let n of L.values()){if(n.name===t.name)continue;let o=yt(n);if(o.rootCid!==t.cid)continue;let s=Se(n,"::actor::export_address_document_native",e);r.push({cid:s.Reduce("identity").Reduce("container_id"),role_id:o.roleId,name:n.name,bio:o.bio,persona:o.persona,caps:Zv(n),child_ad:s})}return r}var yp=new Set;async function Lv(t){if(!yp.has(t.name)){yp.add(t.name);try{await B(async e=>{await M(t,"::a2a_cluster::reconcile",{pending_handle:"",children:qI(t,e)},e);let n=(await M(t,"::a2a_cluster::sweep_and_settle",{},e)).Reduce("settled"),o=n.GetKeys();for(let s=0;s<o.length;s++)await hs(t,n.Reduce(s))})}catch(e){w(`[${t.name}] cluster sweep failed:`,String(e))}finally{yp.delete(t.name)}}}var VI=6e4;function LI(){setInterval(()=>{if(jp)for(let t of L.values())yt(t).roleId===""&&Lv(t)},VI).unref()}function UI(){for(let t of L.values())if(yt(t).roleId!=="")try{let e=ms(t).proxyCid;e&&nn.set(t.cid,e)}catch(e){nn.set(t.cid,""),w(`[${t.name}] monitoredChildren rebuild read failed (added clear-on-repoint):`,String(e))}}var _p=new Set;async function Mp(t){if(!_p.has(t.name)){_p.add(t.name);try{await AI(t)}catch(e){w(`[${t.name}] control dispatch failed:`,String(e))}finally{_p.delete(t.name)}if(L.has(t.name)&&ms(t).controlQueued>0)return Mp(t)}}async function FI(){T.mkdirSync(ls(),{recursive:!0});let t;try{t=T.readFileSync(yv(),"utf8").trim()}catch{}let e=Rv(24).toString("hex");_t=await Dp(ga,e,ls(),!1,t),t||T.writeFileSync(yv(),Nv(_t),{mode:384}),$p=Wn(_t),w(`contact-book registrar ready (${_t.cid})`)}function BI(t){try{return T.existsSync(rn(t))&&T.statSync(rn(t)).size>0}catch{return!1}}function Ep(t){let e=He(s=>Buffer.from(Se(t,"::actor::export_state",s).Serialize()));T.mkdirSync(t.dir,{recursive:!0,mode:448});let r=rn(t.dir),n=`${r}.tmp`,o;try{o=T.openSync(n,"w",384),T.fchmodSync(o,384),T.writeFileSync(o,e),T.fsyncSync(o),T.closeSync(o),o=void 0,T.renameSync(n,r),T.chmodSync(r,384);try{T.chmodSync(fs(t.dir),384)}catch{}let s=T.openSync(t.dir,"r");try{T.fsyncSync(s)}finally{T.closeSync(s)}}catch(s){if(o!==void 0)try{T.closeSync(o)}catch{}try{T.rmSync(n,{force:!0})}catch{}throw s}}function Zp(t){try{Ep(t),t.persistFailed&&(t.persistFailed=!1,w(`[${t.name}] persist recovered \u2014 quarantine lifted`),me(t,{event:"persist_recovered"}))}catch(e){t.persistFailed=!0,w(`[${t.name}] PERSIST FAILED \u2014 identity quarantined (fail-closed), outbound of this txn withheld:`,String(e));try{me(t,{event:"persist_failed",error:String(e).slice(0,300)})}catch{}throw process.nextTick(()=>tt(t.name,`[${t.name}] PERSIST FAILED \u2014 messaging quarantined until the state file is writable again`)),e}}function HI(t){let e=[],r=t.Reduce("degraded");if(r.IsNil())return e;for(let n=0;;n++){let o=r.Reduce(n);if(o.IsNil())break;e.push({cid:o.Reduce("container_id").Visualize(),name:o.Reduce("name").Visualize(),attempts:Number(o.Reduce("attempts").Visualize()),queued:Number(o.Reduce("queued").Visualize())})}return e}function GI(t){let e=[],r=t.Reduce("queues");if(r.IsNil())return e;for(let n=0;;n++){let o=r.Reduce(n);if(o.IsNil())break;e.push({cid:o.Reduce("container_id").Visualize(),queued:Number(o.Reduce("queued").Visualize()),degraded:o.Reduce("degraded").GetBoolean()})}return e}async function Uv(t,e){try{let r=await B(async n=>{let o=await M(t,"::a2a_messaging::flush_deferred",{contact:e},n);return Number(o.Reduce("flushed").Visualize())});r>0&&w(`[${t.name}] flushed ${r} deferred message(s) to ${e.slice(0,12)}\u2026`)}catch(r){w(`[${t.name}] deferred flush to ${e.slice(0,12)}\u2026 failed:`,String(r))}}async function Fv(t){try{let e=await B(async n=>{let o=await M(t,"::a2a_messaging::restore_degraded_contacts",{},n);return Number(o.Reduce("requested").Visualize())});e>0&&w(`[${t.name}] contact restore requested for ${e} degraded contact(s)`);let r=He(n=>GI(Se(t,"::a2a_messaging::list_deferred_queues",n)));for(let n of r)n.degraded||await Uv(t,n.cid)}catch(e){w(`[${t.name}] contact-restore sweep failed:`,String(e))}}async function Pp(t){try{let e=await B(async r=>{let n=await M(t,"::a2a_messaging::reconcile_advertise",{},r),o=s=>n.Reduce(s).IsNil()?0:Number(n.Reduce(s).Visualize());return{changed:/true/i.test(n.Reduce("changed").Visualize()),capabilityAdvertised:o("capability_advertised"),legacyReadvertised:o("legacy_readvertised")}});(e.capabilityAdvertised>0||e.legacyReadvertised>0)&&w(`[${t.name}] capability reconcile: changed=${e.changed} advertised=${e.capabilityAdvertised} legacy_migration_bootstrap=${e.legacyReadvertised}`)}catch(e){w(`[${t.name}] capability reconcile sweep failed:`,String(e))}}async function Ip(t){try{let e=await B(async r=>{let n=await M(t,"::a2a_messaging::readvertise_e2e_recovery",{},r);return Number(n.Reduce("readvertised").Visualize())});e>0&&w(`[${t.name}] re-advertised fresh AD to ${e} e2e contact(s) (session recovery)`)}catch(e){w(`[${t.name}] e2e recovery re-advertise failed:`,String(e))}try{await B(async e=>{await M(t,"::a2a_messaging::sweep_e2e_migrations",{},e)})}catch(e){w(`[${t.name}] e2e migration sweep failed:`,String(e))}try{let e=await B(async r=>{let n=await M(t,"::a2a_messaging::redrive_unacked_sweep",{},r),o=s=>n.Reduce(s).IsNil()?0:Number(n.Reduce(s).Visualize());return{redriven:o("redriven_contacts"),purged:o("purged_contacts"),deferred:o("deferred_contacts")}});(e.redriven>0||e.purged>0||e.deferred>0)&&w(`[${t.name}] unacked sweep: redriven=${e.redriven} ttl_purged=${e.purged} deferred=${e.deferred} contact(s)`)}catch(e){w(`[${t.name}] unacked redrive sweep failed:`,String(e))}}var fa=new Map;function JI(t){let e=fa.get(t);if(!(!e||e.size===0))for(let r of[...e])try{r()}catch{}}function KI(t,e){return new Promise(r=>{let n=fa.get(t);n||(n=new Set,fa.set(t,n));let o=!1,s=()=>{o||(o=!0,n.delete(i),n.size===0&&fa.delete(t),clearTimeout(a),r())},i=s,a=setTimeout(s,e);n.add(i)})}function me(t,e){try{T.mkdirSync(t.dir,{recursive:!0,mode:448}),T.appendFileSync(Ap(t.dir),JSON.stringify(e)+`
59
- `)}catch(r){w(`[${t.name}] failed to append notifications.log:`,String(r))}JI(t.name)}function WI(t){let e=Ap(t.dir),r="";try{r=T.readFileSync(e,"utf8")}catch{return new Set}let n=[];for(let o of r.split(`
60
- `))if(o.trim())try{n.push(JSON.parse(o))}catch{}return av(n)}function is(t,e){let r=t.Reduce(e);return r.IsNil()?"":Buffer.from(r.GetBinary()).toString("hex")}var YI=Number(process.env.OURS_NOTIFY_LONGPOLL_MS)>0?Number(process.env.OURS_NOTIFY_LONGPOLL_MS):25e3,XI=250;function vp(t){try{return T.statSync(t).size}catch{return 0}}function QI(t,e,r){if(r<=e)return{events:[],cursor:e};let n=Buffer.alloc(r-e),o=0;try{let c=T.openSync(t,"r");try{o=T.readSync(c,n,0,n.length,e)}finally{T.closeSync(c)}}catch{return{events:[],cursor:e}}let s=n.subarray(0,o),i=s.lastIndexOf(10);if(i===-1)return{events:[],cursor:e};let a=[];for(let c of s.subarray(0,i+1).toString("utf8").split(`
61
- `))if(c.trim())try{a.push(JSON.parse(c))}catch{}return{events:a,cursor:e+i+1}}async function eO(t,e,r,n){let o=Ap(ze(Pe,r)),s=(u,l)=>{e.writableEnded||(e.writeHead(200,{"Content-Type":"application/json"}),e.end(JSON.stringify({cursor:u,events:l})))};if(n===null||n==="tip"){s(vp(o),[]);return}let i=parseInt(n,10);if(!Number.isFinite(i)||i<0){e.writableEnded||(e.writeHead(400,{"Content-Type":"application/json"}),e.end(JSON.stringify({error:"invalid since cursor"})));return}let a=!1;t.on("close",()=>{a=!0});let c=Date.now()+YI;for(;!a;){let u=vp(o);if(i>u&&(i=0),u>i){let{events:l,cursor:d}=QI(o,i,u);if(l.length>0){s(d,l);return}i=d}if(Date.now()>=c)break;await KI(r,Math.min(XI,c-Date.now()))}a||s(vp(o),[])}function en(t){try{let{unread:e,unreadFiles:r}=He(s=>{let a=ma(Se(t,"::actor::list_incoming_messages",s)).filter(l=>l.status==="unread"),c=Se(t,"::actor::list_incoming_files",s),u=[];if(!c.IsNil())for(let l=0;;l++){let d=c.Reduce(l);if(d.IsNil())break;d.Reduce("status").Visualize()==="unread"&&u.push({file_id:d.Reduce("file_id").Visualize(),from:d.Reduce("sender_name").Visualize(),filename:d.Reduce("filename").Visualize(),mime:d.Reduce("mime").Visualize(),wire_id:d.Reduce("wire_id").Visualize()})}return{unread:a,unreadFiles:u}}),n={count:e.length,recent:e.slice(-10).map(s=>({from:s.sender_name,msg_id:s.msg_id,date:s.date})),files:r.length,unread_files:r.slice(-10)};T.mkdirSync(t.dir,{recursive:!0,mode:448});let o=`${Sp(t.dir)}.tmp`;T.writeFileSync(o,JSON.stringify(n)),T.renameSync(o,Sp(t.dir))}catch(e){w(`[${t.name}] failed to refresh unread snapshot:`,String(e))}}function tO(){let t=[],e=[];try{e=T.readdirSync(Pe,{withFileTypes:!0})}catch{return{identities:t}}for(let r of e){if(!r.isDirectory()||ya(r.name)!==null)continue;let n;try{n=JSON.parse(T.readFileSync(Sp(ze(Pe,r.name)),"utf8"))}catch{continue}let o=Number.isSafeInteger(n.count)&&Number(n.count)>=0?Number(n.count):0,s=Number.isSafeInteger(n.files)&&Number(n.files)>=0?Number(n.files):0;if(o===0&&s===0)continue;let i=Array.isArray(n.recent)?n.recent.slice(-10).flatMap(c=>{if(!c||typeof c!="object")return[];let u=c;return typeof u.from!="string"||!["string","number"].includes(typeof u.msg_id)||typeof u.date!="string"?[]:[{from:u.from,msg_id:u.msg_id,date:u.date}]}):[],a=Array.isArray(n.unread_files)?n.unread_files.slice(-10).flatMap(c=>{if(!c||typeof c!="object")return[];let u=c;return typeof u.from!="string"||typeof u.filename!="string"||typeof u.mime!="string"||typeof u.wire_id!="string"?[]:[{from:u.from,filename:u.filename,mime:u.mime,wire_id:u.wire_id}]}):[];t.push({name:r.name,count:o,recent:i,files:s,unread_files:a})}return t.sort((r,n)=>String(r.name).localeCompare(String(n.name))),{identities:t}}var Qr=new Map,Bv=t=>`ours://inbox/${encodeURIComponent(t)}`;function tt(t,e){w(`[${t}] notify:`,e);let r=Ee.get(t)?.sid;if(!r)return;let n=Qr.get(r);if(n){try{n.sendLoggingMessage({level:"info",logger:"ours",data:e})}catch(o){w("sendLoggingMessage failed:",String(o))}try{n.server.sendResourceUpdated({uri:Bv(t)})}catch{}}}function He(t){let e=new Np;try{return t(e)}finally{e.Finalize()}}async function B(t){let e=new Np;try{return await t(e)}finally{e.Finalize()}}function Se(t,e,r){let n=Tv({name:e,targ:void 0}),o=t.pw.packet.ExecuteTransaction(n);return n.Destroy(),r?o.Attach(r):o}async function rO(t,e){let r=t.lock,n;t.lock=new Promise(o=>n=o),await r;try{return await e()}finally{n()}}function nO(t,e,r=25e3){return new Promise((n,o)=>{let s=setTimeout(()=>{let i=t.pending.findIndex(a=>a.timer===s);i>=0&&t.pending.splice(i,1),o(new Error("timed out waiting for the transaction result"))},r);t.pending.push({resolve:n,reject:o,timer:s}),t.pw.add_client_message(e)})}function M(t,e,r,n,o){if(t.persistFailed)try{Zp(t)}catch(i){return Promise.reject(new Error(`identity "${t.name}" is quarantined: state persist is failing (${String(i)}) \u2014 mutations are rejected until state_data.bin is writable again`))}let s=Tv({name:e,targ:r});return rO(t,()=>nO(t,s,o)).then(i=>{if(s.Destroy(),t.persistFailed){try{i.Destroy()}catch{}throw new Error(`identity "${t.name}": state persist FAILED \u2014 this transaction's outbound was withheld (fail-closed); fix the state directory and retry`)}return n?i.Attach(n):i},i=>{try{s.Destroy()}catch{}throw i})}function oO(t){t.pw.on_return_data=e=>{let r=new Np;e.Attach(r);try{let n=e.Reduce("kind").Visualize();if(n==="save_state"){Zp(t);return}if(n==="notify_agent"){let s=e.Reduce("payload"),i=s.Reduce("event").Visualize();if(i==="message_received"){let a=s.Reduce("sender_name").Visualize(),c=s.Reduce("msg_id").Visualize(),u=s.Reduce("date").Visualize();me(t,{event:"message_received",from:a,msg_id:c,date:u}),en(t),process.nextTick(()=>tt(t.name,`[${t.name}] new message from ${a} (#${c})`))}else if(i==="file_received"){let a=s.Reduce("sender_name").Visualize(),c=s.Reduce("file_id").Visualize(),u=s.Reduce("filename").Visualize(),l=s.Reduce("mime").Visualize(),d=s.Reduce("bytes").Visualize(),p=s.Reduce("date").Visualize();me(t,{event:"file_received",from:a,file_id:c,filename:u,mime:l,bytes:d,date:p}),en(t),process.nextTick(()=>tt(t.name,`[${t.name}] new file ${u} (${d} B) from ${a} (#${c})`))}else if(i==="contact_accepted"){let a=s.Reduce("name").Visualize(),c=s.Reduce("container_id").Visualize();process.nextTick(()=>tt(t.name,`[${t.name}] contact "${a}" (${c}) accepted your invite.`))}else if(i==="local_contact_added"){let a=s.Reduce("name").Visualize(),c=s.Reduce("container_id").Visualize();process.nextTick(()=>tt(t.name,`[${t.name}] local contact "${a}" (${c}) connected via the contact book.`))}else if(i==="sibling_contact_added"){let a=s.Reduce("name").Visualize(),c=s.Reduce("container_id").Visualize();me(t,{event:"sibling_contact_added",from:a}),process.nextTick(()=>tt(t.name,`[${t.name}] sibling "${a}" (${c}) connected (intra-root auto-accept).`))}else if(i==="local_contact_request"){let a=s.Reduce("name").Visualize(),c=s.Reduce("container_id").Visualize();me(t,{event:"local_contact_request",from:a}),process.nextTick(()=>tt(t.name,`[${t.name}] pending local introduction from "${a}" (${c}) \u2014 approve or reject with respond_to_introduction.`))}else if(i==="pending_message"){let a=s.Reduce("sender_name").Visualize(),c=s.Reduce("queued").Visualize();me(t,{event:"pending_message",from:a,queued:c}),process.nextTick(()=>tt(t.name,`[${t.name}] "${a}" queued a message awaiting introduction approval (${c} queued).`))}else if(i==="e2e_restore_rejected")me(t,{event:"e2e_restore_rejected"}),w(`[${t.name}] E2E RESTORE REJECTED \u2014 corrupt session blob failed pickle_key validation; reset to empty e2e state, self-heal fallback will re-establish`),process.nextTick(()=>tt(t.name,`[${t.name}] persisted e2e sessions were corrupt \u2014 rejected cleanly, sessions re-establishing`));else if(i==="contact_restored"){let a=s.Reduce("name").Visualize(),c=s.Reduce("container_id").Visualize();me(t,{event:"contact_restored",from:a}),w(`[${t.name}] contact "${a}" restored (re-keyed)`),process.nextTick(()=>void Uv(t,String(c)))}else if(i==="migration_active"){let a=s.Reduce("cid").Visualize(),c=s.Reduce("role").Visualize(),u=is(s,"epoch"),l=is(s,"session_id");me(t,{event:"migration_active",cid:String(a),role:String(c),...u?{epoch:u}:{},...l?{session_id:l}:{}}),w(`[migration] active cid=${a} role=${c}${u?` epoch=${u}`:""}${l?` session_id=${l}`:""}`)}else if(i==="e2e_app_send"){let a=s.Reduce("cid").Visualize(),c=is(s,"session_id"),u=s.Reduce("olm_type").Visualize(),l=s.Reduce("wire_id").Visualize(),d=s.Reduce("retained").IsNil()?void 0:s.Reduce("retained").GetBoolean(),p=[],f=s.Reduce("evicted");if(!f.IsNil())for(let m=0;;m++){let h=f.Reduce(m);if(h.IsNil())break;p.push(String(h.Visualize()))}me(t,{event:"e2e_app_send",cid:String(a),session_id:c,olm_type:String(u),wire_id:String(l),...d===!1?{retained:!1}:{},...p.length?{evicted:p}:{}}),w(`[${t.name}] [e2e-app] send cid=${a} session_id=${c} olm_type=${u} wire_id=${l}${d===!1?" retained=false":""}${p.length?` evicted=${p.join(",")}`:""}`),p.length&&process.nextTick(()=>tt(t.name,`[${t.name}] redrive window overflow: ${p.length} older unacked send(s) lost their auto-resend guarantee (${p.join(", ")})`))}else if(i==="dedup_degraded"){let a=s.Reduce("cid").Visualize(),c=s.Reduce("dropped_wire_id").Visualize();me(t,{event:"dedup_degraded",cid:String(a),dropped_wire_id:String(c)}),w(`[${t.name}] [e2e-app] DEDUP DEGRADED cid=${a} dropped_wire_id=${c} (storage ceiling \u2014 a late redrive of that id could re-deposit)`),process.nextTick(()=>tt(t.name,`[${t.name}] dedup window overflowed for ${String(a).slice(0,12)}\u2026 \u2014 one oldest entry dropped (guarantee loss surfaced)`))}else if(i==="e2e_delivery_expired"){let a=s.Reduce("cid").Visualize(),c=[],u=s.Reduce("wire_ids");if(!u.IsNil())for(let l=0;;l++){let d=u.Reduce(l);if(d.IsNil())break;c.push(String(d.Visualize()))}me(t,{event:"e2e_delivery_expired",cid:String(a),wire_ids:c}),w(`[${t.name}] [e2e-app] delivery EXPIRED (2-day TTL, receipt never arrived) cid=${a} wire_ids=${c.join(",")}`),process.nextTick(()=>tt(t.name,`[${t.name}] ${c.length} message(s)/file(s) to ${String(a).slice(0,12)}\u2026 expired undelivered (no receipt within 2 days)`))}else if(i==="e2e_app_recv"){let a=s.Reduce("cid").Visualize(),c=is(s,"session_id"),u=s.Reduce("ok").GetBoolean(),l=s.Reduce("wire_id").Visualize(),d=s.Reduce("code").IsNil()?void 0:String(s.Reduce("code").Visualize()),p=!s.Reduce("duplicate").IsNil(),f=!s.Reduce("file").IsNil();me(t,{event:"e2e_app_recv",cid:String(a),session_id:c,ok:u,wire_id:String(l),...d?{code:d}:{},...p?{duplicate:!0}:{},...f?{file:!0}:{}}),w(`[${t.name}] [e2e-app] recv cid=${a} session_id=${c} ok=${u} wire_id=${l}${d?` code=${d}`:""}${p?" duplicate=true":""}${f?" file=true":""}`)}else if(i==="e2e_rekey"){let a=s.Reduce("cid").Visualize(),c=s.Reduce("role").Visualize(),u=is(s,"session_id"),l=s.Reduce("attempts").IsNil()?void 0:String(s.Reduce("attempts").Visualize()),d=s.Reduce("peer_supports").IsNil()?void 0:String(s.Reduce("peer_supports").Visualize()),p=s.Reduce("rejected").IsNil()?void 0:String(s.Reduce("rejected").Visualize());me(t,{event:"e2e_rekey",cid:String(a),role:String(c),...u?{session_id:u}:{},...l?{attempts:l}:{},...d?{peer_supports:d}:{},...p?{rejected:p}:{}}),w(`[${t.name}] [e2e-rekey] cid=${a} role=${c}${u?` session_id=${u}`:""}${l?` attempts=${l}`:""}${d?` peer_supports=${d}`:""}${p?` rejected=${p}`:""}`)}else if(i==="migration_deferred_flush"){let a=s.Reduce("cid").Visualize(),c=s.Reduce("wire_id").Visualize();me(t,{event:"migration_deferred_flush",cid:String(a),wire_id:String(c)}),w(`[migration] flush-notify cid=${a} wire_id=${c} (deferred\u2192e2e; core delivers)`)}else if(i==="migration_stalled"){let a=s.Reduce("cid").Visualize(),c=s.Reduce("phase").Visualize(),u=s.Reduce("attempts").Visualize();me(t,{event:"migration_stalled",cid:String(a),phase:String(c),attempts:String(u)}),w(`[migration] stalled-notify cid=${a} phase=${c} attempts=${u} (core re-drives via sweep)`)}else if(i==="downgrade_refused"){let a=s.Reduce("cid").Visualize(),c=s.Reduce("wire_id"),u=c.IsNil()?"":String(c.Visualize());me(t,{event:"downgrade_refused",cid:String(a),...u?{wire_id:u}:{}}),w(`[e2e-route] downgrade-dropped cid=${a}${u?` wire_id=${u}`:""} (legacy plaintext from a migrated peer \u2014 dropped by core)`),process.nextTick(()=>tt(t.name,`[${t.name}] a message from a migrated contact was rejected as an unsafe downgrade (dropped).`))}else if(i==="control_request"){let a=s.Reduce("sender_name").Visualize();w(`[${t.name}] control request queued by ${a}`),process.nextTick(()=>void Mp(t))}else if(i==="host_provision_child"){let a=s.Reduce("name").Visualize(),c=s.Reduce("bio").Visualize(),u=s.Reduce("pending_handle").Visualize();process.nextTick(()=>void jI(t,a,c,u))}else if(i==="host_destroy_child"){let a=s.Reduce("cid").Detach(),c=s.Reduce("pending_handle").Visualize();process.nextTick(()=>void MI(t,a,c).finally(()=>a.Destroy()))}else if(i==="host_mint_child_invite"){let a=s.Reduce("cid").Detach(),c=s.Reduce("pending_handle").Visualize();process.nextTick(()=>void ZI(t,a,c).finally(()=>a.Destroy()))}else if(i==="host_set_child_monitoring"){let a=s.Reduce("cid").Detach(),c=s.Reduce("enabled").GetBoolean(),u=s.Reduce("pending_handle").Visualize();if(c){let l=s.Reduce("cp_cid").Detach(),d=s.Reduce("cp_ad").Detach();process.nextTick(()=>void vv(t,a,!0,u,l,d).finally(()=>{a.Destroy(),l.Destroy(),d.Destroy()}))}else process.nextTick(()=>void vv(t,a,!1,u).finally(()=>a.Destroy()))}return}let o=t.pending.shift();if(!o)return;clearTimeout(o.timer),o.resolve(e.Reduce("payload").Detach())}finally{r.Finalize()}},t.pw.on_transaction_failure=e=>{let r=t.pending.shift();r?(clearTimeout(r.timer),r.reject(new Error(e))):(w(`[${t.name}] inbound transaction rejected:`,e),me(t,{event:"inbound_error",message:e}),process.nextTick(()=>tt(t.name,`[${t.name}] inbound transaction rejected: ${e}`)))}}function Dp(t,e,r,n=!0,o,s=!1){let i=new mI;i.deferred_exposure=s;let a=["--unit_hash",cs.hash,"--seed_phrase",e,"--unit_dir_path",cs.dir];return o&&a.push("--init_trn_argument",JSON.stringify(o)),i.process_arguments(a),new Promise((c,u)=>{let l=setTimeout(()=>u(new Error(`packet creation for "${t}" timed out`)),3e4);tn.packet_manager.create_packet(i,d=>{clearTimeout(l);let p={name:t,cid:He(f=>d.packet.GetContainerID().Attach(f).Visualize()),pw:d,dir:r,pending:[],lock:Promise.resolve()};oO(p),n&&L.set(t,p),w(`[${t}] packet created \u2014 container id ${p.cid}`),c(p)},cs.contents)})}var gr=new Set(Cp());gr.size>0&&w(`reserved ${gr.size} persisted identity name(s) at module load: ${[...gr].join(", ")}`);async function Op(t,e={exposeLocal:!0,localAutoAccept:!0}){if(gr.has(t)||L.has(t))throw new Error(`identity name "${t}" is reserved \u2014 a persisted identity with this name is restoring, present, or being provisioned; refusing to provision over it`);gr.add(t);try{let r=Iv(t);T.mkdirSync(r,{recursive:!0,mode:448});let n=Rv(24).toString("hex"),o=await Dp(t,n,r);return T.writeFileSync(fs(r),Nv(o),{mode:384}),await B(async s=>{await M(o,"::a2a_messaging::set_my_name",{name:t},s)}),await jv(o),e.localAutoAccept||await B(async s=>{await M(o,"::actor::set_local_policy",{auto_accept:!1},s)}),e.exposeLocal&&await Av(o),Zp(o),o}catch(r){throw gr.delete(t),r}}async function sO(t){let e=Iv(t),r=T.readFileSync(fs(e),"utf8").trim(),n=await Dp(t,"",e,!1,r,!0);w(`[${t}] created QUARANTINED (no routing/broker registration, not client-bindable) \u2014 importing state before exposure`);let o=Number(process.env.OURS_TEST_RESTORE_HOLD_MS||"")||0;o>0&&(w(`[${t}] TEST HOLD: keeping restore open ${o}ms (OURS_TEST_RESTORE_HOLD_MS)`),await new Promise(c=>setTimeout(c,o)));let s=c=>/timed out waiting for the transaction result/.test(String(c)),i=(c,u,l)=>{w(`[${t}] ${c} ${u} \u2014 identity left UNEXPOSED and UNTRACKED (fail-closed)`);try{me(n,{event:"restore_fail_closed",step:c,error:String(l).slice(0,300)})}catch{}L.delete(t);try{tn.remove_packet(n.cid)}catch(d){w(`[${t}] quarantined-packet teardown failed:`,String(d))}throw new Error(`identity "${t}": ${c} failed during restore (${u}) \u2014 left unexposed (fail-closed)`)},a=(c,u)=>i(c,"outcome UNKNOWN (timeout): the transaction may still execute and exposure would race it",u);if(BI(e)){let c=!1;try{if(process.env.OURS_TEST_FORCE_IMPORT_TIMEOUT==="1")throw new Error("timed out waiting for the transaction result (forced by OURS_TEST_FORCE_IMPORT_TIMEOUT)");let u=T.readFileSync(rn(e));await B(async l=>{let d=n.pw.packet.ParseValue(new Uint8Array(u)).Attach(l),p=Number(process.env.OURS_IMPORT_TIMEOUT_MS||"")||void 0;await M(n,"::actor::import_state",d,l,p)}),c=!0,w(`[${t}] state import completed (positively observed)`)}catch(u){s(u)&&a("import_state",u),w(`[${t}] FAILED TO IMPORT SAVED STATE \u2014 continuing with the reseeded identity; surviving contacts (if the blob was partially migrated) self-heal via contact restore:`,String(u)),me(n,{event:"state_import_failed",error:String(u).slice(0,300)});try{let l=`${rn(e)}.failed-${Date.now()}`;T.renameSync(rn(e),l),T.chmodSync(l,384),w(`[${t}] unreadable state blob preserved as state_data.bin.failed-*`)}catch{}}if(c){try{let d=await B(async p=>{let f=await M(n,"::a2a_messaging::commit_e2e_restore",{},p),m=f.Reduce("status").Visualize(),h=f.Reduce("sessions").IsNil()?"0":f.Reduce("sessions").Visualize();return{status:String(m),sessions:String(h)}});w(`[${t}] e2e restore commit: status=${d.status} sessions=${d.sessions}`)}catch(d){s(d)&&a("commit_e2e_restore",d),w(`[${t}] E2E RESTORE REJECTED \u2014 staged session blob failed pickle_key validation; discarding it, fresh account + self-heal fallback take over: ${String(d).slice(0,260)}`),me(n,{event:"e2e_restore_rejected",error:String(d).slice(0,300)});try{await B(async p=>{await M(n,"::a2a_messaging::reject_e2e_restore",{},p)})}catch(p){s(p)&&a("reject_e2e_restore",p),w(`[${t}] reject_e2e_restore failed (staging is transient; continuing):`,String(p))}}try{n.pw.refresh_identity_proof_document(),w(`[${t}] transport IPD refreshed from post-import state`)}catch(d){i("ipd_refresh","FAILED (IPD would advertise a stale bundle)",d)}let u=!1,l="";try{if(process.env.OURS_TEST_FORCE_IPD_INCOHERENT==="1")throw new Error("forced incoherent (OURS_TEST_FORCE_IPD_INCOHERENT)");let d=He(m=>String(Se(n,"::a2a_messaging::e2e_self_fp",m).Reduce("ik").Visualize())),p=n.pw.identity_proof_document.Visualize(),f=d.replace(/^0x/i,"");u=f.length>=32&&p.toLowerCase().includes(f.toLowerCase()),l=d.slice(0,18),me(n,{event:"ipd_coherence",ik:d,coherent:u})}catch(d){i("ipd_coherence","probe FAILED (coherence unprovable)",d)}w(`[${t}] IPD/e2e coherence: account_ik=${l}\u2026 ipd_advertises_it=${u}`),u||i("ipd_coherence","IPD does NOT advertise the live account ik",new Error("incoherent transport IPD"))}}return tn.expose_packet(n.cid),L.set(t,n),w(`[${t}] EXPOSED (routing + broker registration) \u2014 import phase complete`),await Fv(n),en(n),n}async function bv(){Kt?.update("wrapper"),cs=bI();let t=["--broker_address",ha,"--test_mode","--logger_config","--level","INFO","--stdout","stderr","--logger_config_end"];w(`booting wrapper (unit ${cs.hash.slice(0,12)}\u2026, broker ${ha})`),tn=await fI.start(t),tn.on_packet_created_cb=a=>w(`wrapper: packet ready ${a.slice(0,12)}\u2026`),tn.start();let e=Number(process.env.OURS_TEST_BOOT_HOLD_MS||"")||0;e>0&&(w(`TEST HOLD: boot window open ${e}ms (OURS_TEST_BOOT_HOLD_MS)`),await new Promise(a=>setTimeout(a,e))),Kt?.update("registrar");try{await FI()}catch(a){w("failed to start the contact-book registrar (local contact book disabled):",String(a))}$I();let r=Cp(),n=Math.max(0,Number(process.env.OURS_TEST_FAKE_RESTORE_COUNT||"")||0),o=Math.max(0,Number(process.env.OURS_TEST_FAKE_RESTORE_MS||"")||0),s=r.length===0&&n>0?n:r.length;Kt?.update("identities",{completed:0,total:s});for(let a of r)gr.add(a);if(r.length===0&&n>0){w(`TEST: simulating ${n} fake identity restore(s), ${o}ms each`);for(let a=0;a<n;a++)o>0&&await new Promise(c=>setTimeout(c,o)),Kt?.update("identities",{completed:a+1,total:n})}else if(r.length===0)w("no persisted identities \u2014 start with create_identity");else{w(`restoring ${r.length} identit${r.length===1?"y":"ies"}: ${r.join(", ")}`);for(let[a,c]of r.entries()){try{let u=await sO(c);_t&&await jv(u)}catch(u){w(`failed to restore "${c}":`,String(u))}Kt?.update("identities",{completed:a+1,total:r.length})}}Kt?.update("reconciliation"),UI(),LI(),ie=xI(),ie&&!L.has(ie)&&(w(`root marker names a missing identity "${ie}" \u2014 clearing it`),ie=null,Mv()),ie&&w(`root identity: ${ie}`);{let a=ie?L.get(ie):void 0;ie&&!a&&w(`re-delegation on upgrade DEGRADED: root "${ie}" is not among the restored identities \u2014 role certs not refreshed this boot`);let c=[];if(a)for(let u of L.values()){if(u.name===a.name)continue;let l;try{l=yt(u)}catch{l=void 0}if(!(!l||!l.hasCert)){if(l.rootCid!==a.cid){w(`[${u.name}] re-delegation skipped: delegated by a different root (${l.rootCid.slice(0,12)}\u2026), not this host root \u2014 left as-is`);continue}try{await Jn(a,u),c.push(u)}catch(d){me(u,{event:"redelegation_failed",error:String(d).slice(0,300)}),w(`[${u.name}] boot re-delegation (upgrade cert refresh) failed:`,String(d))}}}for(let u of L.values()){await Pp(u),await Ip(u);for(let l of[1e4,3e4,9e4])setTimeout(()=>{Pp(u).catch(()=>{})},l),setTimeout(()=>{Ip(u).catch(()=>{})},l)}c.length>0&&w(`refreshed ${c.length} role delegation cert(s) against the live AD on boot`)}let i=ie?L.get(ie):void 0;if(i)try{ms(i).controlQueued>0&&Mp(i)}catch(a){w("boot-time monitoring/control drain failed:",String(a))}ps()}function wv(t){let e=it.get(t)?.token;if(!e)return{error:"No identity bound to this session. Call choose_identity (or create_identity) first."};if(va.has(e))return{error:"Your identity binding was reassigned to another session. Call choose_identity again to continue."};let r=Pv(e);if(!r)return{error:"No identity bound to this session. Call choose_identity (or create_identity) first."};let n=L.get(r.identity);if(!n)return Ee.delete(r.identity),ps(),{error:`The bound identity "${r.identity}" no longer exists. Choose another with choose_identity.`};r.sid=t;let o=it.get(t)?.pid;return o&&(r.pid=o),{id:n}}function pa(t,e){let r=it.get(t),n=r?.token;if(!n)return;for(let[s,i]of[...Ee])i.token===n&&s!==e&&Ee.delete(s);let o=Ee.get(e)?.epoch??0;Ee.set(e,{identity:e,token:n,pid:r?.pid??0,sid:t,epoch:o+1,boundAt:Date.now()}),va.delete(n),ps()}function iO(t){let e=[];if(t.IsNil())return e;for(let r of t.GetKeys()){let n=t.Reduce(r);n.IsNil()||e.push({name:n.Reduce("name").Visualize(),container_id:n.Reduce("container_id").Visualize()})}return e}function ma(t){let e=[];if(t.IsNil())return e;for(let r=0;;r++){let n=t.Reduce(r);if(n.IsNil())break;let o=n.Reduce("reply_to"),s=null;if(!o.IsNil()){s={wire_id:o.Reduce("wire_id").Visualize()};let i=o.Reduce("sentence");i.IsNil()||(s.sentence=parseInt(i.Visualize(),10))}e.push({msg_id:parseInt(n.Reduce("msg_id").Visualize(),10),sender_id:n.Reduce("sender_id").Visualize(),sender_name:n.Reduce("sender_name").Visualize(),text:n.Reduce("text").Visualize(),date:n.Reduce("date").Visualize(),status:n.Reduce("status").Visualize(),wire_id:n.Reduce("wire_id").Visualize(),reply_to:s})}return e}function aO(t){if(t.IsNil())return"No files received.";let e=[];for(let r=0;;r++){let n=t.Reduce(r);if(n.IsNil())break;let o=n.Reduce("filename").Visualize(),s=n.Reduce("mime").Visualize(),i=n.Reduce("sender_name").Visualize(),a=n.Reduce("status").Visualize(),c=n.Reduce("wire_id").Visualize(),u=pp(s,o)?"\u{1F3A4} voice message \xB7 ":"";e.push(` \u2022 ${u}${o} (${s||"application/octet-stream"}) from ${i} [${a}] {${c}}`)}return e.length===0?"No files received.":`${e.length} file(s):
54
+ `,e.enqueue(r.encode(s)),!0}catch(s){return this.onerror?.(s),!1}}handleUnsupportedRequest(){return this.onerror?.(new Error("Method not allowed.")),new Response(JSON.stringify({jsonrpc:"2.0",error:{code:-32e3,message:"Method not allowed."},id:null}),{status:405,headers:{Allow:"GET, POST, DELETE","Content-Type":"application/json"}})}async handlePostRequest(e,r){try{let n=e.headers.get("accept");if(!n?.includes("application/json")||!n.includes("text/event-stream"))return this.onerror?.(new Error("Not Acceptable: Client must accept both application/json and text/event-stream")),this.createJsonErrorResponse(406,-32e3,"Not Acceptable: Client must accept both application/json and text/event-stream");let o=e.headers.get("content-type");if(!o||!o.includes("application/json"))return this.onerror?.(new Error("Unsupported Media Type: Content-Type must be application/json")),this.createJsonErrorResponse(415,-32e3,"Unsupported Media Type: Content-Type must be application/json");let s={headers:Object.fromEntries(e.headers.entries()),url:new URL(e.url)},i;if(r?.parsedBody!==void 0)i=r.parsedBody;else try{i=await e.json()}catch{return this.onerror?.(new Error("Parse error: Invalid JSON")),this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON")}let a;try{Array.isArray(i)?a=i.map(_=>_o.parse(_)):a=[_o.parse(i)]}catch{return this.onerror?.(new Error("Parse error: Invalid JSON-RPC message")),this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON-RPC message")}let c=a.some(bo);if(c){if(this._initialized&&this.sessionId!==void 0)return this.onerror?.(new Error("Invalid Request: Server already initialized")),this.createJsonErrorResponse(400,-32600,"Invalid Request: Server already initialized");if(a.length>1)return this.onerror?.(new Error("Invalid Request: Only one initialization request is allowed")),this.createJsonErrorResponse(400,-32600,"Invalid Request: Only one initialization request is allowed");this.sessionId=this.sessionIdGenerator?.(),this._initialized=!0,this.sessionId&&this._onsessioninitialized&&await Promise.resolve(this._onsessioninitialized(this.sessionId))}if(!c){let _=this.validateSession(e);if(_)return _;let y=this.validateProtocolVersion(e);if(y)return y}if(!a.some(ar)){for(let _ of a)this.onmessage?.(_,{authInfo:r?.authInfo,requestInfo:s});return new Response(null,{status:202})}let l=crypto.randomUUID(),d=a.find(_=>bo(_)),f=d?d.params.protocolVersion:e.headers.get("mcp-protocol-version")??Lm;if(this._enableJsonResponse)return new Promise(_=>{this._streamMapping.set(l,{resolveJson:_,cleanup:()=>{this._streamMapping.delete(l)}});for(let y of a)ar(y)&&this._requestToStreamMapping.set(y.id,l);for(let y of a)this.onmessage?.(y,{authInfo:r?.authInfo,requestInfo:s})});let h=new TextEncoder,p,m=new ReadableStream({start:_=>{p=_},cancel:()=>{this._streamMapping.delete(l)}}),g={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"};this.sessionId!==void 0&&(g["mcp-session-id"]=this.sessionId);for(let _ of a)ar(_)&&(this._streamMapping.set(l,{controller:p,encoder:h,cleanup:()=>{this._streamMapping.delete(l);try{p.close()}catch{}}}),this._requestToStreamMapping.set(_.id,l));await this.writePrimingEvent(p,h,l,f);for(let _ of a){let y,w;ar(_)&&this._eventStore&&f>="2025-11-25"&&(y=()=>{this.closeSSEStream(_.id)},w=()=>{this.closeStandaloneSSEStream()}),this.onmessage?.(_,{authInfo:r?.authInfo,requestInfo:s,closeSSEStream:y,closeStandaloneSSEStream:w})}return new Response(m,{status:200,headers:g})}catch(n){return this.onerror?.(n),this.createJsonErrorResponse(400,-32700,"Parse error",{data:String(n)})}}async handleDeleteRequest(e){let r=this.validateSession(e);if(r)return r;let n=this.validateProtocolVersion(e);return n||(await Promise.resolve(this._onsessionclosed?.(this.sessionId)),await this.close(),new Response(null,{status:200}))}validateSession(e){if(this.sessionIdGenerator===void 0)return;if(!this._initialized)return this.onerror?.(new Error("Bad Request: Server not initialized")),this.createJsonErrorResponse(400,-32e3,"Bad Request: Server not initialized");let r=e.headers.get("mcp-session-id");if(!r)return this.onerror?.(new Error("Bad Request: Mcp-Session-Id header is required")),this.createJsonErrorResponse(400,-32e3,"Bad Request: Mcp-Session-Id header is required");if(r!==this.sessionId)return this.onerror?.(new Error("Session not found")),this.createJsonErrorResponse(404,-32001,"Session not found")}validateProtocolVersion(e){let r=e.headers.get("mcp-protocol-version");if(r!==null&&!bn.includes(r))return this.onerror?.(new Error(`Bad Request: Unsupported protocol version: ${r} (supported versions: ${bn.join(", ")})`)),this.createJsonErrorResponse(400,-32e3,`Bad Request: Unsupported protocol version: ${r} (supported versions: ${bn.join(", ")})`)}async close(){this._streamMapping.forEach(({cleanup:e})=>{e()}),this._streamMapping.clear(),this._requestResponseMap.clear(),this.onclose?.()}closeSSEStream(e){let r=this._requestToStreamMapping.get(e);if(!r)return;let n=this._streamMapping.get(r);n&&n.cleanup()}closeStandaloneSSEStream(){let e=this._streamMapping.get(this._standaloneSseStreamId);e&&e.cleanup()}async send(e,r){let n=r?.relatedRequestId;if((Ht(e)||wn(e))&&(n=e.id),n===void 0){if(Ht(e)||wn(e))throw new Error("Cannot send a response on a standalone SSE stream unless resuming a previous client request");let i;this._eventStore&&(i=await this._eventStore.storeEvent(this._standaloneSseStreamId,e));let a=this._streamMapping.get(this._standaloneSseStreamId);if(a===void 0)return;a.controller&&a.encoder&&this.writeSSEEvent(a.controller,a.encoder,e,i);return}let o=this._requestToStreamMapping.get(n);if(!o)throw new Error(`No connection established for request ID: ${String(n)}`);let s=this._streamMapping.get(o);if(!this._enableJsonResponse&&s?.controller&&s?.encoder){let i;this._eventStore&&(i=await this._eventStore.storeEvent(o,e)),this.writeSSEEvent(s.controller,s.encoder,e,i)}if(Ht(e)||wn(e)){this._requestResponseMap.set(n,e);let i=Array.from(this._requestToStreamMapping.entries()).filter(([c,u])=>u===o).map(([c])=>c);if(i.every(c=>this._requestResponseMap.has(c))){if(!s)throw new Error(`No connection established for request ID: ${String(n)}`);if(this._enableJsonResponse&&s.resolveJson){let c={"Content-Type":"application/json"};this.sessionId!==void 0&&(c["mcp-session-id"]=this.sessionId);let u=i.map(l=>this._requestResponseMap.get(l));u.length===1?s.resolveJson(new Response(JSON.stringify(u[0]),{status:200,headers:c})):s.resolveJson(new Response(JSON.stringify(u),{status:200,headers:c}))}else s.cleanup();for(let c of i)this._requestResponseMap.delete(c),this._requestToStreamMapping.delete(c)}}}};var ca=class{constructor(e={}){this._requestContext=new WeakMap,this._webStandardTransport=new aa(e),this._requestListener=cp(async r=>{let n=this._requestContext.get(r);return this._webStandardTransport.handleRequest(r,{authInfo:n?.authInfo,parsedBody:n?.parsedBody})},{overrideGlobalObjects:!1})}get sessionId(){return this._webStandardTransport.sessionId}set onclose(e){this._webStandardTransport.onclose=e}get onclose(){return this._webStandardTransport.onclose}set onerror(e){this._webStandardTransport.onerror=e}get onerror(){return this._webStandardTransport.onerror}set onmessage(e){this._webStandardTransport.onmessage=e}get onmessage(){return this._webStandardTransport.onmessage}async start(){return this._webStandardTransport.start()}async close(){return this._webStandardTransport.close()}async send(e,r){return this._webStandardTransport.send(e,r)}async handleRequest(e,r,n){let o=e.auth;await cp(async i=>this._webStandardTransport.handleRequest(i,{authInfo:o,parsedBody:n}),{overrideGlobalObjects:!1})(e,r)}closeSSEStream(e){this._webStandardTransport.closeSSEStream(e)}closeStandaloneSSEStream(){this._webStandardTransport.closeStandaloneSSEStream()}};import{resolve as nI,join as ze,dirname as oI,isAbsolute as sI,basename as iI}from"node:path";import{fileURLToPath as aI}from"node:url";import{randomBytes as Tv,randomInt as zv,randomUUID as cI,timingSafeEqual as uI}from"node:crypto";import{createServer as lI}from"node:http";import{brotliCompressSync as dI,brotliDecompressSync as pI}from"node:zlib";import*as T from"node:fs";import{readFile as fI,mkdir as mI,writeFile as hI}from"node:fs/promises";import{adapt_wrapper as gI}from"@adapt-toolkit/sdk/executables";import{PacketWrapperConfigurator as yI}from"@adapt-toolkit/sdk/wrappers";import{object_to_adapt_value as Ev}from"@adapt-toolkit/sdk/wrapper";import{AdaptObjectLifetime as Ap}from"@adapt-toolkit/sdk/common";import*as at from"node:fs";import{randomBytes as TP}from"node:crypto";import{homedir as Q_}from"node:os";import{resolve as ua,join as up,dirname as ev,basename as zP}from"node:path";var tv=["owner","shared","open"],Jn={brokerUrl:"wss://broker1.ours.network",port:3050,stateDir:ua(Q_(),".ours"),gcIntervalMs:36e5,autoStart:!1,apiVisibility:"owner"};function EP(){return process.env.OURS_CONFIG??up(Q_(),".ours","config.json")}function PP(){let t;try{t=at.readFileSync(EP(),"utf8")}catch{return{}}let e;try{e=JSON.parse(t)}catch{return{}}let r={};if(typeof e.brokerUrl=="string"&&(r.brokerUrl=e.brokerUrl),typeof e.port=="number"&&Number.isFinite(e.port)&&(r.port=e.port),typeof e.stateDir=="string"&&(r.stateDir=ua(e.stateDir)),typeof e.gcIntervalMs=="number"&&Number.isFinite(e.gcIntervalMs)&&(r.gcIntervalMs=e.gcIntervalMs),typeof e.autoStart=="boolean"&&(r.autoStart=e.autoStart),typeof e.apiVisibility=="string"&&tv.includes(e.apiVisibility)&&(r.apiVisibility=e.apiVisibility),typeof e.apiToken=="string"&&e.apiToken.trim()&&(r.apiToken=e.apiToken.trim()),e.stt&&typeof e.stt=="object"){let n=e.stt,o={};typeof n.provider=="string"&&(o.provider=n.provider),typeof n.apiKey=="string"&&(o.apiKey=n.apiKey),typeof n.model=="string"&&(o.model=n.model),typeof n.baseUrl=="string"&&(o.baseUrl=n.baseUrl),typeof n.language=="string"&&(o.language=n.language),typeof n.maxBytes=="number"&&Number.isFinite(n.maxBytes)&&(o.maxBytes=n.maxBytes),typeof n.timeoutMs=="number"&&Number.isFinite(n.timeoutMs)&&(o.timeoutMs=n.timeoutMs),n.custom&&typeof n.custom=="object"&&(o.custom=n.custom),r.stt=o}return r}function IP(){let t=process.env.OURS_API_VISIBILITY?.trim().toLowerCase();return t&&tv.includes(t)?t:void 0}function OP(t){let e=process.env[t];if(e!==void 0)return e==="1"||e.toLowerCase()==="true"}function Y_(t){let e=process.env[t];if(e===void 0)return;let r=parseInt(e,10);return Number.isNaN(r)?void 0:r}function rv(){let t=PP();return{brokerUrl:process.env.OURS_BROKER_URL??t.brokerUrl??Jn.brokerUrl,port:Y_("OURS_PORT")??t.port??Jn.port,stateDir:ua(process.env.OURS_STATE_DIR??t.stateDir??Jn.stateDir),gcIntervalMs:Y_("OURS_GC_INTERVAL_MS")??t.gcIntervalMs??Jn.gcIntervalMs,autoStart:OP("OURS_AUTOSTART")??t.autoStart??Jn.autoStart,apiVisibility:IP()??t.apiVisibility??Jn.apiVisibility,apiToken:process.env.OURS_API_TOKEN?.trim()||t.apiToken,stt:NP(t.stt)}}function NP(t){let e={};process.env.OURS_STT_PROVIDER?.trim()&&(e.provider=process.env.OURS_STT_PROVIDER.trim()),process.env.OURS_STT_API_KEY?.trim()&&(e.apiKey=process.env.OURS_STT_API_KEY.trim()),process.env.OURS_STT_MODEL?.trim()&&(e.model=process.env.OURS_STT_MODEL.trim()),process.env.OURS_STT_BASE_URL?.trim()&&(e.baseUrl=process.env.OURS_STT_BASE_URL.trim()),process.env.OURS_STT_LANGUAGE?.trim()&&(e.language=process.env.OURS_STT_LANGUAGE.trim());let r={...t??{},...e};return Object.keys(r).length?r:void 0}var AP="daemon-token";function lp(t){return up(t.stateDir,AP)}function nv(t){let e=process.env.OURS_API_TOKEN?.trim();return e||t.apiToken?.trim()||void 0}function ov(t,e={}){let r=process.env.OURS_API_TOKEN?.trim();if(r)return{token:r,source:"env"};let n=t.apiToken?.trim();if(n)return{token:n,source:"config"};let o=lp(t);try{let i=at.readFileSync(o,"utf8").trim();if(i)return{token:i,source:"file"}}catch{}if(!e.generate)return null;let s=TP(32).toString("hex");try{at.mkdirSync(ev(o),{recursive:!0}),at.writeFileSync(o,s+`
55
+ `,{mode:384}),at.chmodSync(o,384)}catch{}return{token:s,source:"generated"}}var X_=".ours-identity";function dp(t){if(!t.name.trim())throw new Error("identity name must not be empty");let e={identity:t.name.trim()};return t.force&&(e.force=!0),e.expose_local=t.exposeLocal??!0,e.local_auto_accept=t.localAutoAccept??!0,e}function CP(t){let e=ua(t);return zP(e)===X_?e:up(e,X_)}function sv(t,e,r=!1){let n=dp(e),o=CP(t);if(!r&&at.existsSync(o))throw new Error(`${o} already exists \u2014 pass overwrite to replace it`);return at.mkdirSync(ev(o),{recursive:!0}),at.writeFileSync(o,JSON.stringify(n,null,2)+`
56
+ `),o}import{basename as jP,extname as MP}from"node:path";var ZP={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".svg":"image/svg+xml",".bmp":"image/bmp",".ico":"image/x-icon",".pdf":"application/pdf",".txt":"text/plain",".md":"text/markdown",".json":"application/json",".csv":"text/csv",".html":"text/html",".xml":"application/xml",".zip":"application/zip",".gz":"application/gzip",".tar":"application/x-tar",".mp3":"audio/mpeg",".wav":"audio/wav",".mp4":"video/mp4",".mov":"video/quicktime"};function iv(t){return ZP[MP(t).toLowerCase()]??"application/octet-stream"}function av(t){let e=jP(t).replace(/[^A-Za-z0-9._-]/g,"_");return e.length?e.slice(0,200):"file"}var DP=new Set(["e2e_app_recv","migration_deferred_flush"]);function cv(t){let e=new Set;for(let r of t){if(!r||typeof r!="object")continue;let n=r.event;if(typeof n!="string"||!DP.has(n))continue;let o=r.wire_id;typeof o=="string"&&o.length>0&&e.add(o)}return e}function qP(t,e){return t&&e.has(t)?"e2e":"legacy"}function VP(t,e){let r=qP(t.wire_id,e);return{msg_id:t.msg_id,wire_id:t.wire_id,from:{id:t.sender_id,name:t.sender_name},encryption:r,transport:r==="e2e"?"double_ratchet":"legacy_box",text:t.text,date:t.date,status:t.status,reply_to:t.reply_to}}function uv(t,e){let r=t.map(n=>VP(n,e));return{count:r.length,messages:r}}var LP="x-ours-kind=voice-message",UP="voice-message-";function fp(t,e){let r=(t??"").toLowerCase().split(";").map(n=>n.trim());return r[0].startsWith("audio/")&&r.slice(1).includes(LP)?!0:e.toLowerCase().startsWith(UP)&&r[0].startsWith("audio/")}function mp(t){return(t??"").split(";")[0].trim()||"application/octet-stream"}var pp=["openai-compatible","elevenlabs","deepgram","custom"],FP=5*1024*1024,BP=6e4;function hp(t){let e="configure it in config.json `stt: {}` or via OURS_STT_* env";if(!t?.provider)return{ready:!1,reason:`no STT provider configured (stt.provider: ${pp.join(" | ")}) \u2014 ${e}`};let r=t.provider.trim().toLowerCase();if(!pp.includes(r))return{ready:!1,reason:`unknown STT provider "${t.provider}" (expected: ${pp.join(" | ")})`};if(!t.apiKey?.trim())return{ready:!1,reason:`STT provider "${r}" is set but the API key is missing (stt.apiKey / OURS_STT_API_KEY)`};if(r==="openai-compatible"){if(!t.baseUrl?.trim())return{ready:!1,reason:"openai-compatible STT needs stt.baseUrl / OURS_STT_BASE_URL (e.g. your provider's /v1 root) \u2014 no endpoint is assumed"};if(!t.model?.trim())return{ready:!1,reason:"openai-compatible STT needs stt.model / OURS_STT_MODEL (passed to the provider verbatim) \u2014 no model is assumed"}}if(r==="elevenlabs"&&!t.model?.trim())return{ready:!1,reason:"elevenlabs STT needs stt.model / OURS_STT_MODEL (the model_id, e.g. from your ElevenLabs account) \u2014 no model is assumed"};if(r==="custom"){if(!t.custom?.url?.trim())return{ready:!1,reason:"custom STT needs stt.custom.url (the full endpoint URL of your provider)"};if((t.custom.url.includes("{model}")||t.custom.modelField!==void 0&&t.custom.modelField!=="")&&!t.model?.trim())return{ready:!1,reason:"the custom STT template references a model (url {model} or modelField) but stt.model / OURS_STT_MODEL is not set"}}return{ready:!0,provider:r}}function la(t,e){let r=t;for(let n of e.split(".")){if(r===null||typeof r!="object")return;r=r[n]}return typeof r=="string"?r:void 0}async function da(t,e,r,n=[]){let o=new AbortController,s=setTimeout(()=>o.abort(),r);try{let i=await fetch(t,{...e,signal:o.signal});if(!i.ok){let a=await i.text().catch(()=>"");for(let c of n)c&&(a=a.split(c).join("[redacted]"));return{ok:!1,error:`STT HTTP ${i.status}${a?`: ${a.slice(0,200)}`:""}`}}return{ok:!0,json:await i.json()}}catch(i){return i?.name==="AbortError"?{ok:!1,error:`STT timeout after ${r}ms`}:{ok:!1,error:i instanceof Error?i.message:String(i)}}finally{clearTimeout(s)}}var gp=(t,e)=>new Blob([new Uint8Array(t)],{type:mp(e)}),HP=async(t,e,r,n,o)=>{let s=new FormData;s.set("file",gp(t,r),e),s.set("model",n.model.trim()),s.set("response_format","json"),n.language?.trim()&&s.set("language",n.language.trim());let i=await da(`${n.baseUrl.trim().replace(/\/$/,"")}/audio/transcriptions`,{method:"POST",headers:{Authorization:`Bearer ${n.apiKey.trim()}`},body:s},o,[n.apiKey.trim()]);if(!i.ok)return i;let a=la(i.json,"text");return a!==void 0?{ok:!0,text:a}:{ok:!1,error:"STT response missing text"}},GP=async(t,e,r,n,o)=>{let s=new FormData;s.set("file",gp(t,r),e),s.set("model_id",n.model.trim()),n.language?.trim()&&s.set("language_code",n.language.trim());let i=await da(`${(n.baseUrl?.trim()||"https://api.elevenlabs.io").replace(/\/$/,"")}/v1/speech-to-text`,{method:"POST",headers:{"xi-api-key":n.apiKey.trim()},body:s},o,[n.apiKey.trim()]);if(!i.ok)return i;let a=la(i.json,"text");return a!==void 0?{ok:!0,text:a}:{ok:!1,error:"STT response missing text"}},JP=async(t,e,r,n,o)=>{let s=new URLSearchParams;n.model?.trim()&&s.set("model",n.model.trim()),n.language?.trim()&&s.set("language",n.language.trim());let i=s.toString(),a=await da(`${(n.baseUrl?.trim()||"https://api.deepgram.com").replace(/\/$/,"")}/v1/listen${i?`?${i}`:""}`,{method:"POST",headers:{Authorization:`Token ${n.apiKey.trim()}`,"Content-Type":mp(r)},body:new Uint8Array(t)},o,[n.apiKey.trim()]);if(!a.ok)return a;let c=la(a.json,"results.channels.0.alternatives.0.transcript");return c!==void 0?{ok:!0,text:c}:{ok:!1,error:"STT response missing transcript"}},KP=async(t,e,r,n,o)=>{let s=n.custom,i=n.model?.trim()??"",a=s.url.replaceAll("{model}",encodeURIComponent(i)),c={},u=s.authHeaderName?.trim()||"Authorization",l=(s.authHeaderTemplate??"Bearer {key}").replaceAll("{key}",n.apiKey.trim());l&&(c[u]=l);let d=s.bodyMode??"multipart",f=s.fileField?.trim()||"file",h=s.modelField===void 0?"model":s.modelField.trim(),p;if(d==="multipart"){let _=new FormData;_.set(f,gp(t,r),e),h&&i&&_.set(h,i);for(let[y,w]of Object.entries(s.extraFields??{}))_.set(y,w);p=_}else d==="raw"?(c["Content-Type"]=mp(r),p=new Uint8Array(t)):(c["Content-Type"]="application/json",p=JSON.stringify({[f]:t.toString("base64"),...h&&i?{[h]:i}:{},...s.extraFields??{}}));let m=await da(a,{method:s.method?.trim()||"POST",headers:c,body:p},o,[n.apiKey.trim()]);if(!m.ok)return m;let g=la(m.json,s.responseTextPath?.trim()||"text");return g!==void 0?{ok:!0,text:g}:{ok:!1,error:`STT response has no text at "${s.responseTextPath?.trim()||"text"}"`}},WP={"openai-compatible":HP,elevenlabs:GP,deepgram:JP,custom:KP};async function lv(t,e,r,n){let o=hp(n);if(!o.ready)return{ok:!1,error:o.reason};let s=n.maxBytes??FP;if(t.length>s)return{ok:!1,error:`voice message is ${t.length} B \u2014 over the ${s} B STT limit (stt.maxBytes)`};let i=n.timeoutMs??BP;try{return await WP[o.provider](t,e,r,n,i)}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}function dv(t,e){let r=` \u2022 \u{1F3A4} voice message from ${t.sender} (${t.sizeBytes} B)`,n=`audio saved \u2192 ${t.savedPath} {${t.wire}}`;switch(e.kind){case"transcript":return`${r}: "${e.text}" \u2014 transcribed from voice message (STT); ${n}`;case"unconfigured":return`${r}: cannot transcribe \u2014 ${e.reason}. Tell the user you can't listen to voice messages until the operator configures transcription on this ours-mcp server, and ask them to send text meanwhile; ${n}`;case"failed":return`${r}: transcription failed (${e.error}). Tell the user their voice message could not be transcribed right now and ask them to send text or retry; ${n}`}}import*as Et from"node:fs";import{join as YP}from"node:path";var XP="startup-progress.json",pv=1;function QP(t){return YP(t,XP)}function fv(t,e={}){let r=e.pid??process.pid,n=e.now??Date.now,o=n(),s=QP(t),i=`${s}.${r}.tmp`,a=Math.max(100,e.heartbeatMs??2e3),c=!1,u=!1,l={version:pv,pid:r,bootId:`${r}-${o}`,phase:"initializing",startedAt:o,updatedAt:o},d=()=>{if(!u)try{Et.mkdirSync(t,{recursive:!0,mode:448}),Et.writeFileSync(i,`${JSON.stringify(l)}
57
+ `,{mode:384}),Et.renameSync(i,s);try{Et.chmodSync(s,384)}catch{}}catch{u=!0;try{Et.rmSync(i,{force:!0})}catch{}}},f=(m,g)=>{l={version:pv,pid:r,bootId:l.bootId,phase:m,...g?{completed:g.completed,total:g.total}:{},startedAt:o,updatedAt:n()},d()};d();let h=setInterval(()=>{c||(l={...l,updatedAt:n()},d())},a);h.unref?.();let p=m=>{c||(f(m),c=!0,clearInterval(h))};return{update:f,ready:()=>p("ready"),failed:()=>p("failed")}}var eI=`: ka
58
+
59
+ `;function tI(t=process.env){let e=(t.OURS_SSE_KEEPALIVE_MS??"").trim();if(e==="")return 25e3;let r=Number(e);return Number.isFinite(r)&&r>=0?r:25e3}function pa(t,e=tI()){if(!(e>0))return;let r=!1,n=t.writeHead.bind(t);t.writeHead=(...i)=>{let a=typeof i[1]=="object"&&i[1]!==null?i[1]:i[2];if(a&&!Array.isArray(a))for(let[c,u]of Object.entries(a))c.toLowerCase()==="content-type"&&String(u).includes("text/event-stream")&&(r=!0);return n(...i)};let o=setInterval(()=>{if(!(!r||t.writableEnded||t.destroyed))try{t.write(eI)}catch{}},e);o.unref?.();let s=()=>clearInterval(o);t.once("close",s),t.once("finish",s)}function rI(t){let{selfVersion:e,daemonVersion:r}=t;return!r||r===e?null:`ours: version mismatch \u2014 this plugin/connector is v${e}, the running daemon is v${r}. Everything still works; for the best experience run matching versions. The daemon is a shared singleton and is never restarted automatically, so when no other session is mid-task run \`ours-mcp stop\` (the next session starts the daemon at the new version) \u2014 or update the lagging side to match. No action is required; this is advisory.`}var cs="0.15.2",qt=rv(),Oe=qt.stateDir,ya=qt.brokerUrl,Pv=process.env.OURS_TRANSPORT??"http",yp=qt.port,hv=qt.gcIntervalMs,$p=qt.apiVisibility,_I=Number(process.env.OURS_TEST_STARTUP_HEARTBEAT_MS||"")||void 0,Yt=Pv==="http"?fv(Oe,{heartbeatMs:_I}):null,$=(...t)=>process.stderr.write(`ours: ${t.join(" ")}
60
+ `);function vI(){if($p==="open")return null;if($p==="shared"){let t=nv(qt);if(!t)throw new Error(`apiVisibility=shared requires an operator-supplied token so it can be distributed to cross-user agents \u2014 set OURS_API_TOKEN or "apiToken" in config (${lp(qt)} is not used for shared mode). Use apiVisibility=owner for a same-user-only auto-token, or =open to disable auth.`);return t}return ov(qt,{generate:!0}).token}var gv=vI();function bI(t){let e=t.headers["x-ours-api-token"];if(typeof e=="string"&&e)return e;let r=t.headers.authorization;if(typeof r=="string"){let n=/^Bearer\s+(.+)$/i.exec(r.trim());if(n)return n[1]}}function wI(t){if(gv===null)return!0;let e=bI(t);if(!e)return!1;let r=Buffer.from(e),n=Buffer.from(gv);return r.length===n.length&&uI(r,n)}function fa(t,e){return wI(t)?!0:(e.writeHead(401,{"Content-Type":"application/json"}),e.end(JSON.stringify({error:"unauthorized"})),!1)}var $I=/^[A-Za-z0-9 _.@-]{1,64}$/,_a="contact-book";function va(t){return $I.test(t)?t==="."||t===".."||t.includes("/")||t.includes("\\")?"invalid name":t===_a?`"${_a}" is reserved for the local contact book`:t==="root.json"||t==="bindings.json"?`"${t}" is reserved for daemon bookkeeping`:null:"name must be 1-64 chars of letters, digits, space, _ . @ or -"}function xI(){let t=oI(aI(import.meta.url)),e=process.env.OURS_UNIT_DIR,r=process.env.OURS_ADVERTISE_MIGRATE==="0",n=s=>r?[`${s}-nocap`]:[s],o=e?n(nI(e)):[ze(t,"mufl_code"),ze(t,"..","mufl_code")].flatMap(n);for(let s of o){if(!T.existsSync(s))continue;let i=T.readdirSync(s).find(a=>a.endsWith(".muflo"));if(i){let a=i.slice(0,-6),c=new Uint8Array(T.readFileSync(ze(s,i)));return{dir:s,hash:a,contents:c}}}throw new Error(`no compiled .muflo packet found (looked in: ${o.join(", ")})`+(r?' \u2014 OURS_ADVERTISE_MIGRATE=0 requires a "<dir>-nocap" packet variant (compiled with $advertise = [core.e2e] only); build it or unset the env.':""))}var us,nn,L=new Map,vt=null,xp=null,Ie=new Map,wa=new Set,ct=new Map;function Sp(t){if(!Number.isInteger(t)||t<=0)return!1;try{return process.kill(t,0),!0}catch(e){return e.code==="EPERM"}}function Iv(t){for(let e of Ie.values())if(e.token===t)return e}var yv=()=>ze(Oe,"bindings.json");function fs(){try{T.mkdirSync(Oe,{recursive:!0});let t=`${yv()}.tmp`;T.writeFileSync(t,JSON.stringify({pid:process.pid,bound:[...Ie.keys()],holders:[...Ie.values()].map(e=>({identity:e.identity,pid:e.pid}))})),T.renameSync(t,yv())}catch(t){$("failed to persist bindings snapshot:",String(t))}}var Ov=t=>ze(Oe,t),ms=t=>ze(t,"identity.key"),on=t=>ze(t,"state_data.bin"),Cp=t=>ze(t,"notifications.log"),kp=t=>ze(t,"unread.json"),SI=t=>ze(t.dir,"files");function kI(){for(let t of jp()){let e=ze(Oe,t);try{T.chmodSync(e,448)}catch(r){$(`[${t}] chmod 0700 failed:`,String(r))}for(let r of[on(e),ms(e)])if(T.existsSync(r))try{T.chmodSync(r,384)}catch(n){$(`[${t}] chmod 0600 ${r} failed:`,String(n))}}}function jp(){return T.existsSync(Oe)?T.readdirSync(Oe,{withFileTypes:!0}).filter(t=>t.isDirectory()&&T.existsSync(ms(ze(Oe,t.name)))).map(t=>t.name):[]}var ds=()=>ze(Oe,_a),_v=()=>ze(ds(),"registrar.key"),Rp=()=>ze(ds(),"book.json");function $a(){try{let t=JSON.parse(T.readFileSync(Rp(),"utf8"));return t&&typeof t.entries=="object"?t.entries:{}}catch{return{}}}function Nv(t){T.mkdirSync(ds(),{recursive:!0});let e=`${Rp()}.tmp`;T.writeFileSync(e,JSON.stringify({v:1,entries:t},null,2),{mode:384}),T.renameSync(e,Rp())}function Yn(t){return Je(e=>Buffer.from(Se(t,"::actor::export_address_document",e).GetBinary()))}function Av(t){return Je(e=>Buffer.from(Se(t,"::actor::export_signing_secret",e).Serialize()).toString("hex"))}async function Cv(t){if(!vt)throw new Error("registrar is not available");let e=Yn(t),r=await B(async o=>{let s=await Z(vt,"::actor::sign_book_entry",{name:t.name,ad:vt.pw.packet.NewBinaryFromBuffer(e).Attach(o)},o);return Buffer.from(s.Reduce("sig").GetBinary()).toString("base64url")}),n=$a();n[t.name]={v:1,name:t.name,container_id:t.cid,address_document:e.toString("base64url"),published_at:new Date().toISOString(),registrar_sig:r},Nv(n),$(`[${t.name}] published to the local contact book`)}function jv(t){let e=$a();t in e&&(delete e[t],Nv(e),$(`[${t}] removed from the local contact book`))}async function Mv(t){if(!xp)throw new Error("registrar is not available");await B(async e=>{await Z(t,"::actor::pin_registrar",{registrar_ad:t.pw.packet.NewBinaryFromBuffer(xp).Attach(e)},e)})}var ba=()=>ze(Oe,"root.json"),ie=null;function RI(){try{let t=JSON.parse(T.readFileSync(ba(),"utf8"));return typeof t.name=="string"?t.name:null}catch{return null}}function TI(t){T.mkdirSync(Oe,{recursive:!0});let e=`${ba()}.tmp`;T.writeFileSync(e,JSON.stringify({v:1,name:t})),T.renameSync(e,ba())}function Zv(){T.rmSync(ba(),{force:!0})}function _t(t){return Je(e=>{let r=Se(t,"::actor::describe_identity",e);return{bio:r.Reduce("bio").Visualize(),persona:r.Reduce("persona").Visualize(),hasCert:r.Reduce("has_cert").GetBoolean(),roleId:r.Reduce("role_id").Visualize(),rootCid:r.Reduce("root_cid").Visualize(),rootName:r.Reduce("root_name").Visualize(),monitoringEnabled:r.Reduce("monitoring_enabled").GetBoolean()}})}async function Kn(t,e){await B(async r=>{let n=Yn(e),o=await Z(t,"::actor::sign_delegation",{role_ad:t.pw.packet.NewBinaryFromBuffer(n).Attach(r),role_id:e.name},r),s=Buffer.from(o.Reduce("cert").GetBinary()),i=await Z(t,"::actor::export_root_profile",{},r),a=Buffer.from(i.Reduce("profile").GetBinary()),c=Yn(t),u=Buffer.from((await Z(e,"::actor::export_v1_address_document",{},r)).Reduce("ad").GetBinary()),l=await Z(t,"::actor::sign_delegation",{role_ad:t.pw.packet.NewBinaryFromBuffer(u).Attach(r),role_id:e.name},r),d=Buffer.from(l.Reduce("cert").GetBinary());await Z(e,"::actor::set_delegation",{cert:e.pw.packet.NewBinaryFromBuffer(s).Attach(r),root_ad:e.pw.packet.NewBinaryFromBuffer(c).Attach(r),root_profile:e.pw.packet.NewBinaryFromBuffer(a).Attach(r),cert_v1:e.pw.packet.NewBinaryFromBuffer(d).Attach(r)},r)}),$(`[${e.name}] delegated as a role under root "${t.name}"`)}async function vv(t){ie=t.name,TI(t.name);let e=[],r=[];for(let n of L.values())if(n.name!==t.name)try{await Kn(t,n),e.push(n.name)}catch(o){$(`failed to adopt "${n.name}" as a role under new root "${t.name}":`,String(o)),r.push(n.name)}return $(`[${t.name}] established as the host root${e.length?` (adopted ${e.length} role(s))`:""}`),{adopted:e,failed:r}}function zI(t,e){if(!ie||!L.has(ie))return null;let r=L.get(e)??[...L.values()].find(o=>o.cid===e);if(!r||r.name===t.name)return null;let n=o=>o.name===ie||_t(o).roleId!=="";return n(t)&&n(r)?r:null}async function EI(t,e,r){let n=Yn(e);return await B(async o=>{await Z(t,"::actor::connect_sibling",{name:e.name,target_ad:t.pw.packet.NewBinaryFromBuffer(n).Attach(o),text:r},o)}),`"${e.name}" was not a contact yet \u2014 connected as an intra-root sibling (delegation-cert auto-accept) and delivered the message.`}async function PI(t,e,r){if(!vt)throw new Error(`"${e}" is not a contact, and the local contact book is unavailable.`);let n=$a(),o=n[e]??Object.values(n).find(c=>c.container_id===e);if(!o)throw new Error(`"${e}" is not a contact and has no local contact-book entry. Use generate_invite/add_contact for remote peers, or list_local_contact_book to see local ones.`);if(o.container_id===t.cid)throw new Error("that contact-book entry is this identity itself.");let s=Buffer.from(o.address_document,"base64url"),i=Buffer.from(o.registrar_sig,"base64url"),a=Yn(t);return await B(async c=>{let u=await Z(vt,"::actor::mint_introduction",{joiner_ad:vt.pw.packet.NewBinaryFromBuffer(a).Attach(c),target_ad:vt.pw.packet.NewBinaryFromBuffer(s).Attach(c)},c),l=Buffer.from(u.Reduce("intro").GetBinary());await Z(t,"::actor::connect_local",{name:o.name,target_ad:t.pw.packet.NewBinaryFromBuffer(s).Attach(c),intro:t.pw.packet.NewBinaryFromBuffer(l).Attach(c),entry_sig:t.pw.packet.NewBinaryFromBuffer(i).Attach(c),text:r},c)}),`"${o.name}" was not a contact yet \u2014 connected via the local contact book and sent the message with the introduction. If "${o.name}" requires approval for local introductions, delivery completes once they approve.`}function hs(t){return Je(e=>{let r=Se(t,"::a2a_messaging::get_monitoring_status",e),n=Se(t,"::actor::get_monitoring_status",e);return{enabled:r.Reduce("monitored").GetBoolean(),proxyCid:r.Reduce("proxy_cid").Visualize(),proxyPending:r.Reduce("proxy_pending").GetBoolean(),copiesQueued:parseInt(n.Reduce("copies_queued").Visualize(),10)||0,controlQueued:parseInt(n.Reduce("control_queued").Visualize(),10)||0}})}async function ls(t,e,r){await B(async n=>{await Z(t,"::a2a_control::send_control",{contact:e,payload:JSON.stringify(r)},n)})}function Dv(t){try{return Je(e=>{let r=Se(t,"::a2a_capabilities::get_manifest",e).Reduce("capabilities");return r.IsNil()?[]:[...r.GetKeys()].map(n=>typeof n=="string"?n:n.Visualize())})}catch{return[]}}function II(t){let e="",r="",n="",o="",s=[];try{Je(i=>{let a=Se(t,"::a2a_capabilities::get_manifest",i),c=l=>{let d=a.Reduce(l);return d.IsNil()?"":d.Visualize()};e=c("app_id"),r=c("name"),n=c("description"),o=c("version");let u=a.Reduce("capabilities");u.IsNil()||(s=[...u.GetKeys()].map(l=>typeof l=="string"?l:l.Visualize()))})}catch{}return{app_id:e,name:r,description:n,version:o,capabilities:s,monitoring_status:hs(t).proxyCid?"bound":"unbound"}}function OI(t){let e=[];for(let r of L.values()){if(r.name===t.name)continue;let n=_t(r);n.rootCid===t.cid&&e.push({name:r.name,cid:r.cid,role_id:n.roleId,bio:n.bio,monitoring:n.monitoringEnabled,capabilities:Dv(r)})}return e}function qv(t){try{nn.remove_packet(t.cid)}catch(e){$(`remove_packet(${t.cid}) failed:`,String(e))}L.delete(t.name);try{jv(t.name)}catch(e){$(`failed to unpublish "${t.name}" from the contact book:`,String(e))}Ie.has(t.name)&&(Ie.delete(t.name),fs()),t.name===ie&&(ie=null,Zv());try{T.rmSync(t.dir,{recursive:!0,force:!0}),_r.delete(t.name)}catch(e){return`deleting ${t.dir} failed: ${String(e)}`}return null}var Mp=!0,Vv=Mp?2:1,NI=6e5,Tp=new Map,zp=(t,e)=>`${t}:${e}`;function Lv(t,e,r){e&&Tp.set(zp(t,e),{response:r,at:Date.now()})}function AI(t,e){if(!e)return;let r=Tp.get(zp(t,e));if(r){if(Date.now()-r.at>NI){Tp.delete(zp(t,e));return}return r.response}}async function CI(t,e,r){let n=ps(r);if(!n||typeof n!="object")return;let o=n,s=o.result;if(s&&typeof s=="object"&&s.pending===!0)return;let i=String(o.req_id??"");i&&(await ls(t,e,o),Lv(e,i,o))}async function jI(t,e,r,n,o,s){let i;try{let d=JSON.parse(o);if(!d||typeof d!="object")throw new Error("not an object");i=d}catch{$(`[${t.name}] dropping unparseable control payload from ${n}`);return}if(i.v===1){i.t==="get_manifest"?await ls(t,r,{v:1,t:"res",id:i.id??null,ok:!0,manifest:{...II(t),protocol_version:Vv}}):await ls(t,r,{v:1,t:"res",id:i.id??null,error:{code:"protocol_upgraded",message:"This host now speaks the ours control-envelope protocol (v2). Refresh / cache-bust the control plane."}});return}let a=String(i.req_id??""),c=AI(r,a);if(c){await ls(t,r,c);return}let u=i.args&&typeof i.args=="object"?i.args:{},l={cap:String(i.cap??""),verb:String(i.verb??""),args:u,req_id:a};await B(async d=>{let f;try{f=await Z(t,"::actor::process_control_envelope",{sender_id:e,sender_name:n,envelope:l,date:s},d)}catch(h){$(`[${t.name}] dispatch of "${l.cap}.${l.verb}" from ${n} failed:`,String(h));return}if(await CI(t,r,f),l.cap==="core.monitoring"&&l.verb==="bind")try{let h=ps(f);h&&(h.ok===!0||h.$ok===!0)&&LI(t,r)}catch{}})}async function MI(t){for(;;)if(await B(async r=>{let o=(await Z(t,"::actor::get_control_requests",{},r)).Reduce("requests"),s=o.GetKeys();if(s.length===0)return!0;for(let i=0;i<s.length;i++){let a=o.Reduce(i),c=a.Reduce("sender_cid");await jI(t,c,c.Visualize(),a.Reduce("sender_name").Visualize(),a.Reduce("payload").Visualize(),a.Reduce("date"))}return!1}))return}function ZI(){return String(zv(0,1e6)).padStart(6,"0")}var sn=new Map;function xa(t){return[...L.values()].find(e=>e.cid===t)}async function gs(t,e){let r=e.Reduce("target").Visualize(),n=ps(e.Reduce("response"));if(!n||typeof n!="object")return;await ls(t,r,n);let o=String(n.req_id??"");o&&Lv(r,o,n)}async function DI(t,e,r,n){try{if(L.has(e)){$(`[${t.name}] host_provision_child("${e}") rejected: name exists (settles via sweep timeout)`);return}let o=await Np(e);await B(async s=>{r&&await Z(o,"::a2a_messaging::set_my_bio",{bio:r},s),await Kn(t,o);let i=_t(o).roleId,a=Se(o,"::actor::export_address_document_native",s),c=await Z(t,"::a2a_cluster::register_provisioned_child",{pending_handle:n,role_id:i,child_ad:a},s);await gs(t,c)})}catch(o){$(`[${t.name}] host_provision_child("${e}") failed (settles via sweep timeout):`,String(o))}}async function qI(t,e,r){try{let n=xa(e.Visualize());if(n){let o=qv(n);o&&$(`[${t.name}] host_destroy_child teardown warning:`,o)}sn.delete(e.Visualize()),await B(async o=>{let s=await Z(t,"::a2a_cluster::confirm_child_destroyed",{pending_handle:r,cid:e},o);await gs(t,s)})}catch(n){$(`[${t.name}] host_destroy_child failed (settles via sweep timeout):`,String(n))}}async function VI(t,e,r){try{let n=xa(e.Visualize());if(!n){$(`[${t.name}] host_mint_child_invite: unknown child ${e.Visualize()} (settles via sweep timeout)`);return}await B(async o=>{let s=await Z(n,"::a2a_messaging::generate_invite",{},o),i=t.pw.packet.NewBinaryFromBuffer(Buffer.from(s.Reduce("invite").GetBinary())).Attach(o),a=await Z(t,"::a2a_cluster::register_child_invite",{pending_handle:r,invite:i},o);await gs(t,a)})}catch(n){$(`[${t.name}] host_mint_child_invite failed (settles via sweep timeout):`,String(n))}}async function Ep(t,e,r,n){await B(async o=>{if(e){n&&await Z(t,"::a2a_messaging::host_register_monitoring_cp",{cp_ad:n},o);let s=ZI();await Z(t,"::a2a_messaging::set_proxy_pending",{code:s,proxy:r},o),await Z(t,"::a2a_messaging::verify_proxy_code",{code:s,sender:r},o),sn.set(t.cid,r??"")}else await Z(t,"::a2a_messaging::host_clear_child_monitoring",{},o),sn.delete(t.cid)})}async function bv(t,e,r,n,o,s){try{let i=xa(e.Visualize());if(!i){$(`[${t.name}] host_set_child_monitoring: unknown child ${e.Visualize()} (settles via sweep timeout)`);return}r?await Ep(i,!0,o?.Visualize(),s):await Ep(i,!1),await B(async a=>{let c=await Z(t,"::a2a_cluster::confirm_child_monitoring",{pending_handle:n,cid:e,enabled:r},a);await gs(t,c)})}catch(i){$(`[${t.name}] host_set_child_monitoring failed (settles via sweep timeout):`,String(i))}}async function LI(t,e){for(let[r,n]of[...sn.entries()]){if(n===e)continue;let o=xa(r);if(!o){sn.delete(r);continue}await Ep(o,!1).catch(s=>$(`[${t.name}] CP-rebind clear of child ${r} failed:`,String(s)))}}function UI(t,e){let r=[];for(let n of L.values()){if(n.name===t.name)continue;let o=_t(n);if(o.rootCid!==t.cid)continue;let s=Se(n,"::actor::export_address_document_native",e);r.push({cid:s.Reduce("identity").Reduce("container_id"),role_id:o.roleId,name:n.name,bio:o.bio,persona:o.persona,caps:Dv(n),child_ad:s})}return r}var _p=new Set;async function Uv(t){if(!_p.has(t.name)){_p.add(t.name);try{await B(async e=>{await Z(t,"::a2a_cluster::reconcile",{pending_handle:"",children:UI(t,e)},e);let n=(await Z(t,"::a2a_cluster::sweep_and_settle",{},e)).Reduce("settled"),o=n.GetKeys();for(let s=0;s<o.length;s++)await gs(t,n.Reduce(s))})}catch(e){$(`[${t.name}] cluster sweep failed:`,String(e))}finally{_p.delete(t.name)}}}var FI=6e4;function BI(){setInterval(()=>{if(Mp)for(let t of L.values())_t(t).roleId===""&&Uv(t)},FI).unref()}function HI(){for(let t of L.values())if(_t(t).roleId!=="")try{let e=hs(t).proxyCid;e&&sn.set(t.cid,e)}catch(e){sn.set(t.cid,""),$(`[${t.name}] monitoredChildren rebuild read failed (added clear-on-repoint):`,String(e))}}var vp=new Set;async function Zp(t){if(!vp.has(t.name)){vp.add(t.name);try{await MI(t)}catch(e){$(`[${t.name}] control dispatch failed:`,String(e))}finally{vp.delete(t.name)}if(L.has(t.name)&&hs(t).controlQueued>0)return Zp(t)}}async function GI(){T.mkdirSync(ds(),{recursive:!0});let t;try{t=T.readFileSync(_v(),"utf8").trim()}catch{}let e=Tv(24).toString("hex");vt=await qp(_a,e,ds(),!1,t),t||T.writeFileSync(_v(),Av(vt),{mode:384}),xp=Yn(vt),$(`contact-book registrar ready (${vt.cid})`)}function JI(t){try{return T.existsSync(on(t))&&T.statSync(on(t)).size>0}catch{return!1}}function Pp(t){let e=Je(s=>Buffer.from(Se(t,"::actor::export_state",s).Serialize()));T.mkdirSync(t.dir,{recursive:!0,mode:448});let r=on(t.dir),n=`${r}.tmp`,o;try{o=T.openSync(n,"w",384),T.fchmodSync(o,384),T.writeFileSync(o,e),T.fsyncSync(o),T.closeSync(o),o=void 0,T.renameSync(n,r),T.chmodSync(r,384);try{T.chmodSync(ms(t.dir),384)}catch{}let s=T.openSync(t.dir,"r");try{T.fsyncSync(s)}finally{T.closeSync(s)}}catch(s){if(o!==void 0)try{T.closeSync(o)}catch{}try{T.rmSync(n,{force:!0})}catch{}throw s}}function Dp(t){try{Pp(t),t.persistFailed&&(t.persistFailed=!1,$(`[${t.name}] persist recovered \u2014 quarantine lifted`),me(t,{event:"persist_recovered"}))}catch(e){t.persistFailed=!0,$(`[${t.name}] PERSIST FAILED \u2014 identity quarantined (fail-closed), outbound of this txn withheld:`,String(e));try{me(t,{event:"persist_failed",error:String(e).slice(0,300)})}catch{}throw process.nextTick(()=>nt(t.name,`[${t.name}] PERSIST FAILED \u2014 messaging quarantined until the state file is writable again`)),e}}function KI(t){let e=[],r=t.Reduce("degraded");if(r.IsNil())return e;for(let n=0;;n++){let o=r.Reduce(n);if(o.IsNil())break;e.push({cid:o.Reduce("container_id").Visualize(),name:o.Reduce("name").Visualize(),attempts:Number(o.Reduce("attempts").Visualize()),queued:Number(o.Reduce("queued").Visualize())})}return e}function WI(t){let e=[],r=t.Reduce("queues");if(r.IsNil())return e;for(let n=0;;n++){let o=r.Reduce(n);if(o.IsNil())break;e.push({cid:o.Reduce("container_id").Visualize(),queued:Number(o.Reduce("queued").Visualize()),degraded:o.Reduce("degraded").GetBoolean()})}return e}async function Fv(t,e){try{let r=await B(async n=>{let o=await Z(t,"::a2a_messaging::flush_deferred",{contact:e},n);return Number(o.Reduce("flushed").Visualize())});r>0&&$(`[${t.name}] flushed ${r} deferred message(s) to ${e.slice(0,12)}\u2026`)}catch(r){$(`[${t.name}] deferred flush to ${e.slice(0,12)}\u2026 failed:`,String(r))}}async function Bv(t){try{let e=await B(async n=>{let o=await Z(t,"::a2a_messaging::restore_degraded_contacts",{},n);return Number(o.Reduce("requested").Visualize())});e>0&&$(`[${t.name}] contact restore requested for ${e} degraded contact(s)`);let r=Je(n=>WI(Se(t,"::a2a_messaging::list_deferred_queues",n)));for(let n of r)n.degraded||await Fv(t,n.cid)}catch(e){$(`[${t.name}] contact-restore sweep failed:`,String(e))}}async function Ip(t){try{let e=await B(async r=>{let n=await Z(t,"::a2a_messaging::reconcile_advertise",{},r),o=s=>n.Reduce(s).IsNil()?0:Number(n.Reduce(s).Visualize());return{changed:/true/i.test(n.Reduce("changed").Visualize()),capabilityAdvertised:o("capability_advertised"),legacyReadvertised:o("legacy_readvertised")}});(e.capabilityAdvertised>0||e.legacyReadvertised>0)&&$(`[${t.name}] capability reconcile: changed=${e.changed} advertised=${e.capabilityAdvertised} legacy_migration_bootstrap=${e.legacyReadvertised}`)}catch(e){$(`[${t.name}] capability reconcile sweep failed:`,String(e))}}async function Op(t){try{let e=await B(async r=>{let n=await Z(t,"::a2a_messaging::readvertise_e2e_recovery",{},r);return Number(n.Reduce("readvertised").Visualize())});e>0&&$(`[${t.name}] re-advertised fresh AD to ${e} e2e contact(s) (session recovery)`)}catch(e){$(`[${t.name}] e2e recovery re-advertise failed:`,String(e))}try{await B(async e=>{await Z(t,"::a2a_messaging::sweep_e2e_migrations",{},e)})}catch(e){$(`[${t.name}] e2e migration sweep failed:`,String(e))}try{let e=await B(async r=>{let n=await Z(t,"::a2a_messaging::redrive_unacked_sweep",{},r),o=s=>n.Reduce(s).IsNil()?0:Number(n.Reduce(s).Visualize());return{redriven:o("redriven_contacts"),purged:o("purged_contacts"),deferred:o("deferred_contacts")}});(e.redriven>0||e.purged>0||e.deferred>0)&&$(`[${t.name}] unacked sweep: redriven=${e.redriven} ttl_purged=${e.purged} deferred=${e.deferred} contact(s)`)}catch(e){$(`[${t.name}] unacked redrive sweep failed:`,String(e))}}var ha=new Map;function YI(t){let e=ha.get(t);if(!(!e||e.size===0))for(let r of[...e])try{r()}catch{}}function XI(t,e){return new Promise(r=>{let n=ha.get(t);n||(n=new Set,ha.set(t,n));let o=!1,s=()=>{o||(o=!0,n.delete(i),n.size===0&&ha.delete(t),clearTimeout(a),r())},i=s,a=setTimeout(s,e);n.add(i)})}function me(t,e){try{T.mkdirSync(t.dir,{recursive:!0,mode:448}),T.appendFileSync(Cp(t.dir),JSON.stringify(e)+`
61
+ `)}catch(r){$(`[${t.name}] failed to append notifications.log:`,String(r))}YI(t.name)}function QI(t){let e=Cp(t.dir),r="";try{r=T.readFileSync(e,"utf8")}catch{return new Set}let n=[];for(let o of r.split(`
62
+ `))if(o.trim())try{n.push(JSON.parse(o))}catch{}return cv(n)}function as(t,e){let r=t.Reduce(e);return r.IsNil()?"":Buffer.from(r.GetBinary()).toString("hex")}var eO=Number(process.env.OURS_NOTIFY_LONGPOLL_MS)>0?Number(process.env.OURS_NOTIFY_LONGPOLL_MS):25e3,tO=250;function bp(t){try{return T.statSync(t).size}catch{return 0}}function rO(t,e,r){if(r<=e)return{events:[],cursor:e};let n=Buffer.alloc(r-e),o=0;try{let c=T.openSync(t,"r");try{o=T.readSync(c,n,0,n.length,e)}finally{T.closeSync(c)}}catch{return{events:[],cursor:e}}let s=n.subarray(0,o),i=s.lastIndexOf(10);if(i===-1)return{events:[],cursor:e};let a=[];for(let c of s.subarray(0,i+1).toString("utf8").split(`
63
+ `))if(c.trim())try{a.push(JSON.parse(c))}catch{}return{events:a,cursor:e+i+1}}async function nO(t,e,r,n){let o=Cp(ze(Oe,r)),s=(u,l)=>{e.writableEnded||(e.writeHead(200,{"Content-Type":"application/json"}),e.end(JSON.stringify({cursor:u,events:l})))};if(n===null||n==="tip"){s(bp(o),[]);return}let i=parseInt(n,10);if(!Number.isFinite(i)||i<0){e.writableEnded||(e.writeHead(400,{"Content-Type":"application/json"}),e.end(JSON.stringify({error:"invalid since cursor"})));return}let a=!1;t.on("close",()=>{a=!0});let c=Date.now()+eO;for(;!a;){let u=bp(o);if(i>u&&(i=0),u>i){let{events:l,cursor:d}=rO(o,i,u);if(l.length>0){s(d,l);return}i=d}if(Date.now()>=c)break;await XI(r,Math.min(tO,c-Date.now()))}a||s(bp(o),[])}function rn(t){try{let{unread:e,unreadFiles:r}=Je(s=>{let a=ga(Se(t,"::actor::list_incoming_messages",s)).filter(l=>l.status==="unread"),c=Se(t,"::actor::list_incoming_files",s),u=[];if(!c.IsNil())for(let l=0;;l++){let d=c.Reduce(l);if(d.IsNil())break;d.Reduce("status").Visualize()==="unread"&&u.push({file_id:d.Reduce("file_id").Visualize(),from:d.Reduce("sender_name").Visualize(),filename:d.Reduce("filename").Visualize(),mime:d.Reduce("mime").Visualize(),wire_id:d.Reduce("wire_id").Visualize()})}return{unread:a,unreadFiles:u}}),n={count:e.length,recent:e.slice(-10).map(s=>({from:s.sender_name,msg_id:s.msg_id,date:s.date})),files:r.length,unread_files:r.slice(-10)};T.mkdirSync(t.dir,{recursive:!0,mode:448});let o=`${kp(t.dir)}.tmp`;T.writeFileSync(o,JSON.stringify(n)),T.renameSync(o,kp(t.dir))}catch(e){$(`[${t.name}] failed to refresh unread snapshot:`,String(e))}}function oO(){let t=[],e=[];try{e=T.readdirSync(Oe,{withFileTypes:!0})}catch{return{identities:t}}for(let r of e){if(!r.isDirectory()||va(r.name)!==null)continue;let n;try{n=JSON.parse(T.readFileSync(kp(ze(Oe,r.name)),"utf8"))}catch{continue}let o=Number.isSafeInteger(n.count)&&Number(n.count)>=0?Number(n.count):0,s=Number.isSafeInteger(n.files)&&Number(n.files)>=0?Number(n.files):0;if(o===0&&s===0)continue;let i=Array.isArray(n.recent)?n.recent.slice(-10).flatMap(c=>{if(!c||typeof c!="object")return[];let u=c;return typeof u.from!="string"||!["string","number"].includes(typeof u.msg_id)||typeof u.date!="string"?[]:[{from:u.from,msg_id:u.msg_id,date:u.date}]}):[],a=Array.isArray(n.unread_files)?n.unread_files.slice(-10).flatMap(c=>{if(!c||typeof c!="object")return[];let u=c;return typeof u.from!="string"||typeof u.filename!="string"||typeof u.mime!="string"||typeof u.wire_id!="string"?[]:[{from:u.from,filename:u.filename,mime:u.mime,wire_id:u.wire_id}]}):[];t.push({name:r.name,count:o,recent:i,files:s,unread_files:a})}return t.sort((r,n)=>String(r.name).localeCompare(String(n.name))),{identities:t}}var tn=new Map,Hv=t=>`ours://inbox/${encodeURIComponent(t)}`;function nt(t,e){$(`[${t}] notify:`,e);let r=Ie.get(t)?.sid;if(!r)return;let n=tn.get(r);if(n){try{n.sendLoggingMessage({level:"info",logger:"ours",data:e})}catch(o){$("sendLoggingMessage failed:",String(o))}try{n.server.sendResourceUpdated({uri:Hv(t)})}catch{}}}function Je(t){let e=new Ap;try{return t(e)}finally{e.Finalize()}}async function B(t){let e=new Ap;try{return await t(e)}finally{e.Finalize()}}function Se(t,e,r){let n=Ev({name:e,targ:void 0}),o=t.pw.packet.ExecuteTransaction(n);return n.Destroy(),r?o.Attach(r):o}async function sO(t,e){let r=t.lock,n;t.lock=new Promise(o=>n=o),await r;try{return await e()}finally{n()}}function iO(t,e,r=25e3){return new Promise((n,o)=>{let s=setTimeout(()=>{let i=t.pending.findIndex(a=>a.timer===s);i>=0&&t.pending.splice(i,1),o(new Error("timed out waiting for the transaction result"))},r);t.pending.push({resolve:n,reject:o,timer:s}),t.pw.add_client_message(e)})}function Z(t,e,r,n,o){if(t.persistFailed)try{Dp(t)}catch(i){return Promise.reject(new Error(`identity "${t.name}" is quarantined: state persist is failing (${String(i)}) \u2014 mutations are rejected until state_data.bin is writable again`))}let s=Ev({name:e,targ:r});return sO(t,()=>iO(t,s,o)).then(i=>{if(s.Destroy(),t.persistFailed){try{i.Destroy()}catch{}throw new Error(`identity "${t.name}": state persist FAILED \u2014 this transaction's outbound was withheld (fail-closed); fix the state directory and retry`)}return n?i.Attach(n):i},i=>{try{s.Destroy()}catch{}throw i})}function aO(t){t.pw.on_return_data=e=>{let r=new Ap;e.Attach(r);try{let n=e.Reduce("kind").Visualize();if(n==="save_state"){Dp(t);return}if(n==="notify_agent"){let s=e.Reduce("payload"),i=s.Reduce("event").Visualize();if(i==="message_received"){let a=s.Reduce("sender_name").Visualize(),c=s.Reduce("msg_id").Visualize(),u=s.Reduce("date").Visualize();me(t,{event:"message_received",from:a,msg_id:c,date:u}),rn(t),process.nextTick(()=>nt(t.name,`[${t.name}] new message from ${a} (#${c})`))}else if(i==="file_received"){let a=s.Reduce("sender_name").Visualize(),c=s.Reduce("file_id").Visualize(),u=s.Reduce("filename").Visualize(),l=s.Reduce("mime").Visualize(),d=s.Reduce("bytes").Visualize(),f=s.Reduce("date").Visualize();me(t,{event:"file_received",from:a,file_id:c,filename:u,mime:l,bytes:d,date:f}),rn(t),process.nextTick(()=>nt(t.name,`[${t.name}] new file ${u} (${d} B) from ${a} (#${c})`))}else if(i==="contact_accepted"){let a=s.Reduce("name").Visualize(),c=s.Reduce("container_id").Visualize();process.nextTick(()=>nt(t.name,`[${t.name}] contact "${a}" (${c}) accepted your invite.`))}else if(i==="local_contact_added"){let a=s.Reduce("name").Visualize(),c=s.Reduce("container_id").Visualize();process.nextTick(()=>nt(t.name,`[${t.name}] local contact "${a}" (${c}) connected via the contact book.`))}else if(i==="sibling_contact_added"){let a=s.Reduce("name").Visualize(),c=s.Reduce("container_id").Visualize();me(t,{event:"sibling_contact_added",from:a}),process.nextTick(()=>nt(t.name,`[${t.name}] sibling "${a}" (${c}) connected (intra-root auto-accept).`))}else if(i==="local_contact_request"){let a=s.Reduce("name").Visualize(),c=s.Reduce("container_id").Visualize();me(t,{event:"local_contact_request",from:a}),process.nextTick(()=>nt(t.name,`[${t.name}] pending local introduction from "${a}" (${c}) \u2014 approve or reject with respond_to_introduction.`))}else if(i==="pending_message"){let a=s.Reduce("sender_name").Visualize(),c=s.Reduce("queued").Visualize();me(t,{event:"pending_message",from:a,queued:c}),process.nextTick(()=>nt(t.name,`[${t.name}] "${a}" queued a message awaiting introduction approval (${c} queued).`))}else if(i==="e2e_restore_rejected")me(t,{event:"e2e_restore_rejected"}),$(`[${t.name}] E2E RESTORE REJECTED \u2014 corrupt session blob failed pickle_key validation; reset to empty e2e state, self-heal fallback will re-establish`),process.nextTick(()=>nt(t.name,`[${t.name}] persisted e2e sessions were corrupt \u2014 rejected cleanly, sessions re-establishing`));else if(i==="contact_restored"){let a=s.Reduce("name").Visualize(),c=s.Reduce("container_id").Visualize();me(t,{event:"contact_restored",from:a}),$(`[${t.name}] contact "${a}" restored (re-keyed)`),process.nextTick(()=>void Fv(t,String(c)))}else if(i==="migration_active"){let a=s.Reduce("cid").Visualize(),c=s.Reduce("role").Visualize(),u=as(s,"epoch"),l=as(s,"session_id");me(t,{event:"migration_active",cid:String(a),role:String(c),...u?{epoch:u}:{},...l?{session_id:l}:{}}),$(`[migration] active cid=${a} role=${c}${u?` epoch=${u}`:""}${l?` session_id=${l}`:""}`)}else if(i==="e2e_app_send"){let a=s.Reduce("cid").Visualize(),c=as(s,"session_id"),u=s.Reduce("olm_type").Visualize(),l=s.Reduce("wire_id").Visualize(),d=s.Reduce("retained").IsNil()?void 0:s.Reduce("retained").GetBoolean(),f=[],h=s.Reduce("evicted");if(!h.IsNil())for(let p=0;;p++){let m=h.Reduce(p);if(m.IsNil())break;f.push(String(m.Visualize()))}me(t,{event:"e2e_app_send",cid:String(a),session_id:c,olm_type:String(u),wire_id:String(l),...d===!1?{retained:!1}:{},...f.length?{evicted:f}:{}}),$(`[${t.name}] [e2e-app] send cid=${a} session_id=${c} olm_type=${u} wire_id=${l}${d===!1?" retained=false":""}${f.length?` evicted=${f.join(",")}`:""}`),f.length&&process.nextTick(()=>nt(t.name,`[${t.name}] redrive window overflow: ${f.length} older unacked send(s) lost their auto-resend guarantee (${f.join(", ")})`))}else if(i==="dedup_degraded"){let a=s.Reduce("cid").Visualize(),c=s.Reduce("dropped_wire_id").Visualize();me(t,{event:"dedup_degraded",cid:String(a),dropped_wire_id:String(c)}),$(`[${t.name}] [e2e-app] DEDUP DEGRADED cid=${a} dropped_wire_id=${c} (storage ceiling \u2014 a late redrive of that id could re-deposit)`),process.nextTick(()=>nt(t.name,`[${t.name}] dedup window overflowed for ${String(a).slice(0,12)}\u2026 \u2014 one oldest entry dropped (guarantee loss surfaced)`))}else if(i==="e2e_delivery_expired"){let a=s.Reduce("cid").Visualize(),c=[],u=s.Reduce("wire_ids");if(!u.IsNil())for(let l=0;;l++){let d=u.Reduce(l);if(d.IsNil())break;c.push(String(d.Visualize()))}me(t,{event:"e2e_delivery_expired",cid:String(a),wire_ids:c}),$(`[${t.name}] [e2e-app] delivery EXPIRED (2-day TTL, receipt never arrived) cid=${a} wire_ids=${c.join(",")}`),process.nextTick(()=>nt(t.name,`[${t.name}] ${c.length} message(s)/file(s) to ${String(a).slice(0,12)}\u2026 expired undelivered (no receipt within 2 days)`))}else if(i==="e2e_app_recv"){let a=s.Reduce("cid").Visualize(),c=as(s,"session_id"),u=s.Reduce("ok").GetBoolean(),l=s.Reduce("wire_id").Visualize(),d=s.Reduce("code").IsNil()?void 0:String(s.Reduce("code").Visualize()),f=!s.Reduce("duplicate").IsNil(),h=!s.Reduce("file").IsNil();me(t,{event:"e2e_app_recv",cid:String(a),session_id:c,ok:u,wire_id:String(l),...d?{code:d}:{},...f?{duplicate:!0}:{},...h?{file:!0}:{}}),$(`[${t.name}] [e2e-app] recv cid=${a} session_id=${c} ok=${u} wire_id=${l}${d?` code=${d}`:""}${f?" duplicate=true":""}${h?" file=true":""}`)}else if(i==="e2e_rekey"){let a=s.Reduce("cid").Visualize(),c=s.Reduce("role").Visualize(),u=as(s,"session_id"),l=s.Reduce("attempts").IsNil()?void 0:String(s.Reduce("attempts").Visualize()),d=s.Reduce("peer_supports").IsNil()?void 0:String(s.Reduce("peer_supports").Visualize()),f=s.Reduce("rejected").IsNil()?void 0:String(s.Reduce("rejected").Visualize());me(t,{event:"e2e_rekey",cid:String(a),role:String(c),...u?{session_id:u}:{},...l?{attempts:l}:{},...d?{peer_supports:d}:{},...f?{rejected:f}:{}}),$(`[${t.name}] [e2e-rekey] cid=${a} role=${c}${u?` session_id=${u}`:""}${l?` attempts=${l}`:""}${d?` peer_supports=${d}`:""}${f?` rejected=${f}`:""}`)}else if(i==="migration_deferred_flush"){let a=s.Reduce("cid").Visualize(),c=s.Reduce("wire_id").Visualize();me(t,{event:"migration_deferred_flush",cid:String(a),wire_id:String(c)}),$(`[migration] flush-notify cid=${a} wire_id=${c} (deferred\u2192e2e; core delivers)`)}else if(i==="migration_stalled"){let a=s.Reduce("cid").Visualize(),c=s.Reduce("phase").Visualize(),u=s.Reduce("attempts").Visualize();me(t,{event:"migration_stalled",cid:String(a),phase:String(c),attempts:String(u)}),$(`[migration] stalled-notify cid=${a} phase=${c} attempts=${u} (core re-drives via sweep)`)}else if(i==="downgrade_refused"){let a=s.Reduce("cid").Visualize(),c=s.Reduce("wire_id"),u=c.IsNil()?"":String(c.Visualize());me(t,{event:"downgrade_refused",cid:String(a),...u?{wire_id:u}:{}}),$(`[e2e-route] downgrade-dropped cid=${a}${u?` wire_id=${u}`:""} (legacy plaintext from a migrated peer \u2014 dropped by core)`),process.nextTick(()=>nt(t.name,`[${t.name}] a message from a migrated contact was rejected as an unsafe downgrade (dropped).`))}else if(i==="control_request"){let a=s.Reduce("sender_name").Visualize();$(`[${t.name}] control request queued by ${a}`),process.nextTick(()=>void Zp(t))}else if(i==="host_provision_child"){let a=s.Reduce("name").Visualize(),c=s.Reduce("bio").Visualize(),u=s.Reduce("pending_handle").Visualize();process.nextTick(()=>void DI(t,a,c,u))}else if(i==="host_destroy_child"){let a=s.Reduce("cid").Detach(),c=s.Reduce("pending_handle").Visualize();process.nextTick(()=>void qI(t,a,c).finally(()=>a.Destroy()))}else if(i==="host_mint_child_invite"){let a=s.Reduce("cid").Detach(),c=s.Reduce("pending_handle").Visualize();process.nextTick(()=>void VI(t,a,c).finally(()=>a.Destroy()))}else if(i==="host_set_child_monitoring"){let a=s.Reduce("cid").Detach(),c=s.Reduce("enabled").GetBoolean(),u=s.Reduce("pending_handle").Visualize();if(c){let l=s.Reduce("cp_cid").Detach(),d=s.Reduce("cp_ad").Detach();process.nextTick(()=>void bv(t,a,!0,u,l,d).finally(()=>{a.Destroy(),l.Destroy(),d.Destroy()}))}else process.nextTick(()=>void bv(t,a,!1,u).finally(()=>a.Destroy()))}return}let o=t.pending.shift();if(!o)return;clearTimeout(o.timer),o.resolve(e.Reduce("payload").Detach())}finally{r.Finalize()}},t.pw.on_transaction_failure=e=>{let r=t.pending.shift();r?(clearTimeout(r.timer),r.reject(new Error(e))):($(`[${t.name}] inbound transaction rejected:`,e),me(t,{event:"inbound_error",message:e}),process.nextTick(()=>nt(t.name,`[${t.name}] inbound transaction rejected: ${e}`)))}}function qp(t,e,r,n=!0,o,s=!1){let i=new yI;i.deferred_exposure=s;let a=["--unit_hash",us.hash,"--seed_phrase",e,"--unit_dir_path",us.dir];return o&&a.push("--init_trn_argument",JSON.stringify(o)),i.process_arguments(a),new Promise((c,u)=>{let l=setTimeout(()=>u(new Error(`packet creation for "${t}" timed out`)),3e4);nn.packet_manager.create_packet(i,d=>{clearTimeout(l);let f={name:t,cid:Je(h=>d.packet.GetContainerID().Attach(h).Visualize()),pw:d,dir:r,pending:[],lock:Promise.resolve()};aO(f),n&&L.set(t,f),$(`[${t}] packet created \u2014 container id ${f.cid}`),c(f)},us.contents)})}var _r=new Set(jp());_r.size>0&&$(`reserved ${_r.size} persisted identity name(s) at module load: ${[..._r].join(", ")}`);async function Np(t,e={exposeLocal:!0,localAutoAccept:!0}){if(_r.has(t)||L.has(t))throw new Error(`identity name "${t}" is reserved \u2014 a persisted identity with this name is restoring, present, or being provisioned; refusing to provision over it`);_r.add(t);try{let r=Ov(t);T.mkdirSync(r,{recursive:!0,mode:448});let n=Tv(24).toString("hex"),o=await qp(t,n,r);return T.writeFileSync(ms(r),Av(o),{mode:384}),await B(async s=>{await Z(o,"::a2a_messaging::set_my_name",{name:t},s)}),await Mv(o),e.localAutoAccept||await B(async s=>{await Z(o,"::actor::set_local_policy",{auto_accept:!1},s)}),e.exposeLocal&&await Cv(o),Dp(o),o}catch(r){throw _r.delete(t),r}}async function cO(t){let e=Ov(t),r=T.readFileSync(ms(e),"utf8").trim(),n=await qp(t,"",e,!1,r,!0);$(`[${t}] created QUARANTINED (no routing/broker registration, not client-bindable) \u2014 importing state before exposure`);let o=Number(process.env.OURS_TEST_RESTORE_HOLD_MS||"")||0;o>0&&($(`[${t}] TEST HOLD: keeping restore open ${o}ms (OURS_TEST_RESTORE_HOLD_MS)`),await new Promise(c=>setTimeout(c,o)));let s=c=>/timed out waiting for the transaction result/.test(String(c)),i=(c,u,l)=>{$(`[${t}] ${c} ${u} \u2014 identity left UNEXPOSED and UNTRACKED (fail-closed)`);try{me(n,{event:"restore_fail_closed",step:c,error:String(l).slice(0,300)})}catch{}L.delete(t);try{nn.remove_packet(n.cid)}catch(d){$(`[${t}] quarantined-packet teardown failed:`,String(d))}throw new Error(`identity "${t}": ${c} failed during restore (${u}) \u2014 left unexposed (fail-closed)`)},a=(c,u)=>i(c,"outcome UNKNOWN (timeout): the transaction may still execute and exposure would race it",u);if(JI(e)){let c=!1;try{if(process.env.OURS_TEST_FORCE_IMPORT_TIMEOUT==="1")throw new Error("timed out waiting for the transaction result (forced by OURS_TEST_FORCE_IMPORT_TIMEOUT)");let u=T.readFileSync(on(e));await B(async l=>{let d=n.pw.packet.ParseValue(new Uint8Array(u)).Attach(l),f=Number(process.env.OURS_IMPORT_TIMEOUT_MS||"")||void 0;await Z(n,"::actor::import_state",d,l,f)}),c=!0,$(`[${t}] state import completed (positively observed)`)}catch(u){s(u)&&a("import_state",u),$(`[${t}] FAILED TO IMPORT SAVED STATE \u2014 continuing with the reseeded identity; surviving contacts (if the blob was partially migrated) self-heal via contact restore:`,String(u)),me(n,{event:"state_import_failed",error:String(u).slice(0,300)});try{let l=`${on(e)}.failed-${Date.now()}`;T.renameSync(on(e),l),T.chmodSync(l,384),$(`[${t}] unreadable state blob preserved as state_data.bin.failed-*`)}catch{}}if(c){try{let d=await B(async f=>{let h=await Z(n,"::a2a_messaging::commit_e2e_restore",{},f),p=h.Reduce("status").Visualize(),m=h.Reduce("sessions").IsNil()?"0":h.Reduce("sessions").Visualize();return{status:String(p),sessions:String(m)}});$(`[${t}] e2e restore commit: status=${d.status} sessions=${d.sessions}`)}catch(d){s(d)&&a("commit_e2e_restore",d),$(`[${t}] E2E RESTORE REJECTED \u2014 staged session blob failed pickle_key validation; discarding it, fresh account + self-heal fallback take over: ${String(d).slice(0,260)}`),me(n,{event:"e2e_restore_rejected",error:String(d).slice(0,300)});try{await B(async f=>{await Z(n,"::a2a_messaging::reject_e2e_restore",{},f)})}catch(f){s(f)&&a("reject_e2e_restore",f),$(`[${t}] reject_e2e_restore failed (staging is transient; continuing):`,String(f))}}try{n.pw.refresh_identity_proof_document(),$(`[${t}] transport IPD refreshed from post-import state`)}catch(d){i("ipd_refresh","FAILED (IPD would advertise a stale bundle)",d)}let u=!1,l="";try{if(process.env.OURS_TEST_FORCE_IPD_INCOHERENT==="1")throw new Error("forced incoherent (OURS_TEST_FORCE_IPD_INCOHERENT)");let d=Je(p=>String(Se(n,"::a2a_messaging::e2e_self_fp",p).Reduce("ik").Visualize())),f=n.pw.identity_proof_document.Visualize(),h=d.replace(/^0x/i,"");u=h.length>=32&&f.toLowerCase().includes(h.toLowerCase()),l=d.slice(0,18),me(n,{event:"ipd_coherence",ik:d,coherent:u})}catch(d){i("ipd_coherence","probe FAILED (coherence unprovable)",d)}$(`[${t}] IPD/e2e coherence: account_ik=${l}\u2026 ipd_advertises_it=${u}`),u||i("ipd_coherence","IPD does NOT advertise the live account ik",new Error("incoherent transport IPD"))}}return nn.expose_packet(n.cid),L.set(t,n),$(`[${t}] EXPOSED (routing + broker registration) \u2014 import phase complete`),await Bv(n),rn(n),n}async function wv(){Yt?.update("wrapper"),us=xI();let t=["--broker_address",ya,"--test_mode","--logger_config","--level","INFO","--stdout","stderr","--logger_config_end"];$(`booting wrapper (unit ${us.hash.slice(0,12)}\u2026, broker ${ya})`),nn=await gI.start(t),nn.on_packet_created_cb=a=>$(`wrapper: packet ready ${a.slice(0,12)}\u2026`),nn.start();let e=Number(process.env.OURS_TEST_BOOT_HOLD_MS||"")||0;e>0&&($(`TEST HOLD: boot window open ${e}ms (OURS_TEST_BOOT_HOLD_MS)`),await new Promise(a=>setTimeout(a,e))),Yt?.update("registrar");try{await GI()}catch(a){$("failed to start the contact-book registrar (local contact book disabled):",String(a))}kI();let r=jp(),n=Math.max(0,Number(process.env.OURS_TEST_FAKE_RESTORE_COUNT||"")||0),o=Math.max(0,Number(process.env.OURS_TEST_FAKE_RESTORE_MS||"")||0),s=r.length===0&&n>0?n:r.length;Yt?.update("identities",{completed:0,total:s});for(let a of r)_r.add(a);if(r.length===0&&n>0){$(`TEST: simulating ${n} fake identity restore(s), ${o}ms each`);for(let a=0;a<n;a++)o>0&&await new Promise(c=>setTimeout(c,o)),Yt?.update("identities",{completed:a+1,total:n})}else if(r.length===0)$("no persisted identities \u2014 start with create_identity");else{$(`restoring ${r.length} identit${r.length===1?"y":"ies"}: ${r.join(", ")}`);for(let[a,c]of r.entries()){try{let u=await cO(c);vt&&await Mv(u)}catch(u){$(`failed to restore "${c}":`,String(u))}Yt?.update("identities",{completed:a+1,total:r.length})}}Yt?.update("reconciliation"),HI(),BI(),ie=RI(),ie&&!L.has(ie)&&($(`root marker names a missing identity "${ie}" \u2014 clearing it`),ie=null,Zv()),ie&&$(`root identity: ${ie}`);{let a=ie?L.get(ie):void 0;ie&&!a&&$(`re-delegation on upgrade DEGRADED: root "${ie}" is not among the restored identities \u2014 role certs not refreshed this boot`);let c=[];if(a)for(let u of L.values()){if(u.name===a.name)continue;let l;try{l=_t(u)}catch{l=void 0}if(!(!l||!l.hasCert)){if(l.rootCid!==a.cid){$(`[${u.name}] re-delegation skipped: delegated by a different root (${l.rootCid.slice(0,12)}\u2026), not this host root \u2014 left as-is`);continue}try{await Kn(a,u),c.push(u)}catch(d){me(u,{event:"redelegation_failed",error:String(d).slice(0,300)}),$(`[${u.name}] boot re-delegation (upgrade cert refresh) failed:`,String(d))}}}for(let u of L.values()){await Ip(u),await Op(u);for(let l of[1e4,3e4,9e4])setTimeout(()=>{Ip(u).catch(()=>{})},l),setTimeout(()=>{Op(u).catch(()=>{})},l)}c.length>0&&$(`refreshed ${c.length} role delegation cert(s) against the live AD on boot`)}let i=ie?L.get(ie):void 0;if(i)try{hs(i).controlQueued>0&&Zp(i)}catch(a){$("boot-time monitoring/control drain failed:",String(a))}fs()}function $v(t){let e=ct.get(t)?.token;if(!e)return{error:"No identity bound to this session. Call choose_identity (or create_identity) first."};if(wa.has(e))return{error:"Your identity binding was reassigned to another session. Call choose_identity again to continue."};let r=Iv(e);if(!r)return{error:"No identity bound to this session. Call choose_identity (or create_identity) first."};let n=L.get(r.identity);if(!n)return Ie.delete(r.identity),fs(),{error:`The bound identity "${r.identity}" no longer exists. Choose another with choose_identity.`};r.sid=t;let o=ct.get(t)?.pid;return o&&(r.pid=o),{id:n}}function ma(t,e){let r=ct.get(t),n=r?.token;if(!n)return;for(let[s,i]of[...Ie])i.token===n&&s!==e&&Ie.delete(s);let o=Ie.get(e)?.epoch??0;Ie.set(e,{identity:e,token:n,pid:r?.pid??0,sid:t,epoch:o+1,boundAt:Date.now()}),wa.delete(n),fs()}function uO(t){let e=[];if(t.IsNil())return e;for(let r of t.GetKeys()){let n=t.Reduce(r);n.IsNil()||e.push({name:n.Reduce("name").Visualize(),container_id:n.Reduce("container_id").Visualize()})}return e}function ga(t){let e=[];if(t.IsNil())return e;for(let r=0;;r++){let n=t.Reduce(r);if(n.IsNil())break;let o=n.Reduce("reply_to"),s=null;if(!o.IsNil()){s={wire_id:o.Reduce("wire_id").Visualize()};let i=o.Reduce("sentence");i.IsNil()||(s.sentence=parseInt(i.Visualize(),10))}e.push({msg_id:parseInt(n.Reduce("msg_id").Visualize(),10),sender_id:n.Reduce("sender_id").Visualize(),sender_name:n.Reduce("sender_name").Visualize(),text:n.Reduce("text").Visualize(),date:n.Reduce("date").Visualize(),status:n.Reduce("status").Visualize(),wire_id:n.Reduce("wire_id").Visualize(),reply_to:s})}return e}function lO(t){if(t.IsNil())return"No files received.";let e=[];for(let r=0;;r++){let n=t.Reduce(r);if(n.IsNil())break;let o=n.Reduce("filename").Visualize(),s=n.Reduce("mime").Visualize(),i=n.Reduce("sender_name").Visualize(),a=n.Reduce("status").Visualize(),c=n.Reduce("wire_id").Visualize(),u=fp(s,o)?"\u{1F3A4} voice message \xB7 ":"";e.push(` \u2022 ${u}${o} (${s||"application/octet-stream"}) from ${i} [${a}] {${c}}`)}return e.length===0?"No files received.":`${e.length} file(s):
62
64
  ${e.join(`
63
- `)}`}async function cO(t,e){if(e.IsNil())return"No new files.";let r=wI(t),n=[];for(let o=0;;o++){let s=e.Reduce(o);if(s.IsNil())break;n.length===0&&await dI(r,{recursive:!0});let i=s.Reduce("filename").Visualize(),a=s.Reduce("mime").Visualize(),c=s.Reduce("sender_name").Visualize(),u=s.Reduce("wire_id").Visualize(),l=Buffer.from(s.Reduce("data").GetBinary()),d=ze(r,`${u}-${iv(i)}`);if(await pI(d,l),pp(a,i)){let p=mp(Zt.stt),f;if(!p.ready)f={kind:"unconfigured",reason:p.reason};else{let m=await uv(l,i,a,Zt.stt);f=m.ok?{kind:"transcript",text:m.text}:{kind:"failed",error:m.error}}n.push(lv({sender:c,wire:u,savedPath:d,sizeBytes:l.length},f));continue}n.push(` \u2022 ${i} (${a||"application/octet-stream"}, ${l.length} B) from ${c} \u2192 ${d} {${u}}`)}return n.length===0?"No new files.":`${n.length} new file(s):
65
+ `)}`}async function dO(t,e){if(e.IsNil())return"No new files.";let r=SI(t),n=[];for(let o=0;;o++){let s=e.Reduce(o);if(s.IsNil())break;n.length===0&&await mI(r,{recursive:!0});let i=s.Reduce("filename").Visualize(),a=s.Reduce("mime").Visualize(),c=s.Reduce("sender_name").Visualize(),u=s.Reduce("wire_id").Visualize(),l=Buffer.from(s.Reduce("data").GetBinary()),d=ze(r,`${u}-${av(i)}`);if(await hI(d,l),fp(a,i)){let f=hp(qt.stt),h;if(!f.ready)h={kind:"unconfigured",reason:f.reason};else{let p=await lv(l,i,a,qt.stt);h=p.ok?{kind:"transcript",text:p.text}:{kind:"failed",error:p.error}}n.push(dv({sender:c,wire:u,savedPath:d,sizeBytes:l.length},h));continue}n.push(` \u2022 ${i} (${a||"application/octet-stream"}, ${l.length} B) from ${c} \u2192 ${d} {${u}}`)}return n.length===0?"No new files.":`${n.length} new file(s):
64
66
  ${n.join(`
65
- `)}`}function uO(t){let e=[];if(t.IsNil())return e;for(let r of t.GetKeys()){let n=t.Reduce(r);n.IsNil()||e.push({container_id:typeof r=="string"?r:r.Visualize(),name:n.Reduce("name").Visualize(),queued:parseInt(n.Reduce("queued").Visualize(),10)||0})}return e}function lO(t){let e={};if(t.IsNil())return e;for(let r of t.GetKeys()){let n=t.Reduce(r);n.IsNil()||(e[typeof r=="string"?r:r.Visualize()]={root_cid:n.Reduce("root_cid").Visualize(),root_name:n.Reduce("root_name").Visualize(),role_id:n.Reduce("role_id").Visualize()})}return e}function dO(t){if(!t)return"";let e=t.root_name||t.root_cid;return t.role_id?` [role "${t.role_id}" of ${e}]`:` [root identity of ${e}]`}function k(t,e=!1){return{content:[{type:"text",text:t}],isError:e}}function Hv(t){return cI(t).toString("base64url")}function pO(t){return uI(Buffer.from(t.replace(/\s+/g,""),"base64url"))}var fO=new Set(["members","caps"]);function mO(t){try{let e=t.GetNumber();return Number.isInteger(e)?e:NaN}catch{return NaN}}function ds(t,e){if(t.IsNil())return null;let r;try{r=t.GetKeys()}catch{try{return Hv(Buffer.from(t.GetBinary()))}catch{}try{return t.GetBoolean()}catch{}try{let n=t.GetNumber();if(!Number.isNaN(n))return n}catch{}return t.Visualize()}if(r.length>0){if(r.map(mO).every((i,a)=>i===a))return r.map((i,a)=>ds(t.Reduce(a)));let s={};for(let i of r)s[i.Visualize()]=ds(t.Reduce(i),i.Visualize());return s}return e!==void 0&&fO.has(e)?[]:{}}function $v(t,e=!0){let r=e&&t.status&&t.status!=="unread"?` [${t.status}]`:"",n=t.wire_id?` {${t.wire_id}}`:"",o=t.reply_to?` \u21B3re ${t.reply_to.wire_id}${t.reply_to.sentence?`\xB7s${t.reply_to.sentence}`:""}`:"";return`#${t.msg_id} [${t.sender_name}]${r}${n}${o} ${t.text} (${t.date})`}function xv(t){let e=new ta({name:"ours",version:as},{capabilities:{logging:{},resources:{}}}),r=()=>{let s=wv(t());return"error"in s?{err:k(s.error,!0)}:{id:s.id}};e.tool("create_identity",'Create a new self-sovereign identity (an ADAPT node) with the given display name and bind it to this session. The name is what peers see for you in invites. Persisted permanently; reject if the name already exists. When a root identity exists on this host, the new identity is automatically delegated as a ROLE under it (its invites then carry the verified "role X of person Y" chain). By default the identity is published to the LOCAL contact book, so other identities on this host can message it by name without an invite; pass expose_local=false to opt out.',{name:F.string().min(1).describe('Display name for the new identity, e.g. "Alice".'),bio:F.string().default("").describe("Optional free-text bio for the identity profile."),expose_local:F.boolean().default(!0).describe("Publish this identity in the host-local contact book."),local_auto_accept:F.boolean().default(!0).describe("Auto-accept local contact-book introductions (false = they queue for approval).")},async({name:s,bio:i,expose_local:a,local_auto_accept:c})=>{let u=ya(s);if(u)return k(`create_identity failed: ${u}`,!0);if(L.has(s))return k(`create_identity failed: an identity named "${s}" already exists.`,!0);try{let l=await Op(s,{exposeLocal:a,localAutoAccept:c});i&&await B(async h=>{await M(l,"::a2a_messaging::set_my_bio",{bio:i},h)});let d="",p=ie?L.get(ie):void 0;if(p)await Jn(p,l),d=` Delegated as a role under root "${p.name}".`,jp&&Lv(p);else{let{adopted:h}=await _v(l);d=" No host root existed yet, so this identity is now the host ROOT (the person behind all roles); create more with create_identity and they become roles under it."+(h.length?` Adopted ${h.length} pre-existing identit${h.length===1?"y":"ies"} as role(s): ${h.join(", ")}.`:"")}pa(t(),s);let f=a?` Published to the local contact book${c?"":" (introductions require approval)"}.`:" Not exposed in the local contact book.",m=`
67
+ `)}`}function pO(t){let e=[];if(t.IsNil())return e;for(let r of t.GetKeys()){let n=t.Reduce(r);n.IsNil()||e.push({container_id:typeof r=="string"?r:r.Visualize(),name:n.Reduce("name").Visualize(),queued:parseInt(n.Reduce("queued").Visualize(),10)||0})}return e}function fO(t){let e={};if(t.IsNil())return e;for(let r of t.GetKeys()){let n=t.Reduce(r);n.IsNil()||(e[typeof r=="string"?r:r.Visualize()]={root_cid:n.Reduce("root_cid").Visualize(),root_name:n.Reduce("root_name").Visualize(),role_id:n.Reduce("role_id").Visualize()})}return e}function mO(t){if(!t)return"";let e=t.root_name||t.root_cid;return t.role_id?` [role "${t.role_id}" of ${e}]`:` [root identity of ${e}]`}function k(t,e=!1){return{content:[{type:"text",text:t}],isError:e}}function Gv(t){return dI(t).toString("base64url")}function hO(t){return pI(Buffer.from(t.replace(/\s+/g,""),"base64url"))}var gO=new Set(["members","caps"]);function yO(t){try{let e=t.GetNumber();return Number.isInteger(e)?e:NaN}catch{return NaN}}function ps(t,e){if(t.IsNil())return null;let r;try{r=t.GetKeys()}catch{try{return Gv(Buffer.from(t.GetBinary()))}catch{}try{return t.GetBoolean()}catch{}try{let n=t.GetNumber();if(!Number.isNaN(n))return n}catch{}return t.Visualize()}if(r.length>0){if(r.map(yO).every((i,a)=>i===a))return r.map((i,a)=>ps(t.Reduce(a)));let s={};for(let i of r)s[i.Visualize()]=ps(t.Reduce(i),i.Visualize());return s}return e!==void 0&&gO.has(e)?[]:{}}function xv(t,e=!0){let r=e&&t.status&&t.status!=="unread"?` [${t.status}]`:"",n=t.wire_id?` {${t.wire_id}}`:"",o=t.reply_to?` \u21B3re ${t.reply_to.wire_id}${t.reply_to.sentence?`\xB7s${t.reply_to.sentence}`:""}`:"";return`#${t.msg_id} [${t.sender_name}]${r}${n}${o} ${t.text} (${t.date})`}function Sv(t){let e=new ra({name:"ours",version:cs},{capabilities:{logging:{},resources:{}}}),r=()=>{let s=$v(t());return"error"in s?{err:k(s.error,!0)}:{id:s.id}};e.tool("create_identity",'Create a new self-sovereign identity (an ADAPT node) with the given display name and bind it to this session. The name is what peers see for you in invites. Persisted permanently; reject if the name already exists. When a root identity exists on this host, the new identity is automatically delegated as a ROLE under it (its invites then carry the verified "role X of person Y" chain). By default the identity is published to the LOCAL contact book, so other identities on this host can message it by name without an invite; pass expose_local=false to opt out.',{name:F.string().min(1).describe('Display name for the new identity, e.g. "Alice".'),bio:F.string().default("").describe("Optional free-text bio for the identity profile."),expose_local:F.boolean().default(!0).describe("Publish this identity in the host-local contact book."),local_auto_accept:F.boolean().default(!0).describe("Auto-accept local contact-book introductions (false = they queue for approval).")},async({name:s,bio:i,expose_local:a,local_auto_accept:c})=>{let u=va(s);if(u)return k(`create_identity failed: ${u}`,!0);if(L.has(s))return k(`create_identity failed: an identity named "${s}" already exists.`,!0);try{let l=await Np(s,{exposeLocal:a,localAutoAccept:c});i&&await B(async m=>{await Z(l,"::a2a_messaging::set_my_bio",{bio:i},m)});let d="",f=ie?L.get(ie):void 0;if(f)await Kn(f,l),d=` Delegated as a role under root "${f.name}".`,Mp&&Uv(f);else{let{adopted:m}=await vv(l);d=" No host root existed yet, so this identity is now the host ROOT (the person behind all roles); create more with create_identity and they become roles under it."+(m.length?` Adopted ${m.length} pre-existing identit${m.length===1?"y":"ies"} as role(s): ${m.join(", ")}.`:"")}ma(t(),s);let h=a?` Published to the local contact book${c?"":" (introductions require approval)"}.`:" Not exposed in the local contact book.",p=`
66
68
 
67
- Ask the user whether to enable this harness's live mail monitor for "${s}". Never enable monitoring without explicit consent.`;return k(`Created identity "${s}" (${l.cid}) and bound it to this session.${d}${f}${m}`)}catch(l){return k(`create_identity failed: ${String(l)}`,!0)}}),e.tool("create_root_identity","Create THE root identity for this host \u2014 the identity that represents the person behind all roles (see the identity hierarchy: one root, many roles). Single-root policy: exactly one root per host. If a root already exists, the named identity is instead created as a ROLE under it (no second root; no error). When establishing the root, every pre-existing identity is adopted as a role (each receives a delegation certificate). The root is directly messageable like any identity.",{name:F.string().min(1).describe(`The person's name, e.g. "Vitalii Shakhmatov".`),bio:F.string().default("").describe("Free-text bio describing the person (carried in role invites)."),expose_local:F.boolean().default(!0).describe("Publish the root in the host-local contact book."),local_auto_accept:F.boolean().default(!0).describe("Auto-accept local contact-book introductions (false = they queue for approval)."),skip_if_root_exists:F.boolean().default(!1).describe('Installer seam: if a root already exists, do NOTHING (fail with "a root identity already exists") instead of adopting the name as a role. The ours-mcp create-root CLI sets this so re-runs stay idempotent; leave false for the interactive tool.')},async({name:s,bio:i,expose_local:a,local_auto_accept:c,skip_if_root_exists:u})=>{let l=ya(s);if(l)return k(`create_root_identity failed: ${l}`,!0);if(u&&ie&&L.has(ie))return k(`create_root_identity failed: a root identity already exists ("${ie}") \u2014 one root per host. Nothing to do.`,!0);if(L.has(s))return k(`create_root_identity failed: an identity named "${s}" already exists.`,!0);let d=`
69
+ Ask the user whether to enable this harness's live mail monitor for "${s}". Never enable monitoring without explicit consent.`;return k(`Created identity "${s}" (${l.cid}) and bound it to this session.${d}${h}${p}`)}catch(l){return k(`create_identity failed: ${String(l)}`,!0)}}),e.tool("create_root_identity","Create THE root identity for this host \u2014 the identity that represents the person behind all roles (see the identity hierarchy: one root, many roles). Single-root policy: exactly one root per host. If a root already exists, the named identity is instead created as a ROLE under it (no second root; no error). When establishing the root, every pre-existing identity is adopted as a role (each receives a delegation certificate). The root is directly messageable like any identity.",{name:F.string().min(1).describe(`The person's name, e.g. "Vitalii Shakhmatov".`),bio:F.string().default("").describe("Free-text bio describing the person (carried in role invites)."),expose_local:F.boolean().default(!0).describe("Publish the root in the host-local contact book."),local_auto_accept:F.boolean().default(!0).describe("Auto-accept local contact-book introductions (false = they queue for approval)."),skip_if_root_exists:F.boolean().default(!1).describe('Installer seam: if a root already exists, do NOTHING (fail with "a root identity already exists") instead of adopting the name as a role. The ours-mcp create-root CLI sets this so re-runs stay idempotent; leave false for the interactive tool.')},async({name:s,bio:i,expose_local:a,local_auto_accept:c,skip_if_root_exists:u})=>{let l=va(s);if(l)return k(`create_root_identity failed: ${l}`,!0);if(u&&ie&&L.has(ie))return k(`create_root_identity failed: a root identity already exists ("${ie}") \u2014 one root per host. Nothing to do.`,!0);if(L.has(s))return k(`create_root_identity failed: an identity named "${s}" already exists.`,!0);let d=`
68
70
 
69
- Ask the user whether to enable this harness's live mail monitor for "${s}". Never enable monitoring without explicit consent.`;try{let p=await Op(s,{exposeLocal:a,localAutoAccept:c});i&&await B(async y=>{await M(p,"::a2a_messaging::set_my_bio",{bio:i},y)});let f=ie?L.get(ie):void 0;if(f&&f.name!==s)return await Jn(f,p),pa(t(),s),k(`A host root already exists ("${f.name}") \u2014 one root per host, so "${s}" (${p.cid}) was created as a ROLE under it instead and bound to this session.${d}`);let{adopted:m,failed:h}=await _v(p);pa(t(),s);let g=m.length>0?` Adopted ${m.length} existing identit${m.length===1?"y":"ies"} as role(s): ${m.join(", ")}.`:"",v=h.length>0?` FAILED to adopt: ${h.join(", ")} (see daemon log).`:"";return k(`Created root identity "${s}" (${p.cid}) and bound it to this session.${g}${v}${d}`)}catch(p){return k(`create_root_identity failed: ${String(p)}`,!0)}}),e.tool("define_local_identity_file","Write a `.ours-identity` workspace-pin file that ties a directory to an identity. The pin is ADVISORY: a future Claude Code session here is told about it and asks the user before binding (or creating) the identity \u2014 nothing is auto-triggered by the file alone. Use this instead of hand-writing the file. Because this daemon is shared and its CWD is not the user's project, you MUST pass an absolute `path` (the target directory, or the full path ending in .ours-identity). Refuses to overwrite unless overwrite=true.",{name:F.string().min(1).describe("Identity name the workspace belongs to."),path:F.string().min(1).describe("Absolute target: a directory (file is created inside it) or a full path ending in .ours-identity."),force:F.boolean().default(!1).describe("Once the user approves binding, eviction of another holder is pre-approved (no second confirmation)."),expose_local:F.boolean().default(!0).describe("Publish this identity in the host-local contact book."),local_auto_accept:F.boolean().default(!0).describe("Auto-accept local contact-book introductions (false = they queue for approval)."),overwrite:F.boolean().default(!1).describe("Replace an existing .ours-identity file.")},async({name:s,path:i,force:a,expose_local:c,local_auto_accept:u,overwrite:l})=>{if(!rI(i))return k(`define_local_identity_file failed: path must be absolute (got "${i}").`,!0);let d={name:s,force:a,exposeLocal:c,localAutoAccept:u};try{let p=ov(i,d,l),f=JSON.stringify(lp(d),null,2);return k(`Wrote ${p}:
70
- ${f}`)}catch(p){return k(`define_local_identity_file failed: ${String(p)}`,!0)}}),e.tool("choose_identity","Bind an existing identity to this session so the messaging tools act as it. Binding is exclusive: if the identity is already in use by another session, this is declined unless force=true, which evicts the other session. Never pass force=true on your own initiative \u2014 ask the user and get an explicit confirmation first.",{name:F.string().min(1).describe("Name of the identity to bind."),force:F.boolean().default(!1).describe("Evict another session that holds this identity.")},async({name:s,force:i})=>{if(!L.has(s))return k(`choose_identity failed: no identity named "${s}". Create it with create_identity.`,!0);let a=t(),c=it.get(a)?.token;if(!c)return k("choose_identity failed: this client is not connected through the ours connector (no lease token header). Launch ours via the connector (`ours-mcp proxy`).",!0);let u=Ee.get(s);if(u&&u.token!==c)if(!xp(u.pid))w(`auto-reclaiming "${s}" from dead client pid ${u.pid}`),Ee.delete(s);else if(i)va.add(u.token),Ee.delete(s);else return k(`choose_identity declined: "${s}" is currently bound to another live session. Do not retry with force=true on your own \u2014 tell the user it is in use elsewhere and ask whether to forcibly rebind it here; only retry with force=true after they explicitly confirm.`,!0);let l=[...Ee.values()].find(m=>m.token===c&&m.identity!==s)?.identity,d=l&&L.has(l);pa(a,s);let p=L.get(s),f=`Bound to identity "${s}" (${p.cid}).`;return d&&(f+=`
71
+ Ask the user whether to enable this harness's live mail monitor for "${s}". Never enable monitoring without explicit consent.`;try{let f=await Np(s,{exposeLocal:a,localAutoAccept:c});i&&await B(async y=>{await Z(f,"::a2a_messaging::set_my_bio",{bio:i},y)});let h=ie?L.get(ie):void 0;if(h&&h.name!==s)return await Kn(h,f),ma(t(),s),k(`A host root already exists ("${h.name}") \u2014 one root per host, so "${s}" (${f.cid}) was created as a ROLE under it instead and bound to this session.${d}`);let{adopted:p,failed:m}=await vv(f);ma(t(),s);let g=p.length>0?` Adopted ${p.length} existing identit${p.length===1?"y":"ies"} as role(s): ${p.join(", ")}.`:"",_=m.length>0?` FAILED to adopt: ${m.join(", ")} (see daemon log).`:"";return k(`Created root identity "${s}" (${f.cid}) and bound it to this session.${g}${_}${d}`)}catch(f){return k(`create_root_identity failed: ${String(f)}`,!0)}}),e.tool("define_local_identity_file","Write a `.ours-identity` workspace-pin file that ties a directory to an identity. The pin is ADVISORY: a future Claude Code session here is told about it and asks the user before binding (or creating) the identity \u2014 nothing is auto-triggered by the file alone. Use this instead of hand-writing the file. Because this daemon is shared and its CWD is not the user's project, you MUST pass an absolute `path` (the target directory, or the full path ending in .ours-identity). Refuses to overwrite unless overwrite=true.",{name:F.string().min(1).describe("Identity name the workspace belongs to."),path:F.string().min(1).describe("Absolute target: a directory (file is created inside it) or a full path ending in .ours-identity."),force:F.boolean().default(!1).describe("Once the user approves binding, eviction of another holder is pre-approved (no second confirmation)."),expose_local:F.boolean().default(!0).describe("Publish this identity in the host-local contact book."),local_auto_accept:F.boolean().default(!0).describe("Auto-accept local contact-book introductions (false = they queue for approval)."),overwrite:F.boolean().default(!1).describe("Replace an existing .ours-identity file.")},async({name:s,path:i,force:a,expose_local:c,local_auto_accept:u,overwrite:l})=>{if(!sI(i))return k(`define_local_identity_file failed: path must be absolute (got "${i}").`,!0);let d={name:s,force:a,exposeLocal:c,localAutoAccept:u};try{let f=sv(i,d,l),h=JSON.stringify(dp(d),null,2);return k(`Wrote ${f}:
72
+ ${h}`)}catch(f){return k(`define_local_identity_file failed: ${String(f)}`,!0)}}),e.tool("choose_identity","Bind an existing identity to this session so the messaging tools act as it. Binding is exclusive: if the identity is already in use by another session, this is declined unless force=true, which evicts the other session. Never pass force=true on your own initiative \u2014 ask the user and get an explicit confirmation first.",{name:F.string().min(1).describe("Name of the identity to bind."),force:F.boolean().default(!1).describe("Evict another session that holds this identity.")},async({name:s,force:i})=>{if(!L.has(s))return k(`choose_identity failed: no identity named "${s}". Create it with create_identity.`,!0);let a=t(),c=ct.get(a)?.token;if(!c)return k("choose_identity failed: this client is not connected through the ours connector (no lease token header). Launch ours via the connector (`ours-mcp proxy`).",!0);let u=Ie.get(s);if(u&&u.token!==c)if(!Sp(u.pid))$(`auto-reclaiming "${s}" from dead client pid ${u.pid}`),Ie.delete(s);else if(i)wa.add(u.token),Ie.delete(s);else return k(`choose_identity declined: "${s}" is currently bound to another live session. Do not retry with force=true on your own \u2014 tell the user it is in use elsewhere and ask whether to forcibly rebind it here; only retry with force=true after they explicitly confirm.`,!0);let l=[...Ie.values()].find(p=>p.token===c&&p.identity!==s)?.identity,d=l&&L.has(l);ma(a,s);let f=L.get(s),h=`Bound to identity "${s}" (${f.cid}).`;return d&&(h+=`
71
73
 
72
- Switched away from "${l}" \u2014 disable any live monitor previously armed for it.`),f+=`
74
+ Switched away from "${l}" \u2014 disable any live monitor previously armed for it.`),h+=`
73
75
 
74
- Ask the user whether to enable this harness's live mail monitor for "${s}". Never enable monitoring without explicit consent.`,k(f)}),e.tool("list_identities","List all identities hosted by this node (name + container id) as a hierarchy \u2014 the root identity first with its roles indented under it \u2014 marking which one is bound to this session and which are in use elsewhere.",{},async()=>{if(L.size===0)return k("No identities yet. Create a root with create_root_identity (or a flat identity with create_identity).");let s=t(),i=it.get(s)?.token,a=l=>{let d=Ee.get(l);return d?d.token===i?" \u2190 this session":xp(d.pid)?" (in use by another session)":"":""},c=ie?L.get(ie):void 0,u=[];if(c){u.push(`\u2605 ${c.name} \u2014 ${c.cid} (root)${a(c.name)}`);for(let l of L.values())l.name!==c.name&&yt(l).roleId!==""&&u.push(` \u2514 ${l.name} \u2014 ${l.cid} (role)${a(l.name)}`);for(let l of L.values())l.name===c.name||yt(l).roleId!==""||u.push(`\u2022 ${l.name} \u2014 ${l.cid} (flat, no delegation)${a(l.name)}`)}else{for(let l of L.values())u.push(`\u2022 ${l.name} \u2014 ${l.cid}${a(l.name)}`);u.push("(no root identity yet \u2014 create_root_identity establishes the hierarchy)")}return k(`Identities (${L.size}):
76
+ Ask the user whether to enable this harness's live mail monitor for "${s}". Never enable monitoring without explicit consent.`,k(h)}),e.tool("list_identities","List all identities hosted by this node (name + container id) as a hierarchy \u2014 the root identity first with its roles indented under it \u2014 marking which one is bound to this session and which are in use elsewhere.",{},async()=>{if(L.size===0)return k("No identities yet. Create a root with create_root_identity (or a flat identity with create_identity).");let s=t(),i=ct.get(s)?.token,a=l=>{let d=Ie.get(l);return d?d.token===i?" \u2190 this session":Sp(d.pid)?" (in use by another session)":"":""},c=ie?L.get(ie):void 0,u=[];if(c){u.push(`\u2605 ${c.name} \u2014 ${c.cid} (root)${a(c.name)}`);for(let l of L.values())l.name!==c.name&&_t(l).roleId!==""&&u.push(` \u2514 ${l.name} \u2014 ${l.cid} (role)${a(l.name)}`);for(let l of L.values())l.name===c.name||_t(l).roleId!==""||u.push(`\u2022 ${l.name} \u2014 ${l.cid} (flat, no delegation)${a(l.name)}`)}else{for(let l of L.values())u.push(`\u2022 ${l.name} \u2014 ${l.cid}${a(l.name)}`);u.push("(no root identity yet \u2014 create_root_identity establishes the hierarchy)")}return k(`Identities (${L.size}):
75
77
  ${u.join(`
76
- `)}`)}),e.tool("current_identity","Report the identity currently bound to this session (if any), including its place in the identity hierarchy.",{},async()=>{let s=wv(t());if("error"in s)return k(s.error);try{let i=yt(s.id),a=s.id.name===ie?" \u2014 the ROOT identity of this host":i.roleId!==""?` \u2014 role "${i.roleId}" under root "${i.rootName}"`:"",c=i.bio?`
78
+ `)}`)}),e.tool("current_identity","Report the identity currently bound to this session (if any), including its place in the identity hierarchy.",{},async()=>{let s=$v(t());if("error"in s)return k(s.error);try{let i=_t(s.id),a=s.id.name===ie?" \u2014 the ROOT identity of this host":i.roleId!==""?` \u2014 role "${i.roleId}" under root "${i.rootName}"`:"",c=i.bio?`
77
79
  Bio: ${i.bio}`:"",u=i.persona?`
78
- Persona: ${i.persona}`:"";return k(`Bound to "${s.id.name}" (${s.id.cid})${a}.${c}${u}`)}catch{return k(`Bound to "${s.id.name}" (${s.id.cid}).`)}}),e.tool("remove_identity","Permanently delete a persisted identity \u2014 its packet and all on-disk state. This cannot be undone.",{name:F.string().min(1).describe("Name of the identity to delete.")},async({name:s})=>{let i=L.get(s);if(!i)return k(`remove_identity failed: no identity named "${s}".`,!0);if(s===ie){let c=[...L.values()].filter(u=>u.name!==s&&yt(u).rootCid===i.cid);if(c.length>0)return k(`remove_identity failed: "${s}" is the root identity and still has ${c.length} role(s): ${c.map(u=>u.name).join(", ")}. Remove the roles first.`,!0)}let a=Dv(i);return a?k(`Identity "${s}" removed from memory, but ${a}`,!0):k(`Removed identity "${s}" and its state.`)}),e.resource("inbox","ours://inbox",{description:"Decrypted incoming messages for the bound identity \u2014 auto-notifies on new arrivals."},async()=>{let{id:s,err:i}=r(),a=s?Bv(s.name):"ours://inbox";if(i||!s)return{contents:[{uri:a,mimeType:"text/plain",text:"No identity bound to this session."}]};let c=He(l=>ma(Se(s,"::actor::list_incoming_messages",l))),u=c.length===0?"Inbox is empty.":`Inbox (${c.length}):
79
- ${c.map(l=>$v(l)).join(`
80
- `)}`;return{contents:[{uri:a,mimeType:"text/plain",text:u}]}}),e.tool("generate_invite","Generate an invite to share out-of-band with another agent. The invite carries your identity and display name. If you pass a name, whoever redeems the invite is registered under it; without a name, the redeemer is registered under the name they announce when accepting. Requires a bound identity.",{name:F.string().min(1).optional().describe('Optional name to register the peer who redeems this invite, e.g. "Bob". Omit to register them under their own name on acceptance.')},async({name:s})=>{let{id:i,err:a}=r();if(a)return a;try{let c={};s&&(c.name=s);let u=await B(async d=>{let p=await M(i,"::a2a_messaging::generate_invite",c,d);return Hv(Buffer.from(p.Reduce("invite").GetBinary()))}),l=s?`Invite for "${s}" created.`:"Invite created \u2014 the contact will be registered under the name the recipient announces when accepting.";return k(`${l} Share this blob out-of-band (they paste it into add_contact):
80
+ Persona: ${i.persona}`:"";return k(`Bound to "${s.id.name}" (${s.id.cid})${a}.${c}${u}`)}catch{return k(`Bound to "${s.id.name}" (${s.id.cid}).`)}}),e.tool("remove_identity","Permanently delete a persisted identity \u2014 its packet and all on-disk state. This cannot be undone.",{name:F.string().min(1).describe("Name of the identity to delete.")},async({name:s})=>{let i=L.get(s);if(!i)return k(`remove_identity failed: no identity named "${s}".`,!0);if(s===ie){let c=[...L.values()].filter(u=>u.name!==s&&_t(u).rootCid===i.cid);if(c.length>0)return k(`remove_identity failed: "${s}" is the root identity and still has ${c.length} role(s): ${c.map(u=>u.name).join(", ")}. Remove the roles first.`,!0)}let a=qv(i);return a?k(`Identity "${s}" removed from memory, but ${a}`,!0):k(`Removed identity "${s}" and its state.`)}),e.resource("inbox","ours://inbox",{description:"Decrypted incoming messages for the bound identity \u2014 auto-notifies on new arrivals."},async()=>{let{id:s,err:i}=r(),a=s?Hv(s.name):"ours://inbox";if(i||!s)return{contents:[{uri:a,mimeType:"text/plain",text:"No identity bound to this session."}]};let c=Je(l=>ga(Se(s,"::actor::list_incoming_messages",l))),u=c.length===0?"Inbox is empty.":`Inbox (${c.length}):
81
+ ${c.map(l=>xv(l)).join(`
82
+ `)}`;return{contents:[{uri:a,mimeType:"text/plain",text:u}]}}),e.tool("generate_invite","Generate an invite to share out-of-band with another agent. The invite carries your identity and display name. If you pass a name, whoever redeems the invite is registered under it; without a name, the redeemer is registered under the name they announce when accepting. Requires a bound identity.",{name:F.string().min(1).optional().describe('Optional name to register the peer who redeems this invite, e.g. "Bob". Omit to register them under their own name on acceptance.')},async({name:s})=>{let{id:i,err:a}=r();if(a)return a;try{let c={};s&&(c.name=s);let u=await B(async d=>{let f=await Z(i,"::a2a_messaging::generate_invite",c,d);return Gv(Buffer.from(f.Reduce("invite").GetBinary()))}),l=s?`Invite for "${s}" created.`:"Invite created \u2014 the contact will be registered under the name the recipient announces when accepting.";return k(`${l} Share this blob out-of-band (they paste it into add_contact):
81
83
 
82
- ${u}`)}catch(c){return k(`generate_invite failed: ${String(c)}`,!0)}}),e.tool("add_contact","Add a contact from an invite blob produced by another agent's generate_invite. If no name is given, the inviter's embedded display name is used. Also replies to the inviter so they register you back. Requires a bound identity.",{invite:F.string().min(1).describe("The base64 invite blob to redeem."),name:F.string().min(1).optional().describe("Optional custom name for the inviter; defaults to their own name.")},async({invite:s,name:i})=>{let{id:a,err:c}=r();if(c)return c;let u;try{if(u=pO(s),u.length===0)throw new Error("the invite blob is empty")}catch(l){return k(`add_contact failed: ${l instanceof Error?l.message:"the invite blob is not valid."}`,!0)}try{let l=await B(async d=>{let f={invite:a.pw.packet.NewBinaryFromBuffer(u).Attach(d)};i&&(f.name=i);let m=await M(a,"::a2a_messaging::add_contact",f,d),h=m.Reduce("container_id").Visualize(),g=m.Reduce("pending").Visualize(),v=m.Reduce("inviter_name").Visualize(),y=R=>!R||R==="%%NIL";return`Added contact "${y(g)?y(v)?h:v:g}" (${h}).`});return k(l)}catch(l){return k(`add_contact failed: ${String(l)}`,!0)}}),e.tool("list_contacts","List the contacts the bound identity knows about (name + container id), plus any pending local-contact-book introductions awaiting approval.",{},async()=>{let{id:s,err:i}=r();if(i)return i;try{let{contacts:a,pending:c,roots:u,degraded:l}=He(f=>({contacts:iO(Se(s,"::a2a_messaging::list_contacts",f)),pending:uO(Se(s,"::actor::list_pending_introductions",f)),roots:lO(Se(s,"::a2a_messaging::list_contact_roots",f)),degraded:HI(Se(s,"::a2a_messaging::list_degraded_contacts",f))})),d=new Map(l.map(f=>[f.cid,f])),p=[];return p.push(a.length===0?"No contacts yet.":`Contacts (${a.length}):
83
- ${a.map(f=>`\u2022 ${f.name} \u2014 ${f.container_id}${dO(u[f.container_id])}${d.has(f.container_id)?` \u2014 \u26A0 keys pending restore (${d.get(f.container_id).queued} queued)`:""}`).join(`
84
- `)}`),c.length>0&&p.push(`Pending local introductions (${c.length}) \u2014 approve/reject with respond_to_introduction:
85
- `+c.map(f=>`\u2022 ${f.name} \u2014 ${f.container_id} (${f.queued} queued message${f.queued===1?"":"s"})`).join(`
86
- `)),k(p.join(`
84
+ ${u}`)}catch(c){return k(`generate_invite failed: ${String(c)}`,!0)}}),e.tool("add_contact","Add a contact from an invite blob produced by another agent's generate_invite. If no name is given, the inviter's embedded display name is used. Also replies to the inviter so they register you back. Requires a bound identity.",{invite:F.string().min(1).describe("The base64 invite blob to redeem."),name:F.string().min(1).optional().describe("Optional custom name for the inviter; defaults to their own name.")},async({invite:s,name:i})=>{let{id:a,err:c}=r();if(c)return c;let u;try{if(u=hO(s),u.length===0)throw new Error("the invite blob is empty")}catch(l){return k(`add_contact failed: ${l instanceof Error?l.message:"the invite blob is not valid."}`,!0)}try{let l=await B(async d=>{let h={invite:a.pw.packet.NewBinaryFromBuffer(u).Attach(d)};i&&(h.name=i);let p=await Z(a,"::a2a_messaging::add_contact",h,d),m=p.Reduce("container_id").Visualize(),g=p.Reduce("pending").Visualize(),_=p.Reduce("inviter_name").Visualize(),y=z=>!z||z==="%%NIL";return`Added contact "${y(g)?y(_)?m:_:g}" (${m}).`});return k(l)}catch(l){return k(`add_contact failed: ${String(l)}`,!0)}}),e.tool("list_contacts","List the contacts the bound identity knows about (name + container id), plus any pending local-contact-book introductions awaiting approval.",{},async()=>{let{id:s,err:i}=r();if(i)return i;try{let{contacts:a,pending:c,roots:u,degraded:l}=Je(h=>({contacts:uO(Se(s,"::a2a_messaging::list_contacts",h)),pending:pO(Se(s,"::actor::list_pending_introductions",h)),roots:fO(Se(s,"::a2a_messaging::list_contact_roots",h)),degraded:KI(Se(s,"::a2a_messaging::list_degraded_contacts",h))})),d=new Map(l.map(h=>[h.cid,h])),f=[];return f.push(a.length===0?"No contacts yet.":`Contacts (${a.length}):
85
+ ${a.map(h=>`\u2022 ${h.name} \u2014 ${h.container_id}${mO(u[h.container_id])}${d.has(h.container_id)?` \u2014 \u26A0 keys pending restore (${d.get(h.container_id).queued} queued)`:""}`).join(`
86
+ `)}`),c.length>0&&f.push(`Pending local introductions (${c.length}) \u2014 approve/reject with respond_to_introduction:
87
+ `+c.map(h=>`\u2022 ${h.name} \u2014 ${h.container_id} (${h.queued} queued message${h.queued===1?"":"s"})`).join(`
88
+ `)),k(f.join(`
87
89
 
88
- `))}catch(a){return k(`list_contacts failed: ${String(a)}`,!0)}}),e.tool("list_local_contact_book","List the host-local contact book: identities on THIS host that are exposed for inviteless connection. Any of them can be messaged directly with send_message.",{},async()=>{let s=Object.values(ba());if(s.length===0)return k("The local contact book is empty.");let i=t(),a=it.get(i)?.token,c=a?Pv(a)?.identity:void 0,u=s.map(l=>{let d=l.name===c?" \u2190 this session":"";return`\u2022 ${l.name} \u2014 ${l.container_id} (published ${l.published_at})${d}`});return k(`Local contact book (${s.length}):
90
+ `))}catch(a){return k(`list_contacts failed: ${String(a)}`,!0)}}),e.tool("list_local_contact_book","List the host-local contact book: identities on THIS host that are exposed for inviteless connection. Any of them can be messaged directly with send_message.",{},async()=>{let s=Object.values($a());if(s.length===0)return k("The local contact book is empty.");let i=t(),a=ct.get(i)?.token,c=a?Iv(a)?.identity:void 0,u=s.map(l=>{let d=l.name===c?" \u2190 this session":"";return`\u2022 ${l.name} \u2014 ${l.container_id} (published ${l.published_at})${d}`});return k(`Local contact book (${s.length}):
89
91
  ${u.join(`
90
- `)}`)}),e.tool("set_local_book_policy","Change the bound identity's local-contact-book settings: expose (publish/unpublish it in the book) and/or auto_accept (whether local introductions are accepted automatically or queue for approval).",{expose:F.boolean().optional().describe("Publish (true) or remove (false) this identity in the local contact book."),auto_accept:F.boolean().optional().describe("Auto-accept local introductions (false = queue them for approval).")},async({expose:s,auto_accept:i})=>{let{id:a,err:c}=r();if(c)return c;if(s===void 0&&i===void 0)return k("set_local_book_policy: pass expose and/or auto_accept.",!0);let u=[];try{return i!==void 0&&(await B(async l=>{await M(a,"::actor::set_local_policy",{auto_accept:i},l)}),u.push(`auto_accept=${i}`)),s===!0?(await Av(a),u.push("published in the local contact book")):s===!1&&(Cv(a.name),u.push("removed from the local contact book")),k(`Updated "${a.name}": ${u.join("; ")}.`)}catch(l){return k(`set_local_book_policy failed: ${String(l)}`,!0)}}),e.tool("set_bio","Set the bound identity's profile bio (free text). For a role, the bio is embedded in the invites it generates. For the root identity, the refreshed profile is re-pinned into every role so future role invites carry the update.",{bio:F.string().describe("The new bio text (empty string clears it).")},async({bio:s})=>{let{id:i,err:a}=r();if(a)return a;try{await B(async l=>{await M(i,"::a2a_messaging::set_my_bio",{bio:s},l)});let c=0;if(i.name===ie){for(let l of L.values())if(l.name!==i.name&&yt(l).rootCid===i.cid)try{await Jn(i,l),c+=1}catch(d){w(`failed to refresh root profile in role "${l.name}":`,String(d))}}let u=c>0?` Root profile refreshed in ${c} role(s).`:"";return k(`Updated the bio of "${i.name}".${u}`)}catch(c){return k(`set_bio failed: ${String(c)}`,!0)}}),e.tool("advertise_migrate","Enable the e2e-migration capability (core.e2e.migrate) at runtime on the bound identity and proactively offer migration to every already-known eligible e2e contact. This is the staged-advertise trigger: an identity booted WITHOUT the migrate cap (so it forms a plain e2e session first) calls this to start the SAME migrations a default-cap boot would \u2014 closing the already-e2e-pair gap where a pinned pair with no inbound traffic would otherwise never migrate. Idempotent: re-enabling is a no-op for the cap, and the offer election stays fail-closed. Returns how many migration offers were initiated.",{},async()=>{let{id:s,err:i}=r();if(i)return i;try{let{wasAdvertising:a,advertising:c,offers:u}=await B(async d=>{let p=await M(s,"::a2a_messaging::advertise_migrate",{},d);return{wasAdvertising:p.Reduce("was_advertising").Visualize()==="true",advertising:p.Reduce("advertising").Visualize()==="true",offers:parseInt(p.Reduce("offers_initiated").Visualize(),10)||0}});return k(`advertise_migrate: core.e2e.migrate ${c?"advertised":"NOT advertised"}${a?" (already advertising \u2014 cap unchanged)":""}; ${u} migration offer(s) initiated to eligible e2e contact(s).`)}catch(a){return k(`advertise_migrate failed: ${String(a)}`,!0)}}),e.tool("set_persona","Set the bound identity's local operating contract (persona, free text). The persona is how the agent behaves when it adopts this identity; it is NEVER shared via invites \u2014 only via the control-plane cluster registry. An agent must ask the user before adopting a persona. Empty string clears it.",{persona:F.string().describe("The new persona text (empty string clears it).")},async({persona:s})=>{let{id:i,err:a}=r();if(a)return a;try{return await B(async c=>{await M(i,"::a2a_messaging::set_my_persona",{persona:s},c)}),k(`Updated the persona of "${i.name}".`)}catch(c){return k(`set_persona failed: ${String(c)}`,!0)}}),e.tool("respond_to_introduction","Approve or reject a pending local-contact-book introduction (see list_contacts for the pending list). Approving registers the contact and delivers any messages it queued while waiting; rejecting drops the introduction and its queue.",{contact:F.string().min(1).describe("Pending introduction to act on (name or container id)."),action:F.enum(["approve","reject"]).describe("approve or reject.")},async({contact:s,action:i})=>{let{id:a,err:c}=r();if(c)return c;try{if(i==="approve"){let l=await B(async d=>{let p=await M(a,"::actor::approve_introduction",{contact:s},d),f=p.Reduce("approved").Visualize(),m=p.Reduce("container_id").Visualize(),h=p.Reduce("flushed").Visualize();return`Approved "${f}" (${m}) \u2014 now a contact. ${h} queued message(s) moved to the inbox (read them with get_messages).`});return en(a),k(l)}let u=await B(async l=>{let d=await M(a,"::actor::reject_introduction",{contact:s},l),p=d.Reduce("rejected").Visualize(),f=d.Reduce("dropped_messages").Visualize();return`Rejected the introduction from "${p}" and dropped ${f} queued message(s).`});return k(u)}catch(u){return k(`respond_to_introduction failed: ${String(u)}`,!0)}});let n=s=>{let i=u=>!s.Reduce(u).IsNil(),a=s.Reduce("wire_id").Visualize(),c=i("sent_to")?s.Reduce("sent_to").Visualize():"";if(i("downgrade_refused"))return{kind:"refused",wireId:a,cid:c};if(i("migrating"))return{kind:"migrating",wireId:a,cid:c,queued:i("queued")?Number(s.Reduce("queued").Visualize()):0};if(i("route")){let u=i("retained")&&!s.Reduce("retained").GetBoolean();return{kind:"e2e",wireId:a,cid:c,notRetained:u}}return i("deferred")?{kind:"deferred",wireId:a,queued:i("queued")?Number(s.Reduce("queued").Visualize()):0}:{kind:"sent",wireId:a}};e.tool("send_message","Send an end-to-end-encrypted message to a known contact (by name or container id). If the recipient is not a contact yet, the connection is established automatically when possible: an intra-root sibling (a role under the same root) connects via its delegation cert, and an identity published in the host-local contact book connects via a registrar introduction \u2014 either way the message is delivered with the introduction, no invite needed. To reply to a specific message, pass reply_to_wire_id (the wire_id from get_messages) and optionally reply_to_sentence (1-based index of the sentence you are answering). Requires a bound identity.",{contact:F.string().min(1).describe("Contact name or container id to send to."),text:F.string().min(1).describe("The message text."),reply_to_wire_id:F.string().optional().describe("wire_id (from get_messages) of the message this replies to."),reply_to_sentence:F.number().int().positive().optional().describe("Optional 1-based sentence index in the replied-to message.")},async({contact:s,text:i,reply_to_wire_id:a,reply_to_sentence:c})=>{let{id:u,err:l}=r();if(l)return l;let d=a?c!==void 0?{wire_id:a,sentence:c}:{wire_id:a}:void 0;try{let p=await B(async f=>n(await M(u,"::a2a_messaging::send_message",{contact:s,text:i,...d?{reply_to:d}:{}},f)));switch(p.kind){case"refused":return w(`[e2e-route] refused cid=${p.cid} wire_id=${p.wireId} (downgrade_refused)`),k(`Couldn't send to "${s}" (wire_id ${p.wireId}): their end-to-end encryption must be re-established after an upgrade before messages can go through. It was NOT sent and NOT downgraded to the old channel \u2014 the system re-offers the upgrade automatically; try again shortly.`,!0);case"migrating":return w(`[migration] queued cid=${p.cid} wire_id=${p.wireId} (migrating, ${p.queued} queued)`),k(`Message queued for "${s}" (wire_id ${p.wireId}) \u2014 an encryption upgrade is completing; it will send automatically the moment the migration goes active (${p.queued} message${p.queued===1?"":"s"} queued).`);case"e2e":return w(`[e2e-route] cid=${p.cid} wire_id=${p.wireId} verdict=e2e (core delivered over migrated session)${p.notRetained?" NOT RETAINED (oversized)":""}`),p.notRetained?(me(u,{event:"send_not_retained",wire_id:p.wireId,kind:"message"}),k(`Message sent to "${s}" over the end-to-end session (wire_id ${p.wireId}) \u2014 WARNING: the message body exceeds the redrive budget, so it is NOT retained for automatic resend. If the recipient loses its session, this message will NOT re-deliver automatically \u2014 confirm receipt or resend once the contact is confirmed back.`)):k(`Message sent to "${s}" over the upgraded end-to-end session (wire_id ${p.wireId}).`);case"deferred":return k(`Message queued for "${s}" (wire_id ${p.wireId}) \u2014 the contact's encryption keys are being re-established after an upgrade (contact restore in progress); delivery is automatic once restored (${p.queued} message${p.queued===1?"":"s"} queued).`);default:return k(`Message sent to "${s}" (wire_id ${p.wireId}).`)}}catch(p){if(!/Unknown contact/.test(String(p)))return k(`send_message failed: ${String(p)}`,!0);try{let f=kI(u,s),m=f?await RI(u,f,i):await zI(u,s,i);return k(m)}catch(f){return k(`send_message failed: ${String(f)}`,!0)}}}),e.tool("send_file","Send a file to a known contact (by name or container id). Provide EITHER `path` (the server reads the file from disk) OR `data_base64` + `filename` (inline bytes). Files and text are distinct messages \u2014 to caption a file, also send_message. Requires a bound identity.",{contact:F.string().min(1).describe("Contact name or container id to send to."),path:F.string().min(1).optional().describe("Filesystem path to the file to send (preferred)."),data_base64:F.string().min(1).optional().describe("Inline file bytes, base64-encoded (alternative to path)."),filename:F.string().min(1).optional().describe("Filename to advertise (required with data_base64; defaults to basename of path)."),mime:F.string().optional().describe("MIME type (inferred from the path extension when omitted)."),reply_to_wire_id:F.string().optional().describe("wire_id (from get_messages/get_files) this file replies to."),reply_to_sentence:F.number().int().positive().optional().describe("Optional 1-based sentence index in the replied-to item.")},async({contact:s,path:i,data_base64:a,filename:c,mime:u,reply_to_wire_id:l,reply_to_sentence:d})=>{let{id:p,err:f}=r();if(f)return f;if((i?1:0)+(a?1:0)!=1)return k("send_file: provide exactly one of `path` or `data_base64`.",!0);let m,h;try{if(i)m=await lI(i),h=c??nI(i);else{if(!c)return k("send_file: `filename` is required with `data_base64`.",!0);m=Buffer.from(a,"base64"),h=c}}catch(y){return k(`send_file: cannot read file: ${String(y)}`,!0)}let g=u??(i?sv(i):""),v=l?d!==void 0?{wire_id:l,sentence:d}:{wire_id:l}:void 0;try{let y=await B(async R=>{let Z=p.pw.packet.NewBinaryFromBuffer(m).Attach(R);return n(await M(p,"::a2a_messaging::send_file",{contact:s,filename:h,mime:g,data:Z,...v?{reply_to:v}:{}},R))}),$=`File "${h}" (${m.length} B${g?`, ${g}`:""})`;switch(y.kind){case"refused":return w(`[e2e-route] refused cid=${y.cid} wire_id=${y.wireId} (downgrade_refused, file)`),k(`Couldn't send ${$} to "${s}" (wire_id ${y.wireId}): their end-to-end encryption must be re-established after an upgrade first. It was NOT sent and NOT downgraded; the system re-offers the upgrade automatically \u2014 try again shortly.`,!0);case"migrating":return w(`[migration] file-defer cid=${y.cid} wire_id=${y.wireId} (migrating, not queued)`),k(`${$} not sent to "${s}" yet \u2014 an encryption upgrade is completing; retry the file once the migration goes active (files aren't auto-queued like messages).`,!0);case"e2e":return w(`[e2e-route] cid=${y.cid} wire_id=${y.wireId} verdict=e2e file (core delivered over migrated session)${y.notRetained?" NOT RETAINED (oversized)":""}`),y.notRetained?(me(p,{event:"send_not_retained",wire_id:y.wireId,kind:"file"}),k(`${$} sent to "${s}" over the end-to-end session (wire_id ${y.wireId}) \u2014 WARNING: the file exceeds the 2 MiB redrive budget, so it is NOT retained for automatic resend. If the recipient loses its session (e.g. it was mid-restart), this file will NOT re-deliver automatically \u2014 confirm receipt or resend it once the contact is confirmed back.`)):k(`${$} sent to "${s}" over the upgraded end-to-end session (wire_id ${y.wireId}).`);default:return k(`${$} sent to "${s}" (wire_id ${y.wireId}).`)}}catch(y){return k(`send_file failed: ${String(y)}`,!0)}}),e.tool("remove_contact","Forget a contact (by name or container id) \u2014 drops it from the bound identity's contacts, so you can no longer message them and inbound messages from them are rejected. This is a contacts-layer forget, NOT a key wipe: the per-peer channel key material persists, so re-adding the same peer reuses the existing encrypted channel rather than re-handshaking. Note: if the removed peer is still published in the host-local contact book, a later send_message to it will reconnect through the book. Requires a bound identity.",{contact:F.string().min(1).describe("Contact name or container id to remove.")},async({contact:s})=>{let{id:i,err:a}=r();if(a)return a;try{let c=await B(async u=>{let l=await M(i,"::a2a_messaging::remove_contact",{contact:s},u),d=l.Reduce("removed").Visualize(),p=l.Reduce("container_id").Visualize();return`Removed contact "${d}" (${p}).`});return k(c)}catch(c){return k(`remove_contact failed: ${String(c)}`,!0)}}),e.tool("list_incoming_messages","List ALL messages in the bound identity's inbox (decrypted), each with its id and status (unread/read). A read-only history view \u2014 it does not change any status. To consume new mail use get_messages instead.",{},async()=>{let{id:s,err:i}=r();if(i)return i;try{let a=He(u=>ma(Se(s,"::actor::list_incoming_messages",u)));if(a.length===0)return k("Inbox is empty.");let c=a.filter(u=>u.status==="unread").length;return k(`Inbox (${a.length}, ${c} unread):
91
- ${a.map(u=>$v(u)).join(`
92
- `)}`)}catch(a){return k(`list_incoming_messages failed: ${String(a)}`,!0)}}),e.tool("get_messages",`Fetch the messages the bound identity has not seen yet (status "unread") and mark them "processed". This is the ONLY call that returns message bodies, and each message is delivered exactly once, so reading and acting on it immediately never double-processes \u2014 no acknowledgement call is needed. If you read a message but crash or want to hand it to another session before acting, call defer_messages to put it back to "unread"; otherwise handled messages are garbage-collected automatically. Returns ALWAYS-JSON: { count, messages: [{ msg_id, wire_id, from:{id,name}, encryption ("legacy" for a legacy box | "e2e" for the double-ratchet path), transport, text, date, status, reply_to }] } \u2014 so you can tell HOW each message arrived (ask the agent "how did you receive this"). Pass a message's wire_id as reply_to_wire_id in send_message to reply to it specifically.`,{},async()=>{let{id:s,err:i}=r();if(i)return i;try{let a=await B(async l=>{let d=await M(s,"::actor::get_messages",{},l);return ma(d.Reduce("messages"))});en(s);let c=WI(s),u=cv(a,c);return k(JSON.stringify(u,null,2))}catch(a){return k(`get_messages failed: ${String(a)}`,!0)}}),e.tool("defer_messages",`Put handled messages back into the queue (status "unread") so another session's get_messages picks them up. Works on messages you have read (status "processed") and even ones already queued for GC ("ready_to_delete"), so a message stays recoverable across a full GC cycle.`,{msg_ids:F.array(F.number().int()).min(1).describe("Message ids (from get_messages) to defer back to unread.")},async({msg_ids:s})=>{let{id:i,err:a}=r();if(a)return a;try{let c=await B(async u=>(await M(i,"::actor::defer_messages",{msg_ids:s},u)).Reduce("deferred").Visualize());return en(i),k(`Deferred ${c} message(s) back to unread.`)}catch(c){return k(`defer_messages failed: ${String(c)}`,!0)}}),e.tool("list_incoming_files","List received files (metadata only \u2014 does not retrieve bytes or change status). Use get_files to pull the bytes to disk. Requires a bound identity.",{},async()=>{let{id:s,err:i}=r();if(i)return i;try{let a=He(c=>aO(Se(s,"::actor::list_incoming_files",c)));return k(a)}catch(a){return k(`list_incoming_files failed: ${String(a)}`,!0)}}),e.tool("get_files",'Retrieve received files that have not been pulled yet: writes each to disk under the identity state dir and returns its path + metadata. Flips them to "processed" \u2014 the sole place file bytes leave the packet. Requires a bound identity.',{},async()=>{let{id:s,err:i}=r();if(i)return i;try{let a=await B(async c=>{let u=await M(s,"::actor::get_files",{},c);return await cO(s,u.Reduce("files"))});return en(s),k(a)}catch(a){return k(`get_files failed: ${String(a)}`,!0)}});let o=()=>{let s=ie?L.get(ie):void 0;return s?{root:s}:{err:k("No root identity exists on this host \u2014 create one with create_root_identity first.",!0)}};return e.tool("bind_monitoring_proxy","Start binding a browser (messenger) account as this host's monitoring & control proxy. PREREQUISITE: the browser account must already be a contact of the ROOT identity (invite exchange). This generates a 6-digit code (5-minute expiry, 3 attempts) bound to that contact and shows it HERE \u2014 read it to the user, who enters it in the messenger's Control Panel. On a successful code verification the contact becomes the monitoring proxy: it receives the monitoring feed and may manage agents (create, edit bios, toggle monitoring, request invites) through the root.",{contact:F.string().min(1).describe("The root's contact (name or container id) to bind as the proxy.")},async({contact:s})=>{let{root:i,err:a}=o();if(a)return a;try{let c=String(zv(0,1e6)).padStart(6,"0"),u=await B(async l=>(await M(i,"::a2a_messaging::set_proxy_pending",{code:c,proxy:s},l)).Reduce("proxy_cid").Visualize());return k(`Proxy binding started for contact "${s}" (${u}).
92
+ `)}`)}),e.tool("set_local_book_policy","Change the bound identity's local-contact-book settings: expose (publish/unpublish it in the book) and/or auto_accept (whether local introductions are accepted automatically or queue for approval).",{expose:F.boolean().optional().describe("Publish (true) or remove (false) this identity in the local contact book."),auto_accept:F.boolean().optional().describe("Auto-accept local introductions (false = queue them for approval).")},async({expose:s,auto_accept:i})=>{let{id:a,err:c}=r();if(c)return c;if(s===void 0&&i===void 0)return k("set_local_book_policy: pass expose and/or auto_accept.",!0);let u=[];try{return i!==void 0&&(await B(async l=>{await Z(a,"::actor::set_local_policy",{auto_accept:i},l)}),u.push(`auto_accept=${i}`)),s===!0?(await Cv(a),u.push("published in the local contact book")):s===!1&&(jv(a.name),u.push("removed from the local contact book")),k(`Updated "${a.name}": ${u.join("; ")}.`)}catch(l){return k(`set_local_book_policy failed: ${String(l)}`,!0)}}),e.tool("set_bio","Set the bound identity's profile bio (free text). For a role, the bio is embedded in the invites it generates. For the root identity, the refreshed profile is re-pinned into every role so future role invites carry the update.",{bio:F.string().describe("The new bio text (empty string clears it).")},async({bio:s})=>{let{id:i,err:a}=r();if(a)return a;try{await B(async l=>{await Z(i,"::a2a_messaging::set_my_bio",{bio:s},l)});let c=0;if(i.name===ie){for(let l of L.values())if(l.name!==i.name&&_t(l).rootCid===i.cid)try{await Kn(i,l),c+=1}catch(d){$(`failed to refresh root profile in role "${l.name}":`,String(d))}}let u=c>0?` Root profile refreshed in ${c} role(s).`:"";return k(`Updated the bio of "${i.name}".${u}`)}catch(c){return k(`set_bio failed: ${String(c)}`,!0)}}),e.tool("advertise_migrate","Enable the e2e-migration capability (core.e2e.migrate) at runtime on the bound identity and proactively offer migration to every already-known eligible e2e contact. This is the staged-advertise trigger: an identity booted WITHOUT the migrate cap (so it forms a plain e2e session first) calls this to start the SAME migrations a default-cap boot would \u2014 closing the already-e2e-pair gap where a pinned pair with no inbound traffic would otherwise never migrate. Idempotent: re-enabling is a no-op for the cap, and the offer election stays fail-closed. Returns how many migration offers were initiated.",{},async()=>{let{id:s,err:i}=r();if(i)return i;try{let{wasAdvertising:a,advertising:c,offers:u}=await B(async d=>{let f=await Z(s,"::a2a_messaging::advertise_migrate",{},d);return{wasAdvertising:f.Reduce("was_advertising").Visualize()==="true",advertising:f.Reduce("advertising").Visualize()==="true",offers:parseInt(f.Reduce("offers_initiated").Visualize(),10)||0}});return k(`advertise_migrate: core.e2e.migrate ${c?"advertised":"NOT advertised"}${a?" (already advertising \u2014 cap unchanged)":""}; ${u} migration offer(s) initiated to eligible e2e contact(s).`)}catch(a){return k(`advertise_migrate failed: ${String(a)}`,!0)}}),e.tool("set_persona","Set the bound identity's local operating contract (persona, free text). The persona is how the agent behaves when it adopts this identity; it is NEVER shared via invites \u2014 only via the control-plane cluster registry. An agent must ask the user before adopting a persona. Empty string clears it.",{persona:F.string().describe("The new persona text (empty string clears it).")},async({persona:s})=>{let{id:i,err:a}=r();if(a)return a;try{return await B(async c=>{await Z(i,"::a2a_messaging::set_my_persona",{persona:s},c)}),k(`Updated the persona of "${i.name}".`)}catch(c){return k(`set_persona failed: ${String(c)}`,!0)}}),e.tool("respond_to_introduction","Approve or reject a pending local-contact-book introduction (see list_contacts for the pending list). Approving registers the contact and delivers any messages it queued while waiting; rejecting drops the introduction and its queue.",{contact:F.string().min(1).describe("Pending introduction to act on (name or container id)."),action:F.enum(["approve","reject"]).describe("approve or reject.")},async({contact:s,action:i})=>{let{id:a,err:c}=r();if(c)return c;try{if(i==="approve"){let l=await B(async d=>{let f=await Z(a,"::actor::approve_introduction",{contact:s},d),h=f.Reduce("approved").Visualize(),p=f.Reduce("container_id").Visualize(),m=f.Reduce("flushed").Visualize();return`Approved "${h}" (${p}) \u2014 now a contact. ${m} queued message(s) moved to the inbox (read them with get_messages).`});return rn(a),k(l)}let u=await B(async l=>{let d=await Z(a,"::actor::reject_introduction",{contact:s},l),f=d.Reduce("rejected").Visualize(),h=d.Reduce("dropped_messages").Visualize();return`Rejected the introduction from "${f}" and dropped ${h} queued message(s).`});return k(u)}catch(u){return k(`respond_to_introduction failed: ${String(u)}`,!0)}});let n=s=>{let i=u=>!s.Reduce(u).IsNil(),a=s.Reduce("wire_id").Visualize(),c=i("sent_to")?s.Reduce("sent_to").Visualize():"";if(i("downgrade_refused"))return{kind:"refused",wireId:a,cid:c};if(i("migrating"))return{kind:"migrating",wireId:a,cid:c,queued:i("queued")?Number(s.Reduce("queued").Visualize()):0};if(i("route")){let u=i("retained")&&!s.Reduce("retained").GetBoolean();return{kind:"e2e",wireId:a,cid:c,notRetained:u}}return i("deferred")?{kind:"deferred",wireId:a,queued:i("queued")?Number(s.Reduce("queued").Visualize()):0}:{kind:"sent",wireId:a}};e.tool("send_message","Send an end-to-end-encrypted message to a known contact (by name or container id). If the recipient is not a contact yet, the connection is established automatically when possible: an intra-root sibling (a role under the same root) connects via its delegation cert, and an identity published in the host-local contact book connects via a registrar introduction \u2014 either way the message is delivered with the introduction, no invite needed. To reply to a specific message, pass reply_to_wire_id (the wire_id from get_messages) and optionally reply_to_sentence (1-based index of the sentence you are answering). Requires a bound identity.",{contact:F.string().min(1).describe("Contact name or container id to send to."),text:F.string().min(1).describe("The message text."),reply_to_wire_id:F.string().optional().describe("wire_id (from get_messages) of the message this replies to."),reply_to_sentence:F.number().int().positive().optional().describe("Optional 1-based sentence index in the replied-to message.")},async({contact:s,text:i,reply_to_wire_id:a,reply_to_sentence:c})=>{let{id:u,err:l}=r();if(l)return l;let d=a?c!==void 0?{wire_id:a,sentence:c}:{wire_id:a}:void 0;try{let f=await B(async h=>n(await Z(u,"::a2a_messaging::send_message",{contact:s,text:i,...d?{reply_to:d}:{}},h)));switch(f.kind){case"refused":return $(`[e2e-route] refused cid=${f.cid} wire_id=${f.wireId} (downgrade_refused)`),k(`Couldn't send to "${s}" (wire_id ${f.wireId}): their end-to-end encryption must be re-established after an upgrade before messages can go through. It was NOT sent and NOT downgraded to the old channel \u2014 the system re-offers the upgrade automatically; try again shortly.`,!0);case"migrating":return $(`[migration] queued cid=${f.cid} wire_id=${f.wireId} (migrating, ${f.queued} queued)`),k(`Message queued for "${s}" (wire_id ${f.wireId}) \u2014 an encryption upgrade is completing; it will send automatically the moment the migration goes active (${f.queued} message${f.queued===1?"":"s"} queued).`);case"e2e":return $(`[e2e-route] cid=${f.cid} wire_id=${f.wireId} verdict=e2e (core delivered over migrated session)${f.notRetained?" NOT RETAINED (oversized)":""}`),f.notRetained?(me(u,{event:"send_not_retained",wire_id:f.wireId,kind:"message"}),k(`Message sent to "${s}" over the end-to-end session (wire_id ${f.wireId}) \u2014 WARNING: the message body exceeds the redrive budget, so it is NOT retained for automatic resend. If the recipient loses its session, this message will NOT re-deliver automatically \u2014 confirm receipt or resend once the contact is confirmed back.`)):k(`Message sent to "${s}" over the upgraded end-to-end session (wire_id ${f.wireId}).`);case"deferred":return k(`Message queued for "${s}" (wire_id ${f.wireId}) \u2014 the contact's encryption keys are being re-established after an upgrade (contact restore in progress); delivery is automatic once restored (${f.queued} message${f.queued===1?"":"s"} queued).`);default:return k(`Message sent to "${s}" (wire_id ${f.wireId}).`)}}catch(f){if(!/Unknown contact/.test(String(f)))return k(`send_message failed: ${String(f)}`,!0);try{let h=zI(u,s),p=h?await EI(u,h,i):await PI(u,s,i);return k(p)}catch(h){return k(`send_message failed: ${String(h)}`,!0)}}}),e.tool("send_file","Send a file to a known contact (by name or container id). Provide EITHER `path` (the server reads the file from disk) OR `data_base64` + `filename` (inline bytes). Files and text are distinct messages \u2014 to caption a file, also send_message. Requires a bound identity.",{contact:F.string().min(1).describe("Contact name or container id to send to."),path:F.string().min(1).optional().describe("Filesystem path to the file to send (preferred)."),data_base64:F.string().min(1).optional().describe("Inline file bytes, base64-encoded (alternative to path)."),filename:F.string().min(1).optional().describe("Filename to advertise (required with data_base64; defaults to basename of path)."),mime:F.string().optional().describe("MIME type (inferred from the path extension when omitted)."),reply_to_wire_id:F.string().optional().describe("wire_id (from get_messages/get_files) this file replies to."),reply_to_sentence:F.number().int().positive().optional().describe("Optional 1-based sentence index in the replied-to item.")},async({contact:s,path:i,data_base64:a,filename:c,mime:u,reply_to_wire_id:l,reply_to_sentence:d})=>{let{id:f,err:h}=r();if(h)return h;if((i?1:0)+(a?1:0)!=1)return k("send_file: provide exactly one of `path` or `data_base64`.",!0);let p,m;try{if(i)p=await fI(i),m=c??iI(i);else{if(!c)return k("send_file: `filename` is required with `data_base64`.",!0);p=Buffer.from(a,"base64"),m=c}}catch(y){return k(`send_file: cannot read file: ${String(y)}`,!0)}let g=u??(i?iv(i):""),_=l?d!==void 0?{wire_id:l,sentence:d}:{wire_id:l}:void 0;try{let y=await B(async z=>{let j=f.pw.packet.NewBinaryFromBuffer(p).Attach(z);return n(await Z(f,"::a2a_messaging::send_file",{contact:s,filename:m,mime:g,data:j,..._?{reply_to:_}:{}},z))}),w=`File "${m}" (${p.length} B${g?`, ${g}`:""})`;switch(y.kind){case"refused":return $(`[e2e-route] refused cid=${y.cid} wire_id=${y.wireId} (downgrade_refused, file)`),k(`Couldn't send ${w} to "${s}" (wire_id ${y.wireId}): their end-to-end encryption must be re-established after an upgrade first. It was NOT sent and NOT downgraded; the system re-offers the upgrade automatically \u2014 try again shortly.`,!0);case"migrating":return $(`[migration] file-defer cid=${y.cid} wire_id=${y.wireId} (migrating, not queued)`),k(`${w} not sent to "${s}" yet \u2014 an encryption upgrade is completing; retry the file once the migration goes active (files aren't auto-queued like messages).`,!0);case"e2e":return $(`[e2e-route] cid=${y.cid} wire_id=${y.wireId} verdict=e2e file (core delivered over migrated session)${y.notRetained?" NOT RETAINED (oversized)":""}`),y.notRetained?(me(f,{event:"send_not_retained",wire_id:y.wireId,kind:"file"}),k(`${w} sent to "${s}" over the end-to-end session (wire_id ${y.wireId}) \u2014 WARNING: the file exceeds the 2 MiB redrive budget, so it is NOT retained for automatic resend. If the recipient loses its session (e.g. it was mid-restart), this file will NOT re-deliver automatically \u2014 confirm receipt or resend it once the contact is confirmed back.`)):k(`${w} sent to "${s}" over the upgraded end-to-end session (wire_id ${y.wireId}).`);default:return k(`${w} sent to "${s}" (wire_id ${y.wireId}).`)}}catch(y){return k(`send_file failed: ${String(y)}`,!0)}}),e.tool("remove_contact","Forget a contact (by name or container id) \u2014 drops it from the bound identity's contacts, so you can no longer message them and inbound messages from them are rejected. This is a contacts-layer forget, NOT a key wipe: the per-peer channel key material persists, so re-adding the same peer reuses the existing encrypted channel rather than re-handshaking. Note: if the removed peer is still published in the host-local contact book, a later send_message to it will reconnect through the book. Requires a bound identity.",{contact:F.string().min(1).describe("Contact name or container id to remove.")},async({contact:s})=>{let{id:i,err:a}=r();if(a)return a;try{let c=await B(async u=>{let l=await Z(i,"::a2a_messaging::remove_contact",{contact:s},u),d=l.Reduce("removed").Visualize(),f=l.Reduce("container_id").Visualize();return`Removed contact "${d}" (${f}).`});return k(c)}catch(c){return k(`remove_contact failed: ${String(c)}`,!0)}}),e.tool("list_incoming_messages","List ALL messages in the bound identity's inbox (decrypted), each with its id and status (unread/read). A read-only history view \u2014 it does not change any status. To consume new mail use get_messages instead.",{},async()=>{let{id:s,err:i}=r();if(i)return i;try{let a=Je(u=>ga(Se(s,"::actor::list_incoming_messages",u)));if(a.length===0)return k("Inbox is empty.");let c=a.filter(u=>u.status==="unread").length;return k(`Inbox (${a.length}, ${c} unread):
93
+ ${a.map(u=>xv(u)).join(`
94
+ `)}`)}catch(a){return k(`list_incoming_messages failed: ${String(a)}`,!0)}}),e.tool("get_messages",`Fetch the messages the bound identity has not seen yet (status "unread") and mark them "processed". This is the ONLY call that returns message bodies, and each message is delivered exactly once, so reading and acting on it immediately never double-processes \u2014 no acknowledgement call is needed. If you read a message but crash or want to hand it to another session before acting, call defer_messages to put it back to "unread"; otherwise handled messages are garbage-collected automatically. Returns ALWAYS-JSON: { count, messages: [{ msg_id, wire_id, from:{id,name}, encryption ("legacy" for a legacy box | "e2e" for the double-ratchet path), transport, text, date, status, reply_to }] } \u2014 so you can tell HOW each message arrived (ask the agent "how did you receive this"). Pass a message's wire_id as reply_to_wire_id in send_message to reply to it specifically.`,{},async()=>{let{id:s,err:i}=r();if(i)return i;try{let a=await B(async l=>{let d=await Z(s,"::actor::get_messages",{},l);return ga(d.Reduce("messages"))});rn(s);let c=QI(s),u=uv(a,c);return k(JSON.stringify(u,null,2))}catch(a){return k(`get_messages failed: ${String(a)}`,!0)}}),e.tool("defer_messages",`Put handled messages back into the queue (status "unread") so another session's get_messages picks them up. Works on messages you have read (status "processed") and even ones already queued for GC ("ready_to_delete"), so a message stays recoverable across a full GC cycle.`,{msg_ids:F.array(F.number().int()).min(1).describe("Message ids (from get_messages) to defer back to unread.")},async({msg_ids:s})=>{let{id:i,err:a}=r();if(a)return a;try{let c=await B(async u=>(await Z(i,"::actor::defer_messages",{msg_ids:s},u)).Reduce("deferred").Visualize());return rn(i),k(`Deferred ${c} message(s) back to unread.`)}catch(c){return k(`defer_messages failed: ${String(c)}`,!0)}}),e.tool("list_incoming_files","List received files (metadata only \u2014 does not retrieve bytes or change status). Use get_files to pull the bytes to disk. Requires a bound identity.",{},async()=>{let{id:s,err:i}=r();if(i)return i;try{let a=Je(c=>lO(Se(s,"::actor::list_incoming_files",c)));return k(a)}catch(a){return k(`list_incoming_files failed: ${String(a)}`,!0)}}),e.tool("get_files",'Retrieve received files that have not been pulled yet: writes each to disk under the identity state dir and returns its path + metadata. Flips them to "processed" \u2014 the sole place file bytes leave the packet. Requires a bound identity.',{},async()=>{let{id:s,err:i}=r();if(i)return i;try{let a=await B(async c=>{let u=await Z(s,"::actor::get_files",{},c);return await dO(s,u.Reduce("files"))});return rn(s),k(a)}catch(a){return k(`get_files failed: ${String(a)}`,!0)}});let o=()=>{let s=ie?L.get(ie):void 0;return s?{root:s}:{err:k("No root identity exists on this host \u2014 create one with create_root_identity first.",!0)}};return e.tool("bind_monitoring_proxy","Start binding a browser (messenger) account as this host's monitoring & control proxy. PREREQUISITE: the browser account must already be a contact of the ROOT identity (invite exchange). This generates a 6-digit code (5-minute expiry, 3 attempts) bound to that contact and shows it HERE \u2014 read it to the user, who enters it in the messenger's Control Panel. On a successful code verification the contact becomes the monitoring proxy: it receives the monitoring feed and may manage agents (create, edit bios, toggle monitoring, request invites) through the root.",{contact:F.string().min(1).describe("The root's contact (name or container id) to bind as the proxy.")},async({contact:s})=>{let{root:i,err:a}=o();if(a)return a;try{let c=String(zv(0,1e6)).padStart(6,"0"),u=await B(async l=>(await Z(i,"::a2a_messaging::set_proxy_pending",{code:c,proxy:s},l)).Reduce("proxy_cid").Visualize());return k(`Proxy binding started for contact "${s}" (${u}).
93
95
 
94
96
  Verification code: ${c}
95
97
 
96
- Tell the user to enter this code in the messenger's Control Panel within 5 minutes (3 attempts). Do NOT send the code over ours \u2014 it must travel out-of-band (this terminal counts).`)}catch(c){return k(`bind_monitoring_proxy failed: ${String(c)}`,!0)}}),e.tool("get_monitoring_status","Report the monitoring & control state of this host: the root's bound proxy (if any), a pending proxy verification, queued copies/requests, and which agents have monitoring enabled.",{},async()=>{let{root:s,err:i}=o();if(i)return i;try{let a=ms(s),c=[];c.push(`Root "${s.name}" (${s.cid}):`),c.push(a.proxyCid?`\u2022 monitoring proxy bound: ${a.proxyCid}`:"\u2022 no monitoring proxy bound"),a.proxyPending&&c.push("\u2022 a proxy code verification is pending"),a.copiesQueued>0&&c.push(`\u2022 ${a.copiesQueued} monitoring cop${a.copiesQueued===1?"y":"ies"} queued for forwarding`),a.controlQueued>0&&c.push(`\u2022 ${a.controlQueued} control request(s) queued`);let u=EI(s);return c.push(""),c.push(u.length===0?"No agents (roles) under this root.":`Agents (${u.length}):
98
+ Tell the user to enter this code in the messenger's Control Panel within 5 minutes (3 attempts). Do NOT send the code over ours \u2014 it must travel out-of-band (this terminal counts).`)}catch(c){return k(`bind_monitoring_proxy failed: ${String(c)}`,!0)}}),e.tool("get_monitoring_status","Report the monitoring & control state of this host: the root's bound proxy (if any), a pending proxy verification, queued copies/requests, and which agents have monitoring enabled.",{},async()=>{let{root:s,err:i}=o();if(i)return i;try{let a=hs(s),c=[];c.push(`Root "${s.name}" (${s.cid}):`),c.push(a.proxyCid?`\u2022 monitoring proxy bound: ${a.proxyCid}`:"\u2022 no monitoring proxy bound"),a.proxyPending&&c.push("\u2022 a proxy code verification is pending"),a.copiesQueued>0&&c.push(`\u2022 ${a.copiesQueued} monitoring cop${a.copiesQueued===1?"y":"ies"} queued for forwarding`),a.controlQueued>0&&c.push(`\u2022 ${a.controlQueued} control request(s) queued`);let u=OI(s);return c.push(""),c.push(u.length===0?"No agents (roles) under this root.":`Agents (${u.length}):
97
99
  ${u.map(l=>`\u2022 ${l.name} \u2014 monitoring ${l.monitoring?"ON":"off"}${l.bio?` \u2014 ${l.bio}`:""}`).join(`
98
100
  `)}`),k(c.join(`
99
- `))}catch(a){return k(`get_monitoring_status failed: ${String(a)}`,!0)}}),e}function hO(t){return new Promise((e,r)=>{let n="";t.on("data",o=>n+=o),t.on("end",()=>{try{e(JSON.parse(n))}catch(o){r(o)}}),t.on("error",r)})}var Kn=null,bp=!1;function Sv(){Kn||(Kn=setInterval(()=>{bp||(bp=!0,(async()=>{try{for(let t of L.values()){try{await B(async e=>{await M(t,"::actor::gc",{},e)})}catch(e){w(`gc(${t.name}) failed:`,String(e))}await Fv(t),await Pp(t),await Ip(t)}}finally{bp=!1}})())},mv),Kn.unref?.(),w(`message GC timer armed (every ${mv}ms)`))}function kv(){Kn&&(clearInterval(Kn),Kn=null)}async function gO(){if(process.env.OURS_TEST_STARTUP_FAIL==="1")throw new Error("forced startup failure (OURS_TEST_STARTUP_FAIL)");if(Ev==="stdio"){let u=xv(()=>"stdio");Qr.set("stdio",u),it.set("stdio",{token:"stdio-local",pid:process.pid});let l=new na;await u.connect(l),w("MCP stdio transport connected, booting wrapper\u2026"),await bv(),Sv(),w(`MCP server v${as} ready (transport=stdio, identities=${L.size}, state=${Pe}, broker=${ha})`);let d=()=>{kv();for(let p of L.values())try{Ep(p)}catch(f){w(`[${p.name}] shutdown save failed:`,String(f))}process.exit(0)};process.on("SIGINT",d),process.on("SIGTERM",d);return}w("booting wrapper\u2026"),await bv(),Sv(),w(`wrapper ready (identities=${L.size}), starting HTTP server\u2026`),Kt?.update("server");let t={},e=new Map,r=3e4,n=u=>{let l=e.get(u);l?l.n++:e.set(u,{n:1,since:Date.now()})},o=u=>{let l=e.get(u);l&&--l.n<=0&&e.delete(u)},s=()=>{let u=0;for(let l of[...Qr.keys()]){if(l==="stdio")continue;let d=it.get(l)?.pid;if(d===void 0||d<=1||xp(d))continue;let p=e.get(l);if(p&&p.n>0&&Date.now()-p.since<r)continue;let f=Qr.get(l);Qr.delete(l),delete t[l],it.delete(l),e.delete(l),f?.close().catch(()=>{}),u++,w(`session ${l.slice(0,8)}\u2026 reaped (client pid ${d} dead)`)}return u};setInterval(s,6e4).unref?.();let a=aI(async(u,l)=>{let d=new URL(u.url,`http://localhost:${gp}`);if(u.method==="GET"&&d.pathname==="/state-dir"){l.writeHead(200,{"Content-Type":"application/json"}),l.end(JSON.stringify({stateDir:Pe,version:as,compat:1}));return}if(u.method==="GET"&&(d.pathname==="/version"||d.pathname==="/info")){l.writeHead(200,{"Content-Type":"application/json"}),l.end(JSON.stringify({name:"ours",version:as,compat:1,protocol:qv,pid:process.pid,stateDir:Pe}));return}if(u.method==="GET"&&d.pathname==="/identities"){if(!da(u,l))return;l.writeHead(200,{"Content-Type":"application/json"}),l.end(JSON.stringify({identities:[...L.values()].map(p=>({name:p.name}))}));return}if(u.method==="GET"&&d.pathname==="/unread"){if(!da(u,l))return;l.writeHead(200,{"Content-Type":"application/json"}),l.end(JSON.stringify(tO()));return}{let p=/^\/identities\/([^/]+)\/notifications$/.exec(d.pathname);if(u.method==="GET"&&p){if(!da(u,l))return;let f=decodeURIComponent(p[1]);if(ya(f)!==null){l.writeHead(400,{"Content-Type":"application/json"}),l.end(JSON.stringify({error:"invalid identity name"}));return}await eO(u,l,f,d.searchParams.get("since"));return}}if(d.pathname!=="/mcp"){l.writeHead(404,{"Content-Type":"text/plain"}),l.end("Not found");return}if(da(u,l))try{if(u.method==="POST"){let p=await hO(u),f=u.headers["mcp-session-id"],m=u.headers["x-ours-lease-token"],h=u.headers["x-ours-client-pid"],g=h?parseInt(h,10):void 0,v={token:m,pid:Number.isInteger(g)?g:void 0};if(f&&t[f]){it.set(f,v),n(f);try{await t[f].handleRequest(u,l,p)}finally{o(f)}}else if(!f&&vo(p)){s();let y=new aa({sessionIdGenerator:()=>sI(),onsessioninitialized:R=>{t[R]=y,it.set(R,v),Qr.set(R,$),w(`session ${R.slice(0,8)}\u2026 initialized`)}}),$=xv(()=>y.sessionId??"pending");y.onclose=()=>{let R=y.sessionId;R&&(delete t[R],Qr.delete(R),it.delete(R),w(`session ${R.slice(0,8)}\u2026 closed (lease kept)`))},await $.connect(y),await y.handleRequest(u,l,p)}else l.writeHead(400,{"Content-Type":"application/json"}),l.end(JSON.stringify({jsonrpc:"2.0",error:{code:-32e3,message:"Bad Request: No valid session ID"},id:null}))}else if(u.method==="GET"){let p=u.headers["mcp-session-id"];if(!p||!t[p]){l.writeHead(400,{"Content-Type":"text/plain"}),l.end("Invalid or missing session ID");return}n(p);try{await t[p].handleRequest(u,l)}finally{o(p)}}else if(u.method==="DELETE"){let p=u.headers["mcp-session-id"];if(!p||!t[p]){l.writeHead(400,{"Content-Type":"text/plain"}),l.end("Invalid or missing session ID");return}let f=it.get(p)?.token??u.headers["x-ours-lease-token"];if(f){for(let[m,h]of[...Ee])h.token===f&&Ee.delete(m);va.delete(f),ps(),w(`lease released by token \u2026${f.slice(-6)}`)}await t[p].handleRequest(u,l)}else l.writeHead(405,{"Content-Type":"text/plain"}),l.end("Method not allowed")}catch(p){w("HTTP handler error:",String(p)),l.headersSent||(l.writeHead(500,{"Content-Type":"application/json"}),l.end(JSON.stringify({jsonrpc:"2.0",error:{code:-32603,message:"Internal server error"},id:null})))}});a.requestTimeout=0,a.listen(gp,"127.0.0.1",()=>{Kt?.ready(),w(`MCP server v${as} ready (transport=http, port=${gp}, visibility=${wp}, identities=${L.size}, state=${Pe}, broker=${ha})`)});let c=async()=>{w("shutting down\u2026"),kv();for(let u of Object.keys(t)){try{await t[u].close()}catch{}delete t[u]}for(let u of L.values())try{Ep(u)}catch(l){w(`[${u.name}] shutdown save failed:`,String(l))}a.close(),process.exit(0)};process.on("SIGINT",c),process.on("SIGTERM",c)}gO().catch(t=>{Kt?.failed(),w(`fatal startup error: ${t?.stack??t}`),process.exit(1)});export{QP as formatVersionAdvisory,ya as validateName};
101
+ `))}catch(a){return k(`get_monitoring_status failed: ${String(a)}`,!0)}}),e}function _O(t){return new Promise((e,r)=>{let n="";t.on("data",o=>n+=o),t.on("end",()=>{try{e(JSON.parse(n))}catch(o){r(o)}}),t.on("error",r)})}var Wn=null,wp=!1;function kv(){Wn||(Wn=setInterval(()=>{wp||(wp=!0,(async()=>{try{for(let t of L.values()){try{await B(async e=>{await Z(t,"::actor::gc",{},e)})}catch(e){$(`gc(${t.name}) failed:`,String(e))}await Bv(t),await Ip(t),await Op(t)}}finally{wp=!1}})())},hv),Wn.unref?.(),$(`message GC timer armed (every ${hv}ms)`))}function Rv(){Wn&&(clearInterval(Wn),Wn=null)}async function vO(){if(process.env.OURS_TEST_STARTUP_FAIL==="1")throw new Error("forced startup failure (OURS_TEST_STARTUP_FAIL)");if(Pv==="stdio"){let p=Sv(()=>"stdio");tn.set("stdio",p),ct.set("stdio",{token:"stdio-local",pid:process.pid});let m=new oa;await p.connect(m),$("MCP stdio transport connected, booting wrapper\u2026"),await wv(),kv(),$(`MCP server v${cs} ready (transport=stdio, identities=${L.size}, state=${Oe}, broker=${ya})`);let g=()=>{Rv();for(let _ of L.values())try{Pp(_)}catch(y){$(`[${_.name}] shutdown save failed:`,String(y))}process.exit(0)};process.on("SIGINT",g),process.on("SIGTERM",g);return}$("booting wrapper\u2026"),await wv(),kv(),$(`wrapper ready (identities=${L.size}), starting HTTP server\u2026`),Yt?.update("server");let t={},e=new Map,r=3e4,n=p=>{let m=e.get(p);m?m.n++:e.set(p,{n:1,since:Date.now()})},o=p=>{let m=e.get(p);m&&--m.n<=0&&e.delete(p)},s=()=>{let p=0;for(let m of[...tn.keys()]){if(m==="stdio")continue;let g=ct.get(m)?.pid;if(g===void 0||g<=1||Sp(g))continue;let _=e.get(m);if(_&&_.n>0&&Date.now()-_.since<r)continue;let y=tn.get(m);tn.delete(m),delete t[m],ct.delete(m),e.delete(m),y?.close().catch(()=>{}),p++,$(`session ${m.slice(0,8)}\u2026 reaped (client pid ${g} dead)`)}return p};setInterval(s,6e4).unref?.();let a=1e3,c=10*6e4,u=new Map,l=(p,m)=>{let g=Array.isArray(m)?m:[m];for(let _ of g){let y=_;!y||typeof y!="object"||y.id===void 0||y.id===null||typeof y.method!="string"||u.set(`${p}:${String(y.id)}`,{method:y.method,at:Date.now()})}if(u.size>a){let _=Date.now()-c;for(let[y,w]of u)if(w.at<_&&u.delete(y),u.size<=a)break;for(;u.size>a;){let y=u.keys().next();if(y.done)break;u.delete(y.value)}}},d=(p,m)=>{try{let g=m instanceof Error?m.message:String(m),_=/No connection established for request ID:\s*(\S+)/.exec(g);if(!_)return;let y=_[1],w=u.get(`${p}:${y}`);u.delete(`${p}:${y}`),$(`UNDELIVERABLE RESPONSE session=${p.slice(0,8)}\u2026 request_id=${y} method=${w?.method??"unknown"} age_ms=${w?Date.now()-w.at:"unknown"} at=${new Date().toISOString()} \u2014 the answer was produced but its stream was already gone`)}catch{}},f=lI(async(p,m)=>{let g=new URL(p.url,`http://localhost:${yp}`);if(p.method==="GET"&&g.pathname==="/state-dir"){m.writeHead(200,{"Content-Type":"application/json"}),m.end(JSON.stringify({stateDir:Oe,version:cs,compat:1}));return}if(p.method==="GET"&&(g.pathname==="/version"||g.pathname==="/info")){m.writeHead(200,{"Content-Type":"application/json"}),m.end(JSON.stringify({name:"ours",version:cs,compat:1,protocol:Vv,pid:process.pid,stateDir:Oe}));return}if(p.method==="GET"&&g.pathname==="/identities"){if(!fa(p,m))return;m.writeHead(200,{"Content-Type":"application/json"}),m.end(JSON.stringify({identities:[...L.values()].map(_=>({name:_.name}))}));return}if(p.method==="GET"&&g.pathname==="/unread"){if(!fa(p,m))return;m.writeHead(200,{"Content-Type":"application/json"}),m.end(JSON.stringify(oO()));return}{let _=/^\/identities\/([^/]+)\/notifications$/.exec(g.pathname);if(p.method==="GET"&&_){if(!fa(p,m))return;let y=decodeURIComponent(_[1]);if(va(y)!==null){m.writeHead(400,{"Content-Type":"application/json"}),m.end(JSON.stringify({error:"invalid identity name"}));return}await nO(p,m,y,g.searchParams.get("since"));return}}if(g.pathname!=="/mcp"){m.writeHead(404,{"Content-Type":"text/plain"}),m.end("Not found");return}if(fa(p,m))try{if(p.method==="POST"){let _=await _O(p),y=p.headers["mcp-session-id"],w=p.headers["x-ours-lease-token"],z=p.headers["x-ours-client-pid"],j=z?parseInt(z,10):void 0,Ee={token:w,pid:Number.isInteger(j)?j:void 0};if(y&&t[y]){ct.set(y,Ee),l(y,_),n(y),pa(m);try{await t[y].handleRequest(p,m,_)}finally{o(y)}}else if(!y&&bo(_)){s();let ke=new ca({sessionIdGenerator:()=>cI(),onsessioninitialized:De=>{t[De]=ke,ct.set(De,Ee),tn.set(De,Pt),$(`session ${De.slice(0,8)}\u2026 initialized`)}}),Pt=Sv(()=>ke.sessionId??"pending");Pt.server.onerror=De=>d(ke.sessionId??"pending",De),ke.onclose=()=>{let De=ke.sessionId;De&&(delete t[De],tn.delete(De),ct.delete(De),$(`session ${De.slice(0,8)}\u2026 closed (lease kept)`))},await Pt.connect(ke),pa(m),await ke.handleRequest(p,m,_)}else m.writeHead(400,{"Content-Type":"application/json"}),m.end(JSON.stringify({jsonrpc:"2.0",error:{code:-32e3,message:"Bad Request: No valid session ID"},id:null}))}else if(p.method==="GET"){let _=p.headers["mcp-session-id"];if(!_||!t[_]){m.writeHead(400,{"Content-Type":"text/plain"}),m.end("Invalid or missing session ID");return}n(_),pa(m);try{await t[_].handleRequest(p,m)}finally{o(_)}}else if(p.method==="DELETE"){let _=p.headers["mcp-session-id"];if(!_||!t[_]){m.writeHead(400,{"Content-Type":"text/plain"}),m.end("Invalid or missing session ID");return}let y=ct.get(_)?.token??p.headers["x-ours-lease-token"];if(y){for(let[w,z]of[...Ie])z.token===y&&Ie.delete(w);wa.delete(y),fs(),$(`lease released by token \u2026${y.slice(-6)}`)}await t[_].handleRequest(p,m)}else m.writeHead(405,{"Content-Type":"text/plain"}),m.end("Method not allowed")}catch(_){$("HTTP handler error:",String(_)),m.headersSent||(m.writeHead(500,{"Content-Type":"application/json"}),m.end(JSON.stringify({jsonrpc:"2.0",error:{code:-32603,message:"Internal server error"},id:null})))}});f.requestTimeout=0,f.listen(yp,"127.0.0.1",()=>{Yt?.ready(),$(`MCP server v${cs} ready (transport=http, port=${yp}, visibility=${$p}, identities=${L.size}, state=${Oe}, broker=${ya})`)});let h=async()=>{$("shutting down\u2026"),Rv();for(let p of Object.keys(t)){try{await t[p].close()}catch{}delete t[p]}for(let p of L.values())try{Pp(p)}catch(m){$(`[${p.name}] shutdown save failed:`,String(m))}f.closeAllConnections?.(),f.close(),process.exit(0)};process.on("SIGINT",h),process.on("SIGTERM",h)}vO().catch(t=>{Yt?.failed(),$(`fatal startup error: ${t?.stack??t}`),process.exit(1)});export{rI as formatVersionAdvisory,va as validateName};