@ours.network/mcp 0.15.3 → 0.16.0-nightly.1

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,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
3
- var Yv=Object.create;var ka=Object.defineProperty;var Xv=Object.getOwnPropertyDescriptor;var Qv=Object.getOwnPropertyNames;var eb=Object.getPrototypeOf,tb=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})},rb=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Qv(e))!tb.call(t,o)&&o!==r&&ka(t,o,{get:()=>e[o],enumerable:!(n=Xv(e,o))||n.enumerable});return t};var Fp=(t,e,r)=>(r=t!=null?Yv(eb(t)):{},rb(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 ht=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=ht;se.nil=new ht("");function Dh(t,...e){let r=[t[0]],n=0;for(;n<e.length;)il(r,e[n]),r.push(t[++n]);return new ht(r)}se._=Dh;var sl=new ht("+");function qh(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 rS(r),new ht(r)}se.str=qh;function il(t,e){e instanceof ht?t.push(...e._items):e instanceof Lr?t.push(e):t.push(sS(e))}se.addCodeArg=il;function rS(t){let e=1;for(;e<t.length-1;){if(t[e]===sl){let r=nS(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function nS(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 oS(t,e){return e.emptyStr()?t:t.emptyStr()?e:qh`${t}${e}`}se.strConcat=oS;function sS(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:Po(Array.isArray(t)?t.join(","):t)}function iS(t){return new ht(Po(t))}se.stringify=iS;function Po(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}se.safeStringify=Po;function aS(t){return typeof t=="string"&&se.IDENTIFIER.test(t)?new ht(`.${t}`):Dh`[${t}]`}se.getProperty=aS;function cS(t){if(typeof t=="string"&&se.IDENTIFIER.test(t))return new ht(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}se.getEsmExportName=cS;function uS(t){return new ht(t.toString())}se.regexpCode=uS});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}},vi;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(vi||(et.UsedValueState=vi={}));et.varKinds={const:new Qe.Name("const"),let:new Qe.Name("let"),var:new Qe.Name("var")};var bi=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=bi;var wi=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=wi;var lS=(0,Qe._)`\n`,cl=class extends bi{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?lS:Qe.nil}}get(){return this._scope}name(e){return new wi(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,vi.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,vi.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(),kt=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 ki=ul();Object.defineProperty(W,"Scope",{enumerable:!0,get:function(){return ki.Scope}});Object.defineProperty(W,"ValueScope",{enumerable:!0,get:function(){return ki.ValueScope}});Object.defineProperty(W,"ValueScopeName",{enumerable:!0,get:function(){return ki.ValueScopeName}});Object.defineProperty(W,"varKinds",{enumerable:!0,get:function(){return ki.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?kt.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:{}}},$i=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 Si(e,this.rhs)}},dl=class extends $i{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)||(dS(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(Vh(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 Si(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?kt.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=Si(super.names,this.from);return Si(e,this.to)}},xi=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 kt.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(kt.varKinds.const,e,r,n)}let(e,r,n){return this._def(kt.varKinds.let,e,r,n)}var(e,r,n){return this._def(kt.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new $i(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?kt.varKinds.var:kt.varKinds.let){let i=this._scope.toName(e);return this._for(new _l(s,i,r,n),()=>o(i))}forOf(e,r,n,o=kt.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 xi("of",o,s,r),()=>n(s))}forIn(e,r,n,o=this.opts.es5?kt.varKinds.var:kt.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 xi("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 Si(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 dS(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function Vh(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,re._)`!${wl(t)}`}W.not=Vh;var pS=Lh(W.operators.AND);function fS(...t){return t.reduce(pS)}W.and=fS;var mS=Lh(W.operators.OR);function hS(...t){return t.reduce(mS)}W.or=hS;function Lh(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(),gS=Io();function yS(t){let e={};for(let r of t)e[r]=!0;return e}Y.toHash=yS;function _S(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(Bh(t,e),!Hh(e,t.self.RULES.all))}Y.alwaysValidSchema=_S;function Bh(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]||Kh(t,`unknown keyword: "${s}"`)}Y.checkUnknownRules=Bh;function Hh(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}Y.schemaHasRules=Hh;function vS(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=vS;function bS({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=bS;function wS(t){return Gh(decodeURIComponent(t))}Y.unescapeFragment=wS;function $S(t){return encodeURIComponent(xl(t))}Y.escapeFragment=$S;function xl(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}Y.escapeJsonPointer=xl;function Gh(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}Y.unescapeJsonPointer=Gh;function xS(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}Y.eachItem=xS;function Uh({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:Uh({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:Jh}),items:Uh({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 Jh(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=Jh;function Sl(t,e,r){Object.keys(r).forEach(n=>t.assign((0,le._)`${e}${(0,le.getProperty)(n)}`,!0))}Y.setEvaluated=Sl;var Fh={};function SS(t,e){return t.scopeValue("func",{ref:e,code:Fh[e.code]||(Fh[e.code]=new gS._Code(e.code))})}Y.useFunc=SS;var $l;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})($l||(Y.Type=$l={}));function kS(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=kS;function Kh(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=Kh});var Kt=E(kl=>{"use strict";Object.defineProperty(kl,"__esModule",{value:!0});var Ve=K(),RS={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=RS});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(),Ri=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 TS(t,e=Le.keywordError,r,n){let{it:o}=t,{gen:s,compositeRule:i,allErrors:a}=o,c=Xh(t,e,r);n??(i||a)?Wh(s,c):Yh(o,(0,oe._)`[${c}]`)}Le.reportError=TS;function zS(t,e=Le.keywordError,r){let{it:n}=t,{gen:o,compositeRule:s,allErrors:i}=n,a=Xh(t,e,r);Wh(o,a),s||i||Yh(n,He.default.vErrors)}Le.reportExtraError=zS;function ES(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=ES;function PS({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=PS;function Wh(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 Yh(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 Xh(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,oe._)`{}`:IS(t,e,r)}function IS(t,e,r={}){let{gen:n,it:o}=t,s=[OS(o,r),NS(t,r)];return AS(t,e,s),n.object(...s)}function OS({errorPath:t},{instancePath:e}){let r=e?(0,oe.str)`${t}${(0,Ri.getErrorPath)(e,Ri.Type.Str)}`:t;return[He.default.instancePath,(0,oe.strConcat)(He.default.instancePath,r)]}function NS({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,Ri.getErrorPath)(r,Ri.Type.Str)}`),[Hr.schemaPath,o]}function AS(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 eg=E(zn=>{"use strict";Object.defineProperty(zn,"__esModule",{value:!0});zn.boolOrEmptySchema=zn.topBoolOrEmptySchema=void 0;var CS=Mo(),jS=K(),MS=Kt(),ZS={message:"boolean schema is false"};function DS(t){let{gen:e,schema:r,validateName:n}=t;r===!1?Qh(t,!1):typeof r=="object"&&r.$async===!0?e.return(MS.default.data):(e.assign((0,jS._)`${n}.errors`,null),e.return(!0))}zn.topBoolOrEmptySchema=DS;function qS(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),Qh(t)):r.var(e,!0)}zn.boolOrEmptySchema=qS;function Qh(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,CS.reportError)(o,ZS,void 0,e)}});var Rl=E(En=>{"use strict";Object.defineProperty(En,"__esModule",{value:!0});En.getRules=En.isJSONType=void 0;var VS=["string","number","integer","boolean","null","object","array"],LS=new Set(VS);function US(t){return typeof t=="string"&&LS.has(t)}En.isJSONType=US;function FS(){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=FS});var Tl=E(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.shouldUseRule=lr.shouldUseGroup=lr.schemaHasRulesForType=void 0;function BS({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&tg(t,n)}lr.schemaHasRulesForType=BS;function tg(t,e){return e.rules.some(r=>rg(t,r))}lr.shouldUseGroup=tg;function rg(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=rg});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 HS=Rl(),GS=Tl(),JS=Mo(),G=K(),ng=ne(),Pn;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(Pn||(Ue.DataType=Pn={}));function KS(t){let e=og(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=KS;function og(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(HS.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Ue.getJSONTypes=og;function WS(t,e){let{gen:r,data:n,opts:o}=t,s=YS(e,o.coerceTypes),i=e.length>0&&!(s.length===0&&e.length===1&&(0,GS.schemaHasRulesForType)(t,e[0]));if(i){let a=El(e,n,o.strictNumbers,Pn.Wrong);r.if(a,()=>{s.length?XS(t,e,s):Pl(t)})}return i}Ue.coerceAndCheckDataType=WS;var sg=new Set(["string","number","integer","boolean","null"]);function YS(t,e){return e?t.filter(r=>sg.has(r)||e==="array"&&r==="array"):[]}function XS(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)(sg.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),QS(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 Qv=Object.create;var ka=Object.defineProperty;var Xv=Object.getOwnPropertyDescriptor;var eb=Object.getOwnPropertyNames;var tb=Object.getPrototypeOf,rb=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})},nb=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of eb(e))!rb.call(t,o)&&o!==r&&ka(t,o,{get:()=>e[o],enumerable:!(n=Xv(e,o))||n.enumerable});return t};var Fp=(t,e,r)=>(r=t!=null?Qv(tb(t)):{},nb(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 ht=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=ht;se.nil=new ht("");function Dh(t,...e){let r=[t[0]],n=0;for(;n<e.length;)il(r,e[n]),r.push(t[++n]);return new ht(r)}se._=Dh;var sl=new ht("+");function qh(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 nS(r),new ht(r)}se.str=qh;function il(t,e){e instanceof ht?t.push(...e._items):e instanceof Lr?t.push(e):t.push(iS(e))}se.addCodeArg=il;function nS(t){let e=1;for(;e<t.length-1;){if(t[e]===sl){let r=oS(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function oS(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 sS(t,e){return e.emptyStr()?t:t.emptyStr()?e:qh`${t}${e}`}se.strConcat=sS;function iS(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:Po(Array.isArray(t)?t.join(","):t)}function aS(t){return new ht(Po(t))}se.stringify=aS;function Po(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}se.safeStringify=Po;function cS(t){return typeof t=="string"&&se.IDENTIFIER.test(t)?new ht(`.${t}`):Dh`[${t}]`}se.getProperty=cS;function uS(t){if(typeof t=="string"&&se.IDENTIFIER.test(t))return new ht(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}se.getEsmExportName=uS;function lS(t){return new ht(t.toString())}se.regexpCode=lS});var ul=E(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.ValueScope=tt.ValueScopeName=tt.Scope=tt.varKinds=tt.UsedValueState=void 0;var et=Io(),al=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},vi;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(vi||(tt.UsedValueState=vi={}));tt.varKinds={const:new et.Name("const"),let:new et.Name("let"),var:new et.Name("var")};var bi=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof et.Name?e:this.name(e)}name(e){return new et.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}}};tt.Scope=bi;var wi=class extends et.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,et._)`.${new et.Name(r)}[${n}]`}};tt.ValueScopeName=wi;var dS=(0,et._)`\n`,cl=class extends bi{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?dS:et.nil}}get(){return this._scope}name(e){return new wi(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,et._)`${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=et.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,vi.Started);let l=r(u);if(l){let d=this.opts.es5?tt.varKinds.var:tt.varKinds.const;s=(0,et._)`${s}${d} ${u} = ${l};${this.opts._n}`}else if(l=o?.(u))s=(0,et._)`${s}${l}${this.opts._n}`;else throw new al(u);c.set(u,vi.Completed)})}return s}};tt.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(),kt=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 ki=ul();Object.defineProperty(W,"Scope",{enumerable:!0,get:function(){return ki.Scope}});Object.defineProperty(W,"ValueScope",{enumerable:!0,get:function(){return ki.ValueScope}});Object.defineProperty(W,"ValueScopeName",{enumerable:!0,get:function(){return ki.ValueScopeName}});Object.defineProperty(W,"varKinds",{enumerable:!0,get:function(){return ki.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?kt.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:{}}},$i=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 Si(e,this.rhs)}},dl=class extends $i{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)||(pS(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(Vh(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 Si(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?kt.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=Si(super.names,this.from);return Si(e,this.to)}},xi=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 kt.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(kt.varKinds.const,e,r,n)}let(e,r,n){return this._def(kt.varKinds.let,e,r,n)}var(e,r,n){return this._def(kt.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new $i(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?kt.varKinds.var:kt.varKinds.let){let i=this._scope.toName(e);return this._for(new _l(s,i,r,n),()=>o(i))}forOf(e,r,n,o=kt.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 xi("of",o,s,r),()=>n(s))}forIn(e,r,n,o=this.opts.es5?kt.varKinds.var:kt.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 xi("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 Si(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 pS(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function Vh(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,re._)`!${wl(t)}`}W.not=Vh;var fS=Lh(W.operators.AND);function mS(...t){return t.reduce(fS)}W.and=mS;var hS=Lh(W.operators.OR);function gS(...t){return t.reduce(hS)}W.or=gS;function Lh(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(),yS=Io();function _S(t){let e={};for(let r of t)e[r]=!0;return e}Y.toHash=_S;function vS(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(Bh(t,e),!Hh(e,t.self.RULES.all))}Y.alwaysValidSchema=vS;function Bh(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]||Kh(t,`unknown keyword: "${s}"`)}Y.checkUnknownRules=Bh;function Hh(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}Y.schemaHasRules=Hh;function bS(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=bS;function wS({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=wS;function $S(t){return Gh(decodeURIComponent(t))}Y.unescapeFragment=$S;function xS(t){return encodeURIComponent(xl(t))}Y.escapeFragment=xS;function xl(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}Y.escapeJsonPointer=xl;function Gh(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}Y.unescapeJsonPointer=Gh;function SS(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}Y.eachItem=SS;function Uh({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:Uh({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:Jh}),items:Uh({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 Jh(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=Jh;function Sl(t,e,r){Object.keys(r).forEach(n=>t.assign((0,le._)`${e}${(0,le.getProperty)(n)}`,!0))}Y.setEvaluated=Sl;var Fh={};function kS(t,e){return t.scopeValue("func",{ref:e,code:Fh[e.code]||(Fh[e.code]=new yS._Code(e.code))})}Y.useFunc=kS;var $l;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})($l||(Y.Type=$l={}));function RS(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=RS;function Kh(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=Kh});var Kt=E(kl=>{"use strict";Object.defineProperty(kl,"__esModule",{value:!0});var Ve=K(),TS={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=TS});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(),Ri=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 zS(t,e=Le.keywordError,r,n){let{it:o}=t,{gen:s,compositeRule:i,allErrors:a}=o,c=Qh(t,e,r);n??(i||a)?Wh(s,c):Yh(o,(0,oe._)`[${c}]`)}Le.reportError=zS;function ES(t,e=Le.keywordError,r){let{it:n}=t,{gen:o,compositeRule:s,allErrors:i}=n,a=Qh(t,e,r);Wh(o,a),s||i||Yh(n,He.default.vErrors)}Le.reportExtraError=ES;function PS(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=PS;function IS({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=IS;function Wh(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 Yh(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 Qh(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,oe._)`{}`:OS(t,e,r)}function OS(t,e,r={}){let{gen:n,it:o}=t,s=[NS(o,r),AS(t,r)];return CS(t,e,s),n.object(...s)}function NS({errorPath:t},{instancePath:e}){let r=e?(0,oe.str)`${t}${(0,Ri.getErrorPath)(e,Ri.Type.Str)}`:t;return[He.default.instancePath,(0,oe.strConcat)(He.default.instancePath,r)]}function AS({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,Ri.getErrorPath)(r,Ri.Type.Str)}`),[Hr.schemaPath,o]}function CS(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 eg=E(zn=>{"use strict";Object.defineProperty(zn,"__esModule",{value:!0});zn.boolOrEmptySchema=zn.topBoolOrEmptySchema=void 0;var jS=Mo(),MS=K(),ZS=Kt(),DS={message:"boolean schema is false"};function qS(t){let{gen:e,schema:r,validateName:n}=t;r===!1?Xh(t,!1):typeof r=="object"&&r.$async===!0?e.return(ZS.default.data):(e.assign((0,MS._)`${n}.errors`,null),e.return(!0))}zn.topBoolOrEmptySchema=qS;function VS(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),Xh(t)):r.var(e,!0)}zn.boolOrEmptySchema=VS;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,jS.reportError)(o,DS,void 0,e)}});var Rl=E(En=>{"use strict";Object.defineProperty(En,"__esModule",{value:!0});En.getRules=En.isJSONType=void 0;var LS=["string","number","integer","boolean","null","object","array"],US=new Set(LS);function FS(t){return typeof t=="string"&&US.has(t)}En.isJSONType=FS;function BS(){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=BS});var Tl=E(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.shouldUseRule=lr.shouldUseGroup=lr.schemaHasRulesForType=void 0;function HS({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&tg(t,n)}lr.schemaHasRulesForType=HS;function tg(t,e){return e.rules.some(r=>rg(t,r))}lr.shouldUseGroup=tg;function rg(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=rg});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 GS=Rl(),JS=Tl(),KS=Mo(),G=K(),ng=ne(),Pn;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(Pn||(Ue.DataType=Pn={}));function WS(t){let e=og(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=WS;function og(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(GS.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Ue.getJSONTypes=og;function YS(t,e){let{gen:r,data:n,opts:o}=t,s=QS(e,o.coerceTypes),i=e.length>0&&!(s.length===0&&e.length===1&&(0,JS.schemaHasRulesForType)(t,e[0]));if(i){let a=El(e,n,o.strictNumbers,Pn.Wrong);r.if(a,()=>{s.length?XS(t,e,s):Pl(t)})}return i}Ue.coerceAndCheckDataType=YS;var sg=new Set(["string","number","integer","boolean","null"]);function QS(t,e){return e?t.filter(r=>sg.has(r)||e==="array"&&r==="array"):[]}function XS(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)(sg.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),ek(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 QS({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,ng.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 ek={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=tk(t);(0,JS.reportError)(e,ek)}Ue.reportTypeError=Pl;function tk(t){let{gen:e,data:r,schema:n}=t,o=(0,ng.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var ag=E(Ti=>{"use strict";Object.defineProperty(Ti,"__esModule",{value:!0});Ti.assignDefaults=void 0;var In=K(),rk=ne();function nk(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)ig(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,s)=>ig(t,s,o.default))}Ti.assignDefaults=nk;function ig(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,rk.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 gt=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(),ok=ne();function sk(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=sk;function ik({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=ik;function ak(t,e){t.setParams({missingProperty:e},!0),t.error()}ue.reportMissingProp=ak;function cg(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,ge._)`Object.prototype.hasOwnProperty`})}ue.hasPropFunc=cg;function Ol(t,e,r){return(0,ge._)`${cg(t)}.call(${e}, ${r})`}ue.isOwnProperty=Ol;function ck(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=ck;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 ug(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}ue.allSchemaProperties=ug;function uk(t,e){return ug(e).filter(r=>!(0,Il.alwaysValidSchema)(t,e[r]))}ue.schemaProperties=uk;function lk({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=lk;var dk=(0,ge._)`new RegExp`;function pk({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"?dk:(0,ok.useFunc)(t,o)}(${r}, ${n})`})}ue.usePattern=pk;function fk(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=fk;function mk(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=mk});var pg=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(),hk=gt(),gk=Mo();function yk(t,e){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=t,a=e.macro.call(i.self,o,s,i),c=dg(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=yk;function _k(t,e){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=t;bk(c,e);let u=!a&&e.compile?e.compile.call(c.self,s,i,c):e.validate,l=dg(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&&lg(t),g(()=>t.error());else{let _=e.async?h():p();e.modifying&&lg(t),g(()=>vk(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,hk.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=_k;function lg(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,Ge._)`${n.parentData}[${n.parentDataProperty}]`))}function vk(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,gk.extendErrors)(t)},()=>t.error())}function bk({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function dg(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 wk(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=wk;function $k({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=$k});var mg=E(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.extendSubschemaMode=pr.extendSubschemaData=pr.getSubschema=void 0;var jt=K(),fg=ne();function xk(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,fg.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=xk;function Sk(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,fg.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=Sk;function kk(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=kk});var Al=E((Zj,hg)=>{"use strict";hg.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 yg=E((Dj,gg)=>{"use strict";var fr=gg.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(){};zi(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 zi(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++)zi(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)zi(t,e,r,d[h],o+"/"+l+"/"+Rk(h),s,o,l,n,h)}else(l in fr.keywords||t.allKeys&&!(l in fr.skipKeywords))&&zi(t,e,r,d,o+"/"+l,s,o,l,n)}r(n,o,s,i,a,c,u)}}function Rk(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 Tk=ne(),zk=Al(),Ek=yg(),Pk=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Ik(t,e=!0){return typeof t=="boolean"?!0:e===!0?!Cl(t):e?_g(t)<=e:!1}tt.inlineRef=Ik;var Ok=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Cl(t){for(let e in t){if(Ok.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 _g(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!Pk.has(r)&&(typeof t[r]=="object"&&(0,Tk.eachItem)(t[r],n=>e+=_g(n)),e===1/0))return 1/0}return e}function vg(t,e="",r){r!==!1&&(e=On(e));let n=t.parse(e);return bg(t,n)}tt.getFullPath=vg;function bg(t,e){return t.serialize(e).split("#")[0]+"#"}tt._getFullPath=bg;var Nk=/#\/?$/;function On(t){return t?t.replace(Nk,""):""}tt.normalizeId=On;function Ak(t,e,r){return r=On(r),t.resolve(e,r)}tt.resolveUrl=Ak;var Ck=/^[a-z_][-a-z0-9._]*$/i;function jk(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=On(t[r]||e),s={"":o},i=vg(n,o,!1),a={},c=new Set;return Ek(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 T=this.opts.uriResolver.resolve;if(w=On(g?T(g,w):w),c.has(w))throw l(w);c.add(w);let A=this.refs[w];return typeof A=="string"&&(A=this.refs[A]),typeof A=="object"?u(d,A.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(!Ck.test(w))throw new Error(`invalid anchor "${w}"`);_.call(this,`#${w}`)}}}),a;function u(d,f,h){if(f!==void 0&&!zk(d,f))throw l(h)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}tt.getSchemaRefs=jk});var Lo=E(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.getData=mr.KeywordCxt=mr.validateFunctionCode=void 0;var kg=eg(),wg=Zo(),Ml=Tl(),Ei=Zo(),Mk=ag(),Vo=pg(),jl=mg(),j=K(),F=Kt(),Zk=Do(),Wt=ne(),qo=Mo();function Dk(t){if(zg(t)&&(Eg(t),Tg(t))){Lk(t);return}Rg(t,()=>(0,kg.topBoolOrEmptySchema)(t))}mr.validateFunctionCode=Dk;function Rg({gen:t,validateName:e,schema:r,schemaEnv:n,opts:o},s){o.code.es5?t.func(e,(0,j._)`${F.default.data}, ${F.default.valCxt}`,n.$async,()=>{t.code((0,j._)`"use strict"; ${$g(r,o)}`),Vk(t,o),t.code(s)}):t.func(e,(0,j._)`${F.default.data}, ${qk(o)}`,n.$async,()=>t.code($g(r,o)).code(s))}function qk(t){return(0,j._)`{${F.default.instancePath}="", ${F.default.parentData}, ${F.default.parentDataProperty}, ${F.default.rootData}=${F.default.data}${t.dynamicRef?(0,j._)`, ${F.default.dynamicAnchors}={}`:j.nil}}={}`}function Vk(t,e){t.if(F.default.valCxt,()=>{t.var(F.default.instancePath,(0,j._)`${F.default.valCxt}.${F.default.instancePath}`),t.var(F.default.parentData,(0,j._)`${F.default.valCxt}.${F.default.parentData}`),t.var(F.default.parentDataProperty,(0,j._)`${F.default.valCxt}.${F.default.parentDataProperty}`),t.var(F.default.rootData,(0,j._)`${F.default.valCxt}.${F.default.rootData}`),e.dynamicRef&&t.var(F.default.dynamicAnchors,(0,j._)`${F.default.valCxt}.${F.default.dynamicAnchors}`)},()=>{t.var(F.default.instancePath,(0,j._)`""`),t.var(F.default.parentData,(0,j._)`undefined`),t.var(F.default.parentDataProperty,(0,j._)`undefined`),t.var(F.default.rootData,F.default.data),e.dynamicRef&&t.var(F.default.dynamicAnchors,(0,j._)`{}`)})}function Lk(t){let{schema:e,opts:r,gen:n}=t;Rg(t,()=>{r.$comment&&e.$comment&&Ig(t),Gk(t),n.let(F.default.vErrors,null),n.let(F.default.errors,0),r.unevaluated&&Uk(t),Pg(t),Wk(t)})}function Uk(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,j._)`${r}.evaluated`),e.if((0,j._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,j._)`${t.evaluated}.props`,(0,j._)`undefined`)),e.if((0,j._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,j._)`${t.evaluated}.items`,(0,j._)`undefined`))}function $g(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,j._)`/*# sourceURL=${r} */`:j.nil}function Fk(t,e){if(zg(t)&&(Eg(t),Tg(t))){Bk(t,e);return}(0,kg.boolOrEmptySchema)(t,e)}function Tg({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 zg(t){return typeof t.schema!="boolean"}function Bk(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&Ig(t),Jk(t),Kk(t);let s=n.const("_errs",F.default.errors);Pg(t,s),n.var(e,(0,j._)`${s} === ${F.default.errors}`)}function Eg(t){(0,Wt.checkUnknownRules)(t),Hk(t)}function Pg(t,e){if(t.opts.jtd)return xg(t,[],!1,e);let r=(0,wg.getSchemaTypes)(t.schema),n=(0,wg.coerceAndCheckDataType)(t,r);xg(t,r,!n,e)}function Hk(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 Gk(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 Jk(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,Zk.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function Kk(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function Ig({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)t.code((0,j._)`${F.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,j.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,j._)`${F.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function Wk(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=t;r.$async?e.if((0,j._)`${F.default.errors} === 0`,()=>e.return(F.default.data),()=>e.throw((0,j._)`new ${o}(${F.default.vErrors})`)):(e.assign((0,j._)`${n}.errors`,F.default.vErrors),s.unevaluated&&Yk(t),e.return((0,j._)`${F.default.errors} === 0`))}function Yk({gen:t,evaluated:e,props:r,items:n}){r instanceof j.Name&&t.assign((0,j._)`${e}.props`,r),n instanceof j.Name&&t.assign((0,j._)`${e}.items`,n)}function xg(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(()=>Ng(t,"$ref",l.all.$ref.definition));return}c.jtd||Xk(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,Ei.checkDataType)(f.type,i,c.strictNumbers)),Sg(t,f),e.length===1&&e[0]===f.type&&r&&(o.else(),(0,Ei.reportTypeError)(t)),o.endIf()):Sg(t,f),a||o.if((0,j._)`${F.default.errors} === ${n||0}`))}}function Sg(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,Mk.assignDefaults)(t,e.type),r.block(()=>{for(let s of e.rules)(0,Ml.shouldUseRule)(n,s)&&Ng(t,s.keyword,s.definition,e.type)})}function Xk(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(Qk(t,e),t.opts.allowUnionTypes||eR(t,e),tR(t,t.dataTypes))}function Qk(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{Og(t.dataTypes,r)||Zl(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),nR(t,e)}}function eR(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Zl(t,"use allowUnionTypes to allow union type keyword")}function tR(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=>rR(e,i))&&Zl(t,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function rR(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function Og(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function nR(t,e){let r=[];for(let n of t.dataTypes)Og(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 Pi=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",Ag(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",F.default.errors))}result(e,r,n){this.failResult((0,j.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,j.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,j._)`${r} !== undefined && (${(0,j.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=j.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=j.nil,r=j.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,j.or)((0,j._)`${o} === undefined`,r)),e!==j.nil&&n.assign(e,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==j.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,j.or)(i(),a());function i(){if(n.length){if(!(r instanceof j.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,j._)`${(0,Ei.checkDataTypes)(c,r,s.opts.strictNumbers,Ei.DataType.Wrong)}`}return j.nil}function a(){if(o.validateSchema){let c=e.scopeValue("validate$data",{ref:o.validateSchema});return(0,j._)`!${c}(${r})`}return j.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 Fk(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,j.Name)),!0}};mr.KeywordCxt=Pi;function Ng(t,e,r,n){let o=new Pi(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 oR=/^\/(?:[^~]|~0|~1)*$/,sR=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Ag(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,s;if(t==="")return F.default.rootData;if(t[0]==="/"){if(!oR.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,s=F.default.rootData}else{let u=sR.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,j._)`${s}${(0,j.getProperty)((0,Wt.unescapeJsonPointer)(u))}`,i=(0,j._)`${i} && ${s}`);return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}mr.getData=Ag});var Ii=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 Ni=E(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.resolveSchema=yt.getCompilingSchema=yt.resolveRef=yt.compileSchema=yt.SchemaEnv=void 0;var Rt=K(),iR=Ii(),Jr=Kt(),Tt=Do(),Cg=ne(),aR=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,Tt.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};yt.SchemaEnv=Nn;function Bl(t){let e=jg.call(this,t);if(e)return e;let r=(0,Tt.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new Rt.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;t.$async&&(a=i.scopeValue("Error",{ref:iR.default,code:(0,Rt._)`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:[Rt.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,Rt.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Rt.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Rt._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,aR.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 Rt.Name?void 0:p,items:m instanceof Rt.Name?void 0:m,dynamicProps:p instanceof Rt.Name,dynamicItems:m instanceof Rt.Name},h.source&&(h.source.evaluated=(0,Rt.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)}}yt.compileSchema=Bl;function cR(t,e,r){var n;r=(0,Tt.resolveUrl)(this.opts.uriResolver,e,r);let o=t.refs[r];if(o)return o;let s=dR.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]=uR.call(this,s)}yt.resolveRef=cR;function uR(t){return(0,Tt.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:Bl.call(this,t)}function jg(t){for(let e of this._compilations)if(lR(e,t))return e}yt.getCompilingSchema=jg;function lR(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function dR(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||Oi.call(this,t,e)}function Oi(t,e){let r=this.opts.uriResolver.parse(e),n=(0,Tt._getFullPath)(this.opts.uriResolver,r),o=(0,Tt.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,Tt.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=Oi.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,Tt.normalizeId)(e)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,Tt.resolveUrl)(this.opts.uriResolver,o,u)),new Nn({schema:a,schemaId:c,root:t,baseId:o})}return Fl.call(this,r,i)}}yt.resolveSchema=Oi;var pR=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,Cg.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!pR.has(a)&&u&&(e=(0,Tt.resolveUrl)(this.opts.uriResolver,e,u))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,Cg.schemaHasRulesButRef)(r,this.RULES)){let a=(0,Tt.resolveUrl)(this.opts.uriResolver,e,r.$ref);s=Oi.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 Mg=E((Bj,fR)=>{fR.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((Hj,Ug)=>{"use strict";var mR=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Dg=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),qg=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),hR=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 gR=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Zg(t){return t.length=0,!0}function yR(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 _R(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=yR;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=Zg}else{o.push(u);continue}}return o.length&&(a===Zg?r.zone=o.join(""):i?n.push(o.join("")):n.push(Gl(o))),r.address=n.join(""),r}function Vg(t){if(vR(t,":")<2)return{host:t,isIPV6:!1};let e=_R(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 vR(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function bR(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 wR={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},$R=/[@/?#:]/g,xR=/[@/?#]/g;function Lg(t,e){let r=e?xR:$R;return r.lastIndex=0,t.replace(r,n=>wR[n])}function SR(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&&qg(i)?r+=i:r+="%"+s,n+=2;continue}}r+=t[n]}return r}function kR(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!=="."&&qg(s)?e+=s:e+="%"+o,r+=2;continue}}hR(t[r])?e+=t[r]:e+=escape(t[r])}return e}function RR(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 TR(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!Dg(r)){let n=Vg(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=Lg(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}Ug.exports={nonSimpleDomain:gR,recomposeAuthority:TR,reescapeHostDelimiters:Lg,normalizePercentEncoding:SR,normalizePathEncoding:kR,escapePreservingEscapes:RR,removeDotSegments:bR,isIPv4:Dg,isUUID:mR,normalizeIPv6:Vg,stringArrayToHexStripped:Gl}});var Jg=E((Gj,Gg)=>{"use strict";var{isUUID:zR}=Jl(),ER=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,PR=["http","https","ws","wss","urn","urn:uuid"];function IR(t){return PR.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 Fg(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function Bg(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 OR(t){return t.secure=Kl(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function NR(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 AR(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(ER);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 CR(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 jR(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!zR(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function MR(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var Hg={scheme:"http",domainHost:!0,parse:Fg,serialize:Bg},ZR={scheme:"https",domainHost:Hg.domainHost,parse:Fg,serialize:Bg},Ai={scheme:"ws",domainHost:!0,parse:OR,serialize:NR},DR={scheme:"wss",domainHost:Ai.domainHost,parse:Ai.parse,serialize:Ai.serialize},qR={scheme:"urn",parse:AR,serialize:CR,skipNormalize:!0},VR={scheme:"urn:uuid",parse:jR,serialize:MR,skipNormalize:!0},Ci={http:Hg,https:ZR,ws:Ai,wss:DR,urn:qR,"urn:uuid":VR};Object.setPrototypeOf(Ci,null);function Wl(t){return t&&(Ci[t]||Ci[t.toLowerCase()])||void 0}Gg.exports={wsIsSecure:Kl,SCHEMES:Ci,isValidSchemeName:IR,getSchemeHandler:Wl}});var ey=E((Jj,ji)=>{"use strict";var{normalizeIPv6:LR,removeDotSegments:Fo,recomposeAuthority:UR,normalizePercentEncoding:FR,normalizePathEncoding:BR,escapePreservingEscapes:HR,reescapeHostDelimiters:GR,isIPv4:JR,nonSimpleDomain:KR}=Jl(),{SCHEMES:WR,getSchemeHandler:Wg}=Jg();function YR(t,e){return typeof t=="string"?t=nT(t,e):typeof t=="object"&&(t=An(Kr(t,e),e)),t}function XR(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=Yg(An(t,n),An(e,n),n,!0);return n.skipEscape=!0,Kr(o,n)}function Yg(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 QR(t,e,r){let n=Kg(t,r),o=Kg(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=Wg(n.scheme||r.scheme);s&&s.serialize&&s.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=FR(r.path):(r.path=HR(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&o.push(r.scheme,":");let i=UR(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 eT=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u,tT=/^(?:[^#/:?]+:)?\/\/([^/?#]*)/;function rT(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 Xg(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(tT);i!==null&&i[1].indexOf("\\")!==-1&&(n.error="URI authority must not contain a literal backslash.",o=!0);let a=t.match(eT);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=rT(n,a);if(c!==void 0&&(n.error=n.error||c,o=!0),n.host)if(JR(n.host)===!1){let d=LR(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=Wg(r.scheme||n.scheme);if(!r.unicodeSupport&&(!u||!u.unicodeSupport)&&n.host&&(r.domainHost||u&&u.domainHost)&&s===!1&&KR(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=GR(unescape(n.host),s))),n.path&&(n.path=BR(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 Xg(t,e).parsed}function nT(t,e){return Qg(t,e).normalized}function Qg(t,e){let{parsed:r,malformedAuthorityOrPort:n}=Xg(t,e);return{normalized:n?t:Kr(r,e),malformedAuthorityOrPort:n}}function Kg(t,e){if(typeof t=="string"){let{normalized:r,malformedAuthorityOrPort:n}=Qg(t,e);return n?void 0:r}if(typeof t=="object")return Kr(t,e)}var Yl={SCHEMES:WR,normalize:YR,resolve:XR,resolveComponent:Yg,equal:QR,serialize:Kr,parse:An};ji.exports=Yl;ji.exports.default=Yl;ji.exports.fastUri=Yl});var ry=E(Xl=>{"use strict";Object.defineProperty(Xl,"__esModule",{value:!0});var ty=ey();ty.code='require("ajv/dist/runtime/uri").default';Xl.default=ty});var ly=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 oT=Lo();Object.defineProperty(Me,"KeywordCxt",{enumerable:!0,get:function(){return oT.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 sT=Ii(),ay=Uo(),iT=Rl(),Bo=Ni(),aT=K(),Ho=Do(),Mi=Zo(),ed=ne(),ny=Mg(),cT=ry(),cy=(t,e)=>new RegExp(t,e);cy.code="new RegExp";var uT=["removeAdditional","useDefaults","coerceTypes"],lT=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),dT={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."},pT={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},oy=200;function fT(t){var e,r,n,o,s,i,a,c,u,l,d,f,h,p,m,g,_,y,w,T,A,Se,_e,ot,De;let Xn=t.strict,Sa=(e=t.code)===null||e===void 0?void 0:e.optimize,Lp=Sa===!0||Sa===void 0?1:Sa||0,Up=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:cy,Wv=(o=t.uriResolver)!==null&&o!==void 0?o:cT.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:Lp,regExp:Up}:{optimize:Lp,regExp:Up},loopRequired:(m=t.loopRequired)!==null&&m!==void 0?m:oy,loopEnum:(g=t.loopEnum)!==null&&g!==void 0?g:oy,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:(T=t.schemaId)!==null&&T!==void 0?T:"$id",addUsedSchema:(A=t.addUsedSchema)!==null&&A!==void 0?A:!0,validateSchema:(Se=t.validateSchema)!==null&&Se!==void 0?Se:!0,validateFormats:(_e=t.validateFormats)!==null&&_e!==void 0?_e:!0,unicodeRegExp:(ot=t.unicodeRegExp)!==null&&ot!==void 0?ot:!0,int32range:(De=t.int32range)!==null&&De!==void 0?De:!0,uriResolver:Wv}}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,...fT(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new aT.ValueScope({scope:{},prefixes:lT,es5:r,lines:n}),this.logger=vT(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,iT.getRules)(),sy.call(this,dT,e,"NOT SUPPORTED"),sy.call(this,pT,e,"DEPRECATED","warn"),this._metaOpts=yT.call(this),e.formats&&hT.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&gT.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),mT.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=ny;n==="id"&&(o={...ny},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 ay.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=iy.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=iy.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(wT.call(this,n,r),!r)return(0,ed.eachItem)(n,s=>Ql.call(this,s)),this;xT.call(this,r);let o={...r,type:(0,Mi.getJSONTypes)(r.type),schemaType:(0,Mi.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]=uy(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=sT.default;Go.MissingRefError=ay.default;Me.default=Go;function sy(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 iy(t){return t=(0,Ho.normalizeId)(t),this.schemas[t]||this.refs[t]}function mT(){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 hT(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function gT(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 yT(){let t={...this.opts};for(let e of uT)delete t[e];return t}var _T={log(){},warn(){},error(){}};function vT(t){if(t===!1)return _T;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 bT=/^[a-z_$][a-z0-9_$:-]*$/i;function wT(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(!bT.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,Mi.getJSONTypes)(e.type),schemaType:(0,Mi.getJSONTypes)(e.schemaType)}};e.before?$T.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 $T(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 xT(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=uy(e)),t.validateSchema=this.compile(e,!0))}var ST={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function uy(t){return{anyOf:[t,ST]}}});var dy=E(td=>{"use strict";Object.defineProperty(td,"__esModule",{value:!0});var kT={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};td.default=kT});var hy=E(Wr=>{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.callRef=Wr.getValidate=void 0;var RT=Uo(),py=gt(),rt=K(),jn=Kt(),fy=Ni(),Zi=ne(),TT={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=fy.resolveRef.call(c,u,o,r);if(l===void 0)throw new RT.default(n.opts.uriResolver,o,r);if(l instanceof fy.SchemaEnv)return f(l);return h(l);function d(){if(s===u)return Di(t,i,s,s.$async);let p=e.scopeValue("root",{ref:u});return Di(t,(0,rt._)`${p}.validate`,u,u.$async)}function f(p){let m=my(t,p);Di(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 my(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=my;function Di(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,py.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,py.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=Zi.mergeEvaluated.props(o,g.props,s.props));else{let _=o.var("props",(0,rt._)`${p}.evaluated.props`);s.props=Zi.mergeEvaluated.props(o,_,s.props,rt.Name)}if(s.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(s.items=Zi.mergeEvaluated.items(o,g.items,s.items));else{let _=o.var("items",(0,rt._)`${p}.evaluated.items`);s.items=Zi.mergeEvaluated.items(o,_,s.items,rt.Name)}}}Wr.callRef=Di;Wr.default=TT});var gy=E(rd=>{"use strict";Object.defineProperty(rd,"__esModule",{value:!0});var zT=dy(),ET=hy(),PT=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",zT.default,ET.default];rd.default=PT});var yy=E(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});var qi=K(),hr=qi.operators,Vi={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}},IT={message:({keyword:t,schemaCode:e})=>(0,qi.str)`must be ${Vi[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,qi._)`{comparison: ${Vi[t].okStr}, limit: ${e}}`},OT={keyword:Object.keys(Vi),type:"number",schemaType:"number",$data:!0,error:IT,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,qi._)`${r} ${Vi[e].fail} ${n} || isNaN(${r})`)}};nd.default=OT});var _y=E(od=>{"use strict";Object.defineProperty(od,"__esModule",{value:!0});var Jo=K(),NT={message:({schemaCode:t})=>(0,Jo.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,Jo._)`{multipleOf: ${t}}`},AT={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:NT,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=AT});var by=E(sd=>{"use strict";Object.defineProperty(sd,"__esModule",{value:!0});function vy(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=vy;vy.code='require("ajv/dist/runtime/ucs2length").default'});var wy=E(id=>{"use strict";Object.defineProperty(id,"__esModule",{value:!0});var Yr=K(),CT=ne(),jT=by(),MT={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}}`},ZT={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:MT,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,CT.useFunc)(t.gen,jT.default)}(${r})`;t.fail$data((0,Yr._)`${i} ${s} ${n}`)}};id.default=ZT});var $y=E(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});var DT=gt(),qT=ne(),Mn=K(),VT={message:({schemaCode:t})=>(0,Mn.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,Mn._)`{pattern: ${t}}`},LT={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:VT,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,qT.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,DT.usePattern)(t,o);t.fail$data((0,Mn._)`!${c}.test(${r})`)}}};ad.default=LT});var xy=E(cd=>{"use strict";Object.defineProperty(cd,"__esModule",{value:!0});var Ko=K(),UT={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}}`},FT={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:UT,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=FT});var Sy=E(ud=>{"use strict";Object.defineProperty(ud,"__esModule",{value:!0});var Wo=gt(),Yo=K(),BT=ne(),HT={message:({params:{missingProperty:t}})=>(0,Yo.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,Yo._)`{missingProperty: ${t}}`},GT={keyword:"required",type:"object",schemaType:"array",$data:!0,error:HT,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,BT.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=GT});var ky=E(ld=>{"use strict";Object.defineProperty(ld,"__esModule",{value:!0});var Xo=K(),JT={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}}`},KT={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:JT,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=KT});var Li=E(dd=>{"use strict";Object.defineProperty(dd,"__esModule",{value:!0});var Ry=Al();Ry.code='require("ajv/dist/runtime/equal").default';dd.default=Ry});var Ty=E(fd=>{"use strict";Object.defineProperty(fd,"__esModule",{value:!0});var pd=Zo(),Ze=K(),WT=ne(),YT=Li(),XT={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}}`},QT={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:XT,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,WT.useFunc)(e,YT.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=QT});var zy=E(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});var md=K(),ez=ne(),tz=Li(),rz={message:"must be equal to constant",params:({schemaCode:t})=>(0,md._)`{allowedValue: ${t}}`},nz={keyword:"const",$data:!0,error:rz,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,ez.useFunc)(e,tz.default)}(${r}, ${o})`):t.fail((0,md._)`${s} !== ${r}`)}};hd.default=nz});var Ey=E(gd=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});var Qo=K(),oz=ne(),sz=Li(),iz={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,Qo._)`{allowedValues: ${t}}`},az={keyword:"enum",schemaType:"array",$data:!0,error:iz,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,oz.useFunc)(e,sz.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=az});var Py=E(yd=>{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});var cz=yy(),uz=_y(),lz=wy(),dz=$y(),pz=xy(),fz=Sy(),mz=ky(),hz=Ty(),gz=zy(),yz=Ey(),_z=[cz.default,uz.default,lz.default,dz.default,pz.default,fz.default,mz.default,hz.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},gz.default,yz.default];yd.default=_z});var vd=E(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});es.validateAdditionalItems=void 0;var Xr=K(),_d=ne(),vz={message:({params:{len:t}})=>(0,Xr.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Xr._)`{limit: ${t}}`},bz={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:vz,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}Iy(t,n)}};function Iy(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=Iy;es.default=bz});var bd=E(ts=>{"use strict";Object.defineProperty(ts,"__esModule",{value:!0});ts.validateTuple=void 0;var Oy=K(),Ui=ne(),wz=gt(),$z={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return Ny(t,"additionalItems",e);r.items=!0,!(0,Ui.alwaysValidSchema)(r,e)&&t.ok((0,wz.validateArray)(t))}};function Ny(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=Ui.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,Oy._)`${s}.length`);r.forEach((d,f)=>{(0,Ui.alwaysValidSchema)(a,d)||(n.if((0,Oy._)`${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,Ui.checkStrictMode)(a,g,f.strictTuples)}}}ts.validateTuple=Ny;ts.default=$z});var Ay=E(wd=>{"use strict";Object.defineProperty(wd,"__esModule",{value:!0});var xz=bd(),Sz={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,xz.validateTuple)(t,"items")};wd.default=Sz});var jy=E($d=>{"use strict";Object.defineProperty($d,"__esModule",{value:!0});var Cy=K(),kz=ne(),Rz=gt(),Tz=vd(),zz={message:({params:{len:t}})=>(0,Cy.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Cy._)`{limit: ${t}}`},Ez={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:zz,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,kz.alwaysValidSchema)(n,e)&&(o?(0,Tz.validateAdditionalItems)(t,o):t.ok((0,Rz.validateArray)(t)))}};$d.default=Ez});var My=E(xd=>{"use strict";Object.defineProperty(xd,"__esModule",{value:!0});var _t=K(),Fi=ne(),Pz={message:({params:{min:t,max:e}})=>e===void 0?(0,_t.str)`must contain at least ${t} valid item(s)`:(0,_t.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,_t._)`{minContains: ${t}}`:(0,_t._)`{minContains: ${t}, maxContains: ${e}}`},Iz={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Pz,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,_t._)`${o}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0,Fi.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,Fi.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,Fi.alwaysValidSchema)(s,r)){let m=(0,_t._)`${l} >= ${i}`;a!==void 0&&(m=(0,_t._)`${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,_t._)`${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:Fi.Type.Num,compositeRule:!0},m),g()})}function p(m){e.code((0,_t._)`${m}++`),a===void 0?e.if((0,_t._)`${m} >= ${i}`,()=>e.assign(d,!0).break()):(e.if((0,_t._)`${m} > ${a}`,()=>e.assign(d,!1).break()),i===1?e.assign(d,!0):e.if((0,_t._)`${m} >= ${i}`,()=>e.assign(d,!0)))}}};xd.default=Iz});var qy=E(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.validateSchemaDeps=Mt.validatePropertyDeps=Mt.error=void 0;var Sd=K(),Oz=ne(),rs=gt();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},
7
+ || ${i} === "boolean" || ${o} === null`).assign(a,(0,G._)`[${o}]`)}}}function ek({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,ng.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 tk={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=rk(t);(0,KS.reportError)(e,tk)}Ue.reportTypeError=Pl;function rk(t){let{gen:e,data:r,schema:n}=t,o=(0,ng.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var ag=E(Ti=>{"use strict";Object.defineProperty(Ti,"__esModule",{value:!0});Ti.assignDefaults=void 0;var In=K(),nk=ne();function ok(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)ig(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,s)=>ig(t,s,o.default))}Ti.assignDefaults=ok;function ig(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,nk.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 gt=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(),sk=ne();function ik(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=ik;function ak({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=ak;function ck(t,e){t.setParams({missingProperty:e},!0),t.error()}ue.reportMissingProp=ck;function cg(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,ge._)`Object.prototype.hasOwnProperty`})}ue.hasPropFunc=cg;function Ol(t,e,r){return(0,ge._)`${cg(t)}.call(${e}, ${r})`}ue.isOwnProperty=Ol;function uk(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=uk;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 ug(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}ue.allSchemaProperties=ug;function lk(t,e){return ug(e).filter(r=>!(0,Il.alwaysValidSchema)(t,e[r]))}ue.schemaProperties=lk;function dk({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=dk;var pk=(0,ge._)`new RegExp`;function fk({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"?pk:(0,sk.useFunc)(t,o)}(${r}, ${n})`})}ue.usePattern=fk;function mk(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=mk;function hk(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=hk});var pg=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(),gk=gt(),yk=Mo();function _k(t,e){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=t,a=e.macro.call(i.self,o,s,i),c=dg(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=_k;function vk(t,e){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=t;wk(c,e);let u=!a&&e.compile?e.compile.call(c.self,s,i,c):e.validate,l=dg(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&&lg(t),g(()=>t.error());else{let _=e.async?h():p();e.modifying&&lg(t),g(()=>bk(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,gk.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=vk;function lg(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,Ge._)`${n.parentData}[${n.parentDataProperty}]`))}function bk(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,yk.extendErrors)(t)},()=>t.error())}function wk({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function dg(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 $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")}Ct.validSchemaType=$k;function xk({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=xk});var mg=E(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.extendSubschemaMode=pr.extendSubschemaData=pr.getSubschema=void 0;var jt=K(),fg=ne();function Sk(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,fg.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=Sk;function kk(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,fg.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=kk;function Rk(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=Rk});var Al=E((Vj,hg)=>{"use strict";hg.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 yg=E((Lj,gg)=>{"use strict";var fr=gg.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(){};zi(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 zi(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++)zi(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)zi(t,e,r,d[h],o+"/"+l+"/"+Tk(h),s,o,l,n,h)}else(l in fr.keywords||t.allKeys&&!(l in fr.skipKeywords))&&zi(t,e,r,d,o+"/"+l,s,o,l,n)}r(n,o,s,i,a,c,u)}}function Tk(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var Do=E(rt=>{"use strict";Object.defineProperty(rt,"__esModule",{value:!0});rt.getSchemaRefs=rt.resolveUrl=rt.normalizeId=rt._getFullPath=rt.getFullPath=rt.inlineRef=void 0;var zk=ne(),Ek=Al(),Pk=yg(),Ik=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Ok(t,e=!0){return typeof t=="boolean"?!0:e===!0?!Cl(t):e?_g(t)<=e:!1}rt.inlineRef=Ok;var Nk=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Cl(t){for(let e in t){if(Nk.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 _g(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!Ik.has(r)&&(typeof t[r]=="object"&&(0,zk.eachItem)(t[r],n=>e+=_g(n)),e===1/0))return 1/0}return e}function vg(t,e="",r){r!==!1&&(e=On(e));let n=t.parse(e);return bg(t,n)}rt.getFullPath=vg;function bg(t,e){return t.serialize(e).split("#")[0]+"#"}rt._getFullPath=bg;var Ak=/#\/?$/;function On(t){return t?t.replace(Ak,""):""}rt.normalizeId=On;function Ck(t,e,r){return r=On(r),t.resolve(e,r)}rt.resolveUrl=Ck;var jk=/^[a-z_][-a-z0-9._]*$/i;function Mk(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=On(t[r]||e),s={"":o},i=vg(n,o,!1),a={},c=new Set;return Pk(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 T=this.opts.uriResolver.resolve;if(w=On(g?T(g,w):w),c.has(w))throw l(w);c.add(w);let A=this.refs[w];return typeof A=="string"&&(A=this.refs[A]),typeof A=="object"?u(d,A.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(!jk.test(w))throw new Error(`invalid anchor "${w}"`);_.call(this,`#${w}`)}}}),a;function u(d,f,h){if(f!==void 0&&!Ek(d,f))throw l(h)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}rt.getSchemaRefs=Mk});var Lo=E(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.getData=mr.KeywordCxt=mr.validateFunctionCode=void 0;var kg=eg(),wg=Zo(),Ml=Tl(),Ei=Zo(),Zk=ag(),Vo=pg(),jl=mg(),j=K(),F=Kt(),Dk=Do(),Wt=ne(),qo=Mo();function qk(t){if(zg(t)&&(Eg(t),Tg(t))){Uk(t);return}Rg(t,()=>(0,kg.topBoolOrEmptySchema)(t))}mr.validateFunctionCode=qk;function Rg({gen:t,validateName:e,schema:r,schemaEnv:n,opts:o},s){o.code.es5?t.func(e,(0,j._)`${F.default.data}, ${F.default.valCxt}`,n.$async,()=>{t.code((0,j._)`"use strict"; ${$g(r,o)}`),Lk(t,o),t.code(s)}):t.func(e,(0,j._)`${F.default.data}, ${Vk(o)}`,n.$async,()=>t.code($g(r,o)).code(s))}function Vk(t){return(0,j._)`{${F.default.instancePath}="", ${F.default.parentData}, ${F.default.parentDataProperty}, ${F.default.rootData}=${F.default.data}${t.dynamicRef?(0,j._)`, ${F.default.dynamicAnchors}={}`:j.nil}}={}`}function Lk(t,e){t.if(F.default.valCxt,()=>{t.var(F.default.instancePath,(0,j._)`${F.default.valCxt}.${F.default.instancePath}`),t.var(F.default.parentData,(0,j._)`${F.default.valCxt}.${F.default.parentData}`),t.var(F.default.parentDataProperty,(0,j._)`${F.default.valCxt}.${F.default.parentDataProperty}`),t.var(F.default.rootData,(0,j._)`${F.default.valCxt}.${F.default.rootData}`),e.dynamicRef&&t.var(F.default.dynamicAnchors,(0,j._)`${F.default.valCxt}.${F.default.dynamicAnchors}`)},()=>{t.var(F.default.instancePath,(0,j._)`""`),t.var(F.default.parentData,(0,j._)`undefined`),t.var(F.default.parentDataProperty,(0,j._)`undefined`),t.var(F.default.rootData,F.default.data),e.dynamicRef&&t.var(F.default.dynamicAnchors,(0,j._)`{}`)})}function Uk(t){let{schema:e,opts:r,gen:n}=t;Rg(t,()=>{r.$comment&&e.$comment&&Ig(t),Jk(t),n.let(F.default.vErrors,null),n.let(F.default.errors,0),r.unevaluated&&Fk(t),Pg(t),Yk(t)})}function Fk(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,j._)`${r}.evaluated`),e.if((0,j._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,j._)`${t.evaluated}.props`,(0,j._)`undefined`)),e.if((0,j._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,j._)`${t.evaluated}.items`,(0,j._)`undefined`))}function $g(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,j._)`/*# sourceURL=${r} */`:j.nil}function Bk(t,e){if(zg(t)&&(Eg(t),Tg(t))){Hk(t,e);return}(0,kg.boolOrEmptySchema)(t,e)}function Tg({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 zg(t){return typeof t.schema!="boolean"}function Hk(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&Ig(t),Kk(t),Wk(t);let s=n.const("_errs",F.default.errors);Pg(t,s),n.var(e,(0,j._)`${s} === ${F.default.errors}`)}function Eg(t){(0,Wt.checkUnknownRules)(t),Gk(t)}function Pg(t,e){if(t.opts.jtd)return xg(t,[],!1,e);let r=(0,wg.getSchemaTypes)(t.schema),n=(0,wg.coerceAndCheckDataType)(t,r);xg(t,r,!n,e)}function Gk(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 Jk(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 Kk(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,Dk.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function Wk(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function Ig({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)t.code((0,j._)`${F.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,j.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,j._)`${F.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function Yk(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=t;r.$async?e.if((0,j._)`${F.default.errors} === 0`,()=>e.return(F.default.data),()=>e.throw((0,j._)`new ${o}(${F.default.vErrors})`)):(e.assign((0,j._)`${n}.errors`,F.default.vErrors),s.unevaluated&&Qk(t),e.return((0,j._)`${F.default.errors} === 0`))}function Qk({gen:t,evaluated:e,props:r,items:n}){r instanceof j.Name&&t.assign((0,j._)`${e}.props`,r),n instanceof j.Name&&t.assign((0,j._)`${e}.items`,n)}function xg(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(()=>Ng(t,"$ref",l.all.$ref.definition));return}c.jtd||Xk(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,Ei.checkDataType)(f.type,i,c.strictNumbers)),Sg(t,f),e.length===1&&e[0]===f.type&&r&&(o.else(),(0,Ei.reportTypeError)(t)),o.endIf()):Sg(t,f),a||o.if((0,j._)`${F.default.errors} === ${n||0}`))}}function Sg(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,Zk.assignDefaults)(t,e.type),r.block(()=>{for(let s of e.rules)(0,Ml.shouldUseRule)(n,s)&&Ng(t,s.keyword,s.definition,e.type)})}function Xk(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(eR(t,e),t.opts.allowUnionTypes||tR(t,e),rR(t,t.dataTypes))}function eR(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{Og(t.dataTypes,r)||Zl(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),oR(t,e)}}function tR(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Zl(t,"use allowUnionTypes to allow union type keyword")}function rR(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=>nR(e,i))&&Zl(t,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function nR(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function Og(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function oR(t,e){let r=[];for(let n of t.dataTypes)Og(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 Pi=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",Ag(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",F.default.errors))}result(e,r,n){this.failResult((0,j.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,j.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,j._)`${r} !== undefined && (${(0,j.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=j.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=j.nil,r=j.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,j.or)((0,j._)`${o} === undefined`,r)),e!==j.nil&&n.assign(e,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==j.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,j.or)(i(),a());function i(){if(n.length){if(!(r instanceof j.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,j._)`${(0,Ei.checkDataTypes)(c,r,s.opts.strictNumbers,Ei.DataType.Wrong)}`}return j.nil}function a(){if(o.validateSchema){let c=e.scopeValue("validate$data",{ref:o.validateSchema});return(0,j._)`!${c}(${r})`}return j.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 Bk(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,j.Name)),!0}};mr.KeywordCxt=Pi;function Ng(t,e,r,n){let o=new Pi(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 sR=/^\/(?:[^~]|~0|~1)*$/,iR=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Ag(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,s;if(t==="")return F.default.rootData;if(t[0]==="/"){if(!sR.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,s=F.default.rootData}else{let u=iR.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,j._)`${s}${(0,j.getProperty)((0,Wt.unescapeJsonPointer)(u))}`,i=(0,j._)`${i} && ${s}`);return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}mr.getData=Ag});var Ii=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 Ni=E(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.resolveSchema=yt.getCompilingSchema=yt.resolveRef=yt.compileSchema=yt.SchemaEnv=void 0;var Rt=K(),aR=Ii(),Jr=Kt(),Tt=Do(),Cg=ne(),cR=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,Tt.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};yt.SchemaEnv=Nn;function Bl(t){let e=jg.call(this,t);if(e)return e;let r=(0,Tt.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new Rt.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;t.$async&&(a=i.scopeValue("Error",{ref:aR.default,code:(0,Rt._)`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:[Rt.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,Rt.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Rt.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Rt._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(t),(0,cR.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 Rt.Name?void 0:p,items:m instanceof Rt.Name?void 0:m,dynamicProps:p instanceof Rt.Name,dynamicItems:m instanceof Rt.Name},h.source&&(h.source.evaluated=(0,Rt.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)}}yt.compileSchema=Bl;function uR(t,e,r){var n;r=(0,Tt.resolveUrl)(this.opts.uriResolver,e,r);let o=t.refs[r];if(o)return o;let s=pR.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]=lR.call(this,s)}yt.resolveRef=uR;function lR(t){return(0,Tt.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:Bl.call(this,t)}function jg(t){for(let e of this._compilations)if(dR(e,t))return e}yt.getCompilingSchema=jg;function dR(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function pR(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||Oi.call(this,t,e)}function Oi(t,e){let r=this.opts.uriResolver.parse(e),n=(0,Tt._getFullPath)(this.opts.uriResolver,r),o=(0,Tt.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,Tt.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=Oi.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,Tt.normalizeId)(e)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,Tt.resolveUrl)(this.opts.uriResolver,o,u)),new Nn({schema:a,schemaId:c,root:t,baseId:o})}return Fl.call(this,r,i)}}yt.resolveSchema=Oi;var fR=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,Cg.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!fR.has(a)&&u&&(e=(0,Tt.resolveUrl)(this.opts.uriResolver,e,u))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,Cg.schemaHasRulesButRef)(r,this.RULES)){let a=(0,Tt.resolveUrl)(this.opts.uriResolver,e,r.$ref);s=Oi.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 Mg=E((Jj,mR)=>{mR.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((Kj,Ug)=>{"use strict";var hR=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Dg=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),qg=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),gR=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 yR=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Zg(t){return t.length=0,!0}function _R(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 vR(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=_R;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=Zg}else{o.push(u);continue}}return o.length&&(a===Zg?r.zone=o.join(""):i?n.push(o.join("")):n.push(Gl(o))),r.address=n.join(""),r}function Vg(t){if(bR(t,":")<2)return{host:t,isIPV6:!1};let e=vR(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 bR(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function wR(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"},xR=/[@/?#:]/g,SR=/[@/?#]/g;function Lg(t,e){let r=e?SR:xR;return r.lastIndex=0,t.replace(r,n=>$R[n])}function kR(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&&qg(i)?r+=i:r+="%"+s,n+=2;continue}}r+=t[n]}return r}function RR(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!=="."&&qg(s)?e+=s:e+="%"+o,r+=2;continue}}gR(t[r])?e+=t[r]:e+=escape(t[r])}return e}function TR(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 zR(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!Dg(r)){let n=Vg(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=Lg(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}Ug.exports={nonSimpleDomain:yR,recomposeAuthority:zR,reescapeHostDelimiters:Lg,normalizePercentEncoding:kR,normalizePathEncoding:RR,escapePreservingEscapes:TR,removeDotSegments:wR,isIPv4:Dg,isUUID:hR,normalizeIPv6:Vg,stringArrayToHexStripped:Gl}});var Jg=E((Wj,Gg)=>{"use strict";var{isUUID:ER}=Jl(),PR=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,IR=["http","https","ws","wss","urn","urn:uuid"];function OR(t){return IR.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 Fg(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function Bg(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 NR(t){return t.secure=Kl(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function AR(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 CR(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(PR);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 jR(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 MR(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!ER(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function ZR(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var Hg={scheme:"http",domainHost:!0,parse:Fg,serialize:Bg},DR={scheme:"https",domainHost:Hg.domainHost,parse:Fg,serialize:Bg},Ai={scheme:"ws",domainHost:!0,parse:NR,serialize:AR},qR={scheme:"wss",domainHost:Ai.domainHost,parse:Ai.parse,serialize:Ai.serialize},VR={scheme:"urn",parse:CR,serialize:jR,skipNormalize:!0},LR={scheme:"urn:uuid",parse:MR,serialize:ZR,skipNormalize:!0},Ci={http:Hg,https:DR,ws:Ai,wss:qR,urn:VR,"urn:uuid":LR};Object.setPrototypeOf(Ci,null);function Wl(t){return t&&(Ci[t]||Ci[t.toLowerCase()])||void 0}Gg.exports={wsIsSecure:Kl,SCHEMES:Ci,isValidSchemeName:OR,getSchemeHandler:Wl}});var ey=E((Yj,ji)=>{"use strict";var{normalizeIPv6:UR,removeDotSegments:Fo,recomposeAuthority:FR,normalizePercentEncoding:BR,normalizePathEncoding:HR,escapePreservingEscapes:GR,reescapeHostDelimiters:JR,isIPv4:KR,nonSimpleDomain:WR}=Jl(),{SCHEMES:YR,getSchemeHandler:Wg}=Jg();function QR(t,e){return typeof t=="string"?t=oT(t,e):typeof t=="object"&&(t=An(Kr(t,e),e)),t}function XR(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=Yg(An(t,n),An(e,n),n,!0);return n.skipEscape=!0,Kr(o,n)}function Yg(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 eT(t,e,r){let n=Kg(t,r),o=Kg(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=Wg(n.scheme||r.scheme);s&&s.serialize&&s.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=BR(r.path):(r.path=GR(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&o.push(r.scheme,":");let i=FR(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 tT=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u,rT=/^(?:[^#/:?]+:)?\/\/([^/?#]*)/;function nT(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 Qg(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(rT);i!==null&&i[1].indexOf("\\")!==-1&&(n.error="URI authority must not contain a literal backslash.",o=!0);let a=t.match(tT);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=nT(n,a);if(c!==void 0&&(n.error=n.error||c,o=!0),n.host)if(KR(n.host)===!1){let d=UR(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=Wg(r.scheme||n.scheme);if(!r.unicodeSupport&&(!u||!u.unicodeSupport)&&n.host&&(r.domainHost||u&&u.domainHost)&&s===!1&&WR(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=JR(unescape(n.host),s))),n.path&&(n.path=HR(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 Qg(t,e).parsed}function oT(t,e){return Xg(t,e).normalized}function Xg(t,e){let{parsed:r,malformedAuthorityOrPort:n}=Qg(t,e);return{normalized:n?t:Kr(r,e),malformedAuthorityOrPort:n}}function Kg(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:YR,normalize:QR,resolve:XR,resolveComponent:Yg,equal:eT,serialize:Kr,parse:An};ji.exports=Yl;ji.exports.default=Yl;ji.exports.fastUri=Yl});var ry=E(Ql=>{"use strict";Object.defineProperty(Ql,"__esModule",{value:!0});var ty=ey();ty.code='require("ajv/dist/runtime/uri").default';Ql.default=ty});var ly=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 sT=Lo();Object.defineProperty(Me,"KeywordCxt",{enumerable:!0,get:function(){return sT.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 iT=Ii(),ay=Uo(),aT=Rl(),Bo=Ni(),cT=K(),Ho=Do(),Mi=Zo(),ed=ne(),ny=Mg(),uT=ry(),cy=(t,e)=>new RegExp(t,e);cy.code="new RegExp";var lT=["removeAdditional","useDefaults","coerceTypes"],dT=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),pT={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."},fT={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},oy=200;function mT(t){var e,r,n,o,s,i,a,c,u,l,d,f,h,p,m,g,_,y,w,T,A,Se,_e,ot,De;let Qn=t.strict,Sa=(e=t.code)===null||e===void 0?void 0:e.optimize,Lp=Sa===!0||Sa===void 0?1:Sa||0,Up=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:cy,Yv=(o=t.uriResolver)!==null&&o!==void 0?o:uT.default;return{strictSchema:(i=(s=t.strictSchema)!==null&&s!==void 0?s:Qn)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:Qn)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:Qn)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=t.strictTuples)!==null&&d!==void 0?d:Qn)!==null&&f!==void 0?f:"log",strictRequired:(p=(h=t.strictRequired)!==null&&h!==void 0?h:Qn)!==null&&p!==void 0?p:!1,code:t.code?{...t.code,optimize:Lp,regExp:Up}:{optimize:Lp,regExp:Up},loopRequired:(m=t.loopRequired)!==null&&m!==void 0?m:oy,loopEnum:(g=t.loopEnum)!==null&&g!==void 0?g:oy,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:(T=t.schemaId)!==null&&T!==void 0?T:"$id",addUsedSchema:(A=t.addUsedSchema)!==null&&A!==void 0?A:!0,validateSchema:(Se=t.validateSchema)!==null&&Se!==void 0?Se:!0,validateFormats:(_e=t.validateFormats)!==null&&_e!==void 0?_e:!0,unicodeRegExp:(ot=t.unicodeRegExp)!==null&&ot!==void 0?ot:!0,int32range:(De=t.int32range)!==null&&De!==void 0?De:!0,uriResolver:Yv}}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,...mT(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new cT.ValueScope({scope:{},prefixes:dT,es5:r,lines:n}),this.logger=bT(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,aT.getRules)(),sy.call(this,pT,e,"NOT SUPPORTED"),sy.call(this,fT,e,"DEPRECATED","warn"),this._metaOpts=_T.call(this),e.formats&&gT.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&yT.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),hT.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=ny;n==="id"&&(o={...ny},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 ay.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=iy.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=iy.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($T.call(this,n,r),!r)return(0,ed.eachItem)(n,s=>Xl.call(this,s)),this;ST.call(this,r);let o={...r,type:(0,Mi.getJSONTypes)(r.type),schemaType:(0,Mi.getJSONTypes)(r.schemaType)};return(0,ed.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]=uy(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=iT.default;Go.MissingRefError=ay.default;Me.default=Go;function sy(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 iy(t){return t=(0,Ho.normalizeId)(t),this.schemas[t]||this.refs[t]}function hT(){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 gT(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function yT(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 _T(){let t={...this.opts};for(let e of lT)delete t[e];return t}var vT={log(){},warn(){},error(){}};function bT(t){if(t===!1)return vT;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 wT=/^[a-z_$][a-z0-9_$:-]*$/i;function $T(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(!wT.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,Mi.getJSONTypes)(e.type),schemaType:(0,Mi.getJSONTypes)(e.schemaType)}};e.before?xT.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 xT(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 ST(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=uy(e)),t.validateSchema=this.compile(e,!0))}var kT={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function uy(t){return{anyOf:[t,kT]}}});var dy=E(td=>{"use strict";Object.defineProperty(td,"__esModule",{value:!0});var RT={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};td.default=RT});var hy=E(Wr=>{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.callRef=Wr.getValidate=void 0;var TT=Uo(),py=gt(),nt=K(),jn=Kt(),fy=Ni(),Zi=ne(),zT={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=fy.resolveRef.call(c,u,o,r);if(l===void 0)throw new TT.default(n.opts.uriResolver,o,r);if(l instanceof fy.SchemaEnv)return f(l);return h(l);function d(){if(s===u)return Di(t,i,s,s.$async);let p=e.scopeValue("root",{ref:u});return Di(t,(0,nt._)`${p}.validate`,u,u.$async)}function f(p){let m=my(t,p);Di(t,m,p,p.$async)}function h(p){let m=e.scopeValue("schema",a.code.source===!0?{ref:p,code:(0,nt.stringify)(p)}:{ref:p}),g=e.name("valid"),_=t.subschema({schema:p,dataTypes:[],schemaPath:nt.nil,topSchemaRef:m,errSchemaPath:r},g);t.mergeEvaluated(_),t.ok(g)}}};function my(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,nt._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Wr.getValidate=my;function Di(t,e,r,n){let{gen:o,it:s}=t,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?jn.default.this:nt.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,nt._)`await ${(0,py.callValidateCode)(t,e,u)}`),h(e),i||o.assign(p,!0)},m=>{o.if((0,nt._)`!(${m} instanceof ${s.ValidationError})`,()=>o.throw(m)),f(m),i||o.assign(p,!1)}),t.ok(p)}function d(){t.result((0,py.callValidateCode)(t,e,u),()=>h(e),()=>f(e))}function f(p){let m=(0,nt._)`${p}.errors`;o.assign(jn.default.vErrors,(0,nt._)`${jn.default.vErrors} === null ? ${m} : ${jn.default.vErrors}.concat(${m})`),o.assign(jn.default.errors,(0,nt._)`${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=Zi.mergeEvaluated.props(o,g.props,s.props));else{let _=o.var("props",(0,nt._)`${p}.evaluated.props`);s.props=Zi.mergeEvaluated.props(o,_,s.props,nt.Name)}if(s.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(s.items=Zi.mergeEvaluated.items(o,g.items,s.items));else{let _=o.var("items",(0,nt._)`${p}.evaluated.items`);s.items=Zi.mergeEvaluated.items(o,_,s.items,nt.Name)}}}Wr.callRef=Di;Wr.default=zT});var gy=E(rd=>{"use strict";Object.defineProperty(rd,"__esModule",{value:!0});var ET=dy(),PT=hy(),IT=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",ET.default,PT.default];rd.default=IT});var yy=E(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});var qi=K(),hr=qi.operators,Vi={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}},OT={message:({keyword:t,schemaCode:e})=>(0,qi.str)`must be ${Vi[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,qi._)`{comparison: ${Vi[t].okStr}, limit: ${e}}`},NT={keyword:Object.keys(Vi),type:"number",schemaType:"number",$data:!0,error:OT,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,qi._)`${r} ${Vi[e].fail} ${n} || isNaN(${r})`)}};nd.default=NT});var _y=E(od=>{"use strict";Object.defineProperty(od,"__esModule",{value:!0});var Jo=K(),AT={message:({schemaCode:t})=>(0,Jo.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,Jo._)`{multipleOf: ${t}}`},CT={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:AT,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=CT});var by=E(sd=>{"use strict";Object.defineProperty(sd,"__esModule",{value:!0});function vy(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=vy;vy.code='require("ajv/dist/runtime/ucs2length").default'});var wy=E(id=>{"use strict";Object.defineProperty(id,"__esModule",{value:!0});var Yr=K(),jT=ne(),MT=by(),ZT={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}}`},DT={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:ZT,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,jT.useFunc)(t.gen,MT.default)}(${r})`;t.fail$data((0,Yr._)`${i} ${s} ${n}`)}};id.default=DT});var $y=E(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});var qT=gt(),VT=ne(),Mn=K(),LT={message:({schemaCode:t})=>(0,Mn.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,Mn._)`{pattern: ${t}}`},UT={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:LT,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,VT.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,qT.usePattern)(t,o);t.fail$data((0,Mn._)`!${c}.test(${r})`)}}};ad.default=UT});var xy=E(cd=>{"use strict";Object.defineProperty(cd,"__esModule",{value:!0});var Ko=K(),FT={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}}`},BT={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:FT,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=BT});var Sy=E(ud=>{"use strict";Object.defineProperty(ud,"__esModule",{value:!0});var Wo=gt(),Yo=K(),HT=ne(),GT={message:({params:{missingProperty:t}})=>(0,Yo.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,Yo._)`{missingProperty: ${t}}`},JT={keyword:"required",type:"object",schemaType:"array",$data:!0,error:GT,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,HT.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=JT});var ky=E(ld=>{"use strict";Object.defineProperty(ld,"__esModule",{value:!0});var Qo=K(),KT={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,Qo.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,Qo._)`{limit: ${t}}`},WT={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:KT,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxItems"?Qo.operators.GT:Qo.operators.LT;t.fail$data((0,Qo._)`${r}.length ${o} ${n}`)}};ld.default=WT});var Li=E(dd=>{"use strict";Object.defineProperty(dd,"__esModule",{value:!0});var Ry=Al();Ry.code='require("ajv/dist/runtime/equal").default';dd.default=Ry});var Ty=E(fd=>{"use strict";Object.defineProperty(fd,"__esModule",{value:!0});var pd=Zo(),Ze=K(),YT=ne(),QT=Li(),XT={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}}`},ez={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:XT,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,YT.useFunc)(e,QT.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=ez});var zy=E(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});var md=K(),tz=ne(),rz=Li(),nz={message:"must be equal to constant",params:({schemaCode:t})=>(0,md._)`{allowedValue: ${t}}`},oz={keyword:"const",$data:!0,error:nz,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,tz.useFunc)(e,rz.default)}(${r}, ${o})`):t.fail((0,md._)`${s} !== ${r}`)}};hd.default=oz});var Ey=E(gd=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});var Xo=K(),sz=ne(),iz=Li(),az={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,Xo._)`{allowedValues: ${t}}`},cz={keyword:"enum",schemaType:"array",$data:!0,error:az,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,sz.useFunc)(e,iz.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,Xo.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,Xo._)`${u()}(${r}, ${h})`,()=>e.assign(l,!0).break()))}function f(h,p){let m=o[p];return typeof m=="object"&&m!==null?(0,Xo._)`${u()}(${r}, ${h}[${p}])`:(0,Xo._)`${r} === ${m}`}}};gd.default=cz});var Py=E(yd=>{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});var uz=yy(),lz=_y(),dz=wy(),pz=$y(),fz=xy(),mz=Sy(),hz=ky(),gz=Ty(),yz=zy(),_z=Ey(),vz=[uz.default,lz.default,dz.default,pz.default,fz.default,mz.default,hz.default,gz.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},yz.default,_z.default];yd.default=vz});var vd=E(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});es.validateAdditionalItems=void 0;var Qr=K(),_d=ne(),bz={message:({params:{len:t}})=>(0,Qr.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Qr._)`{limit: ${t}}`},wz={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:bz,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}Iy(t,n)}};function Iy(t,e){let{gen:r,schema:n,data:o,keyword:s,it:i}=t;i.items=!0;let a=r.const("len",(0,Qr._)`${o}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,Qr._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0,_d.alwaysValidSchema)(i,n)){let u=r.var("valid",(0,Qr._)`${a} <= ${e.length}`);r.if((0,Qr.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,Qr.not)(u),()=>r.break())})}}es.validateAdditionalItems=Iy;es.default=wz});var bd=E(ts=>{"use strict";Object.defineProperty(ts,"__esModule",{value:!0});ts.validateTuple=void 0;var Oy=K(),Ui=ne(),$z=gt(),xz={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return Ny(t,"additionalItems",e);r.items=!0,!(0,Ui.alwaysValidSchema)(r,e)&&t.ok((0,$z.validateArray)(t))}};function Ny(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=Ui.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,Oy._)`${s}.length`);r.forEach((d,f)=>{(0,Ui.alwaysValidSchema)(a,d)||(n.if((0,Oy._)`${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,Ui.checkStrictMode)(a,g,f.strictTuples)}}}ts.validateTuple=Ny;ts.default=xz});var Ay=E(wd=>{"use strict";Object.defineProperty(wd,"__esModule",{value:!0});var Sz=bd(),kz={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,Sz.validateTuple)(t,"items")};wd.default=kz});var jy=E($d=>{"use strict";Object.defineProperty($d,"__esModule",{value:!0});var Cy=K(),Rz=ne(),Tz=gt(),zz=vd(),Ez={message:({params:{len:t}})=>(0,Cy.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Cy._)`{limit: ${t}}`},Pz={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Ez,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,Rz.alwaysValidSchema)(n,e)&&(o?(0,zz.validateAdditionalItems)(t,o):t.ok((0,Tz.validateArray)(t)))}};$d.default=Pz});var My=E(xd=>{"use strict";Object.defineProperty(xd,"__esModule",{value:!0});var _t=K(),Fi=ne(),Iz={message:({params:{min:t,max:e}})=>e===void 0?(0,_t.str)`must contain at least ${t} valid item(s)`:(0,_t.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,_t._)`{minContains: ${t}}`:(0,_t._)`{minContains: ${t}, maxContains: ${e}}`},Oz={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Iz,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,_t._)`${o}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0,Fi.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,Fi.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,Fi.alwaysValidSchema)(s,r)){let m=(0,_t._)`${l} >= ${i}`;a!==void 0&&(m=(0,_t._)`${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,_t._)`${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:Fi.Type.Num,compositeRule:!0},m),g()})}function p(m){e.code((0,_t._)`${m}++`),a===void 0?e.if((0,_t._)`${m} >= ${i}`,()=>e.assign(d,!0).break()):(e.if((0,_t._)`${m} > ${a}`,()=>e.assign(d,!1).break()),i===1?e.assign(d,!0):e.if((0,_t._)`${m} >= ${i}`,()=>e.assign(d,!0)))}}};xd.default=Oz});var qy=E(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.validateSchemaDeps=Mt.validatePropertyDeps=Mt.error=void 0;var Sd=K(),Nz=ne(),rs=gt();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 Nz={keyword:"dependencies",type:"object",schemaType:"object",error:Mt.error,code(t){let[e,r]=Az(t);Zy(t,e),Dy(t,r)}};function Az({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 Zy(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=Zy;function Dy(t,e=t.schema){let{gen:r,data:n,keyword:o,it:s}=t,i=r.name("valid");for(let a in e)(0,Oz.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=Dy;Mt.default=Nz});var Ly=E(kd=>{"use strict";Object.defineProperty(kd,"__esModule",{value:!0});var Vy=K(),Cz=ne(),jz={message:"property name must be valid",params:({params:t})=>(0,Vy._)`{propertyName: ${t.propertyName}}`},Mz={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:jz,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,Cz.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,Vy.not)(s),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(s)}};kd.default=Mz});var Td=E(Rd=>{"use strict";Object.defineProperty(Rd,"__esModule",{value:!0});var Bi=gt(),zt=K(),Zz=Kt(),Hi=ne(),Dz={message:"must NOT have additional properties",params:({params:t})=>(0,zt._)`{additionalProperty: ${t.additionalProperty}}`},qz={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Dz,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,Hi.alwaysValidSchema)(i,r))return;let u=(0,Bi.allSchemaProperties)(n.properties),l=(0,Bi.allSchemaProperties)(n.patternProperties);d(),t.ok((0,zt._)`${s} === ${Zz.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,Hi.schemaRefOrVal)(i,n.properties,"properties");_=(0,Bi.isOwnProperty)(e,y,g)}else u.length?_=(0,zt.or)(...u.map(y=>(0,zt._)`${g} === ${y}`)):_=zt.nil;return l.length&&(_=(0,zt.or)(_,...l.map(y=>(0,zt._)`${(0,Bi.usePattern)(t,y)}.test(${g})`))),(0,zt.not)(_)}function h(g){e.code((0,zt._)`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,Hi.alwaysValidSchema)(i,r)){let _=e.name("valid");c.removeAdditional==="failing"?(m(g,_,!1),e.if((0,zt.not)(_),()=>{t.reset(),h(g)})):(m(g,_),a||e.if((0,zt.not)(_),()=>e.break()))}}function m(g,_,y){let w={keyword:"additionalProperties",dataProp:g,dataPropType:Hi.Type.Str};y===!1&&Object.assign(w,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(w,_)}}};Rd.default=qz});var By=E(Ed=>{"use strict";Object.defineProperty(Ed,"__esModule",{value:!0});var Vz=Lo(),Uy=gt(),zd=ne(),Fy=Td(),Lz={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&&Fy.default.code(new Vz.KeywordCxt(s,Fy.default,"additionalProperties"));let i=(0,Uy.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,Uy.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=Lz});var Ky=E(Pd=>{"use strict";Object.defineProperty(Pd,"__esModule",{value:!0});var Hy=gt(),Gi=K(),Gy=ne(),Jy=ne(),Uz={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,Hy.allSchemaProperties)(r),c=a.filter(m=>(0,Gy.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 Gi.Name)&&(s.props=(0,Jy.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,Gy.checkStrictMode)(s,`property ${g} matches pattern ${m} (use allowMatchingProperties)`)}function p(m){e.forIn("key",n,g=>{e.if((0,Gi._)`${(0,Hy.usePattern)(t,m)}.test(${g})`,()=>{let _=c.includes(m);_||t.subschema({keyword:"patternProperties",schemaProp:m,dataProp:g,dataPropType:Jy.Type.Str},l),s.opts.unevaluated&&d!==!0?e.assign((0,Gi._)`${d}[${g}]`,!0):!_&&!s.allErrors&&e.if((0,Gi.not)(l),()=>e.break())})})}}};Pd.default=Uz});var Wy=E(Id=>{"use strict";Object.defineProperty(Id,"__esModule",{value:!0});var Fz=ne(),Bz={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,Fz.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=Bz});var Yy=E(Od=>{"use strict";Object.defineProperty(Od,"__esModule",{value:!0});var Hz=gt(),Gz={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Hz.validateUnion,error:{message:"must match a schema in anyOf"}};Od.default=Gz});var Xy=E(Nd=>{"use strict";Object.defineProperty(Nd,"__esModule",{value:!0});var Ji=K(),Jz=ne(),Kz={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,Ji._)`{passingSchemas: ${t.passing}}`},Wz={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Kz,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,Jz.alwaysValidSchema)(o,l)?e.var(c,!0):f=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,Ji._)`${c} && ${i}`).assign(i,!1).assign(a,(0,Ji._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(i,!0),e.assign(a,d),f&&t.mergeEvaluated(f,Ji.Name)})})}}};Nd.default=Wz});var Qy=E(Ad=>{"use strict";Object.defineProperty(Ad,"__esModule",{value:!0});var Yz=ne(),Xz={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,Yz.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:i},o);t.ok(o),t.mergeEvaluated(a)})}};Ad.default=Xz});var r_=E(Cd=>{"use strict";Object.defineProperty(Cd,"__esModule",{value:!0});var Ki=K(),t_=ne(),Qz={message:({params:t})=>(0,Ki.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,Ki._)`{failingKeyword: ${t.ifClause}}`},eE={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:Qz,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,t_.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=e_(n,"then"),s=e_(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,Ki.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,Ki._)`${l}`):t.setParams({ifClause:l})}}}};function e_(t,e){let r=t.schema[e];return r!==void 0&&!(0,t_.alwaysValidSchema)(t,r)}Cd.default=eE});var n_=E(jd=>{"use strict";Object.defineProperty(jd,"__esModule",{value:!0});var tE=ne(),rE={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,tE.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};jd.default=rE});var o_=E(Md=>{"use strict";Object.defineProperty(Md,"__esModule",{value:!0});var nE=vd(),oE=Ay(),sE=bd(),iE=jy(),aE=My(),cE=qy(),uE=Ly(),lE=Td(),dE=By(),pE=Ky(),fE=Wy(),mE=Yy(),hE=Xy(),gE=Qy(),yE=r_(),_E=n_();function vE(t=!1){let e=[fE.default,mE.default,hE.default,gE.default,yE.default,_E.default,uE.default,lE.default,cE.default,dE.default,pE.default];return t?e.push(oE.default,iE.default):e.push(nE.default,sE.default),e.push(aE.default),e}Md.default=vE});var s_=E(Zd=>{"use strict";Object.defineProperty(Zd,"__esModule",{value:!0});var ke=K(),bE={message:({schemaCode:t})=>(0,ke.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,ke._)`{format: ${t}}`},wE={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:bE,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,ke._)`${p}[${i}]`),g=r.let("fType"),_=r.let("format");r.if((0,ke._)`typeof ${m} == "object" && !(${m} instanceof RegExp)`,()=>r.assign(g,(0,ke._)`${m}.type || "string"`).assign(_,(0,ke._)`${m}.validate`),()=>r.assign(g,(0,ke._)`"string"`).assign(_,m)),t.fail$data((0,ke.or)(y(),w()));function y(){return c.strictSchema===!1?ke.nil:(0,ke._)`${i} && !${_}`}function w(){let T=l.$async?(0,ke._)`(${m}.async ? await ${_}(${n}) : ${_}(${n}))`:(0,ke._)`${_}(${n})`,A=(0,ke._)`(typeof ${_} == "function" ? ${T} : ${_}.test(${n}))`;return(0,ke._)`${_} && ${_} !== true && ${g} === ${e} && !${A}`}}function h(){let p=d.formats[s];if(!p){y();return}if(p===!0)return;let[m,g,_]=w(p);m===e&&t.pass(T());function y(){if(c.strictSchema===!1){d.logger.warn(A());return}throw new Error(A());function A(){return`unknown format "${s}" ignored in schema at path "${u}"`}}function w(A){let Se=A instanceof RegExp?(0,ke.regexpCode)(A):c.code.formats?(0,ke._)`${c.code.formats}${(0,ke.getProperty)(s)}`:void 0,_e=r.scopeValue("formats",{key:s,ref:A,code:Se});return typeof A=="object"&&!(A instanceof RegExp)?[A.type||"string",A.validate,(0,ke._)`${_e}.validate`]:["string",A,_e]}function T(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!l.$async)throw new Error("async format in sync schema");return(0,ke._)`await ${_}(${n})`}return typeof g=="function"?(0,ke._)`${_}(${n})`:(0,ke._)`${_}.test(${n})`}}}};Zd.default=wE});var i_=E(Dd=>{"use strict";Object.defineProperty(Dd,"__esModule",{value:!0});var $E=s_(),xE=[$E.default];Dd.default=xE});var a_=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 u_=E(qd=>{"use strict";Object.defineProperty(qd,"__esModule",{value:!0});var SE=gy(),kE=Py(),RE=o_(),TE=i_(),c_=a_(),zE=[SE.default,kE.default,(0,RE.default)(),TE.default,c_.metadataVocabulary,c_.contentVocabulary];qd.default=zE});var d_=E(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});Wi.DiscrError=void 0;var l_;(function(t){t.Tag="tag",t.Mapping="mapping"})(l_||(Wi.DiscrError=l_={}))});var f_=E(Ld=>{"use strict";Object.defineProperty(Ld,"__esModule",{value:!0});var Dn=K(),Vd=d_(),p_=Ni(),EE=Uo(),PE=ne(),IE={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}}`},OE={keyword:"discriminator",type:"object",schemaType:"object",error:IE,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 T=0;T<i.length;T++){let A=i[T];if(A?.$ref&&!(0,PE.schemaHasRulesButRef)(A,s.self.RULES)){let _e=A.$ref;if(A=p_.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,_e),A instanceof p_.SchemaEnv&&(A=A.schema),A===void 0)throw new EE.default(s.opts.uriResolver,s.baseId,_e)}let Se=(h=A?.properties)===null||h===void 0?void 0:h[a];if(typeof Se!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);g=g&&(m||_(A)),y(Se,T)}if(!g)throw new Error(`discriminator: "${a}" must be required`);return p;function _({required:T}){return Array.isArray(T)&&T.includes(a)}function y(T,A){if(T.const)w(T.const,A);else if(T.enum)for(let Se of T.enum)w(Se,A);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function w(T,A){if(typeof T!="string"||T in p)throw new Error(`discriminator: "${a}" values must be unique strings`);p[T]=A}}}};Ld.default=OE});var m_=E((jM,NE)=>{NE.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 AE=ly(),CE=u_(),jE=f_(),h_=m_(),ME=["/properties"],Yi="http://json-schema.org/draft-07/schema",qn=class extends AE.default{_addVocabularies(){super._addVocabularies(),CE.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(jE.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(h_,ME):h_;this.addMetaSchema(e,Yi,!1),this.refs["http://json-schema.org/schema"]=Yi}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Yi)?Yi:void 0)}};ye.Ajv=qn;Ud.exports=ye=qn;Ud.exports.Ajv=qn;Object.defineProperty(ye,"__esModule",{value:!0});ye.default=qn;var ZE=Lo();Object.defineProperty(ye,"KeywordCxt",{enumerable:!0,get:function(){return ZE.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 DE=Ii();Object.defineProperty(ye,"ValidationError",{enumerable:!0,get:function(){return DE.default}});var qE=Uo();Object.defineProperty(ye,"MissingRefError",{enumerable:!0,get:function(){return qE.default}})});var x_=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(v_,Jd),time:Zt(Hd(!0),Kd),"date-time":Zt(g_(!0),w_),"iso-time":Zt(Hd(),b_),"iso-date-time":Zt(g_(),$_),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:HE,"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:QE,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:GE,int32:{type:"number",validate:WE},int64:{type:"number",validate:YE},float:{type:"number",validate:__},double:{type:"number",validate:__},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,w_),"iso-time":Zt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,b_),"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,$_),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 VE(t){return t%4===0&&(t%100!==0||t%400===0)}var LE=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,UE=[0,31,28,31,30,31,30,31,31,30,31,30,31];function v_(t){let e=LE.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&&VE(r)?29:UE[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 b_(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 g_(t){let e=Hd(t);return function(n){let o=n.split(Gd);return o.length===2&&v_(o[0])&&e(o[1])}}function w_(t,e){if(!(t&&e))return;let r=new Date(t).valueOf(),n=new Date(e).valueOf();if(r&&n)return r-n}function $_(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 FE=/\/|:/,BE=/^(?:[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 HE(t){return FE.test(t)&&BE.test(t)}var y_=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function GE(t){return y_.lastIndex=0,y_.test(t)}var JE=-(2**31),KE=2**31-1;function WE(t){return Number.isInteger(t)&&t<=KE&&t>=JE}function YE(t){return Number.isInteger(t)}function __(){return!0}var XE=/[^\\]\\Z/;function QE(t){if(XE.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var S_=E(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.formatLimitDefinition=void 0;var eP=Fd(),Et=K(),gr=Et.operators,Xi={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}},tP={message:({keyword:t,schemaCode:e})=>(0,Et.str)`should be ${Xi[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Et._)`{comparison: ${Xi[t].okStr}, limit: ${e}}`};Ln.formatLimitDefinition={keyword:Object.keys(Xi),type:"string",schemaType:"string",$data:!0,error:tP,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 eP.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,Et._)`${f}[${c.schemaCode}]`);t.fail$data((0,Et.or)((0,Et._)`typeof ${h} != "object"`,(0,Et._)`${h} instanceof RegExp`,(0,Et._)`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,Et._)`${i.code.formats}${(0,Et.getProperty)(f)}`:void 0});t.fail$data(d(p))}function d(f){return(0,Et._)`${f}.compare(${r}, ${n}) ${Xi[o].fail} 0`}},dependencies:["format"]};var rP=t=>(t.addKeyword(Ln.formatLimitDefinition),t);Ln.default=rP});var z_=E((ns,T_)=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});var Un=x_(),nP=S_(),Wd=K(),k_=new Wd.Name("fullFormats"),oP=new Wd.Name("fastFormats"),Yd=(t,e={keywords:!0})=>{if(Array.isArray(e))return R_(t,e,Un.fullFormats,k_),t;let[r,n]=e.mode==="fast"?[Un.fastFormats,oP]:[Un.fullFormats,k_],o=e.formats||Un.formatNames;return R_(t,o,r,n),e.keywords&&(0,nP.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 R_(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])}T_.exports=ns=Yd;Object.defineProperty(ns,"__esModule",{value:!0});ns.default=Yd});var U={};Ra(U,{BRAND:()=>zb,DIRTY:()=>vr,EMPTY_PATH:()=>ib,INVALID:()=>D,NEVER:()=>dw,OK:()=>qe,ParseStatus:()=>Ne,Schema:()=>J,ZodAny:()=>er,ZodArray:()=>Ft,ZodBigInt:()=>wr,ZodBoolean:()=>$r,ZodBranded:()=>eo,ZodCatch:()=>Nr,ZodDate:()=>xr,ZodDefault:()=>Or,ZodDiscriminatedUnion:()=>bs,ZodEffects:()=>dt,ZodEnum:()=>Pr,ZodError:()=>Ke,ZodFirstPartyTypeKind:()=>S,ZodFunction:()=>$s,ZodIntersection:()=>Tr,ZodIssueCode:()=>x,ZodLazy:()=>zr,ZodLiteral:()=>Er,ZodMap:()=>pn,ZodNaN:()=>mn,ZodNativeEnum:()=>Ir,ZodNever:()=>wt,ZodNull:()=>kr,ZodNullable:()=>Nt,ZodNumber:()=>br,ZodObject:()=>Ye,ZodOptional:()=>We,ZodParsedType:()=>P,ZodPipeline:()=>to,ZodPromise:()=>tr,ZodReadonly:()=>Ar,ZodRecord:()=>ws,ZodSchema:()=>J,ZodSet:()=>fn,ZodString:()=>Qt,ZodSymbol:()=>ln,ZodTransformer:()=>dt,ZodTuple:()=>Ot,ZodType:()=>J,ZodUndefined:()=>Sr,ZodUnion:()=>Rr,ZodUnknown:()=>Ut,ZodVoid:()=>dn,addIssueToContext:()=>z,any:()=>Mb,array:()=>Vb,bigint:()=>Ob,boolean:()=>tf,coerce:()=>lw,custom:()=>Xp,date:()=>Nb,datetimeRegex:()=>Wp,defaultErrorMap:()=>Vt,discriminatedUnion:()=>Fb,effect:()=>rw,enum:()=>Qb,function:()=>Wb,getErrorMap:()=>an,getParsedType:()=>It,instanceof:()=>Pb,intersection:()=>Bb,isAborted:()=>_s,isAsync:()=>cn,isDirty:()=>vs,isValid:()=>Xt,late:()=>Eb,lazy:()=>Yb,literal:()=>Xb,makeIssue:()=>Qn,map:()=>Jb,nan:()=>Ib,nativeEnum:()=>ew,never:()=>Db,null:()=>jb,nullable:()=>ow,number:()=>ef,object:()=>Pa,objectUtil:()=>Ta,oboolean:()=>uw,onumber:()=>cw,optional:()=>nw,ostring:()=>aw,pipeline:()=>iw,preprocess:()=>sw,promise:()=>tw,quotelessJson:()=>nb,record:()=>Gb,set:()=>Kb,setErrorMap:()=>sb,strictObject:()=>Lb,string:()=>Qp,symbol:()=>Ab,transformer:()=>rw,tuple:()=>Hb,undefined:()=>Cb,union:()=>Ub,unknown:()=>Zb,util:()=>X,void:()=>qb});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"]),nb=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 ob=(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=ob;var Bp=Vt;function sb(t){Bp=t}function an(){return Bp}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}},ib=[];function z(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}),_s=t=>t.status==="aborted",vs=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 lt=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}},Hp=(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 Hp(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 Hp(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 dt({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 dt({...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}},ab=/^c[^\s-]{8,}$/i,cb=/^[0-9a-z]+$/,ub=/^[0-9A-HJKMNP-TV-Z]{26}$/i,lb=/^[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,db=/^[a-z0-9_-]{21}$/i,pb=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,fb=/^[-+]?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)?)??$/,mb=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,hb="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",za,gb=/^(?:(?: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])$/,yb=/^(?:(?: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])$/,_b=/^(([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]))$/,vb=/^(([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])$/,bb=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,wb=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Jp="((\\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])))",$b=new RegExp(`^${Jp}$`);function Kp(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 xb(t){return new RegExp(`^${Kp(t)}$`)}function Wp(t){let e=`${Jp}T${Kp(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 Sb(t,e){return!!((e==="v4"||!e)&&gb.test(t)||(e==="v6"||!e)&&_b.test(t))}function kb(t,e){if(!pb.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 Rb(t,e){return!!((e==="v4"||!e)&&yb.test(t)||(e==="v6"||!e)&&vb.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 z(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),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")mb.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(hb,"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")lb.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")db.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")ab.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")cb.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")ub.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"?Wp(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"?$b.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{code:x.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?xb(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"?fb.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"duration",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?Sb(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"?kb(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"?Rb(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"?bb.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"base64",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?wb.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}};Qt.create=t=>new Qt({checks:[],typeName:S.ZodString,coerce:t?.coerce??!1,...H(t)});function Tb(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 z(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),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"?Tb(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)}};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),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}};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 z(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 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 Ne,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}};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 z(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 z(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 z(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 wt=class extends J{_parse(e){let r=this._getOrReturnCtx(e);return z(r,{code:x.invalid_type,expected:P.never,received:r.parsedType}),D}};wt.create=t=>new wt({typeName:S.ZodNever,...H(t)});var dn=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 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 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 lt(r,i,r.path,a)))).then(i=>Ne.mergeArray(n,i));let s=[...r.data].map((i,a)=>o.type._parseSync(new lt(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 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 wt&&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 lt(o,d,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof wt){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 lt(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 Yp(X.objectKeys(this.shape))}};Ye.create=(t,e)=>new Ye({shape:()=>t,unknownKeys:"strip",catchall:wt.create(),typeName:S.ZodObject,...H(e)});Ye.strictCreate=(t,e)=>new Ye({shape:()=>t,unknownKeys:"strict",catchall:wt.create(),typeName:S.ZodObject,...H(e)});Ye.lazycreate=(t,e)=>new Ye({shape:t,unknownKeys:"strip",catchall:wt.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 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 Ke(c));return z(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 dt?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):[],bs=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=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(_s(s)||_s(i))return D;let a=Ea(s.value,i.value);return a.valid?((vs(s)||vs(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}))}};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 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 lt(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 ws=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 lt(n,a,n.path,a)),value:i._parse(new lt(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 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 lt(n,a,n.path,[u,"key"])),value:s._parse(new lt(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 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 lt(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 $s=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 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 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}};Er.create=(t,e)=>new Er({value:t,typeName:S.ZodLiteral,...H(e)});function Yp(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 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 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=Yp;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 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 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 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 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 dt=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"?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)}};dt.create=(t,e,r)=>new dt({schema:t,typeName:S.ZodEffects,effect:e,...H(r)});dt.createWithPreprocess=(t,e,r)=>new dt({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 z(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 zb=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 Gp(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function Xp(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=Gp(e,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!s){let i=Gp(e,n),a=i.fatal??r??!0;o.addIssue({code:"custom",...i,fatal:a})}}):er.create()}var Eb={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 Pb=(t,e={message:`Input not instance of ${t.name}`})=>Xp(r=>r instanceof t,e),Qp=Qt.create,ef=br.create,Ib=mn.create,Ob=wr.create,tf=$r.create,Nb=xr.create,Ab=ln.create,Cb=Sr.create,jb=kr.create,Mb=er.create,Zb=Ut.create,Db=wt.create,qb=dn.create,Vb=Ft.create,Pa=Ye.create,Lb=Ye.strictCreate,Ub=Rr.create,Fb=bs.create,Bb=Tr.create,Hb=Ot.create,Gb=ws.create,Jb=pn.create,Kb=fn.create,Wb=$s.create,Yb=zr.create,Xb=Er.create,Qb=Pr.create,ew=Ir.create,tw=tr.create,rw=dt.create,nw=We.create,ow=Nt.create,sw=dt.createWithPreprocess,iw=to.create,aw=()=>Qp().optional(),cw=()=>ef().optional(),uw=()=>tf().optional(),lw={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 dw=D;var pw=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 fw=Symbol("zod_brand"),Bt=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},xs={};function st(t){return t&&Object.assign(xs,t),xs}var Q={};Ra(Q,{BIGINT_FORMAT_RANGES:()=>nf,Class:()=>Oa,NUMBER_FORMAT_RANGES:()=>Da,aborted:()=>jr,allowsEval:()=>ja,assert:()=>_w,assertEqual:()=>mw,assertIs:()=>gw,assertNever:()=>yw,assertNotEqual:()=>hw,assignProp:()=>Ca,cached:()=>oo,captureStackTrace:()=>ks,cleanEnum:()=>Iw,cleanRegex:()=>io,clone:()=>it,createTransparentProxy:()=>Sw,defineLazy:()=>de,esc:()=>Cr,escapeRegex:()=>rr,extend:()=>Tw,finalizeIssue:()=>$t,floatSafeRemainder:()=>Aa,getElementAtPath:()=>vw,getEnumValues:()=>no,getLengthableOrigin:()=>ao,getParsedType:()=>xw,getSizableOrigin:()=>of,isObject:()=>hn,isPlainObject:()=>gn,issue:()=>qa,joinValues:()=>Ss,jsonStringifyReplacer:()=>Na,merge:()=>zw,normalizeParams:()=>q,nullish:()=>so,numKeys:()=>$w,omit:()=>Rw,optionalKeys:()=>Za,partial:()=>Ew,pick:()=>kw,prefixIssues:()=>At,primitiveTypes:()=>rf,promiseAllObject:()=>bw,propertyKeyTypes:()=>Ma,randomString:()=>ww,required:()=>Pw,stringifyPrimitive:()=>Rs,unwrapMessage:()=>ro});function mw(t){return t}function hw(t){return t}function gw(t){}function yw(t){throw new Error}function _w(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 Ss(t,e="|"){return t.map(r=>Rs(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 vw(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function bw(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 ww(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 ks=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 $w(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var xw=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"]),rf=new Set(["string","number","bigint","boolean","symbol","undefined"]);function rr(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function it(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 Sw(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 Rs(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]},nf={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function kw(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 it(t,{...t._zod.def,shape:r,checks:[]})}function Rw(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 it(t,{...t._zod.def,shape:r,checks:[]})}function Tw(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 it(t,r)}function zw(t,e){return it(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 Ew(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 it(e,{...e._zod.def,shape:o,checks:[]})}function Pw(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 it(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 $t(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 of(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 Iw(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}var Oa=class{constructor(...e){}};var sf=(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})},Ts=b("$ZodError",sf),co=b("$ZodError",sf,{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=>$t(c,s,st())));throw ks(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=>$t(c,s,st())));throw ks(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??Ts)(s.issues.map(i=>$t(i,o,st())))}:{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=>$t(i,o,st())))}:{success:!0,data:s.value}},Zr=Ja(co);var af=/^[cC][^\s-]{8,}$/,cf=/^[0-9a-z]+$/,uf=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,lf=/^[0-9a-vA-V]{20}$/,df=/^[A-Za-z0-9]{27}$/,pf=/^[a-zA-Z0-9_-]{21}$/,ff=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var mf=/^([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 hf=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var Nw="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function gf(){return new RegExp(Nw,"u")}var 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])$/,_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})$/,vf=/^((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])$/,bf=/^(([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])$/,wf=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Wa=/^[A-Za-z0-9_-]*$/,$f=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var xf=/^\+(?:[0-9]){6,14}[0-9]$/,Sf="(?:(?:\\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])))",kf=new RegExp(`^${Sf}$`);function Rf(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 Tf(t){return new RegExp(`^${Rf(t)}$`)}function zf(t){let e=Rf({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(`^${Sf}T(?:${n})$`)}var Ef=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)};var Pf=/^\d+$/,If=/^-?\d+(?:\.\d+)?/i,Of=/true|false/i,Nf=/null/i;var Af=/^[^A-Z]*$/,Cf=/^[^a-z]*$/;var Ae=b("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),jf={number:"number",bigint:"bigint",object:"date"},Ya=b("$ZodCheckLessThan",(t,e)=>{Ae.init(t,e);let r=jf[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=jf[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})}}),Mf=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})}}),Zf=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=Pf)}),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 Df=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})}}),qf=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})}}),Vf=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=()=>{})}),Lf=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})}}),Uf=b("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=Af),uo.init(t,e)}),Ff=b("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=Cf),uo.init(t,e)}),Bf=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})}}),Hf=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})}}),Gf=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 Jf=b("$ZodCheckOverwrite",(t,e)=>{Ae.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});var Es=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 Az={keyword:"dependencies",type:"object",schemaType:"object",error:Mt.error,code(t){let[e,r]=Cz(t);Zy(t,e),Dy(t,r)}};function Cz({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 Zy(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=Zy;function Dy(t,e=t.schema){let{gen:r,data:n,keyword:o,it:s}=t,i=r.name("valid");for(let a in e)(0,Nz.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=Dy;Mt.default=Az});var Ly=E(kd=>{"use strict";Object.defineProperty(kd,"__esModule",{value:!0});var Vy=K(),jz=ne(),Mz={message:"property name must be valid",params:({params:t})=>(0,Vy._)`{propertyName: ${t.propertyName}}`},Zz={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Mz,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,jz.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,Vy.not)(s),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(s)}};kd.default=Zz});var Td=E(Rd=>{"use strict";Object.defineProperty(Rd,"__esModule",{value:!0});var Bi=gt(),zt=K(),Dz=Kt(),Hi=ne(),qz={message:"must NOT have additional properties",params:({params:t})=>(0,zt._)`{additionalProperty: ${t.additionalProperty}}`},Vz={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:qz,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,Hi.alwaysValidSchema)(i,r))return;let u=(0,Bi.allSchemaProperties)(n.properties),l=(0,Bi.allSchemaProperties)(n.patternProperties);d(),t.ok((0,zt._)`${s} === ${Dz.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,Hi.schemaRefOrVal)(i,n.properties,"properties");_=(0,Bi.isOwnProperty)(e,y,g)}else u.length?_=(0,zt.or)(...u.map(y=>(0,zt._)`${g} === ${y}`)):_=zt.nil;return l.length&&(_=(0,zt.or)(_,...l.map(y=>(0,zt._)`${(0,Bi.usePattern)(t,y)}.test(${g})`))),(0,zt.not)(_)}function h(g){e.code((0,zt._)`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,Hi.alwaysValidSchema)(i,r)){let _=e.name("valid");c.removeAdditional==="failing"?(m(g,_,!1),e.if((0,zt.not)(_),()=>{t.reset(),h(g)})):(m(g,_),a||e.if((0,zt.not)(_),()=>e.break()))}}function m(g,_,y){let w={keyword:"additionalProperties",dataProp:g,dataPropType:Hi.Type.Str};y===!1&&Object.assign(w,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(w,_)}}};Rd.default=Vz});var By=E(Ed=>{"use strict";Object.defineProperty(Ed,"__esModule",{value:!0});var Lz=Lo(),Uy=gt(),zd=ne(),Fy=Td(),Uz={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&&Fy.default.code(new Lz.KeywordCxt(s,Fy.default,"additionalProperties"));let i=(0,Uy.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,Uy.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=Uz});var Ky=E(Pd=>{"use strict";Object.defineProperty(Pd,"__esModule",{value:!0});var Hy=gt(),Gi=K(),Gy=ne(),Jy=ne(),Fz={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,Hy.allSchemaProperties)(r),c=a.filter(m=>(0,Gy.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 Gi.Name)&&(s.props=(0,Jy.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,Gy.checkStrictMode)(s,`property ${g} matches pattern ${m} (use allowMatchingProperties)`)}function p(m){e.forIn("key",n,g=>{e.if((0,Gi._)`${(0,Hy.usePattern)(t,m)}.test(${g})`,()=>{let _=c.includes(m);_||t.subschema({keyword:"patternProperties",schemaProp:m,dataProp:g,dataPropType:Jy.Type.Str},l),s.opts.unevaluated&&d!==!0?e.assign((0,Gi._)`${d}[${g}]`,!0):!_&&!s.allErrors&&e.if((0,Gi.not)(l),()=>e.break())})})}}};Pd.default=Fz});var Wy=E(Id=>{"use strict";Object.defineProperty(Id,"__esModule",{value:!0});var Bz=ne(),Hz={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,Bz.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=Hz});var Yy=E(Od=>{"use strict";Object.defineProperty(Od,"__esModule",{value:!0});var Gz=gt(),Jz={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Gz.validateUnion,error:{message:"must match a schema in anyOf"}};Od.default=Jz});var Qy=E(Nd=>{"use strict";Object.defineProperty(Nd,"__esModule",{value:!0});var Ji=K(),Kz=ne(),Wz={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,Ji._)`{passingSchemas: ${t.passing}}`},Yz={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Wz,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,Kz.alwaysValidSchema)(o,l)?e.var(c,!0):f=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,Ji._)`${c} && ${i}`).assign(i,!1).assign(a,(0,Ji._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(i,!0),e.assign(a,d),f&&t.mergeEvaluated(f,Ji.Name)})})}}};Nd.default=Yz});var Xy=E(Ad=>{"use strict";Object.defineProperty(Ad,"__esModule",{value:!0});var Qz=ne(),Xz={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,Qz.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:i},o);t.ok(o),t.mergeEvaluated(a)})}};Ad.default=Xz});var r_=E(Cd=>{"use strict";Object.defineProperty(Cd,"__esModule",{value:!0});var Ki=K(),t_=ne(),eE={message:({params:t})=>(0,Ki.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,Ki._)`{failingKeyword: ${t.ifClause}}`},tE={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:eE,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,t_.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=e_(n,"then"),s=e_(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,Ki.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,Ki._)`${l}`):t.setParams({ifClause:l})}}}};function e_(t,e){let r=t.schema[e];return r!==void 0&&!(0,t_.alwaysValidSchema)(t,r)}Cd.default=tE});var n_=E(jd=>{"use strict";Object.defineProperty(jd,"__esModule",{value:!0});var rE=ne(),nE={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,rE.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};jd.default=nE});var o_=E(Md=>{"use strict";Object.defineProperty(Md,"__esModule",{value:!0});var oE=vd(),sE=Ay(),iE=bd(),aE=jy(),cE=My(),uE=qy(),lE=Ly(),dE=Td(),pE=By(),fE=Ky(),mE=Wy(),hE=Yy(),gE=Qy(),yE=Xy(),_E=r_(),vE=n_();function bE(t=!1){let e=[mE.default,hE.default,gE.default,yE.default,_E.default,vE.default,lE.default,dE.default,uE.default,pE.default,fE.default];return t?e.push(sE.default,aE.default):e.push(oE.default,iE.default),e.push(cE.default),e}Md.default=bE});var s_=E(Zd=>{"use strict";Object.defineProperty(Zd,"__esModule",{value:!0});var Re=K(),wE={message:({schemaCode:t})=>(0,Re.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,Re._)`{format: ${t}}`},$E={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:wE,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,Re._)`${p}[${i}]`),g=r.let("fType"),_=r.let("format");r.if((0,Re._)`typeof ${m} == "object" && !(${m} instanceof RegExp)`,()=>r.assign(g,(0,Re._)`${m}.type || "string"`).assign(_,(0,Re._)`${m}.validate`),()=>r.assign(g,(0,Re._)`"string"`).assign(_,m)),t.fail$data((0,Re.or)(y(),w()));function y(){return c.strictSchema===!1?Re.nil:(0,Re._)`${i} && !${_}`}function w(){let T=l.$async?(0,Re._)`(${m}.async ? await ${_}(${n}) : ${_}(${n}))`:(0,Re._)`${_}(${n})`,A=(0,Re._)`(typeof ${_} == "function" ? ${T} : ${_}.test(${n}))`;return(0,Re._)`${_} && ${_} !== true && ${g} === ${e} && !${A}`}}function h(){let p=d.formats[s];if(!p){y();return}if(p===!0)return;let[m,g,_]=w(p);m===e&&t.pass(T());function y(){if(c.strictSchema===!1){d.logger.warn(A());return}throw new Error(A());function A(){return`unknown format "${s}" ignored in schema at path "${u}"`}}function w(A){let Se=A instanceof RegExp?(0,Re.regexpCode)(A):c.code.formats?(0,Re._)`${c.code.formats}${(0,Re.getProperty)(s)}`:void 0,_e=r.scopeValue("formats",{key:s,ref:A,code:Se});return typeof A=="object"&&!(A instanceof RegExp)?[A.type||"string",A.validate,(0,Re._)`${_e}.validate`]:["string",A,_e]}function T(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Re._)`await ${_}(${n})`}return typeof g=="function"?(0,Re._)`${_}(${n})`:(0,Re._)`${_}.test(${n})`}}}};Zd.default=$E});var i_=E(Dd=>{"use strict";Object.defineProperty(Dd,"__esModule",{value:!0});var xE=s_(),SE=[xE.default];Dd.default=SE});var a_=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 u_=E(qd=>{"use strict";Object.defineProperty(qd,"__esModule",{value:!0});var kE=gy(),RE=Py(),TE=o_(),zE=i_(),c_=a_(),EE=[kE.default,RE.default,(0,TE.default)(),zE.default,c_.metadataVocabulary,c_.contentVocabulary];qd.default=EE});var d_=E(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});Wi.DiscrError=void 0;var l_;(function(t){t.Tag="tag",t.Mapping="mapping"})(l_||(Wi.DiscrError=l_={}))});var f_=E(Ld=>{"use strict";Object.defineProperty(Ld,"__esModule",{value:!0});var Dn=K(),Vd=d_(),p_=Ni(),PE=Uo(),IE=ne(),OE={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}}`},NE={keyword:"discriminator",type:"object",schemaType:"object",error:OE,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 T=0;T<i.length;T++){let A=i[T];if(A?.$ref&&!(0,IE.schemaHasRulesButRef)(A,s.self.RULES)){let _e=A.$ref;if(A=p_.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,_e),A instanceof p_.SchemaEnv&&(A=A.schema),A===void 0)throw new PE.default(s.opts.uriResolver,s.baseId,_e)}let Se=(h=A?.properties)===null||h===void 0?void 0:h[a];if(typeof Se!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);g=g&&(m||_(A)),y(Se,T)}if(!g)throw new Error(`discriminator: "${a}" must be required`);return p;function _({required:T}){return Array.isArray(T)&&T.includes(a)}function y(T,A){if(T.const)w(T.const,A);else if(T.enum)for(let Se of T.enum)w(Se,A);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function w(T,A){if(typeof T!="string"||T in p)throw new Error(`discriminator: "${a}" values must be unique strings`);p[T]=A}}}};Ld.default=NE});var m_=E((DM,AE)=>{AE.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 CE=ly(),jE=u_(),ME=f_(),h_=m_(),ZE=["/properties"],Yi="http://json-schema.org/draft-07/schema",qn=class extends CE.default{_addVocabularies(){super._addVocabularies(),jE.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(ME.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(h_,ZE):h_;this.addMetaSchema(e,Yi,!1),this.refs["http://json-schema.org/schema"]=Yi}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Yi)?Yi:void 0)}};ye.Ajv=qn;Ud.exports=ye=qn;Ud.exports.Ajv=qn;Object.defineProperty(ye,"__esModule",{value:!0});ye.default=qn;var DE=Lo();Object.defineProperty(ye,"KeywordCxt",{enumerable:!0,get:function(){return DE.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 qE=Ii();Object.defineProperty(ye,"ValidationError",{enumerable:!0,get:function(){return qE.default}});var VE=Uo();Object.defineProperty(ye,"MissingRefError",{enumerable:!0,get:function(){return VE.default}})});var x_=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(v_,Jd),time:Zt(Hd(!0),Kd),"date-time":Zt(g_(!0),w_),"iso-time":Zt(Hd(),b_),"iso-date-time":Zt(g_(),$_),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:GE,"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:eP,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:JE,int32:{type:"number",validate:YE},int64:{type:"number",validate:QE},float:{type:"number",validate:__},double:{type:"number",validate:__},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,w_),"iso-time":Zt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,b_),"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,$_),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 LE(t){return t%4===0&&(t%100!==0||t%400===0)}var UE=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,FE=[0,31,28,31,30,31,30,31,31,30,31,30,31];function v_(t){let e=UE.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&&LE(r)?29:FE[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 b_(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 g_(t){let e=Hd(t);return function(n){let o=n.split(Gd);return o.length===2&&v_(o[0])&&e(o[1])}}function w_(t,e){if(!(t&&e))return;let r=new Date(t).valueOf(),n=new Date(e).valueOf();if(r&&n)return r-n}function $_(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 BE=/\/|:/,HE=/^(?:[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 GE(t){return BE.test(t)&&HE.test(t)}var y_=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function JE(t){return y_.lastIndex=0,y_.test(t)}var KE=-(2**31),WE=2**31-1;function YE(t){return Number.isInteger(t)&&t<=WE&&t>=KE}function QE(t){return Number.isInteger(t)}function __(){return!0}var XE=/[^\\]\\Z/;function eP(t){if(XE.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var S_=E(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.formatLimitDefinition=void 0;var tP=Fd(),Et=K(),gr=Et.operators,Qi={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}},rP={message:({keyword:t,schemaCode:e})=>(0,Et.str)`should be ${Qi[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Et._)`{comparison: ${Qi[t].okStr}, limit: ${e}}`};Ln.formatLimitDefinition={keyword:Object.keys(Qi),type:"string",schemaType:"string",$data:!0,error:rP,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 tP.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,Et._)`${f}[${c.schemaCode}]`);t.fail$data((0,Et.or)((0,Et._)`typeof ${h} != "object"`,(0,Et._)`${h} instanceof RegExp`,(0,Et._)`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,Et._)`${i.code.formats}${(0,Et.getProperty)(f)}`:void 0});t.fail$data(d(p))}function d(f){return(0,Et._)`${f}.compare(${r}, ${n}) ${Qi[o].fail} 0`}},dependencies:["format"]};var nP=t=>(t.addKeyword(Ln.formatLimitDefinition),t);Ln.default=nP});var z_=E((ns,T_)=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});var Un=x_(),oP=S_(),Wd=K(),k_=new Wd.Name("fullFormats"),sP=new Wd.Name("fastFormats"),Yd=(t,e={keywords:!0})=>{if(Array.isArray(e))return R_(t,e,Un.fullFormats,k_),t;let[r,n]=e.mode==="fast"?[Un.fastFormats,sP]:[Un.fullFormats,k_],o=e.formats||Un.formatNames;return R_(t,o,r,n),e.keywords&&(0,oP.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 R_(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])}T_.exports=ns=Yd;Object.defineProperty(ns,"__esModule",{value:!0});ns.default=Yd});var V={};Ra(V,{BRAND:()=>Eb,DIRTY:()=>vr,EMPTY_PATH:()=>ab,INVALID:()=>D,NEVER:()=>pw,OK:()=>qe,ParseStatus:()=>Ne,Schema:()=>J,ZodAny:()=>er,ZodArray:()=>Ft,ZodBigInt:()=>wr,ZodBoolean:()=>$r,ZodBranded:()=>eo,ZodCatch:()=>Nr,ZodDate:()=>xr,ZodDefault:()=>Or,ZodDiscriminatedUnion:()=>bs,ZodEffects:()=>dt,ZodEnum:()=>Pr,ZodError:()=>We,ZodFirstPartyTypeKind:()=>S,ZodFunction:()=>$s,ZodIntersection:()=>Tr,ZodIssueCode:()=>x,ZodLazy:()=>zr,ZodLiteral:()=>Er,ZodMap:()=>pn,ZodNaN:()=>mn,ZodNativeEnum:()=>Ir,ZodNever:()=>wt,ZodNull:()=>kr,ZodNullable:()=>Nt,ZodNumber:()=>br,ZodObject:()=>Qe,ZodOptional:()=>Ye,ZodParsedType:()=>P,ZodPipeline:()=>to,ZodPromise:()=>tr,ZodReadonly:()=>Ar,ZodRecord:()=>ws,ZodSchema:()=>J,ZodSet:()=>fn,ZodString:()=>Xt,ZodSymbol:()=>ln,ZodTransformer:()=>dt,ZodTuple:()=>Ot,ZodType:()=>J,ZodUndefined:()=>Sr,ZodUnion:()=>Rr,ZodUnknown:()=>Ut,ZodVoid:()=>dn,addIssueToContext:()=>z,any:()=>Zb,array:()=>Lb,bigint:()=>Nb,boolean:()=>tf,coerce:()=>dw,custom:()=>Qp,date:()=>Ab,datetimeRegex:()=>Wp,defaultErrorMap:()=>Vt,discriminatedUnion:()=>Bb,effect:()=>nw,enum:()=>ew,function:()=>Yb,getErrorMap:()=>an,getParsedType:()=>It,instanceof:()=>Ib,intersection:()=>Hb,isAborted:()=>_s,isAsync:()=>cn,isDirty:()=>vs,isValid:()=>Qt,late:()=>Pb,lazy:()=>Qb,literal:()=>Xb,makeIssue:()=>Xn,map:()=>Kb,nan:()=>Ob,nativeEnum:()=>tw,never:()=>qb,null:()=>Mb,nullable:()=>sw,number:()=>ef,object:()=>Pa,objectUtil:()=>Ta,oboolean:()=>lw,onumber:()=>uw,optional:()=>ow,ostring:()=>cw,pipeline:()=>aw,preprocess:()=>iw,promise:()=>rw,quotelessJson:()=>ob,record:()=>Jb,set:()=>Wb,setErrorMap:()=>ib,strictObject:()=>Ub,string:()=>Xp,symbol:()=>Cb,transformer:()=>nw,tuple:()=>Gb,undefined:()=>jb,union:()=>Fb,unknown:()=>Db,util:()=>Q,void:()=>Vb});var Q;(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})(Q||(Q={}));var Ta;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(Ta||(Ta={}));var P=Q.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=Q.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"]),ob=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),We=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,Q.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()}};We.create=t=>new We(t);var sb=(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,Q.jsonStringifyReplacer)}`;break;case x.unrecognized_keys:r=`Unrecognized key(s) in object: ${Q.joinValues(t.keys,", ")}`;break;case x.invalid_union:r="Invalid input";break;case x.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${Q.joinValues(t.options)}`;break;case x.invalid_enum_value:r=`Invalid enum value. Expected ${Q.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}"`:Q.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,Q.assertNever(t)}return{message:r}},Vt=sb;var Bp=Vt;function ib(t){Bp=t}function an(){return Bp}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}},ab=[];function z(t,e){let r=an(),n=Xn({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}),_s=t=>t.status==="aborted",vs=t=>t.status==="dirty",Qt=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 lt=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}},Hp=(t,e)=>{if(Qt(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 We(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 Hp(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 Qt(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=>Qt(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 Hp(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 dt({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 Ye.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 dt({...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}},cb=/^c[^\s-]{8,}$/i,ub=/^[0-9a-z]+$/,lb=/^[0-9A-HJKMNP-TV-Z]{26}$/i,db=/^[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,pb=/^[a-z0-9_-]{21}$/i,fb=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,mb=/^[-+]?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)?)??$/,hb=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,gb="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",za,yb=/^(?:(?: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])$/,_b=/^(?:(?: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])$/,vb=/^(([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]))$/,bb=/^(([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])$/,wb=/^([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}(=)?))?$/,Jp="((\\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])))",xb=new RegExp(`^${Jp}$`);function Kp(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 Sb(t){return new RegExp(`^${Kp(t)}$`)}function Wp(t){let e=`${Jp}T${Kp(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 kb(t,e){return!!((e==="v4"||!e)&&yb.test(t)||(e==="v6"||!e)&&vb.test(t))}function Rb(t,e){if(!fb.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 Tb(t,e){return!!((e==="v4"||!e)&&_b.test(t)||(e==="v6"||!e)&&bb.test(t))}var Xt=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 Ne,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")hb.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(gb,"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")db.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")pb.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")cb.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")ub.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")lb.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"?Wp(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"?xb.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{code:x.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?Sb(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"?mb.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"duration",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?kb(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"?Rb(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"?Tb(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"?wb.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()):Q.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}};Xt.create=t=>new Xt({checks:[],typeName:S.ZodString,coerce:t?.coerce??!1,...H(t)});function zb(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 z(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"?Q.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"?zb(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()):Q.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"&&Q.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),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()):Q.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}};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 z(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 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 Ne,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()):Q.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 z(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 z(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 z(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 wt=class extends J{_parse(e){let r=this._getOrReturnCtx(e);return z(r,{code:x.invalid_type,expected:P.never,received:r.parsedType}),D}};wt.create=t=>new wt({typeName:S.ZodNever,...H(t)});var dn=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 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 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 lt(r,i,r.path,a)))).then(i=>Ne.mergeArray(n,i));let s=[...r.data].map((i,a)=>o.type._parseSync(new lt(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 Qe){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=Ye.create(un(n))}return new Qe({...t._def,shape:()=>e})}else return t instanceof Ft?new Ft({...t._def,type:un(t.element)}):t instanceof Ye?Ye.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 Qe=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=Q.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 wt&&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 lt(o,d,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof wt){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 lt(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 Q.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 Q.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 Q.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 Q.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof Ye;)s=s._def.innerType;r[n]=s}return new t({...this._def,shape:()=>r})}keyof(){return Yp(Q.objectKeys(this.shape))}};Qe.create=(t,e)=>new Qe({shape:()=>t,unknownKeys:"strip",catchall:wt.create(),typeName:S.ZodObject,...H(e)});Qe.strictCreate=(t,e)=>new Qe({shape:()=>t,unknownKeys:"strict",catchall:wt.create(),typeName:S.ZodObject,...H(e)});Qe.lazycreate=(t,e)=>new Qe({shape:t,unknownKeys:"strip",catchall:wt.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 We(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 We(c));return z(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 dt?Lt(t.innerType()):t instanceof Er?[t.value]:t instanceof Pr?t.options:t instanceof Ir?Q.objectValues(t.enum):t instanceof Or?Lt(t._def.innerType):t instanceof Sr?[void 0]:t instanceof kr?[null]:t instanceof Ye?[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):[],bs=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=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=Q.objectKeys(e),s=Q.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(_s(s)||_s(i))return D;let a=Ea(s.value,i.value);return a.valid?((vs(s)||vs(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}))}};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 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 lt(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 ws=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 lt(n,a,n.path,a)),value:i._parse(new lt(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:Xt.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 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 lt(n,a,n.path,[u,"key"])),value:s._parse(new lt(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 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 lt(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 $s=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,an(),Vt].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,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 We([]),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 We([n(c,u.error)]);let l=Reflect.apply(i,this,u.data),d=a._def.returns.safeParse(l,s);if(!d.success)throw new We([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 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}};Er.create=(t,e)=>new Er({value:t,typeName:S.ZodLiteral,...H(e)});function Yp(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 z(r,{expected:Q.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 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=Yp;var Ir=class extends J{_parse(e){let r=Q.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==P.string&&n.parsedType!==P.number){let o=Q.objectValues(r);return z(n,{expected:Q.joinValues(o),received:n.parsedType,code:x.invalid_type}),D}if(this._cache||(this._cache=new Set(Q.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=Q.objectValues(r);return z(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 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 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 dt=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"?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(!Qt(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=>Qt(i)?Promise.resolve(o.transform(i.value,s)).then(a=>({status:r.value,value:a})):D);Q.assertNever(o)}};dt.create=(t,e,r)=>new dt({schema:t,typeName:S.ZodEffects,effect:e,...H(r)});dt.createWithPreprocess=(t,e,r)=>new dt({schema:e,effect:{type:"preprocess",transform:t},typeName:S.ZodEffects,...H(r)});var Ye=class extends J{_parse(e){return this._getType(e)===P.undefined?qe(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Ye.create=(t,e)=>new Ye({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 We(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new We(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 z(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 Eb=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=>(Qt(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 Gp(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function Qp(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=Gp(e,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!s){let i=Gp(e,n),a=i.fatal??r??!0;o.addIssue({code:"custom",...i,fatal:a})}}):er.create()}var Pb={object:Qe.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 Ib=(t,e={message:`Input not instance of ${t.name}`})=>Qp(r=>r instanceof t,e),Xp=Xt.create,ef=br.create,Ob=mn.create,Nb=wr.create,tf=$r.create,Ab=xr.create,Cb=ln.create,jb=Sr.create,Mb=kr.create,Zb=er.create,Db=Ut.create,qb=wt.create,Vb=dn.create,Lb=Ft.create,Pa=Qe.create,Ub=Qe.strictCreate,Fb=Rr.create,Bb=bs.create,Hb=Tr.create,Gb=Ot.create,Jb=ws.create,Kb=pn.create,Wb=fn.create,Yb=$s.create,Qb=zr.create,Xb=Er.create,ew=Pr.create,tw=Ir.create,rw=tr.create,nw=dt.create,ow=Ye.create,sw=Nt.create,iw=dt.createWithPreprocess,aw=to.create,cw=()=>Xp().optional(),uw=()=>ef().optional(),lw=()=>tf().optional(),dw={string:t=>Xt.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 pw=D;var fw=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 mw=Symbol("zod_brand"),Bt=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},xs={};function st(t){return t&&Object.assign(xs,t),xs}var X={};Ra(X,{BIGINT_FORMAT_RANGES:()=>nf,Class:()=>Oa,NUMBER_FORMAT_RANGES:()=>Da,aborted:()=>jr,allowsEval:()=>ja,assert:()=>vw,assertEqual:()=>hw,assertIs:()=>yw,assertNever:()=>_w,assertNotEqual:()=>gw,assignProp:()=>Ca,cached:()=>oo,captureStackTrace:()=>ks,cleanEnum:()=>Ow,cleanRegex:()=>io,clone:()=>it,createTransparentProxy:()=>kw,defineLazy:()=>pe,esc:()=>Cr,escapeRegex:()=>rr,extend:()=>zw,finalizeIssue:()=>$t,floatSafeRemainder:()=>Aa,getElementAtPath:()=>bw,getEnumValues:()=>no,getLengthableOrigin:()=>ao,getParsedType:()=>Sw,getSizableOrigin:()=>of,isObject:()=>hn,isPlainObject:()=>gn,issue:()=>qa,joinValues:()=>Ss,jsonStringifyReplacer:()=>Na,merge:()=>Ew,normalizeParams:()=>q,nullish:()=>so,numKeys:()=>xw,omit:()=>Tw,optionalKeys:()=>Za,partial:()=>Pw,pick:()=>Rw,prefixIssues:()=>At,primitiveTypes:()=>rf,promiseAllObject:()=>ww,propertyKeyTypes:()=>Ma,randomString:()=>$w,required:()=>Iw,stringifyPrimitive:()=>Rs,unwrapMessage:()=>ro});function hw(t){return t}function gw(t){return t}function yw(t){}function _w(t){throw new Error}function vw(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 Ss(t,e="|"){return t.map(r=>Rs(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 pe(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 bw(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function ww(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 Cr(t){return JSON.stringify(t)}var ks=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 xw(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var Sw=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"]),rf=new Set(["string","number","bigint","boolean","symbol","undefined"]);function rr(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function it(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 kw(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 Rs(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]},nf={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Rw(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 it(t,{...t._zod.def,shape:r,checks:[]})}function Tw(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 it(t,{...t._zod.def,shape:r,checks:[]})}function zw(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 it(t,r)}function Ew(t,e){return it(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 Pw(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 it(e,{...e._zod.def,shape:o,checks:[]})}function Iw(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 it(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 $t(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 of(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 Ow(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}var Oa=class{constructor(...e){}};var sf=(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})},Ts=b("$ZodError",sf),co=b("$ZodError",sf,{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=>$t(c,s,st())));throw ks(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=>$t(c,s,st())));throw ks(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??Ts)(s.issues.map(i=>$t(i,o,st())))}:{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=>$t(i,o,st())))}:{success:!0,data:s.value}},Zr=Ja(co);var af=/^[cC][^\s-]{8,}$/,cf=/^[0-9a-z]+$/,uf=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,lf=/^[0-9a-vA-V]{20}$/,df=/^[A-Za-z0-9]{27}$/,pf=/^[a-zA-Z0-9_-]{21}$/,ff=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var mf=/^([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 hf=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var Aw="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function gf(){return new RegExp(Aw,"u")}var 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])$/,_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})$/,vf=/^((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])$/,bf=/^(([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])$/,wf=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Wa=/^[A-Za-z0-9_-]*$/,$f=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var xf=/^\+(?:[0-9]){6,14}[0-9]$/,Sf="(?:(?:\\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])))",kf=new RegExp(`^${Sf}$`);function Rf(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 Tf(t){return new RegExp(`^${Rf(t)}$`)}function zf(t){let e=Rf({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(`^${Sf}T(?:${n})$`)}var Ef=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)};var Pf=/^\d+$/,If=/^-?\d+(?:\.\d+)?/i,Of=/true|false/i,Nf=/null/i;var Af=/^[^A-Z]*$/,Cf=/^[^a-z]*$/;var Ae=b("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),jf={number:"number",bigint:"bigint",object:"date"},Ya=b("$ZodCheckLessThan",(t,e)=>{Ae.init(t,e);let r=jf[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})}}),Qa=b("$ZodCheckGreaterThan",(t,e)=>{Ae.init(t,e);let r=jf[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})}}),Mf=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})}}),Zf=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=Pf)}),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 Df=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})}}),qf=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})}}),Vf=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=()=>{})}),Lf=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})}}),Uf=b("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=Af),uo.init(t,e)}),Ff=b("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=Cf),uo.init(t,e)}),Bf=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})}}),Hf=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})}}),Gf=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 Jf=b("$ZodCheckOverwrite",(t,e)=>{Ae.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});var Es=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 Wf={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=Wf;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()??Ef(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=mf),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=hf),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:$f.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=gf()),pe.init(t,e)}),sc=b("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=pf),pe.init(t,e)}),ic=b("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=af),pe.init(t,e)}),ac=b("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=cf),pe.init(t,e)}),cc=b("$ZodULID",(t,e)=>{e.pattern??(e.pattern=uf),pe.init(t,e)}),uc=b("$ZodXID",(t,e)=>{e.pattern??(e.pattern=lf),pe.init(t,e)}),lc=b("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=df),pe.init(t,e)}),im=b("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=zf(e)),pe.init(t,e)}),am=b("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=kf),pe.init(t,e)}),cm=b("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=Tf(e)),pe.init(t,e)}),um=b("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=ff),pe.init(t,e)}),dc=b("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=yf),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=_f),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=vf),pe.init(t,e)}),mc=b("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=bf),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 lm(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=wf),pe.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),t._zod.check=r=>{lm(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function Aw(t){if(!Wa.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return lm(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=>{Aw(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=xf),pe.init(t,e)});function Cw(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=>{Cw(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}});var Is=b("$ZodNumber",(t,e)=>{ce.init(t,e),t._zod.pattern=t._zod.bag.pattern??If,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)=>{Zf.init(t,e),Is.init(t,e)}),bc=b("$ZodBoolean",(t,e)=>{ce.init(t,e),t._zod.pattern=Of,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=Nf,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 Yf(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=>Yf(u,r,i))):Yf(c,r,i)}return s.length?Promise.all(s).then(()=>r):r}});function Ps(t,e,r){t.issues.length&&e.issues.push(...At(r,t.issues)),e.value[r]=t.value}function Xf(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 Os=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 Es(["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 T=Cr(y);f.write(`
12
+ `))}};var Wf={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=Wf;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()??Ef(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}}),fe=b("$ZodStringFormat",(t,e)=>{uo.init(t,e),lo.init(t,e)}),ec=b("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=mf),fe.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());fe.init(t,e)}),rc=b("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=hf),fe.init(t,e)}),nc=b("$ZodURL",(t,e)=>{fe.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:$f.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=gf()),fe.init(t,e)}),sc=b("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=pf),fe.init(t,e)}),ic=b("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=af),fe.init(t,e)}),ac=b("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=cf),fe.init(t,e)}),cc=b("$ZodULID",(t,e)=>{e.pattern??(e.pattern=uf),fe.init(t,e)}),uc=b("$ZodXID",(t,e)=>{e.pattern??(e.pattern=lf),fe.init(t,e)}),lc=b("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=df),fe.init(t,e)}),im=b("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=zf(e)),fe.init(t,e)}),am=b("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=kf),fe.init(t,e)}),cm=b("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=Tf(e)),fe.init(t,e)}),um=b("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=ff),fe.init(t,e)}),dc=b("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=yf),fe.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=_f),fe.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=vf),fe.init(t,e)}),mc=b("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=bf),fe.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 lm(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=wf),fe.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),t._zod.check=r=>{lm(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function Cw(t){if(!Wa.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return lm(r)}var gc=b("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=Wa),fe.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),t._zod.check=r=>{Cw(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=xf),fe.init(t,e)});function jw(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)=>{fe.init(t,e),t._zod.check=r=>{jw(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}});var Is=b("$ZodNumber",(t,e)=>{ce.init(t,e),t._zod.pattern=t._zod.bag.pattern??If,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)=>{Zf.init(t,e),Is.init(t,e)}),bc=b("$ZodBoolean",(t,e)=>{ce.init(t,e),t._zod.pattern=Of,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=Nf,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 Yf(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=>Yf(u,r,i))):Yf(c,r,i)}return s.length?Promise.all(s).then(()=>r):r}});function Ps(t,e,r){t.issues.length&&e.issues.push(...At(r,t.issues)),e.value[r]=t.value}function Qf(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 Os=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)}});pe(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 Es(["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 T=Cr(y);f.write(`
13
13
  if (${w}.issues.length) {
14
14
  if (input[${T}] === undefined) {
15
15
  if (${T} in input) {
@@ -32,15 +32,15 @@ var Yv=Object.create;var ka=Object.defineProperty;var Xv=Object.getOwnPropertyDe
32
32
  if (${w}.issues.length) payload.issues = payload.issues.concat(${w}.issues.map(iss => ({
33
33
  ...iss,
34
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=!xs.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 T of l.keys){let A=w[T],Se=A._zod.run({value:h[T],issues:[]},f),_e=A._zod.optin==="optional"&&A._zod.optout==="optional";Se instanceof Promise?p.push(Se.then(ot=>_e?Xf(ot,d,T,h):Ps(ot,d,T))):_e?Xf(Se,d,T,h):Ps(Se,d,T)}}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 T=_.run({value:h[w],issues:[]},f);T instanceof Promise?p.push(T.then(A=>Ps(A,d,w))):Ps(T,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 Qf(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=>$t(s,n,st())))}),e}var Ns=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=>Qf(i,r,t,n)):Qf(s,r,t,n)}}),kc=b("$ZodDiscriminatedUnion",(t,e)=>{Ns.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])=>em(r,c,u)):em(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 em(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=>$t(u,n,st())),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=>tm(s,e)):tm(o,e)}});function tm(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=>rm(s,t)):rm(o,t)}});function rm(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=>$t(i,n,st()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=e.catchValue({...r,error:{issues:o.issues.map(s=>$t(s,n,st()))},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=>nm(s,e,n)):nm(o,e,n)}});function nm(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(om):om(o)}});function om(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=>sm(s,r,n,t));sm(o,r,n,t)}});function sm(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 jw=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},Mw=()=>{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 ${jw(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${Rs(n.values[0])}`:`Invalid option: expected one of ${Ss(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":""}: ${Ss(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 dm(){return{localeError:Mw()}}var Zw=Symbol("ZodOutput"),Dw=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 pm(){return new po}var nr=pm();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 As(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 fm(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...q(e)})}function mm(t,e){return new t({type:"string",format:"date",check:"string_format",...q(e)})}function hm(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...q(e)})}function gm(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 Cs(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 js(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 Ms(t,e){return new Mf({check:"multiple_of",...q(e),value:t})}function Zs(t,e){return new Df({check:"max_length",...q(e),maximum:t})}function yn(t,e){return new qf({check:"min_length",...q(e),minimum:t})}function Ds(t,e){return new Vf({check:"length_equals",...q(e),length:t})}function mu(t,e){return new Lf({check:"string_format",format:"regex",...q(e),pattern:t})}function hu(t){return new Uf({check:"string_format",format:"lowercase",...q(t)})}function gu(t){return new Ff({check:"string_format",format:"uppercase",...q(t)})}function yu(t,e){return new Bf({check:"string_format",format:"includes",...q(e),includes:t})}function _u(t,e){return new Hf({check:"string_format",format:"starts_with",...q(e),prefix:t})}function vu(t,e){return new Gf({check:"string_format",format:"ends_with",...q(e),suffix:t})}function Dr(t){return new Jf({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 ym(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 qs=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 T=[...y];T.length===1?p.pattern=T[0].source:T.length>1&&(a.schema.allOf=[...T.map(A=>({...this.target==="draft-7"?{type:"string"}:{},pattern:A.source}))])}break}case"number":{let p=h,{minimum:m,maximum:g,format:_,multipleOf:y,exclusiveMaximum:w,exclusiveMinimum:T}=e._zod.bag;typeof _=="string"&&_.includes("int")?p.type="integer":p.type="number",typeof T=="number"&&(p.exclusiveMinimum=T),typeof m=="number"&&(p.minimum=m,typeof T=="number"&&(T>=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"&&ze(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>
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=!xs.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 T of l.keys){let A=w[T],Se=A._zod.run({value:h[T],issues:[]},f),_e=A._zod.optin==="optional"&&A._zod.optout==="optional";Se instanceof Promise?p.push(Se.then(ot=>_e?Qf(ot,d,T,h):Ps(ot,d,T))):_e?Qf(Se,d,T,h):Ps(Se,d,T)}}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 T=_.run({value:h[w],issues:[]},f);T instanceof Promise?p.push(T.then(A=>Ps(A,d,w))):Ps(T,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=>$t(s,n,st())))}),e}var Ns=b("$ZodUnion",(t,e)=>{ce.init(t,e),pe(t._zod,"optin",()=>e.options.some(r=>r._zod.optin==="optional")?"optional":void 0),pe(t._zod,"optout",()=>e.options.some(r=>r._zod.optout==="optional")?"optional":void 0),pe(t._zod,"values",()=>{if(e.options.every(r=>r._zod.values))return new Set(e.options.flatMap(r=>Array.from(r._zod.values)))}),pe(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)=>{Ns.init(t,e);let r=t._zod.parse;pe(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])=>em(r,c,u)):em(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(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=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 em(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=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 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=>$t(u,n,st())),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",pe(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),pe(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),pe(t._zod,"optin",()=>e.innerType._zod.optin),pe(t._zod,"optout",()=>e.innerType._zod.optout),pe(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${io(r.source)}|null)$`):void 0}),pe(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",pe(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=>tm(s,e)):tm(o,e)}});function tm(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",pe(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),pe(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=>rm(s,t)):rm(o,t)}});function rm(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",pe(t._zod,"optout",()=>e.innerType._zod.optout),pe(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=>$t(i,n,st()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=e.catchValue({...r,error:{issues:o.issues.map(s=>$t(s,n,st()))},input:r.value}),r.issues=[]),r)}});var Mc=b("$ZodPipe",(t,e)=>{ce.init(t,e),pe(t._zod,"values",()=>e.in._zod.values),pe(t._zod,"optin",()=>e.in._zod.optin),pe(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=>nm(s,e,n)):nm(o,e,n)}});function nm(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),pe(t._zod,"propValues",()=>e.innerType._zod.propValues),pe(t._zod,"values",()=>e.innerType._zod.values),pe(t._zod,"optin",()=>e.innerType._zod.optin),pe(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(om):om(o)}});function om(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=>sm(s,r,n,t));sm(o,r,n,t)}});function sm(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 Mw=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},Zw=()=>{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 ${Mw(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${Rs(n.values[0])}`:`Invalid option: expected one of ${Ss(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":""}: ${Ss(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 dm(){return{localeError:Zw()}}var Dw=Symbol("ZodOutput"),qw=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 pm(){return new po}var nr=pm();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 As(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 Qc(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 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 fm(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...q(e)})}function mm(t,e){return new t({type:"string",format:"date",check:"string_format",...q(e)})}function hm(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...q(e)})}function gm(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 Cs(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 js(t,e){return new Qa({check:"greater_than",...q(e),value:t,inclusive:!1})}function mo(t,e){return new Qa({check:"greater_than",...q(e),value:t,inclusive:!0})}function Ms(t,e){return new Mf({check:"multiple_of",...q(e),value:t})}function Zs(t,e){return new Df({check:"max_length",...q(e),maximum:t})}function yn(t,e){return new qf({check:"min_length",...q(e),minimum:t})}function Ds(t,e){return new Vf({check:"length_equals",...q(e),length:t})}function mu(t,e){return new Lf({check:"string_format",format:"regex",...q(e),pattern:t})}function hu(t){return new Uf({check:"string_format",format:"lowercase",...q(t)})}function gu(t){return new Ff({check:"string_format",format:"uppercase",...q(t)})}function yu(t,e){return new Bf({check:"string_format",format:"includes",...q(e),includes:t})}function _u(t,e){return new Hf({check:"string_format",format:"starts_with",...q(e),prefix:t})}function vu(t,e){return new Gf({check:"string_format",format:"ends_with",...q(e),suffix:t})}function Dr(t){return new Jf({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 ym(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 qs=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 T=[...y];T.length===1?p.pattern=T[0].source:T.length>1&&(a.schema.allOf=[...T.map(A=>({...this.target==="draft-7"?{type:"string"}:{},pattern:A.source}))])}break}case"number":{let p=h,{minimum:m,maximum:g,format:_,multipleOf:y,exclusiveMaximum:w,exclusiveMinimum:T}=e._zod.bag;typeof _=="string"&&_.includes("int")?p.type="integer":p.type="number",typeof T=="number"&&(p.exclusiveMinimum=T),typeof m=="number"&&(p.minimum=m,typeof T=="number"&&(T>=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"&&ze(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 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 qs(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 qs(e);return r.process(t),r.emit(t,e)}function ze(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 ze(o.element,r);case"object":{for(let s in o.shape)if(ze(o.shape[s],r))return!0;return!1}case"union":{for(let s of o.options)if(ze(s,r))return!0;return!1}case"intersection":return ze(o.left,r)||ze(o.right,r);case"tuple":{for(let s of o.items)if(ze(s,r))return!0;return!!(o.rest&&ze(o.rest,r))}case"record":return ze(o.keyType,r)||ze(o.valueType,r);case"map":return ze(o.keyType,r)||ze(o.valueType,r);case"set":return ze(o.valueType,r);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return ze(o.innerType,r);case"lazy":return ze(o.getter(),r);case"default":return ze(o.innerType,r);case"prefault":return ze(o.innerType,r);case"custom":return!1;case"transform":return!0;case"pipe":return ze(o.in,r)||ze(o.out,r);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${o.type}`)}var b$=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)=>it(t,r,n),t.brand=()=>t,t.register=(r,n)=>(r.add(t,n),t)});var w$=b("ZodMiniObject",(t,e)=>{Os.init(t,e),b$.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 w$(r)}function pt(t){return!!t._zod}function Vr(t){let e=Object.values(t);if(e.length===0)return Tu({});let r=e.every(pt),n=e.every(o=>!pt(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 pt(t)?Mr(t,e):t.safeParse(e)}async function Vs(t,e){return pt(t)?await Zr(t,e):await t.safeParseAsync(e)}function sr(t){if(!t)return;let e;if(pt(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(pt(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 Ls(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 vm(t){return t.description}function bm(t){if(pt(t))return t._zod?.def?.type==="optional";let e=t;return typeof t.isOptional=="function"?t.isOptional():e._def?.typeName==="ZodOptional"}function Us(t){if(pt(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:()=>$m,ZodISODateTime:()=>wm,ZodISODuration:()=>Sm,ZodISOTime:()=>xm,date:()=>Eu,datetime:()=>zu,duration:()=>Iu,time:()=>Pu});var wm=b("ZodISODateTime",(t,e)=>{im.init(t,e),ve.init(t,e)});function zu(t){return fm(wm,t)}var $m=b("ZodISODate",(t,e)=>{am.init(t,e),ve.init(t,e)});function Eu(t){return mm($m,t)}var xm=b("ZodISOTime",(t,e)=>{cm.init(t,e),ve.init(t,e)});function Pu(t){return hm(xm,t)}var Sm=b("ZodISODuration",(t,e)=>{um.init(t,e),ve.init(t,e)});function Iu(t){return gm(Sm,t)}var km=(t,e)=>{Ts.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}}})},XN=b("ZodError",km),go=b("ZodError",km,{Parent:Error});var Rm=Ua(go),Tm=Ba(go),zm=Ga(go),Em=Ja(go);var xe=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)=>it(t,r,n),t.brand=()=>t,t.register=(r,n)=>(r.add(t,n),t),t.parse=(r,n)=>Rm(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>zm(t,r,n),t.parseAsync=async(r,n)=>Tm(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>Em(t,r,n),t.spa=t.safeParseAsync,t.refine=(r,n)=>t.check(_x(r,n)),t.superRefine=r=>t.check(vx(r)),t.overwrite=r=>t.check(Dr(r)),t.optional=()=>we(t),t.nullable=()=>Om(t),t.nullish=()=>we(Om(t)),t.nonoptional=r=>dx(t,r),t.array=()=>ee(t),t.or=r=>he([t,r]),t.and=r=>Bs(t,r),t.transform=r=>Nu(t,Zm(r)),t.default=r=>cx(t,r),t.prefault=r=>lx(t,r),t.catch=r=>fx(t,r),t.pipe=r=>Nu(t,r),t.readonly=()=>gx(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)),Nm=b("_ZodString",(t,e)=>{lo.init(t,e),xe.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(Zs(...n)),t.length=(...n)=>t.check(Ds(...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())}),P$=b("ZodString",(t,e)=>{lo.init(t,e),Nm.init(t,e),t.email=r=>t.check(Vc(I$,r)),t.url=r=>t.check(Hc(O$,r)),t.jwt=r=>t.check(au(G$,r)),t.emoji=r=>t.check(Gc(N$,r)),t.guid=r=>t.check(As(Pm,r)),t.uuid=r=>t.check(Lc(Fs,r)),t.uuidv4=r=>t.check(Uc(Fs,r)),t.uuidv6=r=>t.check(Fc(Fs,r)),t.uuidv7=r=>t.check(Bc(Fs,r)),t.nanoid=r=>t.check(Jc(A$,r)),t.guid=r=>t.check(As(Pm,r)),t.cuid=r=>t.check(Kc(C$,r)),t.cuid2=r=>t.check(Wc(j$,r)),t.ulid=r=>t.check(Yc(M$,r)),t.base64=r=>t.check(ou(F$,r)),t.base64url=r=>t.check(su(B$,r)),t.xid=r=>t.check(Xc(Z$,r)),t.ksuid=r=>t.check(Qc(D$,r)),t.ipv4=r=>t.check(eu(q$,r)),t.ipv6=r=>t.check(tu(V$,r)),t.cidrv4=r=>t.check(ru(L$,r)),t.cidrv6=r=>t.check(nu(U$,r)),t.e164=r=>t.check(iu(H$,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(P$,t)}var ve=b("ZodStringFormat",(t,e)=>{pe.init(t,e),Nm.init(t,e)}),I$=b("ZodEmail",(t,e)=>{rc.init(t,e),ve.init(t,e)});var Pm=b("ZodGUID",(t,e)=>{ec.init(t,e),ve.init(t,e)});var Fs=b("ZodUUID",(t,e)=>{tc.init(t,e),ve.init(t,e)});var O$=b("ZodURL",(t,e)=>{nc.init(t,e),ve.init(t,e)});var N$=b("ZodEmoji",(t,e)=>{oc.init(t,e),ve.init(t,e)});var A$=b("ZodNanoID",(t,e)=>{sc.init(t,e),ve.init(t,e)});var C$=b("ZodCUID",(t,e)=>{ic.init(t,e),ve.init(t,e)});var j$=b("ZodCUID2",(t,e)=>{ac.init(t,e),ve.init(t,e)});var M$=b("ZodULID",(t,e)=>{cc.init(t,e),ve.init(t,e)});var Z$=b("ZodXID",(t,e)=>{uc.init(t,e),ve.init(t,e)});var D$=b("ZodKSUID",(t,e)=>{lc.init(t,e),ve.init(t,e)});var q$=b("ZodIPv4",(t,e)=>{dc.init(t,e),ve.init(t,e)});var V$=b("ZodIPv6",(t,e)=>{pc.init(t,e),ve.init(t,e)});var L$=b("ZodCIDRv4",(t,e)=>{fc.init(t,e),ve.init(t,e)});var U$=b("ZodCIDRv6",(t,e)=>{mc.init(t,e),ve.init(t,e)});var F$=b("ZodBase64",(t,e)=>{hc.init(t,e),ve.init(t,e)});var B$=b("ZodBase64URL",(t,e)=>{gc.init(t,e),ve.init(t,e)});var H$=b("ZodE164",(t,e)=>{yc.init(t,e),ve.init(t,e)});var G$=b("ZodJWT",(t,e)=>{_c.init(t,e),ve.init(t,e)});var Am=b("ZodNumber",(t,e)=>{Is.init(t,e),xe.init(t,e),t.gt=(n,o)=>t.check(js(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(Cs(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(Im(n)),t.safe=n=>t.check(Im(n)),t.positive=n=>t.check(js(0,n)),t.nonnegative=n=>t.check(mo(0,n)),t.negative=n=>t.check(Cs(0,n)),t.nonpositive=n=>t.check(fo(0,n)),t.multipleOf=(n,o)=>t.check(Ms(n,o)),t.step=(n,o)=>t.check(Ms(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(Am,t)}var J$=b("ZodNumberFormat",(t,e)=>{vc.init(t,e),Am.init(t,e)});function Im(t){return uu(J$,t)}var K$=b("ZodBoolean",(t,e)=>{bc.init(t,e),xe.init(t,e)});function Pe(t){return lu(K$,t)}var W$=b("ZodNull",(t,e)=>{wc.init(t,e),xe.init(t,e)});function Cm(t){return du(W$,t)}var Y$=b("ZodUnknown",(t,e)=>{$c.init(t,e),xe.init(t,e)});function be(){return pu(Y$)}var X$=b("ZodNever",(t,e)=>{xc.init(t,e),xe.init(t,e)});function Q$(t){return fu(X$,t)}var ex=b("ZodArray",(t,e)=>{Sc.init(t,e),xe.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(Zs(r,n)),t.length=(r,n)=>t.check(Ds(r,n)),t.unwrap=()=>t.element});function ee(t,e){return ym(ex,t,e)}var jm=b("ZodObject",(t,e)=>{Os.init(t,e),xe.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:be()}),t.loose=()=>t.clone({...t._zod.def,catchall:be()}),t.strict=()=>t.clone({...t._zod.def,catchall:Q$()}),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(Dm,t,r[0]),t.required=(...r)=>Q.required(qm,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 jm(r)}function Fe(t,e){return new jm({type:"object",get shape(){return Q.assignProp(this,"shape",{...t}),this.shape},catchall:be(),...Q.normalizeParams(e)})}var Mm=b("ZodUnion",(t,e)=>{Ns.init(t,e),xe.init(t,e),t.options=e.options});function he(t,e){return new Mm({type:"union",options:t,...Q.normalizeParams(e)})}var tx=b("ZodDiscriminatedUnion",(t,e)=>{Mm.init(t,e),kc.init(t,e)});function Au(t,e,r){return new tx({type:"union",options:e,discriminator:t,...Q.normalizeParams(r)})}var rx=b("ZodIntersection",(t,e)=>{Rc.init(t,e),xe.init(t,e)});function Bs(t,e){return new rx({type:"intersection",left:t,right:e})}var nx=b("ZodRecord",(t,e)=>{Tc.init(t,e),xe.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});function fe(t,e,r){return new nx({type:"record",keyType:t,valueType:e,...Q.normalizeParams(r)})}var Ou=b("ZodEnum",(t,e)=>{zc.init(t,e),xe.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 ox=b("ZodLiteral",(t,e)=>{Ec.init(t,e),xe.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 C(t,e){return new ox({type:"literal",values:Array.isArray(t)?t:[t],...Q.normalizeParams(e)})}var sx=b("ZodTransform",(t,e)=>{Pc.init(t,e),xe.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 Zm(t){return new sx({type:"transform",transform:t})}var Dm=b("ZodOptional",(t,e)=>{Ic.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType});function we(t){return new Dm({type:"optional",innerType:t})}var ix=b("ZodNullable",(t,e)=>{Oc.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType});function Om(t){return new ix({type:"nullable",innerType:t})}var ax=b("ZodDefault",(t,e)=>{Nc.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function cx(t,e){return new ax({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var ux=b("ZodPrefault",(t,e)=>{Ac.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType});function lx(t,e){return new ux({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var qm=b("ZodNonOptional",(t,e)=>{Cc.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType});function dx(t,e){return new qm({type:"nonoptional",innerType:t,...Q.normalizeParams(e)})}var px=b("ZodCatch",(t,e)=>{jc.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function fx(t,e){return new px({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var mx=b("ZodPipe",(t,e)=>{Mc.init(t,e),xe.init(t,e),t.in=e.in,t.out=e.out});function Nu(t,e){return new mx({type:"pipe",in:t,out:e})}var hx=b("ZodReadonly",(t,e)=>{Zc.init(t,e),xe.init(t,e)});function gx(t){return new hx({type:"readonly",innerType:t})}var Vm=b("ZodCustom",(t,e)=>{Dc.init(t,e),xe.init(t,e)});function yx(t){let e=new Ae({check:"custom"});return e._zod.check=t,e}function Lm(t,e){return Su(Vm,t??(()=>!0),e)}function _x(t,e={}){return ku(Vm,t,e)}function vx(t){let e=yx(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(Zm(t),e)}st(dm());var Mu="2025-11-25",Um="2025-03-26",bn=[Mu,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],ir="io.modelcontextprotocol/related-task",Gs="2.0",Ee=Lm(t=>t!==null&&(typeof t=="object"||typeof t=="function")),Fm=he([v(),ae().int()]),Bm=v(),pA=Fe({ttl:ae().optional(),pollInterval:ae().optional()}),bx=I({ttl:ae().optional()}),wx=I({taskId:v()}),Zu=Fe({progressToken:Fm.optional(),[ir]:wx.optional()}),at=I({_meta:Zu.optional()}),yo=at.extend({task:bx.optional()}),Hm=t=>yo.safeParse(t).success,Ce=I({method:v(),params:at.loose().optional()}),ft=I({_meta:Zu.optional()}),mt=I({method:v(),params:ft.loose().optional()}),je=Fe({_meta:Zu.optional()}),Js=he([v(),ae().int()]),Gm=I({jsonrpc:C(Gs),id:Js,...Ce.shape}).strict(),ar=t=>Gm.safeParse(t).success,Jm=I({jsonrpc:C(Gs),...mt.shape}).strict(),Km=t=>Jm.safeParse(t).success,Du=I({jsonrpc:C(Gs),id:Js,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:C(Gs),id:Js.optional(),error:I({code:ae().int(),message:v(),data:be().optional()})}).strict();var wn=t=>qu.safeParse(t).success;var _o=he([Gm,Jm,Du,qu]),fA=he([Du,qu]),Ks=je.strict(),$x=ft.extend({requestId:Js.optional(),reason:v().optional()}),Ws=mt.extend({method:C("notifications/cancelled"),params:$x}),xx=I({src:v(),mimeType:v().optional(),sizes:ee(v()).optional(),theme:Xe(["light","dark"]).optional()}),vo=I({icons:ee(xx).optional()}),vn=I({name:v(),title:v().optional()}),Wm=vn.extend({...vn.shape,...vo.shape,version:v(),websiteUrl:v().optional(),description:v().optional()}),Sx=Bs(I({applyDefaults:Pe().optional()}),fe(v(),be())),kx=Cu(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,Bs(I({form:Sx.optional(),url:Ee.optional()}),fe(v(),be()).optional())),Rx=Fe({list:Ee.optional(),cancel:Ee.optional(),requests:Fe({sampling:Fe({createMessage:Ee.optional()}).optional(),elicitation:Fe({create:Ee.optional()}).optional()}).optional()}),Tx=Fe({list:Ee.optional(),cancel:Ee.optional(),requests:Fe({tools:Fe({call:Ee.optional()}).optional()}).optional()}),zx=I({experimental:fe(v(),Ee).optional(),sampling:I({context:Ee.optional(),tools:Ee.optional()}).optional(),elicitation:kx.optional(),roots:I({listChanged:Pe().optional()}).optional(),tasks:Rx.optional(),extensions:fe(v(),Ee).optional()}),Ex=at.extend({protocolVersion:v(),capabilities:zx,clientInfo:Wm}),Ys=Ce.extend({method:C("initialize"),params:Ex}),bo=t=>Ys.safeParse(t).success,Px=I({experimental:fe(v(),Ee).optional(),logging:Ee.optional(),completions:Ee.optional(),prompts:I({listChanged:Pe().optional()}).optional(),resources:I({subscribe:Pe().optional(),listChanged:Pe().optional()}).optional(),tools:I({listChanged:Pe().optional()}).optional(),tasks:Tx.optional(),extensions:fe(v(),Ee).optional()}),Ix=je.extend({protocolVersion:v(),capabilities:Px,serverInfo:Wm,instructions:v().optional()}),Vu=mt.extend({method:C("notifications/initialized"),params:ft.optional()});var Xs=Ce.extend({method:C("ping"),params:at.optional()}),Ox=I({progress:ae(),total:we(ae()),message:we(v())}),Nx=I({...ft.shape,...Ox.shape,progressToken:Fm}),Qs=mt.extend({method:C("notifications/progress"),params:Nx}),Ax=at.extend({cursor:Bm.optional()}),wo=Ce.extend({params:Ax.optional()}),$o=je.extend({nextCursor:Bm.optional()}),Cx=Xe(["working","input_required","completed","failed","cancelled"]),xo=I({taskId:v(),status:Cx,ttl:he([ae(),Cm()]),createdAt:v(),lastUpdatedAt:v(),pollInterval:we(ae()),statusMessage:we(v())}),$n=je.extend({task:xo}),jx=ft.merge(xo),So=mt.extend({method:C("notifications/tasks/status"),params:jx}),ei=Ce.extend({method:C("tasks/get"),params:at.extend({taskId:v()})}),ti=je.merge(xo),ri=Ce.extend({method:C("tasks/result"),params:at.extend({taskId:v()})}),mA=je.loose(),ni=wo.extend({method:C("tasks/list")}),oi=$o.extend({tasks:ee(xo)}),si=Ce.extend({method:C("tasks/cancel"),params:at.extend({taskId:v()})}),Ym=je.merge(xo),Xm=I({uri:v(),mimeType:we(v()),_meta:fe(v(),be()).optional()}),Qm=Xm.extend({text:v()}),Lu=v().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),eh=Xm.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()}),th=I({...vn.shape,...vo.shape,uri:v(),description:we(v()),mimeType:we(v()),size:we(ae()),annotations:xn.optional(),_meta:we(Fe({}))}),Mx=I({...vn.shape,...vo.shape,uriTemplate:v(),description:we(v()),mimeType:we(v()),annotations:xn.optional(),_meta:we(Fe({}))}),ii=wo.extend({method:C("resources/list")}),Zx=$o.extend({resources:ee(th)}),ai=wo.extend({method:C("resources/templates/list")}),Dx=$o.extend({resourceTemplates:ee(Mx)}),Uu=at.extend({uri:v()}),qx=Uu,ci=Ce.extend({method:C("resources/read"),params:qx}),Vx=je.extend({contents:ee(he([Qm,eh]))}),Lx=mt.extend({method:C("notifications/resources/list_changed"),params:ft.optional()}),Ux=Uu,Fx=Ce.extend({method:C("resources/subscribe"),params:Ux}),Bx=Uu,Hx=Ce.extend({method:C("resources/unsubscribe"),params:Bx}),Gx=ft.extend({uri:v()}),Jx=mt.extend({method:C("notifications/resources/updated"),params:Gx}),Kx=I({name:v(),description:we(v()),required:we(Pe())}),Wx=I({...vn.shape,...vo.shape,description:we(v()),arguments:we(ee(Kx)),_meta:we(Fe({}))}),ui=wo.extend({method:C("prompts/list")}),Yx=$o.extend({prompts:ee(Wx)}),Xx=at.extend({name:v(),arguments:fe(v(),v()).optional()}),li=Ce.extend({method:C("prompts/get"),params:Xx}),Fu=I({type:C("text"),text:v(),annotations:xn.optional(),_meta:fe(v(),be()).optional()}),Bu=I({type:C("image"),data:Lu,mimeType:v(),annotations:xn.optional(),_meta:fe(v(),be()).optional()}),Hu=I({type:C("audio"),data:Lu,mimeType:v(),annotations:xn.optional(),_meta:fe(v(),be()).optional()}),Qx=I({type:C("tool_use"),name:v(),id:v(),input:fe(v(),be()),_meta:fe(v(),be()).optional()}),e0=I({type:C("resource"),resource:he([Qm,eh]),annotations:xn.optional(),_meta:fe(v(),be()).optional()}),t0=th.extend({type:C("resource_link")}),Gu=he([Fu,Bu,Hu,t0,e0]),r0=I({role:ko,content:Gu}),n0=je.extend({description:v().optional(),messages:ee(r0)}),o0=mt.extend({method:C("notifications/prompts/list_changed"),params:ft.optional()}),s0=I({title:v().optional(),readOnlyHint:Pe().optional(),destructiveHint:Pe().optional(),idempotentHint:Pe().optional(),openWorldHint:Pe().optional()}),i0=I({taskSupport:Xe(["required","optional","forbidden"]).optional()}),rh=I({...vn.shape,...vo.shape,description:v().optional(),inputSchema:I({type:C("object"),properties:fe(v(),Ee).optional(),required:ee(v()).optional()}).catchall(be()),outputSchema:I({type:C("object"),properties:fe(v(),Ee).optional(),required:ee(v()).optional()}).catchall(be()).optional(),annotations:s0.optional(),execution:i0.optional(),_meta:fe(v(),be()).optional()}),di=wo.extend({method:C("tools/list")}),a0=$o.extend({tools:ee(rh)}),pi=je.extend({content:ee(Gu).default([]),structuredContent:fe(v(),be()).optional(),isError:Pe().optional()}),hA=pi.or(je.extend({toolResult:be()})),c0=yo.extend({name:v(),arguments:fe(v(),be()).optional()}),Sn=Ce.extend({method:C("tools/call"),params:c0}),u0=mt.extend({method:C("notifications/tools/list_changed"),params:ft.optional()}),gA=I({autoRefresh:Pe().default(!0),debounceMs:ae().int().nonnegative().default(300)}),Ro=Xe(["debug","info","notice","warning","error","critical","alert","emergency"]),l0=at.extend({level:Ro}),Ju=Ce.extend({method:C("logging/setLevel"),params:l0}),d0=ft.extend({level:Ro,logger:v().optional(),data:be()}),p0=mt.extend({method:C("notifications/message"),params:d0}),f0=I({name:v().optional()}),m0=I({hints:ee(f0).optional(),costPriority:ae().min(0).max(1).optional(),speedPriority:ae().min(0).max(1).optional(),intelligencePriority:ae().min(0).max(1).optional()}),h0=I({mode:Xe(["auto","required","none"]).optional()}),g0=I({type:C("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(),be()).optional()}),y0=Au("type",[Fu,Bu,Hu]),Hs=Au("type",[Fu,Bu,Hu,Qx,g0]),_0=I({role:ko,content:he([Hs,ee(Hs)]),_meta:fe(v(),be()).optional()}),v0=yo.extend({messages:ee(_0),modelPreferences:m0.optional(),systemPrompt:v().optional(),includeContext:Xe(["none","thisServer","allServers"]).optional(),temperature:ae().optional(),maxTokens:ae().int(),stopSequences:ee(v()).optional(),metadata:Ee.optional(),tools:ee(rh).optional(),toolChoice:h0.optional()}),b0=Ce.extend({method:C("sampling/createMessage"),params:v0}),To=je.extend({model:v(),stopReason:we(Xe(["endTurn","stopSequence","maxTokens"]).or(v())),role:ko,content:y0}),Ku=je.extend({model:v(),stopReason:we(Xe(["endTurn","stopSequence","maxTokens","toolUse"]).or(v())),role:ko,content:he([Hs,ee(Hs)])}),w0=I({type:C("boolean"),title:v().optional(),description:v().optional(),default:Pe().optional()}),$0=I({type:C("string"),title:v().optional(),description:v().optional(),minLength:ae().optional(),maxLength:ae().optional(),format:Xe(["email","uri","date","date-time"]).optional(),default:v().optional()}),x0=I({type:Xe(["number","integer"]),title:v().optional(),description:v().optional(),minimum:ae().optional(),maximum:ae().optional(),default:ae().optional()}),S0=I({type:C("string"),title:v().optional(),description:v().optional(),enum:ee(v()),default:v().optional()}),k0=I({type:C("string"),title:v().optional(),description:v().optional(),oneOf:ee(I({const:v(),title:v()})),default:v().optional()}),R0=I({type:C("string"),title:v().optional(),description:v().optional(),enum:ee(v()),enumNames:ee(v()).optional(),default:v().optional()}),T0=he([S0,k0]),z0=I({type:C("array"),title:v().optional(),description:v().optional(),minItems:ae().optional(),maxItems:ae().optional(),items:I({type:C("string"),enum:ee(v())}),default:ee(v()).optional()}),E0=I({type:C("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()}),P0=he([z0,E0]),I0=he([R0,T0,P0]),O0=he([I0,w0,$0,x0]),N0=yo.extend({mode:C("form").optional(),message:v(),requestedSchema:I({type:C("object"),properties:fe(v(),O0),required:ee(v()).optional()})}),A0=yo.extend({mode:C("url"),message:v(),elicitationId:v(),url:v().url()}),C0=he([N0,A0]),j0=Ce.extend({method:C("elicitation/create"),params:C0}),M0=ft.extend({elicitationId:v()}),Z0=mt.extend({method:C("notifications/elicitation/complete"),params:M0}),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())}),D0=I({type:C("ref/resource"),uri:v()});var q0=I({type:C("ref/prompt"),name:v()}),V0=at.extend({ref:he([q0,D0]),argument:I({name:v(),value:v()}),context:I({arguments:fe(v(),v()).optional()}).optional()}),fi=Ce.extend({method:C("completion/complete"),params:V0});function nh(t){if(t.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${t.params.ref.type}`)}function oh(t){if(t.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${t.params.ref.type}`)}var L0=je.extend({completion:Fe({values:ee(v()).max(100),total:we(ae().int()),hasMore:we(Pe())})}),U0=I({uri:v().startsWith("file://"),name:v().optional(),_meta:fe(v(),be()).optional()}),F0=Ce.extend({method:C("roots/list"),params:at.optional()}),Wu=je.extend({roots:ee(U0)}),B0=mt.extend({method:C("notifications/roots/list_changed"),params:ft.optional()}),yA=he([Xs,Ys,fi,Ju,li,ui,ii,ai,ci,Fx,Hx,Sn,di,ei,ri,ni,si]),_A=he([Ws,Qs,Vu,B0,So]),vA=he([Ks,To,Ku,kn,Wu,ti,oi,$n]),bA=he([Xs,b0,j0,F0,ei,ri,ni,si]),wA=he([Ws,Qs,p0,Jx,Lx,u0,o0,So,Z0]),$A=he([Ks,Ix,L0,n0,Yx,Zx,Dx,Vx,pi,a0,ti,oi,$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 ih=Symbol("Let zodToJsonSchema decide on which parser to use");var sh={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"},ah=t=>typeof t=="string"?{...sh,name:t}:{...sh,...t};var ch=t=>{let e=ah(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 mi=(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 $e(t){if(t.target!=="openAi")return{};let e=[...t.basePath,t.definitionPath,t.openAiAnyTypeName];return t.flags.hasReferencedOpenAiAnyType=!0,{$ref:t.$refStrategy==="relative"?mi(e,t.currentPath):e.join("/")}}function uh(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 lh(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 dh(){return{type:"boolean"}}function hi(t,e){return V(t.type._def,e)}var ph=(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 H0(t,e)}}var H0=(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 fh(t,e){return{...V(t.innerType._def,e),default:t.defaultValue()}}function mh(t,e){return e.effectStrategy==="input"?V(t.schema._def,e):$e(e)}function hh(t){return{type:"string",enum:Array.from(t.values)}}var G0=t=>"type"in t&&t.type==="string"?!1:"allOf"in t;function gh(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(G0(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 yh(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,xt={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 gi(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":St(r,"email",n.message,e);break;case"format:idn-email":St(r,"idn-email",n.message,e);break;case"pattern:zod":Be(r,xt.email,n.message,e);break}break;case"url":St(r,"uri",n.message,e);break;case"uuid":St(r,"uuid",n.message,e);break;case"regex":Be(r,n.regex,n.message,e);break;case"cuid":Be(r,xt.cuid,n.message,e);break;case"cuid2":Be(r,xt.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":St(r,"date-time",n.message,e);break;case"date":St(r,"date",n.message,e);break;case"time":St(r,"time",n.message,e);break;case"duration":St(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"&&St(r,"ipv4",n.message,e),n.version!=="v4"&&St(r,"ipv6",n.message,e);break}case"base64url":Be(r,xt.base64url,n.message,e);break;case"jwt":Be(r,xt.jwt,n.message,e);break;case"cidr":{n.version!=="v6"&&Be(r,xt.ipv4Cidr,n.message,e),n.version!=="v4"&&Be(r,xt.ipv6Cidr,n.message,e);break}case"emoji":Be(r,xt.emoji(),n.message,e);break;case"ulid":{Be(r,xt.ulid,n.message,e);break}case"base64":{switch(e.base64Strategy){case"format:binary":{St(r,"binary",n.message,e);break}case"contentEncoding:base64":{te(r,"contentEncoding","base64",n.message,e);break}case"pattern:zod":{Be(r,xt.base64,n.message,e);break}}break}case"nanoid":Be(r,xt.nanoid,n.message,e);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function el(t,e){return e.patternStrategy==="escape"?K0(t):t}var J0=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function K0(t){let e="";for(let r=0;r<t.length;r++)J0.has(t[r])||(e+="\\"),e+=t[r];return e}function St(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:_h(e,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):te(t,"pattern",_h(e,n),r,n)}function _h(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 qs(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 qs(e);return r.process(t),r.emit(t,e)}function ze(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 ze(o.element,r);case"object":{for(let s in o.shape)if(ze(o.shape[s],r))return!0;return!1}case"union":{for(let s of o.options)if(ze(s,r))return!0;return!1}case"intersection":return ze(o.left,r)||ze(o.right,r);case"tuple":{for(let s of o.items)if(ze(s,r))return!0;return!!(o.rest&&ze(o.rest,r))}case"record":return ze(o.keyType,r)||ze(o.valueType,r);case"map":return ze(o.keyType,r)||ze(o.valueType,r);case"set":return ze(o.valueType,r);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return ze(o.innerType,r);case"lazy":return ze(o.getter(),r);case"default":return ze(o.innerType,r);case"prefault":return ze(o.innerType,r);case"custom":return!1;case"transform":return!0;case"pipe":return ze(o.in,r)||ze(o.out,r);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${o.type}`)}var w$=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)=>it(t,r,n),t.brand=()=>t,t.register=(r,n)=>(r.add(t,n),t)});var $$=b("ZodMiniObject",(t,e)=>{Os.init(t,e),w$.init(t,e),X.defineLazy(t,"shape",()=>e.shape)});function Tu(t,e){let r={type:"object",get shape(){return X.assignProp(this,"shape",{...t}),this.shape},...X.normalizeParams(e)};return new $$(r)}function pt(t){return!!t._zod}function Vr(t){let e=Object.values(t);if(e.length===0)return Tu({});let r=e.every(pt),n=e.every(o=>!pt(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 pt(t)?Mr(t,e):t.safeParse(e)}async function Vs(t,e){return pt(t)?await Zr(t,e):await t.safeParseAsync(e)}function sr(t){if(!t)return;let e;if(pt(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(pt(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 Ls(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 vm(t){return t.description}function bm(t){if(pt(t))return t._zod?.def?.type==="optional";let e=t;return typeof t.isOptional=="function"?t.isOptional():e._def?.typeName==="ZodOptional"}function Us(t){if(pt(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:()=>$m,ZodISODateTime:()=>wm,ZodISODuration:()=>Sm,ZodISOTime:()=>xm,date:()=>Eu,datetime:()=>zu,duration:()=>Iu,time:()=>Pu});var wm=b("ZodISODateTime",(t,e)=>{im.init(t,e),ve.init(t,e)});function zu(t){return fm(wm,t)}var $m=b("ZodISODate",(t,e)=>{am.init(t,e),ve.init(t,e)});function Eu(t){return mm($m,t)}var xm=b("ZodISOTime",(t,e)=>{cm.init(t,e),ve.init(t,e)});function Pu(t){return hm(xm,t)}var Sm=b("ZodISODuration",(t,e)=>{um.init(t,e),ve.init(t,e)});function Iu(t){return gm(Sm,t)}var km=(t,e)=>{Ts.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}}})},tA=b("ZodError",km),go=b("ZodError",km,{Parent:Error});var Rm=Ua(go),Tm=Ba(go),zm=Ga(go),Em=Ja(go);var xe=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)=>it(t,r,n),t.brand=()=>t,t.register=(r,n)=>(r.add(t,n),t),t.parse=(r,n)=>Rm(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>zm(t,r,n),t.parseAsync=async(r,n)=>Tm(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>Em(t,r,n),t.spa=t.safeParseAsync,t.refine=(r,n)=>t.check(vx(r,n)),t.superRefine=r=>t.check(bx(r)),t.overwrite=r=>t.check(Dr(r)),t.optional=()=>we(t),t.nullable=()=>Om(t),t.nullish=()=>we(Om(t)),t.nonoptional=r=>px(t,r),t.array=()=>ee(t),t.or=r=>he([t,r]),t.and=r=>Bs(t,r),t.transform=r=>Nu(t,Zm(r)),t.default=r=>ux(t,r),t.prefault=r=>dx(t,r),t.catch=r=>mx(t,r),t.pipe=r=>Nu(t,r),t.readonly=()=>yx(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)),Nm=b("_ZodString",(t,e)=>{lo.init(t,e),xe.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(Zs(...n)),t.length=(...n)=>t.check(Ds(...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())}),I$=b("ZodString",(t,e)=>{lo.init(t,e),Nm.init(t,e),t.email=r=>t.check(Vc(O$,r)),t.url=r=>t.check(Hc(N$,r)),t.jwt=r=>t.check(au(J$,r)),t.emoji=r=>t.check(Gc(A$,r)),t.guid=r=>t.check(As(Pm,r)),t.uuid=r=>t.check(Lc(Fs,r)),t.uuidv4=r=>t.check(Uc(Fs,r)),t.uuidv6=r=>t.check(Fc(Fs,r)),t.uuidv7=r=>t.check(Bc(Fs,r)),t.nanoid=r=>t.check(Jc(C$,r)),t.guid=r=>t.check(As(Pm,r)),t.cuid=r=>t.check(Kc(j$,r)),t.cuid2=r=>t.check(Wc(M$,r)),t.ulid=r=>t.check(Yc(Z$,r)),t.base64=r=>t.check(ou(B$,r)),t.base64url=r=>t.check(su(H$,r)),t.xid=r=>t.check(Qc(D$,r)),t.ksuid=r=>t.check(Xc(q$,r)),t.ipv4=r=>t.check(eu(V$,r)),t.ipv6=r=>t.check(tu(L$,r)),t.cidrv4=r=>t.check(ru(U$,r)),t.cidrv6=r=>t.check(nu(F$,r)),t.e164=r=>t.check(iu(G$,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(I$,t)}var ve=b("ZodStringFormat",(t,e)=>{fe.init(t,e),Nm.init(t,e)}),O$=b("ZodEmail",(t,e)=>{rc.init(t,e),ve.init(t,e)});var Pm=b("ZodGUID",(t,e)=>{ec.init(t,e),ve.init(t,e)});var Fs=b("ZodUUID",(t,e)=>{tc.init(t,e),ve.init(t,e)});var N$=b("ZodURL",(t,e)=>{nc.init(t,e),ve.init(t,e)});var A$=b("ZodEmoji",(t,e)=>{oc.init(t,e),ve.init(t,e)});var C$=b("ZodNanoID",(t,e)=>{sc.init(t,e),ve.init(t,e)});var j$=b("ZodCUID",(t,e)=>{ic.init(t,e),ve.init(t,e)});var M$=b("ZodCUID2",(t,e)=>{ac.init(t,e),ve.init(t,e)});var Z$=b("ZodULID",(t,e)=>{cc.init(t,e),ve.init(t,e)});var D$=b("ZodXID",(t,e)=>{uc.init(t,e),ve.init(t,e)});var q$=b("ZodKSUID",(t,e)=>{lc.init(t,e),ve.init(t,e)});var V$=b("ZodIPv4",(t,e)=>{dc.init(t,e),ve.init(t,e)});var L$=b("ZodIPv6",(t,e)=>{pc.init(t,e),ve.init(t,e)});var U$=b("ZodCIDRv4",(t,e)=>{fc.init(t,e),ve.init(t,e)});var F$=b("ZodCIDRv6",(t,e)=>{mc.init(t,e),ve.init(t,e)});var B$=b("ZodBase64",(t,e)=>{hc.init(t,e),ve.init(t,e)});var H$=b("ZodBase64URL",(t,e)=>{gc.init(t,e),ve.init(t,e)});var G$=b("ZodE164",(t,e)=>{yc.init(t,e),ve.init(t,e)});var J$=b("ZodJWT",(t,e)=>{_c.init(t,e),ve.init(t,e)});var Am=b("ZodNumber",(t,e)=>{Is.init(t,e),xe.init(t,e),t.gt=(n,o)=>t.check(js(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(Cs(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(Im(n)),t.safe=n=>t.check(Im(n)),t.positive=n=>t.check(js(0,n)),t.nonnegative=n=>t.check(mo(0,n)),t.negative=n=>t.check(Cs(0,n)),t.nonpositive=n=>t.check(fo(0,n)),t.multipleOf=(n,o)=>t.check(Ms(n,o)),t.step=(n,o)=>t.check(Ms(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(Am,t)}var K$=b("ZodNumberFormat",(t,e)=>{vc.init(t,e),Am.init(t,e)});function Im(t){return uu(K$,t)}var W$=b("ZodBoolean",(t,e)=>{bc.init(t,e),xe.init(t,e)});function Pe(t){return lu(W$,t)}var Y$=b("ZodNull",(t,e)=>{wc.init(t,e),xe.init(t,e)});function Cm(t){return du(Y$,t)}var Q$=b("ZodUnknown",(t,e)=>{$c.init(t,e),xe.init(t,e)});function be(){return pu(Q$)}var X$=b("ZodNever",(t,e)=>{xc.init(t,e),xe.init(t,e)});function ex(t){return fu(X$,t)}var tx=b("ZodArray",(t,e)=>{Sc.init(t,e),xe.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(Zs(r,n)),t.length=(r,n)=>t.check(Ds(r,n)),t.unwrap=()=>t.element});function ee(t,e){return ym(tx,t,e)}var jm=b("ZodObject",(t,e)=>{Os.init(t,e),xe.init(t,e),X.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:be()}),t.loose=()=>t.clone({...t._zod.def,catchall:be()}),t.strict=()=>t.clone({...t._zod.def,catchall:ex()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>X.extend(t,r),t.merge=r=>X.merge(t,r),t.pick=r=>X.pick(t,r),t.omit=r=>X.omit(t,r),t.partial=(...r)=>X.partial(Dm,t,r[0]),t.required=(...r)=>X.required(qm,t,r[0])});function I(t,e){let r={type:"object",get shape(){return X.assignProp(this,"shape",{...t}),this.shape},...X.normalizeParams(e)};return new jm(r)}function Fe(t,e){return new jm({type:"object",get shape(){return X.assignProp(this,"shape",{...t}),this.shape},catchall:be(),...X.normalizeParams(e)})}var Mm=b("ZodUnion",(t,e)=>{Ns.init(t,e),xe.init(t,e),t.options=e.options});function he(t,e){return new Mm({type:"union",options:t,...X.normalizeParams(e)})}var rx=b("ZodDiscriminatedUnion",(t,e)=>{Mm.init(t,e),kc.init(t,e)});function Au(t,e,r){return new rx({type:"union",options:e,discriminator:t,...X.normalizeParams(r)})}var nx=b("ZodIntersection",(t,e)=>{Rc.init(t,e),xe.init(t,e)});function Bs(t,e){return new nx({type:"intersection",left:t,right:e})}var ox=b("ZodRecord",(t,e)=>{Tc.init(t,e),xe.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});function me(t,e,r){return new ox({type:"record",keyType:t,valueType:e,...X.normalizeParams(r)})}var Ou=b("ZodEnum",(t,e)=>{zc.init(t,e),xe.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:[],...X.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:[],...X.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,...X.normalizeParams(e)})}var sx=b("ZodLiteral",(t,e)=>{Ec.init(t,e),xe.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 C(t,e){return new sx({type:"literal",values:Array.isArray(t)?t:[t],...X.normalizeParams(e)})}var ix=b("ZodTransform",(t,e)=>{Pc.init(t,e),xe.init(t,e),t._zod.parse=(r,n)=>{r.addIssue=s=>{if(typeof s=="string")r.issues.push(X.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(X.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 Zm(t){return new ix({type:"transform",transform:t})}var Dm=b("ZodOptional",(t,e)=>{Ic.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType});function we(t){return new Dm({type:"optional",innerType:t})}var ax=b("ZodNullable",(t,e)=>{Oc.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType});function Om(t){return new ax({type:"nullable",innerType:t})}var cx=b("ZodDefault",(t,e)=>{Nc.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function ux(t,e){return new cx({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var lx=b("ZodPrefault",(t,e)=>{Ac.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType});function dx(t,e){return new lx({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var qm=b("ZodNonOptional",(t,e)=>{Cc.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType});function px(t,e){return new qm({type:"nonoptional",innerType:t,...X.normalizeParams(e)})}var fx=b("ZodCatch",(t,e)=>{jc.init(t,e),xe.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function mx(t,e){return new fx({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var hx=b("ZodPipe",(t,e)=>{Mc.init(t,e),xe.init(t,e),t.in=e.in,t.out=e.out});function Nu(t,e){return new hx({type:"pipe",in:t,out:e})}var gx=b("ZodReadonly",(t,e)=>{Zc.init(t,e),xe.init(t,e)});function yx(t){return new gx({type:"readonly",innerType:t})}var Vm=b("ZodCustom",(t,e)=>{Dc.init(t,e),xe.init(t,e)});function _x(t){let e=new Ae({check:"custom"});return e._zod.check=t,e}function Lm(t,e){return Su(Vm,t??(()=>!0),e)}function vx(t,e={}){return ku(Vm,t,e)}function bx(t){let e=_x(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(X.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(X.issue(o))}},t(r.value,r)));return e}function Cu(t,e){return Nu(Zm(t),e)}st(dm());var Mu="2025-11-25",Um="2025-03-26",bn=[Mu,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],ir="io.modelcontextprotocol/related-task",Gs="2.0",Ee=Lm(t=>t!==null&&(typeof t=="object"||typeof t=="function")),Fm=he([v(),ae().int()]),Bm=v(),hA=Fe({ttl:ae().optional(),pollInterval:ae().optional()}),wx=I({ttl:ae().optional()}),$x=I({taskId:v()}),Zu=Fe({progressToken:Fm.optional(),[ir]:$x.optional()}),at=I({_meta:Zu.optional()}),yo=at.extend({task:wx.optional()}),Hm=t=>yo.safeParse(t).success,Ce=I({method:v(),params:at.loose().optional()}),ft=I({_meta:Zu.optional()}),mt=I({method:v(),params:ft.loose().optional()}),je=Fe({_meta:Zu.optional()}),Js=he([v(),ae().int()]),Gm=I({jsonrpc:C(Gs),id:Js,...Ce.shape}).strict(),ar=t=>Gm.safeParse(t).success,Jm=I({jsonrpc:C(Gs),...mt.shape}).strict(),Km=t=>Jm.safeParse(t).success,Du=I({jsonrpc:C(Gs),id:Js,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:C(Gs),id:Js.optional(),error:I({code:ae().int(),message:v(),data:be().optional()})}).strict();var wn=t=>qu.safeParse(t).success;var _o=he([Gm,Jm,Du,qu]),gA=he([Du,qu]),Ks=je.strict(),xx=ft.extend({requestId:Js.optional(),reason:v().optional()}),Ws=mt.extend({method:C("notifications/cancelled"),params:xx}),Sx=I({src:v(),mimeType:v().optional(),sizes:ee(v()).optional(),theme:Xe(["light","dark"]).optional()}),vo=I({icons:ee(Sx).optional()}),vn=I({name:v(),title:v().optional()}),Wm=vn.extend({...vn.shape,...vo.shape,version:v(),websiteUrl:v().optional(),description:v().optional()}),kx=Bs(I({applyDefaults:Pe().optional()}),me(v(),be())),Rx=Cu(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,Bs(I({form:kx.optional(),url:Ee.optional()}),me(v(),be()).optional())),Tx=Fe({list:Ee.optional(),cancel:Ee.optional(),requests:Fe({sampling:Fe({createMessage:Ee.optional()}).optional(),elicitation:Fe({create:Ee.optional()}).optional()}).optional()}),zx=Fe({list:Ee.optional(),cancel:Ee.optional(),requests:Fe({tools:Fe({call:Ee.optional()}).optional()}).optional()}),Ex=I({experimental:me(v(),Ee).optional(),sampling:I({context:Ee.optional(),tools:Ee.optional()}).optional(),elicitation:Rx.optional(),roots:I({listChanged:Pe().optional()}).optional(),tasks:Tx.optional(),extensions:me(v(),Ee).optional()}),Px=at.extend({protocolVersion:v(),capabilities:Ex,clientInfo:Wm}),Ys=Ce.extend({method:C("initialize"),params:Px}),bo=t=>Ys.safeParse(t).success,Ix=I({experimental:me(v(),Ee).optional(),logging:Ee.optional(),completions:Ee.optional(),prompts:I({listChanged:Pe().optional()}).optional(),resources:I({subscribe:Pe().optional(),listChanged:Pe().optional()}).optional(),tools:I({listChanged:Pe().optional()}).optional(),tasks:zx.optional(),extensions:me(v(),Ee).optional()}),Ox=je.extend({protocolVersion:v(),capabilities:Ix,serverInfo:Wm,instructions:v().optional()}),Vu=mt.extend({method:C("notifications/initialized"),params:ft.optional()});var Qs=Ce.extend({method:C("ping"),params:at.optional()}),Nx=I({progress:ae(),total:we(ae()),message:we(v())}),Ax=I({...ft.shape,...Nx.shape,progressToken:Fm}),Xs=mt.extend({method:C("notifications/progress"),params:Ax}),Cx=at.extend({cursor:Bm.optional()}),wo=Ce.extend({params:Cx.optional()}),$o=je.extend({nextCursor:Bm.optional()}),jx=Xe(["working","input_required","completed","failed","cancelled"]),xo=I({taskId:v(),status:jx,ttl:he([ae(),Cm()]),createdAt:v(),lastUpdatedAt:v(),pollInterval:we(ae()),statusMessage:we(v())}),$n=je.extend({task:xo}),Mx=ft.merge(xo),So=mt.extend({method:C("notifications/tasks/status"),params:Mx}),ei=Ce.extend({method:C("tasks/get"),params:at.extend({taskId:v()})}),ti=je.merge(xo),ri=Ce.extend({method:C("tasks/result"),params:at.extend({taskId:v()})}),yA=je.loose(),ni=wo.extend({method:C("tasks/list")}),oi=$o.extend({tasks:ee(xo)}),si=Ce.extend({method:C("tasks/cancel"),params:at.extend({taskId:v()})}),Ym=je.merge(xo),Qm=I({uri:v(),mimeType:we(v()),_meta:me(v(),be()).optional()}),Xm=Qm.extend({text:v()}),Lu=v().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),eh=Qm.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()}),th=I({...vn.shape,...vo.shape,uri:v(),description:we(v()),mimeType:we(v()),size:we(ae()),annotations:xn.optional(),_meta:we(Fe({}))}),Zx=I({...vn.shape,...vo.shape,uriTemplate:v(),description:we(v()),mimeType:we(v()),annotations:xn.optional(),_meta:we(Fe({}))}),ii=wo.extend({method:C("resources/list")}),Dx=$o.extend({resources:ee(th)}),ai=wo.extend({method:C("resources/templates/list")}),qx=$o.extend({resourceTemplates:ee(Zx)}),Uu=at.extend({uri:v()}),Vx=Uu,ci=Ce.extend({method:C("resources/read"),params:Vx}),Lx=je.extend({contents:ee(he([Xm,eh]))}),Ux=mt.extend({method:C("notifications/resources/list_changed"),params:ft.optional()}),Fx=Uu,Bx=Ce.extend({method:C("resources/subscribe"),params:Fx}),Hx=Uu,Gx=Ce.extend({method:C("resources/unsubscribe"),params:Hx}),Jx=ft.extend({uri:v()}),Kx=mt.extend({method:C("notifications/resources/updated"),params:Jx}),Wx=I({name:v(),description:we(v()),required:we(Pe())}),Yx=I({...vn.shape,...vo.shape,description:we(v()),arguments:we(ee(Wx)),_meta:we(Fe({}))}),ui=wo.extend({method:C("prompts/list")}),Qx=$o.extend({prompts:ee(Yx)}),Xx=at.extend({name:v(),arguments:me(v(),v()).optional()}),li=Ce.extend({method:C("prompts/get"),params:Xx}),Fu=I({type:C("text"),text:v(),annotations:xn.optional(),_meta:me(v(),be()).optional()}),Bu=I({type:C("image"),data:Lu,mimeType:v(),annotations:xn.optional(),_meta:me(v(),be()).optional()}),Hu=I({type:C("audio"),data:Lu,mimeType:v(),annotations:xn.optional(),_meta:me(v(),be()).optional()}),e0=I({type:C("tool_use"),name:v(),id:v(),input:me(v(),be()),_meta:me(v(),be()).optional()}),t0=I({type:C("resource"),resource:he([Xm,eh]),annotations:xn.optional(),_meta:me(v(),be()).optional()}),r0=th.extend({type:C("resource_link")}),Gu=he([Fu,Bu,Hu,r0,t0]),n0=I({role:ko,content:Gu}),o0=je.extend({description:v().optional(),messages:ee(n0)}),s0=mt.extend({method:C("notifications/prompts/list_changed"),params:ft.optional()}),i0=I({title:v().optional(),readOnlyHint:Pe().optional(),destructiveHint:Pe().optional(),idempotentHint:Pe().optional(),openWorldHint:Pe().optional()}),a0=I({taskSupport:Xe(["required","optional","forbidden"]).optional()}),rh=I({...vn.shape,...vo.shape,description:v().optional(),inputSchema:I({type:C("object"),properties:me(v(),Ee).optional(),required:ee(v()).optional()}).catchall(be()),outputSchema:I({type:C("object"),properties:me(v(),Ee).optional(),required:ee(v()).optional()}).catchall(be()).optional(),annotations:i0.optional(),execution:a0.optional(),_meta:me(v(),be()).optional()}),di=wo.extend({method:C("tools/list")}),c0=$o.extend({tools:ee(rh)}),pi=je.extend({content:ee(Gu).default([]),structuredContent:me(v(),be()).optional(),isError:Pe().optional()}),_A=pi.or(je.extend({toolResult:be()})),u0=yo.extend({name:v(),arguments:me(v(),be()).optional()}),Sn=Ce.extend({method:C("tools/call"),params:u0}),l0=mt.extend({method:C("notifications/tools/list_changed"),params:ft.optional()}),vA=I({autoRefresh:Pe().default(!0),debounceMs:ae().int().nonnegative().default(300)}),Ro=Xe(["debug","info","notice","warning","error","critical","alert","emergency"]),d0=at.extend({level:Ro}),Ju=Ce.extend({method:C("logging/setLevel"),params:d0}),p0=ft.extend({level:Ro,logger:v().optional(),data:be()}),f0=mt.extend({method:C("notifications/message"),params:p0}),m0=I({name:v().optional()}),h0=I({hints:ee(m0).optional(),costPriority:ae().min(0).max(1).optional(),speedPriority:ae().min(0).max(1).optional(),intelligencePriority:ae().min(0).max(1).optional()}),g0=I({mode:Xe(["auto","required","none"]).optional()}),y0=I({type:C("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:me(v(),be()).optional()}),_0=Au("type",[Fu,Bu,Hu]),Hs=Au("type",[Fu,Bu,Hu,e0,y0]),v0=I({role:ko,content:he([Hs,ee(Hs)]),_meta:me(v(),be()).optional()}),b0=yo.extend({messages:ee(v0),modelPreferences:h0.optional(),systemPrompt:v().optional(),includeContext:Xe(["none","thisServer","allServers"]).optional(),temperature:ae().optional(),maxTokens:ae().int(),stopSequences:ee(v()).optional(),metadata:Ee.optional(),tools:ee(rh).optional(),toolChoice:g0.optional()}),w0=Ce.extend({method:C("sampling/createMessage"),params:b0}),To=je.extend({model:v(),stopReason:we(Xe(["endTurn","stopSequence","maxTokens"]).or(v())),role:ko,content:_0}),Ku=je.extend({model:v(),stopReason:we(Xe(["endTurn","stopSequence","maxTokens","toolUse"]).or(v())),role:ko,content:he([Hs,ee(Hs)])}),$0=I({type:C("boolean"),title:v().optional(),description:v().optional(),default:Pe().optional()}),x0=I({type:C("string"),title:v().optional(),description:v().optional(),minLength:ae().optional(),maxLength:ae().optional(),format:Xe(["email","uri","date","date-time"]).optional(),default:v().optional()}),S0=I({type:Xe(["number","integer"]),title:v().optional(),description:v().optional(),minimum:ae().optional(),maximum:ae().optional(),default:ae().optional()}),k0=I({type:C("string"),title:v().optional(),description:v().optional(),enum:ee(v()),default:v().optional()}),R0=I({type:C("string"),title:v().optional(),description:v().optional(),oneOf:ee(I({const:v(),title:v()})),default:v().optional()}),T0=I({type:C("string"),title:v().optional(),description:v().optional(),enum:ee(v()),enumNames:ee(v()).optional(),default:v().optional()}),z0=he([k0,R0]),E0=I({type:C("array"),title:v().optional(),description:v().optional(),minItems:ae().optional(),maxItems:ae().optional(),items:I({type:C("string"),enum:ee(v())}),default:ee(v()).optional()}),P0=I({type:C("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()}),I0=he([E0,P0]),O0=he([T0,z0,I0]),N0=he([O0,$0,x0,S0]),A0=yo.extend({mode:C("form").optional(),message:v(),requestedSchema:I({type:C("object"),properties:me(v(),N0),required:ee(v()).optional()})}),C0=yo.extend({mode:C("url"),message:v(),elicitationId:v(),url:v().url()}),j0=he([A0,C0]),M0=Ce.extend({method:C("elicitation/create"),params:j0}),Z0=ft.extend({elicitationId:v()}),D0=mt.extend({method:C("notifications/elicitation/complete"),params:Z0}),kn=je.extend({action:Xe(["accept","decline","cancel"]),content:Cu(t=>t===null?void 0:t,me(v(),he([v(),ae(),Pe(),ee(v())])).optional())}),q0=I({type:C("ref/resource"),uri:v()});var V0=I({type:C("ref/prompt"),name:v()}),L0=at.extend({ref:he([V0,q0]),argument:I({name:v(),value:v()}),context:I({arguments:me(v(),v()).optional()}).optional()}),fi=Ce.extend({method:C("completion/complete"),params:L0});function nh(t){if(t.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${t.params.ref.type}`)}function oh(t){if(t.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${t.params.ref.type}`)}var U0=je.extend({completion:Fe({values:ee(v()).max(100),total:we(ae().int()),hasMore:we(Pe())})}),F0=I({uri:v().startsWith("file://"),name:v().optional(),_meta:me(v(),be()).optional()}),B0=Ce.extend({method:C("roots/list"),params:at.optional()}),Wu=je.extend({roots:ee(F0)}),H0=mt.extend({method:C("notifications/roots/list_changed"),params:ft.optional()}),bA=he([Qs,Ys,fi,Ju,li,ui,ii,ai,ci,Bx,Gx,Sn,di,ei,ri,ni,si]),wA=he([Ws,Xs,Vu,H0,So]),$A=he([Ks,To,Ku,kn,Wu,ti,oi,$n]),xA=he([Qs,w0,M0,B0,ei,ri,ni,si]),SA=he([Ws,Xs,f0,Kx,Ux,l0,s0,So,D0]),kA=he([Ks,Ox,U0,o0,Qx,Dx,qx,Lx,pi,c0,ti,oi,$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 ih=Symbol("Let zodToJsonSchema decide on which parser to use");var sh={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"},ah=t=>typeof t=="string"?{...sh,name:t}:{...sh,...t};var ch=t=>{let e=ah(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 mi=(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 $e(t){if(t.target!=="openAi")return{};let e=[...t.basePath,t.definitionPath,t.openAiAnyTypeName];return t.flags.hasReferencedOpenAiAnyType=!0,{$ref:t.$refStrategy==="relative"?mi(e,t.currentPath):e.join("/")}}function uh(t,e){let r={type:"array"};return t.type?._def&&t.type?._def?.typeName!==S.ZodAny&&(r.items=L(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 lh(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 dh(){return{type:"boolean"}}function hi(t,e){return L(t.type._def,e)}var ph=(t,e)=>L(t.innerType._def,e);function Qu(t,e,r){let n=r??e.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>Qu(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 G0(t,e)}}var G0=(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 fh(t,e){return{...L(t.innerType._def,e),default:t.defaultValue()}}function mh(t,e){return e.effectStrategy==="input"?L(t.schema._def,e):$e(e)}function hh(t){return{type:"string",enum:Array.from(t.values)}}var J0=t=>"type"in t&&t.type==="string"?!1:"allOf"in t;function gh(t,e){let r=[L(t.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),L(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(J0(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 yh(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,xt={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 gi(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":St(r,"email",n.message,e);break;case"format:idn-email":St(r,"idn-email",n.message,e);break;case"pattern:zod":Be(r,xt.email,n.message,e);break}break;case"url":St(r,"uri",n.message,e);break;case"uuid":St(r,"uuid",n.message,e);break;case"regex":Be(r,n.regex,n.message,e);break;case"cuid":Be(r,xt.cuid,n.message,e);break;case"cuid2":Be(r,xt.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":St(r,"date-time",n.message,e);break;case"date":St(r,"date",n.message,e);break;case"time":St(r,"time",n.message,e);break;case"duration":St(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"&&St(r,"ipv4",n.message,e),n.version!=="v4"&&St(r,"ipv6",n.message,e);break}case"base64url":Be(r,xt.base64url,n.message,e);break;case"jwt":Be(r,xt.jwt,n.message,e);break;case"cidr":{n.version!=="v6"&&Be(r,xt.ipv4Cidr,n.message,e),n.version!=="v4"&&Be(r,xt.ipv6Cidr,n.message,e);break}case"emoji":Be(r,xt.emoji(),n.message,e);break;case"ulid":{Be(r,xt.ulid,n.message,e);break}case"base64":{switch(e.base64Strategy){case"format:binary":{St(r,"binary",n.message,e);break}case"contentEncoding:base64":{te(r,"contentEncoding","base64",n.message,e);break}case"pattern:zod":{Be(r,xt.base64,n.message,e);break}}break}case"nanoid":Be(r,xt.nanoid,n.message,e);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function el(t,e){return e.patternStrategy==="escape"?W0(t):t}var K0=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function W0(t){let e="";for(let r=0;r<t.length;r++)K0.has(t[r])||(e+="\\"),e+=t[r];return e}function St(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:_h(e,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):te(t,"pattern",_h(e,n),r,n)}function _h(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 yi(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]})??$e(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}=gi(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}=hi(t.keyType._def,e);return{...r,propertyNames:o}}}return r}function vh(t,e){if(e.mapStrategy==="record")return yi(t,e);let r=V(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||$e(e),n=V(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||$e(e);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function bh(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 wh(t){return t.target==="openAi"?void 0:{not:$e({...t,currentPath:[...t.currentPath,"not"]})}}function $h(t){return t.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var zo={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Sh(t,e){if(e.target==="openApi3")return xh(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 xh(t,e)}var xh=(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 kh(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 Rh(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 Th(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=Y0(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=W0(t,e);return i!==void 0&&(n.additionalProperties=i),n}function W0(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 Y0(t){try{return t.isOptional()}catch{return!0}}var zh=(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:$e(e)},r]}:$e(e)};var Eh=(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 Ph(t,e){return V(t.type._def,e)}function Ih(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 Oh(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 Nh(t){return{not:$e(t)}}function Ah(t){return $e(t)}var Ch=(t,e)=>V(t.innerType._def,e);var jh=(t,e,r)=>{switch(e){case S.ZodString:return gi(t,r);case S.ZodNumber:return Rh(t,r);case S.ZodObject:return Th(t,r);case S.ZodBigInt:return lh(t,r);case S.ZodBoolean:return dh();case S.ZodDate:return Xu(t,r);case S.ZodUndefined:return Nh(r);case S.ZodNull:return $h(r);case S.ZodArray:return uh(t,r);case S.ZodUnion:case S.ZodDiscriminatedUnion:return Sh(t,r);case S.ZodIntersection:return gh(t,r);case S.ZodTuple:return Oh(t,r);case S.ZodRecord:return yi(t,r);case S.ZodLiteral:return yh(t,r);case S.ZodEnum:return hh(t);case S.ZodNativeEnum:return bh(t);case S.ZodNullable:return kh(t,r);case S.ZodOptional:return zh(t,r);case S.ZodMap:return vh(t,r);case S.ZodSet:return Ih(t,r);case S.ZodLazy:return()=>t.getter()._def;case S.ZodPromise:return Ph(t,r);case S.ZodNaN:case S.ZodNever:return wh(r);case S.ZodEffects:return mh(t,r);case S.ZodAny:return $e(r);case S.ZodUnknown:return Ah(r);case S.ZodDefault:return fh(t,r);case S.ZodBranded:return hi(t,r);case S.ZodReadonly:return Ch(t,r);case S.ZodCatch:return ph(t,r);case S.ZodPipeline:return Eh(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!==ih)return a}if(n&&!r){let a=X0(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=jh(t,t.typeName,e),i=typeof s=="function"?V(s(),e):s;if(i&&Q0(t,e,i),e.postProcess){let a=e.postProcess(i,t,e);return o.jsonSchema=i,a}return o.jsonSchema=i,i}var X0=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"relative":return{$ref:mi(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`),$e(e)):e.$refStrategy==="seen"?$e(e):void 0}},Q0=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r);var tl=(t,e)=>{let r=ch(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)??$e(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)??$e(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 eS(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 pt(t)?Ru(t,{target:eS(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=Us(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 tS=6e4,_i=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(Ws,r=>{this._oncancel(r)}),this.setNotificationHandler(Qs,r=>{this._onprogress(r)}),this.setRequestHandler(Xs,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(ei,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(ri,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(ni,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(si,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):Km(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=Hm(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(T=>this._onerror(new Error(`Failed to send cancellation: ${T}`)));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??tS,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 T=this._responseHandlers.get(f);T?T(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},ti,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},oi,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},Ym,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 Mh(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function Zh(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];Mh(i)&&Mh(s)?r[o]={...i,...s}:r[o]=s}return r}var E_=Fp(Fd(),1),P_=Fp(z_(),1);function sP(){let t=new E_.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,P_.default)(t),t}var Qi=class{constructor(e){this._ajv=e??sP()}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 ea=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 I_(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 O_(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 ta=class extends _i{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 Qi,this.setRequestHandler(Ys,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 ea(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Zh(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(pt(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(pi,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){O_(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&I_(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"},Ks)}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 A_=Symbol.for("mcp.completable");function Xd(t){return!!t&&typeof t=="object"&&A_ in t}function C_(t){return t[A_]?.complete}var N_;(function(t){t.Completable="McpCompletable"})(N_||(N_={}));var iP=/^[A-Za-z0-9._-]{1,128}$/;function aP(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"),!iP.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 cP(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=aP(t);return cP(t,e.warnings),e.isValid}var ra=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 na=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 ta(e,r)}get experimental(){return this._experimental||(this._experimental={tasks:new ra(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(di)),this.server.assertCanSetRequestHandler(yr(Sn)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(di,()=>({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"}):uP})(),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 Vs(s,r);if(!i.success){let a="error"in i?i.error:"Unknown error",c=Ls(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 Vs(o,r.structuredContent);if(!s.success){let i="error"in s?s.error:"Unknown error",a=Ls(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(fi)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(fi,async e=>{switch(e.params.ref.type){case"ref/prompt":return nh(e),this.handlePromptCompletion(e,e.params.ref);case"ref/resource":return oh(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=C_(s);if(!i)return os;let a=await i(e.params.argument.value,e.params.context);return M_(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 M_(s)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(yr(ii)),this.server.assertCanSetRequestHandler(yr(ai)),this.server.assertCanSetRequestHandler(yr(ci)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(ii,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(ai,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(ci,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(ui)),this.server.assertCanSetRequestHandler(yr(li)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(ui,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,e])=>e.enabled).map(([e,r])=>({name:e,title:r.title,description:r.description,arguments:r.argsSchema?lP(r.argsSchema):void 0}))})),this.server.setRequestHandler(li,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 Vs(o,e.params.arguments);if(!s.success){let c="error"in s?s.error:"Unknown error",u=Ls(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:j_(o),outputSchema:j_(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 uP={type:"object",properties:{}};function Z_(t){return t!==null&&typeof t=="object"&&"parse"in t&&typeof t.parse=="function"&&"safeParse"in t&&typeof t.safeParse=="function"}function D_(t){return"_def"in t||"_zod"in t||Z_(t)}function ep(t){return typeof t!="object"||t===null||D_(t)?!1:Object.keys(t).length===0?!0:Object.values(t).some(Z_)}function j_(t){if(t){if(ep(t))return Vr(t);if(!D_(t))throw new Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return t}}function lP(t){let e=sr(t);return e?Object.entries(e).map(([r,n])=>{let o=vm(n),s=bm(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=Us(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function M_(t){return{completion:{values:t.slice(0,100),total:t.length,hasMore:t.length>100}}}var os={completion:{values:[],hasMore:!1}};import V_ from"node:process";var oa=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),dP(r)}clear(){this._buffer=void 0}};function dP(t){return _o.parse(JSON.parse(t))}function q_(t){return JSON.stringify(t)+`
43
- `}var sa=class{constructor(e=V_.stdin,r=V_.stdout){this._stdin=e,this._stdout=r,this._readBuffer=new oa,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=q_(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};import{Http2ServerRequest as F_,constants as pP}from"http2";import{Http2ServerRequest as tp}from"http2";import{Readable as L_}from"stream";import xP from"crypto";var Qr=class extends Error{constructor(t,e){super(t,e),this.name="RequestError"}},fP=t=>t instanceof Qr?t:new Qr(t.message,{cause:t}),mP=global.Request,ss=class extends mP{constructor(t,e){typeof t=="object"&&Hn in t&&(t=t[Hn]()),typeof e?.body?.getReader<"u"&&(e.duplex??="half"),super(t,e)}},hP=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)},B_=Symbol("wrapBodyStream"),gP=(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[B_]){let i;s.body=new ReadableStream({async pull(a){try{i||=L_.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=L_.toWeb(n);return new ss(e,s)},Hn=Symbol("getRequestCache"),H_=Symbol("requestCache"),ia=Symbol("incomingKey"),aa=Symbol("urlKey"),yP=Symbol("headersKey"),Bn=Symbol("abortControllerKey"),_P=Symbol("getAbortController"),is={get method(){return this[ia].method||"GET"},get url(){return this[aa]},get headers(){return this[yP]||=hP(this[ia])},[_P](){return this[Hn](),this[Bn]},[Hn](){return this[Bn]||=new AbortController,this[H_]||=gP(this.method,this[aa],this.headers,this[ia],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[H_]};return`Request (lightweight) ${r(n,{...e,depth:t==null?null:t-1})}`}});Object.setPrototypeOf(is,ss.prototype);var vP=(t,e)=>{let r=Object.create(is);r[ia]=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[aa]=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[aa]=i.href,r},np=Symbol("responseCache"),Fn=Symbol("getResponseCache"),en=Symbol("cache"),ip=global.Response,Gn=class G_{#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 G_){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 bP(t){return Promise.race([t,Promise.resolve().then(()=>Promise.resolve(void 0))])}function J_(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 wP(t,e){if(t.locked)throw new TypeError("ReadableStream is locked.");return e.destroyed?void 0:J_(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},$P="x-hono-already-sent";typeof global.crypto>"u"&&(global.crypto=xP);var ap=Symbol("outgoingEnded"),U_=Symbol("incomingDraining"),SP=500,kP=64*1024*1024,rp=t=>{let e=t;if(t.destroyed||e[U_])return;if(e[U_]=!0,t instanceof F_){try{t.stream?.close?.(pP.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,SP);s.unref?.();let i=a=>{r+=a.length,r>kP&&o()};t.on("data",i),t.on("end",n),t.on("error",n),t.resume()},RP=()=>new Response(null,{status:400}),K_=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))},W_=t=>{"flushHeaders"in t&&t.writable&&t.flushHeaders()},Y_=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())):(W_(e),await wP(n,e)?.catch(i=>sp(i,e))),e[ap]?.()},TP=t=>typeof t.then=="function",zP=async(t,e,r={})=>{if(TP(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(K_);if(en in t)return Y_(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 bP(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&&W_(e),await J_(o,e,a))}else n[$P]||(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=vP(n,e.hostname);let a=!r||n.method==="GET"||n.method==="HEAD";if(a||(n[B_]=!0,n.on("end",()=>{a=!0}),n instanceof F_&&(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 Y_(s,o)}catch(a){if(s)return sp(a,o);if(e.errorHandler){if(s=await e.errorHandler(i?a:fP(a)),!s)return}else i?s=K_(a):s=RP()}try{return await zP(s,o,e)}catch(a){return sp(a,o)}}};var ca=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 yi(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]:L(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",o]})??$e(e)}),{}),additionalProperties:e.rejectedAdditionalProperties};let r={type:"object",additionalProperties:L(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}=gi(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}=hi(t.keyType._def,e);return{...r,propertyNames:o}}}return r}function vh(t,e){if(e.mapStrategy==="record")return yi(t,e);let r=L(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||$e(e),n=L(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||$e(e);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function bh(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 wh(t){return t.target==="openAi"?void 0:{not:$e({...t,currentPath:[...t.currentPath,"not"]})}}function $h(t){return t.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var zo={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Sh(t,e){if(e.target==="openApi3")return xh(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 xh(t,e)}var xh=(t,e)=>{let r=(t.options instanceof Map?Array.from(t.options.values()):t.options).map((n,o)=>L(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 kh(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=L(t.innerType._def,{...e,currentPath:[...e.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=L(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function Rh(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 Th(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=Q0(c);u&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),u=!1);let l=L(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=Y0(t,e);return i!==void 0&&(n.additionalProperties=i),n}function Y0(t,e){if(t.catchall._def.typeName!=="ZodNever")return L(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 Q0(t){try{return t.isOptional()}catch{return!0}}var zh=(t,e)=>{if(e.currentPath.toString()===e.propertyPath?.toString())return L(t.innerType._def,e);let r=L(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return r?{anyOf:[{not:$e(e)},r]}:$e(e)};var Eh=(t,e)=>{if(e.pipeStrategy==="input")return L(t.in._def,e);if(e.pipeStrategy==="output")return L(t.out._def,e);let r=L(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),n=L(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}};function Ph(t,e){return L(t.type._def,e)}function Ih(t,e){let n={type:"array",uniqueItems:!0,items:L(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 Oh(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((r,n)=>L(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:L(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((r,n)=>L(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function Nh(t){return{not:$e(t)}}function Ah(t){return $e(t)}var Ch=(t,e)=>L(t.innerType._def,e);var jh=(t,e,r)=>{switch(e){case S.ZodString:return gi(t,r);case S.ZodNumber:return Rh(t,r);case S.ZodObject:return Th(t,r);case S.ZodBigInt:return lh(t,r);case S.ZodBoolean:return dh();case S.ZodDate:return Qu(t,r);case S.ZodUndefined:return Nh(r);case S.ZodNull:return $h(r);case S.ZodArray:return uh(t,r);case S.ZodUnion:case S.ZodDiscriminatedUnion:return Sh(t,r);case S.ZodIntersection:return gh(t,r);case S.ZodTuple:return Oh(t,r);case S.ZodRecord:return yi(t,r);case S.ZodLiteral:return yh(t,r);case S.ZodEnum:return hh(t);case S.ZodNativeEnum:return bh(t);case S.ZodNullable:return kh(t,r);case S.ZodOptional:return zh(t,r);case S.ZodMap:return vh(t,r);case S.ZodSet:return Ih(t,r);case S.ZodLazy:return()=>t.getter()._def;case S.ZodPromise:return Ph(t,r);case S.ZodNaN:case S.ZodNever:return wh(r);case S.ZodEffects:return mh(t,r);case S.ZodAny:return $e(r);case S.ZodUnknown:return Ah(r);case S.ZodDefault:return fh(t,r);case S.ZodBranded:return hi(t,r);case S.ZodReadonly:return Ch(t,r);case S.ZodCatch:return ph(t,r);case S.ZodPipeline:return Eh(t,r);case S.ZodFunction:case S.ZodVoid:case S.ZodSymbol:return;default:return(n=>{})(e)}};function L(t,e,r=!1){let n=e.seen.get(t);if(e.override){let a=e.override?.(t,e,n,r);if(a!==ih)return a}if(n&&!r){let a=X0(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=jh(t,t.typeName,e),i=typeof s=="function"?L(s(),e):s;if(i&&eS(t,e,i),e.postProcess){let a=e.postProcess(i,t,e);return o.jsonSchema=i,a}return o.jsonSchema=i,i}var X0=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"relative":return{$ref:mi(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`),$e(e)):e.$refStrategy==="seen"?$e(e):void 0}},eS=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r);var tl=(t,e)=>{let r=ch(e),n=typeof e=="object"&&e.definitions?Object.entries(e.definitions).reduce((c,[u,l])=>({...c,[u]:L(l._def,{...r,currentPath:[...r.basePath,r.definitionPath,u]},!0)??$e(r)}),{}):void 0,o=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,s=L(t._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??$e(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 tS(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 pt(t)?Ru(t,{target:tS(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=Us(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 rS=6e4,_i=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(Ws,r=>{this._oncancel(r)}),this.setNotificationHandler(Xs,r=>{this._onprogress(r)}),this.setRequestHandler(Qs,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(ei,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(ri,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(ni,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(si,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):Km(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=Hm(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(T=>this._onerror(new Error(`Failed to send cancellation: ${T}`)));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??rS,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 T=this._responseHandlers.get(f);T?T(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},ti,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},oi,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},Ym,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 Mh(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function Zh(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];Mh(i)&&Mh(s)?r[o]={...i,...s}:r[o]=s}return r}var E_=Fp(Fd(),1),P_=Fp(z_(),1);function iP(){let t=new E_.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,P_.default)(t),t}var Xi=class{constructor(e){this._ajv=e??iP()}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 ea=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 I_(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 O_(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 ta=class extends _i{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(Ys,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 ea(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Zh(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(pt(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(pi,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){O_(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&I_(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"},Ks)}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 A_=Symbol.for("mcp.completable");function Qd(t){return!!t&&typeof t=="object"&&A_ in t}function C_(t){return t[A_]?.complete}var N_;(function(t){t.Completable="McpCompletable"})(N_||(N_={}));var aP=/^[A-Za-z0-9._-]{1,128}$/;function cP(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"),!aP.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 uP(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=cP(t);return uP(t,e.warnings),e.isValid}var ra=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 na=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 ta(e,r)}get experimental(){return this._experimental||(this._experimental={tasks:new ra(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(di)),this.server.assertCanSetRequestHandler(yr(Sn)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(di,()=>({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"}):lP})(),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 Vs(s,r);if(!i.success){let a="error"in i?i.error:"Unknown error",c=Ls(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 Vs(o,r.structuredContent);if(!s.success){let i="error"in s?s.error:"Unknown error",a=Ls(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(fi)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(fi,async e=>{switch(e.params.ref.type){case"ref/prompt":return nh(e),this.handlePromptCompletion(e,e.params.ref);case"ref/resource":return oh(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(!Qd(s))return os;let i=C_(s);if(!i)return os;let a=await i(e.params.argument.value,e.params.context);return M_(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 M_(s)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(yr(ii)),this.server.assertCanSetRequestHandler(yr(ai)),this.server.assertCanSetRequestHandler(yr(ci)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(ii,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(ai,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(ci,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(ui)),this.server.assertCanSetRequestHandler(yr(li)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(ui,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,e])=>e.enabled).map(([e,r])=>({name:e,title:r.title,description:r.description,arguments:r.argsSchema?dP(r.argsSchema):void 0}))})),this.server.setRequestHandler(li,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 Vs(o,e.params.arguments);if(!s.success){let c="error"in s?s.error:"Unknown error",u=Ls(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 Ye?c._def?.innerType:c;return Qd(u)})&&this.setCompletionRequestHandler(),i}_createRegisteredTool(e,r,n,o,s,i,a,c,u){Xd(e);let l={title:r,description:n,inputSchema:j_(o),outputSchema:j_(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=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 lP={type:"object",properties:{}};function Z_(t){return t!==null&&typeof t=="object"&&"parse"in t&&typeof t.parse=="function"&&"safeParse"in t&&typeof t.safeParse=="function"}function D_(t){return"_def"in t||"_zod"in t||Z_(t)}function ep(t){return typeof t!="object"||t===null||D_(t)?!1:Object.keys(t).length===0?!0:Object.values(t).some(Z_)}function j_(t){if(t){if(ep(t))return Vr(t);if(!D_(t))throw new Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return t}}function dP(t){let e=sr(t);return e?Object.entries(e).map(([r,n])=>{let o=vm(n),s=bm(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=Us(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function M_(t){return{completion:{values:t.slice(0,100),total:t.length,hasMore:t.length>100}}}var os={completion:{values:[],hasMore:!1}};import V_ from"node:process";var oa=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),pP(r)}clear(){this._buffer=void 0}};function pP(t){return _o.parse(JSON.parse(t))}function q_(t){return JSON.stringify(t)+`
43
+ `}var sa=class{constructor(e=V_.stdin,r=V_.stdout){this._stdin=e,this._stdout=r,this._readBuffer=new oa,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=q_(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};import{Http2ServerRequest as F_,constants as fP}from"http2";import{Http2ServerRequest as tp}from"http2";import{Readable as L_}from"stream";import SP from"crypto";var Xr=class extends Error{constructor(t,e){super(t,e),this.name="RequestError"}},mP=t=>t instanceof Xr?t:new Xr(t.message,{cause:t}),hP=global.Request,ss=class extends hP{constructor(t,e){typeof t=="object"&&Hn in t&&(t=t[Hn]()),typeof e?.body?.getReader<"u"&&(e.duplex??="half"),super(t,e)}},gP=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)},B_=Symbol("wrapBodyStream"),yP=(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[B_]){let i;s.body=new ReadableStream({async pull(a){try{i||=L_.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=L_.toWeb(n);return new ss(e,s)},Hn=Symbol("getRequestCache"),H_=Symbol("requestCache"),ia=Symbol("incomingKey"),aa=Symbol("urlKey"),_P=Symbol("headersKey"),Bn=Symbol("abortControllerKey"),vP=Symbol("getAbortController"),is={get method(){return this[ia].method||"GET"},get url(){return this[aa]},get headers(){return this[_P]||=gP(this[ia])},[vP](){return this[Hn](),this[Bn]},[Hn](){return this[Bn]||=new AbortController,this[H_]||=yP(this.method,this[aa],this.headers,this[ia],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[H_]};return`Request (lightweight) ${r(n,{...e,depth:t==null?null:t-1})}`}});Object.setPrototypeOf(is,ss.prototype);var bP=(t,e)=>{let r=Object.create(is);r[ia]=t;let n=t.url||"";if(n[0]!=="/"&&(n.startsWith("http://")||n.startsWith("https://"))){if(t instanceof tp)throw new Xr("Absolute URL for :path is not allowed in HTTP/2");try{let a=new URL(n);r[aa]=a.href}catch(a){throw new Xr("Invalid absolute URL",{cause:a})}return r}let o=(t instanceof tp?t.authority:t.headers.host)||e;if(!o)throw new Xr("Missing host header");let s;if(t instanceof tp){if(s=t.scheme,!(s==="http"||s==="https"))throw new Xr("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 Xr("Invalid host header");return r[aa]=i.href,r},np=Symbol("responseCache"),Fn=Symbol("getResponseCache"),en=Symbol("cache"),ip=global.Response,Gn=class G_{#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 G_){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 wP(t){return Promise.race([t,Promise.resolve().then(()=>Promise.resolve(void 0))])}function J_(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:J_(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},xP="x-hono-already-sent";typeof global.crypto>"u"&&(global.crypto=SP);var ap=Symbol("outgoingEnded"),U_=Symbol("incomingDraining"),kP=500,RP=64*1024*1024,rp=t=>{let e=t;if(t.destroyed||e[U_])return;if(e[U_]=!0,t instanceof F_){try{t.stream?.close?.(fP.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,kP);s.unref?.();let i=a=>{r+=a.length,r>RP&&o()};t.on("data",i),t.on("end",n),t.on("error",n),t.resume()},TP=()=>new Response(null,{status:400}),K_=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))},W_=t=>{"flushHeaders"in t&&t.writable&&t.flushHeaders()},Y_=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())):(W_(e),await $P(n,e)?.catch(i=>sp(i,e))),e[ap]?.()},zP=t=>typeof t.then=="function",EP=async(t,e,r={})=>{if(zP(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(K_);if(en in t)return Y_(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 wP(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&&W_(e),await J_(o,e,a))}else n[xP]||(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=bP(n,e.hostname);let a=!r||n.method==="GET"||n.method==="HEAD";if(a||(n[B_]=!0,n.on("end",()=>{a=!0}),n instanceof F_&&(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 Y_(s,o)}catch(a){if(s)return sp(a,o);if(e.errorHandler){if(s=await e.errorHandler(i?a:mP(a)),!s)return}else i?s=K_(a):s=TP()}try{return await EP(s,o,e)}catch(a){return sp(a,o)}}};var ca=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,51 +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(_=>_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")??Um;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 ua=class{constructor(e={}){this._requestContext=new WeakMap,this._webStandardTransport=new ca(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 sI,join as Te,dirname as iI,isAbsolute as aI,basename as cI}from"node:path";import{fileURLToPath as uI}from"node:url";import{createHash as lI,randomBytes as zv,randomInt as Ev,randomUUID as dI,timingSafeEqual as pI}from"node:crypto";import{createServer as fI}from"node:http";import{brotliCompressSync as mI,brotliDecompressSync as hI}from"node:zlib";import*as R from"node:fs";import{readFile as gI,mkdir as yI,writeFile as _I}from"node:fs/promises";import{adapt_wrapper as vI}from"@adapt-toolkit/sdk/executables";import{PacketWrapperConfigurator as bI}from"@adapt-toolkit/sdk/wrappers";import{object_to_adapt_value as Pv}from"@adapt-toolkit/sdk/wrapper";import{AdaptObjectLifetime as Ap}from"@adapt-toolkit/sdk/common";import*as ct from"node:fs";import{randomBytes as EP}from"node:crypto";import{homedir as ev}from"node:os";import{resolve as la,join as up,dirname as tv,basename as PP}from"node:path";var rv=["owner","shared","open"],Jn={brokerUrl:"wss://broker1.ours.network",port:3050,stateDir:la(ev(),".ours"),gcIntervalMs:36e5,autoStart:!1,apiVisibility:"owner"};function IP(){return process.env.OURS_CONFIG??up(ev(),".ours","config.json")}function OP(){let t;try{t=ct.readFileSync(IP(),"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=la(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"&&rv.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 NP(){let t=process.env.OURS_API_VISIBILITY?.trim().toLowerCase();return t&&rv.includes(t)?t:void 0}function AP(t){let e=process.env[t];if(e!==void 0)return e==="1"||e.toLowerCase()==="true"}function X_(t){let e=process.env[t];if(e===void 0)return;let r=parseInt(e,10);return Number.isNaN(r)?void 0:r}function nv(){let t=OP();return{brokerUrl:process.env.OURS_BROKER_URL??t.brokerUrl??Jn.brokerUrl,port:X_("OURS_PORT")??t.port??Jn.port,stateDir:la(process.env.OURS_STATE_DIR??t.stateDir??Jn.stateDir),gcIntervalMs:X_("OURS_GC_INTERVAL_MS")??t.gcIntervalMs??Jn.gcIntervalMs,autoStart:AP("OURS_AUTOSTART")??t.autoStart??Jn.autoStart,apiVisibility:NP()??t.apiVisibility??Jn.apiVisibility,apiToken:process.env.OURS_API_TOKEN?.trim()||t.apiToken,stt:CP(t.stt)}}function CP(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 jP="daemon-token";function lp(t){return up(t.stateDir,jP)}function ov(t){let e=process.env.OURS_API_TOKEN?.trim();return e||t.apiToken?.trim()||void 0}function sv(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=ct.readFileSync(o,"utf8").trim();if(i)return{token:i,source:"file"}}catch{}if(!e.generate)return null;let s=EP(32).toString("hex");try{ct.mkdirSync(tv(o),{recursive:!0}),ct.writeFileSync(o,s+`
55
- `,{mode:384}),ct.chmodSync(o,384)}catch{}return{token:s,source:"generated"}}var Q_=".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 MP(t){let e=la(t);return PP(e)===Q_?e:up(e,Q_)}function iv(t,e,r=!1){let n=dp(e),o=MP(t);if(!r&&ct.existsSync(o))throw new Error(`${o} already exists \u2014 pass overwrite to replace it`);return ct.mkdirSync(tv(o),{recursive:!0}),ct.writeFileSync(o,JSON.stringify(n,null,2)+`
56
- `),o}import{basename as ZP,extname as DP}from"node:path";var qP={".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 av(t){return qP[DP(t).toLowerCase()]??"application/octet-stream"}function cv(t){let e=ZP(t).replace(/[^A-Za-z0-9._-]/g,"_");return e.length?e.slice(0,200):"file"}var VP=new Set(["e2e_app_recv","migration_deferred_flush"]);function uv(t){let e=new Set;for(let r of t){if(!r||typeof r!="object")continue;let n=r.event;if(typeof n!="string"||!VP.has(n))continue;let o=r.wire_id;typeof o=="string"&&o.length>0&&e.add(o)}return e}function LP(t,e){return t&&e.has(t)?"e2e":"legacy"}function UP(t,e){let r=LP(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 lv(t,e){let r=t.map(n=>UP(n,e));return{count:r.length,messages:r}}var FP="x-ours-kind=voice-message",BP="voice-message-";function fp(t,e){let r=(t??"").toLowerCase().split(";").map(n=>n.trim());return r[0].startsWith("audio/")&&r.slice(1).includes(FP)?!0:e.toLowerCase().startsWith(BP)&&r[0].startsWith("audio/")}function mp(t){return(t??"").split(";")[0].trim()||"application/octet-stream"}var pp=["openai-compatible","elevenlabs","deepgram","custom"],HP=5*1024*1024,GP=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 da(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 pa(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)}),JP=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 pa(`${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=da(i.json,"text");return a!==void 0?{ok:!0,text:a}:{ok:!1,error:"STT response missing text"}},KP=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 pa(`${(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=da(i.json,"text");return a!==void 0?{ok:!0,text:a}:{ok:!1,error:"STT response missing text"}},WP=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 pa(`${(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=da(a.json,"results.channels.0.alternatives.0.transcript");return c!==void 0?{ok:!0,text:c}:{ok:!1,error:"STT response missing transcript"}},YP=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 pa(a,{method:s.method?.trim()||"POST",headers:c,body:p},o,[n.apiKey.trim()]);if(!m.ok)return m;let g=da(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"}"`}},XP={"openai-compatible":JP,elevenlabs:KP,deepgram:WP,custom:YP};async function dv(t,e,r,n){let o=hp(n);if(!o.ready)return{ok:!1,error:o.reason};let s=n.maxBytes??HP;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??GP;try{return await XP[o.provider](t,e,r,n,i)}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}function pv(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 Pt from"node:fs";import{join as QP}from"node:path";var eI="startup-progress.json",fv=1;function tI(t){return QP(t,eI)}function mv(t,e={}){let r=e.pid??process.pid,n=e.now??Date.now,o=n(),s=tI(t),i=`${s}.${r}.tmp`,a=Math.max(100,e.heartbeatMs??2e3),c=!1,u=!1,l={version:fv,pid:r,bootId:`${r}-${o}`,phase:"initializing",startedAt:o,updatedAt:o},d=()=>{if(!u)try{Pt.mkdirSync(t,{recursive:!0,mode:448}),Pt.writeFileSync(i,`${JSON.stringify(l)}
57
- `,{mode:384}),Pt.renameSync(i,s);try{Pt.chmodSync(s,384)}catch{}}catch{u=!0;try{Pt.rmSync(i,{force:!0})}catch{}}},f=(m,g)=>{l={version:fv,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 rI=`: ka
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")??Um;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 ua=class{constructor(e={}){this._requestContext=new WeakMap,this._webStandardTransport=new ca(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 aI,join as Te,dirname as cI,isAbsolute as uI,basename as lI}from"node:path";import{fileURLToPath as dI}from"node:url";import{createHash as pI,randomBytes as Ev,randomInt as Pv,randomUUID as fI,timingSafeEqual as mI}from"node:crypto";import{createServer as hI}from"node:http";import{brotliCompressSync as gI,brotliDecompressSync as yI}from"node:zlib";import*as R from"node:fs";import{readFile as _I,mkdir as vI,writeFile as bI}from"node:fs/promises";import{adapt_wrapper as wI}from"@adapt-toolkit/sdk/executables";import{PacketWrapperConfigurator as $I}from"@adapt-toolkit/sdk/wrappers";import{object_to_adapt_value as Iv}from"@adapt-toolkit/sdk/wrapper";import{AdaptObjectLifetime as Ap}from"@adapt-toolkit/sdk/common";import*as ct from"node:fs";import{randomBytes as PP}from"node:crypto";import{homedir as ev}from"node:os";import{resolve as la,join as up,dirname as tv,basename as IP}from"node:path";var rv=["owner","shared","open"],Jn={brokerUrl:"wss://broker1.ours.network",port:3050,stateDir:la(ev(),".ours"),gcIntervalMs:36e5,autoStart:!1,apiVisibility:"owner"};function OP(){return process.env.OURS_CONFIG??up(ev(),".ours","config.json")}function NP(){let t;try{t=ct.readFileSync(OP(),"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=la(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"&&rv.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 AP(){let t=process.env.OURS_API_VISIBILITY?.trim().toLowerCase();return t&&rv.includes(t)?t:void 0}function CP(t){let e=process.env[t];if(e!==void 0)return e==="1"||e.toLowerCase()==="true"}function Q_(t){let e=process.env[t];if(e===void 0)return;let r=parseInt(e,10);return Number.isNaN(r)?void 0:r}function nv(){let t=NP();return{brokerUrl:process.env.OURS_BROKER_URL??t.brokerUrl??Jn.brokerUrl,port:Q_("OURS_PORT")??t.port??Jn.port,stateDir:la(process.env.OURS_STATE_DIR??t.stateDir??Jn.stateDir),gcIntervalMs:Q_("OURS_GC_INTERVAL_MS")??t.gcIntervalMs??Jn.gcIntervalMs,autoStart:CP("OURS_AUTOSTART")??t.autoStart??Jn.autoStart,apiVisibility:AP()??t.apiVisibility??Jn.apiVisibility,apiToken:process.env.OURS_API_TOKEN?.trim()||t.apiToken,stt:jP(t.stt)}}function jP(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 MP="daemon-token";function lp(t){return up(t.stateDir,MP)}function ov(t){let e=process.env.OURS_API_TOKEN?.trim();return e||t.apiToken?.trim()||void 0}function sv(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=ct.readFileSync(o,"utf8").trim();if(i)return{token:i,source:"file"}}catch{}if(!e.generate)return null;let s=PP(32).toString("hex");try{ct.mkdirSync(tv(o),{recursive:!0}),ct.writeFileSync(o,s+`
55
+ `,{mode:384}),ct.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 ZP(t){let e=la(t);return IP(e)===X_?e:up(e,X_)}function iv(t,e,r=!1){let n=dp(e),o=ZP(t);if(!r&&ct.existsSync(o))throw new Error(`${o} already exists \u2014 pass overwrite to replace it`);return ct.mkdirSync(tv(o),{recursive:!0}),ct.writeFileSync(o,JSON.stringify(n,null,2)+`
56
+ `),o}import{basename as DP,extname as qP}from"node:path";var VP={".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 av(t){return VP[qP(t).toLowerCase()]??"application/octet-stream"}function cv(t){let e=DP(t).replace(/[^A-Za-z0-9._-]/g,"_");return e.length?e.slice(0,200):"file"}var LP=new Set(["e2e_app_recv","migration_deferred_flush"]);function uv(t){let e=new Set;for(let r of t){if(!r||typeof r!="object")continue;let n=r.event;if(typeof n!="string"||!LP.has(n))continue;let o=r.wire_id;typeof o=="string"&&o.length>0&&e.add(o)}return e}function UP(t,e){return t&&e.has(t)?"e2e":"legacy"}function FP(t,e){let r=UP(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 lv(t,e){let r=t.map(n=>FP(n,e));return{count:r.length,messages:r}}var BP="x-ours-kind=voice-message",HP="voice-message-";function fp(t,e){let r=(t??"").toLowerCase().split(";").map(n=>n.trim());return r[0].startsWith("audio/")&&r.slice(1).includes(BP)?!0:e.toLowerCase().startsWith(HP)&&r[0].startsWith("audio/")}function mp(t){return(t??"").split(";")[0].trim()||"application/octet-stream"}var pp=["openai-compatible","elevenlabs","deepgram","custom"],GP=5*1024*1024,JP=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 da(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 pa(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)}),KP=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 pa(`${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=da(i.json,"text");return a!==void 0?{ok:!0,text:a}:{ok:!1,error:"STT response missing text"}},WP=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 pa(`${(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=da(i.json,"text");return a!==void 0?{ok:!0,text:a}:{ok:!1,error:"STT response missing text"}},YP=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 pa(`${(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=da(a.json,"results.channels.0.alternatives.0.transcript");return c!==void 0?{ok:!0,text:c}:{ok:!1,error:"STT response missing transcript"}},QP=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 pa(a,{method:s.method?.trim()||"POST",headers:c,body:p},o,[n.apiKey.trim()]);if(!m.ok)return m;let g=da(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"}"`}},XP={"openai-compatible":KP,elevenlabs:WP,deepgram:YP,custom:QP};async function dv(t,e,r,n){let o=hp(n);if(!o.ready)return{ok:!1,error:o.reason};let s=n.maxBytes??GP;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??JP;try{return await XP[o.provider](t,e,r,n,i)}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}function pv(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 Pt from"node:fs";import{join as eI}from"node:path";var tI="startup-progress.json",fv=1;function rI(t){return eI(t,tI)}function mv(t,e={}){let r=e.pid??process.pid,n=e.now??Date.now,o=n(),s=rI(t),i=`${s}.${r}.tmp`,a=Math.max(100,e.heartbeatMs??2e3),c=!1,u=!1,l={version:fv,pid:r,bootId:`${r}-${o}`,phase:"initializing",startedAt:o,updatedAt:o},d=()=>{if(!u)try{Pt.mkdirSync(t,{recursive:!0,mode:448}),Pt.writeFileSync(i,`${JSON.stringify(l)}
57
+ `,{mode:384}),Pt.renameSync(i,s);try{Pt.chmodSync(s,384)}catch{}}catch{u=!0;try{Pt.rmSync(i,{force:!0})}catch{}}},f=(m,g)=>{l={version:fv,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 nI=`: ka
58
58
 
59
- `;function nI(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 fa(t,e=nI()){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(rI)}catch{}},e);o.unref?.();let s=()=>clearInterval(o);t.once("close",s),t.once("finish",s)}function oI(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 us="0.15.3",qt=nv(),Oe=qt.stateDir,ya=qt.brokerUrl,Iv=process.env.OURS_TRANSPORT??"http",yp=qt.port,gv=qt.gcIntervalMs,$p=qt.apiVisibility,wI=Number(process.env.OURS_TEST_STARTUP_HEARTBEAT_MS||"")||void 0,Yt=Iv==="http"?mv(Oe,{heartbeatMs:wI}):null,$=(...t)=>process.stderr.write(`ours: ${t.join(" ")}
60
- `);function $I(){if($p==="open")return null;if($p==="shared"){let t=ov(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 sv(qt,{generate:!0}).token}var yv=$I();function xI(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 SI(t){if(yv===null)return!0;let e=xI(t);if(!e)return!1;let r=Buffer.from(e),n=Buffer.from(yv);return r.length===n.length&&pI(r,n)}function as(t,e){return SI(t)?!0:(e.writeHead(401,{"Content-Type":"application/json"}),e.end(JSON.stringify({error:"unauthorized"})),!1)}var kI=/^[A-Za-z0-9 _.@-]{1,64}$/,_a="contact-book";function va(t){return kI.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 RI(){let t=iI(uI(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(sI(e)):[Te(t,"mufl_code"),Te(t,"..","mufl_code")].flatMap(n);for(let s of o){if(!R.existsSync(s))continue;let i=R.readdirSync(s).find(a=>a.endsWith(".muflo"));if(i){let a=i.slice(0,-6),c=new Uint8Array(R.readFileSync(Te(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 ls,nn,L=new Map,bt=null,xp=null,Ie=new Map,wa=new Set,ut=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 Cp(t){for(let e of Ie.values())if(e.token===t)return e}var _v=()=>Te(Oe,"bindings.json");function ms(){try{R.mkdirSync(Oe,{recursive:!0});let t=`${_v()}.tmp`;R.writeFileSync(t,JSON.stringify({pid:process.pid,bound:[...Ie.keys()],holders:[...Ie.values()].map(e=>({identity:e.identity,pid:e.pid}))})),R.renameSync(t,_v())}catch(t){$("failed to persist bindings snapshot:",String(t))}}var Ov=t=>Te(Oe,t),hs=t=>Te(t,"identity.key"),on=t=>Te(t,"state_data.bin"),jp=t=>Te(t,"notifications.log"),kp=t=>Te(t,"unread.json"),Nv=t=>Te(t.dir,"files");function TI(){for(let t of Mp()){let e=Te(Oe,t);try{R.chmodSync(e,448)}catch(r){$(`[${t}] chmod 0700 failed:`,String(r))}for(let r of[on(e),hs(e)])if(R.existsSync(r))try{R.chmodSync(r,384)}catch(n){$(`[${t}] chmod 0600 ${r} failed:`,String(n))}}}var zI=t=>/^[A-Za-z0-9]+$/.test(t)&&t.length>0&&t.length<=128;function Av(t,e){if(!zI(e))return null;let r=Nv(t),n;try{n=R.readdirSync(r)}catch{return null}let o=`${e}-`,s=n.find(i=>i.startsWith(o));return s?Te(r,s):null}function Mp(){return R.existsSync(Oe)?R.readdirSync(Oe,{withFileTypes:!0}).filter(t=>t.isDirectory()&&R.existsSync(hs(Te(Oe,t.name)))).map(t=>t.name):[]}var ps=()=>Te(Oe,_a),vv=()=>Te(ps(),"registrar.key"),Rp=()=>Te(ps(),"book.json");function $a(){try{let t=JSON.parse(R.readFileSync(Rp(),"utf8"));return t&&typeof t.entries=="object"?t.entries:{}}catch{return{}}}function Cv(t){R.mkdirSync(ps(),{recursive:!0});let e=`${Rp()}.tmp`;R.writeFileSync(e,JSON.stringify({v:1,entries:t},null,2),{mode:384}),R.renameSync(e,Rp())}function Yn(t){return Je(e=>Buffer.from(Re(t,"::actor::export_address_document",e).GetBinary()))}function jv(t){return Je(e=>Buffer.from(Re(t,"::actor::export_signing_secret",e).Serialize()).toString("hex"))}async function Mv(t){if(!bt)throw new Error("registrar is not available");let e=Yn(t),r=await B(async o=>{let s=await Z(bt,"::actor::sign_book_entry",{name:t.name,ad:bt.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},Cv(n),$(`[${t.name}] published to the local contact book`)}function Zv(t){let e=$a();t in e&&(delete e[t],Cv(e),$(`[${t}] removed from the local contact book`))}async function Dv(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=()=>Te(Oe,"root.json"),ie=null;function EI(){try{let t=JSON.parse(R.readFileSync(ba(),"utf8"));return typeof t.name=="string"?t.name:null}catch{return null}}function PI(t){R.mkdirSync(Oe,{recursive:!0});let e=`${ba()}.tmp`;R.writeFileSync(e,JSON.stringify({v:1,name:t})),R.renameSync(e,ba())}function qv(){R.rmSync(ba(),{force:!0})}function vt(t){return Je(e=>{let r=Re(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 bv(t){ie=t.name,PI(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 II(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||vt(o).roleId!=="";return n(t)&&n(r)?r:null}async function OI(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 NI(t,e,r){if(!bt)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(bt,"::actor::mint_introduction",{joiner_ad:bt.pw.packet.NewBinaryFromBuffer(a).Attach(c),target_ad:bt.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 gs(t){return Je(e=>{let r=Re(t,"::a2a_messaging::get_monitoring_status",e),n=Re(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 ds(t,e,r){await B(async n=>{await Z(t,"::a2a_control::send_control",{contact:e,payload:JSON.stringify(r)},n)})}function Vv(t){try{return Je(e=>{let r=Re(t,"::a2a_capabilities::get_manifest",e).Reduce("capabilities");return r.IsNil()?[]:[...r.GetKeys()].map(n=>typeof n=="string"?n:n.Visualize())})}catch{return[]}}function AI(t){let e="",r="",n="",o="",s=[];try{Je(i=>{let a=Re(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:gs(t).proxyCid?"bound":"unbound"}}function CI(t){let e=[];for(let r of L.values()){if(r.name===t.name)continue;let n=vt(r);n.rootCid===t.cid&&e.push({name:r.name,cid:r.cid,role_id:n.roleId,bio:n.bio,monitoring:n.monitoringEnabled,capabilities:Vv(r)})}return e}function Lv(t){try{nn.remove_packet(t.cid)}catch(e){$(`remove_packet(${t.cid}) failed:`,String(e))}L.delete(t.name);try{Zv(t.name)}catch(e){$(`failed to unpublish "${t.name}" from the contact book:`,String(e))}Ie.has(t.name)&&(Ie.delete(t.name),ms()),t.name===ie&&(ie=null,qv());try{R.rmSync(t.dir,{recursive:!0,force:!0}),_r.delete(t.name)}catch(e){return`deleting ${t.dir} failed: ${String(e)}`}return null}var Zp=!0,Uv=Zp?2:1,jI=6e5,Tp=new Map,zp=(t,e)=>`${t}:${e}`;function Fv(t,e,r){e&&Tp.set(zp(t,e),{response:r,at:Date.now()})}function MI(t,e){if(!e)return;let r=Tp.get(zp(t,e));if(r){if(Date.now()-r.at>jI){Tp.delete(zp(t,e));return}return r.response}}async function ZI(t,e,r){let n=fs(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 ds(t,e,o),Fv(e,i,o))}async function DI(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 ds(t,r,{v:1,t:"res",id:i.id??null,ok:!0,manifest:{...AI(t),protocol_version:Uv}}):await ds(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=MI(r,a);if(c){await ds(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 ZI(t,r,f),l.cap==="core.monitoring"&&l.verb==="bind")try{let h=fs(f);h&&(h.ok===!0||h.$ok===!0)&&BI(t,r)}catch{}})}async function qI(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 DI(t,c,c.Visualize(),a.Reduce("sender_name").Visualize(),a.Reduce("payload").Visualize(),a.Reduce("date"))}return!1}))return}function VI(){return String(Ev(0,1e6)).padStart(6,"0")}var sn=new Map;function xa(t){return[...L.values()].find(e=>e.cid===t)}async function ys(t,e){let r=e.Reduce("target").Visualize(),n=fs(e.Reduce("response"));if(!n||typeof n!="object")return;await ds(t,r,n);let o=String(n.req_id??"");o&&Fv(r,o,n)}async function LI(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=vt(o).roleId,a=Re(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 ys(t,c)})}catch(o){$(`[${t.name}] host_provision_child("${e}") failed (settles via sweep timeout):`,String(o))}}async function UI(t,e,r){try{let n=xa(e.Visualize());if(n){let o=Lv(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 ys(t,s)})}catch(n){$(`[${t.name}] host_destroy_child failed (settles via sweep timeout):`,String(n))}}async function FI(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 ys(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=VI();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 wv(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 ys(t,c)})}catch(i){$(`[${t.name}] host_set_child_monitoring failed (settles via sweep timeout):`,String(i))}}async function BI(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 HI(t,e){let r=[];for(let n of L.values()){if(n.name===t.name)continue;let o=vt(n);if(o.rootCid!==t.cid)continue;let s=Re(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:Vv(n),child_ad:s})}return r}var _p=new Set;async function Bv(t){if(!_p.has(t.name)){_p.add(t.name);try{await B(async e=>{await Z(t,"::a2a_cluster::reconcile",{pending_handle:"",children:HI(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 ys(t,n.Reduce(s))})}catch(e){$(`[${t.name}] cluster sweep failed:`,String(e))}finally{_p.delete(t.name)}}}var GI=6e4;function JI(){setInterval(()=>{if(Zp)for(let t of L.values())vt(t).roleId===""&&Bv(t)},GI).unref()}function KI(){for(let t of L.values())if(vt(t).roleId!=="")try{let e=gs(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 Dp(t){if(!vp.has(t.name)){vp.add(t.name);try{await qI(t)}catch(e){$(`[${t.name}] control dispatch failed:`,String(e))}finally{vp.delete(t.name)}if(L.has(t.name)&&gs(t).controlQueued>0)return Dp(t)}}async function WI(){R.mkdirSync(ps(),{recursive:!0});let t;try{t=R.readFileSync(vv(),"utf8").trim()}catch{}let e=zv(24).toString("hex");bt=await Vp(_a,e,ps(),!1,t),t||R.writeFileSync(vv(),jv(bt),{mode:384}),xp=Yn(bt),$(`contact-book registrar ready (${bt.cid})`)}function YI(t){try{return R.existsSync(on(t))&&R.statSync(on(t)).size>0}catch{return!1}}function Pp(t){let e=Je(s=>Buffer.from(Re(t,"::actor::export_state",s).Serialize()));R.mkdirSync(t.dir,{recursive:!0,mode:448});let r=on(t.dir),n=`${r}.tmp`,o;try{o=R.openSync(n,"w",384),R.fchmodSync(o,384),R.writeFileSync(o,e),R.fsyncSync(o),R.closeSync(o),o=void 0,R.renameSync(n,r),R.chmodSync(r,384);try{R.chmodSync(hs(t.dir),384)}catch{}let s=R.openSync(t.dir,"r");try{R.fsyncSync(s)}finally{R.closeSync(s)}}catch(s){if(o!==void 0)try{R.closeSync(o)}catch{}try{R.rmSync(n,{force:!0})}catch{}throw s}}function qp(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 XI(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 QI(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 Hv(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 Gv(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=>QI(Re(t,"::a2a_messaging::list_deferred_queues",n)));for(let n of r)n.degraded||await Hv(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 eO(t){let e=ha.get(t);if(!(!e||e.size===0))for(let r of[...e])try{r()}catch{}}function tO(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{R.mkdirSync(t.dir,{recursive:!0,mode:448}),R.appendFileSync(jp(t.dir),JSON.stringify(e)+`
61
- `)}catch(r){$(`[${t.name}] failed to append notifications.log:`,String(r))}eO(t.name)}function rO(t){let e=jp(t.dir),r="";try{r=R.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 uv(n)}function cs(t,e){let r=t.Reduce(e);return r.IsNil()?"":Buffer.from(r.GetBinary()).toString("hex")}var nO=Number(process.env.OURS_NOTIFY_LONGPOLL_MS)>0?Number(process.env.OURS_NOTIFY_LONGPOLL_MS):25e3,oO=250;function bp(t){try{return R.statSync(t).size}catch{return 0}}function sO(t,e,r){if(r<=e)return{events:[],cursor:e};let n=Buffer.alloc(r-e),o=0;try{let c=R.openSync(t,"r");try{o=R.readSync(c,n,0,n.length,e)}finally{R.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 iO(t,e,r,n){let o=jp(Te(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()+nO;for(;!a;){let u=bp(o);if(i>u&&(i=0),u>i){let{events:l,cursor:d}=sO(o,i,u);if(l.length>0){s(d,l);return}i=d}if(Date.now()>=c)break;await tO(r,Math.min(oO,c-Date.now()))}a||s(bp(o),[])}function rn(t){try{let{unread:e,unreadFiles:r}=Je(s=>{let a=ga(Re(t,"::actor::list_incoming_messages",s)).filter(l=>l.status==="unread"),c=Re(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)};R.mkdirSync(t.dir,{recursive:!0,mode:448});let o=`${kp(t.dir)}.tmp`;R.writeFileSync(o,JSON.stringify(n)),R.renameSync(o,kp(t.dir))}catch(e){$(`[${t.name}] failed to refresh unread snapshot:`,String(e))}}function aO(){let t=[],e=[];try{e=R.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(R.readFileSync(kp(Te(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,Jv=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:Jv(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 Re(t,e,r){let n=Pv({name:e,targ:void 0}),o=t.pw.packet.ExecuteTransaction(n);return n.Destroy(),r?o.Attach(r):o}async function cO(t,e){let r=t.lock,n;t.lock=new Promise(o=>n=o),await r;try{return await e()}finally{n()}}function uO(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{qp(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=Pv({name:e,targ:r});return cO(t,()=>uO(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 lO(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"){qp(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 Hv(t,String(c)))}else if(i==="migration_active"){let a=s.Reduce("cid").Visualize(),c=s.Reduce("role").Visualize(),u=cs(s,"epoch"),l=cs(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=cs(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=cs(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=cs(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 Dp(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 LI(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 UI(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 FI(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 wv(t,a,!0,u,l,d).finally(()=>{a.Destroy(),l.Destroy(),d.Destroy()}))}else process.nextTick(()=>void wv(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 Vp(t,e,r,n=!0,o,s=!1){let i=new bI;i.deferred_exposure=s;let a=["--unit_hash",ls.hash,"--seed_phrase",e,"--unit_dir_path",ls.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()};lO(f),n&&L.set(t,f),$(`[${t}] packet created \u2014 container id ${f.cid}`),c(f)},ls.contents)})}var _r=new Set(Mp());_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);R.mkdirSync(r,{recursive:!0,mode:448});let n=zv(24).toString("hex"),o=await Vp(t,n,r);return R.writeFileSync(hs(r),jv(o),{mode:384}),await B(async s=>{await Z(o,"::a2a_messaging::set_my_name",{name:t},s)}),await Dv(o),e.localAutoAccept||await B(async s=>{await Z(o,"::actor::set_local_policy",{auto_accept:!1},s)}),e.exposeLocal&&await Mv(o),qp(o),o}catch(r){throw _r.delete(t),r}}async function dO(t){let e=Ov(t),r=R.readFileSync(hs(e),"utf8").trim(),n=await Vp(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(YI(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=R.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()}`;R.renameSync(on(e),l),R.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(Re(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 Gv(n),rn(n),n}async function $v(){Yt?.update("wrapper"),ls=RI();let t=["--broker_address",ya,"--test_mode","--logger_config","--level","INFO","--stdout","stderr","--logger_config_end"];$(`booting wrapper (unit ${ls.hash.slice(0,12)}\u2026, broker ${ya})`),nn=await vI.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 WI()}catch(a){$("failed to start the contact-book registrar (local contact book disabled):",String(a))}TI();let r=Mp(),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 dO(c);bt&&await Dv(u)}catch(u){$(`failed to restore "${c}":`,String(u))}Yt?.update("identities",{completed:a+1,total:r.length})}}Yt?.update("reconciliation"),KI(),JI(),ie=EI(),ie&&!L.has(ie)&&($(`root marker names a missing identity "${ie}" \u2014 clearing it`),ie=null,qv()),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=vt(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{gs(i).controlQueued>0&&Dp(i)}catch(a){$("boot-time monitoring/control drain failed:",String(a))}ms()}function xv(t){let e=ut.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=Cp(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),ms(),{error:`The bound identity "${r.identity}" no longer exists. Choose another with choose_identity.`};r.sid=t;let o=ut.get(t)?.pid;return o&&(r.pid=o),{id:n}}function ma(t,e){let r=ut.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),ms()}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({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 fO(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):
59
+ `;function oI(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 fa(t,e=oI()){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(nI)}catch{}},e);o.unref?.();let s=()=>clearInterval(o);t.once("close",s),t.once("finish",s)}function sI(t){let e=new Map;for(let r of t)e.set(r.name,(e.get(r.name)??0)+1);return e}function hv(t){let e=sI(t);return t.map(r=>`\u2022 ${r.name} \u2014 ${r.container_id}${r.rootTag??""}${r.degradedQueued!==void 0?` \u2014 \u26A0 keys pending restore (${r.degradedQueued} queued)`:""}${(e.get(r.name)??0)>1?" \u2014 \u26A0 DUPLICATE NAME: sends to this name abort; address by container id, repair with rename_contact":""}${r.renamedFrom!==void 0?` \u2014 \u26A0 renamed on import (two contacts were named "${r.renamedFrom}"; do NOT assume the one keeping the bare name is the live one \u2014 verify by container id, settle with rename_contact)`:""}`)}function iI(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 us="0.16.0-nightly.1",qt=nv(),Oe=qt.stateDir,ya=qt.brokerUrl,Ov=process.env.OURS_TRANSPORT??"http",yp=qt.port,yv=qt.gcIntervalMs,$p=qt.apiVisibility,xI=Number(process.env.OURS_TEST_STARTUP_HEARTBEAT_MS||"")||void 0,Yt=Ov==="http"?mv(Oe,{heartbeatMs:xI}):null,$=(...t)=>process.stderr.write(`ours: ${t.join(" ")}
60
+ `);function SI(){if($p==="open")return null;if($p==="shared"){let t=ov(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 sv(qt,{generate:!0}).token}var _v=SI();function kI(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 RI(t){if(_v===null)return!0;let e=kI(t);if(!e)return!1;let r=Buffer.from(e),n=Buffer.from(_v);return r.length===n.length&&mI(r,n)}function as(t,e){return RI(t)?!0:(e.writeHead(401,{"Content-Type":"application/json"}),e.end(JSON.stringify({error:"unauthorized"})),!1)}var TI=/^[A-Za-z0-9 _.@-]{1,64}$/,_a="contact-book";function va(t){return TI.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 zI(){let t=cI(dI(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(aI(e)):[Te(t,"mufl_code"),Te(t,"..","mufl_code")].flatMap(n);for(let s of o){if(!R.existsSync(s))continue;let i=R.readdirSync(s).find(a=>a.endsWith(".muflo"));if(i){let a=i.slice(0,-6),c=new Uint8Array(R.readFileSync(Te(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 ls,nn,U=new Map,bt=null,xp=null,Ie=new Map,wa=new Set,ut=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 Cp(t){for(let e of Ie.values())if(e.token===t)return e}var vv=()=>Te(Oe,"bindings.json");function ms(){try{R.mkdirSync(Oe,{recursive:!0});let t=`${vv()}.tmp`;R.writeFileSync(t,JSON.stringify({pid:process.pid,bound:[...Ie.keys()],holders:[...Ie.values()].map(e=>({identity:e.identity,pid:e.pid}))})),R.renameSync(t,vv())}catch(t){$("failed to persist bindings snapshot:",String(t))}}var Nv=t=>Te(Oe,t),hs=t=>Te(t,"identity.key"),on=t=>Te(t,"state_data.bin"),jp=t=>Te(t,"notifications.log"),kp=t=>Te(t,"unread.json"),Av=t=>Te(t.dir,"files");function EI(){for(let t of Mp()){let e=Te(Oe,t);try{R.chmodSync(e,448)}catch(r){$(`[${t}] chmod 0700 failed:`,String(r))}for(let r of[on(e),hs(e)])if(R.existsSync(r))try{R.chmodSync(r,384)}catch(n){$(`[${t}] chmod 0600 ${r} failed:`,String(n))}}}var PI=t=>/^[A-Za-z0-9]+$/.test(t)&&t.length>0&&t.length<=128;function Cv(t,e){if(!PI(e))return null;let r=Av(t),n;try{n=R.readdirSync(r)}catch{return null}let o=`${e}-`,s=n.find(i=>i.startsWith(o));return s?Te(r,s):null}function Mp(){return R.existsSync(Oe)?R.readdirSync(Oe,{withFileTypes:!0}).filter(t=>t.isDirectory()&&R.existsSync(hs(Te(Oe,t.name)))).map(t=>t.name):[]}var ps=()=>Te(Oe,_a),bv=()=>Te(ps(),"registrar.key"),Rp=()=>Te(ps(),"book.json");function $a(){try{let t=JSON.parse(R.readFileSync(Rp(),"utf8"));return t&&typeof t.entries=="object"?t.entries:{}}catch{return{}}}function jv(t){R.mkdirSync(ps(),{recursive:!0});let e=`${Rp()}.tmp`;R.writeFileSync(e,JSON.stringify({v:1,entries:t},null,2),{mode:384}),R.renameSync(e,Rp())}function Yn(t){return Ke(e=>Buffer.from(ke(t,"::actor::export_address_document",e).GetBinary()))}function Mv(t){return Ke(e=>Buffer.from(ke(t,"::actor::export_signing_secret",e).Serialize()).toString("hex"))}async function Zv(t){if(!bt)throw new Error("registrar is not available");let e=Yn(t),r=await B(async o=>{let s=await Z(bt,"::actor::sign_book_entry",{name:t.name,ad:bt.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},jv(n),$(`[${t.name}] published to the local contact book`)}function Dv(t){let e=$a(),r=Object.entries(e).find(([,n])=>n.container_id===t.cid);r&&(delete e[r[0]],jv(e),$(`[${t.name}] removed from the local contact book (entry "${r[0]}")`))}async function qv(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=()=>Te(Oe,"root.json"),ie=null;function II(){try{let t=JSON.parse(R.readFileSync(ba(),"utf8"));return typeof t.name=="string"?t.name:null}catch{return null}}function OI(t){R.mkdirSync(Oe,{recursive:!0});let e=`${ba()}.tmp`;R.writeFileSync(e,JSON.stringify({v:1,name:t})),R.renameSync(e,ba())}function Vv(){R.rmSync(ba(),{force:!0})}function vt(t){return Ke(e=>{let r=ke(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 wv(t){ie=t.name,OI(t.name);let e=[],r=[];for(let n of U.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 NI(t,e){if(!ie||!U.has(ie))return null;let r=U.get(e)??[...U.values()].find(o=>o.cid===e);if(!r||r.name===t.name)return null;let n=o=>o.name===ie||vt(o).roleId!=="";return n(t)&&n(r)?r:null}async function AI(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 CI(t,e,r){if(!bt)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(bt,"::actor::mint_introduction",{joiner_ad:bt.pw.packet.NewBinaryFromBuffer(a).Attach(c),target_ad:bt.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 gs(t){return Ke(e=>{let r=ke(t,"::a2a_messaging::get_monitoring_status",e),n=ke(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 ds(t,e,r){await B(async n=>{await Z(t,"::a2a_control::send_control",{contact:e,payload:JSON.stringify(r)},n)})}function Lv(t){try{return Ke(e=>{let r=ke(t,"::a2a_capabilities::get_manifest",e).Reduce("capabilities");return r.IsNil()?[]:[...r.GetKeys()].map(n=>typeof n=="string"?n:n.Visualize())})}catch{return[]}}function jI(t){let e="",r="",n="",o="",s=[];try{Ke(i=>{let a=ke(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:gs(t).proxyCid?"bound":"unbound"}}function MI(t){let e=[];for(let r of U.values()){if(r.name===t.name)continue;let n=vt(r);n.rootCid===t.cid&&e.push({name:r.name,cid:r.cid,role_id:n.roleId,bio:n.bio,monitoring:n.monitoringEnabled,capabilities:Lv(r)})}return e}function Uv(t){try{nn.remove_packet(t.cid)}catch(e){$(`remove_packet(${t.cid}) failed:`,String(e))}U.delete(t.name);try{Dv(t)}catch(e){$(`failed to unpublish "${t.name}" from the contact book:`,String(e))}Ie.has(t.name)&&(Ie.delete(t.name),ms()),t.name===ie&&(ie=null,Vv());try{R.rmSync(t.dir,{recursive:!0,force:!0}),_r.delete(t.name)}catch(e){return`deleting ${t.dir} failed: ${String(e)}`}return null}var Zp=!0,Fv=Zp?2:1,ZI=6e5,Tp=new Map,zp=(t,e)=>`${t}:${e}`;function Bv(t,e,r){e&&Tp.set(zp(t,e),{response:r,at:Date.now()})}function DI(t,e){if(!e)return;let r=Tp.get(zp(t,e));if(r){if(Date.now()-r.at>ZI){Tp.delete(zp(t,e));return}return r.response}}async function qI(t,e,r){let n=fs(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 ds(t,e,o),Bv(e,i,o))}async function VI(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 ds(t,r,{v:1,t:"res",id:i.id??null,ok:!0,manifest:{...jI(t),protocol_version:Fv}}):await ds(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=DI(r,a);if(c){await ds(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 qI(t,r,f),l.cap==="core.monitoring"&&l.verb==="bind")try{let h=fs(f);h&&(h.ok===!0||h.$ok===!0)&&GI(t,r)}catch{}})}async function LI(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 VI(t,c,c.Visualize(),a.Reduce("sender_name").Visualize(),a.Reduce("payload").Visualize(),a.Reduce("date"))}return!1}))return}function UI(){return String(Pv(0,1e6)).padStart(6,"0")}var sn=new Map;function xa(t){return[...U.values()].find(e=>e.cid===t)}async function ys(t,e){let r=e.Reduce("target").Visualize(),n=fs(e.Reduce("response"));if(!n||typeof n!="object")return;await ds(t,r,n);let o=String(n.req_id??"");o&&Bv(r,o,n)}async function FI(t,e,r,n){try{if(U.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=vt(o).roleId,a=ke(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 ys(t,c)})}catch(o){$(`[${t.name}] host_provision_child("${e}") failed (settles via sweep timeout):`,String(o))}}async function BI(t,e,r){try{let n=xa(e.Visualize());if(n){let o=Uv(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 ys(t,s)})}catch(n){$(`[${t.name}] host_destroy_child failed (settles via sweep timeout):`,String(n))}}async function HI(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 ys(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=UI();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 $v(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 ys(t,c)})}catch(i){$(`[${t.name}] host_set_child_monitoring failed (settles via sweep timeout):`,String(i))}}async function GI(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 JI(t,e){let r=[];for(let n of U.values()){if(n.name===t.name)continue;let o=vt(n);if(o.rootCid!==t.cid)continue;let s=ke(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:Lv(n),child_ad:s})}return r}var _p=new Set;async function Hv(t){if(!_p.has(t.name)){_p.add(t.name);try{await B(async e=>{await Z(t,"::a2a_cluster::reconcile",{pending_handle:"",children:JI(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 ys(t,n.Reduce(s))})}catch(e){$(`[${t.name}] cluster sweep failed:`,String(e))}finally{_p.delete(t.name)}}}var KI=6e4;function WI(){setInterval(()=>{if(Zp)for(let t of U.values())vt(t).roleId===""&&Hv(t)},KI).unref()}function YI(){for(let t of U.values())if(vt(t).roleId!=="")try{let e=gs(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 Dp(t){if(!vp.has(t.name)){vp.add(t.name);try{await LI(t)}catch(e){$(`[${t.name}] control dispatch failed:`,String(e))}finally{vp.delete(t.name)}if(U.has(t.name)&&gs(t).controlQueued>0)return Dp(t)}}async function QI(){R.mkdirSync(ps(),{recursive:!0});let t;try{t=R.readFileSync(bv(),"utf8").trim()}catch{}let e=Ev(24).toString("hex");bt=await Vp(_a,e,ps(),!1,t),t||R.writeFileSync(bv(),Mv(bt),{mode:384}),xp=Yn(bt),$(`contact-book registrar ready (${bt.cid})`)}function XI(t){try{return R.existsSync(on(t))&&R.statSync(on(t)).size>0}catch{return!1}}function Pp(t){let e=Ke(s=>Buffer.from(ke(t,"::actor::export_state",s).Serialize()));R.mkdirSync(t.dir,{recursive:!0,mode:448});let r=on(t.dir),n=`${r}.tmp`,o;try{o=R.openSync(n,"w",384),R.fchmodSync(o,384),R.writeFileSync(o,e),R.fsyncSync(o),R.closeSync(o),o=void 0,R.renameSync(n,r),R.chmodSync(r,384);try{R.chmodSync(hs(t.dir),384)}catch{}let s=R.openSync(t.dir,"r");try{R.fsyncSync(s)}finally{R.closeSync(s)}}catch(s){if(o!==void 0)try{R.closeSync(o)}catch{}try{R.rmSync(n,{force:!0})}catch{}throw s}}function qp(t){try{Pp(t),t.persistFailed&&(t.persistFailed=!1,$(`[${t.name}] persist recovered \u2014 quarantine lifted`),de(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{de(t,{event:"persist_failed",error:String(e).slice(0,300)})}catch{}throw process.nextTick(()=>Je(t.name,`[${t.name}] PERSIST FAILED \u2014 messaging quarantined until the state file is writable again`)),e}}function eO(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 tO(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 Gv(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 Jv(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=Ke(n=>tO(ke(t,"::a2a_messaging::list_deferred_queues",n)));for(let n of r)n.degraded||await Gv(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 rO(t){let e=ha.get(t);if(!(!e||e.size===0))for(let r of[...e])try{r()}catch{}}function nO(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 de(t,e){try{R.mkdirSync(t.dir,{recursive:!0,mode:448}),R.appendFileSync(jp(t.dir),JSON.stringify(e)+`
61
+ `)}catch(r){$(`[${t.name}] failed to append notifications.log:`,String(r))}rO(t.name)}function oO(t){let e=jp(t.dir),r="";try{r=R.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 uv(n)}function cs(t,e){let r=t.Reduce(e);return r.IsNil()?"":Buffer.from(r.GetBinary()).toString("hex")}var sO=Number(process.env.OURS_NOTIFY_LONGPOLL_MS)>0?Number(process.env.OURS_NOTIFY_LONGPOLL_MS):25e3,iO=250;function bp(t){try{return R.statSync(t).size}catch{return 0}}function aO(t,e,r){if(r<=e)return{events:[],cursor:e};let n=Buffer.alloc(r-e),o=0;try{let c=R.openSync(t,"r");try{o=R.readSync(c,n,0,n.length,e)}finally{R.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 cO(t,e,r,n){let o=jp(Te(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()+sO;for(;!a;){let u=bp(o);if(i>u&&(i=0),u>i){let{events:l,cursor:d}=aO(o,i,u);if(l.length>0){s(d,l);return}i=d}if(Date.now()>=c)break;await nO(r,Math.min(iO,c-Date.now()))}a||s(bp(o),[])}function rn(t){try{let{unread:e,unreadFiles:r}=Ke(s=>{let a=ga(ke(t,"::actor::list_incoming_messages",s)).filter(l=>l.status==="unread"),c=ke(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)};R.mkdirSync(t.dir,{recursive:!0,mode:448});let o=`${kp(t.dir)}.tmp`;R.writeFileSync(o,JSON.stringify(n)),R.renameSync(o,kp(t.dir))}catch(e){$(`[${t.name}] failed to refresh unread snapshot:`,String(e))}}function uO(){let t=[],e=[];try{e=R.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(R.readFileSync(kp(Te(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,Kv=t=>`ours://inbox/${encodeURIComponent(t)}`;function Je(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:Kv(t)})}catch{}}}function Ke(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 ke(t,e,r){let n=Iv({name:e,targ:void 0}),o=t.pw.packet.ExecuteTransaction(n);return n.Destroy(),r?o.Attach(r):o}async function lO(t,e){let r=t.lock,n;t.lock=new Promise(o=>n=o),await r;try{return await e()}finally{n()}}function dO(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{qp(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=Iv({name:e,targ:r});return lO(t,()=>dO(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 pO(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"){qp(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();de(t,{event:"message_received",from:a,msg_id:c,date:u}),rn(t),process.nextTick(()=>Je(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();de(t,{event:"file_received",from:a,file_id:c,filename:u,mime:l,bytes:d,date:f}),rn(t),process.nextTick(()=>Je(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(()=>Je(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(()=>Je(t.name,`[${t.name}] local contact "${a}" (${c}) connected via the contact book.`))}else if(i==="contact_name_collision"){let a=s.Reduce("message").Visualize(),c=s.Reduce("desired").Visualize(),u=s.Reduce("assigned").Visualize(),l=s.Reduce("existing_container_id").Visualize(),d=s.Reduce("container_id").Visualize();de(t,{event:"contact_name_collision",desired:c,assigned:u,existing_container_id:l,container_id:d}),$(`[${t.name}] CONTACT NAME COLLISION \u2014 ${a}`),process.nextTick(()=>Je(t.name,`[${t.name}] \u26A0 ${a}`))}else if(i==="sibling_contact_added"){let a=s.Reduce("name").Visualize(),c=s.Reduce("container_id").Visualize();de(t,{event:"sibling_contact_added",from:a}),process.nextTick(()=>Je(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();de(t,{event:"local_contact_request",from:a}),process.nextTick(()=>Je(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();de(t,{event:"pending_message",from:a,queued:c}),process.nextTick(()=>Je(t.name,`[${t.name}] "${a}" queued a message awaiting introduction approval (${c} queued).`))}else if(i==="e2e_restore_rejected")de(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(()=>Je(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();de(t,{event:"contact_restored",from:a}),$(`[${t.name}] contact "${a}" restored (re-keyed)`),process.nextTick(()=>void Gv(t,String(c)))}else if(i==="migration_active"){let a=s.Reduce("cid").Visualize(),c=s.Reduce("role").Visualize(),u=cs(s,"epoch"),l=cs(s,"session_id");de(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=cs(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()))}de(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(()=>Je(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();de(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(()=>Je(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()))}de(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(()=>Je(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=cs(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();de(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=cs(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());de(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();de(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();de(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());de(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(()=>Je(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 Dp(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 FI(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 BI(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 HI(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 $v(t,a,!0,u,l,d).finally(()=>{a.Destroy(),l.Destroy(),d.Destroy()}))}else process.nextTick(()=>void $v(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),de(t,{event:"inbound_error",message:e}),process.nextTick(()=>Je(t.name,`[${t.name}] inbound transaction rejected: ${e}`)))}}function Vp(t,e,r,n=!0,o,s=!1){let i=new $I;i.deferred_exposure=s;let a=["--unit_hash",ls.hash,"--seed_phrase",e,"--unit_dir_path",ls.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:Ke(h=>d.packet.GetContainerID().Attach(h).Visualize()),pw:d,dir:r,pending:[],lock:Promise.resolve()};pO(f),n&&U.set(t,f),$(`[${t}] packet created \u2014 container id ${f.cid}`),c(f)},ls.contents)})}var _r=new Set(Mp());_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)||U.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=Nv(t);R.mkdirSync(r,{recursive:!0,mode:448});let n=Ev(24).toString("hex"),o=await Vp(t,n,r);return R.writeFileSync(hs(r),Mv(o),{mode:384}),await B(async s=>{await Z(o,"::a2a_messaging::set_my_name",{name:t},s)}),await qv(o),e.localAutoAccept||await B(async s=>{await Z(o,"::actor::set_local_policy",{auto_accept:!1},s)}),e.exposeLocal&&await Zv(o),qp(o),o}catch(r){throw _r.delete(t),r}}async function fO(t){let e=Nv(t),r=R.readFileSync(hs(e),"utf8").trim(),n=await Vp(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{de(n,{event:"restore_fail_closed",step:c,error:String(l).slice(0,300)})}catch{}U.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(XI(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=R.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)),de(n,{event:"state_import_failed",error:String(u).slice(0,300)});try{let l=`${on(e)}.failed-${Date.now()}`;R.renameSync(on(e),l),R.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)}`),de(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=Ke(p=>String(ke(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),de(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),U.set(t,n),$(`[${t}] EXPOSED (routing + broker registration) \u2014 import phase complete`),await Jv(n),rn(n),n}async function xv(){Yt?.update("wrapper"),ls=zI();let t=["--broker_address",ya,"--test_mode","--logger_config","--level","INFO","--stdout","stderr","--logger_config_end"];$(`booting wrapper (unit ${ls.hash.slice(0,12)}\u2026, broker ${ya})`),nn=await wI.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 QI()}catch(a){$("failed to start the contact-book registrar (local contact book disabled):",String(a))}EI();let r=Mp(),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 fO(c);bt&&await qv(u)}catch(u){$(`failed to restore "${c}":`,String(u))}Yt?.update("identities",{completed:a+1,total:r.length})}}Yt?.update("reconciliation"),YI(),WI(),ie=II(),ie&&!U.has(ie)&&($(`root marker names a missing identity "${ie}" \u2014 clearing it`),ie=null,Vv()),ie&&$(`root identity: ${ie}`);{let a=ie?U.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 U.values()){if(u.name===a.name)continue;let l;try{l=vt(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){de(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 U.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?U.get(ie):void 0;if(i)try{gs(i).controlQueued>0&&Dp(i)}catch(a){$("boot-time monitoring/control drain failed:",String(a))}ms()}function Sv(t){let e=ut.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=Cp(e);if(!r)return{error:"No identity bound to this session. Call choose_identity (or create_identity) first."};let n=U.get(r.identity);if(!n)return Ie.delete(r.identity),ms(),{error:`The bound identity "${r.identity}" no longer exists. Choose another with choose_identity.`};r.sid=t;let o=ut.get(t)?.pid;return o&&(r.pid=o),{id:n}}function ma(t,e){let r=ut.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),ms()}function mO(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 hO(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()]=n.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 gO(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):
64
64
  ${e.join(`
65
- `)}`}async function mO(t,e){let r=[];if(e.IsNil())return{text:"No new files.",files:r};let n=Nv(t),o=[];for(let s=0;;s++){let i=e.Reduce(s);if(i.IsNil())break;o.length===0&&await yI(n,{recursive:!0});let a=i.Reduce("filename").Visualize(),c=i.Reduce("mime").Visualize()||"application/octet-stream",u=i.Reduce("sender_name").Visualize(),l=i.Reduce("wire_id").Visualize(),d=Buffer.from(i.Reduce("data").GetBinary()),f=lI("sha256").update(d).digest("hex"),h=Te(n,`${l}-${cv(a)}`);if(await _I(h,d),fp(c,a)){let p=hp(qt.stt),m;if(!p.ready)m={kind:"unconfigured",reason:p.reason};else{let g=await dv(d,a,c,qt.stt);m=g.ok?{kind:"transcript",text:g.text}:{kind:"failed",error:g.error}}o.push(pv({sender:u,wire:l,savedPath:h,sizeBytes:d.length},m));continue}r.push({wire_id:l,filename:a,path:h,mime:c,size:d.length,sha256:f,sender:u}),o.push(` \u2022 ${a} (${c}, ${d.length} B, sha256 ${f}) from ${u} \u2192 ${h} {${l}}`)}return o.length===0?{text:"No new files.",files:r}:{text:`${o.length} new file(s) written to your identity's files dir \u2014 paths + metadata below (bytes stay on disk, never in this result). If your OS user can read the path, use it directly; otherwise use save_file({ wire_id, dest_path }) to stream a copy to a path you can write:
65
+ `)}`}async function yO(t,e){let r=[];if(e.IsNil())return{text:"No new files.",files:r};let n=Av(t),o=[];for(let s=0;;s++){let i=e.Reduce(s);if(i.IsNil())break;o.length===0&&await vI(n,{recursive:!0});let a=i.Reduce("filename").Visualize(),c=i.Reduce("mime").Visualize()||"application/octet-stream",u=i.Reduce("sender_name").Visualize(),l=i.Reduce("wire_id").Visualize(),d=Buffer.from(i.Reduce("data").GetBinary()),f=pI("sha256").update(d).digest("hex"),h=Te(n,`${l}-${cv(a)}`);if(await bI(h,d),fp(c,a)){let p=hp(qt.stt),m;if(!p.ready)m={kind:"unconfigured",reason:p.reason};else{let g=await dv(d,a,c,qt.stt);m=g.ok?{kind:"transcript",text:g.text}:{kind:"failed",error:g.error}}o.push(pv({sender:u,wire:l,savedPath:h,sizeBytes:d.length},m));continue}r.push({wire_id:l,filename:a,path:h,mime:c,size:d.length,sha256:f,sender:u}),o.push(` \u2022 ${a} (${c}, ${d.length} B, sha256 ${f}) from ${u} \u2192 ${h} {${l}}`)}return o.length===0?{text:"No new files.",files:r}:{text:`${o.length} new file(s) written to your identity's files dir \u2014 paths + metadata below (bytes stay on disk, never in this result). If your OS user can read the path, use it directly; otherwise use save_file({ wire_id, dest_path }) to stream a copy to a path you can write:
66
66
  ${o.join(`
67
- `)}`,files:r}}function hO(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 gO(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 yO(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 Kv(t){return mI(t).toString("base64url")}function _O(t){return hI(Buffer.from(t.replace(/\s+/g,""),"base64url"))}var vO=new Set(["members","caps"]);function bO(t){try{let e=t.GetNumber();return Number.isInteger(e)?e:NaN}catch{return NaN}}function fs(t,e){if(t.IsNil())return null;let r;try{r=t.GetKeys()}catch{try{return Kv(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(bO).every((i,a)=>i===a))return r.map((i,a)=>fs(t.Reduce(a)));let s={};for(let i of r)s[i.Visualize()]=fs(t.Reduce(i),i.Visualize());return s}return e!==void 0&&vO.has(e)?[]:{}}function Sv(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 kv(t){let e=new na({name:"ours",version:us},{capabilities:{logging:{},resources:{}}}),r=()=>{let s=xv(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:U.string().min(1).describe('Display name for the new identity, e.g. "Alice".'),bio:U.string().default("").describe("Optional free-text bio for the identity profile."),expose_local:U.boolean().default(!0).describe("Publish this identity in the host-local contact book."),local_auto_accept:U.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}".`,Zp&&Bv(f);else{let{adopted:m}=await bv(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=`
67
+ `)}`,files:r}}function _O(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 vO(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 bO(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 Wv(t){return gI(t).toString("base64url")}function wO(t){return yI(Buffer.from(t.replace(/\s+/g,""),"base64url"))}var $O=new Set(["members","caps"]);function xO(t){try{let e=t.GetNumber();return Number.isInteger(e)?e:NaN}catch{return NaN}}function fs(t,e){if(t.IsNil())return null;let r;try{r=t.GetKeys()}catch{try{return Wv(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(xO).every((i,a)=>i===a))return r.map((i,a)=>fs(t.Reduce(a)));let s={};for(let i of r)s[i.Visualize()]=fs(t.Reduce(i),i.Visualize());return s}return e!==void 0&&$O.has(e)?[]:{}}function kv(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 Rv(t){let e=new na({name:"ours",version:us},{capabilities:{logging:{},resources:{}}}),r=()=>{let s=Sv(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:V.string().min(1).describe('Display name for the new identity, e.g. "Alice".'),bio:V.string().default("").describe("Optional free-text bio for the identity profile."),expose_local:V.boolean().default(!0).describe("Publish this identity in the host-local contact book."),local_auto_accept:V.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(U.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?U.get(ie):void 0;if(f)await Kn(f,l),d=` Delegated as a role under root "${f.name}".`,Zp&&Hv(f);else{let{adopted:m}=await wv(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=`
68
68
 
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:U.string().min(1).describe(`The person's name, e.g. "Vitalii Shakhmatov".`),bio:U.string().default("").describe("Free-text bio describing the person (carried in role invites)."),expose_local:U.boolean().default(!0).describe("Publish the root in the host-local contact book."),local_auto_accept:U.boolean().default(!0).describe("Auto-accept local contact-book introductions (false = they queue for approval)."),skip_if_root_exists:U.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=`
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:V.string().min(1).describe(`The person's name, e.g. "Vitalii Shakhmatov".`),bio:V.string().default("").describe("Free-text bio describing the person (carried in role invites)."),expose_local:V.boolean().default(!0).describe("Publish the root in the host-local contact book."),local_auto_accept:V.boolean().default(!0).describe("Auto-accept local contact-book introductions (false = they queue for approval)."),skip_if_root_exists:V.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&&U.has(ie))return k(`create_root_identity failed: a root identity already exists ("${ie}") \u2014 one root per host. Nothing to do.`,!0);if(U.has(s))return k(`create_root_identity failed: an identity named "${s}" already exists.`,!0);let d=`
70
70
 
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 bv(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:U.string().min(1).describe("Identity name the workspace belongs to."),path:U.string().min(1).describe("Absolute target: a directory (file is created inside it) or a full path ending in .ours-identity."),force:U.boolean().default(!1).describe("Once the user approves binding, eviction of another holder is pre-approved (no second confirmation)."),expose_local:U.boolean().default(!0).describe("Publish this identity in the host-local contact book."),local_auto_accept:U.boolean().default(!0).describe("Auto-accept local contact-book introductions (false = they queue for approval)."),overwrite:U.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(!aI(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=iv(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:U.string().min(1).describe("Name of the identity to bind."),force:U.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=ut.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
+ 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?U.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 wv(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:V.string().min(1).describe("Identity name the workspace belongs to."),path:V.string().min(1).describe("Absolute target: a directory (file is created inside it) or a full path ending in .ours-identity."),force:V.boolean().default(!1).describe("Once the user approves binding, eviction of another holder is pre-approved (no second confirmation)."),expose_local:V.boolean().default(!0).describe("Publish this identity in the host-local contact book."),local_auto_accept:V.boolean().default(!0).describe("Auto-accept local contact-book introductions (false = they queue for approval)."),overwrite:V.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(!uI(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=iv(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:V.string().min(1).describe("Name of the identity to bind."),force:V.boolean().default(!1).describe("Evict another session that holds this identity.")},async({name:s,force:i})=>{if(!U.has(s))return k(`choose_identity failed: no identity named "${s}". Create it with create_identity.`,!0);let a=t(),c=ut.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&&U.has(l);ma(a,s);let f=U.get(s),h=`Bound to identity "${s}" (${f.cid}).`;return d&&(h+=`
73
73
 
74
74
  Switched away from "${l}" \u2014 disable any live monitor previously armed for it.`),h+=`
75
75
 
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=ut.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&&vt(l).roleId!==""&&u.push(` \u2514 ${l.name} \u2014 ${l.cid} (role)${a(l.name)}`);for(let l of L.values())l.name===c.name||vt(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(U.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=ut.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?U.get(ie):void 0,u=[];if(c){u.push(`\u2605 ${c.name} \u2014 ${c.cid} (root)${a(c.name)}`);for(let l of U.values())l.name!==c.name&&vt(l).roleId!==""&&u.push(` \u2514 ${l.name} \u2014 ${l.cid} (role)${a(l.name)}`);for(let l of U.values())l.name===c.name||vt(l).roleId!==""||u.push(`\u2022 ${l.name} \u2014 ${l.cid} (flat, no delegation)${a(l.name)}`)}else{for(let l of U.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 (${U.size}):
77
77
  ${u.join(`
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=xv(t());if("error"in s)return k(s.error);try{let i=vt(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=Sv(t());if("error"in s)return k(s.error);try{let i=vt(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?`
79
79
  Bio: ${i.bio}`:"",u=i.persona?`
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:U.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&&vt(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=Lv(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?Jv(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(Re(s,"::actor::list_incoming_messages",l))),u=c.length===0?"Inbox is empty.":`Inbox (${c.length}):
81
- ${c.map(l=>Sv(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:U.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 Kv(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):
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:V.string().min(1).describe("Name of the identity to delete.")},async({name:s})=>{let i=U.get(s);if(!i)return k(`remove_identity failed: no identity named "${s}".`,!0);if(s===ie){let c=[...U.values()].filter(u=>u.name!==s&&vt(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=Uv(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?Kv(s.name):"ours://inbox";if(i||!s)return{contents:[{uri:a,mimeType:"text/plain",text:"No identity bound to this session."}]};let c=Ke(l=>ga(ke(s,"::actor::list_incoming_messages",l))),u=c.length===0?"Inbox is empty.":`Inbox (${c.length}):
81
+ ${c.map(l=>kv(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:V.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 Wv(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):
83
83
 
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:U.string().min(1).describe("The base64 invite blob to redeem."),name:U.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=_O(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=T=>!T||T==="%%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:pO(Re(s,"::a2a_messaging::list_contacts",h)),pending:hO(Re(s,"::actor::list_pending_introductions",h)),roots:gO(Re(s,"::a2a_messaging::list_contact_roots",h)),degraded:XI(Re(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}${yO(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(`
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:V.string().min(1).describe("The base64 invite blob to redeem."),name:V.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=wO(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=T=>!T||T==="%%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,renames:d}=Ke(p=>({contacts:mO(ke(s,"::a2a_messaging::list_contacts",p)),pending:_O(ke(s,"::actor::list_pending_introductions",p)),roots:vO(ke(s,"::a2a_messaging::list_contact_roots",p)),degraded:eO(ke(s,"::a2a_messaging::list_degraded_contacts",p)),renames:hO(ke(s,"::a2a_messaging::list_import_renames",p))})),f=new Map(l.map(p=>[p.cid,p])),h=[];return h.push(a.length===0?"No contacts yet.":`Contacts (${a.length}):
85
+ ${hv(a.map(p=>({name:p.name,container_id:p.container_id,rootTag:bO(u[p.container_id]),degradedQueued:f.get(p.container_id)?.queued,renamedFrom:d[p.container_id]}))).join(`
86
+ `)}`),c.length>0&&h.push(`Pending local introductions (${c.length}) \u2014 approve/reject with respond_to_introduction:
87
+ `+c.map(p=>`\u2022 ${p.name} \u2014 ${p.container_id} (${p.queued} queued message${p.queued===1?"":"s"})`).join(`
88
+ `)),k(h.join(`
89
89
 
90
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=ut.get(i)?.token,c=a?Cp(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}):
91
91
  ${u.join(`
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:U.boolean().optional().describe("Publish (true) or remove (false) this identity in the local contact book."),auto_accept:U.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 Mv(a),u.push("published in the local contact book")):s===!1&&(Zv(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:U.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&&vt(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:U.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:U.string().min(1).describe("Pending introduction to act on (name or container id)."),action:U.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:U.string().min(1).describe("Contact name or container id to send to."),text:U.string().min(1).describe("The message text."),reply_to_wire_id:U.string().optional().describe("wire_id (from get_messages) of the message this replies to."),reply_to_sentence:U.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=II(u,s),p=h?await OI(u,h,i):await NI(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:U.string().min(1).describe("Contact name or container id to send to."),path:U.string().min(1).optional().describe("Filesystem path to the file to send (preferred)."),data_base64:U.string().min(1).optional().describe("Inline file bytes, base64-encoded (alternative to path)."),filename:U.string().min(1).optional().describe("Filename to advertise (required with data_base64; defaults to basename of path)."),mime:U.string().optional().describe("MIME type (inferred from the path extension when omitted)."),reply_to_wire_id:U.string().optional().describe("wire_id (from get_messages/get_files) this file replies to."),reply_to_sentence:U.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 gI(i),m=c??cI(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?av(i):""),_=l?d!==void 0?{wire_id:l,sentence:d}:{wire_id:l}:void 0;try{let y=await B(async T=>{let A=f.pw.packet.NewBinaryFromBuffer(p).Attach(T);return n(await Z(f,"::a2a_messaging::send_file",{contact:s,filename:m,mime:g,data:A,..._?{reply_to:_}:{}},T))}),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:U.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(Re(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=>Sv(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=rO(s),u=lv(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:U.array(U.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=>fO(Re(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's files dir (STATE_DIR/<identity>/files/<wire_id>-<name>) and returns its PATH + metadata (filename, mime, size, sha256, sender, wire_id) \u2014 the BYTES are never returned into your context. Flips them to "processed" \u2014 the sole place file bytes leave the packet. If your OS user can read the returned path, use it directly; if you run as a different OS user than the daemon owner and cannot read it, the ours connector says so in the result and asks you for a destination \u2014 then call save_file({ wire_id, dest_path }) to stream a copy to a path you can write. 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 mO(s,u.Reduce("files"))});return rn(s),a.files.length===0?k(a.text):{content:[{type:"text",text:a.text}],structuredContent:{files:a.files},isError:!1}}catch(a){return k(`get_files failed: ${String(a)}`,!0)}}),e.tool("save_file","Stream a received file (already pulled to disk by get_files) to a path YOUR OS user can write, WITHOUT the bytes ever entering your context. Use this when you run as a different OS user than the daemon owner and cannot read the get_files path directly. The ours connector streams the bytes daemon\u2192proxy\u2192disk (the proxy runs as your OS user and does the write); the file is resolved strictly within the bound identity's own files folder, so you can only save files delivered to YOU. Run get_files first so the file exists on disk. Requires a bound identity.",{wire_id:U.string().min(1).describe("wire_id of the received file (from get_files)."),dest_path:U.string().min(1).describe("Destination path on your local filesystem to write the copy to.")},async({wire_id:s})=>{let{id:i,err:a}=r();if(a)return a;let c=Av(i,s)!==null;return k("save_file could not be completed by your ours connector: it reached the daemon directly, which means the connector is too old to stream the bytes and write them as your OS user. Update the ours connector to use save_file, or fall back to get_files and copy the returned path yourself (`cp`)."+(c?"":` (Also note: no file with wire_id ${s} is currently on disk for this identity \u2014 run get_files first.)`),!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:U.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(Ev(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}).
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:V.boolean().optional().describe("Publish (true) or remove (false) this identity in the local contact book."),auto_accept:V.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 Zv(a),u.push("published in the local contact book")):s===!1&&(Dv(a),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:V.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 U.values())if(l.name!==i.name&&vt(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:V.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:V.string().min(1).describe("Pending introduction to act on (name or container id)."),action:V.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:V.string().min(1).describe("Contact name or container id to send to."),text:V.string().min(1).describe("The message text."),reply_to_wire_id:V.string().optional().describe("wire_id (from get_messages) of the message this replies to."),reply_to_sentence:V.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?(de(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=NI(u,s),p=h?await AI(u,h,i):await CI(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:V.string().min(1).describe("Contact name or container id to send to."),path:V.string().min(1).optional().describe("Filesystem path to the file to send (preferred)."),data_base64:V.string().min(1).optional().describe("Inline file bytes, base64-encoded (alternative to path)."),filename:V.string().min(1).optional().describe("Filename to advertise (required with data_base64; defaults to basename of path)."),mime:V.string().optional().describe("MIME type (inferred from the path extension when omitted)."),reply_to_wire_id:V.string().optional().describe("wire_id (from get_messages/get_files) this file replies to."),reply_to_sentence:V.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 _I(i),m=c??lI(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?av(i):""),_=l?d!==void 0?{wire_id:l,sentence:d}:{wire_id:l}:void 0;try{let y=await B(async T=>{let A=f.pw.packet.NewBinaryFromBuffer(p).Attach(T);return n(await Z(f,"::a2a_messaging::send_file",{contact:s,filename:m,mime:g,data:A,..._?{reply_to:_}:{}},T))}),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?(de(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. Removal is NOT retirement: a later send_message to the removed peer auto-reconnects \u2014 for ANY live identity on this host under the same root, via the sibling path (this fires first and does not need a contact-book entry, published or not); otherwise through the host-local contact book if the peer is still published there. To stop reaching a peer for good, address sends by container id and do not send to it. Requires a bound identity.",{contact:V.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("rename_contact","Rename a contact (addressed by current name or container id) \u2014 rewrites the display name only; the container id, keys and the established encrypted channel are untouched. Rejects a name another contact already holds. When two contacts share a name (e.g. after a collision took an ordinal suffix), address the one to rename by its container id. Requires a bound identity.",{contact:V.string().min(1).describe("Contact name or container id to rename."),name:V.string().min(1).describe("The new display name.")},async({contact:s,name:i})=>{let{id:a,err:c}=r();if(c)return c;try{let u=await B(async l=>{let d=await Z(a,"::a2a_messaging::rename_contact",{contact:s,name:i},l),f=d.Reduce("renamed").Visualize(),h=d.Reduce("container_id").Visualize();return`Renamed contact "${f}" to "${i}" (${h}).`});return k(u)}catch(u){return k(`rename_contact failed: ${String(u)}`,!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=Ke(u=>ga(ke(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=>kv(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=oO(s),u=lv(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:V.array(V.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=Ke(c=>gO(ke(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's files dir (STATE_DIR/<identity>/files/<wire_id>-<name>) and returns its PATH + metadata (filename, mime, size, sha256, sender, wire_id) \u2014 the BYTES are never returned into your context. Flips them to "processed" \u2014 the sole place file bytes leave the packet. If your OS user can read the returned path, use it directly; if you run as a different OS user than the daemon owner and cannot read it, the ours connector says so in the result and asks you for a destination \u2014 then call save_file({ wire_id, dest_path }) to stream a copy to a path you can write. 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 yO(s,u.Reduce("files"))});return rn(s),a.files.length===0?k(a.text):{content:[{type:"text",text:a.text}],structuredContent:{files:a.files},isError:!1}}catch(a){return k(`get_files failed: ${String(a)}`,!0)}}),e.tool("save_file","Stream a received file (already pulled to disk by get_files) to a path YOUR OS user can write, WITHOUT the bytes ever entering your context. Use this when you run as a different OS user than the daemon owner and cannot read the get_files path directly. The ours connector streams the bytes daemon\u2192proxy\u2192disk (the proxy runs as your OS user and does the write); the file is resolved strictly within the bound identity's own files folder, so you can only save files delivered to YOU. Run get_files first so the file exists on disk. Requires a bound identity.",{wire_id:V.string().min(1).describe("wire_id of the received file (from get_files)."),dest_path:V.string().min(1).describe("Destination path on your local filesystem to write the copy to.")},async({wire_id:s})=>{let{id:i,err:a}=r();if(a)return a;let c=Cv(i,s)!==null;return k("save_file could not be completed by your ours connector: it reached the daemon directly, which means the connector is too old to stream the bytes and write them as your OS user. Update the ours connector to use save_file, or fall back to get_files and copy the returned path yourself (`cp`)."+(c?"":` (Also note: no file with wire_id ${s} is currently on disk for this identity \u2014 run get_files first.)`),!0)});let o=()=>{let s=ie?U.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:V.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(Pv(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}).
95
95
 
96
96
  Verification code: ${c}
97
97
 
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=gs(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=CI(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=gs(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=MI(s);return c.push(""),c.push(u.length===0?"No agents (roles) under this root.":`Agents (${u.length}):
99
99
  ${u.map(l=>`\u2022 ${l.name} \u2014 monitoring ${l.monitoring?"ON":"off"}${l.bio?` \u2014 ${l.bio}`:""}`).join(`
100
100
  `)}`),k(c.join(`
101
- `))}catch(a){return k(`get_monitoring_status failed: ${String(a)}`,!0)}}),e}function wO(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 Rv(){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 Gv(t),await Ip(t),await Op(t)}}finally{wp=!1}})())},gv),Wn.unref?.(),$(`message GC timer armed (every ${gv}ms)`))}function Tv(){Wn&&(clearInterval(Wn),Wn=null)}async function $O(){if(process.env.OURS_TEST_STARTUP_FAIL==="1")throw new Error("forced startup failure (OURS_TEST_STARTUP_FAIL)");if(Iv==="stdio"){let p=kv(()=>"stdio");tn.set("stdio",p),ut.set("stdio",{token:"stdio-local",pid:process.pid});let m=new sa;await p.connect(m),$("MCP stdio transport connected, booting wrapper\u2026"),await $v(),Rv(),$(`MCP server v${us} ready (transport=stdio, identities=${L.size}, state=${Oe}, broker=${ya})`);let g=()=>{Tv();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 $v(),Rv(),$(`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=ut.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],ut.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=fI(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:us,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:us,compat:1,protocol:Uv,pid:process.pid,stateDir:Oe}));return}if(p.method==="GET"&&g.pathname==="/identities"){if(!as(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(!as(p,m))return;m.writeHead(200,{"Content-Type":"application/json"}),m.end(JSON.stringify(aO()));return}{let _=/^\/identities\/([^/]+)\/notifications$/.exec(g.pathname);if(p.method==="GET"&&_){if(!as(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 iO(p,m,y,g.searchParams.get("since"));return}}{let _=/^\/files\/([^/]+)$/.exec(g.pathname);if(p.method==="GET"&&_){if(!as(p,m))return;let y=decodeURIComponent(_[1]),w=p.headers["x-ours-lease-token"],T=typeof w=="string"&&w?Cp(w):void 0,A=T?L.get(T.identity):void 0;if(!A){m.writeHead(401,{"Content-Type":"application/json"}),m.end(JSON.stringify({error:"no identity bound to this session"}));return}let Se=Av(A,y);if(!Se){m.writeHead(404,{"Content-Type":"application/json"}),m.end(JSON.stringify({error:"no such file for the bound identity (run get_files first, or it belongs to another identity)"}));return}try{let _e=R.statSync(Se);m.writeHead(200,{"Content-Type":"application/octet-stream","Content-Length":String(_e.size)});let ot=R.createReadStream(Se);ot.on("error",()=>{try{m.destroy()}catch{}}),ot.pipe(m)}catch(_e){m.writeHead(500,{"Content-Type":"application/json"}),m.end(JSON.stringify({error:`failed to read file: ${String(_e)}`}))}return}}if(g.pathname!=="/mcp"){m.writeHead(404,{"Content-Type":"text/plain"}),m.end("Not found");return}if(as(p,m))try{if(p.method==="POST"){let _=await wO(p),y=p.headers["mcp-session-id"],w=p.headers["x-ours-lease-token"],T=p.headers["x-ours-client-pid"],A=T?parseInt(T,10):void 0,Se={token:w,pid:Number.isInteger(A)?A:void 0};if(y&&t[y]){ut.set(y,Se),l(y,_),n(y),fa(m);try{await t[y].handleRequest(p,m,_)}finally{o(y)}}else if(!y&&bo(_)){s();let _e=new ua({sessionIdGenerator:()=>dI(),onsessioninitialized:De=>{t[De]=_e,ut.set(De,Se),tn.set(De,ot),$(`session ${De.slice(0,8)}\u2026 initialized`)}}),ot=kv(()=>_e.sessionId??"pending");ot.server.onerror=De=>d(_e.sessionId??"pending",De),_e.onclose=()=>{let De=_e.sessionId;De&&(delete t[De],tn.delete(De),ut.delete(De),$(`session ${De.slice(0,8)}\u2026 closed (lease kept)`))},await ot.connect(_e),fa(m),await _e.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(_),fa(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=ut.get(_)?.token??p.headers["x-ours-lease-token"];if(y){for(let[w,T]of[...Ie])T.token===y&&Ie.delete(w);wa.delete(y),ms(),$(`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${us} ready (transport=http, port=${yp}, visibility=${$p}, identities=${L.size}, state=${Oe}, broker=${ya})`)});let h=async()=>{$("shutting down\u2026"),Tv();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)}$O().catch(t=>{Yt?.failed(),$(`fatal startup error: ${t?.stack??t}`),process.exit(1)});export{oI as formatVersionAdvisory,va as validateName};
101
+ `))}catch(a){return k(`get_monitoring_status failed: ${String(a)}`,!0)}}),e}function SO(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 Tv(){Wn||(Wn=setInterval(()=>{wp||(wp=!0,(async()=>{try{for(let t of U.values()){try{await B(async e=>{await Z(t,"::actor::gc",{},e)})}catch(e){$(`gc(${t.name}) failed:`,String(e))}await Jv(t),await Ip(t),await Op(t)}}finally{wp=!1}})())},yv),Wn.unref?.(),$(`message GC timer armed (every ${yv}ms)`))}function zv(){Wn&&(clearInterval(Wn),Wn=null)}async function kO(){if(process.env.OURS_TEST_STARTUP_FAIL==="1")throw new Error("forced startup failure (OURS_TEST_STARTUP_FAIL)");if(Ov==="stdio"){let p=Rv(()=>"stdio");tn.set("stdio",p),ut.set("stdio",{token:"stdio-local",pid:process.pid});let m=new sa;await p.connect(m),$("MCP stdio transport connected, booting wrapper\u2026"),await xv(),Tv(),$(`MCP server v${us} ready (transport=stdio, identities=${U.size}, state=${Oe}, broker=${ya})`);let g=()=>{zv();for(let _ of U.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 xv(),Tv(),$(`wrapper ready (identities=${U.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=ut.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],ut.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=hI(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:us,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:us,compat:1,protocol:Fv,pid:process.pid,stateDir:Oe}));return}if(p.method==="GET"&&g.pathname==="/identities"){if(!as(p,m))return;m.writeHead(200,{"Content-Type":"application/json"}),m.end(JSON.stringify({identities:[...U.values()].map(_=>({name:_.name}))}));return}if(p.method==="GET"&&g.pathname==="/unread"){if(!as(p,m))return;m.writeHead(200,{"Content-Type":"application/json"}),m.end(JSON.stringify(uO()));return}{let _=/^\/identities\/([^/]+)\/notifications$/.exec(g.pathname);if(p.method==="GET"&&_){if(!as(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 cO(p,m,y,g.searchParams.get("since"));return}}{let _=/^\/files\/([^/]+)$/.exec(g.pathname);if(p.method==="GET"&&_){if(!as(p,m))return;let y=decodeURIComponent(_[1]),w=p.headers["x-ours-lease-token"],T=typeof w=="string"&&w?Cp(w):void 0,A=T?U.get(T.identity):void 0;if(!A){m.writeHead(401,{"Content-Type":"application/json"}),m.end(JSON.stringify({error:"no identity bound to this session"}));return}let Se=Cv(A,y);if(!Se){m.writeHead(404,{"Content-Type":"application/json"}),m.end(JSON.stringify({error:"no such file for the bound identity (run get_files first, or it belongs to another identity)"}));return}try{let _e=R.statSync(Se);m.writeHead(200,{"Content-Type":"application/octet-stream","Content-Length":String(_e.size)});let ot=R.createReadStream(Se);ot.on("error",()=>{try{m.destroy()}catch{}}),ot.pipe(m)}catch(_e){m.writeHead(500,{"Content-Type":"application/json"}),m.end(JSON.stringify({error:`failed to read file: ${String(_e)}`}))}return}}if(g.pathname!=="/mcp"){m.writeHead(404,{"Content-Type":"text/plain"}),m.end("Not found");return}if(as(p,m))try{if(p.method==="POST"){let _=await SO(p),y=p.headers["mcp-session-id"],w=p.headers["x-ours-lease-token"],T=p.headers["x-ours-client-pid"],A=T?parseInt(T,10):void 0,Se={token:w,pid:Number.isInteger(A)?A:void 0};if(y&&t[y]){ut.set(y,Se),l(y,_),n(y),fa(m);try{await t[y].handleRequest(p,m,_)}finally{o(y)}}else if(!y&&bo(_)){s();let _e=new ua({sessionIdGenerator:()=>fI(),onsessioninitialized:De=>{t[De]=_e,ut.set(De,Se),tn.set(De,ot),$(`session ${De.slice(0,8)}\u2026 initialized`)}}),ot=Rv(()=>_e.sessionId??"pending");ot.server.onerror=De=>d(_e.sessionId??"pending",De),_e.onclose=()=>{let De=_e.sessionId;De&&(delete t[De],tn.delete(De),ut.delete(De),$(`session ${De.slice(0,8)}\u2026 closed (lease kept)`))},await ot.connect(_e),fa(m),await _e.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(_),fa(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=ut.get(_)?.token??p.headers["x-ours-lease-token"];if(y){for(let[w,T]of[...Ie])T.token===y&&Ie.delete(w);wa.delete(y),ms(),$(`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${us} ready (transport=http, port=${yp}, visibility=${$p}, identities=${U.size}, state=${Oe}, broker=${ya})`)});let h=async()=>{$("shutting down\u2026"),zv();for(let p of Object.keys(t)){try{await t[p].close()}catch{}delete t[p]}for(let p of U.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)}kO().catch(t=>{Yt?.failed(),$(`fatal startup error: ${t?.stack??t}`),process.exit(1)});export{iI as formatVersionAdvisory,va as validateName};