@ours.network/mcp 0.17.0 → 0.18.0-nightly.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js DELETED
@@ -1,106 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
3
- var mb=Object.create;var Aa=Object.defineProperty;var hb=Object.getOwnPropertyDescriptor;var gb=Object.getOwnPropertyNames;var yb=Object.getPrototypeOf,_b=Object.prototype.hasOwnProperty;var E=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ca=(t,e)=>{for(var r in e)Aa(t,r,{get:e[r],enumerable:!0})},vb=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of gb(e))!_b.call(t,o)&&o!==r&&Aa(t,o,{get:()=>e[o],enumerable:!(n=hb(e,o))||n.enumerable});return t};var Qp=(t,e,r)=>(r=t!=null?mb(yb(t)):{},vb(e||!t||!t.__esModule?Aa(r,"default",{value:t,enumerable:!0}):r,t));var Ao=E(ie=>{"use strict";Object.defineProperty(ie,"__esModule",{value:!0});ie.regexpCode=ie.getEsmExportName=ie.getProperty=ie.safeStringify=ie.stringify=ie.strConcat=ie.addCodeArg=ie.str=ie._=ie.nil=ie._Code=ie.Name=ie.IDENTIFIER=ie._CodeOrName=void 0;var Oo=class{};ie._CodeOrName=Oo;ie.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Ur=class extends Oo{constructor(e){if(super(),!ie.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}}};ie.Name=Ur;var ht=class extends Oo{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 Ur&&(r[n.str]=(r[n.str]||0)+1),r),{})}};ie._Code=ht;ie.nil=new ht("");function Gh(t,...e){let r=[t[0]],n=0;for(;n<e.length;)hl(r,e[n]),r.push(t[++n]);return new ht(r)}ie._=Gh;var ml=new ht("+");function Jh(t,...e){let r=[No(t[0])],n=0;for(;n<e.length;)r.push(ml),hl(r,e[n]),r.push(ml,No(t[++n]));return vS(r),new ht(r)}ie.str=Jh;function hl(t,e){e instanceof ht?t.push(...e._items):e instanceof Ur?t.push(e):t.push($S(e))}ie.addCodeArg=hl;function vS(t){let e=1;for(;e<t.length-1;){if(t[e]===ml){let r=bS(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function bS(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof Ur||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 Ur))return`"${t}${e.slice(1)}`}function wS(t,e){return e.emptyStr()?t:t.emptyStr()?e:Jh`${t}${e}`}ie.strConcat=wS;function $S(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:No(Array.isArray(t)?t.join(","):t)}function xS(t){return new ht(No(t))}ie.stringify=xS;function No(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}ie.safeStringify=No;function SS(t){return typeof t=="string"&&ie.IDENTIFIER.test(t)?new ht(`.${t}`):Gh`[${t}]`}ie.getProperty=SS;function kS(t){if(typeof t=="string"&&ie.IDENTIFIER.test(t))return new ht(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}ie.getEsmExportName=kS;function RS(t){return new ht(t.toString())}ie.regexpCode=RS});var _l=E(rt=>{"use strict";Object.defineProperty(rt,"__esModule",{value:!0});rt.ValueScope=rt.ValueScopeName=rt.Scope=rt.varKinds=rt.UsedValueState=void 0;var tt=Ao(),gl=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},ks;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(ks||(rt.UsedValueState=ks={}));rt.varKinds={const:new tt.Name("const"),let:new tt.Name("let"),var:new tt.Name("var")};var Rs=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof tt.Name?e:this.name(e)}name(e){return new tt.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}}};rt.Scope=Rs;var Ts=class extends tt.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,tt._)`.${new tt.Name(r)}[${n}]`}};rt.ValueScopeName=Ts;var TS=(0,tt._)`\n`,yl=class extends Rs{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?TS:tt.nil}}get(){return this._scope}name(e){return new Ts(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:i}=o,s=(n=r.key)!==null&&n!==void 0?n:r.ref,a=this._values[i];if(a){let l=a.get(s);if(l)return l}else a=this._values[i]=new Map;a.set(s,o);let c=this._scope[i]||(this._scope[i]=[]),u=c.length;return c[u]=r.ref,o.setValue(r,{property:i,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,tt._)`${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 i=tt.nil;for(let s in e){let a=e[s];if(!a)continue;let c=n[s]=n[s]||new Map;a.forEach(u=>{if(c.has(u))return;c.set(u,ks.Started);let l=r(u);if(l){let d=this.opts.es5?rt.varKinds.var:rt.varKinds.const;i=(0,tt._)`${i}${d} ${u} = ${l};${this.opts._n}`}else if(l=o?.(u))i=(0,tt._)`${i}${l}${this.opts._n}`;else throw new gl(u);c.set(u,ks.Completed)})}return i}};rt.ValueScope=yl});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=Ao(),kt=_l(),dr=Ao();Object.defineProperty(W,"_",{enumerable:!0,get:function(){return dr._}});Object.defineProperty(W,"str",{enumerable:!0,get:function(){return dr.str}});Object.defineProperty(W,"strConcat",{enumerable:!0,get:function(){return dr.strConcat}});Object.defineProperty(W,"nil",{enumerable:!0,get:function(){return dr.nil}});Object.defineProperty(W,"getProperty",{enumerable:!0,get:function(){return dr.getProperty}});Object.defineProperty(W,"stringify",{enumerable:!0,get:function(){return dr.stringify}});Object.defineProperty(W,"regexpCode",{enumerable:!0,get:function(){return dr.regexpCode}});Object.defineProperty(W,"Name",{enumerable:!0,get:function(){return dr.Name}});var Ps=_l();Object.defineProperty(W,"Scope",{enumerable:!0,get:function(){return Ps.Scope}});Object.defineProperty(W,"ValueScope",{enumerable:!0,get:function(){return Ps.ValueScope}});Object.defineProperty(W,"ValueScopeName",{enumerable:!0,get:function(){return Ps.ValueScopeName}});Object.defineProperty(W,"varKinds",{enumerable:!0,get:function(){return Ps.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 Kt=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},vl=class extends Kt{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=En(this.rhs,e,r)),this}get names(){return this.rhs instanceof re._CodeOrName?this.rhs.names:{}}},zs=class extends Kt{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=En(this.rhs,e,r),this}get names(){let e=this.lhs instanceof re.Name?{}:{...this.lhs.names};return Is(e,this.rhs)}},bl=class extends zs{constructor(e,r,n,o){super(e,n,o),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},wl=class extends Kt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},$l=class extends Kt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},xl=class extends Kt{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},Sl=class extends Kt{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=En(this.code,e,r),this}get names(){return this.code instanceof re._CodeOrName?this.code.names:{}}},Co=class extends Kt{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 i=n[o];i.optimizeNames(e,r)||(zS(e,i.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>Hr(e,r.names),{})}},Wt=class extends Co{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},kl=class extends Co{},zn=class extends Wt{};zn.kind="else";var Fr=class t extends Wt{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 zn(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(Kh(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=En(this.condition,e,r),this}get names(){let e=super.names;return Is(e,this.condition),this.else&&Hr(e,this.else.names),e}};Fr.kind="if";var Br=class extends Wt{};Br.kind="for";var Rl=class extends Br{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=En(this.iteration,e,r),this}get names(){return Hr(super.names,this.iteration.names)}},Tl=class extends Br{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:i}=this;return`for(${r} ${n}=${o}; ${n}<${i}; ${n}++)`+super.render(e)}get names(){let e=Is(super.names,this.from);return Is(e,this.to)}},Es=class extends Br{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=En(this.iterable,e,r),this}get names(){return Hr(super.names,this.iterable.names)}},jo=class extends Wt{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)}};jo.kind="func";var Mo=class extends Co{render(e){return"return "+super.render(e)}};Mo.kind="return";var zl=class extends Wt{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&&Hr(e,this.catch.names),this.finally&&Hr(e,this.finally.names),e}},Zo=class extends Wt{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};Zo.kind="catch";var Do=class extends Wt{render(e){return"finally"+super.render(e)}};Do.kind="finally";var El=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 kl]}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 i=this._scope.toName(r);return n!==void 0&&o&&(this._constants[i.str]=n),this._leafNode(new vl(e,i,n)),i}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 zs(e,r,n))}add(e,r){return this._leafNode(new bl(e,W.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==re.nil&&this._leafNode(new Sl(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 Fr(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 Fr(e))}else(){return this._elseNode(new zn)}endIf(){return this._endBlockNode(Fr,zn)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new Rl(e),r)}forRange(e,r,n,o,i=this.opts.es5?kt.varKinds.var:kt.varKinds.let){let s=this._scope.toName(e);return this._for(new Tl(i,s,r,n),()=>o(s))}forOf(e,r,n,o=kt.varKinds.const){let i=this._scope.toName(e);if(this.opts.es5){let s=r instanceof re.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,re._)`${s}.length`,a=>{this.var(i,(0,re._)`${s}[${a}]`),n(i)})}return this._for(new Es("of",o,i,r),()=>n(i))}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 i=this._scope.toName(e);return this._for(new Es("in",o,i,r),()=>n(i))}endFor(){return this._endBlockNode(Br)}label(e){return this._leafNode(new wl(e))}break(e){return this._leafNode(new $l(e))}return(e){let r=new Mo;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Mo)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new zl;if(this._blockNode(o),this.code(e),r){let i=this.name("e");this._currNode=o.catch=new Zo(i),r(i)}return n&&(this._currNode=o.finally=new Do,this.code(n)),this._endBlockNode(Zo,Do)}throw(e){return this._leafNode(new xl(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 jo(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(jo)}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 Fr))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=El;function Hr(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function Is(t,e){return e instanceof re._CodeOrName?Hr(t,e.names):t}function En(t,e,r){if(t instanceof re.Name)return n(t);if(!o(t))return t;return new re._Code(t._items.reduce((i,s)=>(s instanceof re.Name&&(s=n(s)),s instanceof re._Code?i.push(...s._items):i.push(s),i),[]));function n(i){let s=r[i.str];return s===void 0||e[i.str]!==1?i:(delete e[i.str],s)}function o(i){return i instanceof re._Code&&i._items.some(s=>s instanceof re.Name&&e[s.str]===1&&r[s.str]!==void 0)}}function zS(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function Kh(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,re._)`!${Il(t)}`}W.not=Kh;var ES=Wh(W.operators.AND);function IS(...t){return t.reduce(ES)}W.and=IS;var PS=Wh(W.operators.OR);function OS(...t){return t.reduce(PS)}W.or=OS;function Wh(t){return(e,r)=>e===re.nil?r:r===re.nil?e:(0,re._)`${Il(e)} ${t} ${Il(r)}`}function Il(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 de=K(),NS=Ao();function AS(t){let e={};for(let r of t)e[r]=!0;return e}Y.toHash=AS;function CS(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(Xh(t,e),!eg(e,t.self.RULES.all))}Y.alwaysValidSchema=CS;function Xh(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let o=n.RULES.keywords;for(let i in e)o[i]||ng(t,`unknown keyword: "${i}"`)}Y.checkUnknownRules=Xh;function eg(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}Y.schemaHasRules=eg;function jS(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=jS;function MS({topSchemaRef:t,schemaPath:e},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,de._)`${r}`}return(0,de._)`${t}${e}${(0,de.getProperty)(n)}`}Y.schemaRefOrVal=MS;function ZS(t){return tg(decodeURIComponent(t))}Y.unescapeFragment=ZS;function DS(t){return encodeURIComponent(Ol(t))}Y.escapeFragment=DS;function Ol(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}Y.escapeJsonPointer=Ol;function tg(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}Y.unescapeJsonPointer=tg;function qS(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}Y.eachItem=qS;function Yh({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(o,i,s,a)=>{let c=s===void 0?i:s instanceof de.Name?(i instanceof de.Name?t(o,i,s):e(o,i,s),s):i instanceof de.Name?(e(o,s,i),i):r(i,s);return a===de.Name&&!(c instanceof de.Name)?n(o,c):c}}Y.mergeEvaluated={props:Yh({mergeNames:(t,e,r)=>t.if((0,de._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,de._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,de._)`${r} || {}`).code((0,de._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,de._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,de._)`${r} || {}`),Nl(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:rg}),items:Yh({mergeNames:(t,e,r)=>t.if((0,de._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,de._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,de._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,de._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function rg(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,de._)`{}`);return e!==void 0&&Nl(t,r,e),r}Y.evaluatedPropsToName=rg;function Nl(t,e,r){Object.keys(r).forEach(n=>t.assign((0,de._)`${e}${(0,de.getProperty)(n)}`,!0))}Y.setEvaluated=Nl;var Qh={};function VS(t,e){return t.scopeValue("func",{ref:e,code:Qh[e.code]||(Qh[e.code]=new NS._Code(e.code))})}Y.useFunc=VS;var Pl;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(Pl||(Y.Type=Pl={}));function LS(t,e,r){if(t instanceof de.Name){let n=e===Pl.Num;return r?n?(0,de._)`"[" + ${t} + "]"`:(0,de._)`"['" + ${t} + "']"`:n?(0,de._)`"/" + ${t}`:(0,de._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,de.getProperty)(t).toString():"/"+Ol(t)}Y.getErrorPath=LS;function ng(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=ng});var Yt=E(Al=>{"use strict";Object.defineProperty(Al,"__esModule",{value:!0});var Fe=K(),US={data:new Fe.Name("data"),valCxt:new Fe.Name("valCxt"),instancePath:new Fe.Name("instancePath"),parentData:new Fe.Name("parentData"),parentDataProperty:new Fe.Name("parentDataProperty"),rootData:new Fe.Name("rootData"),dynamicAnchors:new Fe.Name("dynamicAnchors"),vErrors:new Fe.Name("vErrors"),errors:new Fe.Name("errors"),this:new Fe.Name("this"),self:new Fe.Name("self"),scope:new Fe.Name("scope"),json:new Fe.Name("json"),jsonPos:new Fe.Name("jsonPos"),jsonLen:new Fe.Name("jsonLen"),jsonPart:new Fe.Name("jsonPart")};Al.default=US});var qo=E(Be=>{"use strict";Object.defineProperty(Be,"__esModule",{value:!0});Be.extendErrors=Be.resetErrorsCount=Be.reportExtraError=Be.reportError=Be.keyword$DataError=Be.keywordError=void 0;var oe=K(),Os=ne(),Ke=Yt();Be.keywordError={message:({keyword:t})=>(0,oe.str)`must pass "${t}" keyword validation`};Be.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 FS(t,e=Be.keywordError,r,n){let{it:o}=t,{gen:i,compositeRule:s,allErrors:a}=o,c=sg(t,e,r);n??(s||a)?og(i,c):ig(o,(0,oe._)`[${c}]`)}Be.reportError=FS;function BS(t,e=Be.keywordError,r){let{it:n}=t,{gen:o,compositeRule:i,allErrors:s}=n,a=sg(t,e,r);og(o,a),i||s||ig(n,Ke.default.vErrors)}Be.reportExtraError=BS;function HS(t,e){t.assign(Ke.default.errors,e),t.if((0,oe._)`${Ke.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,oe._)`${Ke.default.vErrors}.length`,e),()=>t.assign(Ke.default.vErrors,null)))}Be.resetErrorsCount=HS;function GS({gen:t,keyword:e,schemaValue:r,data:n,errsCount:o,it:i}){if(o===void 0)throw new Error("ajv implementation error");let s=t.name("err");t.forRange("i",o,Ke.default.errors,a=>{t.const(s,(0,oe._)`${Ke.default.vErrors}[${a}]`),t.if((0,oe._)`${s}.instancePath === undefined`,()=>t.assign((0,oe._)`${s}.instancePath`,(0,oe.strConcat)(Ke.default.instancePath,i.errorPath))),t.assign((0,oe._)`${s}.schemaPath`,(0,oe.str)`${i.errSchemaPath}/${e}`),i.opts.verbose&&(t.assign((0,oe._)`${s}.schema`,r),t.assign((0,oe._)`${s}.data`,n))})}Be.extendErrors=GS;function og(t,e){let r=t.const("err",e);t.if((0,oe._)`${Ke.default.vErrors} === null`,()=>t.assign(Ke.default.vErrors,(0,oe._)`[${r}]`),(0,oe._)`${Ke.default.vErrors}.push(${r})`),t.code((0,oe._)`${Ke.default.errors}++`)}function ig(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 Gr={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 sg(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,oe._)`{}`:JS(t,e,r)}function JS(t,e,r={}){let{gen:n,it:o}=t,i=[KS(o,r),WS(t,r)];return YS(t,e,i),n.object(...i)}function KS({errorPath:t},{instancePath:e}){let r=e?(0,oe.str)`${t}${(0,Os.getErrorPath)(e,Os.Type.Str)}`:t;return[Ke.default.instancePath,(0,oe.strConcat)(Ke.default.instancePath,r)]}function WS({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,Os.getErrorPath)(r,Os.Type.Str)}`),[Gr.schemaPath,o]}function YS(t,{params:e,message:r},n){let{keyword:o,data:i,schemaValue:s,it:a}=t,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=a;n.push([Gr.keyword,o],[Gr.params,typeof e=="function"?e(t):e||(0,oe._)`{}`]),c.messages&&n.push([Gr.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([Gr.schema,s],[Gr.parentSchema,(0,oe._)`${l}${d}`],[Ke.default.data,i]),u&&n.push([Gr.propertyName,u])}});var cg=E(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.boolOrEmptySchema=In.topBoolOrEmptySchema=void 0;var QS=qo(),XS=K(),ek=Yt(),tk={message:"boolean schema is false"};function rk(t){let{gen:e,schema:r,validateName:n}=t;r===!1?ag(t,!1):typeof r=="object"&&r.$async===!0?e.return(ek.default.data):(e.assign((0,XS._)`${n}.errors`,null),e.return(!0))}In.topBoolOrEmptySchema=rk;function nk(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),ag(t)):r.var(e,!0)}In.boolOrEmptySchema=nk;function ag(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,QS.reportError)(o,tk,void 0,e)}});var Cl=E(Pn=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});Pn.getRules=Pn.isJSONType=void 0;var ok=["string","number","integer","boolean","null","object","array"],ik=new Set(ok);function sk(t){return typeof t=="string"&&ik.has(t)}Pn.isJSONType=sk;function ak(){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:{}}}Pn.getRules=ak});var jl=E(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.shouldUseRule=pr.shouldUseGroup=pr.schemaHasRulesForType=void 0;function ck({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&ug(t,n)}pr.schemaHasRulesForType=ck;function ug(t,e){return e.rules.some(r=>lg(t,r))}pr.shouldUseGroup=ug;function lg(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))}pr.shouldUseRule=lg});var Vo=E(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.reportTypeError=He.checkDataTypes=He.checkDataType=He.coerceAndCheckDataType=He.getJSONTypes=He.getSchemaTypes=He.DataType=void 0;var uk=Cl(),lk=jl(),dk=qo(),G=K(),dg=ne(),On;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(On||(He.DataType=On={}));function pk(t){let e=pg(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}He.getSchemaTypes=pk;function pg(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(uk.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}He.getJSONTypes=pg;function fk(t,e){let{gen:r,data:n,opts:o}=t,i=mk(e,o.coerceTypes),s=e.length>0&&!(i.length===0&&e.length===1&&(0,lk.schemaHasRulesForType)(t,e[0]));if(s){let a=Zl(e,n,o.strictNumbers,On.Wrong);r.if(a,()=>{i.length?hk(t,e,i):Dl(t)})}return s}He.coerceAndCheckDataType=fk;var fg=new Set(["string","number","integer","boolean","null"]);function mk(t,e){return e?t.filter(r=>fg.has(r)||e==="array"&&r==="array"):[]}function hk(t,e,r){let{gen:n,data:o,opts:i}=t,s=n.let("dataType",(0,G._)`typeof ${o}`),a=n.let("coerced",(0,G._)`undefined`);i.coerceTypes==="array"&&n.if((0,G._)`${s} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,G._)`${o}[0]`).assign(s,(0,G._)`typeof ${o}`).if(Zl(e,o,i.strictNumbers),()=>n.assign(a,o))),n.if((0,G._)`${a} !== undefined`);for(let u of r)(fg.has(u)||u==="array"&&i.coerceTypes==="array")&&c(u);n.else(),Dl(t),n.endIf(),n.if((0,G._)`${a} !== undefined`,()=>{n.assign(o,a),gk(t,a)});function c(u){switch(u){case"string":n.elseIf((0,G._)`${s} == "number" || ${s} == "boolean"`).assign(a,(0,G._)`"" + ${o}`).elseIf((0,G._)`${o} === null`).assign(a,(0,G._)`""`);return;case"number":n.elseIf((0,G._)`${s} == "boolean" || ${o} === null
5
- || (${s} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,G._)`+${o}`);return;case"integer":n.elseIf((0,G._)`${s} === "boolean" || ${o} === null
6
- || (${s} === "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._)`${s} === "string" || ${s} === "number"
7
- || ${s} === "boolean" || ${o} === null`).assign(a,(0,G._)`[${o}]`)}}}function gk({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,G._)`${e} !== undefined`,()=>t.assign((0,G._)`${e}[${r}]`,n))}function Ml(t,e,r,n=On.Correct){let o=n===On.Correct?G.operators.EQ:G.operators.NEQ,i;switch(t){case"null":return(0,G._)`${e} ${o} null`;case"array":i=(0,G._)`Array.isArray(${e})`;break;case"object":i=(0,G._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":i=s((0,G._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":i=s();break;default:return(0,G._)`typeof ${e} ${o} ${t}`}return n===On.Correct?i:(0,G.not)(i);function s(a=G.nil){return(0,G.and)((0,G._)`typeof ${e} == "number"`,a,r?(0,G._)`isFinite(${e})`:G.nil)}}He.checkDataType=Ml;function Zl(t,e,r,n){if(t.length===1)return Ml(t[0],e,r,n);let o,i=(0,dg.toHash)(t);if(i.array&&i.object){let s=(0,G._)`typeof ${e} != "object"`;o=i.null?s:(0,G._)`!${e} || ${s}`,delete i.null,delete i.array,delete i.object}else o=G.nil;i.number&&delete i.integer;for(let s in i)o=(0,G.and)(o,Ml(s,e,r,n));return o}He.checkDataTypes=Zl;var yk={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,G._)`{type: ${t}}`:(0,G._)`{type: ${e}}`};function Dl(t){let e=_k(t);(0,dk.reportError)(e,yk)}He.reportTypeError=Dl;function _k(t){let{gen:e,data:r,schema:n}=t,o=(0,dg.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var hg=E(Ns=>{"use strict";Object.defineProperty(Ns,"__esModule",{value:!0});Ns.assignDefaults=void 0;var Nn=K(),vk=ne();function bk(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)mg(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,i)=>mg(t,i,o.default))}Ns.assignDefaults=bk;function mg(t,e,r){let{gen:n,compositeRule:o,data:i,opts:s}=t;if(r===void 0)return;let a=(0,Nn._)`${i}${(0,Nn.getProperty)(e)}`;if(o){(0,vk.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,Nn._)`${a} === undefined`;s.useDefaults==="empty"&&(c=(0,Nn._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,Nn._)`${a} = ${(0,Nn.stringify)(r)}`)}});var gt=E(le=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});le.validateUnion=le.validateArray=le.usePattern=le.callValidateCode=le.schemaProperties=le.allSchemaProperties=le.noPropertyInData=le.propertyInData=le.isOwnProperty=le.hasPropFunc=le.reportMissingProp=le.checkMissingProp=le.checkReportMissingProp=void 0;var ge=K(),ql=ne(),fr=Yt(),wk=ne();function $k(t,e){let{gen:r,data:n,it:o}=t;r.if(Ll(r,n,e,o.opts.ownProperties),()=>{t.setParams({missingProperty:(0,ge._)`${e}`},!0),t.error()})}le.checkReportMissingProp=$k;function xk({gen:t,data:e,it:{opts:r}},n,o){return(0,ge.or)(...n.map(i=>(0,ge.and)(Ll(t,e,i,r.ownProperties),(0,ge._)`${o} = ${i}`)))}le.checkMissingProp=xk;function Sk(t,e){t.setParams({missingProperty:e},!0),t.error()}le.reportMissingProp=Sk;function gg(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,ge._)`Object.prototype.hasOwnProperty`})}le.hasPropFunc=gg;function Vl(t,e,r){return(0,ge._)`${gg(t)}.call(${e}, ${r})`}le.isOwnProperty=Vl;function kk(t,e,r,n){let o=(0,ge._)`${e}${(0,ge.getProperty)(r)} !== undefined`;return n?(0,ge._)`${o} && ${Vl(t,e,r)}`:o}le.propertyInData=kk;function Ll(t,e,r,n){let o=(0,ge._)`${e}${(0,ge.getProperty)(r)} === undefined`;return n?(0,ge.or)(o,(0,ge.not)(Vl(t,e,r))):o}le.noPropertyInData=Ll;function yg(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}le.allSchemaProperties=yg;function Rk(t,e){return yg(e).filter(r=>!(0,ql.alwaysValidSchema)(t,e[r]))}le.schemaProperties=Rk;function Tk({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:i},it:s},a,c,u){let l=u?(0,ge._)`${t}, ${e}, ${n}${o}`:e,d=[[fr.default.instancePath,(0,ge.strConcat)(fr.default.instancePath,i)],[fr.default.parentData,s.parentData],[fr.default.parentDataProperty,s.parentDataProperty],[fr.default.rootData,fr.default.rootData]];s.opts.dynamicRef&&d.push([fr.default.dynamicAnchors,fr.default.dynamicAnchors]);let f=(0,ge._)`${l}, ${r.object(...d)}`;return c!==ge.nil?(0,ge._)`${a}.call(${c}, ${f})`:(0,ge._)`${a}(${f})`}le.callValidateCode=Tk;var zk=(0,ge._)`new RegExp`;function Ek({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:o}=e.code,i=o(r,n);return t.scopeValue("pattern",{key:i.toString(),ref:i,code:(0,ge._)`${o.code==="new RegExp"?zk:(0,wk.useFunc)(t,o)}(${r}, ${n})`})}le.usePattern=Ek;function Ik(t){let{gen:e,data:r,keyword:n,it:o}=t,i=e.name("valid");if(o.allErrors){let a=e.let("valid",!0);return s(()=>e.assign(a,!1)),a}return e.var(i,!0),s(()=>e.break()),i;function s(a){let c=e.const("len",(0,ge._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:ql.Type.Num},i),e.if((0,ge.not)(i),a)})}}le.validateArray=Ik;function Pk(t){let{gen:e,schema:r,keyword:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,ql.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let s=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(s,(0,ge._)`${s} || ${a}`),t.mergeValidEvaluated(l,a)||e.if((0,ge.not)(s))})),t.result(s,()=>t.reset(),()=>t.error(!0))}le.validateUnion=Pk});var bg=E(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.validateKeywordUsage=Mt.validSchemaType=Mt.funcKeywordCode=Mt.macroKeywordCode=void 0;var We=K(),Jr=Yt(),Ok=gt(),Nk=qo();function Ak(t,e){let{gen:r,keyword:n,schema:o,parentSchema:i,it:s}=t,a=e.macro.call(s.self,o,i,s),c=vg(r,n,a);s.opts.validateSchema!==!1&&s.self.validateSchema(a,!0);let u=r.name("valid");t.subschema({schema:a,schemaPath:We.nil,errSchemaPath:`${s.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}Mt.macroKeywordCode=Ak;function Ck(t,e){var r;let{gen:n,keyword:o,schema:i,parentSchema:s,$data:a,it:c}=t;Mk(c,e);let u=!a&&e.compile?e.compile.call(c.self,i,s,c):e.validate,l=vg(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&&_g(t),g(()=>t.error());else{let y=e.async?h():p();e.modifying&&_g(t),g(()=>jk(t,y))}}function h(){let y=n.let("ruleErrs",null);return n.try(()=>m((0,We._)`await `),_=>n.assign(d,!1).if((0,We._)`${_} instanceof ${c.ValidationError}`,()=>n.assign(y,(0,We._)`${_}.errors`),()=>n.throw(_))),y}function p(){let y=(0,We._)`${l}.errors`;return n.assign(y,null),m(We.nil),y}function m(y=e.async?(0,We._)`await `:We.nil){let _=c.opts.passContext?Jr.default.this:Jr.default.self,w=!("compile"in e&&!a||e.schema===!1);n.assign(d,(0,We._)`${y}${(0,Ok.callValidateCode)(t,l,_,w)}`,e.modifying)}function g(y){var _;n.if((0,We.not)((_=e.valid)!==null&&_!==void 0?_:d),y)}}Mt.funcKeywordCode=Ck;function _g(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,We._)`${n.parentData}[${n.parentDataProperty}]`))}function jk(t,e){let{gen:r}=t;r.if((0,We._)`Array.isArray(${e})`,()=>{r.assign(Jr.default.vErrors,(0,We._)`${Jr.default.vErrors} === null ? ${e} : ${Jr.default.vErrors}.concat(${e})`).assign(Jr.default.errors,(0,We._)`${Jr.default.vErrors}.length`),(0,Nk.extendErrors)(t)},()=>t.error())}function Mk({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function vg(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,We.stringify)(r)})}function Zk(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")}Mt.validSchemaType=Zk;function Dk({schema:t,opts:e,self:r,errSchemaPath:n},o,i){if(Array.isArray(o.keyword)?!o.keyword.includes(i):o.keyword!==i)throw new Error("ajv implementation error");let s=o.dependencies;if(s?.some(a=>!Object.prototype.hasOwnProperty.call(t,a)))throw new Error(`parent schema must have dependencies of ${i}: ${s.join(",")}`);if(o.validateSchema&&!o.validateSchema(t[i])){let c=`keyword "${i}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}Mt.validateKeywordUsage=Dk});var $g=E(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.extendSubschemaMode=mr.extendSubschemaData=mr.getSubschema=void 0;var Zt=K(),wg=ne();function qk(t,{keyword:e,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:i,topSchemaRef:s}){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,Zt._)`${t.schemaPath}${(0,Zt.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0,Zt._)`${t.schemaPath}${(0,Zt.getProperty)(e)}${(0,Zt.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,wg.escapeFragment)(r)}`}}if(n!==void 0){if(o===void 0||i===void 0||s===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:o,topSchemaRef:s,errSchemaPath:i}}throw new Error('either "keyword" or "schema" must be passed')}mr.getSubschema=qk;function Vk(t,e,{dataProp:r,dataPropType:n,data:o,dataTypes:i,propertyName:s}){if(o!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=e;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=e,f=a.let("data",(0,Zt._)`${e.data}${(0,Zt.getProperty)(r)}`,!0);c(f),t.errorPath=(0,Zt.str)`${u}${(0,wg.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,Zt._)`${r}`,t.dataPathArr=[...l,t.parentDataProperty]}if(o!==void 0){let u=o instanceof Zt.Name?o:a.let("data",o,!0);c(u),s!==void 0&&(t.propertyName=s)}i&&(t.dataTypes=i);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]}}mr.extendSubschemaData=Vk;function Lk(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:i}){n!==void 0&&(t.compositeRule=n),o!==void 0&&(t.createErrors=o),i!==void 0&&(t.allErrors=i),t.jtdDiscriminator=e,t.jtdMetadata=r}mr.extendSubschemaMode=Lk});var Ul=E((sM,xg)=>{"use strict";xg.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,i;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(i=Object.keys(e),n=i.length,n!==Object.keys(r).length)return!1;for(o=n;o--!==0;)if(!Object.prototype.hasOwnProperty.call(r,i[o]))return!1;for(o=n;o--!==0;){var s=i[o];if(!t(e[s],r[s]))return!1}return!0}return e!==e&&r!==r}});var kg=E((aM,Sg)=>{"use strict";var hr=Sg.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(){};As(e,n,o,t,"",t)};hr.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};hr.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};hr.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};hr.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 As(t,e,r,n,o,i,s,a,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,o,i,s,a,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in hr.arrayKeywords)for(var f=0;f<d.length;f++)As(t,e,r,d[f],o+"/"+l+"/"+f,i,o,l,n,f)}else if(l in hr.propsKeywords){if(d&&typeof d=="object")for(var h in d)As(t,e,r,d[h],o+"/"+l+"/"+Uk(h),i,o,l,n,h)}else(l in hr.keywords||t.allKeys&&!(l in hr.skipKeywords))&&As(t,e,r,d,o+"/"+l,i,o,l,n)}r(n,o,i,s,a,c,u)}}function Uk(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var Lo=E(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.getSchemaRefs=nt.resolveUrl=nt.normalizeId=nt._getFullPath=nt.getFullPath=nt.inlineRef=void 0;var Fk=ne(),Bk=Ul(),Hk=kg(),Gk=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Jk(t,e=!0){return typeof t=="boolean"?!0:e===!0?!Fl(t):e?Rg(t)<=e:!1}nt.inlineRef=Jk;var Kk=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Fl(t){for(let e in t){if(Kk.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(Fl)||typeof r=="object"&&Fl(r))return!0}return!1}function Rg(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!Gk.has(r)&&(typeof t[r]=="object"&&(0,Fk.eachItem)(t[r],n=>e+=Rg(n)),e===1/0))return 1/0}return e}function Tg(t,e="",r){r!==!1&&(e=An(e));let n=t.parse(e);return zg(t,n)}nt.getFullPath=Tg;function zg(t,e){return t.serialize(e).split("#")[0]+"#"}nt._getFullPath=zg;var Wk=/#\/?$/;function An(t){return t?t.replace(Wk,""):""}nt.normalizeId=An;function Yk(t,e,r){return r=An(r),t.resolve(e,r)}nt.resolveUrl=Yk;var Qk=/^[a-z_][-a-z0-9._]*$/i;function Xk(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=An(t[r]||e),i={"":o},s=Tg(n,o,!1),a={},c=new Set;return Hk(t,{allKeys:!0},(d,f,h,p)=>{if(p===void 0)return;let m=s+f,g=i[p];typeof d[r]=="string"&&(g=y.call(this,d[r])),_.call(this,d.$anchor),_.call(this,d.$dynamicAnchor),i[f]=g;function y(w){let T=this.opts.uriResolver.resolve;if(w=An(g?T(g,w):w),c.has(w))throw l(w);c.add(w);let O=this.refs[w];return typeof O=="string"&&(O=this.refs[O]),typeof O=="object"?u(d,O.schema,w):w!==An(m)&&(w[0]==="#"?(u(d,a[w],w),a[w]=d):this.refs[w]=m),w}function _(w){if(typeof w=="string"){if(!Qk.test(w))throw new Error(`invalid anchor "${w}"`);y.call(this,`#${w}`)}}}),a;function u(d,f,h){if(f!==void 0&&!Bk(d,f))throw l(h)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}nt.getSchemaRefs=Xk});var Bo=E(gr=>{"use strict";Object.defineProperty(gr,"__esModule",{value:!0});gr.getData=gr.KeywordCxt=gr.validateFunctionCode=void 0;var Ng=cg(),Eg=Vo(),Hl=jl(),Cs=Vo(),eR=hg(),Fo=bg(),Bl=$g(),M=K(),B=Yt(),tR=Lo(),Qt=ne(),Uo=qo();function rR(t){if(jg(t)&&(Mg(t),Cg(t))){iR(t);return}Ag(t,()=>(0,Ng.topBoolOrEmptySchema)(t))}gr.validateFunctionCode=rR;function Ag({gen:t,validateName:e,schema:r,schemaEnv:n,opts:o},i){o.code.es5?t.func(e,(0,M._)`${B.default.data}, ${B.default.valCxt}`,n.$async,()=>{t.code((0,M._)`"use strict"; ${Ig(r,o)}`),oR(t,o),t.code(i)}):t.func(e,(0,M._)`${B.default.data}, ${nR(o)}`,n.$async,()=>t.code(Ig(r,o)).code(i))}function nR(t){return(0,M._)`{${B.default.instancePath}="", ${B.default.parentData}, ${B.default.parentDataProperty}, ${B.default.rootData}=${B.default.data}${t.dynamicRef?(0,M._)`, ${B.default.dynamicAnchors}={}`:M.nil}}={}`}function oR(t,e){t.if(B.default.valCxt,()=>{t.var(B.default.instancePath,(0,M._)`${B.default.valCxt}.${B.default.instancePath}`),t.var(B.default.parentData,(0,M._)`${B.default.valCxt}.${B.default.parentData}`),t.var(B.default.parentDataProperty,(0,M._)`${B.default.valCxt}.${B.default.parentDataProperty}`),t.var(B.default.rootData,(0,M._)`${B.default.valCxt}.${B.default.rootData}`),e.dynamicRef&&t.var(B.default.dynamicAnchors,(0,M._)`${B.default.valCxt}.${B.default.dynamicAnchors}`)},()=>{t.var(B.default.instancePath,(0,M._)`""`),t.var(B.default.parentData,(0,M._)`undefined`),t.var(B.default.parentDataProperty,(0,M._)`undefined`),t.var(B.default.rootData,B.default.data),e.dynamicRef&&t.var(B.default.dynamicAnchors,(0,M._)`{}`)})}function iR(t){let{schema:e,opts:r,gen:n}=t;Ag(t,()=>{r.$comment&&e.$comment&&Dg(t),lR(t),n.let(B.default.vErrors,null),n.let(B.default.errors,0),r.unevaluated&&sR(t),Zg(t),fR(t)})}function sR(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,M._)`${r}.evaluated`),e.if((0,M._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,M._)`${t.evaluated}.props`,(0,M._)`undefined`)),e.if((0,M._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,M._)`${t.evaluated}.items`,(0,M._)`undefined`))}function Ig(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,M._)`/*# sourceURL=${r} */`:M.nil}function aR(t,e){if(jg(t)&&(Mg(t),Cg(t))){cR(t,e);return}(0,Ng.boolOrEmptySchema)(t,e)}function Cg({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 jg(t){return typeof t.schema!="boolean"}function cR(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&Dg(t),dR(t),pR(t);let i=n.const("_errs",B.default.errors);Zg(t,i),n.var(e,(0,M._)`${i} === ${B.default.errors}`)}function Mg(t){(0,Qt.checkUnknownRules)(t),uR(t)}function Zg(t,e){if(t.opts.jtd)return Pg(t,[],!1,e);let r=(0,Eg.getSchemaTypes)(t.schema),n=(0,Eg.coerceAndCheckDataType)(t,r);Pg(t,r,!n,e)}function uR(t){let{schema:e,errSchemaPath:r,opts:n,self:o}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,Qt.schemaHasRulesButRef)(e,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function lR(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Qt.checkStrictMode)(t,"default is ignored in the schema root")}function dR(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,tR.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function pR(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function Dg({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:o}){let i=r.$comment;if(o.$comment===!0)t.code((0,M._)`${B.default.self}.logger.log(${i})`);else if(typeof o.$comment=="function"){let s=(0,M.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,M._)`${B.default.self}.opts.$comment(${i}, ${s}, ${a}.schema)`)}}function fR(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:o,opts:i}=t;r.$async?e.if((0,M._)`${B.default.errors} === 0`,()=>e.return(B.default.data),()=>e.throw((0,M._)`new ${o}(${B.default.vErrors})`)):(e.assign((0,M._)`${n}.errors`,B.default.vErrors),i.unevaluated&&mR(t),e.return((0,M._)`${B.default.errors} === 0`))}function mR({gen:t,evaluated:e,props:r,items:n}){r instanceof M.Name&&t.assign((0,M._)`${e}.props`,r),n instanceof M.Name&&t.assign((0,M._)`${e}.items`,n)}function Pg(t,e,r,n){let{gen:o,schema:i,data:s,allErrors:a,opts:c,self:u}=t,{RULES:l}=u;if(i.$ref&&(c.ignoreKeywordsWithRef||!(0,Qt.schemaHasRulesButRef)(i,l))){o.block(()=>Vg(t,"$ref",l.all.$ref.definition));return}c.jtd||hR(t,e),o.block(()=>{for(let f of l.rules)d(f);d(l.post)});function d(f){(0,Hl.shouldUseGroup)(i,f)&&(f.type?(o.if((0,Cs.checkDataType)(f.type,s,c.strictNumbers)),Og(t,f),e.length===1&&e[0]===f.type&&r&&(o.else(),(0,Cs.reportTypeError)(t)),o.endIf()):Og(t,f),a||o.if((0,M._)`${B.default.errors} === ${n||0}`))}}function Og(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,eR.assignDefaults)(t,e.type),r.block(()=>{for(let i of e.rules)(0,Hl.shouldUseRule)(n,i)&&Vg(t,i.keyword,i.definition,e.type)})}function hR(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(gR(t,e),t.opts.allowUnionTypes||yR(t,e),_R(t,t.dataTypes))}function gR(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{qg(t.dataTypes,r)||Gl(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),bR(t,e)}}function yR(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Gl(t,"use allowUnionTypes to allow union type keyword")}function _R(t,e){let r=t.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,Hl.shouldUseRule)(t.schema,o)){let{type:i}=o.definition;i.length&&!i.some(s=>vR(e,s))&&Gl(t,`missing type "${i.join(",")}" for keyword "${n}"`)}}}function vR(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function qg(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function bR(t,e){let r=[];for(let n of t.dataTypes)qg(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function Gl(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,Qt.checkStrictMode)(t,e,t.opts.strictTypes)}var js=class{constructor(e,r,n){if((0,Fo.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,Qt.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",Lg(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Fo.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",B.default.errors))}result(e,r,n){this.failResult((0,M.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,M.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,M._)`${r} !== undefined && (${(0,M.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?Uo.reportExtraError:Uo.reportError)(this,this.def.error,r)}$dataError(){(0,Uo.reportError)(this,this.def.$dataError||Uo.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Uo.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=M.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=M.nil,r=M.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:i,def:s}=this;n.if((0,M.or)((0,M._)`${o} === undefined`,r)),e!==M.nil&&n.assign(e,!0),(i.length||s.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==M.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:o,it:i}=this;return(0,M.or)(s(),a());function s(){if(n.length){if(!(r instanceof M.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,M._)`${(0,Cs.checkDataTypes)(c,r,i.opts.strictNumbers,Cs.DataType.Wrong)}`}return M.nil}function a(){if(o.validateSchema){let c=e.scopeValue("validate$data",{ref:o.validateSchema});return(0,M._)`!${c}(${r})`}return M.nil}}subschema(e,r){let n=(0,Bl.getSubschema)(this.it,e);(0,Bl.extendSubschemaData)(n,this.it,e),(0,Bl.extendSubschemaMode)(n,e);let o={...this.it,...n,items:void 0,props:void 0};return aR(o,r),o}mergeEvaluated(e,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=Qt.mergeEvaluated.props(o,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=Qt.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,M.Name)),!0}};gr.KeywordCxt=js;function Vg(t,e,r,n){let o=new js(t,r,e);"code"in r?r.code(o,n):o.$data&&r.validate?(0,Fo.funcKeywordCode)(o,r):"macro"in r?(0,Fo.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,Fo.funcKeywordCode)(o,r)}var wR=/^\/(?:[^~]|~0|~1)*$/,$R=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Lg(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,i;if(t==="")return B.default.rootData;if(t[0]==="/"){if(!wR.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,i=B.default.rootData}else{let u=$R.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(i=r[e-l],!o)return i}let s=i,a=o.split("/");for(let u of a)u&&(i=(0,M._)`${i}${(0,M.getProperty)((0,Qt.unescapeJsonPointer)(u))}`,s=(0,M._)`${s} && ${i}`);return s;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}gr.getData=Lg});var Ms=E(Kl=>{"use strict";Object.defineProperty(Kl,"__esModule",{value:!0});var Jl=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};Kl.default=Jl});var Ho=E(Ql=>{"use strict";Object.defineProperty(Ql,"__esModule",{value:!0});var Wl=Lo(),Yl=class extends Error{constructor(e,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,Wl.resolveUrl)(e,r,n),this.missingSchema=(0,Wl.normalizeId)((0,Wl.getFullPath)(e,this.missingRef))}};Ql.default=Yl});var Ds=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(),xR=Ms(),Kr=Yt(),Tt=Lo(),Ug=ne(),SR=Bo(),Cn=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=Cn;function ed(t){let e=Fg.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:i}=this.opts,s=new Rt.CodeGen(this.scope,{es5:n,lines:o,ownProperties:i}),a;t.$async&&(a=s.scopeValue("Error",{ref:xR.default,code:(0,Rt._)`require("ajv/dist/runtime/validation_error").default`}));let c=s.scopeName("validate");t.validateName=c;let u={gen:s,allErrors:this.opts.allErrors,data:Kr.default.data,parentData:Kr.default.parentData,parentDataProperty:Kr.default.parentDataProperty,dataNames:[Kr.default.data],dataPathArr:[Rt.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:s.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,SR.validateFunctionCode)(u),s.optimize(this.opts.code.optimize);let d=s.toString();l=`${s.scopeRefs(Kr.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let h=new Function(`${Kr.default.self}`,`${Kr.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:s._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=ed;function kR(t,e,r){var n;r=(0,Tt.resolveUrl)(this.opts.uriResolver,e,r);let o=t.refs[r];if(o)return o;let i=zR.call(this,t,r);if(i===void 0){let s=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;s&&(i=new Cn({schema:s,schemaId:a,root:t,baseId:e}))}if(i!==void 0)return t.refs[r]=RR.call(this,i)}yt.resolveRef=kR;function RR(t){return(0,Tt.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:ed.call(this,t)}function Fg(t){for(let e of this._compilations)if(TR(e,t))return e}yt.getCompilingSchema=Fg;function TR(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function zR(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||Zs.call(this,t,e)}function Zs(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 Xl.call(this,r,t);let i=(0,Tt.normalizeId)(n),s=this.refs[i]||this.schemas[i];if(typeof s=="string"){let a=Zs.call(this,t,s);return typeof a?.schema!="object"?void 0:Xl.call(this,r,a)}if(typeof s?.schema=="object"){if(s.validate||ed.call(this,s),i===(0,Tt.normalizeId)(e)){let{schema:a}=s,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,Tt.resolveUrl)(this.opts.uriResolver,o,u)),new Cn({schema:a,schemaId:c,root:t,baseId:o})}return Xl.call(this,r,s)}}yt.resolveSchema=Zs;var ER=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Xl(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,Ug.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!ER.has(a)&&u&&(e=(0,Tt.resolveUrl)(this.opts.uriResolver,e,u))}let i;if(typeof r!="boolean"&&r.$ref&&!(0,Ug.schemaHasRulesButRef)(r,this.RULES)){let a=(0,Tt.resolveUrl)(this.opts.uriResolver,e,r.$ref);i=Zs.call(this,n,a)}let{schemaId:s}=this.opts;if(i=i||new Cn({schema:r,schemaId:s,root:n,baseId:e}),i.schema!==i.root.schema)return i}});var Bg=E((fM,IR)=>{IR.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 nd=E((mM,Yg)=>{"use strict";var PR=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Gg=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),td=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),Jg=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),OR=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function rd(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 NR=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Hg(t){return t.length=0,!0}function AR(t,e,r){if(t.length){let n=rd(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function CR(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],i=!1,s=!1,a=AR;for(let c=0;c<t.length;c++){let u=t[c];if(!(u==="["||u==="]"))if(u===":"){if(i===!0&&(s=!0),!a(o,n,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(i=!0),n.push(":");continue}else if(u==="%"){if(!a(o,n,r))break;a=Hg}else{o.push(u);continue}}return o.length&&(a===Hg?r.zone=o.join(""):s?n.push(o.join("")):n.push(rd(o))),r.address=n.join(""),r}function Kg(t){if(jR(t,":")<2)return{host:t,isIPV6:!1};let e=CR(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 jR(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function MR(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 ZR={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},DR=/[@/?#:]/g,qR=/[@/?#]/g;function Wg(t,e){let r=e?qR:DR;return r.lastIndex=0,t.replace(r,n=>ZR[n])}function VR(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(td(o)){let i=o.toUpperCase(),s=String.fromCharCode(parseInt(i,16));e&&Jg(s)?r+=s:r+="%"+i,n+=2;continue}}r+=t[n]}return r}function LR(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(td(n)){let o=n.toUpperCase(),i=String.fromCharCode(parseInt(o,16));i!=="."&&Jg(i)?e+=i:e+="%"+o,r+=2;continue}}OR(t[r])?e+=t[r]:e+=escape(t[r])}return e}function UR(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(td(n)){e+="%"+n.toUpperCase(),r+=2;continue}}e+=escape(t[r])}return e}function FR(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!Gg(r)){let n=Kg(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=Wg(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}Yg.exports={nonSimpleDomain:NR,recomposeAuthority:FR,reescapeHostDelimiters:Wg,normalizePercentEncoding:VR,normalizePathEncoding:LR,escapePreservingEscapes:UR,removeDotSegments:MR,isIPv4:Gg,isUUID:PR,normalizeIPv6:Kg,stringArrayToHexStripped:rd}});var ry=E((hM,ty)=>{"use strict";var{isUUID:BR}=nd(),HR=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,GR=["http","https","ws","wss","urn","urn:uuid"];function JR(t){return GR.indexOf(t)!==-1}function od(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 Qg(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function Xg(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 KR(t){return t.secure=od(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function WR(t){if((t.port===(od(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 YR(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(HR);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}`,i=id(o);t.path=void 0,i&&(t=i.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function QR(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}`,i=id(o);i&&(t=i.serialize(t,e));let s=t,a=t.nss;return s.path=`${n||e.nid}:${a}`,e.skipEscape=!0,s}function XR(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!BR(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function eT(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var ey={scheme:"http",domainHost:!0,parse:Qg,serialize:Xg},tT={scheme:"https",domainHost:ey.domainHost,parse:Qg,serialize:Xg},qs={scheme:"ws",domainHost:!0,parse:KR,serialize:WR},rT={scheme:"wss",domainHost:qs.domainHost,parse:qs.parse,serialize:qs.serialize},nT={scheme:"urn",parse:YR,serialize:QR,skipNormalize:!0},oT={scheme:"urn:uuid",parse:XR,serialize:eT,skipNormalize:!0},Vs={http:ey,https:tT,ws:qs,wss:rT,urn:nT,"urn:uuid":oT};Object.setPrototypeOf(Vs,null);function id(t){return t&&(Vs[t]||Vs[t.toLowerCase()])||void 0}ty.exports={wsIsSecure:od,SCHEMES:Vs,isValidSchemeName:JR,getSchemeHandler:id}});var cy=E((gM,Ls)=>{"use strict";var{normalizeIPv6:iT,removeDotSegments:Go,recomposeAuthority:sT,normalizePercentEncoding:aT,normalizePathEncoding:cT,escapePreservingEscapes:uT,reescapeHostDelimiters:lT,isIPv4:dT,nonSimpleDomain:pT}=nd(),{SCHEMES:fT,getSchemeHandler:oy}=ry();function mT(t,e){return typeof t=="string"?t=bT(t,e):typeof t=="object"&&(t=jn(Wr(t,e),e)),t}function hT(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=iy(jn(t,n),jn(e,n),n,!0);return n.skipEscape=!0,Wr(o,n)}function iy(t,e,r,n){let o={};return n||(t=jn(Wr(t,r),r),e=jn(Wr(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=Go(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=Go(e.path||""),o.query=e.query):(e.path?(e.path[0]==="/"?o.path=Go(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=Go(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 gT(t,e,r){let n=ny(t,r),o=ny(e,r);return n!==void 0&&o!==void 0&&n.toLowerCase()===o.toLowerCase()}function Wr(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=[],i=oy(n.scheme||r.scheme);i&&i.serialize&&i.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=aT(r.path):(r.path=uT(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&o.push(r.scheme,":");let s=sT(r);if(s!==void 0&&(n.reference!=="suffix"&&o.push("//"),o.push(s),r.path&&r.path[0]!=="/"&&o.push("/")),r.path!==void 0){let a=r.path;!n.absolutePath&&(!i||!i.absolutePath)&&(a=Go(a)),s===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),o.push(a)}return r.query!==void 0&&o.push("?",r.query),r.fragment!==void 0&&o.push("#",r.fragment),o.join("")}var yT=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u,_T=/^(?:[^#/:?]+:)?\/\/([^/?#]*)/;function vT(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 sy(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,i=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let s=t.match(_T);s!==null&&s[1].indexOf("\\")!==-1&&(n.error="URI authority must not contain a literal backslash.",o=!0);let a=t.match(yT);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=vT(n,a);if(c!==void 0&&(n.error=n.error||c,o=!0),n.host)if(dT(n.host)===!1){let d=iT(n.host);n.host=d.host.toLowerCase(),i=d.isIPV6}else i=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let u=oy(r.scheme||n.scheme);if(!r.unicodeSupport&&(!u||!u.unicodeSupport)&&n.host&&(r.domainHost||u&&u.domainHost)&&i===!1&&pT(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=lT(unescape(n.host),i))),n.path&&(n.path=cT(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 jn(t,e){return sy(t,e).parsed}function bT(t,e){return ay(t,e).normalized}function ay(t,e){let{parsed:r,malformedAuthorityOrPort:n}=sy(t,e);return{normalized:n?t:Wr(r,e),malformedAuthorityOrPort:n}}function ny(t,e){if(typeof t=="string"){let{normalized:r,malformedAuthorityOrPort:n}=ay(t,e);return n?void 0:r}if(typeof t=="object")return Wr(t,e)}var sd={SCHEMES:fT,normalize:mT,resolve:hT,resolveComponent:iy,equal:gT,serialize:Wr,parse:jn};Ls.exports=sd;Ls.exports.default=sd;Ls.exports.fastUri=sd});var ly=E(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});var uy=cy();uy.code='require("ajv/dist/runtime/uri").default';ad.default=uy});var _y=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 wT=Bo();Object.defineProperty(Me,"KeywordCxt",{enumerable:!0,get:function(){return wT.KeywordCxt}});var Mn=K();Object.defineProperty(Me,"_",{enumerable:!0,get:function(){return Mn._}});Object.defineProperty(Me,"str",{enumerable:!0,get:function(){return Mn.str}});Object.defineProperty(Me,"stringify",{enumerable:!0,get:function(){return Mn.stringify}});Object.defineProperty(Me,"nil",{enumerable:!0,get:function(){return Mn.nil}});Object.defineProperty(Me,"Name",{enumerable:!0,get:function(){return Mn.Name}});Object.defineProperty(Me,"CodeGen",{enumerable:!0,get:function(){return Mn.CodeGen}});var $T=Ms(),hy=Ho(),xT=Cl(),Jo=Ds(),ST=K(),Ko=Lo(),Us=Vo(),ud=ne(),dy=Bg(),kT=ly(),gy=(t,e)=>new RegExp(t,e);gy.code="new RegExp";var RT=["removeAdditional","useDefaults","coerceTypes"],TT=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),zT={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."},ET={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},py=200;function IT(t){var e,r,n,o,i,s,a,c,u,l,d,f,h,p,m,g,y,_,w,T,O,_e,ve,it,Le;let to=t.strict,Na=(e=t.code)===null||e===void 0?void 0:e.optimize,Wp=Na===!0||Na===void 0?1:Na||0,Yp=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:gy,fb=(o=t.uriResolver)!==null&&o!==void 0?o:kT.default;return{strictSchema:(s=(i=t.strictSchema)!==null&&i!==void 0?i:to)!==null&&s!==void 0?s:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:to)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:to)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=t.strictTuples)!==null&&d!==void 0?d:to)!==null&&f!==void 0?f:"log",strictRequired:(p=(h=t.strictRequired)!==null&&h!==void 0?h:to)!==null&&p!==void 0?p:!1,code:t.code?{...t.code,optimize:Wp,regExp:Yp}:{optimize:Wp,regExp:Yp},loopRequired:(m=t.loopRequired)!==null&&m!==void 0?m:py,loopEnum:(g=t.loopEnum)!==null&&g!==void 0?g:py,meta:(y=t.meta)!==null&&y!==void 0?y:!0,messages:(_=t.messages)!==null&&_!==void 0?_:!0,inlineRefs:(w=t.inlineRefs)!==null&&w!==void 0?w:!0,schemaId:(T=t.schemaId)!==null&&T!==void 0?T:"$id",addUsedSchema:(O=t.addUsedSchema)!==null&&O!==void 0?O:!0,validateSchema:(_e=t.validateSchema)!==null&&_e!==void 0?_e:!0,validateFormats:(ve=t.validateFormats)!==null&&ve!==void 0?ve:!0,unicodeRegExp:(it=t.unicodeRegExp)!==null&&it!==void 0?it:!0,int32range:(Le=t.int32range)!==null&&Le!==void 0?Le:!0,uriResolver:fb}}var Wo=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,...IT(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new ST.ValueScope({scope:{},prefixes:TT,es5:r,lines:n}),this.logger=jT(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,xT.getRules)(),fy.call(this,zT,e,"NOT SUPPORTED"),fy.call(this,ET,e,"DEPRECATED","warn"),this._metaOpts=AT.call(this),e.formats&&OT.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&NT.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),PT.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=dy;n==="id"&&(o={...dy},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 i.call(this,l.$schema);let f=this._addSchema(l,d);return f.validate||s.call(this,f)}async function i(l){l&&!this.getSchema(l)&&await o.call(this,{$ref:l},!0)}async function s(l){try{return this._compileSchemaEnv(l)}catch(d){if(!(d instanceof hy.default))throw d;return a.call(this,d),await c.call(this,d.missingSchema),s.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 i.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 s of e)this.addSchema(s,void 0,n,o);return this}let i;if(typeof e=="object"){let{schemaId:s}=this.opts;if(i=e[s],i!==void 0&&typeof i!="string")throw new Error(`schema ${s} must be string`)}return r=(0,Ko.normalizeId)(r||i),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 i="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(i);else throw new Error(i)}return o}getSchema(e){let r;for(;typeof(r=my.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,o=new Jo.SchemaEnv({schema:{},schemaId:n});if(r=Jo.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=my.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,Ko.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(ZT.call(this,n,r),!r)return(0,ud.eachItem)(n,i=>cd.call(this,i)),this;qT.call(this,r);let o={...r,type:(0,Us.getJSONTypes)(r.type),schemaType:(0,Us.getJSONTypes)(r.schemaType)};return(0,ud.eachItem)(n,o.type.length===0?i=>cd.call(this,i,o):i=>o.type.forEach(s=>cd.call(this,i,o,s))),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(i=>i.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,i)=>o+r+i)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let o of r){let i=o.split("/").slice(1),s=e;for(let a of i)s=s[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:u}=c.definition,l=s[a];u&&l&&(s[a]=yy(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,i=this.opts.addUsedSchema){let s,{schemaId:a}=this.opts;if(typeof e=="object")s=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,Ko.normalizeId)(s||n);let u=Ko.getSchemaRefs.call(this,e,n);return c=new Jo.SchemaEnv({schema:e,schemaId:a,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),i&&!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):Jo.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{Jo.compileSchema.call(this,e)}finally{this.opts=r}}};Wo.ValidationError=$T.default;Wo.MissingRefError=hy.default;Me.default=Wo;function fy(t,e,r,n="error"){for(let o in t){let i=o;i in e&&this.logger[n](`${r}: option ${o}. ${t[i]}`)}}function my(t){return t=(0,Ko.normalizeId)(t),this.schemas[t]||this.refs[t]}function PT(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function OT(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function NT(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 AT(){let t={...this.opts};for(let e of RT)delete t[e];return t}var CT={log(){},warn(){},error(){}};function jT(t){if(t===!1)return CT;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 MT=/^[a-z_$][a-z0-9_$:-]*$/i;function ZT(t,e){let{RULES:r}=this;if((0,ud.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!MT.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 cd(t,e,r){var n;let o=e?.post;if(r&&o)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:i}=this,s=o?i.post:i.rules.find(({type:c})=>c===r);if(s||(s={type:r,rules:[]},i.rules.push(s)),i.keywords[t]=!0,!e)return;let a={keyword:t,definition:{...e,type:(0,Us.getJSONTypes)(e.type),schemaType:(0,Us.getJSONTypes)(e.schemaType)}};e.before?DT.call(this,s,a,e.before):s.rules.push(a),i.all[t]=a,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function DT(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 qT(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=yy(e)),t.validateSchema=this.compile(e,!0))}var VT={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function yy(t){return{anyOf:[t,VT]}}});var vy=E(ld=>{"use strict";Object.defineProperty(ld,"__esModule",{value:!0});var LT={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};ld.default=LT});var xy=E(Yr=>{"use strict";Object.defineProperty(Yr,"__esModule",{value:!0});Yr.callRef=Yr.getValidate=void 0;var UT=Ho(),by=gt(),ot=K(),Zn=Yt(),wy=Ds(),Fs=ne(),FT={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:o,schemaEnv:i,validateName:s,opts:a,self:c}=n,{root:u}=i;if((r==="#"||r==="#/")&&o===u.baseId)return d();let l=wy.resolveRef.call(c,u,o,r);if(l===void 0)throw new UT.default(n.opts.uriResolver,o,r);if(l instanceof wy.SchemaEnv)return f(l);return h(l);function d(){if(i===u)return Bs(t,s,i,i.$async);let p=e.scopeValue("root",{ref:u});return Bs(t,(0,ot._)`${p}.validate`,u,u.$async)}function f(p){let m=$y(t,p);Bs(t,m,p,p.$async)}function h(p){let m=e.scopeValue("schema",a.code.source===!0?{ref:p,code:(0,ot.stringify)(p)}:{ref:p}),g=e.name("valid"),y=t.subschema({schema:p,dataTypes:[],schemaPath:ot.nil,topSchemaRef:m,errSchemaPath:r},g);t.mergeEvaluated(y),t.ok(g)}}};function $y(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,ot._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Yr.getValidate=$y;function Bs(t,e,r,n){let{gen:o,it:i}=t,{allErrors:s,schemaEnv:a,opts:c}=i,u=c.passContext?Zn.default.this:ot.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,ot._)`await ${(0,by.callValidateCode)(t,e,u)}`),h(e),s||o.assign(p,!0)},m=>{o.if((0,ot._)`!(${m} instanceof ${i.ValidationError})`,()=>o.throw(m)),f(m),s||o.assign(p,!1)}),t.ok(p)}function d(){t.result((0,by.callValidateCode)(t,e,u),()=>h(e),()=>f(e))}function f(p){let m=(0,ot._)`${p}.errors`;o.assign(Zn.default.vErrors,(0,ot._)`${Zn.default.vErrors} === null ? ${m} : ${Zn.default.vErrors}.concat(${m})`),o.assign(Zn.default.errors,(0,ot._)`${Zn.default.vErrors}.length`)}function h(p){var m;if(!i.opts.unevaluated)return;let g=(m=r?.validate)===null||m===void 0?void 0:m.evaluated;if(i.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(i.props=Fs.mergeEvaluated.props(o,g.props,i.props));else{let y=o.var("props",(0,ot._)`${p}.evaluated.props`);i.props=Fs.mergeEvaluated.props(o,y,i.props,ot.Name)}if(i.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(i.items=Fs.mergeEvaluated.items(o,g.items,i.items));else{let y=o.var("items",(0,ot._)`${p}.evaluated.items`);i.items=Fs.mergeEvaluated.items(o,y,i.items,ot.Name)}}}Yr.callRef=Bs;Yr.default=FT});var Sy=E(dd=>{"use strict";Object.defineProperty(dd,"__esModule",{value:!0});var BT=vy(),HT=xy(),GT=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",BT.default,HT.default];dd.default=GT});var ky=E(pd=>{"use strict";Object.defineProperty(pd,"__esModule",{value:!0});var Hs=K(),yr=Hs.operators,Gs={maximum:{okStr:"<=",ok:yr.LTE,fail:yr.GT},minimum:{okStr:">=",ok:yr.GTE,fail:yr.LT},exclusiveMaximum:{okStr:"<",ok:yr.LT,fail:yr.GTE},exclusiveMinimum:{okStr:">",ok:yr.GT,fail:yr.LTE}},JT={message:({keyword:t,schemaCode:e})=>(0,Hs.str)`must be ${Gs[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Hs._)`{comparison: ${Gs[t].okStr}, limit: ${e}}`},KT={keyword:Object.keys(Gs),type:"number",schemaType:"number",$data:!0,error:JT,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,Hs._)`${r} ${Gs[e].fail} ${n} || isNaN(${r})`)}};pd.default=KT});var Ry=E(fd=>{"use strict";Object.defineProperty(fd,"__esModule",{value:!0});var Yo=K(),WT={message:({schemaCode:t})=>(0,Yo.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,Yo._)`{multipleOf: ${t}}`},YT={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:WT,code(t){let{gen:e,data:r,schemaCode:n,it:o}=t,i=o.opts.multipleOfPrecision,s=e.let("res"),a=i?(0,Yo._)`Math.abs(Math.round(${s}) - ${s}) > 1e-${i}`:(0,Yo._)`${s} !== parseInt(${s})`;t.fail$data((0,Yo._)`(${n} === 0 || (${s} = ${r}/${n}, ${a}))`)}};fd.default=YT});var zy=E(md=>{"use strict";Object.defineProperty(md,"__esModule",{value:!0});function Ty(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}md.default=Ty;Ty.code='require("ajv/dist/runtime/ucs2length").default'});var Ey=E(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});var Qr=K(),QT=ne(),XT=zy(),ez={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,Qr.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,Qr._)`{limit: ${t}}`},tz={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:ez,code(t){let{keyword:e,data:r,schemaCode:n,it:o}=t,i=e==="maxLength"?Qr.operators.GT:Qr.operators.LT,s=o.opts.unicode===!1?(0,Qr._)`${r}.length`:(0,Qr._)`${(0,QT.useFunc)(t.gen,XT.default)}(${r})`;t.fail$data((0,Qr._)`${s} ${i} ${n}`)}};hd.default=tz});var Iy=E(gd=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});var rz=gt(),nz=ne(),Dn=K(),oz={message:({schemaCode:t})=>(0,Dn.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,Dn._)`{pattern: ${t}}`},iz={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:oz,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:i,it:s}=t,a=s.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=s.opts.code,u=c.code==="new RegExp"?(0,Dn._)`new RegExp`:(0,nz.useFunc)(e,c),l=e.let("valid");e.try(()=>e.assign(l,(0,Dn._)`${u}(${i}, ${a}).test(${r})`),()=>e.assign(l,!1)),t.fail$data((0,Dn._)`!${l}`)}else{let c=(0,rz.usePattern)(t,o);t.fail$data((0,Dn._)`!${c}.test(${r})`)}}};gd.default=iz});var Py=E(yd=>{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});var Qo=K(),sz={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,Qo.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,Qo._)`{limit: ${t}}`},az={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:sz,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxProperties"?Qo.operators.GT:Qo.operators.LT;t.fail$data((0,Qo._)`Object.keys(${r}).length ${o} ${n}`)}};yd.default=az});var Oy=E(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});var Xo=gt(),ei=K(),cz=ne(),uz={message:({params:{missingProperty:t}})=>(0,ei.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,ei._)`{missingProperty: ${t}}`},lz={keyword:"required",type:"object",schemaType:"array",$data:!0,error:uz,code(t){let{gen:e,schema:r,schemaCode:n,data:o,$data:i,it:s}=t,{opts:a}=s;if(!i&&r.length===0)return;let c=r.length>=a.loopRequired;if(s.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=s.schemaEnv.baseId+s.errSchemaPath,y=`required property "${m}" is not defined at "${g}" (strictRequired)`;(0,cz.checkStrictMode)(s,y,s.opts.strictRequired)}}function u(){if(c||i)t.block$data(ei.nil,d);else for(let h of r)(0,Xo.checkReportMissingProp)(t,h)}function l(){let h=e.let("missing");if(c||i){let p=e.let("valid",!0);t.block$data(p,()=>f(h,p)),t.ok(p)}else e.if((0,Xo.checkMissingProp)(t,r,h)),(0,Xo.reportMissingProp)(t,h),e.else()}function d(){e.forOf("prop",n,h=>{t.setParams({missingProperty:h}),e.if((0,Xo.noPropertyInData)(e,o,h,a.ownProperties),()=>t.error())})}function f(h,p){t.setParams({missingProperty:h}),e.forOf(h,n,()=>{e.assign(p,(0,Xo.propertyInData)(e,o,h,a.ownProperties)),e.if((0,ei.not)(p),()=>{t.error(),e.break()})},ei.nil)}}};_d.default=lz});var Ny=E(vd=>{"use strict";Object.defineProperty(vd,"__esModule",{value:!0});var ti=K(),dz={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,ti.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,ti._)`{limit: ${t}}`},pz={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:dz,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxItems"?ti.operators.GT:ti.operators.LT;t.fail$data((0,ti._)`${r}.length ${o} ${n}`)}};vd.default=pz});var Js=E(bd=>{"use strict";Object.defineProperty(bd,"__esModule",{value:!0});var Ay=Ul();Ay.code='require("ajv/dist/runtime/equal").default';bd.default=Ay});var Cy=E($d=>{"use strict";Object.defineProperty($d,"__esModule",{value:!0});var wd=Vo(),Ze=K(),fz=ne(),mz=Js(),hz={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}}`},gz={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:hz,code(t){let{gen:e,data:r,$data:n,schema:o,parentSchema:i,schemaCode:s,it:a}=t;if(!n&&!o)return;let c=e.let("valid"),u=i.items?(0,wd.getSchemaTypes)(i.items):[];t.block$data(c,l,(0,Ze._)`${s} === 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"),y=(0,wd.checkDataTypes)(u,g,a.opts.strictNumbers,wd.DataType.Wrong),_=e.const("indices",(0,Ze._)`{}`);e.for((0,Ze._)`;${p}--;`,()=>{e.let(g,(0,Ze._)`${r}[${p}]`),e.if(y,(0,Ze._)`continue`),u.length>1&&e.if((0,Ze._)`typeof ${g} == "string"`,(0,Ze._)`${g} += "_"`),e.if((0,Ze._)`typeof ${_}[${g}] == "number"`,()=>{e.assign(m,(0,Ze._)`${_}[${g}]`),t.error(),e.assign(c,!1).break()}).code((0,Ze._)`${_}[${g}] = ${p}`)})}function h(p,m){let g=(0,fz.useFunc)(e,mz.default),y=e.name("outer");e.label(y).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(y)})))}}};$d.default=gz});var jy=E(Sd=>{"use strict";Object.defineProperty(Sd,"__esModule",{value:!0});var xd=K(),yz=ne(),_z=Js(),vz={message:"must be equal to constant",params:({schemaCode:t})=>(0,xd._)`{allowedValue: ${t}}`},bz={keyword:"const",$data:!0,error:vz,code(t){let{gen:e,data:r,$data:n,schemaCode:o,schema:i}=t;n||i&&typeof i=="object"?t.fail$data((0,xd._)`!${(0,yz.useFunc)(e,_z.default)}(${r}, ${o})`):t.fail((0,xd._)`${i} !== ${r}`)}};Sd.default=bz});var My=E(kd=>{"use strict";Object.defineProperty(kd,"__esModule",{value:!0});var ri=K(),wz=ne(),$z=Js(),xz={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,ri._)`{allowedValues: ${t}}`},Sz={keyword:"enum",schemaType:"array",$data:!0,error:xz,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:i,it:s}=t;if(!n&&o.length===0)throw new Error("enum must have non-empty array");let a=o.length>=s.opts.loopEnum,c,u=()=>c??(c=(0,wz.useFunc)(e,$z.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",i);l=(0,ri.or)(...o.map((p,m)=>f(h,m)))}t.pass(l);function d(){e.assign(l,!1),e.forOf("v",i,h=>e.if((0,ri._)`${u()}(${r}, ${h})`,()=>e.assign(l,!0).break()))}function f(h,p){let m=o[p];return typeof m=="object"&&m!==null?(0,ri._)`${u()}(${r}, ${h}[${p}])`:(0,ri._)`${r} === ${m}`}}};kd.default=Sz});var Zy=E(Rd=>{"use strict";Object.defineProperty(Rd,"__esModule",{value:!0});var kz=ky(),Rz=Ry(),Tz=Ey(),zz=Iy(),Ez=Py(),Iz=Oy(),Pz=Ny(),Oz=Cy(),Nz=jy(),Az=My(),Cz=[kz.default,Rz.default,Tz.default,zz.default,Ez.default,Iz.default,Pz.default,Oz.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Nz.default,Az.default];Rd.default=Cz});var zd=E(ni=>{"use strict";Object.defineProperty(ni,"__esModule",{value:!0});ni.validateAdditionalItems=void 0;var Xr=K(),Td=ne(),jz={message:({params:{len:t}})=>(0,Xr.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Xr._)`{limit: ${t}}`},Mz={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:jz,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,Td.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}Dy(t,n)}};function Dy(t,e){let{gen:r,schema:n,data:o,keyword:i,it:s}=t;s.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,Td.alwaysValidSchema)(s,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:i,dataProp:l,dataPropType:Td.Type.Num},u),s.allErrors||r.if((0,Xr.not)(u),()=>r.break())})}}ni.validateAdditionalItems=Dy;ni.default=Mz});var Ed=E(oi=>{"use strict";Object.defineProperty(oi,"__esModule",{value:!0});oi.validateTuple=void 0;var qy=K(),Ks=ne(),Zz=gt(),Dz={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return Vy(t,"additionalItems",e);r.items=!0,!(0,Ks.alwaysValidSchema)(r,e)&&t.ok((0,Zz.validateArray)(t))}};function Vy(t,e,r=t.schema){let{gen:n,parentSchema:o,data:i,keyword:s,it:a}=t;l(o),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=Ks.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,qy._)`${i}.length`);r.forEach((d,f)=>{(0,Ks.alwaysValidSchema)(a,d)||(n.if((0,qy._)`${u} > ${f}`,()=>t.subschema({keyword:s,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=`"${s}" is ${p}-tuple, but minItems or maxItems/${e} are not specified or different at path "${h}"`;(0,Ks.checkStrictMode)(a,g,f.strictTuples)}}}oi.validateTuple=Vy;oi.default=Dz});var Ly=E(Id=>{"use strict";Object.defineProperty(Id,"__esModule",{value:!0});var qz=Ed(),Vz={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,qz.validateTuple)(t,"items")};Id.default=Vz});var Fy=E(Pd=>{"use strict";Object.defineProperty(Pd,"__esModule",{value:!0});var Uy=K(),Lz=ne(),Uz=gt(),Fz=zd(),Bz={message:({params:{len:t}})=>(0,Uy.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Uy._)`{limit: ${t}}`},Hz={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Bz,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,Lz.alwaysValidSchema)(n,e)&&(o?(0,Fz.validateAdditionalItems)(t,o):t.ok((0,Uz.validateArray)(t)))}};Pd.default=Hz});var By=E(Od=>{"use strict";Object.defineProperty(Od,"__esModule",{value:!0});var _t=K(),Ws=ne(),Gz={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}}`},Jz={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Gz,code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:i}=t,s,a,{minContains:c,maxContains:u}=n;i.opts.next?(s=c===void 0?1:c,a=u):s=1;let l=e.const("len",(0,_t._)`${o}.length`);if(t.setParams({min:s,max:a}),a===void 0&&s===0){(0,Ws.checkStrictMode)(i,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&s>a){(0,Ws.checkStrictMode)(i,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,Ws.alwaysValidSchema)(i,r)){let m=(0,_t._)`${l} >= ${s}`;a!==void 0&&(m=(0,_t._)`${m} && ${l} <= ${a}`),t.pass(m);return}i.items=!0;let d=e.name("valid");a===void 0&&s===1?h(d,()=>e.if(d,()=>e.break())):s===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,y=>{t.subschema({keyword:"contains",dataProp:y,dataPropType:Ws.Type.Num,compositeRule:!0},m),g()})}function p(m){e.code((0,_t._)`${m}++`),a===void 0?e.if((0,_t._)`${m} >= ${s}`,()=>e.assign(d,!0).break()):(e.if((0,_t._)`${m} > ${a}`,()=>e.assign(d,!1).break()),s===1?e.assign(d,!0):e.if((0,_t._)`${m} >= ${s}`,()=>e.assign(d,!0)))}}};Od.default=Jz});var Jy=E(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.validateSchemaDeps=Dt.validatePropertyDeps=Dt.error=void 0;var Nd=K(),Kz=ne(),ii=gt();Dt.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,Nd.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,Nd._)`{property: ${t},
8
- missingProperty: ${n},
9
- depsCount: ${e},
10
- deps: ${r}}`};var Wz={keyword:"dependencies",type:"object",schemaType:"object",error:Dt.error,code(t){let[e,r]=Yz(t);Hy(t,e),Gy(t,r)}};function Yz({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 Hy(t,e=t.schema){let{gen:r,data:n,it:o}=t;if(Object.keys(e).length===0)return;let i=r.let("missing");for(let s in e){let a=e[s];if(a.length===0)continue;let c=(0,ii.propertyInData)(r,n,s,o.opts.ownProperties);t.setParams({property:s,depsCount:a.length,deps:a.join(", ")}),o.allErrors?r.if(c,()=>{for(let u of a)(0,ii.checkReportMissingProp)(t,u)}):(r.if((0,Nd._)`${c} && (${(0,ii.checkMissingProp)(t,a,i)})`),(0,ii.reportMissingProp)(t,i),r.else())}}Dt.validatePropertyDeps=Hy;function Gy(t,e=t.schema){let{gen:r,data:n,keyword:o,it:i}=t,s=r.name("valid");for(let a in e)(0,Kz.alwaysValidSchema)(i,e[a])||(r.if((0,ii.propertyInData)(r,n,a,i.opts.ownProperties),()=>{let c=t.subschema({keyword:o,schemaProp:a},s);t.mergeValidEvaluated(c,s)},()=>r.var(s,!0)),t.ok(s))}Dt.validateSchemaDeps=Gy;Dt.default=Wz});var Wy=E(Ad=>{"use strict";Object.defineProperty(Ad,"__esModule",{value:!0});var Ky=K(),Qz=ne(),Xz={message:"property name must be valid",params:({params:t})=>(0,Ky._)`{propertyName: ${t.propertyName}}`},eE={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Xz,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,Qz.alwaysValidSchema)(o,r))return;let i=e.name("valid");e.forIn("key",n,s=>{t.setParams({propertyName:s}),t.subschema({keyword:"propertyNames",data:s,dataTypes:["string"],propertyName:s,compositeRule:!0},i),e.if((0,Ky.not)(i),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(i)}};Ad.default=eE});var jd=E(Cd=>{"use strict";Object.defineProperty(Cd,"__esModule",{value:!0});var Ys=gt(),zt=K(),tE=Yt(),Qs=ne(),rE={message:"must NOT have additional properties",params:({params:t})=>(0,zt._)`{additionalProperty: ${t.additionalProperty}}`},nE={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:rE,code(t){let{gen:e,schema:r,parentSchema:n,data:o,errsCount:i,it:s}=t;if(!i)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=s;if(s.props=!0,c.removeAdditional!=="all"&&(0,Qs.alwaysValidSchema)(s,r))return;let u=(0,Ys.allSchemaProperties)(n.properties),l=(0,Ys.allSchemaProperties)(n.patternProperties);d(),t.ok((0,zt._)`${i} === ${tE.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 y;if(u.length>8){let _=(0,Qs.schemaRefOrVal)(s,n.properties,"properties");y=(0,Ys.isOwnProperty)(e,_,g)}else u.length?y=(0,zt.or)(...u.map(_=>(0,zt._)`${g} === ${_}`)):y=zt.nil;return l.length&&(y=(0,zt.or)(y,...l.map(_=>(0,zt._)`${(0,Ys.usePattern)(t,_)}.test(${g})`))),(0,zt.not)(y)}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,Qs.alwaysValidSchema)(s,r)){let y=e.name("valid");c.removeAdditional==="failing"?(m(g,y,!1),e.if((0,zt.not)(y),()=>{t.reset(),h(g)})):(m(g,y),a||e.if((0,zt.not)(y),()=>e.break()))}}function m(g,y,_){let w={keyword:"additionalProperties",dataProp:g,dataPropType:Qs.Type.Str};_===!1&&Object.assign(w,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(w,y)}}};Cd.default=nE});var Xy=E(Zd=>{"use strict";Object.defineProperty(Zd,"__esModule",{value:!0});var oE=Bo(),Yy=gt(),Md=ne(),Qy=jd(),iE={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:i}=t;i.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&Qy.default.code(new oE.KeywordCxt(i,Qy.default,"additionalProperties"));let s=(0,Yy.allSchemaProperties)(r);for(let d of s)i.definedProperties.add(d);i.opts.unevaluated&&s.length&&i.props!==!0&&(i.props=Md.mergeEvaluated.props(e,(0,Md.toHash)(s),i.props));let a=s.filter(d=>!(0,Md.alwaysValidSchema)(i,r[d]));if(a.length===0)return;let c=e.name("valid");for(let d of a)u(d)?l(d):(e.if((0,Yy.propertyInData)(e,o,d,i.opts.ownProperties)),l(d),i.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function u(d){return i.opts.useDefaults&&!i.compositeRule&&r[d].default!==void 0}function l(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};Zd.default=iE});var n_=E(Dd=>{"use strict";Object.defineProperty(Dd,"__esModule",{value:!0});var e_=gt(),Xs=K(),t_=ne(),r_=ne(),sE={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:o,it:i}=t,{opts:s}=i,a=(0,e_.allSchemaProperties)(r),c=a.filter(m=>(0,t_.alwaysValidSchema)(i,r[m]));if(a.length===0||c.length===a.length&&(!i.opts.unevaluated||i.props===!0))return;let u=s.strictSchema&&!s.allowMatchingProperties&&o.properties,l=e.name("valid");i.props!==!0&&!(i.props instanceof Xs.Name)&&(i.props=(0,r_.evaluatedPropsToName)(e,i.props));let{props:d}=i;f();function f(){for(let m of a)u&&h(m),i.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,t_.checkStrictMode)(i,`property ${g} matches pattern ${m} (use allowMatchingProperties)`)}function p(m){e.forIn("key",n,g=>{e.if((0,Xs._)`${(0,e_.usePattern)(t,m)}.test(${g})`,()=>{let y=c.includes(m);y||t.subschema({keyword:"patternProperties",schemaProp:m,dataProp:g,dataPropType:r_.Type.Str},l),i.opts.unevaluated&&d!==!0?e.assign((0,Xs._)`${d}[${g}]`,!0):!y&&!i.allErrors&&e.if((0,Xs.not)(l),()=>e.break())})})}}};Dd.default=sE});var o_=E(qd=>{"use strict";Object.defineProperty(qd,"__esModule",{value:!0});var aE=ne(),cE={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,aE.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"}};qd.default=cE});var i_=E(Vd=>{"use strict";Object.defineProperty(Vd,"__esModule",{value:!0});var uE=gt(),lE={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:uE.validateUnion,error:{message:"must match a schema in anyOf"}};Vd.default=lE});var s_=E(Ld=>{"use strict";Object.defineProperty(Ld,"__esModule",{value:!0});var ea=K(),dE=ne(),pE={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,ea._)`{passingSchemas: ${t.passing}}`},fE={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:pE,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 i=r,s=e.let("valid",!1),a=e.let("passing",null),c=e.name("_valid");t.setParams({passing:a}),e.block(u),t.result(s,()=>t.reset(),()=>t.error(!0));function u(){i.forEach((l,d)=>{let f;(0,dE.alwaysValidSchema)(o,l)?e.var(c,!0):f=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,ea._)`${c} && ${s}`).assign(s,!1).assign(a,(0,ea._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(s,!0),e.assign(a,d),f&&t.mergeEvaluated(f,ea.Name)})})}}};Ld.default=fE});var a_=E(Ud=>{"use strict";Object.defineProperty(Ud,"__esModule",{value:!0});var mE=ne(),hE={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((i,s)=>{if((0,mE.alwaysValidSchema)(n,i))return;let a=t.subschema({keyword:"allOf",schemaProp:s},o);t.ok(o),t.mergeEvaluated(a)})}};Ud.default=hE});var l_=E(Fd=>{"use strict";Object.defineProperty(Fd,"__esModule",{value:!0});var ta=K(),u_=ne(),gE={message:({params:t})=>(0,ta.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,ta._)`{failingKeyword: ${t.ifClause}}`},yE={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:gE,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,u_.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=c_(n,"then"),i=c_(n,"else");if(!o&&!i)return;let s=e.let("valid",!0),a=e.name("_valid");if(c(),t.reset(),o&&i){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,ta.not)(a),u("else"));t.pass(s,()=>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(s,a),t.mergeValidEvaluated(f,s),d?e.assign(d,(0,ta._)`${l}`):t.setParams({ifClause:l})}}}};function c_(t,e){let r=t.schema[e];return r!==void 0&&!(0,u_.alwaysValidSchema)(t,r)}Fd.default=yE});var d_=E(Bd=>{"use strict";Object.defineProperty(Bd,"__esModule",{value:!0});var _E=ne(),vE={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,_E.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Bd.default=vE});var p_=E(Hd=>{"use strict";Object.defineProperty(Hd,"__esModule",{value:!0});var bE=zd(),wE=Ly(),$E=Ed(),xE=Fy(),SE=By(),kE=Jy(),RE=Wy(),TE=jd(),zE=Xy(),EE=n_(),IE=o_(),PE=i_(),OE=s_(),NE=a_(),AE=l_(),CE=d_();function jE(t=!1){let e=[IE.default,PE.default,OE.default,NE.default,AE.default,CE.default,RE.default,TE.default,kE.default,zE.default,EE.default];return t?e.push(wE.default,xE.default):e.push(bE.default,$E.default),e.push(SE.default),e}Hd.default=jE});var f_=E(Gd=>{"use strict";Object.defineProperty(Gd,"__esModule",{value:!0});var Te=K(),ME={message:({schemaCode:t})=>(0,Te.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,Te._)`{format: ${t}}`},ZE={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:ME,code(t,e){let{gen:r,data:n,$data:o,schema:i,schemaCode:s,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,Te._)`${p}[${s}]`),g=r.let("fType"),y=r.let("format");r.if((0,Te._)`typeof ${m} == "object" && !(${m} instanceof RegExp)`,()=>r.assign(g,(0,Te._)`${m}.type || "string"`).assign(y,(0,Te._)`${m}.validate`),()=>r.assign(g,(0,Te._)`"string"`).assign(y,m)),t.fail$data((0,Te.or)(_(),w()));function _(){return c.strictSchema===!1?Te.nil:(0,Te._)`${s} && !${y}`}function w(){let T=l.$async?(0,Te._)`(${m}.async ? await ${y}(${n}) : ${y}(${n}))`:(0,Te._)`${y}(${n})`,O=(0,Te._)`(typeof ${y} == "function" ? ${T} : ${y}.test(${n}))`;return(0,Te._)`${y} && ${y} !== true && ${g} === ${e} && !${O}`}}function h(){let p=d.formats[i];if(!p){_();return}if(p===!0)return;let[m,g,y]=w(p);m===e&&t.pass(T());function _(){if(c.strictSchema===!1){d.logger.warn(O());return}throw new Error(O());function O(){return`unknown format "${i}" ignored in schema at path "${u}"`}}function w(O){let _e=O instanceof RegExp?(0,Te.regexpCode)(O):c.code.formats?(0,Te._)`${c.code.formats}${(0,Te.getProperty)(i)}`:void 0,ve=r.scopeValue("formats",{key:i,ref:O,code:_e});return typeof O=="object"&&!(O instanceof RegExp)?[O.type||"string",O.validate,(0,Te._)`${ve}.validate`]:["string",O,ve]}function T(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Te._)`await ${y}(${n})`}return typeof g=="function"?(0,Te._)`${y}(${n})`:(0,Te._)`${y}.test(${n})`}}}};Gd.default=ZE});var m_=E(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0});var DE=f_(),qE=[DE.default];Jd.default=qE});var h_=E(qn=>{"use strict";Object.defineProperty(qn,"__esModule",{value:!0});qn.contentVocabulary=qn.metadataVocabulary=void 0;qn.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];qn.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var y_=E(Kd=>{"use strict";Object.defineProperty(Kd,"__esModule",{value:!0});var VE=Sy(),LE=Zy(),UE=p_(),FE=m_(),g_=h_(),BE=[VE.default,LE.default,(0,UE.default)(),FE.default,g_.metadataVocabulary,g_.contentVocabulary];Kd.default=BE});var v_=E(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.DiscrError=void 0;var __;(function(t){t.Tag="tag",t.Mapping="mapping"})(__||(ra.DiscrError=__={}))});var w_=E(Yd=>{"use strict";Object.defineProperty(Yd,"__esModule",{value:!0});var Vn=K(),Wd=v_(),b_=Ds(),HE=Ho(),GE=ne(),JE={message:({params:{discrError:t,tagName:e}})=>t===Wd.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,Vn._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},KE={keyword:"discriminator",type:"object",schemaType:"object",error:JE,code(t){let{gen:e,data:r,schema:n,parentSchema:o,it:i}=t,{oneOf:s}=o;if(!i.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=n.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!s)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),u=e.const("tag",(0,Vn._)`${r}${(0,Vn.getProperty)(a)}`);e.if((0,Vn._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:Wd.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,Vn._)`${u} === ${p}`),e.assign(c,d(h[p]));e.else(),t.error(!1,{discrError:Wd.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,Vn.Name),p}function f(){var h;let p={},m=y(o),g=!0;for(let T=0;T<s.length;T++){let O=s[T];if(O?.$ref&&!(0,GE.schemaHasRulesButRef)(O,i.self.RULES)){let ve=O.$ref;if(O=b_.resolveRef.call(i.self,i.schemaEnv.root,i.baseId,ve),O instanceof b_.SchemaEnv&&(O=O.schema),O===void 0)throw new HE.default(i.opts.uriResolver,i.baseId,ve)}let _e=(h=O?.properties)===null||h===void 0?void 0:h[a];if(typeof _e!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);g=g&&(m||y(O)),_(_e,T)}if(!g)throw new Error(`discriminator: "${a}" must be required`);return p;function y({required:T}){return Array.isArray(T)&&T.includes(a)}function _(T,O){if(T.const)w(T.const,O);else if(T.enum)for(let _e of T.enum)w(_e,O);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function w(T,O){if(typeof T!="string"||T in p)throw new Error(`discriminator: "${a}" values must be unique strings`);p[T]=O}}}};Yd.default=KE});var $_=E((oZ,WE)=>{WE.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 Xd=E((ye,Qd)=>{"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 YE=_y(),QE=y_(),XE=w_(),x_=$_(),eI=["/properties"],na="http://json-schema.org/draft-07/schema",Ln=class extends YE.default{_addVocabularies(){super._addVocabularies(),QE.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(XE.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(x_,eI):x_;this.addMetaSchema(e,na,!1),this.refs["http://json-schema.org/schema"]=na}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(na)?na:void 0)}};ye.Ajv=Ln;Qd.exports=ye=Ln;Qd.exports.Ajv=Ln;Object.defineProperty(ye,"__esModule",{value:!0});ye.default=Ln;var tI=Bo();Object.defineProperty(ye,"KeywordCxt",{enumerable:!0,get:function(){return tI.KeywordCxt}});var Un=K();Object.defineProperty(ye,"_",{enumerable:!0,get:function(){return Un._}});Object.defineProperty(ye,"str",{enumerable:!0,get:function(){return Un.str}});Object.defineProperty(ye,"stringify",{enumerable:!0,get:function(){return Un.stringify}});Object.defineProperty(ye,"nil",{enumerable:!0,get:function(){return Un.nil}});Object.defineProperty(ye,"Name",{enumerable:!0,get:function(){return Un.Name}});Object.defineProperty(ye,"CodeGen",{enumerable:!0,get:function(){return Un.CodeGen}});var rI=Ms();Object.defineProperty(ye,"ValidationError",{enumerable:!0,get:function(){return rI.default}});var nI=Ho();Object.defineProperty(ye,"MissingRefError",{enumerable:!0,get:function(){return nI.default}})});var P_=E(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.formatNames=Vt.fastFormats=Vt.fullFormats=void 0;function qt(t,e){return{validate:t,compare:e}}Vt.fullFormats={date:qt(T_,np),time:qt(tp(!0),op),"date-time":qt(S_(!0),E_),"iso-time":qt(tp(),z_),"iso-date-time":qt(S_(),I_),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:uI,"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:gI,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:lI,int32:{type:"number",validate:fI},int64:{type:"number",validate:mI},float:{type:"number",validate:R_},double:{type:"number",validate:R_},password:!0,binary:!0};Vt.fastFormats={...Vt.fullFormats,date:qt(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,np),time:qt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,op),"date-time":qt(/^\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,E_),"iso-time":qt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,z_),"iso-date-time":qt(/^\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,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};Vt.formatNames=Object.keys(Vt.fullFormats);function oI(t){return t%4===0&&(t%100!==0||t%400===0)}var iI=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,sI=[0,31,28,31,30,31,30,31,31,30,31,30,31];function T_(t){let e=iI.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&&oI(r)?29:sI[n])}function np(t,e){if(t&&e)return t>e?1:t<e?-1:0}var ep=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function tp(t){return function(r){let n=ep.exec(r);if(!n)return!1;let o=+n[1],i=+n[2],s=+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&&i<=59&&s<60)return!0;let d=i-l*c,f=o-u*c-(d<0?1:0);return(f===23||f===-1)&&(d===59||d===-1)&&s<61}}function op(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 z_(t,e){if(!(t&&e))return;let r=ep.exec(t),n=ep.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 rp=/t|\s/i;function S_(t){let e=tp(t);return function(n){let o=n.split(rp);return o.length===2&&T_(o[0])&&e(o[1])}}function E_(t,e){if(!(t&&e))return;let r=new Date(t).valueOf(),n=new Date(e).valueOf();if(r&&n)return r-n}function I_(t,e){if(!(t&&e))return;let[r,n]=t.split(rp),[o,i]=e.split(rp),s=np(r,o);if(s!==void 0)return s||op(n,i)}var aI=/\/|:/,cI=/^(?:[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 uI(t){return aI.test(t)&&cI.test(t)}var k_=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function lI(t){return k_.lastIndex=0,k_.test(t)}var dI=-(2**31),pI=2**31-1;function fI(t){return Number.isInteger(t)&&t<=pI&&t>=dI}function mI(t){return Number.isInteger(t)}function R_(){return!0}var hI=/[^\\]\\Z/;function gI(t){if(hI.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var O_=E(Fn=>{"use strict";Object.defineProperty(Fn,"__esModule",{value:!0});Fn.formatLimitDefinition=void 0;var yI=Xd(),Et=K(),_r=Et.operators,oa={formatMaximum:{okStr:"<=",ok:_r.LTE,fail:_r.GT},formatMinimum:{okStr:">=",ok:_r.GTE,fail:_r.LT},formatExclusiveMaximum:{okStr:"<",ok:_r.LT,fail:_r.GTE},formatExclusiveMinimum:{okStr:">",ok:_r.GT,fail:_r.LTE}},_I={message:({keyword:t,schemaCode:e})=>(0,Et.str)`should be ${oa[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Et._)`{comparison: ${oa[t].okStr}, limit: ${e}}`};Fn.formatLimitDefinition={keyword:Object.keys(oa),type:"string",schemaType:"string",$data:!0,error:_I,code(t){let{gen:e,data:r,schemaCode:n,keyword:o,it:i}=t,{opts:s,self:a}=i;if(!s.validateFormats)return;let c=new yI.KeywordCxt(i,a.RULES.all.format.definition,"format");c.$data?u():l();function u(){let f=e.scopeValue("formats",{ref:a.formats,code:s.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:s.code.formats?(0,Et._)`${s.code.formats}${(0,Et.getProperty)(f)}`:void 0});t.fail$data(d(p))}function d(f){return(0,Et._)`${f}.compare(${r}, ${n}) ${oa[o].fail} 0`}},dependencies:["format"]};var vI=t=>(t.addKeyword(Fn.formatLimitDefinition),t);Fn.default=vI});var j_=E((si,C_)=>{"use strict";Object.defineProperty(si,"__esModule",{value:!0});var Bn=P_(),bI=O_(),ip=K(),N_=new ip.Name("fullFormats"),wI=new ip.Name("fastFormats"),sp=(t,e={keywords:!0})=>{if(Array.isArray(e))return A_(t,e,Bn.fullFormats,N_),t;let[r,n]=e.mode==="fast"?[Bn.fastFormats,wI]:[Bn.fullFormats,N_],o=e.formats||Bn.formatNames;return A_(t,o,r,n),e.keywords&&(0,bI.default)(t),t};sp.get=(t,e="full")=>{let n=(e==="fast"?Bn.fastFormats:Bn.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function A_(t,e,r,n){var o,i;(o=(i=t.opts.code).formats)!==null&&o!==void 0||(i.formats=(0,ip._)`require("ajv-formats/dist/formats").${n}`);for(let s of e)t.addFormat(s,r[s])}C_.exports=si=sp;Object.defineProperty(si,"__esModule",{value:!0});si.default=sp});var C={};Ca(C,{BRAND:()=>Bb,DIRTY:()=>br,EMPTY_PATH:()=>xb,INVALID:()=>V,NEVER:()=>zw,OK:()=>Ue,ParseStatus:()=>Ne,Schema:()=>J,ZodAny:()=>rr,ZodArray:()=>Ht,ZodBigInt:()=>$r,ZodBoolean:()=>xr,ZodBranded:()=>no,ZodCatch:()=>Ar,ZodDate:()=>Sr,ZodDefault:()=>Nr,ZodDiscriminatedUnion:()=>Ri,ZodEffects:()=>dt,ZodEnum:()=>Pr,ZodError:()=>Ye,ZodFirstPartyTypeKind:()=>k,ZodFunction:()=>zi,ZodIntersection:()=>zr,ZodIssueCode:()=>S,ZodLazy:()=>Er,ZodLiteral:()=>Ir,ZodMap:()=>mn,ZodNaN:()=>gn,ZodNativeEnum:()=>Or,ZodNever:()=>wt,ZodNull:()=>Rr,ZodNullable:()=>Ct,ZodNumber:()=>wr,ZodObject:()=>Xe,ZodOptional:()=>Qe,ZodParsedType:()=>I,ZodPipeline:()=>oo,ZodPromise:()=>nr,ZodReadonly:()=>Cr,ZodRecord:()=>Ti,ZodSchema:()=>J,ZodSet:()=>hn,ZodString:()=>tr,ZodSymbol:()=>pn,ZodTransformer:()=>dt,ZodTuple:()=>At,ZodType:()=>J,ZodUndefined:()=>kr,ZodUnion:()=>Tr,ZodUnknown:()=>Bt,ZodVoid:()=>fn,addIssueToContext:()=>z,any:()=>ew,array:()=>ow,bigint:()=>Kb,boolean:()=>lf,coerce:()=>Tw,custom:()=>af,date:()=>Wb,datetimeRegex:()=>of,defaultErrorMap:()=>Ut,discriminatedUnion:()=>aw,effect:()=>vw,enum:()=>gw,function:()=>fw,getErrorMap:()=>un,getParsedType:()=>Nt,instanceof:()=>Gb,intersection:()=>cw,isAborted:()=>Si,isAsync:()=>ln,isDirty:()=>ki,isValid:()=>er,late:()=>Hb,lazy:()=>mw,literal:()=>hw,makeIssue:()=>ro,map:()=>dw,nan:()=>Jb,nativeEnum:()=>yw,never:()=>rw,null:()=>Xb,nullable:()=>ww,number:()=>uf,object:()=>Da,objectUtil:()=>ja,oboolean:()=>Rw,onumber:()=>kw,optional:()=>bw,ostring:()=>Sw,pipeline:()=>xw,preprocess:()=>$w,promise:()=>_w,quotelessJson:()=>bb,record:()=>lw,set:()=>pw,setErrorMap:()=>$b,strictObject:()=>iw,string:()=>cf,symbol:()=>Yb,transformer:()=>vw,tuple:()=>uw,undefined:()=>Qb,union:()=>sw,unknown:()=>tw,util:()=>Q,void:()=>nw});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 i={};for(let s of o)i[s]=s;return i},t.getValidEnumValues=o=>{let i=t.objectKeys(o).filter(a=>typeof o[o[a]]!="number"),s={};for(let a of i)s[a]=o[a];return t.objectValues(s)},t.objectValues=o=>t.objectKeys(o).map(function(i){return o[i]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let i=[];for(let s in o)Object.prototype.hasOwnProperty.call(o,s)&&i.push(s);return i},t.find=(o,i)=>{for(let s of o)if(i(s))return s},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function n(o,i=" | "){return o.map(s=>typeof s=="string"?`'${s}'`:s).join(i)}t.joinValues=n,t.jsonStringifyReplacer=(o,i)=>typeof i=="bigint"?i.toString():i})(Q||(Q={}));var ja;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(ja||(ja={}));var I=Q.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Nt=t=>{switch(typeof t){case"undefined":return I.undefined;case"string":return I.string;case"number":return Number.isNaN(t)?I.nan:I.number;case"boolean":return I.boolean;case"function":return I.function;case"bigint":return I.bigint;case"symbol":return I.symbol;case"object":return Array.isArray(t)?I.array:t===null?I.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?I.promise:typeof Map<"u"&&t instanceof Map?I.map:typeof Set<"u"&&t instanceof Set?I.set:typeof Date<"u"&&t instanceof Date?I.date:I.object;default:return I.unknown}};var S=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"]),bb=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),Ye=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(i){return i.message},n={_errors:[]},o=i=>{for(let s of i.issues)if(s.code==="invalid_union")s.unionErrors.map(o);else if(s.code==="invalid_return_type")o(s.returnTypeError);else if(s.code==="invalid_arguments")o(s.argumentsError);else if(s.path.length===0)n._errors.push(r(s));else{let a=n,c=0;for(;c<s.path.length;){let u=s.path[c];c===s.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(s))):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 i=o.path[0];r[i]=r[i]||[],r[i].push(e(o))}else n.push(e(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};Ye.create=t=>new Ye(t);var wb=(t,e)=>{let r;switch(t.code){case S.invalid_type:t.received===I.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case S.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,Q.jsonStringifyReplacer)}`;break;case S.unrecognized_keys:r=`Unrecognized key(s) in object: ${Q.joinValues(t.keys,", ")}`;break;case S.invalid_union:r="Invalid input";break;case S.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${Q.joinValues(t.options)}`;break;case S.invalid_enum_value:r=`Invalid enum value. Expected ${Q.joinValues(t.options)}, received '${t.received}'`;break;case S.invalid_arguments:r="Invalid function arguments";break;case S.invalid_return_type:r="Invalid function return type";break;case S.invalid_date:r="Invalid date";break;case S.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 S.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 S.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 S.custom:r="Invalid input";break;case S.invalid_intersection_types:r="Intersection results could not be merged";break;case S.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case S.not_finite:r="Number must be finite";break;default:r=e.defaultError,Q.assertNever(t)}return{message:r}},Ut=wb;var Xp=Ut;function $b(t){Xp=t}function un(){return Xp}var ro=t=>{let{data:e,path:r,errorMaps:n,issueData:o}=t,i=[...r,...o.path||[]],s={...o,path:i};if(o.message!==void 0)return{...o,path:i,message:o.message};let a="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)a=u(s,{data:e,defaultError:a}).message;return{...o,path:i,message:a}},xb=[];function z(t,e){let r=un(),n=ro({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===Ut?void 0:Ut].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 V;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 i=await o.key,s=await o.value;n.push({key:i,value:s})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let o of r){let{key:i,value:s}=o;if(i.status==="aborted"||s.status==="aborted")return V;i.status==="dirty"&&e.dirty(),s.status==="dirty"&&e.dirty(),i.value!=="__proto__"&&(typeof s.value<"u"||o.alwaysSet)&&(n[i.value]=s.value)}return{status:e.value,value:n}}},V=Object.freeze({status:"aborted"}),br=t=>({status:"dirty",value:t}),Ue=t=>({status:"valid",value:t}),Si=t=>t.status==="aborted",ki=t=>t.status==="dirty",er=t=>t.status==="valid",ln=t=>typeof Promise<"u"&&t instanceof Promise;var N;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(N||(N={}));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}},ef=(t,e)=>{if(er(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 Ye(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:(s,a)=>{let{message:c}=t;return s.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??n??a.defaultError}:s.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 Nt(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:Nt(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:Nt(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(ln(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:Nt(e)},o=this._parseSync({data:e,path:n.path,parent:n});return ef(n,o)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Nt(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return er(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=>er(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:Nt(e)},o=this._parse({data:e,path:n.path,parent:n}),i=await(ln(o)?o:Promise.resolve(o));return ef(n,i)}refine(e,r){let n=o=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,i)=>{let s=e(o),a=()=>i.addIssue({code:S.custom,...n(o)});return typeof Promise<"u"&&s instanceof Promise?s.then(c=>c?!0:(a(),!1)):s?!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:k.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 Qe.create(this,this._def)}nullable(){return Ct.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ht.create(this)}promise(){return nr.create(this,this._def)}or(e){return Tr.create([this,e],this._def)}and(e){return zr.create(this,e,this._def)}transform(e){return new dt({...H(this._def),schema:this,typeName:k.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new Nr({...H(this._def),innerType:this,defaultValue:r,typeName:k.ZodDefault})}brand(){return new no({typeName:k.ZodBranded,type:this,...H(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Ar({...H(this._def),innerType:this,catchValue:r,typeName:k.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return oo.create(this,e)}readonly(){return Cr.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Sb=/^c[^\s-]{8,}$/i,kb=/^[0-9a-z]+$/,Rb=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Tb=/^[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,zb=/^[a-z0-9_-]{21}$/i,Eb=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Ib=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Pb=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Ob="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Ma,Nb=/^(?:(?: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])$/,Ab=/^(?:(?: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])$/,Cb=/^(([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]))$/,jb=/^(([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])$/,Mb=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Zb=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,rf="((\\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])))",Db=new RegExp(`^${rf}$`);function nf(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 qb(t){return new RegExp(`^${nf(t)}$`)}function of(t){let e=`${rf}T${nf(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 Vb(t,e){return!!((e==="v4"||!e)&&Nb.test(t)||(e==="v6"||!e)&&Cb.test(t))}function Lb(t,e){if(!Eb.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 Ub(t,e){return!!((e==="v4"||!e)&&Ab.test(t)||(e==="v6"||!e)&&jb.test(t))}var tr=class t extends J{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==I.string){let i=this._getOrReturnCtx(e);return z(i,{code:S.invalid_type,expected:I.string,received:i.parsedType}),V}let n=new Ne,o;for(let i of this._def.checks)if(i.kind==="min")e.data.length<i.value&&(o=this._getOrReturnCtx(e,o),z(o,{code:S.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="max")e.data.length>i.value&&(o=this._getOrReturnCtx(e,o),z(o,{code:S.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="length"){let s=e.data.length>i.value,a=e.data.length<i.value;(s||a)&&(o=this._getOrReturnCtx(e,o),s?z(o,{code:S.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):a&&z(o,{code:S.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),n.dirty())}else if(i.kind==="email")Pb.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"email",code:S.invalid_string,message:i.message}),n.dirty());else if(i.kind==="emoji")Ma||(Ma=new RegExp(Ob,"u")),Ma.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"emoji",code:S.invalid_string,message:i.message}),n.dirty());else if(i.kind==="uuid")Tb.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"uuid",code:S.invalid_string,message:i.message}),n.dirty());else if(i.kind==="nanoid")zb.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"nanoid",code:S.invalid_string,message:i.message}),n.dirty());else if(i.kind==="cuid")Sb.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"cuid",code:S.invalid_string,message:i.message}),n.dirty());else if(i.kind==="cuid2")kb.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"cuid2",code:S.invalid_string,message:i.message}),n.dirty());else if(i.kind==="ulid")Rb.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"ulid",code:S.invalid_string,message:i.message}),n.dirty());else if(i.kind==="url")try{new URL(e.data)}catch{o=this._getOrReturnCtx(e,o),z(o,{validation:"url",code:S.invalid_string,message:i.message}),n.dirty()}else i.kind==="regex"?(i.regex.lastIndex=0,i.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"regex",code:S.invalid_string,message:i.message}),n.dirty())):i.kind==="trim"?e.data=e.data.trim():i.kind==="includes"?e.data.includes(i.value,i.position)||(o=this._getOrReturnCtx(e,o),z(o,{code:S.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),n.dirty()):i.kind==="toLowerCase"?e.data=e.data.toLowerCase():i.kind==="toUpperCase"?e.data=e.data.toUpperCase():i.kind==="startsWith"?e.data.startsWith(i.value)||(o=this._getOrReturnCtx(e,o),z(o,{code:S.invalid_string,validation:{startsWith:i.value},message:i.message}),n.dirty()):i.kind==="endsWith"?e.data.endsWith(i.value)||(o=this._getOrReturnCtx(e,o),z(o,{code:S.invalid_string,validation:{endsWith:i.value},message:i.message}),n.dirty()):i.kind==="datetime"?of(i).test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{code:S.invalid_string,validation:"datetime",message:i.message}),n.dirty()):i.kind==="date"?Db.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{code:S.invalid_string,validation:"date",message:i.message}),n.dirty()):i.kind==="time"?qb(i).test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{code:S.invalid_string,validation:"time",message:i.message}),n.dirty()):i.kind==="duration"?Ib.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"duration",code:S.invalid_string,message:i.message}),n.dirty()):i.kind==="ip"?Vb(e.data,i.version)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"ip",code:S.invalid_string,message:i.message}),n.dirty()):i.kind==="jwt"?Lb(e.data,i.alg)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"jwt",code:S.invalid_string,message:i.message}),n.dirty()):i.kind==="cidr"?Ub(e.data,i.version)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"cidr",code:S.invalid_string,message:i.message}),n.dirty()):i.kind==="base64"?Mb.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"base64",code:S.invalid_string,message:i.message}),n.dirty()):i.kind==="base64url"?Zb.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"base64url",code:S.invalid_string,message:i.message}),n.dirty()):Q.assertNever(i);return{status:n.value,value:e.data}}_regex(e,r,n){return this.refinement(o=>e.test(o),{validation:r,code:S.invalid_string,...N.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...N.errToObj(e)})}url(e){return this._addCheck({kind:"url",...N.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...N.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...N.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...N.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...N.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...N.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...N.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...N.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...N.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...N.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...N.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...N.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,...N.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,...N.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...N.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...N.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...N.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...N.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...N.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...N.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...N.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...N.errToObj(r)})}nonempty(e){return this.min(1,N.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}};tr.create=t=>new tr({checks:[],typeName:k.ZodString,coerce:t?.coerce??!1,...H(t)});function Fb(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,i=Number.parseInt(t.toFixed(o).replace(".","")),s=Number.parseInt(e.toFixed(o).replace(".",""));return i%s/10**o}var wr=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)!==I.number){let i=this._getOrReturnCtx(e);return z(i,{code:S.invalid_type,expected:I.number,received:i.parsedType}),V}let n,o=new Ne;for(let i of this._def.checks)i.kind==="int"?Q.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),z(n,{code:S.invalid_type,expected:"integer",received:"float",message:i.message}),o.dirty()):i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(n=this._getOrReturnCtx(e,n),z(n,{code:S.too_small,minimum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),o.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(n=this._getOrReturnCtx(e,n),z(n,{code:S.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),o.dirty()):i.kind==="multipleOf"?Fb(e.data,i.value)!==0&&(n=this._getOrReturnCtx(e,n),z(n,{code:S.not_multiple_of,multipleOf:i.value,message:i.message}),o.dirty()):i.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),z(n,{code:S.not_finite,message:i.message}),o.dirty()):Q.assertNever(i);return{status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,N.toString(r))}gt(e,r){return this.setLimit("min",e,!1,N.toString(r))}lte(e,r){return this.setLimit("max",e,!0,N.toString(r))}lt(e,r){return this.setLimit("max",e,!1,N.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:N.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:N.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:N.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:N.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:N.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:N.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:N.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:N.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:N.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:N.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)}};wr.create=t=>new wr({checks:[],typeName:k.ZodNumber,coerce:t?.coerce||!1,...H(t)});var $r=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)!==I.bigint)return this._getInvalidInput(e);let n,o=new Ne;for(let i of this._def.checks)i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(n=this._getOrReturnCtx(e,n),z(n,{code:S.too_small,type:"bigint",minimum:i.value,inclusive:i.inclusive,message:i.message}),o.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(n=this._getOrReturnCtx(e,n),z(n,{code:S.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),o.dirty()):i.kind==="multipleOf"?e.data%i.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),z(n,{code:S.not_multiple_of,multipleOf:i.value,message:i.message}),o.dirty()):Q.assertNever(i);return{status:o.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return z(r,{code:S.invalid_type,expected:I.bigint,received:r.parsedType}),V}gte(e,r){return this.setLimit("min",e,!0,N.toString(r))}gt(e,r){return this.setLimit("min",e,!1,N.toString(r))}lte(e,r){return this.setLimit("max",e,!0,N.toString(r))}lt(e,r){return this.setLimit("max",e,!1,N.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:N.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:N.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:N.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:N.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:N.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:N.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}};$r.create=t=>new $r({checks:[],typeName:k.ZodBigInt,coerce:t?.coerce??!1,...H(t)});var xr=class extends J{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==I.boolean){let n=this._getOrReturnCtx(e);return z(n,{code:S.invalid_type,expected:I.boolean,received:n.parsedType}),V}return Ue(e.data)}};xr.create=t=>new xr({typeName:k.ZodBoolean,coerce:t?.coerce||!1,...H(t)});var Sr=class t extends J{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==I.date){let i=this._getOrReturnCtx(e);return z(i,{code:S.invalid_type,expected:I.date,received:i.parsedType}),V}if(Number.isNaN(e.data.getTime())){let i=this._getOrReturnCtx(e);return z(i,{code:S.invalid_date}),V}let n=new Ne,o;for(let i of this._def.checks)i.kind==="min"?e.data.getTime()<i.value&&(o=this._getOrReturnCtx(e,o),z(o,{code:S.too_small,message:i.message,inclusive:!0,exact:!1,minimum:i.value,type:"date"}),n.dirty()):i.kind==="max"?e.data.getTime()>i.value&&(o=this._getOrReturnCtx(e,o),z(o,{code:S.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),n.dirty()):Q.assertNever(i);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:N.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:N.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}};Sr.create=t=>new Sr({checks:[],coerce:t?.coerce||!1,typeName:k.ZodDate,...H(t)});var pn=class extends J{_parse(e){if(this._getType(e)!==I.symbol){let n=this._getOrReturnCtx(e);return z(n,{code:S.invalid_type,expected:I.symbol,received:n.parsedType}),V}return Ue(e.data)}};pn.create=t=>new pn({typeName:k.ZodSymbol,...H(t)});var kr=class extends J{_parse(e){if(this._getType(e)!==I.undefined){let n=this._getOrReturnCtx(e);return z(n,{code:S.invalid_type,expected:I.undefined,received:n.parsedType}),V}return Ue(e.data)}};kr.create=t=>new kr({typeName:k.ZodUndefined,...H(t)});var Rr=class extends J{_parse(e){if(this._getType(e)!==I.null){let n=this._getOrReturnCtx(e);return z(n,{code:S.invalid_type,expected:I.null,received:n.parsedType}),V}return Ue(e.data)}};Rr.create=t=>new Rr({typeName:k.ZodNull,...H(t)});var rr=class extends J{constructor(){super(...arguments),this._any=!0}_parse(e){return Ue(e.data)}};rr.create=t=>new rr({typeName:k.ZodAny,...H(t)});var Bt=class extends J{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Ue(e.data)}};Bt.create=t=>new Bt({typeName:k.ZodUnknown,...H(t)});var wt=class extends J{_parse(e){let r=this._getOrReturnCtx(e);return z(r,{code:S.invalid_type,expected:I.never,received:r.parsedType}),V}};wt.create=t=>new wt({typeName:k.ZodNever,...H(t)});var fn=class extends J{_parse(e){if(this._getType(e)!==I.undefined){let n=this._getOrReturnCtx(e);return z(n,{code:S.invalid_type,expected:I.void,received:n.parsedType}),V}return Ue(e.data)}};fn.create=t=>new fn({typeName:k.ZodVoid,...H(t)});var Ht=class t extends J{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==I.array)return z(r,{code:S.invalid_type,expected:I.array,received:r.parsedType}),V;if(o.exactLength!==null){let s=r.data.length>o.exactLength.value,a=r.data.length<o.exactLength.value;(s||a)&&(z(r,{code:s?S.too_big:S.too_small,minimum:a?o.exactLength.value:void 0,maximum:s?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:S.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:S.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((s,a)=>o.type._parseAsync(new lt(r,s,r.path,a)))).then(s=>Ne.mergeArray(n,s));let i=[...r.data].map((s,a)=>o.type._parseSync(new lt(r,s,r.path,a)));return Ne.mergeArray(n,i)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:N.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:N.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:N.toString(r)}})}nonempty(e){return this.min(1,e)}};Ht.create=(t,e)=>new Ht({type:t,minLength:null,maxLength:null,exactLength:null,typeName:k.ZodArray,...H(e)});function dn(t){if(t instanceof Xe){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=Qe.create(dn(n))}return new Xe({...t._def,shape:()=>e})}else return t instanceof Ht?new Ht({...t._def,type:dn(t.element)}):t instanceof Qe?Qe.create(dn(t.unwrap())):t instanceof Ct?Ct.create(dn(t.unwrap())):t instanceof At?At.create(t.items.map(e=>dn(e))):t}var Xe=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)!==I.object){let u=this._getOrReturnCtx(e);return z(u,{code:S.invalid_type,expected:I.object,received:u.parsedType}),V}let{status:n,ctx:o}=this._processInputParams(e),{shape:i,keys:s}=this._getCached(),a=[];if(!(this._def.catchall instanceof wt&&this._def.unknownKeys==="strip"))for(let u in o.data)s.includes(u)||a.push(u);let c=[];for(let u of s){let l=i[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:S.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 N.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:N.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:k.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 dn(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 i=this.shape[n];for(;i instanceof Qe;)i=i._def.innerType;r[n]=i}return new t({...this._def,shape:()=>r})}keyof(){return sf(Q.objectKeys(this.shape))}};Xe.create=(t,e)=>new Xe({shape:()=>t,unknownKeys:"strip",catchall:wt.create(),typeName:k.ZodObject,...H(e)});Xe.strictCreate=(t,e)=>new Xe({shape:()=>t,unknownKeys:"strict",catchall:wt.create(),typeName:k.ZodObject,...H(e)});Xe.lazycreate=(t,e)=>new Xe({shape:t,unknownKeys:"strip",catchall:wt.create(),typeName:k.ZodObject,...H(e)});var Tr=class extends J{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function o(i){for(let a of i)if(a.result.status==="valid")return a.result;for(let a of i)if(a.result.status==="dirty")return r.common.issues.push(...a.ctx.common.issues),a.result;let s=i.map(a=>new Ye(a.ctx.common.issues));return z(r,{code:S.invalid_union,unionErrors:s}),V}if(r.common.async)return Promise.all(n.map(async i=>{let s={...r,common:{...r.common,issues:[]},parent:null};return{result:await i._parseAsync({data:r.data,path:r.path,parent:s}),ctx:s}})).then(o);{let i,s=[];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"&&!i&&(i={result:l,ctx:u}),u.common.issues.length&&s.push(u.common.issues)}if(i)return r.common.issues.push(...i.ctx.common.issues),i.result;let a=s.map(c=>new Ye(c));return z(r,{code:S.invalid_union,unionErrors:a}),V}}get options(){return this._def.options}};Tr.create=(t,e)=>new Tr({options:t,typeName:k.ZodUnion,...H(e)});var Ft=t=>t instanceof Er?Ft(t.schema):t instanceof dt?Ft(t.innerType()):t instanceof Ir?[t.value]:t instanceof Pr?t.options:t instanceof Or?Q.objectValues(t.enum):t instanceof Nr?Ft(t._def.innerType):t instanceof kr?[void 0]:t instanceof Rr?[null]:t instanceof Qe?[void 0,...Ft(t.unwrap())]:t instanceof Ct?[null,...Ft(t.unwrap())]:t instanceof no||t instanceof Cr?Ft(t.unwrap()):t instanceof Ar?Ft(t._def.innerType):[],Ri=class t extends J{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==I.object)return z(r,{code:S.invalid_type,expected:I.object,received:r.parsedType}),V;let n=this.discriminator,o=r.data[n],i=this.optionsMap.get(o);return i?r.common.async?i._parseAsync({data:r.data,path:r.path,parent:r}):i._parseSync({data:r.data,path:r.path,parent:r}):(z(r,{code:S.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),V)}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 i of r){let s=Ft(i.shape[e]);if(!s.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let a of s){if(o.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);o.set(a,i)}}return new t({typeName:k.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:o,...H(n)})}};function Za(t,e){let r=Nt(t),n=Nt(e);if(t===e)return{valid:!0,data:t};if(r===I.object&&n===I.object){let o=Q.objectKeys(e),i=Q.objectKeys(t).filter(a=>o.indexOf(a)!==-1),s={...t,...e};for(let a of i){let c=Za(t[a],e[a]);if(!c.valid)return{valid:!1};s[a]=c.data}return{valid:!0,data:s}}else if(r===I.array&&n===I.array){if(t.length!==e.length)return{valid:!1};let o=[];for(let i=0;i<t.length;i++){let s=t[i],a=e[i],c=Za(s,a);if(!c.valid)return{valid:!1};o.push(c.data)}return{valid:!0,data:o}}else return r===I.date&&n===I.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}var zr=class extends J{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=(i,s)=>{if(Si(i)||Si(s))return V;let a=Za(i.value,s.value);return a.valid?((ki(i)||ki(s))&&r.dirty(),{status:r.value,value:a.data}):(z(n,{code:S.invalid_intersection_types}),V)};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(([i,s])=>o(i,s)):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}))}};zr.create=(t,e,r)=>new zr({left:t,right:e,typeName:k.ZodIntersection,...H(r)});var At=class t extends J{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==I.array)return z(n,{code:S.invalid_type,expected:I.array,received:n.parsedType}),V;if(n.data.length<this._def.items.length)return z(n,{code:S.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),V;!this._def.rest&&n.data.length>this._def.items.length&&(z(n,{code:S.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let i=[...n.data].map((s,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new lt(n,s,n.path,a)):null}).filter(s=>!!s);return n.common.async?Promise.all(i).then(s=>Ne.mergeArray(r,s)):Ne.mergeArray(r,i)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};At.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new At({items:t,typeName:k.ZodTuple,rest:null,...H(e)})};var Ti=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!==I.object)return z(n,{code:S.invalid_type,expected:I.object,received:n.parsedType}),V;let o=[],i=this._def.keyType,s=this._def.valueType;for(let a in n.data)o.push({key:i._parse(new lt(n,a,n.path,a)),value:s._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:k.ZodRecord,...H(n)}):new t({keyType:tr.create(),valueType:e,typeName:k.ZodRecord,...H(r)})}},mn=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!==I.map)return z(n,{code:S.invalid_type,expected:I.map,received:n.parsedType}),V;let o=this._def.keyType,i=this._def.valueType,s=[...n.data.entries()].map(([a,c],u)=>({key:o._parse(new lt(n,a,n.path,[u,"key"])),value:i._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 s){let u=await c.key,l=await c.value;if(u.status==="aborted"||l.status==="aborted")return V;(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 s){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return V;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}}}};mn.create=(t,e,r)=>new mn({valueType:e,keyType:t,typeName:k.ZodMap,...H(r)});var hn=class t extends J{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==I.set)return z(n,{code:S.invalid_type,expected:I.set,received:n.parsedType}),V;let o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&(z(n,{code:S.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:S.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let i=this._def.valueType;function s(c){let u=new Set;for(let l of c){if(l.status==="aborted")return V;l.status==="dirty"&&r.dirty(),u.add(l.value)}return{status:r.value,value:u}}let a=[...n.data.values()].map((c,u)=>i._parse(new lt(n,c,n.path,u)));return n.common.async?Promise.all(a).then(c=>s(c)):s(a)}min(e,r){return new t({...this._def,minSize:{value:e,message:N.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:N.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};hn.create=(t,e)=>new hn({valueType:t,minSize:null,maxSize:null,typeName:k.ZodSet,...H(e)});var zi=class t extends J{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==I.function)return z(r,{code:S.invalid_type,expected:I.function,received:r.parsedType}),V;function n(a,c){return ro({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,un(),Ut].filter(u=>!!u),issueData:{code:S.invalid_arguments,argumentsError:c}})}function o(a,c){return ro({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,un(),Ut].filter(u=>!!u),issueData:{code:S.invalid_return_type,returnTypeError:c}})}let i={errorMap:r.common.contextualErrorMap},s=r.data;if(this._def.returns instanceof nr){let a=this;return Ue(async function(...c){let u=new Ye([]),l=await a._def.args.parseAsync(c,i).catch(h=>{throw u.addIssue(n(c,h)),u}),d=await Reflect.apply(s,this,l);return await a._def.returns._def.type.parseAsync(d,i).catch(h=>{throw u.addIssue(o(d,h)),u})})}else{let a=this;return Ue(function(...c){let u=a._def.args.safeParse(c,i);if(!u.success)throw new Ye([n(c,u.error)]);let l=Reflect.apply(s,this,u.data),d=a._def.returns.safeParse(l,i);if(!d.success)throw new Ye([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:At.create(e).rest(Bt.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||At.create([]).rest(Bt.create()),returns:r||Bt.create(),typeName:k.ZodFunction,...H(n)})}},Er=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})}};Er.create=(t,e)=>new Er({getter:t,typeName:k.ZodLazy,...H(e)});var Ir=class extends J{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return z(r,{received:r.data,code:S.invalid_literal,expected:this._def.value}),V}return{status:"valid",value:e.data}}get value(){return this._def.value}};Ir.create=(t,e)=>new Ir({value:t,typeName:k.ZodLiteral,...H(e)});function sf(t,e){return new Pr({values:t,typeName:k.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:S.invalid_type}),V}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:S.invalid_enum_value,options:n}),V}return Ue(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=sf;var Or=class extends J{_parse(e){let r=Q.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==I.string&&n.parsedType!==I.number){let o=Q.objectValues(r);return z(n,{expected:Q.joinValues(o),received:n.parsedType,code:S.invalid_type}),V}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:S.invalid_enum_value,options:o}),V}return Ue(e.data)}get enum(){return this._def.values}};Or.create=(t,e)=>new Or({values:t,typeName:k.ZodNativeEnum,...H(e)});var nr=class extends J{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==I.promise&&r.common.async===!1)return z(r,{code:S.invalid_type,expected:I.promise,received:r.parsedType}),V;let n=r.parsedType===I.promise?r.data:Promise.resolve(r.data);return Ue(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};nr.create=(t,e)=>new nr({type:t,typeName:k.ZodPromise,...H(e)});var dt=class extends J{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===k.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=this._def.effect||null,i={addIssue:s=>{z(n,s),s.fatal?r.abort():r.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),o.type==="preprocess"){let s=o.transform(n.data,i);if(n.common.async)return Promise.resolve(s).then(async a=>{if(r.value==="aborted")return V;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?V:c.status==="dirty"?br(c.value):r.value==="dirty"?br(c.value):c});{if(r.value==="aborted")return V;let a=this._def.schema._parseSync({data:s,path:n.path,parent:n});return a.status==="aborted"?V:a.status==="dirty"?br(a.value):r.value==="dirty"?br(a.value):a}}if(o.type==="refinement"){let s=a=>{let c=o.refinement(a,i);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"?V:(a.status==="dirty"&&r.dirty(),s(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"?V:(a.status==="dirty"&&r.dirty(),s(a.value).then(()=>({status:r.value,value:a.value}))))}if(o.type==="transform")if(n.common.async===!1){let s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!er(s))return V;let a=o.transform(s.value,i);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(s=>er(s)?Promise.resolve(o.transform(s.value,i)).then(a=>({status:r.value,value:a})):V);Q.assertNever(o)}};dt.create=(t,e,r)=>new dt({schema:t,typeName:k.ZodEffects,effect:e,...H(r)});dt.createWithPreprocess=(t,e,r)=>new dt({schema:e,effect:{type:"preprocess",transform:t},typeName:k.ZodEffects,...H(r)});var Qe=class extends J{_parse(e){return this._getType(e)===I.undefined?Ue(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Qe.create=(t,e)=>new Qe({innerType:t,typeName:k.ZodOptional,...H(e)});var Ct=class extends J{_parse(e){return this._getType(e)===I.null?Ue(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Ct.create=(t,e)=>new Ct({innerType:t,typeName:k.ZodNullable,...H(e)});var Nr=class extends J{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===I.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};Nr.create=(t,e)=>new Nr({innerType:t,typeName:k.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...H(e)});var Ar=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 ln(o)?o.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Ye(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Ye(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Ar.create=(t,e)=>new Ar({innerType:t,typeName:k.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...H(e)});var gn=class extends J{_parse(e){if(this._getType(e)!==I.nan){let n=this._getOrReturnCtx(e);return z(n,{code:S.invalid_type,expected:I.nan,received:n.parsedType}),V}return{status:"valid",value:e.data}}};gn.create=t=>new gn({typeName:k.ZodNaN,...H(t)});var Bb=Symbol("zod_brand"),no=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}},oo=class t extends J{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let i=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?V:i.status==="dirty"?(r.dirty(),br(i.value)):this._def.out._parseAsync({data:i.value,path:n.path,parent:n})})();{let o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?V: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:k.ZodPipeline})}},Cr=class extends J{_parse(e){let r=this._def.innerType._parse(e),n=o=>(er(o)&&(o.value=Object.freeze(o.value)),o);return ln(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};Cr.create=(t,e)=>new Cr({innerType:t,typeName:k.ZodReadonly,...H(e)});function tf(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function af(t,e={},r){return t?rr.create().superRefine((n,o)=>{let i=t(n);if(i instanceof Promise)return i.then(s=>{if(!s){let a=tf(e,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!i){let s=tf(e,n),a=s.fatal??r??!0;o.addIssue({code:"custom",...s,fatal:a})}}):rr.create()}var Hb={object:Xe.lazycreate},k;(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"})(k||(k={}));var Gb=(t,e={message:`Input not instance of ${t.name}`})=>af(r=>r instanceof t,e),cf=tr.create,uf=wr.create,Jb=gn.create,Kb=$r.create,lf=xr.create,Wb=Sr.create,Yb=pn.create,Qb=kr.create,Xb=Rr.create,ew=rr.create,tw=Bt.create,rw=wt.create,nw=fn.create,ow=Ht.create,Da=Xe.create,iw=Xe.strictCreate,sw=Tr.create,aw=Ri.create,cw=zr.create,uw=At.create,lw=Ti.create,dw=mn.create,pw=hn.create,fw=zi.create,mw=Er.create,hw=Ir.create,gw=Pr.create,yw=Or.create,_w=nr.create,vw=dt.create,bw=Qe.create,ww=Ct.create,$w=dt.createWithPreprocess,xw=oo.create,Sw=()=>cf().optional(),kw=()=>uf().optional(),Rw=()=>lf().optional(),Tw={string:t=>tr.create({...t,coerce:!0}),number:t=>wr.create({...t,coerce:!0}),boolean:t=>xr.create({...t,coerce:!0}),bigint:t=>$r.create({...t,coerce:!0}),date:t=>Sr.create({...t,coerce:!0})};var zw=V;var Ew=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 s.prototype)l in a||Object.defineProperty(a,l,{value:s.prototype[l].bind(a)});a._zod.constr=s,a._zod.def=c}let o=r?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:t});function s(a){var c;let u=r?.Parent?new i:this;n(u,a),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}return Object.defineProperty(s,"init",{value:n}),Object.defineProperty(s,Symbol.hasInstance,{value:a=>r?.Parent&&a instanceof r.Parent?!0:a?._zod?.traits?.has(t)}),Object.defineProperty(s,"name",{value:t}),s}var Iw=Symbol("zod_brand"),Gt=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Ei={};function st(t){return t&&Object.assign(Ei,t),Ei}var X={};Ca(X,{BIGINT_FORMAT_RANGES:()=>pf,Class:()=>Va,NUMBER_FORMAT_RANGES:()=>Ja,aborted:()=>Mr,allowsEval:()=>Ba,assert:()=>Cw,assertEqual:()=>Pw,assertIs:()=>Nw,assertNever:()=>Aw,assertNotEqual:()=>Ow,assignProp:()=>Fa,cached:()=>ao,captureStackTrace:()=>Pi,cleanEnum:()=>Jw,cleanRegex:()=>uo,clone:()=>at,createTransparentProxy:()=>Vw,defineLazy:()=>pe,esc:()=>jr,escapeRegex:()=>or,extend:()=>Fw,finalizeIssue:()=>$t,floatSafeRemainder:()=>Ua,getElementAtPath:()=>jw,getEnumValues:()=>so,getLengthableOrigin:()=>lo,getParsedType:()=>qw,getSizableOrigin:()=>ff,isObject:()=>yn,isPlainObject:()=>_n,issue:()=>Ka,joinValues:()=>Ii,jsonStringifyReplacer:()=>La,merge:()=>Bw,normalizeParams:()=>L,nullish:()=>co,numKeys:()=>Dw,omit:()=>Uw,optionalKeys:()=>Ga,partial:()=>Hw,pick:()=>Lw,prefixIssues:()=>jt,primitiveTypes:()=>df,promiseAllObject:()=>Mw,propertyKeyTypes:()=>Ha,randomString:()=>Zw,required:()=>Gw,stringifyPrimitive:()=>Oi,unwrapMessage:()=>io});function Pw(t){return t}function Ow(t){return t}function Nw(t){}function Aw(t){throw new Error}function Cw(t){}function so(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 Ii(t,e="|"){return t.map(r=>Oi(r)).join(e)}function La(t,e){return typeof e=="bigint"?e.toString():e}function ao(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function co(t){return t==null}function uo(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function Ua(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,i=Number.parseInt(t.toFixed(o).replace(".","")),s=Number.parseInt(e.toFixed(o).replace(".",""));return i%s/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 Fa(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function jw(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function Mw(t){let e=Object.keys(t),r=e.map(n=>t[n]);return Promise.all(r).then(n=>{let o={};for(let i=0;i<e.length;i++)o[e[i]]=n[i];return o})}function Zw(t=10){let e="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<t;n++)r+=e[Math.floor(Math.random()*e.length)];return r}function jr(t){return JSON.stringify(t)}var Pi=Error.captureStackTrace?Error.captureStackTrace:(...t)=>{};function yn(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var Ba=ao(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function _n(t){if(yn(t)===!1)return!1;let e=t.constructor;if(e===void 0)return!0;let r=e.prototype;return!(yn(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Dw(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var qw=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}`)}},Ha=new Set(["string","number","symbol"]),df=new Set(["string","number","bigint","boolean","symbol","undefined"]);function or(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function at(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}function L(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 Vw(t){let e;return new Proxy({},{get(r,n,o){return e??(e=t()),Reflect.get(e,n,o)},set(r,n,o,i){return e??(e=t()),Reflect.set(e,n,o,i)},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 Oi(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function Ga(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}var Ja={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]},pf={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Lw(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 at(t,{...t._zod.def,shape:r,checks:[]})}function Uw(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 at(t,{...t._zod.def,shape:r,checks:[]})}function Fw(t,e){if(!_n(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 Fa(this,"shape",n),n},checks:[]};return at(t,r)}function Bw(t,e){return at(t,{...t._zod.def,get shape(){let r={...t._zod.def.shape,...e._zod.def.shape};return Fa(this,"shape",r),r},catchall:e._zod.def.catchall,checks:[]})}function Hw(t,e,r){let n=e._zod.def.shape,o={...n};if(r)for(let i in r){if(!(i in n))throw new Error(`Unrecognized key: "${i}"`);r[i]&&(o[i]=t?new t({type:"optional",innerType:n[i]}):n[i])}else for(let i in n)o[i]=t?new t({type:"optional",innerType:n[i]}):n[i];return at(e,{...e._zod.def,shape:o,checks:[]})}function Gw(t,e,r){let n=e._zod.def.shape,o={...n};if(r)for(let i in r){if(!(i in o))throw new Error(`Unrecognized key: "${i}"`);r[i]&&(o[i]=new t({type:"nonoptional",innerType:n[i]}))}else for(let i in n)o[i]=new t({type:"nonoptional",innerType:n[i]});return at(e,{...e._zod.def,shape:o,checks:[]})}function Mr(t,e=0){for(let r=e;r<t.issues.length;r++)if(t.issues[r]?.continue!==!0)return!0;return!1}function jt(t,e){return e.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function io(t){return typeof t=="string"?t:t?.message}function $t(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let o=io(t.inst?._zod.def?.error?.(t))??io(e?.error?.(t))??io(r.customError?.(t))??io(r.localeError?.(t))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function ff(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function lo(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function Ka(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function Jw(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}var Va=class{constructor(...e){}};var mf=(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,La,2)},enumerable:!0}),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},Ni=b("$ZodError",mf),po=b("$ZodError",mf,{Parent:Error});function Wa(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 Ya(t,e){let r=e||function(i){return i.message},n={_errors:[]},o=i=>{for(let s of i.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map(a=>o({issues:a}));else if(s.code==="invalid_key")o({issues:s.issues});else if(s.code==="invalid_element")o({issues:s.issues});else if(s.path.length===0)n._errors.push(r(s));else{let a=n,c=0;for(;c<s.path.length;){let u=s.path[c];c===s.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(s))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(t),n}var Qa=t=>(e,r,n,o)=>{let i=n?Object.assign(n,{async:!1}):{async:!1},s=e._zod.run({value:r,issues:[]},i);if(s instanceof Promise)throw new Gt;if(s.issues.length){let a=new(o?.Err??t)(s.issues.map(c=>$t(c,i,st())));throw Pi(a,o?.callee),a}return s.value},Xa=Qa(po),ec=t=>async(e,r,n,o)=>{let i=n?Object.assign(n,{async:!0}):{async:!0},s=e._zod.run({value:r,issues:[]},i);if(s instanceof Promise&&(s=await s),s.issues.length){let a=new(o?.Err??t)(s.issues.map(c=>$t(c,i,st())));throw Pi(a,o?.callee),a}return s.value},tc=ec(po),rc=t=>(e,r,n)=>{let o=n?{...n,async:!1}:{async:!1},i=e._zod.run({value:r,issues:[]},o);if(i instanceof Promise)throw new Gt;return i.issues.length?{success:!1,error:new(t??Ni)(i.issues.map(s=>$t(s,o,st())))}:{success:!0,data:i.value}},Zr=rc(po),nc=t=>async(e,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},i=e._zod.run({value:r,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new t(i.issues.map(s=>$t(s,o,st())))}:{success:!0,data:i.value}},Dr=nc(po);var hf=/^[cC][^\s-]{8,}$/,gf=/^[0-9a-z]+$/,yf=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,_f=/^[0-9a-vA-V]{20}$/,vf=/^[A-Za-z0-9]{27}$/,bf=/^[a-zA-Z0-9_-]{21}$/,wf=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var $f=/^([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})$/,oc=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 xf=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var Ww="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Sf(){return new RegExp(Ww,"u")}var kf=/^(?:(?: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])$/,Rf=/^(([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})$/,Tf=/^((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])$/,zf=/^(([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])$/,Ef=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,ic=/^[A-Za-z0-9_-]*$/,If=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var Pf=/^\+(?:[0-9]){6,14}[0-9]$/,Of="(?:(?:\\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])))",Nf=new RegExp(`^${Of}$`);function Af(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 Cf(t){return new RegExp(`^${Af(t)}$`)}function jf(t){let e=Af({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(`^${Of}T(?:${n})$`)}var Mf=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)};var Zf=/^\d+$/,Df=/^-?\d+(?:\.\d+)?/i,qf=/true|false/i,Vf=/null/i;var Lf=/^[^A-Z]*$/,Uf=/^[^a-z]*$/;var Ae=b("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),Ff={number:"number",bigint:"bigint",object:"date"},sc=b("$ZodCheckLessThan",(t,e)=>{Ae.init(t,e);let r=Ff[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,i=(e.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value<i&&(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})}}),ac=b("$ZodCheckGreaterThan",(t,e)=>{Ae.init(t,e);let r=Ff[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,i=(e.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>i&&(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})}}),Bf=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):Ua(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})}}),Hf=b("$ZodCheckNumberFormat",(t,e)=>{Ae.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[o,i]=Ja[e.format];t._zod.onattach.push(s=>{let a=s._zod.bag;a.format=e.format,a.minimum=o,a.maximum=i,r&&(a.pattern=Zf)}),t._zod.check=s=>{let a=s.value;if(r){if(!Number.isInteger(a)){s.issues.push({expected:n,format:e.format,code:"invalid_type",input:a,inst:t});return}if(!Number.isSafeInteger(a)){a>0?s.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort}):s.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&&s.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:t,continue:!e.abort}),a>i&&s.issues.push({origin:"number",input:a,code:"too_big",maximum:i,inst:t})}});var Gf=b("$ZodCheckMaxLength",(t,e)=>{var r;Ae.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!co(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 s=lo(o);n.issues.push({origin:s,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Jf=b("$ZodCheckMinLength",(t,e)=>{var r;Ae.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!co(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 s=lo(o);n.issues.push({origin:s,code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Kf=b("$ZodCheckLengthEquals",(t,e)=>{var r;Ae.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!co(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,i=o.length;if(i===e.length)return;let s=lo(o),a=i>e.length;n.issues.push({origin:s,...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})}}),fo=b("$ZodCheckStringFormat",(t,e)=>{var r,n;Ae.init(t,e),t._zod.onattach.push(o=>{let i=o._zod.bag;i.format=e.format,e.pattern&&(i.patterns??(i.patterns=new Set),i.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=()=>{})}),Wf=b("$ZodCheckRegex",(t,e)=>{fo.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})}}),Yf=b("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=Lf),fo.init(t,e)}),Qf=b("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=Uf),fo.init(t,e)}),Xf=b("$ZodCheckIncludes",(t,e)=>{Ae.init(t,e);let r=or(e.includes),n=new RegExp(typeof e.position=="number"?`^.{${e.position}}${r}`:r);e.pattern=n,t._zod.onattach.push(o=>{let i=o._zod.bag;i.patterns??(i.patterns=new Set),i.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})}}),em=b("$ZodCheckStartsWith",(t,e)=>{Ae.init(t,e);let r=new RegExp(`^${or(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})}}),tm=b("$ZodCheckEndsWith",(t,e)=>{Ae.init(t,e);let r=new RegExp(`.*${or(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 rm=b("$ZodCheckOverwrite",(t,e)=>{Ae.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});var Ci=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
- `).filter(s=>s),o=Math.min(...n.map(s=>s.length-s.trimStart().length)),i=n.map(s=>s.slice(o)).map(s=>" ".repeat(this.indent*2)+s);for(let s of i)this.content.push(s)}compile(){let e=Function,r=this?.args,o=[...(this?.content??[""]).map(i=>` ${i}`)];return new e(...r,o.join(`
12
- `))}};var om={major:4,minor:0,patch:0};var ue=b("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=om;let n=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&n.unshift(t);for(let o of n)for(let i of o._zod.onattach)i(t);if(n.length===0)(r=t._zod).deferred??(r.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{let o=(i,s,a)=>{let c=Mr(i),u;for(let l of s){if(l._zod.def.when){if(!l._zod.def.when(i))continue}else if(c)continue;let d=i.issues.length,f=l._zod.check(i);if(f instanceof Promise&&a?.async===!1)throw new Gt;if(u||f instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await f,i.issues.length!==d&&(c||(c=Mr(i,d)))});else{if(i.issues.length===d)continue;c||(c=Mr(i,d))}}return u?u.then(()=>i):i};t._zod.run=(i,s)=>{let a=t._zod.parse(i,s);if(a instanceof Promise){if(s.async===!1)throw new Gt;return a.then(c=>o(c,n,s))}return o(a,n,s)}}t["~standard"]={validate:o=>{try{let i=Zr(t,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return Dr(t,o).then(s=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}}),mo=b("$ZodString",(t,e)=>{ue.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??Mf(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)=>{fo.init(t,e),mo.init(t,e)}),uc=b("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=$f),fe.init(t,e)}),lc=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=oc(n))}else e.pattern??(e.pattern=oc());fe.init(t,e)}),dc=b("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=xf),fe.init(t,e)}),pc=b("$ZodURL",(t,e)=>{fe.init(t,e),t._zod.check=r=>{try{let n=r.value,o=new URL(n),i=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:If.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("/")&&i.endsWith("/")?r.value=i.slice(0,-1):r.value=i;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:t,continue:!e.abort})}}}),fc=b("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=Sf()),fe.init(t,e)}),mc=b("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=bf),fe.init(t,e)}),hc=b("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=hf),fe.init(t,e)}),gc=b("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=gf),fe.init(t,e)}),yc=b("$ZodULID",(t,e)=>{e.pattern??(e.pattern=yf),fe.init(t,e)}),_c=b("$ZodXID",(t,e)=>{e.pattern??(e.pattern=_f),fe.init(t,e)}),vc=b("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=vf),fe.init(t,e)}),mm=b("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=jf(e)),fe.init(t,e)}),hm=b("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=Nf),fe.init(t,e)}),gm=b("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=Cf(e)),fe.init(t,e)}),ym=b("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=wf),fe.init(t,e)}),bc=b("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=kf),fe.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),wc=b("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=Rf),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})}}}),$c=b("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=Tf),fe.init(t,e)}),xc=b("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=zf),fe.init(t,e),t._zod.check=r=>{let[n,o]=r.value.split("/");try{if(!o)throw new Error;let i=Number(o);if(`${i}`!==o)throw new Error;if(i<0||i>128)throw new Error;new URL(`http://[${n}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:t,continue:!e.abort})}}});function _m(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}var Sc=b("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=Ef),fe.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),t._zod.check=r=>{_m(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function Yw(t){if(!ic.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return _m(r)}var kc=b("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=ic),fe.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),t._zod.check=r=>{Yw(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),Rc=b("$ZodE164",(t,e)=>{e.pattern??(e.pattern=Pf),fe.init(t,e)});function Qw(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 Tc=b("$ZodJWT",(t,e)=>{fe.init(t,e),t._zod.check=r=>{Qw(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}});var Mi=b("$ZodNumber",(t,e)=>{ue.init(t,e),t._zod.pattern=t._zod.bag.pattern??Df,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 i=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:t,...i?{received:i}:{}}),r}}),zc=b("$ZodNumber",(t,e)=>{Hf.init(t,e),Mi.init(t,e)}),Ec=b("$ZodBoolean",(t,e)=>{ue.init(t,e),t._zod.pattern=qf,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 Ic=b("$ZodNull",(t,e)=>{ue.init(t,e),t._zod.pattern=Vf,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 Pc=b("$ZodUnknown",(t,e)=>{ue.init(t,e),t._zod.parse=r=>r}),Oc=b("$ZodNever",(t,e)=>{ue.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)});function im(t,e,r){t.issues.length&&e.issues.push(...jt(r,t.issues)),e.value[r]=t.value}var Nc=b("$ZodArray",(t,e)=>{ue.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 i=[];for(let s=0;s<o.length;s++){let a=o[s],c=e.element._zod.run({value:a,issues:[]},n);c instanceof Promise?i.push(c.then(u=>im(u,r,s))):im(c,r,s)}return i.length?Promise.all(i).then(()=>r):r}});function ji(t,e,r){t.issues.length&&e.issues.push(...jt(r,t.issues)),e.value[r]=t.value}function sm(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(...jt(r,t.issues)):t.value===void 0?r in n&&(e.value[r]=void 0):e.value[r]=t.value}var Zi=b("$ZodObject",(t,e)=>{ue.init(t,e);let r=ao(()=>{let d=Object.keys(e.shape);for(let h of d)if(!(e.shape[h]instanceof ue))throw new Error(`Invalid element at key "${h}": expected a Zod schema`);let f=Ga(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 Ci(["shape","payload","ctx"]),h=r.value,p=_=>{let w=jr(_);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 _ of h.keys)m[_]=`key_${g++}`;f.write("const newResult = {}");for(let _ of h.keys)if(h.optionalKeys.has(_)){let w=m[_];f.write(`const ${w} = ${p(_)};`);let T=jr(_);f.write(`
13
- if (${w}.issues.length) {
14
- if (input[${T}] === undefined) {
15
- if (${T} in input) {
16
- newResult[${T}] = undefined;
17
- }
18
- } else {
19
- payload.issues = payload.issues.concat(
20
- ${w}.issues.map((iss) => ({
21
- ...iss,
22
- path: iss.path ? [${T}, ...iss.path] : [${T}],
23
- }))
24
- );
25
- }
26
- } else if (${w}.value === undefined) {
27
- if (${T} in input) newResult[${T}] = undefined;
28
- } else {
29
- newResult[${T}] = ${w}.value;
30
- }
31
- `)}else{let w=m[_];f.write(`const ${w} = ${p(_)};`),f.write(`
32
- if (${w}.issues.length) payload.issues = payload.issues.concat(${w}.issues.map(iss => ({
33
- ...iss,
34
- path: iss.path ? [${jr(_)}, ...iss.path] : [${jr(_)}]
35
- })));`),f.write(`newResult[${jr(_)}] = ${w}.value`)}f.write("payload.value = newResult;"),f.write("return payload;");let y=f.compile();return(_,w)=>y(d,_,w)},o,i=yn,s=!Ei.jitless,c=s&&Ba.value,u=e.catchall,l;t._zod.parse=(d,f)=>{l??(l=r.value);let h=d.value;if(!i(h))return d.issues.push({expected:"object",code:"invalid_type",input:h,inst:t}),d;let p=[];if(s&&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 O=w[T],_e=O._zod.run({value:h[T],issues:[]},f),ve=O._zod.optin==="optional"&&O._zod.optout==="optional";_e instanceof Promise?p.push(_e.then(it=>ve?sm(it,d,T,h):ji(it,d,T))):ve?sm(_e,d,T,h):ji(_e,d,T)}}if(!u)return p.length?Promise.all(p).then(()=>d):d;let m=[],g=l.keySet,y=u._zod,_=y.def.type;for(let w of Object.keys(h)){if(g.has(w))continue;if(_==="never"){m.push(w);continue}let T=y.run({value:h[w],issues:[]},f);T instanceof Promise?p.push(T.then(O=>ji(O,d,w))):ji(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 am(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(i=>$t(i,n,st())))}),e}var Di=b("$ZodUnion",(t,e)=>{ue.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=>uo(n.source)).join("|")})$`)}}),t._zod.parse=(r,n)=>{let o=!1,i=[];for(let s of e.options){let a=s._zod.run({value:r.value,issues:[]},n);if(a instanceof Promise)i.push(a),o=!0;else{if(a.issues.length===0)return a;i.push(a)}}return o?Promise.all(i).then(s=>am(s,r,t,n)):am(i,r,t,n)}}),Ac=b("$ZodDiscriminatedUnion",(t,e)=>{Di.init(t,e);let r=t._zod.parse;pe(t._zod,"propValues",()=>{let o={};for(let i of e.options){let s=i._zod.propValues;if(!s||Object.keys(s).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(i)}"`);for(let[a,c]of Object.entries(s)){o[a]||(o[a]=new Set);for(let u of c)o[a].add(u)}}return o});let n=ao(()=>{let o=e.options,i=new Map;for(let s of o){let a=s._zod.propValues[e.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(s)}"`);for(let c of a){if(i.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);i.set(c,s)}}return i});t._zod.parse=(o,i)=>{let s=o.value;if(!yn(s))return o.issues.push({code:"invalid_type",expected:"object",input:s,inst:t}),o;let a=n.value.get(s?.[e.discriminator]);return a?a._zod.run(o,i):e.unionFallback?r(o,i):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:s,path:[e.discriminator],inst:t}),o)}}),Cc=b("$ZodIntersection",(t,e)=>{ue.init(t,e),t._zod.parse=(r,n)=>{let o=r.value,i=e.left._zod.run({value:o,issues:[]},n),s=e.right._zod.run({value:o,issues:[]},n);return i instanceof Promise||s instanceof Promise?Promise.all([i,s]).then(([c,u])=>cm(r,c,u)):cm(r,i,s)}});function cc(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(_n(t)&&_n(e)){let r=Object.keys(e),n=Object.keys(t).filter(i=>r.indexOf(i)!==-1),o={...t,...e};for(let i of n){let s=cc(t[i],e[i]);if(!s.valid)return{valid:!1,mergeErrorPath:[i,...s.mergeErrorPath]};o[i]=s.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],i=e[n],s=cc(o,i);if(!s.valid)return{valid:!1,mergeErrorPath:[n,...s.mergeErrorPath]};r.push(s.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function cm(t,e,r){if(e.issues.length&&t.issues.push(...e.issues),r.issues.length&&t.issues.push(...r.issues),Mr(t))return t;let n=cc(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 jc=b("$ZodRecord",(t,e)=>{ue.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!_n(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:t}),r;let i=[];if(e.keyType._zod.values){let s=e.keyType._zod.values;r.value={};for(let c of s)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let u=e.valueType._zod.run({value:o[c],issues:[]},n);u instanceof Promise?i.push(u.then(l=>{l.issues.length&&r.issues.push(...jt(c,l.issues)),r.value[c]=l.value})):(u.issues.length&&r.issues.push(...jt(c,u.issues)),r.value[c]=u.value)}let a;for(let c in o)s.has(c)||(a=a??[],a.push(c));a&&a.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:t,keys:a})}else{r.value={};for(let s of Reflect.ownKeys(o)){if(s==="__proto__")continue;let a=e.keyType._zod.run({value:s,issues:[]},n);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){r.issues.push({origin:"record",code:"invalid_key",issues:a.issues.map(u=>$t(u,n,st())),input:s,path:[s],inst:t}),r.value[a.value]=a.value;continue}let c=e.valueType._zod.run({value:o[s],issues:[]},n);c instanceof Promise?i.push(c.then(u=>{u.issues.length&&r.issues.push(...jt(s,u.issues)),r.value[a.value]=u.value})):(c.issues.length&&r.issues.push(...jt(s,c.issues)),r.value[a.value]=c.value)}}return i.length?Promise.all(i).then(()=>r):r}});var Mc=b("$ZodEnum",(t,e)=>{ue.init(t,e);let r=so(e.entries);t._zod.values=new Set(r),t._zod.pattern=new RegExp(`^(${r.filter(n=>Ha.has(typeof n)).map(n=>typeof n=="string"?or(n):n.toString()).join("|")})$`),t._zod.parse=(n,o)=>{let i=n.value;return t._zod.values.has(i)||n.issues.push({code:"invalid_value",values:r,input:i,inst:t}),n}}),Zc=b("$ZodLiteral",(t,e)=>{ue.init(t,e),t._zod.values=new Set(e.values),t._zod.pattern=new RegExp(`^(${e.values.map(r=>typeof r=="string"?or(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 Dc=b("$ZodTransform",(t,e)=>{ue.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(s=>(r.value=s,r));if(o instanceof Promise)throw new Gt;return r.value=o,r}}),qc=b("$ZodOptional",(t,e)=>{ue.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(`^(${uo(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)}),Vc=b("$ZodNullable",(t,e)=>{ue.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(`^(${uo(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)}),Lc=b("$ZodDefault",(t,e)=>{ue.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(i=>um(i,e)):um(o,e)}});function um(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var Uc=b("$ZodPrefault",(t,e)=>{ue.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))}),Fc=b("$ZodNonOptional",(t,e)=>{ue.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(i=>lm(i,t)):lm(o,t)}});function lm(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 Bc=b("$ZodCatch",(t,e)=>{ue.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(i=>(r.value=i.value,i.issues.length&&(r.value=e.catchValue({...r,error:{issues:i.issues.map(s=>$t(s,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(i=>$t(i,n,st()))},input:r.value}),r.issues=[]),r)}});var Hc=b("$ZodPipe",(t,e)=>{ue.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(i=>dm(i,e,n)):dm(o,e,n)}});function dm(t,e,r){return Mr(t)?t:e.out._zod.run({value:t.value,issues:t.issues},r)}var Gc=b("$ZodReadonly",(t,e)=>{ue.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(pm):pm(o)}});function pm(t){return t.value=Object.freeze(t.value),t}var Jc=b("$ZodCustom",(t,e)=>{Ae.init(t,e),ue.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(i=>fm(i,r,n,t));fm(o,r,n,t)}});function fm(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(Ka(o))}}var Xw=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},e$=()=>{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 ${Xw(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${Oi(n.values[0])}`:`Invalid option: expected one of ${Ii(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",i=e(n.origin);return i?`Too big: expected ${n.origin??"value"} to have ${o}${n.maximum.toString()} ${i.unit??"elements"}`:`Too big: expected ${n.origin??"value"} to be ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",i=e(n.origin);return i?`Too small: expected ${n.origin} to have ${o}${n.minimum.toString()} ${i.unit}`:`Too small: expected ${n.origin} to be ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Invalid string: must start with "${o.prefix}"`:o.format==="ends_with"?`Invalid string: must end with "${o.suffix}"`:o.format==="includes"?`Invalid string: must include "${o.includes}"`:o.format==="regex"?`Invalid string: must match pattern ${o.pattern}`:`Invalid ${r[o.format]??n.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${n.divisor}`;case"unrecognized_keys":return`Unrecognized key${n.keys.length>1?"s":""}: ${Ii(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 vm(){return{localeError:e$()}}var t$=Symbol("ZodOutput"),r$=Symbol("ZodInput"),ho=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 bm(){return new ho}var ir=bm();function Kc(t,e){return new t({type:"string",...L(e)})}function Wc(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...L(e)})}function qi(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...L(e)})}function Yc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...L(e)})}function Qc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...L(e)})}function Xc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...L(e)})}function eu(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...L(e)})}function tu(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...L(e)})}function ru(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...L(e)})}function nu(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...L(e)})}function ou(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...L(e)})}function iu(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...L(e)})}function su(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...L(e)})}function au(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...L(e)})}function cu(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...L(e)})}function uu(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...L(e)})}function lu(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...L(e)})}function du(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...L(e)})}function pu(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...L(e)})}function fu(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...L(e)})}function mu(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...L(e)})}function hu(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...L(e)})}function gu(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...L(e)})}function wm(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...L(e)})}function $m(t,e){return new t({type:"string",format:"date",check:"string_format",...L(e)})}function xm(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...L(e)})}function Sm(t,e){return new t({type:"string",format:"duration",check:"string_format",...L(e)})}function yu(t,e){return new t({type:"number",checks:[],...L(e)})}function _u(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...L(e)})}function vu(t,e){return new t({type:"boolean",...L(e)})}function bu(t,e){return new t({type:"null",...L(e)})}function wu(t){return new t({type:"unknown"})}function $u(t,e){return new t({type:"never",...L(e)})}function Vi(t,e){return new sc({check:"less_than",...L(e),value:t,inclusive:!1})}function go(t,e){return new sc({check:"less_than",...L(e),value:t,inclusive:!0})}function Li(t,e){return new ac({check:"greater_than",...L(e),value:t,inclusive:!1})}function yo(t,e){return new ac({check:"greater_than",...L(e),value:t,inclusive:!0})}function Ui(t,e){return new Bf({check:"multiple_of",...L(e),value:t})}function Fi(t,e){return new Gf({check:"max_length",...L(e),maximum:t})}function vn(t,e){return new Jf({check:"min_length",...L(e),minimum:t})}function Bi(t,e){return new Kf({check:"length_equals",...L(e),length:t})}function xu(t,e){return new Wf({check:"string_format",format:"regex",...L(e),pattern:t})}function Su(t){return new Yf({check:"string_format",format:"lowercase",...L(t)})}function ku(t){return new Qf({check:"string_format",format:"uppercase",...L(t)})}function Ru(t,e){return new Xf({check:"string_format",format:"includes",...L(e),includes:t})}function Tu(t,e){return new em({check:"string_format",format:"starts_with",...L(e),prefix:t})}function zu(t,e){return new tm({check:"string_format",format:"ends_with",...L(e),suffix:t})}function qr(t){return new rm({check:"overwrite",tx:t})}function Eu(t){return qr(e=>e.normalize(t))}function Iu(){return qr(t=>t.trim())}function Pu(){return qr(t=>t.toLowerCase())}function Ou(){return qr(t=>t.toUpperCase())}function km(t,e,r){return new t({type:"array",element:e,...L(r)})}function Nu(t,e,r){let n=L(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function Au(t,e,r){return new t({type:"custom",check:"custom",fn:e,...L(r)})}var Hi=class{constructor(e){this.counter=0,this.metadataRegistry=e?.metadata??ir,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,i={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},s=this.seen.get(e);if(s)return s.count++,r.schemaPath.includes(e)&&(s.cycle=r.path),s.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:y,patterns:_,contentEncoding:w}=e._zod.bag;if(typeof m=="number"&&(p.minLength=m),typeof g=="number"&&(p.maxLength=g),y&&(p.format=i[y]??y,p.format===""&&delete p.format),w&&(p.contentEncoding=w),_&&_.size>0){let T=[..._];T.length===1?p.pattern=T[0].source:T.length>1&&(a.schema.allOf=[...T.map(O=>({...this.target==="draft-7"?{type:"string"}:{},pattern:O.source}))])}break}case"number":{let p=h,{minimum:m,maximum:g,format:y,multipleOf:_,exclusiveMaximum:w,exclusiveMinimum:T}=e._zod.bag;typeof y=="string"&&y.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 _=="number"&&(p.multipleOf=_);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 _ in m)p.properties[_]=this.process(m[_],{...d,path:[...d.path,"properties",_]});let g=new Set(Object.keys(m)),y=new Set([...g].filter(_=>{let w=o.shape[_]._zod;return this.io==="input"?w.optin===void 0:w.optout===void 0}));y.size>0&&(p.required=Array.from(y)),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]}),y=w=>"allOf"in w&&Object.keys(w).length===1,_=[...y(m)?m.allOf:[m],...y(g)?g.allOf:[g]];p.allOf=_;break}case"tuple":{let p=h;p.type="array";let m=o.items.map((_,w)=>this.process(_,{...d,path:[...d.path,"prefixItems",w]}));if(this.target==="draft-2020-12"?p.prefixItems=m:p.items=m,o.rest){let _=this.process(o.rest,{...d,path:[...d.path,"items"]});this.target==="draft-2020-12"?p.items=_:p.additionalItems=_}o.rest&&(p.items=this.process(o.rest,{...d,path:[...d.path,"items"]}));let{minimum:g,maximum:y}=e._zod.bag;typeof g=="number"&&(p.minItems=g),typeof y=="number"&&(p.maxItems=y);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=so(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:y,mime:_}=e._zod.bag;g!==void 0&&(m.minLength=g),y!==void 0&&(m.maxLength=y),_?_.length===1?(m.contentMediaType=_[0],Object.assign(p,m)):p.anyOf=_.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"&&Ee(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 i=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??(_=>_);if(m)return{ref:g(m)};let y=l[1].defId??l[1].schema.id??`schema${this.counter++}`;return l[1].defId=y,{defId:y,ref:`${g("__shared")}#/${d}/${y}`}}if(l[1]===o)return{ref:"#"};let h=`#/${d}/`,p=l[1].schema.id??`__schema${this.counter++}`;return{defId:p,ref:h+p}},s=l=>{if(l[1].schema.$ref)return;let d=l[1],{ref:f,defId:h}=i(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
-
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]){s(l);continue}if(n.external){let h=n.external.registry.get(l[0])?.id;if(e!==l[0]&&h){s(l);continue}}if(this.metadataRegistry.get(l[0])?.id){s(l);continue}if(d.cycle){s(l);continue}if(d.count>1&&n.reused==="ref"){s(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 Cu(t,e){if(t instanceof ho){let n=new Hi(e),o={};for(let a of t._idmap.entries()){let[c,u]=a;n.process(u)}let i={},s={registry:t,uri:e?.uri,defs:o};for(let a of t._idmap.entries()){let[c,u]=a;i[c]=n.emit(u,{...e,external:s})}if(Object.keys(o).length>0){let a=n.target==="draft-2020-12"?"$defs":"definitions";i.__shared={[a]:o}}return{schemas:i}}let r=new Hi(e);return r.process(t),r.emit(t,e)}function Ee(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 Ee(o.element,r);case"object":{for(let i in o.shape)if(Ee(o.shape[i],r))return!0;return!1}case"union":{for(let i of o.options)if(Ee(i,r))return!0;return!1}case"intersection":return Ee(o.left,r)||Ee(o.right,r);case"tuple":{for(let i of o.items)if(Ee(i,r))return!0;return!!(o.rest&&Ee(o.rest,r))}case"record":return Ee(o.keyType,r)||Ee(o.valueType,r);case"map":return Ee(o.keyType,r)||Ee(o.valueType,r);case"set":return Ee(o.valueType,r);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return Ee(o.innerType,r);case"lazy":return Ee(o.getter(),r);case"default":return Ee(o.innerType,r);case"prefault":return Ee(o.innerType,r);case"custom":return!1;case"transform":return!0;case"pipe":return Ee(o.in,r)||Ee(o.out,r);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${o.type}`)}var M$=b("ZodMiniType",(t,e)=>{if(!t._zod)throw new Error("Uninitialized schema in ZodMiniType.");ue.init(t,e),t.def=e,t.parse=(r,n)=>Xa(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>Zr(t,r,n),t.parseAsync=async(r,n)=>tc(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>Dr(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)=>at(t,r,n),t.brand=()=>t,t.register=(r,n)=>(r.add(t,n),t)});var Z$=b("ZodMiniObject",(t,e)=>{Zi.init(t,e),M$.init(t,e),X.defineLazy(t,"shape",()=>e.shape)});function ju(t,e){let r={type:"object",get shape(){return X.assignProp(this,"shape",{...t}),this.shape},...X.normalizeParams(e)};return new Z$(r)}function pt(t){return!!t._zod}function Lr(t){let e=Object.values(t);if(e.length===0)return ju({});let r=e.every(pt),n=e.every(o=>!pt(o));if(r)return ju(t);if(n)return Da(t);throw new Error("Mixed Zod versions detected in object shape.")}function sr(t,e){return pt(t)?Zr(t,e):t.safeParse(e)}async function Gi(t,e){return pt(t)?await Dr(t,e):await t.safeParseAsync(e)}function ar(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 bn(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 Lr(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 Ji(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 Tm(t){return t.description}function zm(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 Ki(t){if(pt(t)){let i=t._zod?.def;if(i){if(i.value!==void 0)return i.value;if(Array.isArray(i.values)&&i.values.length>0)return i.values[0]}}let r=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 _o={};Ca(_o,{ZodISODate:()=>Im,ZodISODateTime:()=>Em,ZodISODuration:()=>Om,ZodISOTime:()=>Pm,date:()=>Zu,datetime:()=>Mu,duration:()=>qu,time:()=>Du});var Em=b("ZodISODateTime",(t,e)=>{mm.init(t,e),be.init(t,e)});function Mu(t){return wm(Em,t)}var Im=b("ZodISODate",(t,e)=>{hm.init(t,e),be.init(t,e)});function Zu(t){return $m(Im,t)}var Pm=b("ZodISOTime",(t,e)=>{gm.init(t,e),be.init(t,e)});function Du(t){return xm(Pm,t)}var Om=b("ZodISODuration",(t,e)=>{ym.init(t,e),be.init(t,e)});function qu(t){return Sm(Om,t)}var Nm=(t,e)=>{Ni.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>Ya(t,r)},flatten:{value:r=>Wa(t,r)},addIssue:{value:r=>t.issues.push(r)},addIssues:{value:r=>t.issues.push(...r)},isEmpty:{get(){return t.issues.length===0}}})},bA=b("ZodError",Nm),vo=b("ZodError",Nm,{Parent:Error});var Am=Qa(vo),Cm=ec(vo),jm=rc(vo),Mm=nc(vo);var ke=b("ZodType",(t,e)=>(ue.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)=>at(t,r,n),t.brand=()=>t,t.register=(r,n)=>(r.add(t,n),t),t.parse=(r,n)=>Am(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>jm(t,r,n),t.parseAsync=async(r,n)=>Cm(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>Mm(t,r,n),t.spa=t.safeParseAsync,t.refine=(r,n)=>t.check(Cx(r,n)),t.superRefine=r=>t.check(jx(r)),t.overwrite=r=>t.check(qr(r)),t.optional=()=>$e(t),t.nullable=()=>qm(t),t.nullish=()=>$e(qm(t)),t.nonoptional=r=>zx(t,r),t.array=()=>ee(t),t.or=r=>he([t,r]),t.and=r=>Yi(t,r),t.transform=r=>Lu(t,Hm(r)),t.default=r=>kx(t,r),t.prefault=r=>Tx(t,r),t.catch=r=>Ix(t,r),t.pipe=r=>Lu(t,r),t.readonly=()=>Nx(t),t.describe=r=>{let n=t.clone();return ir.add(n,{description:r}),n},Object.defineProperty(t,"description",{get(){return ir.get(t)?.description},configurable:!0}),t.meta=(...r)=>{if(r.length===0)return ir.get(t);let n=t.clone();return ir.add(n,r[0]),n},t.isOptional=()=>t.safeParse(void 0).success,t.isNullable=()=>t.safeParse(null).success,t)),Vm=b("_ZodString",(t,e)=>{mo.init(t,e),ke.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(xu(...n)),t.includes=(...n)=>t.check(Ru(...n)),t.startsWith=(...n)=>t.check(Tu(...n)),t.endsWith=(...n)=>t.check(zu(...n)),t.min=(...n)=>t.check(vn(...n)),t.max=(...n)=>t.check(Fi(...n)),t.length=(...n)=>t.check(Bi(...n)),t.nonempty=(...n)=>t.check(vn(1,...n)),t.lowercase=n=>t.check(Su(n)),t.uppercase=n=>t.check(ku(n)),t.trim=()=>t.check(Iu()),t.normalize=(...n)=>t.check(Eu(...n)),t.toLowerCase=()=>t.check(Pu()),t.toUpperCase=()=>t.check(Ou())}),G$=b("ZodString",(t,e)=>{mo.init(t,e),Vm.init(t,e),t.email=r=>t.check(Wc(J$,r)),t.url=r=>t.check(tu(K$,r)),t.jwt=r=>t.check(gu(lx,r)),t.emoji=r=>t.check(ru(W$,r)),t.guid=r=>t.check(qi(Zm,r)),t.uuid=r=>t.check(Yc(Wi,r)),t.uuidv4=r=>t.check(Qc(Wi,r)),t.uuidv6=r=>t.check(Xc(Wi,r)),t.uuidv7=r=>t.check(eu(Wi,r)),t.nanoid=r=>t.check(nu(Y$,r)),t.guid=r=>t.check(qi(Zm,r)),t.cuid=r=>t.check(ou(Q$,r)),t.cuid2=r=>t.check(iu(X$,r)),t.ulid=r=>t.check(su(ex,r)),t.base64=r=>t.check(fu(ax,r)),t.base64url=r=>t.check(mu(cx,r)),t.xid=r=>t.check(au(tx,r)),t.ksuid=r=>t.check(cu(rx,r)),t.ipv4=r=>t.check(uu(nx,r)),t.ipv6=r=>t.check(lu(ox,r)),t.cidrv4=r=>t.check(du(ix,r)),t.cidrv6=r=>t.check(pu(sx,r)),t.e164=r=>t.check(hu(ux,r)),t.datetime=r=>t.check(Mu(r)),t.date=r=>t.check(Zu(r)),t.time=r=>t.check(Du(r)),t.duration=r=>t.check(qu(r))});function v(t){return Kc(G$,t)}var be=b("ZodStringFormat",(t,e)=>{fe.init(t,e),Vm.init(t,e)}),J$=b("ZodEmail",(t,e)=>{dc.init(t,e),be.init(t,e)});var Zm=b("ZodGUID",(t,e)=>{uc.init(t,e),be.init(t,e)});var Wi=b("ZodUUID",(t,e)=>{lc.init(t,e),be.init(t,e)});var K$=b("ZodURL",(t,e)=>{pc.init(t,e),be.init(t,e)});var W$=b("ZodEmoji",(t,e)=>{fc.init(t,e),be.init(t,e)});var Y$=b("ZodNanoID",(t,e)=>{mc.init(t,e),be.init(t,e)});var Q$=b("ZodCUID",(t,e)=>{hc.init(t,e),be.init(t,e)});var X$=b("ZodCUID2",(t,e)=>{gc.init(t,e),be.init(t,e)});var ex=b("ZodULID",(t,e)=>{yc.init(t,e),be.init(t,e)});var tx=b("ZodXID",(t,e)=>{_c.init(t,e),be.init(t,e)});var rx=b("ZodKSUID",(t,e)=>{vc.init(t,e),be.init(t,e)});var nx=b("ZodIPv4",(t,e)=>{bc.init(t,e),be.init(t,e)});var ox=b("ZodIPv6",(t,e)=>{wc.init(t,e),be.init(t,e)});var ix=b("ZodCIDRv4",(t,e)=>{$c.init(t,e),be.init(t,e)});var sx=b("ZodCIDRv6",(t,e)=>{xc.init(t,e),be.init(t,e)});var ax=b("ZodBase64",(t,e)=>{Sc.init(t,e),be.init(t,e)});var cx=b("ZodBase64URL",(t,e)=>{kc.init(t,e),be.init(t,e)});var ux=b("ZodE164",(t,e)=>{Rc.init(t,e),be.init(t,e)});var lx=b("ZodJWT",(t,e)=>{Tc.init(t,e),be.init(t,e)});var Lm=b("ZodNumber",(t,e)=>{Mi.init(t,e),ke.init(t,e),t.gt=(n,o)=>t.check(Li(n,o)),t.gte=(n,o)=>t.check(yo(n,o)),t.min=(n,o)=>t.check(yo(n,o)),t.lt=(n,o)=>t.check(Vi(n,o)),t.lte=(n,o)=>t.check(go(n,o)),t.max=(n,o)=>t.check(go(n,o)),t.int=n=>t.check(Dm(n)),t.safe=n=>t.check(Dm(n)),t.positive=n=>t.check(Li(0,n)),t.nonnegative=n=>t.check(yo(0,n)),t.negative=n=>t.check(Vi(0,n)),t.nonpositive=n=>t.check(go(0,n)),t.multipleOf=(n,o)=>t.check(Ui(n,o)),t.step=(n,o)=>t.check(Ui(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 yu(Lm,t)}var dx=b("ZodNumberFormat",(t,e)=>{zc.init(t,e),Lm.init(t,e)});function Dm(t){return _u(dx,t)}var px=b("ZodBoolean",(t,e)=>{Ec.init(t,e),ke.init(t,e)});function Oe(t){return vu(px,t)}var fx=b("ZodNull",(t,e)=>{Ic.init(t,e),ke.init(t,e)});function Um(t){return bu(fx,t)}var mx=b("ZodUnknown",(t,e)=>{Pc.init(t,e),ke.init(t,e)});function we(){return wu(mx)}var hx=b("ZodNever",(t,e)=>{Oc.init(t,e),ke.init(t,e)});function gx(t){return $u(hx,t)}var yx=b("ZodArray",(t,e)=>{Nc.init(t,e),ke.init(t,e),t.element=e.element,t.min=(r,n)=>t.check(vn(r,n)),t.nonempty=r=>t.check(vn(1,r)),t.max=(r,n)=>t.check(Fi(r,n)),t.length=(r,n)=>t.check(Bi(r,n)),t.unwrap=()=>t.element});function ee(t,e){return km(yx,t,e)}var Fm=b("ZodObject",(t,e)=>{Zi.init(t,e),ke.init(t,e),X.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>et(Object.keys(t._zod.def.shape)),t.catchall=r=>t.clone({...t._zod.def,catchall:r}),t.passthrough=()=>t.clone({...t._zod.def,catchall:we()}),t.loose=()=>t.clone({...t._zod.def,catchall:we()}),t.strict=()=>t.clone({...t._zod.def,catchall:gx()}),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(Gm,t,r[0]),t.required=(...r)=>X.required(Jm,t,r[0])});function P(t,e){let r={type:"object",get shape(){return X.assignProp(this,"shape",{...t}),this.shape},...X.normalizeParams(e)};return new Fm(r)}function Ge(t,e){return new Fm({type:"object",get shape(){return X.assignProp(this,"shape",{...t}),this.shape},catchall:we(),...X.normalizeParams(e)})}var Bm=b("ZodUnion",(t,e)=>{Di.init(t,e),ke.init(t,e),t.options=e.options});function he(t,e){return new Bm({type:"union",options:t,...X.normalizeParams(e)})}var _x=b("ZodDiscriminatedUnion",(t,e)=>{Bm.init(t,e),Ac.init(t,e)});function Uu(t,e,r){return new _x({type:"union",options:e,discriminator:t,...X.normalizeParams(r)})}var vx=b("ZodIntersection",(t,e)=>{Cc.init(t,e),ke.init(t,e)});function Yi(t,e){return new vx({type:"intersection",left:t,right:e})}var bx=b("ZodRecord",(t,e)=>{jc.init(t,e),ke.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});function me(t,e,r){return new bx({type:"record",keyType:t,valueType:e,...X.normalizeParams(r)})}var Vu=b("ZodEnum",(t,e)=>{Mc.init(t,e),ke.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 i={};for(let s of n)if(r.has(s))i[s]=e.entries[s];else throw new Error(`Key ${s} not found in enum`);return new Vu({...e,checks:[],...X.normalizeParams(o),entries:i})},t.exclude=(n,o)=>{let i={...e.entries};for(let s of n)if(r.has(s))delete i[s];else throw new Error(`Key ${s} not found in enum`);return new Vu({...e,checks:[],...X.normalizeParams(o),entries:i})}});function et(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new Vu({type:"enum",entries:r,...X.normalizeParams(e)})}var wx=b("ZodLiteral",(t,e)=>{Zc.init(t,e),ke.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 j(t,e){return new wx({type:"literal",values:Array.isArray(t)?t:[t],...X.normalizeParams(e)})}var $x=b("ZodTransform",(t,e)=>{Dc.init(t,e),ke.init(t,e),t._zod.parse=(r,n)=>{r.addIssue=i=>{if(typeof i=="string")r.issues.push(X.issue(i,r.value,e));else{let s=i;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=r.value),s.inst??(s.inst=t),s.continue??(s.continue=!0),r.issues.push(X.issue(s))}};let o=e.transform(r.value,r);return o instanceof Promise?o.then(i=>(r.value=i,r)):(r.value=o,r)}});function Hm(t){return new $x({type:"transform",transform:t})}var Gm=b("ZodOptional",(t,e)=>{qc.init(t,e),ke.init(t,e),t.unwrap=()=>t._zod.def.innerType});function $e(t){return new Gm({type:"optional",innerType:t})}var xx=b("ZodNullable",(t,e)=>{Vc.init(t,e),ke.init(t,e),t.unwrap=()=>t._zod.def.innerType});function qm(t){return new xx({type:"nullable",innerType:t})}var Sx=b("ZodDefault",(t,e)=>{Lc.init(t,e),ke.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function kx(t,e){return new Sx({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var Rx=b("ZodPrefault",(t,e)=>{Uc.init(t,e),ke.init(t,e),t.unwrap=()=>t._zod.def.innerType});function Tx(t,e){return new Rx({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var Jm=b("ZodNonOptional",(t,e)=>{Fc.init(t,e),ke.init(t,e),t.unwrap=()=>t._zod.def.innerType});function zx(t,e){return new Jm({type:"nonoptional",innerType:t,...X.normalizeParams(e)})}var Ex=b("ZodCatch",(t,e)=>{Bc.init(t,e),ke.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function Ix(t,e){return new Ex({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var Px=b("ZodPipe",(t,e)=>{Hc.init(t,e),ke.init(t,e),t.in=e.in,t.out=e.out});function Lu(t,e){return new Px({type:"pipe",in:t,out:e})}var Ox=b("ZodReadonly",(t,e)=>{Gc.init(t,e),ke.init(t,e)});function Nx(t){return new Ox({type:"readonly",innerType:t})}var Km=b("ZodCustom",(t,e)=>{Jc.init(t,e),ke.init(t,e)});function Ax(t){let e=new Ae({check:"custom"});return e._zod.check=t,e}function Wm(t,e){return Nu(Km,t??(()=>!0),e)}function Cx(t,e={}){return Au(Km,t,e)}function jx(t){let e=Ax(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 Fu(t,e){return Lu(Hm(t),e)}st(vm());var Hu="2025-11-25",Ym="2025-03-26",$n=[Hu,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],cr="io.modelcontextprotocol/related-task",Xi="2.0",Ie=Wm(t=>t!==null&&(typeof t=="object"||typeof t=="function")),Qm=he([v(),ae().int()]),Xm=v(),AA=Ge({ttl:ae().optional(),pollInterval:ae().optional()}),Mx=P({ttl:ae().optional()}),Zx=P({taskId:v()}),Gu=Ge({progressToken:Qm.optional(),[cr]:Zx.optional()}),ct=P({_meta:Gu.optional()}),bo=ct.extend({task:Mx.optional()}),eh=t=>bo.safeParse(t).success,Ce=P({method:v(),params:ct.loose().optional()}),ft=P({_meta:Gu.optional()}),mt=P({method:v(),params:ft.loose().optional()}),je=Ge({_meta:Gu.optional()}),es=he([v(),ae().int()]),th=P({jsonrpc:j(Xi),id:es,...Ce.shape}).strict(),ur=t=>th.safeParse(t).success,rh=P({jsonrpc:j(Xi),...mt.shape}).strict(),nh=t=>rh.safeParse(t).success,Ju=P({jsonrpc:j(Xi),id:es,result:je}).strict(),Jt=t=>Ju.safeParse(t).success;var q;(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"})(q||(q={}));var Ku=P({jsonrpc:j(Xi),id:es.optional(),error:P({code:ae().int(),message:v(),data:we().optional()})}).strict();var xn=t=>Ku.safeParse(t).success;var wo=he([th,rh,Ju,Ku]),CA=he([Ju,Ku]),ts=je.strict(),Dx=ft.extend({requestId:es.optional(),reason:v().optional()}),rs=mt.extend({method:j("notifications/cancelled"),params:Dx}),qx=P({src:v(),mimeType:v().optional(),sizes:ee(v()).optional(),theme:et(["light","dark"]).optional()}),$o=P({icons:ee(qx).optional()}),wn=P({name:v(),title:v().optional()}),oh=wn.extend({...wn.shape,...$o.shape,version:v(),websiteUrl:v().optional(),description:v().optional()}),Vx=Yi(P({applyDefaults:Oe().optional()}),me(v(),we())),Lx=Fu(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,Yi(P({form:Vx.optional(),url:Ie.optional()}),me(v(),we()).optional())),Ux=Ge({list:Ie.optional(),cancel:Ie.optional(),requests:Ge({sampling:Ge({createMessage:Ie.optional()}).optional(),elicitation:Ge({create:Ie.optional()}).optional()}).optional()}),Fx=Ge({list:Ie.optional(),cancel:Ie.optional(),requests:Ge({tools:Ge({call:Ie.optional()}).optional()}).optional()}),Bx=P({experimental:me(v(),Ie).optional(),sampling:P({context:Ie.optional(),tools:Ie.optional()}).optional(),elicitation:Lx.optional(),roots:P({listChanged:Oe().optional()}).optional(),tasks:Ux.optional(),extensions:me(v(),Ie).optional()}),Hx=ct.extend({protocolVersion:v(),capabilities:Bx,clientInfo:oh}),ns=Ce.extend({method:j("initialize"),params:Hx}),xo=t=>ns.safeParse(t).success,Gx=P({experimental:me(v(),Ie).optional(),logging:Ie.optional(),completions:Ie.optional(),prompts:P({listChanged:Oe().optional()}).optional(),resources:P({subscribe:Oe().optional(),listChanged:Oe().optional()}).optional(),tools:P({listChanged:Oe().optional()}).optional(),tasks:Fx.optional(),extensions:me(v(),Ie).optional()}),Jx=je.extend({protocolVersion:v(),capabilities:Gx,serverInfo:oh,instructions:v().optional()}),Wu=mt.extend({method:j("notifications/initialized"),params:ft.optional()});var os=Ce.extend({method:j("ping"),params:ct.optional()}),Kx=P({progress:ae(),total:$e(ae()),message:$e(v())}),Wx=P({...ft.shape,...Kx.shape,progressToken:Qm}),is=mt.extend({method:j("notifications/progress"),params:Wx}),Yx=ct.extend({cursor:Xm.optional()}),So=Ce.extend({params:Yx.optional()}),ko=je.extend({nextCursor:Xm.optional()}),Qx=et(["working","input_required","completed","failed","cancelled"]),Ro=P({taskId:v(),status:Qx,ttl:he([ae(),Um()]),createdAt:v(),lastUpdatedAt:v(),pollInterval:$e(ae()),statusMessage:$e(v())}),Sn=je.extend({task:Ro}),Xx=ft.merge(Ro),To=mt.extend({method:j("notifications/tasks/status"),params:Xx}),ss=Ce.extend({method:j("tasks/get"),params:ct.extend({taskId:v()})}),as=je.merge(Ro),cs=Ce.extend({method:j("tasks/result"),params:ct.extend({taskId:v()})}),jA=je.loose(),us=So.extend({method:j("tasks/list")}),ls=ko.extend({tasks:ee(Ro)}),ds=Ce.extend({method:j("tasks/cancel"),params:ct.extend({taskId:v()})}),ih=je.merge(Ro),sh=P({uri:v(),mimeType:$e(v()),_meta:me(v(),we()).optional()}),ah=sh.extend({text:v()}),Yu=v().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),ch=sh.extend({blob:Yu}),zo=et(["user","assistant"]),kn=P({audience:ee(zo).optional(),priority:ae().min(0).max(1).optional(),lastModified:_o.datetime({offset:!0}).optional()}),uh=P({...wn.shape,...$o.shape,uri:v(),description:$e(v()),mimeType:$e(v()),size:$e(ae()),annotations:kn.optional(),_meta:$e(Ge({}))}),e0=P({...wn.shape,...$o.shape,uriTemplate:v(),description:$e(v()),mimeType:$e(v()),annotations:kn.optional(),_meta:$e(Ge({}))}),ps=So.extend({method:j("resources/list")}),t0=ko.extend({resources:ee(uh)}),fs=So.extend({method:j("resources/templates/list")}),r0=ko.extend({resourceTemplates:ee(e0)}),Qu=ct.extend({uri:v()}),n0=Qu,ms=Ce.extend({method:j("resources/read"),params:n0}),o0=je.extend({contents:ee(he([ah,ch]))}),i0=mt.extend({method:j("notifications/resources/list_changed"),params:ft.optional()}),s0=Qu,a0=Ce.extend({method:j("resources/subscribe"),params:s0}),c0=Qu,u0=Ce.extend({method:j("resources/unsubscribe"),params:c0}),l0=ft.extend({uri:v()}),d0=mt.extend({method:j("notifications/resources/updated"),params:l0}),p0=P({name:v(),description:$e(v()),required:$e(Oe())}),f0=P({...wn.shape,...$o.shape,description:$e(v()),arguments:$e(ee(p0)),_meta:$e(Ge({}))}),hs=So.extend({method:j("prompts/list")}),m0=ko.extend({prompts:ee(f0)}),h0=ct.extend({name:v(),arguments:me(v(),v()).optional()}),gs=Ce.extend({method:j("prompts/get"),params:h0}),Xu=P({type:j("text"),text:v(),annotations:kn.optional(),_meta:me(v(),we()).optional()}),el=P({type:j("image"),data:Yu,mimeType:v(),annotations:kn.optional(),_meta:me(v(),we()).optional()}),tl=P({type:j("audio"),data:Yu,mimeType:v(),annotations:kn.optional(),_meta:me(v(),we()).optional()}),g0=P({type:j("tool_use"),name:v(),id:v(),input:me(v(),we()),_meta:me(v(),we()).optional()}),y0=P({type:j("resource"),resource:he([ah,ch]),annotations:kn.optional(),_meta:me(v(),we()).optional()}),_0=uh.extend({type:j("resource_link")}),rl=he([Xu,el,tl,_0,y0]),v0=P({role:zo,content:rl}),b0=je.extend({description:v().optional(),messages:ee(v0)}),w0=mt.extend({method:j("notifications/prompts/list_changed"),params:ft.optional()}),$0=P({title:v().optional(),readOnlyHint:Oe().optional(),destructiveHint:Oe().optional(),idempotentHint:Oe().optional(),openWorldHint:Oe().optional()}),x0=P({taskSupport:et(["required","optional","forbidden"]).optional()}),lh=P({...wn.shape,...$o.shape,description:v().optional(),inputSchema:P({type:j("object"),properties:me(v(),Ie).optional(),required:ee(v()).optional()}).catchall(we()),outputSchema:P({type:j("object"),properties:me(v(),Ie).optional(),required:ee(v()).optional()}).catchall(we()).optional(),annotations:$0.optional(),execution:x0.optional(),_meta:me(v(),we()).optional()}),ys=So.extend({method:j("tools/list")}),S0=ko.extend({tools:ee(lh)}),_s=je.extend({content:ee(rl).default([]),structuredContent:me(v(),we()).optional(),isError:Oe().optional()}),MA=_s.or(je.extend({toolResult:we()})),k0=bo.extend({name:v(),arguments:me(v(),we()).optional()}),Rn=Ce.extend({method:j("tools/call"),params:k0}),R0=mt.extend({method:j("notifications/tools/list_changed"),params:ft.optional()}),ZA=P({autoRefresh:Oe().default(!0),debounceMs:ae().int().nonnegative().default(300)}),Eo=et(["debug","info","notice","warning","error","critical","alert","emergency"]),T0=ct.extend({level:Eo}),nl=Ce.extend({method:j("logging/setLevel"),params:T0}),z0=ft.extend({level:Eo,logger:v().optional(),data:we()}),E0=mt.extend({method:j("notifications/message"),params:z0}),I0=P({name:v().optional()}),P0=P({hints:ee(I0).optional(),costPriority:ae().min(0).max(1).optional(),speedPriority:ae().min(0).max(1).optional(),intelligencePriority:ae().min(0).max(1).optional()}),O0=P({mode:et(["auto","required","none"]).optional()}),N0=P({type:j("tool_result"),toolUseId:v().describe("The unique identifier for the corresponding tool call."),content:ee(rl).default([]),structuredContent:P({}).loose().optional(),isError:Oe().optional(),_meta:me(v(),we()).optional()}),A0=Uu("type",[Xu,el,tl]),Qi=Uu("type",[Xu,el,tl,g0,N0]),C0=P({role:zo,content:he([Qi,ee(Qi)]),_meta:me(v(),we()).optional()}),j0=bo.extend({messages:ee(C0),modelPreferences:P0.optional(),systemPrompt:v().optional(),includeContext:et(["none","thisServer","allServers"]).optional(),temperature:ae().optional(),maxTokens:ae().int(),stopSequences:ee(v()).optional(),metadata:Ie.optional(),tools:ee(lh).optional(),toolChoice:O0.optional()}),M0=Ce.extend({method:j("sampling/createMessage"),params:j0}),Io=je.extend({model:v(),stopReason:$e(et(["endTurn","stopSequence","maxTokens"]).or(v())),role:zo,content:A0}),ol=je.extend({model:v(),stopReason:$e(et(["endTurn","stopSequence","maxTokens","toolUse"]).or(v())),role:zo,content:he([Qi,ee(Qi)])}),Z0=P({type:j("boolean"),title:v().optional(),description:v().optional(),default:Oe().optional()}),D0=P({type:j("string"),title:v().optional(),description:v().optional(),minLength:ae().optional(),maxLength:ae().optional(),format:et(["email","uri","date","date-time"]).optional(),default:v().optional()}),q0=P({type:et(["number","integer"]),title:v().optional(),description:v().optional(),minimum:ae().optional(),maximum:ae().optional(),default:ae().optional()}),V0=P({type:j("string"),title:v().optional(),description:v().optional(),enum:ee(v()),default:v().optional()}),L0=P({type:j("string"),title:v().optional(),description:v().optional(),oneOf:ee(P({const:v(),title:v()})),default:v().optional()}),U0=P({type:j("string"),title:v().optional(),description:v().optional(),enum:ee(v()),enumNames:ee(v()).optional(),default:v().optional()}),F0=he([V0,L0]),B0=P({type:j("array"),title:v().optional(),description:v().optional(),minItems:ae().optional(),maxItems:ae().optional(),items:P({type:j("string"),enum:ee(v())}),default:ee(v()).optional()}),H0=P({type:j("array"),title:v().optional(),description:v().optional(),minItems:ae().optional(),maxItems:ae().optional(),items:P({anyOf:ee(P({const:v(),title:v()}))}),default:ee(v()).optional()}),G0=he([B0,H0]),J0=he([U0,F0,G0]),K0=he([J0,Z0,D0,q0]),W0=bo.extend({mode:j("form").optional(),message:v(),requestedSchema:P({type:j("object"),properties:me(v(),K0),required:ee(v()).optional()})}),Y0=bo.extend({mode:j("url"),message:v(),elicitationId:v(),url:v().url()}),Q0=he([W0,Y0]),X0=Ce.extend({method:j("elicitation/create"),params:Q0}),eS=ft.extend({elicitationId:v()}),tS=mt.extend({method:j("notifications/elicitation/complete"),params:eS}),Tn=je.extend({action:et(["accept","decline","cancel"]),content:Fu(t=>t===null?void 0:t,me(v(),he([v(),ae(),Oe(),ee(v())])).optional())}),rS=P({type:j("ref/resource"),uri:v()});var nS=P({type:j("ref/prompt"),name:v()}),oS=ct.extend({ref:he([nS,rS]),argument:P({name:v(),value:v()}),context:P({arguments:me(v(),v()).optional()}).optional()}),vs=Ce.extend({method:j("completion/complete"),params:oS});function dh(t){if(t.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${t.params.ref.type}`)}function ph(t){if(t.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${t.params.ref.type}`)}var iS=je.extend({completion:Ge({values:ee(v()).max(100),total:$e(ae().int()),hasMore:$e(Oe())})}),sS=P({uri:v().startsWith("file://"),name:v().optional(),_meta:me(v(),we()).optional()}),aS=Ce.extend({method:j("roots/list"),params:ct.optional()}),il=je.extend({roots:ee(sS)}),cS=mt.extend({method:j("notifications/roots/list_changed"),params:ft.optional()}),DA=he([os,ns,vs,nl,gs,hs,ps,fs,ms,a0,u0,Rn,ys,ss,cs,us,ds]),qA=he([rs,is,Wu,cS,To]),VA=he([ts,Io,ol,Tn,il,as,ls,Sn]),LA=he([os,M0,X0,aS,ss,cs,us,ds]),UA=he([rs,is,E0,d0,i0,R0,w0,To,tS]),FA=he([ts,Jx,iS,b0,m0,t0,r0,o0,_s,S0,as,ls,Sn]),A=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===q.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new Bu(o.elicitations,r)}return new t(e,r,n)}},Bu=class extends A{constructor(e,r=`URL elicitation${e.length>1?"s":""} required`){super(q.UrlElicitationRequired,r,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function lr(t){return t==="completed"||t==="failed"||t==="cancelled"}var mh=Symbol("Let zodToJsonSchema decide on which parser to use");var fh={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"},hh=t=>typeof t=="string"?{...fh,name:t}:{...fh,...t};var gh=t=>{let e=hh(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 sl(t,e,r,n){n?.errorMessages&&r&&(t.errorMessage={...t.errorMessage,[e]:r})}function te(t,e,r,n,o){t[e]=r,sl(t,e,n,o)}var bs=(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 xe(t){if(t.target!=="openAi")return{};let e=[...t.basePath,t.definitionPath,t.openAiAnyTypeName];return t.flags.hasReferencedOpenAiAnyType=!0,{$ref:t.$refStrategy==="relative"?bs(e,t.currentPath):e.join("/")}}function yh(t,e){let r={type:"array"};return t.type?._def&&t.type?._def?.typeName!==k.ZodAny&&(r.items=U(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 _h(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 vh(){return{type:"boolean"}}function ws(t,e){return U(t.type._def,e)}var bh=(t,e)=>U(t.innerType._def,e);function al(t,e,r){let n=r??e.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,i)=>al(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 uS(t,e)}}var uS=(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 wh(t,e){return{...U(t.innerType._def,e),default:t.defaultValue()}}function $h(t,e){return e.effectStrategy==="input"?U(t.schema._def,e):xe(e)}function xh(t){return{type:"string",enum:Array.from(t.values)}}var lS=t=>"type"in t&&t.type==="string"?!1:"allOf"in t;function Sh(t,e){let r=[U(t.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),U(t.right._def,{...e,currentPath:[...e.currentPath,"allOf","1"]})].filter(i=>!!i),n=e.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return r.forEach(i=>{if(lS(i))o.push(...i.allOf),i.unevaluatedProperties===void 0&&(n=void 0);else{let s=i;if("additionalProperties"in i&&i.additionalProperties===!1){let{additionalProperties:a,...c}=i;s=c}else n=void 0;o.push(s)}}),o.length?{allOf:o,...n}:void 0}function kh(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 cl,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:()=>(cl===void 0&&(cl=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),cl),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 $s(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":Je(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":Je(r,n.regex,n.message,e);break;case"cuid":Je(r,xt.cuid,n.message,e);break;case"cuid2":Je(r,xt.cuid2,n.message,e);break;case"startsWith":Je(r,RegExp(`^${ul(n.value,e)}`),n.message,e);break;case"endsWith":Je(r,RegExp(`${ul(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":{Je(r,RegExp(ul(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":Je(r,xt.base64url,n.message,e);break;case"jwt":Je(r,xt.jwt,n.message,e);break;case"cidr":{n.version!=="v6"&&Je(r,xt.ipv4Cidr,n.message,e),n.version!=="v4"&&Je(r,xt.ipv6Cidr,n.message,e);break}case"emoji":Je(r,xt.emoji(),n.message,e);break;case"ulid":{Je(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":{Je(r,xt.base64,n.message,e);break}}break}case"nanoid":Je(r,xt.nanoid,n.message,e);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function ul(t,e){return e.patternStrategy==="escape"?pS(t):t}var dS=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function pS(t){let e="";for(let r=0;r<t.length;r++)dS.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 Je(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:Rh(e,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):te(t,"pattern",Rh(e,n),r,n)}function Rh(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="",i=!1,s=!1,a=!1;for(let c=0;c<n.length;c++){if(i){o+=n[c],i=!1;continue}if(r.i){if(s){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
- ]))`;continue}else if(n[c]==="$"){o+=`($|(?=[\r
39
- ]))`;continue}}if(r.s&&n[c]==="."){o+=s?`${n[c]}\r
40
- `:`[${n[c]}\r
41
- ]`;continue}o+=n[c],n[c]==="\\"?i=!0:s&&n[c]==="]"?s=!1:!s&&n[c]==="["&&(s=!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 xs(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===k.ZodEnum)return{type:"object",required:t.keyType._def.values,properties:t.keyType._def.values.reduce((n,o)=>({...n,[o]:U(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",o]})??xe(e)}),{}),additionalProperties:e.rejectedAdditionalProperties};let r={type:"object",additionalProperties:U(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??e.allowedAdditionalProperties};if(e.target==="openApi3")return r;if(t.keyType?._def.typeName===k.ZodString&&t.keyType._def.checks?.length){let{type:n,...o}=$s(t.keyType._def,e);return{...r,propertyNames:o}}else{if(t.keyType?._def.typeName===k.ZodEnum)return{...r,propertyNames:{enum:t.keyType._def.values}};if(t.keyType?._def.typeName===k.ZodBranded&&t.keyType._def.type._def.typeName===k.ZodString&&t.keyType._def.type._def.checks?.length){let{type:n,...o}=ws(t.keyType._def,e);return{...r,propertyNames:o}}}return r}function Th(t,e){if(e.mapStrategy==="record")return xs(t,e);let r=U(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||xe(e),n=U(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||xe(e);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function zh(t){let e=t.values,n=Object.keys(t.values).filter(i=>typeof e[e[i]]!="number").map(i=>e[i]),o=Array.from(new Set(n.map(i=>typeof i)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:n}}function Eh(t){return t.target==="openAi"?void 0:{not:xe({...t,currentPath:[...t.currentPath,"not"]})}}function Ih(t){return t.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var Po={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Oh(t,e){if(e.target==="openApi3")return Ph(t,e);let r=t.options instanceof Map?Array.from(t.options.values()):t.options;if(r.every(n=>n._def.typeName in Po&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,i)=>{let s=Po[i._def.typeName];return s&&!o.includes(s)?[...o,s]: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,i)=>{let s=typeof i._def.value;switch(s){case"string":case"number":case"boolean":return[...o,s];case"bigint":return[...o,"integer"];case"object":if(i._def.value===null)return[...o,"null"];case"symbol":case"undefined":case"function":default:return o}},[]);if(n.length===r.length){let o=n.filter((i,s,a)=>a.indexOf(i)===s);return{type:o.length>1?o:o[0],enum:r.reduce((i,s)=>i.includes(s._def.value)?i:[...i,s._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,o)=>[...n,...o._def.values.filter(i=>!n.includes(i))],[])};return Ph(t,e)}var Ph=(t,e)=>{let r=(t.options instanceof Map?Array.from(t.options.values()):t.options).map((n,o)=>U(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 Nh(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:Po[t.innerType._def.typeName],nullable:!0}:{type:[Po[t.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let n=U(t.innerType._def,{...e,currentPath:[...e.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=U(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function Ah(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",sl(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 Ch(t,e){let r=e.target==="openAi",n={type:"object",properties:{}},o=[],i=t.shape();for(let a in i){let c=i[a];if(c===void 0||c._def===void 0)continue;let u=mS(c);u&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),u=!1);let l=U(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 s=fS(t,e);return s!==void 0&&(n.additionalProperties=s),n}function fS(t,e){if(t.catchall._def.typeName!=="ZodNever")return U(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 mS(t){try{return t.isOptional()}catch{return!0}}var jh=(t,e)=>{if(e.currentPath.toString()===e.propertyPath?.toString())return U(t.innerType._def,e);let r=U(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return r?{anyOf:[{not:xe(e)},r]}:xe(e)};var Mh=(t,e)=>{if(e.pipeStrategy==="input")return U(t.in._def,e);if(e.pipeStrategy==="output")return U(t.out._def,e);let r=U(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),n=U(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}};function Zh(t,e){return U(t.type._def,e)}function Dh(t,e){let n={type:"array",uniqueItems:!0,items:U(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 qh(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((r,n)=>U(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:U(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((r,n)=>U(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function Vh(t){return{not:xe(t)}}function Lh(t){return xe(t)}var Uh=(t,e)=>U(t.innerType._def,e);var Fh=(t,e,r)=>{switch(e){case k.ZodString:return $s(t,r);case k.ZodNumber:return Ah(t,r);case k.ZodObject:return Ch(t,r);case k.ZodBigInt:return _h(t,r);case k.ZodBoolean:return vh();case k.ZodDate:return al(t,r);case k.ZodUndefined:return Vh(r);case k.ZodNull:return Ih(r);case k.ZodArray:return yh(t,r);case k.ZodUnion:case k.ZodDiscriminatedUnion:return Oh(t,r);case k.ZodIntersection:return Sh(t,r);case k.ZodTuple:return qh(t,r);case k.ZodRecord:return xs(t,r);case k.ZodLiteral:return kh(t,r);case k.ZodEnum:return xh(t);case k.ZodNativeEnum:return zh(t);case k.ZodNullable:return Nh(t,r);case k.ZodOptional:return jh(t,r);case k.ZodMap:return Th(t,r);case k.ZodSet:return Dh(t,r);case k.ZodLazy:return()=>t.getter()._def;case k.ZodPromise:return Zh(t,r);case k.ZodNaN:case k.ZodNever:return Eh(r);case k.ZodEffects:return $h(t,r);case k.ZodAny:return xe(r);case k.ZodUnknown:return Lh(r);case k.ZodDefault:return wh(t,r);case k.ZodBranded:return ws(t,r);case k.ZodReadonly:return Uh(t,r);case k.ZodCatch:return bh(t,r);case k.ZodPipeline:return Mh(t,r);case k.ZodFunction:case k.ZodVoid:case k.ZodSymbol:return;default:return(n=>{})(e)}};function U(t,e,r=!1){let n=e.seen.get(t);if(e.override){let a=e.override?.(t,e,n,r);if(a!==mh)return a}if(n&&!r){let a=hS(n,e);if(a!==void 0)return a}let o={def:t,path:e.currentPath,jsonSchema:void 0};e.seen.set(t,o);let i=Fh(t,t.typeName,e),s=typeof i=="function"?U(i(),e):i;if(s&&gS(t,e,s),e.postProcess){let a=e.postProcess(s,t,e);return o.jsonSchema=s,a}return o.jsonSchema=s,s}var hS=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"relative":return{$ref:bs(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`),xe(e)):e.$refStrategy==="seen"?xe(e):void 0}},gS=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r);var ll=(t,e)=>{let r=gh(e),n=typeof e=="object"&&e.definitions?Object.entries(e.definitions).reduce((c,[u,l])=>({...c,[u]:U(l._def,{...r,currentPath:[...r.basePath,r.definitionPath,u]},!0)??xe(r)}),{}):void 0,o=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,i=U(t._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??xe(r),s=typeof e=="object"&&e.name!==void 0&&e.nameStrategy==="title"?e.name:void 0;s!==void 0&&(i.title=s),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?{...i,[r.definitionPath]:n}:i:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,o].join("/"),[r.definitionPath]:{...n,[o]:i}};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 yS(t){return!t||t==="jsonSchema7"||t==="draft-7"?"draft-7":t==="jsonSchema2019-09"||t==="draft-2020-12"?"draft-2020-12":"draft-7"}function dl(t,e){return pt(t)?Cu(t,{target:yS(e?.target),io:e?.pipeStrategy??"input"}):ll(t,{strictUnions:e?.strictUnions??!0,pipeStrategy:e?.pipeStrategy??"input"})}function pl(t){let r=ar(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=Ki(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function fl(t,e){let r=sr(t,e);if(!r.success)throw r.error;return r.data}var _S=6e4,Ss=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(rs,r=>{this._oncancel(r)}),this.setNotificationHandler(is,r=>{this._onprogress(r)}),this.setRequestHandler(os,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(ss,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new A(q.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(cs,async(r,n)=>{let o=async()=>{let i=r.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(i,n.sessionId);){if(a.type==="response"||a.type==="error"){let c=a.message,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 A(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 s=await this._taskStore.getTask(i,n.sessionId);if(!s)throw new A(q.InvalidParams,`Task not found: ${i}`);if(!lr(s.status))return await this._waitForTaskUpdate(i,n.signal),await o();if(lr(s.status)){let a=await this._taskStore.getTaskResult(i,n.sessionId);return this._clearTaskQueue(i),{...a,_meta:{...a._meta,[cr]:{taskId:i}}}}return await o()};return await o()}),this.setRequestHandler(us,async(r,n)=>{try{let{tasks:o,nextCursor:i}=await this._taskStore.listTasks(r.params?.cursor,n.sessionId);return{tasks:o,nextCursor:i,_meta:{}}}catch(o){throw new A(q.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(ds,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new A(q.InvalidParams,`Task not found: ${r.params.taskId}`);if(lr(o.status))throw new A(q.InvalidParams,`Cannot cancel task in terminal status: ${o.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",n.sessionId),this._clearTaskQueue(r.params.taskId);let i=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!i)throw new A(q.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...i}}catch(o){throw o instanceof A?o:new A(q.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,i=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(o,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:i,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),A.fromError(q.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=i=>{n?.(i),this._onerror(i)};let o=this._transport?.onmessage;this._transport.onmessage=(i,s)=>{o?.(i,s),Jt(i)||xn(i)?this._onresponse(i):ur(i)?this._onrequest(i,s):nh(i)?this._onnotification(i):this._onerror(new Error(`Unknown message type: ${JSON.stringify(i)}`))},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=A.fromError(q.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,i=e.params?._meta?.[cr]?.taskId;if(n===void 0){let l={jsonrpc:"2.0",id:e.id,error:{code:q.MethodNotFound,message:"Method not found"}};i&&this._taskMessageQueue?this._enqueueTaskMessage(i,{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 s=new AbortController;this._requestHandlerAbortControllers.set(e.id,s);let a=eh(e.params)?e.params.task:void 0,c=this._taskStore?this.requestTaskStore(e,o?.sessionId):void 0,u={signal:s.signal,sessionId:o?.sessionId,_meta:e.params?._meta,sendNotification:async l=>{if(s.signal.aborted)return;let d={relatedRequestId:e.id};i&&(d.relatedTask={taskId:i}),await this.notification(l,d)},sendRequest:async(l,d,f)=>{if(s.signal.aborted)throw new A(q.ConnectionClosed,"Request was cancelled");let h={...f,relatedRequestId:e.id};i&&!h.relatedTask&&(h.relatedTask={taskId:i});let p=h.relatedTask?.taskId??i;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:i,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(s.signal.aborted)return;let d={result:l,jsonrpc:"2.0",id:e.id};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:"response",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)},async l=>{if(s.signal.aborted)return;let d={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(l.code)?l.code:q.InternalError,message:l.message??"Internal error",...l.data!==void 0&&{data:l.data}}};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{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)===s&&this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:r,...n}=e.params,o=Number(r),i=this._progressHandlers.get(o);if(!i){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let s=this._responseHandlers.get(o),a=this._timeoutInfo.get(o);if(a&&s&&a.resetTimeoutOnProgress)try{this._resetTimeout(o)}catch(c){this._responseHandlers.delete(o),this._progressHandlers.delete(o),this._cleanupTimeout(o),s(c);return}i(n)}_onresponse(e){let r=Number(e.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),Jt(e))n(e);else{let s=new A(e.error.code,e.error.message,e.error.data);n(s)}return}let o=this._responseHandlers.get(r);if(o===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let i=!1;if(Jt(e)&&e.result&&typeof e.result=="object"){let s=e.result;if(s.task&&typeof s.task=="object"){let a=s.task;typeof a.taskId=="string"&&(i=!0,this._taskProgressTokens.set(a.taskId,r))}}if(i||this._progressHandlers.delete(r),Jt(e))o(e);else{let s=A.fromError(e.error.code,e.error.message,e.error.data);o(s)}}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(s){yield{type:"error",error:s instanceof A?s:new A(q.InternalError,String(s))}}return}let i;try{let s=await this.request(e,Sn,n);if(s.task)i=s.task.taskId,yield{type:"taskCreated",task:s.task};else throw new A(q.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:i},n);if(yield{type:"taskStatus",task:a},lr(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:i},r,n)}:a.status==="failed"?yield{type:"error",error:new A(q.InternalError,`Task ${i} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new A(q.InternalError,`Task ${i} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:i},r,n)};return}let c=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(u=>setTimeout(u,c)),n?.signal?.throwIfAborted()}}catch(s){yield{type:"error",error:s instanceof A?s:new A(q.InternalError,String(s))}}}request(e,r,n){let{relatedRequestId:o,resumptionToken:i,onresumptiontoken:s,task:a,relatedTask:c}=n??{};return new Promise((u,l)=>{let d=_=>{l(_)};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(_){d(_);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||{},[cr]:c}});let p=_=>{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(_)}},{relatedRequestId:o,resumptionToken:i,onresumptiontoken:s}).catch(T=>this._onerror(new Error(`Failed to send cancellation: ${T}`)));let w=_ instanceof A?_:new A(q.RequestTimeout,String(_));l(w)};this._responseHandlers.set(f,_=>{if(!n?.signal?.aborted){if(_ instanceof Error)return l(_);try{let w=sr(r,_.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??_S,g=()=>p(A.fromError(q.RequestTimeout,"Request timed out",{timeout:m}));this._setupTimeout(f,m,n?.maxTotalTimeout,g,n?.resetTimeoutOnProgress??!1);let y=c?.taskId;if(y){let _=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,_),this._enqueueTaskMessage(y,{type:"request",message:h,timestamp:Date.now()}).catch(w=>{this._cleanupTimeout(f),l(w)})}else this._transport.send(h,{relatedRequestId:o,resumptionToken:i,onresumptiontoken:s}).catch(_=>{this._cleanupTimeout(f),l(_)})})}async getTask(e,r){return this.request({method:"tasks/get",params:e},as,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},ls,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},ih,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||{},[cr]: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||{},[cr]:r.relatedTask}}}),this._transport?.send(a,r).catch(c=>this._onerror(c))});return}let s={...e,jsonrpc:"2.0"};r?.relatedTask&&(s={...s,params:{...s.params,_meta:{...s.params?._meta||{},[cr]:r.relatedTask}}}),await this._transport.send(s,r)}setRequestHandler(e,r){let n=pl(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,i)=>{let s=fl(e,o);return Promise.resolve(r(s,i))})}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=pl(e);this._notificationHandlers.set(n,o=>{let i=fl(e,o);return Promise.resolve(r(i))})}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"&&ur(o.message)){let i=o.message.id,s=this._requestResolvers.get(i);s?(s(new A(q.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(i)):this._onerror(new Error(`Resolver missing for request ${i} 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,i)=>{if(r.aborted){i(new A(q.InvalidRequest,"Request cancelled"));return}let s=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(s),i(new A(q.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 i=await n.getTask(o,r);if(!i)throw new A(q.InvalidParams,"Failed to retrieve task: Task not found");return i},storeTaskResult:async(o,i,s)=>{await n.storeTaskResult(o,i,s,r);let a=await n.getTask(o,r);if(a){let c=To.parse({method:"notifications/tasks/status",params:a});await this.notification(c),lr(a.status)&&this._cleanupTaskProgressHandler(o)}},getTaskResult:o=>n.getTaskResult(o,r),updateTaskStatus:async(o,i,s)=>{let a=await n.getTask(o,r);if(!a)throw new A(q.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(lr(a.status))throw new A(q.InvalidParams,`Cannot update task "${o}" from terminal status "${a.status}" to "${i}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(o,i,s,r);let c=await n.getTask(o,r);if(c){let u=To.parse({method:"notifications/tasks/status",params:c});await this.notification(u),lr(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function Bh(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function Hh(t,e){let r={...t};for(let n in e){let o=n,i=e[o];if(i===void 0)continue;let s=r[o];Bh(s)&&Bh(i)?r[o]={...s,...i}:r[o]=i}return r}var M_=Qp(Xd(),1),Z_=Qp(j_(),1);function $I(){let t=new M_.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,Z_.default)(t),t}var ia=class{constructor(e){this._ajv=e??$I()}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 sa=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],i=Array.isArray(o.content)?o.content:[o.content],s=i.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(s){if(i.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(i.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},Io,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 i=o==="form"&&e.mode===void 0?{...e,mode:"form"}:e;return this.requestStream({method:"elicitation/create",params:i},Tn,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 D_(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 q_(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 aa=class extends Ss{constructor(e,r){super(r),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Eo.options.map((n,o)=>[n,o])),this.isMessageIgnored=(n,o)=>{let i=this._loggingLevels.get(o);return i?this.LOG_LEVEL_SEVERITY.get(n)<this.LOG_LEVEL_SEVERITY.get(i):!1},this._capabilities=r?.capabilities??{},this._instructions=r?.instructions,this._jsonSchemaValidator=r?.jsonSchemaValidator??new ia,this.setRequestHandler(ns,n=>this._oninitialize(n)),this.setNotificationHandler(Wu,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(nl,async(n,o)=>{let i=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:s}=n.params,a=Eo.safeParse(s);return a.success&&this._loggingLevels.set(i,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new sa(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Hh(this._capabilities,e)}setRequestHandler(e,r){let o=ar(e)?.method;if(!o)throw new Error("Schema is missing a method literal");let i;if(pt(o)){let a=o;i=a._zod?.def?.value??a.value}else{let a=o;i=a._def?.value??a.value}if(typeof i!="string")throw new Error("Schema method literal must be a string");if(i==="tools/call"){let a=async(c,u)=>{let l=sr(Rn,c);if(!l.success){let p=l.error instanceof Error?l.error.message:String(l.error);throw new A(q.InvalidParams,`Invalid tools/call request: ${p}`)}let{params:d}=l.data,f=await Promise.resolve(r(c,u));if(d.task){let p=sr(Sn,f);if(!p.success){let m=p.error instanceof Error?p.error.message:String(p.error);throw new A(q.InvalidParams,`Invalid task creation result: ${m}`)}return p.data}let h=sr(_s,f);if(!h.success){let p=h.error instanceof Error?h.error.message:String(h.error);throw new A(q.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){q_(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&D_(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:$n.includes(r)?r:Hu,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"},ts)}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],i=o.some(u=>u.type==="tool_result"),s=e.messages.length>1?e.messages[e.messages.length-2]:void 0,a=s?Array.isArray(s.content)?s.content:[s.content]:[],c=a.some(u=>u.type==="tool_use");if(i){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},ol,r):this.request({method:"sampling/createMessage",params:e},Io,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},Tn,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"},i=await this.request({method:"elicitation/create",params:o},Tn,r);if(i.action==="accept"&&i.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(i.content);if(!a.valid)throw new A(q.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(s){throw s instanceof A?s:new A(q.InternalError,`Error validating elicitation response: ${s instanceof Error?s.message:String(s)}`)}return i}}}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},il,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 L_=Symbol.for("mcp.completable");function ap(t){return!!t&&typeof t=="object"&&L_ in t}function U_(t){return t[L_]?.complete}var V_;(function(t){t.Completable="McpCompletable"})(V_||(V_={}));var xI=/^[A-Za-z0-9._-]{1,128}$/;function SI(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"),!xI.test(t)){let r=t.split("").filter(n=>!/[A-Za-z0-9._-]/.test(n)).filter((n,o,i)=>i.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 kI(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 cp(t){let e=SI(t);return kI(t,e.warnings),e.isValid}var ca=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 ua=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 aa(e,r)}get experimental(){return this._experimental||(this._experimental={tasks:new ca(this)}),this._experimental}async connect(e){return await this.server.connect(e)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(vr(ys)),this.server.assertCanSetRequestHandler(vr(Rn)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(ys,()=>({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=bn(r.inputSchema);return o?dl(o,{strictUnions:!0,pipeStrategy:"input"}):RI})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let o=bn(r.outputSchema);o&&(n.outputSchema=dl(o,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(Rn,async(e,r)=>{try{let n=this._registeredTools[e.params.name];if(!n)throw new A(q.InvalidParams,`Tool ${e.params.name} not found`);if(!n.enabled)throw new A(q.InvalidParams,`Tool ${e.params.name} disabled`);let o=!!e.params.task,i=n.execution?.taskSupport,s="createTask"in n.handler;if((i==="required"||i==="optional")&&!s)throw new A(q.InternalError,`Tool ${e.params.name} has taskSupport '${i}' but was not registered with registerToolTask`);if(i==="required"&&!o)throw new A(q.MethodNotFound,`Tool ${e.params.name} requires task augmentation (taskSupport: 'required')`);if(i==="optional"&&!o&&s)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 A&&n.code===q.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 i=bn(e.inputSchema)??e.inputSchema,s=await Gi(i,r);if(!s.success){let a="error"in s?s.error:"Unknown error",c=Ji(a);throw new A(q.InvalidParams,`Input validation error: Invalid arguments for tool ${n}: ${c}`)}return s.data}async validateToolOutput(e,r,n){if(!e.outputSchema||!("content"in r)||r.isError)return;if(!r.structuredContent)throw new A(q.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let o=bn(e.outputSchema),i=await Gi(o,r.structuredContent);if(!i.success){let s="error"in i?i.error:"Unknown error",a=Ji(s);throw new A(q.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 s={...n,taskStore:n.taskStore};if(e.inputSchema){let a=o;return await Promise.resolve(a.createTask(r,s))}else{let a=o;return await Promise.resolve(a.createTask(s))}}if(e.inputSchema){let s=o;return await Promise.resolve(s(r,n))}else{let s=o;return await Promise.resolve(s(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),i=e.handler,s={...n,taskStore:n.taskStore},a=o?await Promise.resolve(i.createTask(o,s)):await Promise.resolve(i.createTask(s)),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 A(q.InternalError,`Task ${c} not found during polling`);u=d}return await n.taskStore.getTaskResult(c)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(vr(vs)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(vs,async e=>{switch(e.params.ref.type){case"ref/prompt":return dh(e),this.handlePromptCompletion(e,e.params.ref);case"ref/resource":return ph(e),this.handleResourceCompletion(e,e.params.ref);default:throw new A(q.InvalidParams,`Invalid completion reference: ${e.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(e,r){let n=this._registeredPrompts[r.name];if(!n)throw new A(q.InvalidParams,`Prompt ${r.name} not found`);if(!n.enabled)throw new A(q.InvalidParams,`Prompt ${r.name} disabled`);if(!n.argsSchema)return ai;let i=ar(n.argsSchema)?.[e.params.argument.name];if(!ap(i))return ai;let s=U_(i);if(!s)return ai;let a=await s(e.params.argument.value,e.params.context);return B_(a)}async handleResourceCompletion(e,r){let n=Object.values(this._registeredResourceTemplates).find(s=>s.resourceTemplate.uriTemplate.toString()===r.uri);if(!n){if(this._registeredResources[r.uri])return ai;throw new A(q.InvalidParams,`Resource template ${e.params.ref.uri} not found`)}let o=n.resourceTemplate.completeCallback(e.params.argument.name);if(!o)return ai;let i=await o(e.params.argument.value,e.params.context);return B_(i)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(vr(ps)),this.server.assertCanSetRequestHandler(vr(fs)),this.server.assertCanSetRequestHandler(vr(ms)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(ps,async(e,r)=>{let n=Object.entries(this._registeredResources).filter(([i,s])=>s.enabled).map(([i,s])=>({uri:i,name:s.name,...s.metadata})),o=[];for(let i of Object.values(this._registeredResourceTemplates)){if(!i.resourceTemplate.listCallback)continue;let s=await i.resourceTemplate.listCallback(r);for(let a of s.resources)o.push({...i.metadata,...a})}return{resources:[...n,...o]}}),this.server.setRequestHandler(fs,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(ms,async(e,r)=>{let n=new URL(e.params.uri),o=this._registeredResources[n.toString()];if(o){if(!o.enabled)throw new A(q.InvalidParams,`Resource ${n} disabled`);return o.readCallback(n,r)}for(let i of Object.values(this._registeredResourceTemplates)){let s=i.resourceTemplate.uriTemplate.match(n.toString());if(s)return i.readCallback(n,s,r)}throw new A(q.InvalidParams,`Resource ${n} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(vr(hs)),this.server.assertCanSetRequestHandler(vr(gs)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(hs,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,e])=>e.enabled).map(([e,r])=>({name:e,title:r.title,description:r.description,arguments:r.argsSchema?TI(r.argsSchema):void 0}))})),this.server.setRequestHandler(gs,async(e,r)=>{let n=this._registeredPrompts[e.params.name];if(!n)throw new A(q.InvalidParams,`Prompt ${e.params.name} not found`);if(!n.enabled)throw new A(q.InvalidParams,`Prompt ${e.params.name} disabled`);if(n.argsSchema){let o=bn(n.argsSchema),i=await Gi(o,e.params.arguments);if(!i.success){let c="error"in i?i.error:"Unknown error",u=Ji(c);throw new A(q.InvalidParams,`Invalid arguments for prompt ${e.params.name}: ${u}`)}let s=i.data,a=n.callback;return await Promise.resolve(a(s,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 i=n[0];if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let s=this._createRegisteredResource(e,void 0,r,o,i);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,void 0,r,o,i);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}}registerResource(e,r,n,o){if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let i=this._createRegisteredResource(e,n.title,r,n,o);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,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}}_createRegisteredResource(e,r,n,o,i){let s={name:e,title:r,metadata:o,readCallback:i,enabled:!0,disable:()=>s.update({enabled:!1}),enable:()=>s.update({enabled:!0}),remove:()=>s.update({uri:null}),update:a=>{typeof a.uri<"u"&&a.uri!==n&&(delete this._registeredResources[n],a.uri&&(this._registeredResources[a.uri]=s)),typeof a.name<"u"&&(s.name=a.name),typeof a.title<"u"&&(s.title=a.title),typeof a.metadata<"u"&&(s.metadata=a.metadata),typeof a.callback<"u"&&(s.readCallback=a.callback),typeof a.enabled<"u"&&(s.enabled=a.enabled),this.sendResourceListChanged()}};return this._registeredResources[n]=s,s}_createRegisteredResourceTemplate(e,r,n,o,i){let s={resourceTemplate:n,title:r,metadata:o,readCallback:i,enabled:!0,disable:()=>s.update({enabled:!1}),enable:()=>s.update({enabled:!0}),remove:()=>s.update({name:null}),update:u=>{typeof u.name<"u"&&u.name!==e&&(delete this._registeredResourceTemplates[e],u.name&&(this._registeredResourceTemplates[u.name]=s)),typeof u.title<"u"&&(s.title=u.title),typeof u.template<"u"&&(s.resourceTemplate=u.template),typeof u.metadata<"u"&&(s.metadata=u.metadata),typeof u.callback<"u"&&(s.readCallback=u.callback),typeof u.enabled<"u"&&(s.enabled=u.enabled),this.sendResourceListChanged()}};this._registeredResourceTemplates[e]=s;let a=n.uriTemplate.variableNames;return Array.isArray(a)&&a.some(u=>!!n.completeCallback(u))&&this.setCompletionRequestHandler(),s}_createRegisteredPrompt(e,r,n,o,i){let s={title:r,description:n,argsSchema:o===void 0?void 0:Lr(o),callback:i,enabled:!0,disable:()=>s.update({enabled:!1}),enable:()=>s.update({enabled:!0}),remove:()=>s.update({name:null}),update:a=>{typeof a.name<"u"&&a.name!==e&&(delete this._registeredPrompts[e],a.name&&(this._registeredPrompts[a.name]=s)),typeof a.title<"u"&&(s.title=a.title),typeof a.description<"u"&&(s.description=a.description),typeof a.argsSchema<"u"&&(s.argsSchema=Lr(a.argsSchema)),typeof a.callback<"u"&&(s.callback=a.callback),typeof a.enabled<"u"&&(s.enabled=a.enabled),this.sendPromptListChanged()}};return this._registeredPrompts[e]=s,o&&Object.values(o).some(c=>{let u=c instanceof Qe?c._def?.innerType:c;return ap(u)})&&this.setCompletionRequestHandler(),s}_createRegisteredTool(e,r,n,o,i,s,a,c,u){cp(e);let l={title:r,description:n,inputSchema:F_(o),outputSchema:F_(i),annotations:s,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"&&cp(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=Lr(d.paramsSchema)),typeof d.outputSchema<"u"&&(l.outputSchema=Lr(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,i,s;if(typeof r[0]=="string"&&(n=r.shift()),r.length>1){let c=r[0];if(up(c))o=r.shift(),r.length>1&&typeof r[0]=="object"&&r[0]!==null&&!up(r[0])&&(s=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`);s=r.shift()}}let a=r[0];return this._createRegisteredTool(e,void 0,n,o,i,s,{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:i,inputSchema:s,outputSchema:a,annotations:c,_meta:u}=r;return this._createRegisteredTool(e,o,i,s,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 i=r[0],s=this._createRegisteredPrompt(e,void 0,n,o,i);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),s}registerPrompt(e,r,n){if(this._registeredPrompts[e])throw new Error(`Prompt ${e} is already registered`);let{title:o,description:i,argsSchema:s}=r,a=this._createRegisteredPrompt(e,o,i,s,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 RI={type:"object",properties:{}};function H_(t){return t!==null&&typeof t=="object"&&"parse"in t&&typeof t.parse=="function"&&"safeParse"in t&&typeof t.safeParse=="function"}function G_(t){return"_def"in t||"_zod"in t||H_(t)}function up(t){return typeof t!="object"||t===null||G_(t)?!1:Object.keys(t).length===0?!0:Object.values(t).some(H_)}function F_(t){if(t){if(up(t))return Lr(t);if(!G_(t))throw new Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return t}}function TI(t){let e=ar(t);return e?Object.entries(e).map(([r,n])=>{let o=Tm(n),i=zm(n);return{name:r,description:o,required:!i}}):[]}function vr(t){let r=ar(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=Ki(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function B_(t){return{completion:{values:t.slice(0,100),total:t.length,hasMore:t.length>100}}}var ai={completion:{values:[],hasMore:!1}};import K_ from"node:process";var la=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),zI(r)}clear(){this._buffer=void 0}};function zI(t){return wo.parse(JSON.parse(t))}function J_(t){return JSON.stringify(t)+`
43
- `}var da=class{constructor(e=K_.stdin,r=K_.stdout){this._stdin=e,this._stdout=r,this._readBuffer=new la,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=J_(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};import{Http2ServerRequest as Q_,constants as EI}from"http2";import{Http2ServerRequest as lp}from"http2";import{Readable as W_}from"stream";import qI from"crypto";var en=class extends Error{constructor(t,e){super(t,e),this.name="RequestError"}},II=t=>t instanceof en?t:new en(t.message,{cause:t}),PI=global.Request,ci=class extends PI{constructor(t,e){typeof t=="object"&&Jn in t&&(t=t[Jn]()),typeof e?.body?.getReader<"u"&&(e.duplex??="half"),super(t,e)}},OI=t=>{let e=[],r=t.rawHeaders;for(let n=0;n<r.length;n+=2){let{[n]:o,[n+1]:i}=r;o.charCodeAt(0)!==58&&e.push([o,i])}return new Headers(e)},X_=Symbol("wrapBodyStream"),NI=(t,e,r,n,o)=>{let i={method:t,headers:r,signal:o.signal};if(t==="TRACE"){i.method="GET";let s=new ci(e,i);return Object.defineProperty(s,"method",{get(){return"TRACE"}}),s}if(!(t==="GET"||t==="HEAD"))if("rawBody"in n&&n.rawBody instanceof Buffer)i.body=new ReadableStream({start(s){s.enqueue(n.rawBody),s.close()}});else if(n[X_]){let s;i.body=new ReadableStream({async pull(a){try{s||=W_.toWeb(n).getReader();let{done:c,value:u}=await s.read();c?a.close():a.enqueue(u)}catch(c){a.error(c)}}})}else i.body=W_.toWeb(n);return new ci(e,i)},Jn=Symbol("getRequestCache"),ev=Symbol("requestCache"),pa=Symbol("incomingKey"),fa=Symbol("urlKey"),AI=Symbol("headersKey"),Gn=Symbol("abortControllerKey"),CI=Symbol("getAbortController"),ui={get method(){return this[pa].method||"GET"},get url(){return this[fa]},get headers(){return this[AI]||=OI(this[pa])},[CI](){return this[Jn](),this[Gn]},[Jn](){return this[Gn]||=new AbortController,this[ev]||=NI(this.method,this[fa],this.headers,this[pa],this[Gn])}};["body","bodyUsed","cache","credentials","destination","integrity","mode","redirect","referrer","referrerPolicy","signal","keepalive"].forEach(t=>{Object.defineProperty(ui,t,{get(){return this[Jn]()[t]}})});["arrayBuffer","blob","clone","formData","json","text"].forEach(t=>{Object.defineProperty(ui,t,{value:function(){return this[Jn]()[t]()}})});Object.defineProperty(ui,Symbol.for("nodejs.util.inspect.custom"),{value:function(t,e,r){let n={method:this.method,url:this.url,headers:this.headers,nativeRequest:this[ev]};return`Request (lightweight) ${r(n,{...e,depth:t==null?null:t-1})}`}});Object.setPrototypeOf(ui,ci.prototype);var jI=(t,e)=>{let r=Object.create(ui);r[pa]=t;let n=t.url||"";if(n[0]!=="/"&&(n.startsWith("http://")||n.startsWith("https://"))){if(t instanceof lp)throw new en("Absolute URL for :path is not allowed in HTTP/2");try{let a=new URL(n);r[fa]=a.href}catch(a){throw new en("Invalid absolute URL",{cause:a})}return r}let o=(t instanceof lp?t.authority:t.headers.host)||e;if(!o)throw new en("Missing host header");let i;if(t instanceof lp){if(i=t.scheme,!(i==="http"||i==="https"))throw new en("Unsupported scheme")}else i=t.socket&&t.socket.encrypted?"https":"http";let s=new URL(`${i}://${o}${n}`);if(s.hostname.length!==o.length&&s.hostname!==o.replace(/:\d+$/,""))throw new en("Invalid host header");return r[fa]=s.href,r},pp=Symbol("responseCache"),Hn=Symbol("getResponseCache"),tn=Symbol("cache"),hp=global.Response,Kn=class tv{#t;#e;[Hn](){return delete this[tn],this[pp]||=new hp(this.#t,this.#e)}constructor(e,r){let n;if(this.#t=e,r instanceof tv){let o=r[pp];if(o){this.#e=o,this[Hn]();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[tn]=[r?.status||200,e,n||r?.headers])}get headers(){let e=this[tn];return e?(e[2]instanceof Headers||(e[2]=new Headers(e[2]||{"content-type":"text/plain; charset=UTF-8"})),e[2]):this[Hn]().headers}get status(){return this[tn]?.[0]??this[Hn]().status}get ok(){let e=this.status;return e>=200&&e<300}};["body","bodyUsed","redirected","statusText","trailers","type","url"].forEach(t=>{Object.defineProperty(Kn.prototype,t,{get(){return this[Hn]()[t]}})});["arrayBuffer","blob","clone","formData","json","text"].forEach(t=>{Object.defineProperty(Kn.prototype,t,{value:function(){return this[Hn]()[t]()}})});Object.defineProperty(Kn.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[pp]};return`Response (lightweight) ${r(n,{...e,depth:t==null?null:t-1})}`}});Object.setPrototypeOf(Kn,hp);Object.setPrototypeOf(Kn.prototype,hp.prototype);async function MI(t){return Promise.race([t,Promise.resolve().then(()=>Promise.resolve(void 0))])}function rv(t,e,r){let n=a=>{t.cancel(a).catch(()=>{})};return e.on("close",n),e.on("error",n),(r??t.read()).then(s,o),t.closed.finally(()=>{e.off("close",n),e.off("error",n)});function o(a){a&&e.destroy(a)}function i(){t.read().then(s,o)}function s({done:a,value:c}){try{if(a)e.end();else if(!e.write(c))e.once("drain",i);else return t.read().then(s,o)}catch(u){o(u)}}}function ZI(t,e){if(t.locked)throw new TypeError("ReadableStream is locked.");return e.destroyed?void 0:rv(t.getReader(),e)}var fp=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},DI="x-hono-already-sent";typeof global.crypto>"u"&&(global.crypto=qI);var gp=Symbol("outgoingEnded"),Y_=Symbol("incomingDraining"),VI=500,LI=64*1024*1024,dp=t=>{let e=t;if(t.destroyed||e[Y_])return;if(e[Y_]=!0,t instanceof Q_){try{t.stream?.close?.(EI.NGHTTP2_NO_ERROR)}catch{}return}let r=0,n=()=>{clearTimeout(i),t.off("data",s),t.off("end",n),t.off("error",n)},o=()=>{n();let a=t.socket;a&&!a.destroyed&&a.destroySoon()},i=setTimeout(o,VI);i.unref?.();let s=a=>{r+=a.length,r>LI&&o()};t.on("data",s),t.on("end",n),t.on("error",n),t.resume()},UI=()=>new Response(null,{status:400}),nv=t=>new Response(null,{status:t instanceof Error&&(t.name==="TimeoutError"||t.constructor.name==="TimeoutError")?504:500}),mp=(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))},ov=t=>{"flushHeaders"in t&&t.writable&&t.flushHeaders()},iv=async(t,e)=>{let[r,n,o]=t[tn],i=!1;if(!o)o={"content-type":"text/plain; charset=UTF-8"};else if(o instanceof Headers)i=o.has("content-length"),o=fp(o);else if(Array.isArray(o)){let s=new Headers(o);i=s.has("content-length"),o=fp(s)}else for(let s in o)if(s.length===14&&s.toLowerCase()==="content-length"){i=!0;break}i||(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())):(ov(e),await ZI(n,e)?.catch(s=>mp(s,e))),e[gp]?.()},FI=t=>typeof t.then=="function",BI=async(t,e,r={})=>{if(FI(t))if(r.errorHandler)try{t=await t}catch(o){let i=await r.errorHandler(o);if(!i)return;t=i}else t=await t.catch(nv);if(tn in t)return iv(t,e);let n=fp(t.headers);if(t.body){let o=t.body.getReader(),i=[],s=!1,a;if(n["transfer-encoding"]!=="chunked"){let c=2;for(let u=0;u<c;u++){a||=o.read();let l=await MI(a).catch(d=>{console.error(d),s=!0});if(!l){if(u===1){await new Promise(d=>setTimeout(d)),c=3;continue}break}if(a=void 0,l.value&&i.push(l.value),l.done){s=!0;break}}s&&!("content-length"in n)&&(n["content-length"]=i.reduce((u,l)=>u+l.length,0))}e.writeHead(t.status,n),i.forEach(c=>{e.write(c)}),s?e.end():(i.length===0&&ov(e),await rv(o,e,a))}else n[DI]||(e.writeHead(t.status,n),e.end());e[gp]?.()},yp=(t,e={})=>{let r=e.autoCleanupIncoming??!0;return e.overrideGlobalObjects!==!1&&global.Request!==ci&&(Object.defineProperty(global,"Request",{value:ci}),Object.defineProperty(global,"Response",{value:Kn})),async(n,o)=>{let i,s;try{s=jI(n,e.hostname);let a=!r||n.method==="GET"||n.method==="HEAD";if(a||(n[X_]=!0,n.on("end",()=>{a=!0}),n instanceof Q_&&(o[gp]=()=>{a||setTimeout(()=>{a||setTimeout(()=>{dp(n)})})}),o.on("finish",()=>{a||dp(n)})),o.on("close",()=>{s[Gn]&&(n.errored?s[Gn].abort(n.errored.toString()):o.writableFinished||s[Gn].abort("Client connection prematurely closed.")),a||setTimeout(()=>{a||setTimeout(()=>{dp(n)})})}),i=t(s,{incoming:n,outgoing:o}),tn in i)return iv(i,o)}catch(a){if(i)return mp(a,o);if(e.errorHandler){if(i=await e.errorHandler(s?a:II(a)),!i)return}else s?i=nv(a):i=UI()}try{return await BI(i,o,e)}catch(a){return mp(a,o)}}};var ma=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 i={code:r,message:n};return o?.data!==void 0&&(i.data=o.data),new Response(JSON.stringify({jsonrpc:"2.0",error:i,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 i=await this._eventStore.storeEvent(n,{}),s=`id: ${i}
44
- data:
45
-
46
- `;this._retryInterval!==void 0&&(s=`id: ${i}
47
- retry: ${this._retryInterval}
48
- data:
49
-
50
- `),e.enqueue(r.encode(s))}async handleGetRequest(e){if(!e.headers.get("accept")?.includes("text/event-stream"))return this.onerror?.(new Error("Not Acceptable: Client must accept text/event-stream")),this.createJsonErrorResponse(406,-32e3,"Not Acceptable: Client must accept text/event-stream");let n=this.validateSession(e);if(n)return n;let o=this.validateProtocolVersion(e);if(o)return o;if(this._eventStore){let u=e.headers.get("last-event-id");if(u)return this.replayEvents(u)}if(this._streamMapping.get(this._standaloneSseStreamId)!==void 0)return this.onerror?.(new Error("Conflict: Only one SSE stream is allowed per session")),this.createJsonErrorResponse(409,-32e3,"Conflict: Only one SSE stream is allowed per session");let i=new TextEncoder,s,a=new ReadableStream({start:u=>{s=u},cancel:()=>{this._streamMapping.delete(this._standaloneSseStreamId)}}),c={"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"};return this.sessionId!==void 0&&(c["mcp-session-id"]=this.sessionId),this._streamMapping.set(this._standaloneSseStreamId,{controller:s,encoder:i,cleanup:()=>{this._streamMapping.delete(this._standaloneSseStreamId);try{s.close()}catch{}}}),new Response(a,{headers:c})}async replayEvents(e){if(!this._eventStore)return this.onerror?.(new Error("Event store not configured")),this.createJsonErrorResponse(400,-32e3,"Event store not configured");try{let r;if(this._eventStore.getStreamIdForEventId){if(r=await this._eventStore.getStreamIdForEventId(e),!r)return this.onerror?.(new Error("Invalid event ID format")),this.createJsonErrorResponse(400,-32e3,"Invalid event ID format");if(this._streamMapping.get(r)!==void 0)return this.onerror?.(new Error("Conflict: Stream already has an active connection")),this.createJsonErrorResponse(409,-32e3,"Conflict: Stream already has an active connection")}let n={"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"};this.sessionId!==void 0&&(n["mcp-session-id"]=this.sessionId);let o=new TextEncoder,i,s=new ReadableStream({start:c=>{i=c},cancel:()=>{}}),a=await this._eventStore.replayEventsAfter(e,{send:async(c,u)=>{if(!this.writeSSEEvent(i,o,u,c)){this.onerror?.(new Error("Failed replay events"));try{i.close()}catch{}}}});return this._streamMapping.set(a,{controller:i,encoder:o,cleanup:()=>{this._streamMapping.delete(a);try{i.close()}catch{}}}),new Response(s,{headers:n})}catch(r){return this.onerror?.(r),this.createJsonErrorResponse(500,-32e3,"Error replaying events")}}writeSSEEvent(e,r,n,o){try{let i=`event: message
51
- `;return o&&(i+=`id: ${o}
52
- `),i+=`data: ${JSON.stringify(n)}
53
-
54
- `,e.enqueue(r.encode(i)),!0}catch(i){return this.onerror?.(i),!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 i={headers:Object.fromEntries(e.headers.entries()),url:new URL(e.url)},s;if(r?.parsedBody!==void 0)s=r.parsedBody;else try{s=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(s)?a=s.map(y=>wo.parse(y)):a=[wo.parse(s)]}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(xo);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 y=this.validateSession(e);if(y)return y;let _=this.validateProtocolVersion(e);if(_)return _}if(!a.some(ur)){for(let y of a)this.onmessage?.(y,{authInfo:r?.authInfo,requestInfo:i});return new Response(null,{status:202})}let l=crypto.randomUUID(),d=a.find(y=>xo(y)),f=d?d.params.protocolVersion:e.headers.get("mcp-protocol-version")??Ym;if(this._enableJsonResponse)return new Promise(y=>{this._streamMapping.set(l,{resolveJson:y,cleanup:()=>{this._streamMapping.delete(l)}});for(let _ of a)ur(_)&&this._requestToStreamMapping.set(_.id,l);for(let _ of a)this.onmessage?.(_,{authInfo:r?.authInfo,requestInfo:i})});let h=new TextEncoder,p,m=new ReadableStream({start:y=>{p=y},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 y of a)ur(y)&&(this._streamMapping.set(l,{controller:p,encoder:h,cleanup:()=>{this._streamMapping.delete(l);try{p.close()}catch{}}}),this._requestToStreamMapping.set(y.id,l));await this.writePrimingEvent(p,h,l,f);for(let y of a){let _,w;ur(y)&&this._eventStore&&f>="2025-11-25"&&(_=()=>{this.closeSSEStream(y.id)},w=()=>{this.closeStandaloneSSEStream()}),this.onmessage?.(y,{authInfo:r?.authInfo,requestInfo:i,closeSSEStream:_,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&&!$n.includes(r))return this.onerror?.(new Error(`Bad Request: Unsupported protocol version: ${r} (supported versions: ${$n.join(", ")})`)),this.createJsonErrorResponse(400,-32e3,`Bad Request: Unsupported protocol version: ${r} (supported versions: ${$n.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((Jt(e)||xn(e))&&(n=e.id),n===void 0){if(Jt(e)||xn(e))throw new Error("Cannot send a response on a standalone SSE stream unless resuming a previous client request");let s;this._eventStore&&(s=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,s);return}let o=this._requestToStreamMapping.get(n);if(!o)throw new Error(`No connection established for request ID: ${String(n)}`);let i=this._streamMapping.get(o);if(!this._enableJsonResponse&&i?.controller&&i?.encoder){let s;this._eventStore&&(s=await this._eventStore.storeEvent(o,e)),this.writeSSEEvent(i.controller,i.encoder,e,s)}if(Jt(e)||xn(e)){this._requestResponseMap.set(n,e);let s=Array.from(this._requestToStreamMapping.entries()).filter(([c,u])=>u===o).map(([c])=>c);if(s.every(c=>this._requestResponseMap.has(c))){if(!i)throw new Error(`No connection established for request ID: ${String(n)}`);if(this._enableJsonResponse&&i.resolveJson){let c={"Content-Type":"application/json"};this.sessionId!==void 0&&(c["mcp-session-id"]=this.sessionId);let u=s.map(l=>this._requestResponseMap.get(l));u.length===1?i.resolveJson(new Response(JSON.stringify(u[0]),{status:200,headers:c})):i.resolveJson(new Response(JSON.stringify(u),{status:200,headers:c}))}else i.cleanup();for(let c of s)this._requestResponseMap.delete(c),this._requestToStreamMapping.delete(c)}}}};var ha=class{constructor(e={}){this._requestContext=new WeakMap,this._webStandardTransport=new ma(e),this._requestListener=yp(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 yp(async s=>this._webStandardTransport.handleRequest(s,{authInfo:o,parsedBody:n}),{overrideGlobalObjects:!1})(e,r)}closeSSEStream(e){this._webStandardTransport.closeSSEStream(e)}closeStandaloneSSEStream(){this._webStandardTransport.closeStandaloneSSEStream()}};import{resolve as SP,join as Re,dirname as kP,isAbsolute as RP,basename as Dv}from"node:path";import{fileURLToPath as TP}from"node:url";import{createHash as qv,randomBytes as Vp,randomInt as Vv,randomUUID as Lv,timingSafeEqual as zP}from"node:crypto";import{createServer as EP}from"node:http";import{brotliCompressSync as IP,brotliDecompressSync as PP}from"node:zlib";import*as R from"node:fs";import{readFile as OP,mkdir as NP,open as AP,rename as CP,unlink as Rv,lstat as jP}from"node:fs/promises";import{adapt_wrapper as MP}from"@adapt-toolkit/sdk/executables";import{PacketWrapperConfigurator as ZP}from"@adapt-toolkit/sdk/wrappers";import{object_to_adapt_value as Uv}from"@adapt-toolkit/sdk/wrapper";import{AdaptObjectLifetime as Lp}from"@adapt-toolkit/sdk/common";import*as ut from"node:fs";import{randomBytes as HI}from"node:crypto";import{homedir as cv}from"node:os";import{resolve as ga,join as _p,dirname as uv,basename as GI}from"node:path";var lv=["owner","shared","open"],Wn={brokerUrl:"wss://broker1.ours.network",port:3050,stateDir:ga(cv(),".ours"),gcIntervalMs:36e5,autoStart:!1,apiVisibility:"owner"};function JI(){return process.env.OURS_CONFIG??_p(cv(),".ours","config.json")}function KI(){let t;try{t=ut.readFileSync(JI(),"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=ga(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"&&lv.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 WI(){let t=process.env.OURS_API_VISIBILITY?.trim().toLowerCase();return t&&lv.includes(t)?t:void 0}function YI(t){let e=process.env[t];if(e!==void 0)return e==="1"||e.toLowerCase()==="true"}function sv(t){let e=process.env[t];if(e===void 0)return;let r=parseInt(e,10);return Number.isNaN(r)?void 0:r}function dv(){let t=KI();return{brokerUrl:process.env.OURS_BROKER_URL??t.brokerUrl??Wn.brokerUrl,port:sv("OURS_PORT")??t.port??Wn.port,stateDir:ga(process.env.OURS_STATE_DIR??t.stateDir??Wn.stateDir),gcIntervalMs:sv("OURS_GC_INTERVAL_MS")??t.gcIntervalMs??Wn.gcIntervalMs,autoStart:YI("OURS_AUTOSTART")??t.autoStart??Wn.autoStart,apiVisibility:WI()??t.apiVisibility??Wn.apiVisibility,apiToken:process.env.OURS_API_TOKEN?.trim()||t.apiToken,stt:QI(t.stt)}}function QI(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 XI="daemon-token";function vp(t){return _p(t.stateDir,XI)}function pv(t){let e=process.env.OURS_API_TOKEN?.trim();return e||t.apiToken?.trim()||void 0}function fv(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=vp(t);try{let s=ut.readFileSync(o,"utf8").trim();if(s)return{token:s,source:"file"}}catch{}if(!e.generate)return null;let i=HI(32).toString("hex");try{ut.mkdirSync(uv(o),{recursive:!0}),ut.writeFileSync(o,i+`
55
- `,{mode:384}),ut.chmodSync(o,384)}catch{}return{token:i,source:"generated"}}var av=".ours-identity";function bp(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 eP(t){let e=ga(t);return GI(e)===av?e:_p(e,av)}function mv(t,e,r=!1){let n=bp(e),o=eP(t);if(!r&&ut.existsSync(o))throw new Error(`${o} already exists \u2014 pass overwrite to replace it`);return ut.mkdirSync(uv(o),{recursive:!0}),ut.writeFileSync(o,JSON.stringify(n,null,2)+`
56
- `),o}import{basename as tP,extname as rP}from"node:path";var nP={".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 hv(t){return nP[rP(t).toLowerCase()]??"application/octet-stream"}function gv(t){let e=tP(t).replace(/[^A-Za-z0-9._-]/g,"_");return e.length?e.slice(0,200):"file"}var oP=new Set(["e2e_app_recv","migration_deferred_flush"]);function yv(t){let e=new Set;for(let r of t){if(!r||typeof r!="object")continue;let n=r.event;if(typeof n!="string"||!oP.has(n))continue;let o=r.wire_id;typeof o=="string"&&o.length>0&&e.add(o)}return e}function iP(t,e){return t&&e.has(t)?"e2e":"legacy"}function sP(t,e){let r=iP(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 _v(t,e){let r=t.map(n=>sP(n,e));return{count:r.length,messages:r}}var aP="x-ours-kind=voice-message",cP="voice-message-";function ya(t,e){let r=(t??"").toLowerCase().split(";").map(n=>n.trim());return r[0].startsWith("audio/")&&r.slice(1).includes(aP)?!0:e.toLowerCase().startsWith(cP)&&r[0].startsWith("audio/")}function $p(t){return(t??"").split(";")[0].trim()||"application/octet-stream"}var wp=["openai-compatible","elevenlabs","deepgram","custom"],uP=5*1024*1024,lP=6e4;function xp(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: ${wp.join(" | ")}) \u2014 ${e}`};let r=t.provider.trim().toLowerCase();if(!wp.includes(r))return{ready:!1,reason:`unknown STT provider "${t.provider}" (expected: ${wp.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 _a(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 va(t,e,r,n=[]){let o=new AbortController,i=setTimeout(()=>o.abort(),r);try{let s=await fetch(t,{...e,signal:o.signal});if(!s.ok){let a=await s.text().catch(()=>"");for(let c of n)c&&(a=a.split(c).join("[redacted]"));return{ok:!1,error:`STT HTTP ${s.status}${a?`: ${a.slice(0,200)}`:""}`}}return{ok:!0,json:await s.json()}}catch(s){return s?.name==="AbortError"?{ok:!1,error:`STT timeout after ${r}ms`}:{ok:!1,error:s instanceof Error?s.message:String(s)}}finally{clearTimeout(i)}}var Sp=(t,e)=>new Blob([new Uint8Array(t)],{type:$p(e)}),dP=async(t,e,r,n,o)=>{let i=new FormData;i.set("file",Sp(t,r),e),i.set("model",n.model.trim()),i.set("response_format","json"),n.language?.trim()&&i.set("language",n.language.trim());let s=await va(`${n.baseUrl.trim().replace(/\/$/,"")}/audio/transcriptions`,{method:"POST",headers:{Authorization:`Bearer ${n.apiKey.trim()}`},body:i},o,[n.apiKey.trim()]);if(!s.ok)return s;let a=_a(s.json,"text");return a!==void 0?{ok:!0,text:a}:{ok:!1,error:"STT response missing text"}},pP=async(t,e,r,n,o)=>{let i=new FormData;i.set("file",Sp(t,r),e),i.set("model_id",n.model.trim()),n.language?.trim()&&i.set("language_code",n.language.trim());let s=await va(`${(n.baseUrl?.trim()||"https://api.elevenlabs.io").replace(/\/$/,"")}/v1/speech-to-text`,{method:"POST",headers:{"xi-api-key":n.apiKey.trim()},body:i},o,[n.apiKey.trim()]);if(!s.ok)return s;let a=_a(s.json,"text");return a!==void 0?{ok:!0,text:a}:{ok:!1,error:"STT response missing text"}},fP=async(t,e,r,n,o)=>{let i=new URLSearchParams;n.model?.trim()&&i.set("model",n.model.trim()),n.language?.trim()&&i.set("language",n.language.trim());let s=i.toString(),a=await va(`${(n.baseUrl?.trim()||"https://api.deepgram.com").replace(/\/$/,"")}/v1/listen${s?`?${s}`:""}`,{method:"POST",headers:{Authorization:`Token ${n.apiKey.trim()}`,"Content-Type":$p(r)},body:new Uint8Array(t)},o,[n.apiKey.trim()]);if(!a.ok)return a;let c=_a(a.json,"results.channels.0.alternatives.0.transcript");return c!==void 0?{ok:!0,text:c}:{ok:!1,error:"STT response missing transcript"}},mP=async(t,e,r,n,o)=>{let i=n.custom,s=n.model?.trim()??"",a=i.url.replaceAll("{model}",encodeURIComponent(s)),c={},u=i.authHeaderName?.trim()||"Authorization",l=(i.authHeaderTemplate??"Bearer {key}").replaceAll("{key}",n.apiKey.trim());l&&(c[u]=l);let d=i.bodyMode??"multipart",f=i.fileField?.trim()||"file",h=i.modelField===void 0?"model":i.modelField.trim(),p;if(d==="multipart"){let y=new FormData;y.set(f,Sp(t,r),e),h&&s&&y.set(h,s);for(let[_,w]of Object.entries(i.extraFields??{}))y.set(_,w);p=y}else d==="raw"?(c["Content-Type"]=$p(r),p=new Uint8Array(t)):(c["Content-Type"]="application/json",p=JSON.stringify({[f]:t.toString("base64"),...h&&s?{[h]:s}:{},...i.extraFields??{}}));let m=await va(a,{method:i.method?.trim()||"POST",headers:c,body:p},o,[n.apiKey.trim()]);if(!m.ok)return m;let g=_a(m.json,i.responseTextPath?.trim()||"text");return g!==void 0?{ok:!0,text:g}:{ok:!1,error:`STT response has no text at "${i.responseTextPath?.trim()||"text"}"`}},hP={"openai-compatible":dP,elevenlabs:pP,deepgram:fP,custom:mP};async function vv(t,e,r,n){let o=xp(n);if(!o.ready)return{ok:!1,error:o.reason};let i=n.maxBytes??uP;if(t.length>i)return{ok:!1,error:`voice message is ${t.length} B \u2014 over the ${i} B STT limit (stt.maxBytes)`};let s=n.timeoutMs??lP;try{return await hP[o.provider](t,e,r,n,s)}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}function gP(t){return/limit|over .* bytes/i.test(t)?"size_limit":/timeout/i.test(t)?"timeout":/HTTP \d+/i.test(t)?"provider_http":/missing|no text|no transcript/i.test(t)?"invalid_response":"provider_error"}function bv(t,e,r){return!t.ready||e.kind==="unconfigured"?{configured:!1,attempted:!1,status:"unavailable",provider:null,text:null,error_category:"not_configured",audio_path:r.audioPath,file_wire_id:r.wireId}:e.kind==="transcript"?{configured:!0,attempted:!0,status:"succeeded",provider:t.provider,text:e.text,error_category:null,audio_path:r.audioPath,file_wire_id:r.wireId}:{configured:!0,attempted:!0,status:"failed",provider:t.provider,text:null,error_category:gP(e.error),audio_path:r.audioPath,file_wire_id:r.wireId}}function wv(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 It from"node:fs";import{join as yP}from"node:path";var _P="startup-progress.json",$v=1;function vP(t){return yP(t,_P)}function xv(t,e={}){let r=e.pid??process.pid,n=e.now??Date.now,o=n(),i=vP(t),s=`${i}.${r}.tmp`,a=Math.max(100,e.heartbeatMs??2e3),c=!1,u=!1,l={version:$v,pid:r,bootId:`${r}-${o}`,phase:"initializing",startedAt:o,updatedAt:o},d=()=>{if(!u)try{It.mkdirSync(t,{recursive:!0,mode:448}),It.writeFileSync(s,`${JSON.stringify(l)}
57
- `,{mode:384}),It.renameSync(s,i);try{It.chmodSync(i,384)}catch{}}catch{u=!0;try{It.rmSync(s,{force:!0})}catch{}}},f=(m,g)=>{l={version:$v,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 bP=`: ka
58
-
59
- `;function wP(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 ba(t,e=wP()){if(!(e>0))return;let r=!1,n=t.writeHead.bind(t);t.writeHead=(...s)=>{let a=typeof s[1]=="object"&&s[1]!==null?s[1]:s[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(...s)};let o=setInterval(()=>{if(!(!r||t.writableEnded||t.destroyed))try{t.write(bP)}catch{}},e);o.unref?.();let i=()=>clearInterval(o);t.once("close",i),t.once("finish",i)}function $P(t){let e=new Map;for(let r of t)e.set(r.name,(e.get(r.name)??0)+1);return e}function Sv(t){let e=$P(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 xP(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 fi="0.17.0",Lt=dv(),ze=Lt.stateDir,Sa=Lt.brokerUrl,Fv=process.env.OURS_TRANSPORT??"http",kp=Lt.port,Tv=Lt.gcIntervalMs,Op=Lt.apiVisibility,DP=Number(process.env.OURS_TEST_STARTUP_HEARTBEAT_MS||"")||void 0,Xt=Fv==="http"?xv(ze,{heartbeatMs:DP}):null,$=(...t)=>process.stderr.write(`ours: ${t.join(" ")}
60
- `);function qP(){if(Op==="open")return null;if(Op==="shared"){let t=pv(Lt);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 (${vp(Lt)} is not used for shared mode). Use apiVisibility=owner for a same-user-only auto-token, or =open to disable auth.`);return t}return fv(Lt,{generate:!0}).token}var zv=qP();function VP(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 LP(t){if(zv===null)return!0;let e=VP(t);if(!e)return!1;let r=Buffer.from(e),n=Buffer.from(zv);return r.length===n.length&&zP(r,n)}function li(t,e){return LP(t)?!0:(e.writeHead(401,{"Content-Type":"application/json"}),e.end(JSON.stringify({error:"unauthorized"})),!1)}var UP=/^[A-Za-z0-9 _.@-]{1,64}$/,ka="contact-book";function mi(t){return UP.test(t)?t==="."||t===".."||t.includes("/")||t.includes("\\")?"invalid name":t===ka?`"${ka}" 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 FP(){let t=kP(TP(import.meta.url)),e=process.env.OURS_UNIT_DIR,r=process.env.OURS_ADVERTISE_MIGRATE==="0",n=i=>r?[`${i}-nocap`]:[i],o=e?n(SP(e)):[Re(t,"mufl_code"),Re(t,"..","mufl_code")].flatMap(n);for(let i of o){if(!R.existsSync(i))continue;let s=R.readdirSync(i).find(a=>a.endsWith(".muflo"));if(s){let a=s.slice(0,-6),c=new Uint8Array(R.readFileSync(Re(i,s)));return{dir:i,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 hi,on,D=new Map,bt=null,Np=null,Pe=new Map,Ia=new Set,qe=new Map,yi=new Set;function Pt(t){if(!Number.isInteger(t)||t<=0)return!1;try{return process.kill(t,0),!0}catch(e){return e.code==="EPERM"}}function Ra(t){for(let e of Pe.values())if(e.token===t)return e}var Ev=()=>Re(ze,"bindings.json");function bi(){try{R.mkdirSync(ze,{recursive:!0});let t=`${Ev()}.tmp`;R.writeFileSync(t,JSON.stringify({pid:process.pid,bound:[...Pe.keys()],holders:[...Pe.values()].map(e=>({identity:e.identity,pid:e.pid}))})),R.renameSync(t,Ev())}catch(t){$("failed to persist bindings snapshot:",String(t))}}var Bv=t=>Re(ze,t),wi=t=>Re(t,"identity.key"),sn=t=>Re(t,"state_data.bin"),Up=t=>Re(t,"notifications.log"),Ap=t=>Re(t,"unread.json"),Hv=t=>Re(t.dir,"files"),Gv=t=>Re(t,"temp.json"),Yn=t=>qv("sha256").update(t).digest("hex");function Jv(t,e){R.writeFileSync(Gv(t),JSON.stringify({v:1,owner:{token_sha256:e.owner.tokenHash,pid:e.owner.pid},created_at:e.createdAt}),{mode:384})}function Kv(t){try{let e=JSON.parse(R.readFileSync(Gv(t),"utf8"));return e.v!==1||typeof e.owner?.token_sha256!="string"||typeof e.owner?.pid!="number"?null:{owner:{tokenHash:e.owner.token_sha256,pid:e.owner.pid},createdAt:typeof e.created_at=="number"?e.created_at:0}}catch{return null}}function BP(){for(let t of Fp()){let e=Re(ze,t);try{R.chmodSync(e,448)}catch(r){$(`[${t}] chmod 0700 failed:`,String(r))}for(let r of[sn(e),wi(e)])if(R.existsSync(r))try{R.chmodSync(r,384)}catch(n){$(`[${t}] chmod 0600 ${r} failed:`,String(n))}}}var HP=t=>/^[A-Za-z0-9]+$/.test(t)&&t.length>0&&t.length<=128,GP=t=>/^[A-Fa-f0-9]{64}$/.test(t),Rp=32;function Wv(t,e){if(!HP(e))return null;let r=Hv(t),n;try{n=R.readdirSync(r)}catch{return null}let o=`${e}-`,i=n.find(s=>s.startsWith(o));return i?Re(r,i):null}function Fp(){return R.existsSync(ze)?R.readdirSync(ze,{withFileTypes:!0}).filter(t=>t.isDirectory()&&R.existsSync(wi(Re(ze,t.name)))).map(t=>t.name):[]}var _i=()=>Re(ze,ka),Iv=()=>Re(_i(),"registrar.key"),Cp=()=>Re(_i(),"book.json");function Pa(){try{let t=JSON.parse(R.readFileSync(Cp(),"utf8"));return t&&typeof t.entries=="object"?t.entries:{}}catch{return{}}}function Yv(t){R.mkdirSync(_i(),{recursive:!0});let e=`${Cp()}.tmp`;R.writeFileSync(e,JSON.stringify({v:1,entries:t},null,2),{mode:384}),R.renameSync(e,Cp())}function eo(t){return Ve(e=>Buffer.from(Se(t,"::actor::export_address_document",e).GetBinary()))}function Qv(t){return Ve(e=>Buffer.from(Se(t,"::actor::export_signing_secret",e).Serialize()).toString("hex"))}async function Xv(t){if(!bt)throw new Error("registrar is not available");let e=eo(t),r=await F(async o=>{let i=await Z(bt,"::actor::sign_book_entry",{name:t.name,ad:bt.pw.packet.NewBinaryFromBuffer(e).Attach(o)},o);return Buffer.from(i.Reduce("sig").GetBinary()).toString("base64url")}),n=Pa();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},Yv(n),$(`[${t.name}] published to the local contact book`)}function eb(t){let e=Pa(),r=Object.entries(e).find(([,n])=>n.container_id===t.cid);r&&(delete e[r[0]],Yv(e),$(`[${t.name}] removed from the local contact book (entry "${r[0]}")`))}async function tb(t){if(!Np)throw new Error("registrar is not available");await F(async e=>{await Z(t,"::actor::pin_registrar",{registrar_ad:t.pw.packet.NewBinaryFromBuffer(Np).Attach(e)},e)})}var Ta=()=>Re(ze,"root.json"),se=null;function JP(){try{let t=JSON.parse(R.readFileSync(Ta(),"utf8"));return typeof t.name=="string"?t.name:null}catch{return null}}function KP(t){R.mkdirSync(ze,{recursive:!0});let e=`${Ta()}.tmp`;R.writeFileSync(e,JSON.stringify({v:1,name:t})),R.renameSync(e,Ta())}function rb(){R.rmSync(Ta(),{force:!0})}function vt(t){return Ve(e=>{let r=Se(t,"::actor::describe_identity",e);return{bio:r.Reduce("bio").Visualize(),persona:r.Reduce("persona").Visualize(),hasCert:r.Reduce("has_cert").GetBoolean(),roleId:r.Reduce("role_id").Visualize(),rootCid:r.Reduce("root_cid").Visualize(),rootName:r.Reduce("root_name").Visualize(),monitoringEnabled:r.Reduce("monitoring_enabled").GetBoolean()}})}async function Qn(t,e){await F(async r=>{let n=eo(e),o=await Z(t,"::actor::sign_delegation",{role_ad:t.pw.packet.NewBinaryFromBuffer(n).Attach(r),role_id:e.name},r),i=Buffer.from(o.Reduce("cert").GetBinary()),s=await Z(t,"::actor::export_root_profile",{},r),a=Buffer.from(s.Reduce("profile").GetBinary()),c=eo(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(i).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 Pv(t){se=t.name,KP(t.name);let e=[],r=[];for(let n of D.values())if(n.name!==t.name&&!n.temp)try{await Qn(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 WP(t,e){if(!se||!D.has(se))return null;let r=D.get(e)??[...D.values()].find(o=>o.cid===e);if(!r||r.name===t.name)return null;let n=o=>o.name===se||vt(o).roleId!=="";return n(t)&&n(r)?r:null}async function YP(t,e,r){let n=eo(e);return await F(async o=>{await Z(t,"::actor::connect_sibling",{name:e.name,target_ad:t.pw.packet.NewBinaryFromBuffer(n).Attach(o),text:r},o)}),an(t),`"${e.name}" was not a contact yet \u2014 connected as an intra-root sibling (delegation-cert auto-accept) and delivered the message.`}async function QP(t,e,r){if(!bt)throw new Error(`"${e}" is not a contact, and the local contact book is unavailable.`);let n=Pa(),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 i=Buffer.from(o.address_document,"base64url"),s=Buffer.from(o.registrar_sig,"base64url"),a=eo(t);return await F(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(i).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(i).Attach(c),intro:t.pw.packet.NewBinaryFromBuffer(l).Attach(c),entry_sig:t.pw.packet.NewBinaryFromBuffer(s).Attach(c),text:r},c)}),an(t),`"${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 $i(t){return Ve(e=>{let r=Se(t,"::a2a_messaging::get_monitoring_status",e),n=Se(t,"::actor::get_monitoring_status",e);return{enabled:r.Reduce("monitored").GetBoolean(),proxyCid:r.Reduce("proxy_cid").Visualize(),proxyPending:r.Reduce("proxy_pending").GetBoolean(),copiesQueued:parseInt(n.Reduce("copies_queued").Visualize(),10)||0,controlQueued:parseInt(n.Reduce("control_queued").Visualize(),10)||0}})}async function gi(t,e,r){await F(async n=>{await Z(t,"::a2a_control::send_control",{contact:e,payload:JSON.stringify(r)},n)})}function nb(t){try{return Ve(e=>{let r=Se(t,"::a2a_capabilities::get_manifest",e).Reduce("capabilities");return r.IsNil()?[]:[...r.GetKeys()].map(n=>typeof n=="string"?n:n.Visualize())})}catch{return[]}}function XP(t){let e="",r="",n="",o="",i=[];try{Ve(s=>{let a=Se(t,"::a2a_capabilities::get_manifest",s),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()||(i=[...u.GetKeys()].map(l=>typeof l=="string"?l:l.Visualize()))})}catch{}return{app_id:e,name:r,description:n,version:o,capabilities:i,monitoring_status:$i(t).proxyCid?"bound":"unbound"}}function eO(t){let e=[];for(let r of D.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:nb(r)})}return e}function Bp(t){try{on.remove_packet(t.cid)}catch(e){$(`remove_packet(${t.cid}) failed:`,String(e))}D.delete(t.name);try{eb(t)}catch(e){$(`failed to unpublish "${t.name}" from the contact book:`,String(e))}Pe.has(t.name)&&(Pe.delete(t.name),bi()),t.name===se&&(se=null,rb());try{R.rmSync(t.dir,{recursive:!0,force:!0}),Ot.delete(t.name)}catch(e){return`deleting ${t.dir} failed: ${String(e)}`}return null}function za(t,e){let r=t.temp;return r?(r.closing||(r.closing=(async()=>{$(`[${t.name}] closing temporary identity (${e})`);let n=[];try{n=Ve(a=>db(Se(t,"::a2a_messaging::list_contacts",a)))}catch(a){$(`[${t.name}] contact snapshot failed during close (continuing with local cleanup):`,String(a))}let o=0,i=0;yi.add(t.name);try{for(let a of n)try{await F(async u=>{let d=(await Z(t,"::a2a_messaging::remove_contact",{contact:a.container_id},u)).Reduce("notified");return d.IsNil()?!1:d.GetBoolean()})?o++:i++}catch(c){i++,$(`[${t.name}] remove-me to ${a.container_id} failed (continuing):`,String(c))}}finally{yi.delete(t.name)}let s=Bp(t);return $(s?`[${t.name}] temporary identity close: LOCAL DELETE FAILED \u2014 ${s}`:`[${t.name}] temporary identity closed: ${n.length} contact(s), ${o} remove-me notice(s) queued, ${i} not sent (delivery unverified by design)`),{attempted:n.length,notified:o,failed:i,deleteError:s}})()),r.closing):Promise.reject(new Error(`identity "${t.name}" is not temporary`))}function ob(){for(let t of[...D.values()]){let e=t.temp;if(!e||e.closing||Pt(e.owner.pid))continue;let r=Pe.get(t.name);r&&Pt(r.pid)||za(t,`stale lease \u2014 owner pid ${e.owner.pid} is dead`).catch(n=>$(`[${t.name}] stale-temp reclaim failed:`,String(n)))}}function tO(){if(R.existsSync(ze))for(let t of R.readdirSync(ze,{withFileTypes:!0})){if(!t.isDirectory()||D.has(t.name))continue;let e=Re(ze,t.name),r=Kv(e);if(!(!r||Pt(r.owner.pid)))try{R.rmSync(e,{recursive:!0,force:!0}),Ot.delete(t.name),$(`[${t.name}] removed orphaned temporary-identity dir (owner pid ${r.owner.pid} dead, no live packet)`)}catch(n){$(`[${t.name}] failed to remove orphaned temporary-identity dir:`,String(n))}}}var Hp=!0,ib=Hp?2:1,rO=6e5,jp=new Map,Mp=(t,e)=>`${t}:${e}`;function sb(t,e,r){e&&jp.set(Mp(t,e),{response:r,at:Date.now()})}function nO(t,e){if(!e)return;let r=jp.get(Mp(t,e));if(r){if(Date.now()-r.at>rO){jp.delete(Mp(t,e));return}return r.response}}async function oO(t,e,r){let n=vi(r);if(!n||typeof n!="object")return;let o=n,i=o.result;if(i&&typeof i=="object"&&i.pending===!0)return;let s=String(o.req_id??"");s&&(await gi(t,e,o),sb(e,s,o))}async function iO(t,e,r,n,o,i){let s;try{let d=JSON.parse(o);if(!d||typeof d!="object")throw new Error("not an object");s=d}catch{$(`[${t.name}] dropping unparseable control payload from ${n}`);return}if(s.v===1){s.t==="get_manifest"?await gi(t,r,{v:1,t:"res",id:s.id??null,ok:!0,manifest:{...XP(t),protocol_version:ib}}):await gi(t,r,{v:1,t:"res",id:s.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(s.req_id??""),c=nO(r,a);if(c){await gi(t,r,c);return}let u=s.args&&typeof s.args=="object"?s.args:{},l={cap:String(s.cap??""),verb:String(s.verb??""),args:u,req_id:a};await F(async d=>{let f;try{f=await Z(t,"::actor::process_control_envelope",{sender_id:e,sender_name:n,envelope:l,date:i},d)}catch(h){$(`[${t.name}] dispatch of "${l.cap}.${l.verb}" from ${n} failed:`,String(h));return}if(await oO(t,r,f),l.cap==="core.monitoring"&&l.verb==="bind")try{let h=vi(f);h&&(h.ok===!0||h.$ok===!0)&&dO(t,r)}catch{}})}async function sO(t){for(;;)if(await F(async r=>{let o=(await Z(t,"::actor::get_control_requests",{},r)).Reduce("requests"),i=o.GetKeys();if(i.length===0)return!0;for(let s=0;s<i.length;s++){let a=o.Reduce(s),c=a.Reduce("sender_cid");await iO(t,c,c.Visualize(),a.Reduce("sender_name").Visualize(),a.Reduce("payload").Visualize(),a.Reduce("date"))}return!1}))return}function aO(){return String(Vv(0,1e6)).padStart(6,"0")}var cn=new Map;function Oa(t){return[...D.values()].find(e=>e.cid===t)}async function xi(t,e){let r=e.Reduce("target").Visualize(),n=vi(e.Reduce("response"));if(!n||typeof n!="object")return;await gi(t,r,n);let o=String(n.req_id??"");o&&sb(r,o,n)}async function cO(t,e,r,n){try{if(D.has(e)){$(`[${t.name}] host_provision_child("${e}") rejected: name exists (settles via sweep timeout)`);return}let o=await $a(e);await F(async i=>{r&&await Z(o,"::a2a_messaging::set_my_bio",{bio:r},i),await Qn(t,o);let s=vt(o).roleId,a=Se(o,"::actor::export_address_document_native",i),c=await Z(t,"::a2a_cluster::register_provisioned_child",{pending_handle:n,role_id:s,child_ad:a},i);await xi(t,c)})}catch(o){$(`[${t.name}] host_provision_child("${e}") failed (settles via sweep timeout):`,String(o))}}async function uO(t,e,r){try{let n=Oa(e.Visualize());if(n){let o=Bp(n);o&&$(`[${t.name}] host_destroy_child teardown warning:`,o)}cn.delete(e.Visualize()),await F(async o=>{let i=await Z(t,"::a2a_cluster::confirm_child_destroyed",{pending_handle:r,cid:e},o);await xi(t,i)})}catch(n){$(`[${t.name}] host_destroy_child failed (settles via sweep timeout):`,String(n))}}async function lO(t,e,r){try{let n=Oa(e.Visualize());if(!n){$(`[${t.name}] host_mint_child_invite: unknown child ${e.Visualize()} (settles via sweep timeout)`);return}await F(async o=>{let i=await Z(n,"::a2a_messaging::generate_invite",{},o),s=t.pw.packet.NewBinaryFromBuffer(Buffer.from(i.Reduce("invite").GetBinary())).Attach(o),a=await Z(t,"::a2a_cluster::register_child_invite",{pending_handle:r,invite:s},o);await xi(t,a)})}catch(n){$(`[${t.name}] host_mint_child_invite failed (settles via sweep timeout):`,String(n))}}async function Zp(t,e,r,n){await F(async o=>{if(e){n&&await Z(t,"::a2a_messaging::host_register_monitoring_cp",{cp_ad:n},o);let i=aO();await Z(t,"::a2a_messaging::set_proxy_pending",{code:i,proxy:r},o),await Z(t,"::a2a_messaging::verify_proxy_code",{code:i,sender:r},o),cn.set(t.cid,r??"")}else await Z(t,"::a2a_messaging::host_clear_child_monitoring",{},o),cn.delete(t.cid)})}async function Ov(t,e,r,n,o,i){try{let s=Oa(e.Visualize());if(!s){$(`[${t.name}] host_set_child_monitoring: unknown child ${e.Visualize()} (settles via sweep timeout)`);return}r?await Zp(s,!0,o?.Visualize(),i):await Zp(s,!1),await F(async a=>{let c=await Z(t,"::a2a_cluster::confirm_child_monitoring",{pending_handle:n,cid:e,enabled:r},a);await xi(t,c)})}catch(s){$(`[${t.name}] host_set_child_monitoring failed (settles via sweep timeout):`,String(s))}}async function dO(t,e){for(let[r,n]of[...cn.entries()]){if(n===e)continue;let o=Oa(r);if(!o){cn.delete(r);continue}await Zp(o,!1).catch(i=>$(`[${t.name}] CP-rebind clear of child ${r} failed:`,String(i)))}}function pO(t,e){let r=[];for(let n of D.values()){if(n.name===t.name)continue;let o=vt(n);if(o.rootCid!==t.cid)continue;let i=Se(n,"::actor::export_address_document_native",e);r.push({cid:i.Reduce("identity").Reduce("container_id"),role_id:o.roleId,name:n.name,bio:o.bio,persona:o.persona,caps:nb(n),child_ad:i})}return r}var Tp=new Set;async function ab(t){if(!Tp.has(t.name)){Tp.add(t.name);try{await F(async e=>{await Z(t,"::a2a_cluster::reconcile",{pending_handle:"",children:pO(t,e)},e);let n=(await Z(t,"::a2a_cluster::sweep_and_settle",{},e)).Reduce("settled"),o=n.GetKeys();for(let i=0;i<o.length;i++)await xi(t,n.Reduce(i))})}catch(e){$(`[${t.name}] cluster sweep failed:`,String(e))}finally{Tp.delete(t.name)}}}var fO=6e4;function mO(){setInterval(()=>{if(Hp)for(let t of D.values())vt(t).roleId===""&&ab(t)},fO).unref()}function hO(){for(let t of D.values())if(vt(t).roleId!=="")try{let e=$i(t).proxyCid;e&&cn.set(t.cid,e)}catch(e){cn.set(t.cid,""),$(`[${t.name}] monitoredChildren rebuild read failed (added clear-on-repoint):`,String(e))}}var zp=new Set;async function Gp(t){if(!zp.has(t.name)){zp.add(t.name);try{await sO(t)}catch(e){$(`[${t.name}] control dispatch failed:`,String(e))}finally{zp.delete(t.name)}if(D.has(t.name)&&$i(t).controlQueued>0)return Gp(t)}}async function gO(){R.mkdirSync(_i(),{recursive:!0});let t;try{t=R.readFileSync(Iv(),"utf8").trim()}catch{}let e=Vp(24).toString("hex");bt=await Kp(ka,e,_i(),!1,t),t||R.writeFileSync(Iv(),Qv(bt),{mode:384}),Np=eo(bt),$(`contact-book registrar ready (${bt.cid})`)}function yO(t){try{return R.existsSync(sn(t))&&R.statSync(sn(t)).size>0}catch{return!1}}function Dp(t){let e=Ve(i=>Buffer.from(Se(t,"::actor::export_state",i).Serialize()));R.mkdirSync(t.dir,{recursive:!0,mode:448});let r=sn(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(wi(t.dir),384)}catch{}let i=R.openSync(t.dir,"r");try{R.fsyncSync(i)}finally{R.closeSync(i)}}catch(i){if(o!==void 0)try{R.closeSync(o)}catch{}try{R.rmSync(n,{force:!0})}catch{}throw i}}function Jp(t){try{Dp(t),t.persistFailed&&(t.persistFailed=!1,$(`[${t.name}] persist recovered \u2014 quarantine lifted`),ce(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{ce(t,{event:"persist_failed",error:String(e).slice(0,300)})}catch{}throw process.nextTick(()=>De(t.name,`[${t.name}] PERSIST FAILED \u2014 messaging quarantined until the state file is writable again`)),e}}function _O(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 vO(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 cb(t,e){try{let r=await F(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 ub(t){try{let e=await F(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=Ve(n=>vO(Se(t,"::a2a_messaging::list_deferred_queues",n)));for(let n of r)n.degraded||await cb(t,n.cid)}catch(e){$(`[${t.name}] contact-restore sweep failed:`,String(e))}}async function Ea(t){try{let e=await F(async r=>{let n=await Z(t,"::a2a_messaging::reconcile_advertise",{},r),o=i=>n.Reduce(i).IsNil()?0:Number(n.Reduce(i).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))}}var Ep=new Set;function an(t){if(!Ep.has(t.name)){Ep.add(t.name);for(let e of[2e3,15e3])setTimeout(()=>{e===15e3&&Ep.delete(t.name);let r=D.get(t.name);r&&Ea(r)},e)}}async function qp(t){try{let e=await F(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 F(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 F(async r=>{let n=await Z(t,"::a2a_messaging::redrive_unacked_sweep",{},r),o=i=>n.Reduce(i).IsNil()?0:Number(n.Reduce(i).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 wa=new Map;function bO(t){let e=wa.get(t);if(!(!e||e.size===0))for(let r of[...e])try{r()}catch{}}function wO(t,e){return new Promise(r=>{let n=wa.get(t);n||(n=new Set,wa.set(t,n));let o=!1,i=()=>{o||(o=!0,n.delete(s),n.size===0&&wa.delete(t),clearTimeout(a),r())},s=i,a=setTimeout(i,e);n.add(s)})}function ce(t,e){try{R.mkdirSync(t.dir,{recursive:!0,mode:448}),R.appendFileSync(Up(t.dir),JSON.stringify(e)+`
61
- `)}catch(r){$(`[${t.name}] failed to append notifications.log:`,String(r))}bO(t.name)}function $O(t){let e=Up(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 yv(n)}function di(t,e){let r=t.Reduce(e);return r.IsNil()?"":Buffer.from(r.GetBinary()).toString("hex")}var xO=Number(process.env.OURS_NOTIFY_LONGPOLL_MS)>0?Number(process.env.OURS_NOTIFY_LONGPOLL_MS):25e3,SO=250;function Ip(t){try{return R.statSync(t).size}catch{return 0}}function kO(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 i=n.subarray(0,o),s=i.lastIndexOf(10);if(s===-1)return{events:[],cursor:e};let a=[];for(let c of i.subarray(0,s+1).toString("utf8").split(`
63
- `))if(c.trim())try{a.push(JSON.parse(c))}catch{}return{events:a,cursor:e+s+1}}async function RO(t,e,r,n){let o=Up(Re(ze,r)),i=(u,l)=>{e.writableEnded||(e.writeHead(200,{"Content-Type":"application/json"}),e.end(JSON.stringify({cursor:u,events:l})))};if(n===null||n==="tip"){i(Ip(o),[]);return}let s=parseInt(n,10);if(!Number.isFinite(s)||s<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()+xO;for(;!a;){let u=Ip(o);if(s>u&&(s=0),u>s){let{events:l,cursor:d}=kO(o,s,u);if(l.length>0){i(d,l);return}s=d}if(Date.now()>=c)break;await wO(r,Math.min(SO,c-Date.now()))}a||i(Ip(o),[])}function nn(t){try{let{unread:e,unreadFiles:r}=Ve(i=>{let a=xa(Se(t,"::actor::list_incoming_messages",i)).filter(l=>l.status==="unread"),c=Se(t,"::actor::list_incoming_files",i),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(),sender_id:d.Reduce("sender_id").Visualize(),from:d.Reduce("sender_name").Visualize(),filename:d.Reduce("filename").Visualize(),mime:d.Reduce("mime").Visualize(),bytes:d.Reduce("size").Visualize(),date:d.Reduce("date").Visualize(),wire_id:d.Reduce("wire_id").Visualize()})}return{unread:a,unreadFiles:u}}),n={count:e.length,recent:e.slice(-10).map(i=>({from:i.sender_name,msg_id:i.msg_id,date:i.date})),files:r.length,unread_files:r.slice(-10)};R.mkdirSync(t.dir,{recursive:!0,mode:448});let o=`${Ap(t.dir)}.tmp`;R.writeFileSync(o,JSON.stringify(n)),R.renameSync(o,Ap(t.dir))}catch(e){$(`[${t.name}] failed to refresh unread snapshot:`,String(e))}}function TO(){let t=[],e=[];try{e=R.readdirSync(ze,{withFileTypes:!0})}catch{return{identities:t}}for(let r of e){if(!r.isDirectory()||mi(r.name)!==null)continue;let n;try{n=JSON.parse(R.readFileSync(Ap(Re(ze,r.name)),"utf8"))}catch{continue}let o=Number.isSafeInteger(n.count)&&Number(n.count)>=0?Number(n.count):0,i=Number.isSafeInteger(n.files)&&Number(n.files)>=0?Number(n.files):0;if(o===0&&i===0)continue;let s=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,...typeof u.sender_id=="string"?{sender_id:u.sender_id}:{},...["string","number"].includes(typeof u.file_id)?{file_id:u.file_id}:{},...["string","number"].includes(typeof u.bytes)?{bytes:u.bytes}:{},...typeof u.date=="string"?{date:u.date}:{}}]}):[];t.push({name:r.name,count:o,recent:s,files:i,unread_files:a})}return t.sort((r,n)=>String(r.name).localeCompare(String(n.name))),{identities:t}}var rn=new Map,lb=t=>`ours://inbox/${encodeURIComponent(t)}`;function De(t,e){$(`[${t}] notify:`,e);let r=Pe.get(t)?.sid;if(!r)return;let n=rn.get(r);if(n){try{n.sendLoggingMessage({level:"info",logger:"ours",data:e})}catch(o){$("sendLoggingMessage failed:",String(o))}try{n.server.sendResourceUpdated({uri:lb(t)})}catch{}}}function Ve(t){let e=new Lp;try{return t(e)}finally{e.Finalize()}}async function F(t){let e=new Lp;try{return await t(e)}finally{e.Finalize()}}function Se(t,e,r){let n=Uv({name:e,targ:void 0}),o=t.pw.packet.ExecuteTransaction(n);return n.Destroy(),r?o.Attach(r):o}async function zO(t,e){let r=t.lock,n;t.lock=new Promise(o=>n=o),await r;try{return await e()}finally{n()}}function EO(t,e,r=25e3){return new Promise((n,o)=>{let i=setTimeout(()=>{let s=t.pending.findIndex(a=>a.timer===i);s>=0&&t.pending.splice(s,1),o(new Error("timed out waiting for the transaction result"))},r);t.pending.push({resolve:n,reject:o,timer:i}),t.pw.add_client_message(e)})}function Z(t,e,r,n,o){if(t.persistFailed)try{Jp(t)}catch(s){return Promise.reject(new Error(`identity "${t.name}" is quarantined: state persist is failing (${String(s)}) \u2014 mutations are rejected until state_data.bin is writable again`))}let i=Uv({name:e,targ:r});return zO(t,()=>EO(t,i,o)).then(s=>{if(i.Destroy(),t.persistFailed){try{s.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?s.Attach(n):s},s=>{try{i.Destroy()}catch{}throw s})}function IO(t){t.pw.on_return_data=e=>{let r=new Lp;e.Attach(r);try{let n=e.Reduce("kind").Visualize();if(n==="save_state"){Jp(t);return}if(n==="notify_agent"){let i=e.Reduce("payload"),s=i.Reduce("event").Visualize();if(s==="message_received"){let a=i.Reduce("sender_name").Visualize(),c=i.Reduce("msg_id").Visualize(),u=i.Reduce("date").Visualize();ce(t,{event:"message_received",from:a,msg_id:c,date:u}),nn(t),process.nextTick(()=>De(t.name,`[${t.name}] new message from ${a} (#${c})`))}else if(s==="file_received"){let a=i.Reduce("sender_name").Visualize(),c=i.Reduce("sender_id").Visualize(),u=i.Reduce("file_id").Visualize(),l=i.Reduce("wire_id").Visualize(),d=i.Reduce("filename").Visualize(),f=i.Reduce("mime").Visualize(),h=i.Reduce("bytes").Visualize(),p=i.Reduce("date").Visualize();ce(t,{event:"file_received",from:a,sender_id:c,file_id:u,wire_id:l,filename:d,mime:f,bytes:h,date:p}),nn(t),process.nextTick(()=>De(t.name,`[${t.name}] new file ${d} (${h} B) from ${a} (sender_id ${c}, file_id ${u}, wire_id ${l})`))}else if(s==="contact_accepted"){let a=i.Reduce("name").Visualize(),c=i.Reduce("container_id").Visualize();an(t),process.nextTick(()=>De(t.name,`[${t.name}] contact "${a}" (${c}) accepted your invite.`))}else if(s==="local_contact_added"){let a=i.Reduce("name").Visualize(),c=i.Reduce("container_id").Visualize();an(t),process.nextTick(()=>De(t.name,`[${t.name}] local contact "${a}" (${c}) connected via the contact book.`))}else if(s==="contact_name_collision"){let a=i.Reduce("message").Visualize(),c=i.Reduce("desired").Visualize(),u=i.Reduce("assigned").Visualize(),l=i.Reduce("existing_container_id").Visualize(),d=i.Reduce("container_id").Visualize();ce(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(()=>De(t.name,`[${t.name}] \u26A0 ${a}`))}else if(s==="sibling_contact_added"){let a=i.Reduce("name").Visualize(),c=i.Reduce("container_id").Visualize();ce(t,{event:"sibling_contact_added",from:a}),an(t),process.nextTick(()=>De(t.name,`[${t.name}] sibling "${a}" (${c}) connected (intra-root auto-accept).`))}else if(s==="local_contact_request"){let a=i.Reduce("name").Visualize(),c=i.Reduce("container_id").Visualize();ce(t,{event:"local_contact_request",from:a}),process.nextTick(()=>De(t.name,`[${t.name}] pending local introduction from "${a}" (${c}) \u2014 approve or reject with respond_to_introduction.`))}else if(s==="pending_message"){let a=i.Reduce("sender_name").Visualize(),c=i.Reduce("queued").Visualize();ce(t,{event:"pending_message",from:a,queued:c}),process.nextTick(()=>De(t.name,`[${t.name}] "${a}" queued a message awaiting introduction approval (${c} queued).`))}else if(s==="e2e_restore_rejected")ce(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(()=>De(t.name,`[${t.name}] persisted e2e sessions were corrupt \u2014 rejected cleanly, sessions re-establishing`));else if(s==="contact_restored"){let a=i.Reduce("name").Visualize(),c=i.Reduce("container_id").Visualize();ce(t,{event:"contact_restored",from:a}),$(`[${t.name}] contact "${a}" restored (re-keyed)`),process.nextTick(()=>void cb(t,String(c)))}else if(s==="migration_active"){let a=i.Reduce("cid").Visualize(),c=i.Reduce("role").Visualize(),u=di(i,"epoch"),l=di(i,"session_id");ce(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(s==="e2e_app_send"){let a=i.Reduce("cid").Visualize(),c=di(i,"session_id"),u=i.Reduce("olm_type").Visualize(),l=i.Reduce("wire_id").Visualize(),d=i.Reduce("retained").IsNil()?void 0:i.Reduce("retained").GetBoolean(),f=[],h=i.Reduce("evicted");if(!h.IsNil())for(let p=0;;p++){let m=h.Reduce(p);if(m.IsNil())break;f.push(String(m.Visualize()))}ce(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(()=>De(t.name,`[${t.name}] redrive window overflow: ${f.length} older unacked send(s) lost their auto-resend guarantee (${f.join(", ")})`))}else if(s==="dedup_degraded"){let a=i.Reduce("cid").Visualize(),c=i.Reduce("dropped_wire_id").Visualize();ce(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(()=>De(t.name,`[${t.name}] dedup window overflowed for ${String(a).slice(0,12)}\u2026 \u2014 one oldest entry dropped (guarantee loss surfaced)`))}else if(s==="e2e_delivery_expired"){let a=i.Reduce("cid").Visualize(),c=[],u=i.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()))}ce(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(()=>De(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(s==="e2e_app_recv"){let a=i.Reduce("cid").Visualize(),c=di(i,"session_id"),u=i.Reduce("ok").GetBoolean(),l=i.Reduce("wire_id").Visualize(),d=i.Reduce("code").IsNil()?void 0:String(i.Reduce("code").Visualize()),f=!i.Reduce("duplicate").IsNil(),h=!i.Reduce("file").IsNil();ce(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(s==="e2e_rekey"){let a=i.Reduce("cid").Visualize(),c=i.Reduce("role").Visualize(),u=di(i,"session_id"),l=i.Reduce("attempts").IsNil()?void 0:String(i.Reduce("attempts").Visualize()),d=i.Reduce("peer_supports").IsNil()?void 0:String(i.Reduce("peer_supports").Visualize()),f=i.Reduce("rejected").IsNil()?void 0:String(i.Reduce("rejected").Visualize());ce(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(s==="migration_deferred_flush"){let a=i.Reduce("cid").Visualize(),c=i.Reduce("wire_id").Visualize();ce(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(s==="migration_stalled"){let a=i.Reduce("cid").Visualize(),c=i.Reduce("phase").Visualize(),u=i.Reduce("attempts").Visualize();ce(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(s==="downgrade_refused"){let a=i.Reduce("cid").Visualize(),c=i.Reduce("wire_id"),u=c.IsNil()?"":String(c.Visualize());ce(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(()=>De(t.name,`[${t.name}] a message from a migrated contact was rejected as an unsafe downgrade (dropped).`))}else if(s==="contact_removed"){let a=String(i.Reduce("cid").Visualize()),c=yi.has(t.name);ce(t,{event:"contact_removed",cid:a,by:c?"local":"peer"}),c||($(`[${t.name}] contact ${a} removed you (authenticated peer removal notice) \u2014 dropped from contacts`),process.nextTick(()=>De(t.name,`[${t.name}] contact ${a.slice(0,12)}\u2026 removed you as a contact (the removal was applied locally too).`)))}else if(s==="monitoring_disabled"){let a=String(i.Reduce("cid").Visualize()),c=i.Reduce("cause"),u=c.IsNil()?"":String(c.Visualize());ce(t,{event:"monitoring_disabled",cid:a,...u?{cause:u}:{}}),$(`[${t.name}] monitoring disabled (cid=${a}${u?` cause=${u}`:""})`),process.nextTick(()=>De(t.name,`[${t.name}] the monitoring/control-plane binding was disabled${u==="control_plane_removed_contact"?" \u2014 the control plane removed you as a contact":""}.`))}else if(s==="control_request"){let a=i.Reduce("sender_name").Visualize();$(`[${t.name}] control request queued by ${a}`),process.nextTick(()=>void Gp(t))}else if(s==="host_provision_child"){let a=i.Reduce("name").Visualize(),c=i.Reduce("bio").Visualize(),u=i.Reduce("pending_handle").Visualize();process.nextTick(()=>void cO(t,a,c,u))}else if(s==="host_destroy_child"){let a=i.Reduce("cid").Detach(),c=i.Reduce("pending_handle").Visualize();process.nextTick(()=>void uO(t,a,c).finally(()=>a.Destroy()))}else if(s==="host_mint_child_invite"){let a=i.Reduce("cid").Detach(),c=i.Reduce("pending_handle").Visualize();process.nextTick(()=>void lO(t,a,c).finally(()=>a.Destroy()))}else if(s==="host_set_child_monitoring"){let a=i.Reduce("cid").Detach(),c=i.Reduce("enabled").GetBoolean(),u=i.Reduce("pending_handle").Visualize();if(c){let l=i.Reduce("cp_cid").Detach(),d=i.Reduce("cp_ad").Detach();process.nextTick(()=>void Ov(t,a,!0,u,l,d).finally(()=>{a.Destroy(),l.Destroy(),d.Destroy()}))}else process.nextTick(()=>void Ov(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),ce(t,{event:"inbound_error",message:e}),process.nextTick(()=>De(t.name,`[${t.name}] inbound transaction rejected: ${e}`)))}}function Kp(t,e,r,n=!0,o,i=!1){let s=new ZP;s.deferred_exposure=i;let a=["--unit_hash",hi.hash,"--seed_phrase",e,"--unit_dir_path",hi.dir];return o&&a.push("--init_trn_argument",JSON.stringify(o)),s.process_arguments(a),new Promise((c,u)=>{let l=setTimeout(()=>u(new Error(`packet creation for "${t}" timed out`)),3e4);on.packet_manager.create_packet(s,d=>{clearTimeout(l);let f={name:t,cid:Ve(h=>d.packet.GetContainerID().Attach(h).Visualize()),pw:d,dir:r,pending:[],lock:Promise.resolve()};IO(f),n&&D.set(t,f),$(`[${t}] packet created \u2014 container id ${f.cid}`),c(f)},hi.contents)})}var Ot=new Set(Fp());Ot.size>0&&$(`reserved ${Ot.size} persisted identity name(s) at module load: ${[...Ot].join(", ")}`);async function $a(t,e={exposeLocal:!0,localAutoAccept:!0}){if(Ot.has(t)||D.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`);Ot.add(t);try{let r=Bv(t);R.mkdirSync(r,{recursive:!0,mode:448});let n;e.temp&&(n={owner:{tokenHash:e.temp.tokenHash,pid:e.temp.pid},createdAt:Date.now()},Jv(r,n));let o=Vp(24).toString("hex"),i=await Kp(t,o,r);return n&&(i.temp=n),R.writeFileSync(wi(r),Qv(i),{mode:384}),await F(async s=>{await Z(i,"::a2a_messaging::set_my_name",{name:t},s)}),await tb(i),e.localAutoAccept||await F(async s=>{await Z(i,"::actor::set_local_policy",{auto_accept:!1},s)}),e.exposeLocal&&await Xv(i),Jp(i),i}catch(r){throw Ot.delete(t),r}}async function PO(t){let e=Bv(t),r=R.readFileSync(wi(e),"utf8").trim(),n=await Kp(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 i=c=>/timed out waiting for the transaction result/.test(String(c)),s=(c,u,l)=>{$(`[${t}] ${c} ${u} \u2014 identity left UNEXPOSED and UNTRACKED (fail-closed)`);try{ce(n,{event:"restore_fail_closed",step:c,error:String(l).slice(0,300)})}catch{}D.delete(t);try{on.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)=>s(c,"outcome UNKNOWN (timeout): the transaction may still execute and exposure would race it",u);if(yO(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(sn(e));await F(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){i(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)),ce(n,{event:"state_import_failed",error:String(u).slice(0,300)});try{let l=`${sn(e)}.failed-${Date.now()}`;R.renameSync(sn(e),l),R.chmodSync(l,384),$(`[${t}] unreadable state blob preserved as state_data.bin.failed-*`)}catch{}}if(c){try{let d=await F(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){i(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)}`),ce(n,{event:"e2e_restore_rejected",error:String(d).slice(0,300)});try{await F(async f=>{await Z(n,"::a2a_messaging::reject_e2e_restore",{},f)})}catch(f){i(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){s("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=Ve(p=>String(Se(n,"::a2a_messaging::e2e_self_fp",p).Reduce("ik").Visualize())),f=n.pw.identity_proof_document.Visualize(),h=d.replace(/^0x/i,"");u=h.length>=32&&f.toLowerCase().includes(h.toLowerCase()),l=d.slice(0,18),ce(n,{event:"ipd_coherence",ik:d,coherent:u})}catch(d){s("ipd_coherence","probe FAILED (coherence unprovable)",d)}$(`[${t}] IPD/e2e coherence: account_ik=${l}\u2026 ipd_advertises_it=${u}`),u||s("ipd_coherence","IPD does NOT advertise the live account ik",new Error("incoherent transport IPD"))}}return on.expose_packet(n.cid),D.set(t,n),$(`[${t}] EXPOSED (routing + broker registration) \u2014 import phase complete`),await ub(n),nn(n),n}async function Nv(){Xt?.update("wrapper"),hi=FP();let t=["--broker_address",Sa,"--test_mode","--logger_config","--level","INFO","--stdout","stderr","--logger_config_end"];$(`booting wrapper (unit ${hi.hash.slice(0,12)}\u2026, broker ${Sa})`),on=await MP.start(t),on.on_packet_created_cb=a=>$(`wrapper: packet ready ${a.slice(0,12)}\u2026`),on.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))),Xt?.update("registrar");try{await gO()}catch(a){$("failed to start the contact-book registrar (local contact book disabled):",String(a))}BP();let r=Fp(),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),i=r.length===0&&n>0?n:r.length;Xt?.update("identities",{completed:0,total:i});for(let a of r)Ot.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)),Xt?.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 PO(c);bt&&await tb(u);let l=Kv(u.dir);l&&(u.temp=l)}catch(u){$(`failed to restore "${c}":`,String(u))}Xt?.update("identities",{completed:a+1,total:r.length})}}Xt?.update("reconciliation"),hO(),mO(),se=JP(),se&&!D.has(se)&&($(`root marker names a missing identity "${se}" \u2014 clearing it`),se=null,rb()),se&&$(`root identity: ${se}`);{let a=se?D.get(se):void 0;se&&!a&&$(`re-delegation on upgrade DEGRADED: root "${se}" is not among the restored identities \u2014 role certs not refreshed this boot`);let c=[];if(a)for(let u of D.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 Qn(a,u),c.push(u)}catch(d){ce(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 D.values()){await Ea(u),await qp(u);for(let l of[1e4,3e4,9e4])setTimeout(()=>{Ea(u).catch(()=>{})},l),setTimeout(()=>{qp(u).catch(()=>{})},l)}c.length>0&&$(`refreshed ${c.length} role delegation cert(s) against the live AD on boot`)}let s=se?D.get(se):void 0;if(s)try{$i(s).controlQueued>0&&Gp(s)}catch(a){$("boot-time monitoring/control drain failed:",String(a))}bi(),tO(),ob()}function Av(t){let e=qe.get(t)?.token;if(!e)return{error:"No identity bound to this session. Call choose_identity (or create_identity) first."};if(Ia.has(e))return{error:"Your identity binding was reassigned to another session. Call choose_identity again to continue."};let r=Ra(e);if(!r)return{error:"No identity bound to this session. Call choose_identity (or create_identity) first."};let n=D.get(r.identity);if(!n)return Pe.delete(r.identity),bi(),{error:`The bound identity "${r.identity}" no longer exists. Choose another with choose_identity.`};if(n.temp?.closing)return{error:`The temporary identity "${n.name}" is closing and no longer accepts work. Its contacts are being notified and its local state deleted.`};r.sid=t;let o=qe.get(t)?.pid;return o&&(r.pid=o),{id:n}}function pi(t,e){let r=qe.get(t),n=r?.token;if(!n)return;for(let[i,s]of[...Pe])s.token===n&&i!==e&&Pe.delete(i);let o=Pe.get(e)?.epoch??0;Pe.set(e,{identity:e,token:n,pid:r?.pid??0,sid:t,epoch:o+1,boundAt:Date.now()}),Ia.delete(n),bi()}function db(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 OO(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 xa(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"),i=null;if(!o.IsNil()){i={wire_id:o.Reduce("wire_id").Visualize()};let s=o.Reduce("sentence");s.IsNil()||(i.sentence=parseInt(s.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:i})}return e}function NO(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("filename").Visualize(),i=n.Reduce("mime").Visualize()||"application/octet-stream",s=n.Reduce("reply_to"),a=null;if(!s.IsNil()){a={wire_id:s.Reduce("wire_id").Visualize()};let c=parseInt(s.Reduce("sentence").Visualize(),10);Number.isSafeInteger(c)&&c>0&&(a.sentence=c)}e.push({file_id:parseInt(n.Reduce("file_id").Visualize(),10),wire_id:n.Reduce("wire_id").Visualize(),from:{id:n.Reduce("sender_id").Visualize(),name:n.Reduce("sender_name").Visualize()},filename:o,mime:i,size:parseInt(n.Reduce("size").Visualize(),10),size_source:"received_payload",status:n.Reduce("status").Visualize(),date:n.Reduce("date").Visualize(),sha256:null,reply_to:a,kind:ya(i,o)?"voice_message":"file"})}return e}function AO(t){if(t.length===0)return"No files received.";let e=[];for(let r of t){let n=r.kind==="voice_message"?"\u{1F3A4} voice message \xB7 ":"";e.push(` \u2022 ${n}${r.filename} (${r.mime}, ${r.size} B) from ${r.from.name} [${r.status}] {${r.wire_id}} sender_id=${r.from.id}`)}return`${e.length} file(s):
64
- ${e.join(`
65
- `)}`}async function CO(t,e,r){await NP(t,{recursive:!0,mode:448});let n=await jP(t);if(!n.isDirectory()||n.isSymbolicLink())throw new Error("received-files directory is not a safe directory");let o=Re(t,`.${Dv(e)}.${Lv()}.tmp`),i=await AP(o,"wx",384);try{await i.writeFile(r),await i.sync()}catch(s){throw await i.close().catch(()=>{}),await Rv(o).catch(()=>{}),s}await i.close();try{await CP(o,e)}catch(s){throw await Rv(o).catch(()=>{}),s}}async function jO(t,e){let r=[];if(e.IsNil())return{text:"No new files.",files:r};let n=Hv(t),o=[];for(let i=0;;i++){let s=e.Reduce(i);if(s.IsNil())break;let a=s.Reduce("filename").Visualize(),c=s.Reduce("mime").Visualize()||"application/octet-stream",u=s.Reduce("sender_name").Visualize(),l=s.Reduce("sender_id").Visualize(),d=parseInt(s.Reduce("file_id").Visualize(),10),f=s.Reduce("date").Visualize(),h=s.Reduce("wire_id").Visualize(),p=Buffer.from(s.Reduce("data").GetBinary()),m=qv("sha256").update(p).digest("hex"),g=Re(n,`${h}-${gv(a)}`);await CO(n,g,p);let y={file_id:d,wire_id:h,from:{id:l,name:u},filename:a,path:g,mime:c,size:p.length,sha256:m,status:"processed",date:f,kind:ya(c,a)?"voice_message":"file",sender:u};if(ya(c,a)){let _=xp(Lt.stt),w;if(!_.ready)w={kind:"unconfigured",reason:_.reason};else{let T=await vv(p,a,c,Lt.stt);w=T.ok?{kind:"transcript",text:T.text}:{kind:"failed",error:T.error}}y.transcription=bv(_,w,{audioPath:g,wireId:h}),o.push(wv({sender:u,wire:h,savedPath:g,sizeBytes:p.length},w)),r.push(y);continue}r.push(y),o.push(` \u2022 ${a} (${c}, ${p.length} B, sha256 ${m}) from ${u} \u2192 ${g} {${h}}`)}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
- ${o.join(`
67
- `)}`,files:r}}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({container_id:typeof r=="string"?r:r.Visualize(),name:n.Reduce("name").Visualize(),queued:parseInt(n.Reduce("queued").Visualize(),10)||0})}return e}function ZO(t){let e={};if(t.IsNil())return e;for(let r of t.GetKeys()){let n=t.Reduce(r);n.IsNil()||(e[typeof r=="string"?r:r.Visualize()]={root_cid:n.Reduce("root_cid").Visualize(),root_name:n.Reduce("root_name").Visualize(),role_id:n.Reduce("role_id").Visualize()})}return e}function DO(t){if(!t)return"";let e=t.root_name||t.root_cid;return t.role_id?` [role "${t.role_id}" of ${e}]`:` [root identity of ${e}]`}function x(t,e=!1){return{content:[{type:"text",text:t}],isError:e}}function pb(t){return IP(t).toString("base64url")}function qO(t){return PP(Buffer.from(t.replace(/\s+/g,""),"base64url"))}var VO=new Set(["members","caps"]);function LO(t){try{let e=t.GetNumber();return Number.isInteger(e)?e:NaN}catch{return NaN}}function vi(t,e){if(t.IsNil())return null;let r;try{r=t.GetKeys()}catch{try{return pb(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(LO).every((s,a)=>s===a))return r.map((s,a)=>vi(t.Reduce(a)));let i={};for(let s of r)i[s.Visualize()]=vi(t.Reduce(s),s.Visualize());return i}return e!==void 0&&VO.has(e)?[]:{}}function Cv(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 jv(t){let e=new ua({name:"ours",version:fi},{capabilities:{logging:{},resources:{}}}),r=()=>{let i=Av(t());return"error"in i?{err:x(i.error,!0)}:{id:i.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:C.string().min(1).describe('Display name for the new identity, e.g. "Alice".'),bio:C.string().default("").describe("Optional free-text bio for the identity profile."),expose_local:C.boolean().default(!0).describe("Publish this identity in the host-local contact book."),local_auto_accept:C.boolean().default(!0).describe("Auto-accept local contact-book introductions (false = they queue for approval).")},async({name:i,bio:s,expose_local:a,local_auto_accept:c})=>{let u=mi(i);if(u)return x(`create_identity failed: ${u}`,!0);if(D.has(i))return x(`create_identity failed: an identity named "${i}" already exists.`,!0);try{let l=await $a(i,{exposeLocal:a,localAutoAccept:c});s&&await F(async m=>{await Z(l,"::a2a_messaging::set_my_bio",{bio:s},m)});let d="",f=se?D.get(se):void 0;if(f)await Qn(f,l),d=` Delegated as a role under root "${f.name}".`,Hp&&ab(f);else{let{adopted:m}=await Pv(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(", ")}.`:"")}pi(t(),i);let h=a?` Published to the local contact book${c?"":" (introductions require approval)"}.`:" Not exposed in the local contact book.",p=`
68
-
69
- Ask the user whether to enable this harness's live mail monitor for "${i}". Never enable monitoring without explicit consent.`;return x(`Created identity "${i}" (${l.cid}) and bound it to this session.${d}${h}${p}`)}catch(l){return x(`create_identity failed: ${String(l)}`,!0)}}),e.tool("create_temporary_identity",'Create a TEMPORARY identity owned by this session and bind it. Temporary means session-scoped LOCAL lifetime: when this session ends (explicit close_temporary_identity, releasing the connection, or the client process dying), each contact is sent one best-effort "remove me from your contacts" notice and then ALL local state \u2014 keys, profile, contacts, messages, files \u2014 is deleted; the identity disappears from listings. The remove-me notice is fire-and-forget: remote contact deletion is NOT guaranteed (an offline or pre-0.13 peer keeps its entry). Ownership is exclusive: no other session can bind or delete it while this session lives. The identity is flat (never delegated under the host root) and, unlike create_identity, NOT published to the local contact book unless expose_local=true. Omit name for a collision-resistant random one.',{name:C.string().min(1).optional().describe('Optional public display name. Omitted: a random public-safe name like "tmp-1a2b3c4d5e" is generated.'),bio:C.string().default("").describe("Optional free-text bio for the identity profile."),expose_local:C.boolean().default(!1).describe("Publish in the host-local contact book (default false for a temporary identity)."),local_auto_accept:C.boolean().default(!0).describe("Auto-accept local contact-book introductions (only relevant with expose_local).")},async({name:i,bio:s,expose_local:a,local_auto_accept:c})=>{let u=t(),l=qe.get(u),d=l?.token,f=l?.pid;if(!d||!f)return x("create_temporary_identity failed: this client is not connected through the ours connector (no lease token / client pid headers), so there is no session lease to own the identity. Launch ours via the connector (`ours-mcp proxy`).",!0);let h=i;if(h!==void 0){let p=mi(h);if(p)return x(`create_temporary_identity failed: ${p}`,!0);if(D.has(h)||Ot.has(h))return x(`create_temporary_identity failed: an identity named "${h}" already exists.`,!0)}else{for(let p=0;p<5&&h===void 0;p++){let m=`tmp-${Vp(5).toString("hex")}`;!D.has(m)&&!Ot.has(m)&&(h=m)}if(h===void 0)return x("create_temporary_identity failed: could not pick a free random name after 5 attempts \u2014 retry.",!0)}try{let p=await $a(h,{exposeLocal:a,localAutoAccept:c,temp:{tokenHash:Yn(d),pid:f}});s&&await F(async g=>{await Z(p,"::a2a_messaging::set_my_bio",{bio:s},g)}),pi(u,h);let m=a?` Published to the local contact book${c?"":" (introductions require approval)"}.`:"";return x(`Created TEMPORARY identity "${h}" (${p.cid}) and bound it to this session (owner: this session's lease, client pid ${f}).${m}
70
-
71
- Lifetime: session-scoped and local. Close it explicitly with close_temporary_identity when done; if the session ends or dies first, the daemon reclaims it automatically. On close, contacts get one best-effort remove-me notice (remote deletion NOT guaranteed) and all local state is deleted permanently.`)}catch(p){return x(`create_temporary_identity failed: ${String(p)}`,!0)}}),e.tool("close_temporary_identity","Close a temporary identity NOW: it stops accepting work, each contact is sent one best-effort fire-and-forget remove-me notice (delivery and remote removal are NOT guaranteed and not retried), then all of its local state \u2014 keys, profile, contacts, messages, files \u2014 is deleted permanently and it disappears from listings. Idempotent: closing an already-closing or already-gone identity is not an error. Only the owning session may close a temporary identity whose owner is still alive; a STALE one (owner process dead) may be closed by anyone to reclaim it. Defaults to the identity bound to this session.",{name:C.string().min(1).optional().describe("Temporary identity to close. Defaults to the one bound to this session.")},async({name:i})=>{let s=t(),a=qe.get(s)?.token,c;if(i!==void 0){if(c=D.get(i),!c)return x(`close_temporary_identity: no identity named "${i}" \u2014 nothing to close (already cleaned up?).`)}else{let d=a?Ra(a):void 0;if(c=d?D.get(d.identity):void 0,!c)return x("close_temporary_identity failed: no identity is bound to this session and no name was given.",!0)}if(!c.temp)return x(`close_temporary_identity failed: "${c.name}" is a permanent identity. Use remove_identity if you really mean to delete it.`,!0);let u=c.temp.owner,l=a!==void 0&&u.tokenHash===Yn(a);if(!l&&!c.temp.closing&&Pt(u.pid))return x(`close_temporary_identity failed: "${c.name}" is owned by another LIVE session (owner pid ${u.pid}) \u2014 one session cannot delete another's temporary identity.`,!0);try{let d=await za(c,l?"explicit close by owner":"stale reclaim via close_temporary_identity"),f=d.attempted===0?"It had no contacts, so no remove-me notices were needed.":`Remove-me notices: ${d.notified}/${d.attempted} queued, ${d.failed} not sent (best effort \u2014 delivery and remote contact deletion are not guaranteed).`;return d.deleteError?x(`Temporary identity "${c.name}" closed with an error: ${d.deleteError}. ${f}`,!0):x(`Temporary identity "${c.name}" closed and all local state deleted. ${f}`)}catch(d){return x(`close_temporary_identity failed: ${String(d)}`,!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:C.string().min(1).describe(`The person's name, e.g. "Vitalii Shakhmatov".`),bio:C.string().default("").describe("Free-text bio describing the person (carried in role invites)."),expose_local:C.boolean().default(!0).describe("Publish the root in the host-local contact book."),local_auto_accept:C.boolean().default(!0).describe("Auto-accept local contact-book introductions (false = they queue for approval)."),skip_if_root_exists:C.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:i,bio:s,expose_local:a,local_auto_accept:c,skip_if_root_exists:u})=>{let l=mi(i);if(l)return x(`create_root_identity failed: ${l}`,!0);if(u&&se&&D.has(se))return x(`create_root_identity failed: a root identity already exists ("${se}") \u2014 one root per host. Nothing to do.`,!0);if(D.has(i))return x(`create_root_identity failed: an identity named "${i}" already exists.`,!0);let d=`
72
-
73
- Ask the user whether to enable this harness's live mail monitor for "${i}". Never enable monitoring without explicit consent.`;try{let f=await $a(i,{exposeLocal:a,localAutoAccept:c});s&&await F(async _=>{await Z(f,"::a2a_messaging::set_my_bio",{bio:s},_)});let h=se?D.get(se):void 0;if(h&&h.name!==i)return await Qn(h,f),pi(t(),i),x(`A host root already exists ("${h.name}") \u2014 one root per host, so "${i}" (${f.cid}) was created as a ROLE under it instead and bound to this session.${d}`);let{adopted:p,failed:m}=await Pv(f);pi(t(),i);let g=p.length>0?` Adopted ${p.length} existing identit${p.length===1?"y":"ies"} as role(s): ${p.join(", ")}.`:"",y=m.length>0?` FAILED to adopt: ${m.join(", ")} (see daemon log).`:"";return x(`Created root identity "${i}" (${f.cid}) and bound it to this session.${g}${y}${d}`)}catch(f){return x(`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:C.string().min(1).describe("Identity name the workspace belongs to."),path:C.string().min(1).describe("Absolute target: a directory (file is created inside it) or a full path ending in .ours-identity."),force:C.boolean().default(!1).describe("Once the user approves binding, eviction of another holder is pre-approved (no second confirmation)."),expose_local:C.boolean().default(!0).describe("Publish this identity in the host-local contact book."),local_auto_accept:C.boolean().default(!0).describe("Auto-accept local contact-book introductions (false = they queue for approval)."),overwrite:C.boolean().default(!1).describe("Replace an existing .ours-identity file.")},async({name:i,path:s,force:a,expose_local:c,local_auto_accept:u,overwrite:l})=>{if(!RP(s))return x(`define_local_identity_file failed: path must be absolute (got "${s}").`,!0);let d={name:i,force:a,exposeLocal:c,localAutoAccept:u};try{let f=mv(s,d,l),h=JSON.stringify(bp(d),null,2);return x(`Wrote ${f}:
74
- ${h}`)}catch(f){return x(`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:C.string().min(1).describe("Name of the identity to bind."),force:C.boolean().default(!1).describe("Evict another session that holds this identity.")},async({name:i,force:s})=>{if(!D.has(i))return x(`choose_identity failed: no identity named "${i}". Create it with create_identity.`,!0);let a=t(),c=qe.get(a)?.token;if(!c)return x("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=D.get(i);if(u.temp){if(u.temp.closing)return x(`choose_identity failed: temporary identity "${i}" is closing \u2014 its state is being deleted.`,!0);let m=u.temp.owner;if(m.tokenHash!==Yn(c))return Pt(m.pid)?x(`choose_identity failed: "${i}" is a TEMPORARY identity owned by another live session (owner pid ${m.pid}). Ownership is exclusive and cannot be overridden \u2014 not even with force. Create your own with create_temporary_identity.`,!0):x(`choose_identity failed: temporary identity "${i}" is STALE \u2014 its owning session (pid ${m.pid}) is gone and it is pending automatic cleanup. It cannot be adopted by another session; use close_temporary_identity to reclaim (clean it up) now.`,!0);let g=qe.get(a)?.pid;if(g&&g!==m.pid){m.pid=g;try{Jv(u.dir,u.temp)}catch(y){$(`[${i}] temp marker refresh failed:`,String(y))}}}let l=Pe.get(i);if(l&&l.token!==c)if(!Pt(l.pid))$(`auto-reclaiming "${i}" from dead client pid ${l.pid}`),Pe.delete(i);else if(s)Ia.add(l.token),Pe.delete(i);else return x(`choose_identity declined: "${i}" 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 d=[...Pe.values()].find(m=>m.token===c&&m.identity!==i)?.identity,f=d&&D.has(d);pi(a,i);let h=D.get(i),p=`Bound to identity "${i}" (${h.cid}).`;return f&&(p+=`
75
-
76
- Switched away from "${d}" \u2014 disable any live monitor previously armed for it.`),p+=`
77
-
78
- Ask the user whether to enable this harness's live mail monitor for "${i}". Never enable monitoring without explicit consent.`,x(p)}),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. Temporary (session-scoped) identities are tagged with their lease state: owned by this session, owned by another live session, stale (owner gone, pending cleanup), or closing.",{},async()=>{if(D.size===0)return x("No identities yet. Create a root with create_root_identity (or a flat identity with create_identity).");let i=t(),s=qe.get(i)?.token,a=d=>{let f=Pe.get(d);return f?f.token===s?" \u2190 this session":Pt(f.pid)?" (in use by another session)":"":""},c=d=>d.temp?d.temp.closing?" [temporary \u2014 closing]":s!==void 0&&d.temp.owner.tokenHash===Yn(s)?" [temporary \u2014 owned by THIS session]":Pt(d.temp.owner.pid)?` [temporary \u2014 owned by another live session (pid ${d.temp.owner.pid})]`:" [temporary \u2014 STALE, owner gone, pending cleanup]":"",u=se?D.get(se):void 0,l=[];if(u){l.push(`\u2605 ${u.name} \u2014 ${u.cid} (root)${a(u.name)}`);for(let d of D.values())d.name!==u.name&&vt(d).roleId!==""&&l.push(` \u2514 ${d.name} \u2014 ${d.cid} (role)${c(d)}${a(d.name)}`);for(let d of D.values())d.name===u.name||vt(d).roleId!==""||l.push(`\u2022 ${d.name} \u2014 ${d.cid} (flat, no delegation)${c(d)}${a(d.name)}`)}else{for(let d of D.values())l.push(`\u2022 ${d.name} \u2014 ${d.cid}${c(d)}${a(d.name)}`);l.push("(no root identity yet \u2014 create_root_identity establishes the hierarchy)")}return x(`Identities (${D.size}):
79
- ${l.join(`
80
- `)}`)}),e.tool("current_identity","Report the identity currently bound to this session (if any), including its place in the identity hierarchy.",{},async()=>{let i=Av(t());if("error"in i)return x(i.error);try{let s=vt(i.id),a=i.id.name===se?" \u2014 the ROOT identity of this host":s.roleId!==""?` \u2014 role "${s.roleId}" under root "${s.rootName}"`:"",c=i.id.temp?`
81
- TEMPORARY identity owned by this session \u2014 session-scoped local lifetime: closed (best-effort remove-me to each contact, then full local deletion) when this session ends or on close_temporary_identity.`:"",u=s.bio?`
82
- Bio: ${s.bio}`:"",l=s.persona?`
83
- Persona: ${s.persona}`:"";return x(`Bound to "${i.id.name}" (${i.id.cid})${a}.${c}${u}${l}`)}catch{return x(`Bound to "${i.id.name}" (${i.id.cid}).`)}}),e.tool("remove_identity","Permanently delete a persisted identity \u2014 its packet and all on-disk state. This cannot be undone.",{name:C.string().min(1).describe("Name of the identity to delete.")},async({name:i})=>{let s=D.get(i);if(!s)return x(`remove_identity failed: no identity named "${i}".`,!0);if(s.temp){let c=qe.get(t())?.token,u=s.temp.owner;if((c===void 0||u.tokenHash!==Yn(c))&&!s.temp.closing&&Pt(u.pid))return x(`remove_identity failed: "${i}" is a TEMPORARY identity owned by another LIVE session (owner pid ${u.pid}) \u2014 one session cannot delete another's temporary identity.`,!0);try{let l=await za(s,"remove_identity"),d=l.attempted===0?"":` Remove-me notices: ${l.notified}/${l.attempted} queued, ${l.failed} not sent (best effort).`;return l.deleteError?x(`Temporary identity "${i}" closed with an error: ${l.deleteError}.${d}`,!0):x(`Removed temporary identity "${i}" and its state.${d}`)}catch(l){return x(`remove_identity failed: ${String(l)}`,!0)}}if(i===se){let c=[...D.values()].filter(u=>u.name!==i&&vt(u).rootCid===s.cid);if(c.length>0)return x(`remove_identity failed: "${i}" is the root identity and still has ${c.length} role(s): ${c.map(u=>u.name).join(", ")}. Remove the roles first.`,!0)}let a=Bp(s);return a?x(`Identity "${i}" removed from memory, but ${a}`,!0):x(`Removed identity "${i}" 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:i,err:s}=r(),a=i?lb(i.name):"ours://inbox";if(s||!i)return{contents:[{uri:a,mimeType:"text/plain",text:"No identity bound to this session."}]};let c=Ve(l=>xa(Se(i,"::actor::list_incoming_messages",l))),u=c.length===0?"Inbox is empty.":`Inbox (${c.length}):
84
- ${c.map(l=>Cv(l)).join(`
85
- `)}`;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. mode selects the invite kind: "one_time" (the default when omitted \u2014 consumed by the first redemption) or "public" (reusable, meant for open posting; every redeemer gets an independent channel; close it with revoke_invite \u2014 it has no expiry and is never consumed). A public invite cannot pre-assign a contact name, and does not survive a daemon restart (it must be re-generated and re-posted). Requires a bound identity.',{name:C.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. Not allowed with mode "public".'),mode:C.enum(["one_time","public"]).optional().describe('Invite kind. Omitted means "one_time" (single redemption, unchanged legacy behavior). "public" mints a reusable invite for open posting.')},async({name:i,mode:s})=>{let{id:a,err:c}=r();if(c)return c;if(s==="public"&&i)return x("generate_invite failed: a public invite cannot pre-assign a contact name \u2014 every redeemer would be registered under it. Omit `name` for a public invite.",!0);try{let u=await F(async d=>{let f={};i&&(f.name=i),s&&(f.mode=s);let h=await Z(a,"::a2a_messaging::generate_invite",f,d);return{blob:pb(Buffer.from(h.Reduce("invite").GetBinary())),inviteId:h.Reduce("invite_id").Visualize(),mode:h.Reduce("mode").Visualize()}}),l=u.mode==="public"?`Reusable public invite created (invite_id ${u.inviteId}). Anyone holding the blob can redeem it, each as an independent contact, until you revoke_invite it. It will NOT survive a daemon restart \u2014 re-generate and re-post after one.`:i?`One-time invite for "${i}" created (invite_id ${u.inviteId}).`:`One-time invite created (invite_id ${u.inviteId}) \u2014 the contact will be registered under the name the recipient announces when accepting.`;return x(`${l} Share this blob out-of-band (they paste it into add_contact):
86
-
87
- ${u.blob}`)}catch(u){return x(`generate_invite failed: ${String(u)}`,!0)}}),e.tool("list_invites","List the outstanding invites the bound identity has minted and not yet seen redeemed or revoked: invite_id, kind (one_time | public), assigned peer name if any, and creation time. Carries no key material. Use revoke_invite to close one \u2014 essential for public invites, which are never consumed.",{},async()=>{let{id:i,err:s}=r();if(s)return s;try{let a=Ve(u=>{let l=Se(i,"::a2a_messaging::list_invites",u),d=[];if(l.IsNil())return d;for(let f of l.GetKeys()){let h=l.Reduce(f);if(h.IsNil())continue;let p=h.Reduce("assigned").Visualize(),m=h.Reduce("created").Visualize();d.push({invite_id:typeof f=="string"?f:f.Visualize(),mode:h.Reduce("mode").Visualize(),assigned:p==="%%NIL"?"":p,created:m==="%%NIL"?"":m})}return d});if(a.length===0)return x("No outstanding invites.");let c=a.map(u=>`\u2022 ${u.invite_id} \u2014 ${u.mode}${u.assigned?`, assigned name "${u.assigned}"`:""}${u.created?`, created ${u.created}`:""}`);return x(`Outstanding invites (${a.length}):
88
- ${c.join(`
89
- `)}`)}catch(a){return x(`list_invites failed: ${String(a)}`,!0)}}),e.tool("revoke_invite","Revoke an outstanding invite by invite_id (from generate_invite or list_invites). The only way to close a public invite, which has no expiry and is never consumed by redemption. Idempotent: revoking an unknown or already-consumed id reports revoked=false rather than failing. Note: revoking does NOT remove contacts already admitted through the invite \u2014 to keep a specific peer out, revoke_invite first, then remove_contact.",{invite_id:C.string().min(1).describe("The invite_id to revoke.")},async({invite_id:i})=>{let{id:s,err:a}=r();if(a)return a;try{let c=await F(async l=>{let d=await Z(s,"::a2a_messaging::revoke_invite",{invite_id:i},l),f=d.Reduce("was_public");return{revoked:d.Reduce("revoked").GetBoolean(),wasPublic:f.IsNil()?!1:f.GetBoolean()}});if(!c.revoked)return x(`Invite ${i} was not found (already consumed, revoked, or never existed) \u2014 nothing to revoke.`);let u=c.wasPublic?"public":"one_time";return x(`Invite ${i} (${u}) revoked. Existing contacts admitted through it are unaffected.`)}catch(c){return x(`revoke_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:C.string().min(1).describe("The base64 invite blob to redeem."),name:C.string().min(1).optional().describe("Optional custom name for the inviter; defaults to their own name.")},async({invite:i,name:s})=>{let{id:a,err:c}=r();if(c)return c;let u;try{if(u=qO(i),u.length===0)throw new Error("the invite blob is empty")}catch(l){return x(`add_contact failed: ${l instanceof Error?l.message:"the invite blob is not valid."}`,!0)}try{let l=await F(async d=>{let h={invite:a.pw.packet.NewBinaryFromBuffer(u).Attach(d)};s&&(h.name=s);let p=await Z(a,"::a2a_messaging::add_contact",h,d),m=p.Reduce("container_id").Visualize(),g=p.Reduce("pending").Visualize(),y=p.Reduce("inviter_name").Visualize(),_=T=>!T||T==="%%NIL",w=_(g)?_(y)?m:y:g;return an(a),`Added contact "${w}" (${m}).`});return x(l)}catch(l){return x(`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:i,err:s}=r();if(s)return s;try{let{contacts:a,pending:c,roots:u,degraded:l,renames:d}=Ve(p=>({contacts:db(Se(i,"::a2a_messaging::list_contacts",p)),pending:MO(Se(i,"::actor::list_pending_introductions",p)),roots:ZO(Se(i,"::a2a_messaging::list_contact_roots",p)),degraded:_O(Se(i,"::a2a_messaging::list_degraded_contacts",p)),renames:OO(Se(i,"::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}):
90
- ${Sv(a.map(p=>({name:p.name,container_id:p.container_id,rootTag:DO(u[p.container_id]),degradedQueued:f.get(p.container_id)?.queued,renamedFrom:d[p.container_id]}))).join(`
91
- `)}`),c.length>0&&h.push(`Pending local introductions (${c.length}) \u2014 approve/reject with respond_to_introduction:
92
- `+c.map(p=>`\u2022 ${p.name} \u2014 ${p.container_id} (${p.queued} queued message${p.queued===1?"":"s"})`).join(`
93
- `)),x(h.join(`
94
-
95
- `))}catch(a){return x(`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 i=Object.values(Pa());if(i.length===0)return x("The local contact book is empty.");let s=t(),a=qe.get(s)?.token,c=a?Ra(a)?.identity:void 0,u=i.map(l=>{let d=l.name===c?" \u2190 this session":"";return`\u2022 ${l.name} \u2014 ${l.container_id} (published ${l.published_at})${d}`});return x(`Local contact book (${i.length}):
96
- ${u.join(`
97
- `)}`)}),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:C.boolean().optional().describe("Publish (true) or remove (false) this identity in the local contact book."),auto_accept:C.boolean().optional().describe("Auto-accept local introductions (false = queue them for approval).")},async({expose:i,auto_accept:s})=>{let{id:a,err:c}=r();if(c)return c;if(i===void 0&&s===void 0)return x("set_local_book_policy: pass expose and/or auto_accept.",!0);let u=[];try{return s!==void 0&&(await F(async l=>{await Z(a,"::actor::set_local_policy",{auto_accept:s},l)}),u.push(`auto_accept=${s}`)),i===!0?(await Xv(a),u.push("published in the local contact book")):i===!1&&(eb(a),u.push("removed from the local contact book")),x(`Updated "${a.name}": ${u.join("; ")}.`)}catch(l){return x(`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:C.string().describe("The new bio text (empty string clears it).")},async({bio:i})=>{let{id:s,err:a}=r();if(a)return a;try{await F(async l=>{await Z(s,"::a2a_messaging::set_my_bio",{bio:i},l)});let c=0;if(s.name===se){for(let l of D.values())if(l.name!==s.name&&vt(l).rootCid===s.cid)try{await Qn(s,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 x(`Updated the bio of "${s.name}".${u}`)}catch(c){return x(`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:i,err:s}=r();if(s)return s;try{let{wasAdvertising:a,advertising:c,offers:u}=await F(async d=>{let f=await Z(i,"::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 x(`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 x(`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:C.string().describe("The new persona text (empty string clears it).")},async({persona:i})=>{let{id:s,err:a}=r();if(a)return a;try{return await F(async c=>{await Z(s,"::a2a_messaging::set_my_persona",{persona:i},c)}),x(`Updated the persona of "${s.name}".`)}catch(c){return x(`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:C.string().min(1).describe("Pending introduction to act on (name or container id)."),action:C.enum(["approve","reject"]).describe("approve or reject.")},async({contact:i,action:s})=>{let{id:a,err:c}=r();if(c)return c;try{if(s==="approve"){let l=await F(async d=>{let f=await Z(a,"::actor::approve_introduction",{contact:i},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 nn(a),an(a),x(l)}let u=await F(async l=>{let d=await Z(a,"::actor::reject_introduction",{contact:i},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 x(u)}catch(u){return x(`respond_to_introduction failed: ${String(u)}`,!0)}});let n=i=>{let s=u=>!i.Reduce(u).IsNil(),a=i.Reduce("wire_id").Visualize(),c=s("sent_to")?i.Reduce("sent_to").Visualize():"";if(s("downgrade_refused"))return{kind:"refused",wireId:a,cid:c};if(s("migrating"))return{kind:"migrating",wireId:a,cid:c,queued:s("queued")?Number(i.Reduce("queued").Visualize()):0};if(s("route")){let u=s("retained")&&!i.Reduce("retained").GetBoolean();return{kind:"e2e",wireId:a,cid:c,notRetained:u}}return s("deferred")?{kind:"deferred",wireId:a,queued:s("queued")?Number(i.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:C.string().min(1).describe("Contact name or container id to send to."),text:C.string().min(1).describe("The message text."),reply_to_wire_id:C.string().optional().describe("wire_id (from get_messages) of the message this replies to."),reply_to_sentence:C.number().int().positive().optional().describe("Optional 1-based sentence index in the replied-to message.")},async({contact:i,text:s,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 F(async h=>n(await Z(u,"::a2a_messaging::send_message",{contact:i,text:s,...d?{reply_to:d}:{}},h)));switch(f.kind){case"refused":return $(`[e2e-route] refused cid=${f.cid} wire_id=${f.wireId} (downgrade_refused)`),x(`Couldn't send to "${i}" (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)`),x(`Message queued for "${i}" (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?(ce(u,{event:"send_not_retained",wire_id:f.wireId,kind:"message"}),x(`Message sent to "${i}" 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.`)):x(`Message sent to "${i}" over the upgraded end-to-end session (wire_id ${f.wireId}).`);case"deferred":return x(`Message queued for "${i}" (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 x(`Message sent to "${i}" (wire_id ${f.wireId}).`)}}catch(f){if(!/Unknown contact/.test(String(f)))return x(`send_message failed: ${String(f)}`,!0);try{let h=WP(u,i),p=h?await YP(u,h,s):await QP(u,i,s);return x(p)}catch(h){return x(`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:C.string().min(1).describe("Contact name or container id to send to."),path:C.string().min(1).optional().describe("Filesystem path to the file to send (preferred)."),data_base64:C.string().min(1).optional().describe("Inline file bytes, base64-encoded (alternative to path)."),filename:C.string().min(1).optional().describe("Filename to advertise (required with data_base64; defaults to basename of path)."),mime:C.string().optional().describe("MIME type (inferred from the path extension when omitted)."),reply_to_wire_id:C.string().optional().describe("wire_id (from get_messages/get_files) this file replies to."),reply_to_sentence:C.number().int().positive().optional().describe("Optional 1-based sentence index in the replied-to item.")},async({contact:i,path:s,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((s?1:0)+(a?1:0)!=1)return x("send_file: provide exactly one of `path` or `data_base64`.",!0);let p,m;try{if(s)p=await OP(s),m=c??Dv(s);else{if(!c)return x("send_file: `filename` is required with `data_base64`.",!0);p=Buffer.from(a,"base64"),m=c}}catch(_){return x(`send_file: cannot read file: ${String(_)}`,!0)}let g=u??(s?hv(s):""),y=l?d!==void 0?{wire_id:l,sentence:d}:{wire_id:l}:void 0;try{let _=await F(async T=>{let O=f.pw.packet.NewBinaryFromBuffer(p).Attach(T);return n(await Z(f,"::a2a_messaging::send_file",{contact:i,filename:m,mime:g,data:O,...y?{reply_to:y}:{}},T))}),w=`File "${m}" (${p.length} B${g?`, ${g}`:""})`;switch(_.kind){case"refused":return $(`[e2e-route] refused cid=${_.cid} wire_id=${_.wireId} (downgrade_refused, file)`),x(`Couldn't send ${w} to "${i}" (wire_id ${_.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=${_.cid} wire_id=${_.wireId} (migrating, not queued)`),x(`${w} not sent to "${i}" 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=${_.cid} wire_id=${_.wireId} verdict=e2e file (core delivered over migrated session)${_.notRetained?" NOT RETAINED (oversized)":""}`),_.notRetained?(ce(f,{event:"send_not_retained",wire_id:_.wireId,kind:"file"}),x(`${w} sent to "${i}" over the end-to-end session (wire_id ${_.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.`)):x(`${w} sent to "${i}" over the upgraded end-to-end session (wire_id ${_.wireId}).`);default:return x(`${w} sent to "${i}" (wire_id ${_.wireId}).`)}}catch(_){return x(`send_file failed: ${String(_)}`,!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. Also sends the peer one best-effort authenticated "remove me from your contacts" notice so a supporting peer drops you too \u2014 fire-and-forget: queued once, never retried or acknowledged, so remote removal is NOT guaranteed (an offline peer or a dropped packet leaves the removal local-only, and a pre-0.13 or degraded peer is sent nothing at all). 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:C.string().min(1).describe("Contact name or container id to remove.")},async({contact:i})=>{let{id:s,err:a}=r();if(a)return a;try{yi.add(s.name);let c=await F(async u=>{let l=await Z(s,"::a2a_messaging::remove_contact",{contact:i},u),d=l.Reduce("removed").Visualize(),f=l.Reduce("container_id").Visualize(),h=l.Reduce("notified"),p=h.IsNil()?void 0:h.GetBoolean();return`Removed contact "${d}" (${f}).${p===void 0?"":p?" A best-effort removal notice was sent to the peer (delivery and remote removal are not guaranteed).":" No removal notice was sent (the peer does not support it or is unreachable) \u2014 the removal is local-only."}`});return x(c)}catch(c){return x(`remove_contact failed: ${String(c)}`,!0)}finally{yi.delete(s.name)}}),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:C.string().min(1).describe("Contact name or container id to rename."),name:C.string().min(1).describe("The new display name.")},async({contact:i,name:s})=>{let{id:a,err:c}=r();if(c)return c;try{let u=await F(async l=>{let d=await Z(a,"::a2a_messaging::rename_contact",{contact:i,name:s},l),f=d.Reduce("renamed").Visualize(),h=d.Reduce("container_id").Visualize();return`Renamed contact "${f}" to "${s}" (${h}).`});return x(u)}catch(u){return x(`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:i,err:s}=r();if(s)return s;try{let a=Ve(u=>xa(Se(i,"::actor::list_incoming_messages",u)));if(a.length===0)return x("Inbox is empty.");let c=a.filter(u=>u.status==="unread").length;return x(`Inbox (${a.length}, ${c} unread):
98
- ${a.map(u=>Cv(u)).join(`
99
- `)}`)}catch(a){return x(`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:i,err:s}=r();if(s)return s;try{let a=await F(async l=>{let d=await Z(i,"::actor::get_messages",{},l);return xa(d.Reduce("messages"))});nn(i);let c=$O(i),u=_v(a,c);return x(JSON.stringify(u,null,2))}catch(a){return x(`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:C.array(C.number().int()).min(1).describe("Message ids (from get_messages) to defer back to unread.")},async({msg_ids:i})=>{let{id:s,err:a}=r();if(a)return a;try{let c=await F(async u=>(await Z(s,"::actor::defer_messages",{msg_ids:i},u)).Reduce("deferred").Visualize());return nn(s),x(`Deferred ${c} message(s) back to unread.`)}catch(c){return x(`defer_messages failed: ${String(c)}`,!0)}}),e.tool("list_incoming_files","List received files as structured metadata only \u2014 authenticated sender CID in `from.id`, untrusted display label in `from.name`, stable file_id/wire_id, filename, MIME, received size/date, status, and voice kind. Does not return/write bytes or change status. Authorize by from.id, then pass approved wire_ids to get_files. Requires a bound identity.",{},async()=>{let{id:i,err:s}=r();if(s)return s;try{let a=Ve(c=>NO(Se(i,"::actor::list_incoming_files",c)));return{content:[{type:"text",text:AO(a)}],structuredContent:{count:a.length,files:a},isError:!1}}catch(a){return x(`list_incoming_files failed: ${String(a)}`,!0)}}),e.tool("get_files",`Retrieve selected unread files by stable wire_id, or (when wire_ids is omitted) all unread files for backward compatibility. Writes only retrieved files to disk under the identity's files dir (STATE_DIR/<identity>/files/<wire_id>-<name>) and returns structured status, authenticated sender CID, IDs, path, filename/MIME, actual size, sha256, and voice transcription outcome \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.`,{wire_ids:C.array(C.string()).optional().describe(`Optional 1-${Rp} unique 64-hex wire_ids from list_incoming_files. Omit for legacy bulk retrieval of every unread file.`)},async({wire_ids:i})=>{let{id:s,err:a}=r();if(a)return a;let c=(u,l)=>({content:[{type:"text",text:`get_files failed: ${l}`}],structuredContent:{files:[],selection:{mode:"selected",requested_wire_ids:i??[],items:(i??[]).map(d=>({wire_id:d,status:"error",error_category:u}))},error:{category:u,message:l}},isError:!0});if(i!==void 0){if(i.length<1||i.length>Rp)return c("invalid_selection",`wire_ids must contain 1-${Rp} items.`);if(i.some(u=>!GP(u)))return c("malformed_id","every selected wire_id must be exactly 64 hexadecimal characters.");if(new Set(i).size!==i.length)return c("duplicate_id","wire_ids must not contain duplicates.")}try{let u=await F(async l=>{let d=await Z(s,"::actor::get_files",i===void 0?{}:{wire_ids:i},l);return await jO(s,d.Reduce("files"))});return nn(s),{content:[{type:"text",text:u.text}],structuredContent:{files:u.files,selection:{mode:i===void 0?"all_unread":"selected",requested_wire_ids:i??null,items:u.files.map(l=>({wire_id:l.wire_id,status:l.status}))}},isError:!1}}catch(u){let l=String(u);return i!==void 0&&/unknown, stale, or no longer unread/i.test(l)?c("unknown_or_stale_id","one or more selected wire_ids is unknown, stale, or no longer unread; no files were retrieved."):x(`get_files failed: ${l}`,!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:C.string().min(1).describe("wire_id of the received file (from get_files)."),dest_path:C.string().min(1).describe("Destination path on your local filesystem to write the copy to.")},async({wire_id:i})=>{let{id:s,err:a}=r();if(a)return a;let c=Wv(s,i)!==null;return x("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 ${i} is currently on disk for this identity \u2014 run get_files first.)`),!0)});let o=()=>{let i=se?D.get(se):void 0;return i?{root:i}:{err:x("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:C.string().min(1).describe("The root's contact (name or container id) to bind as the proxy.")},async({contact:i})=>{let{root:s,err:a}=o();if(a)return a;try{let c=String(Vv(0,1e6)).padStart(6,"0"),u=await F(async l=>(await Z(s,"::a2a_messaging::set_proxy_pending",{code:c,proxy:i},l)).Reduce("proxy_cid").Visualize());return x(`Proxy binding started for contact "${i}" (${u}).
100
-
101
- Verification code: ${c}
102
-
103
- 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 x(`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:i,err:s}=o();if(s)return s;try{let a=$i(i),c=[];c.push(`Root "${i.name}" (${i.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=eO(i);return c.push(""),c.push(u.length===0?"No agents (roles) under this root.":`Agents (${u.length}):
104
- ${u.map(l=>`\u2022 ${l.name} \u2014 monitoring ${l.monitoring?"ON":"off"}${l.bio?` \u2014 ${l.bio}`:""}`).join(`
105
- `)}`),x(c.join(`
106
- `))}catch(a){return x(`get_monitoring_status failed: ${String(a)}`,!0)}}),e}function UO(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 Xn=null,Pp=!1;function Mv(){Xn||(Xn=setInterval(()=>{Pp||(Pp=!0,(async()=>{try{for(let t of D.values()){try{await F(async e=>{await Z(t,"::actor::gc",{},e)})}catch(e){$(`gc(${t.name}) failed:`,String(e))}await ub(t),await Ea(t),await qp(t)}}finally{Pp=!1}})())},Tv),Xn.unref?.(),$(`message GC timer armed (every ${Tv}ms)`))}function Zv(){Xn&&(clearInterval(Xn),Xn=null)}async function FO(){if(process.env.OURS_TEST_STARTUP_FAIL==="1")throw new Error("forced startup failure (OURS_TEST_STARTUP_FAIL)");if(Fv==="stdio"){let p=jv(()=>"stdio");rn.set("stdio",p),qe.set("stdio",{token:"stdio-local",pid:process.pid});let m=new da;await p.connect(m),$("MCP stdio transport connected, booting wrapper\u2026"),await Nv(),Mv(),$(`MCP server v${fi} ready (transport=stdio, identities=${D.size}, state=${ze}, broker=${Sa})`);let g=()=>{Zv();for(let y of D.values())try{Dp(y)}catch(_){$(`[${y.name}] shutdown save failed:`,String(_))}process.exit(0)};process.on("SIGINT",g),process.on("SIGTERM",g);return}$("booting wrapper\u2026"),await Nv(),Mv(),$(`wrapper ready (identities=${D.size}), starting HTTP server\u2026`),Xt?.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)},i=()=>{let p=0;for(let m of[...rn.keys()]){if(m==="stdio")continue;let g=qe.get(m)?.pid;if(g===void 0||g<=1||Pt(g))continue;let y=e.get(m);if(y&&y.n>0&&Date.now()-y.since<r)continue;let _=rn.get(m);rn.delete(m),delete t[m],qe.delete(m),e.delete(m),_?.close().catch(()=>{}),p++,$(`session ${m.slice(0,8)}\u2026 reaped (client pid ${g} dead)`)}return p};setInterval(()=>{i(),ob()},6e4).unref?.();let a=1e3,c=10*6e4,u=new Map,l=(p,m)=>{let g=Array.isArray(m)?m:[m];for(let y of g){let _=y;!_||typeof _!="object"||_.id===void 0||_.id===null||typeof _.method!="string"||u.set(`${p}:${String(_.id)}`,{method:_.method,at:Date.now()})}if(u.size>a){let y=Date.now()-c;for(let[_,w]of u)if(w.at<y&&u.delete(_),u.size<=a)break;for(;u.size>a;){let _=u.keys().next();if(_.done)break;u.delete(_.value)}}},d=(p,m)=>{try{let g=m instanceof Error?m.message:String(m),y=/No connection established for request ID:\s*(\S+)/.exec(g);if(!y)return;let _=y[1],w=u.get(`${p}:${_}`);u.delete(`${p}:${_}`),$(`UNDELIVERABLE RESPONSE session=${p.slice(0,8)}\u2026 request_id=${_} 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=EP(async(p,m)=>{let g=new URL(p.url,`http://localhost:${kp}`);if(p.method==="GET"&&g.pathname==="/state-dir"){m.writeHead(200,{"Content-Type":"application/json"}),m.end(JSON.stringify({stateDir:ze,version:fi,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:fi,compat:1,protocol:ib,pid:process.pid,stateDir:ze}));return}if(p.method==="GET"&&g.pathname==="/identities"){if(!li(p,m))return;m.writeHead(200,{"Content-Type":"application/json"}),m.end(JSON.stringify({identities:[...D.values()].map(y=>({name:y.name,...y.temp?{temporary:!0,stale:!Pt(y.temp.owner.pid)}:{}}))}));return}if(p.method==="GET"&&g.pathname==="/unread"){if(!li(p,m))return;m.writeHead(200,{"Content-Type":"application/json"}),m.end(JSON.stringify(TO()));return}{let y=/^\/identities\/([^/]+)\/notifications$/.exec(g.pathname);if(p.method==="GET"&&y){if(!li(p,m))return;let _=decodeURIComponent(y[1]);if(mi(_)!==null){m.writeHead(400,{"Content-Type":"application/json"}),m.end(JSON.stringify({error:"invalid identity name"}));return}await RO(p,m,_,g.searchParams.get("since"));return}}{let y=/^\/files\/([^/]+)$/.exec(g.pathname);if(p.method==="GET"&&y){if(!li(p,m))return;let _=decodeURIComponent(y[1]),w=p.headers["x-ours-lease-token"],T=typeof w=="string"&&w?Ra(w):void 0,O=T?D.get(T.identity):void 0;if(!O){m.writeHead(401,{"Content-Type":"application/json"}),m.end(JSON.stringify({error:"no identity bound to this session"}));return}let _e=Wv(O,_);if(!_e){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 ve=R.statSync(_e);m.writeHead(200,{"Content-Type":"application/octet-stream","Content-Length":String(ve.size)});let it=R.createReadStream(_e);it.on("error",()=>{try{m.destroy()}catch{}}),it.pipe(m)}catch(ve){m.writeHead(500,{"Content-Type":"application/json"}),m.end(JSON.stringify({error:`failed to read file: ${String(ve)}`}))}return}}if(g.pathname!=="/mcp"){m.writeHead(404,{"Content-Type":"text/plain"}),m.end("Not found");return}if(li(p,m))try{if(p.method==="POST"){let y=await UO(p),_=p.headers["mcp-session-id"],w=p.headers["x-ours-lease-token"],T=p.headers["x-ours-client-pid"],O=T?parseInt(T,10):void 0,_e={token:w,pid:Number.isInteger(O)?O:void 0};if(_&&t[_]){qe.set(_,_e),l(_,y),n(_),ba(m);try{await t[_].handleRequest(p,m,y)}finally{o(_)}}else if(!_&&xo(y)){i();let ve=new ha({sessionIdGenerator:()=>Lv(),onsessioninitialized:Le=>{t[Le]=ve,qe.set(Le,_e),rn.set(Le,it),$(`session ${Le.slice(0,8)}\u2026 initialized`)}}),it=jv(()=>ve.sessionId??"pending");it.server.onerror=Le=>d(ve.sessionId??"pending",Le),ve.onclose=()=>{let Le=ve.sessionId;Le&&(delete t[Le],rn.delete(Le),qe.delete(Le),$(`session ${Le.slice(0,8)}\u2026 closed (lease kept)`))},await it.connect(ve),ba(m),await ve.handleRequest(p,m,y)}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 y=p.headers["mcp-session-id"];if(!y||!t[y]){m.writeHead(400,{"Content-Type":"text/plain"}),m.end("Invalid or missing session ID");return}n(y),ba(m);try{await t[y].handleRequest(p,m)}finally{o(y)}}else if(p.method==="DELETE"){let y=p.headers["mcp-session-id"];if(!y||!t[y]){m.writeHead(400,{"Content-Type":"text/plain"}),m.end("Invalid or missing session ID");return}let _=qe.get(y)?.token??p.headers["x-ours-lease-token"];if(_){for(let[w,T]of[...Pe]){if(T.token!==_)continue;Pe.delete(w);let O=D.get(w);O?.temp&&O.temp.owner.tokenHash===Yn(_)&&!O.temp.closing&&za(O,"owning session released its lease").catch(_e=>$(`[${w}] close on lease release failed:`,String(_e)))}Ia.delete(_),bi(),$(`lease released by token \u2026${_.slice(-6)}`)}await t[y].handleRequest(p,m)}else m.writeHead(405,{"Content-Type":"text/plain"}),m.end("Method not allowed")}catch(y){$("HTTP handler error:",String(y)),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(kp,"127.0.0.1",()=>{Xt?.ready(),$(`MCP server v${fi} ready (transport=http, port=${kp}, visibility=${Op}, identities=${D.size}, state=${ze}, broker=${Sa})`)});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 D.values())try{Dp(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)}FO().catch(t=>{Xt?.failed(),$(`fatal startup error: ${t?.stack??t}`),process.exit(1)});export{xP as formatVersionAdvisory,mi as validateName};