@ours.network/mcp 0.17.0 → 0.17.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js
CHANGED
|
@@ -1,46 +1,46 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
|
|
3
|
-
var 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
|
|
3
|
+
var vb=Object.create;var ja=Object.defineProperty;var bb=Object.getOwnPropertyDescriptor;var wb=Object.getOwnPropertyNames;var $b=Object.getPrototypeOf,xb=Object.prototype.hasOwnProperty;var E=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ma=(t,e)=>{for(var r in e)ja(t,r,{get:e[r],enumerable:!0})},Sb=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of wb(e))!xb.call(t,o)&&o!==r&&ja(t,o,{get:()=>e[o],enumerable:!(n=bb(e,o))||n.enumerable});return t};var tf=(t,e,r)=>(r=t!=null?vb($b(t)):{},Sb(e||!t||!t.__esModule?ja(r,"default",{value:t,enumerable:!0}):r,t));var jo=E(ae=>{"use strict";Object.defineProperty(ae,"__esModule",{value:!0});ae.regexpCode=ae.getEsmExportName=ae.getProperty=ae.safeStringify=ae.stringify=ae.strConcat=ae.addCodeArg=ae.str=ae._=ae.nil=ae._Code=ae.Name=ae.IDENTIFIER=ae._CodeOrName=void 0;var Ao=class{};ae._CodeOrName=Ao;ae.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Br=class extends Ao{constructor(e){if(super(),!ae.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}}};ae.Name=Br;var gt=class extends Ao{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 Br&&(r[n.str]=(r[n.str]||0)+1),r),{})}};ae._Code=gt;ae.nil=new gt("");function Wh(t,...e){let r=[t[0]],n=0;for(;n<e.length;)yl(r,e[n]),r.push(t[++n]);return new gt(r)}ae._=Wh;var gl=new gt("+");function Yh(t,...e){let r=[Co(t[0])],n=0;for(;n<e.length;)r.push(gl),yl(r,e[n]),r.push(gl,Co(t[++n]));return SS(r),new gt(r)}ae.str=Yh;function yl(t,e){e instanceof gt?t.push(...e._items):e instanceof Br?t.push(e):t.push(TS(e))}ae.addCodeArg=yl;function SS(t){let e=1;for(;e<t.length-1;){if(t[e]===gl){let r=kS(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function kS(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof Br||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 Br))return`"${t}${e.slice(1)}`}function RS(t,e){return e.emptyStr()?t:t.emptyStr()?e:Yh`${t}${e}`}ae.strConcat=RS;function TS(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:Co(Array.isArray(t)?t.join(","):t)}function zS(t){return new gt(Co(t))}ae.stringify=zS;function Co(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}ae.safeStringify=Co;function ES(t){return typeof t=="string"&&ae.IDENTIFIER.test(t)?new gt(`.${t}`):Wh`[${t}]`}ae.getProperty=ES;function IS(t){if(typeof t=="string"&&ae.IDENTIFIER.test(t))return new gt(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}ae.getEsmExportName=IS;function PS(t){return new gt(t.toString())}ae.regexpCode=PS});var bl=E(ot=>{"use strict";Object.defineProperty(ot,"__esModule",{value:!0});ot.ValueScope=ot.ValueScopeName=ot.Scope=ot.varKinds=ot.UsedValueState=void 0;var nt=jo(),_l=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},zs;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(zs||(ot.UsedValueState=zs={}));ot.varKinds={const:new nt.Name("const"),let:new nt.Name("let"),var:new nt.Name("var")};var Es=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof nt.Name?e:this.name(e)}name(e){return new nt.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}}};ot.Scope=Es;var Is=class extends nt.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,nt._)`.${new nt.Name(r)}[${n}]`}};ot.ValueScopeName=Is;var OS=(0,nt._)`\n`,vl=class extends Es{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?OS:nt.nil}}get(){return this._scope}name(e){return new Is(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,nt._)`${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=nt.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,zs.Started);let l=r(u);if(l){let d=this.opts.es5?ot.varKinds.var:ot.varKinds.const;i=(0,nt._)`${i}${d} ${u} = ${l};${this.opts._n}`}else if(l=o?.(u))i=(0,nt._)`${i}${l}${this.opts._n}`;else throw new _l(u);c.set(u,zs.Completed)})}return i}};ot.ValueScope=vl});var K=E(Y=>{"use strict";Object.defineProperty(Y,"__esModule",{value:!0});Y.or=Y.and=Y.not=Y.CodeGen=Y.operators=Y.varKinds=Y.ValueScopeName=Y.ValueScope=Y.Scope=Y.Name=Y.regexpCode=Y.stringify=Y.getProperty=Y.nil=Y.strConcat=Y.str=Y._=void 0;var oe=jo(),kt=bl(),dr=jo();Object.defineProperty(Y,"_",{enumerable:!0,get:function(){return dr._}});Object.defineProperty(Y,"str",{enumerable:!0,get:function(){return dr.str}});Object.defineProperty(Y,"strConcat",{enumerable:!0,get:function(){return dr.strConcat}});Object.defineProperty(Y,"nil",{enumerable:!0,get:function(){return dr.nil}});Object.defineProperty(Y,"getProperty",{enumerable:!0,get:function(){return dr.getProperty}});Object.defineProperty(Y,"stringify",{enumerable:!0,get:function(){return dr.stringify}});Object.defineProperty(Y,"regexpCode",{enumerable:!0,get:function(){return dr.regexpCode}});Object.defineProperty(Y,"Name",{enumerable:!0,get:function(){return dr.Name}});var As=bl();Object.defineProperty(Y,"Scope",{enumerable:!0,get:function(){return As.Scope}});Object.defineProperty(Y,"ValueScope",{enumerable:!0,get:function(){return As.ValueScope}});Object.defineProperty(Y,"ValueScopeName",{enumerable:!0,get:function(){return As.ValueScopeName}});Object.defineProperty(Y,"varKinds",{enumerable:!0,get:function(){return As.varKinds}});Y.operators={GT:new oe._Code(">"),GTE:new oe._Code(">="),LT:new oe._Code("<"),LTE:new oe._Code("<="),EQ:new oe._Code("==="),NEQ:new oe._Code("!=="),NOT:new oe._Code("!"),OR:new oe._Code("||"),AND:new oe._Code("&&"),ADD:new oe._Code("+")};var Kt=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},wl=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=Pn(this.rhs,e,r)),this}get names(){return this.rhs instanceof oe._CodeOrName?this.rhs.names:{}}},Ps=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 oe.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=Pn(this.rhs,e,r),this}get names(){let e=this.lhs instanceof oe.Name?{}:{...this.lhs.names};return Ns(e,this.rhs)}},$l=class extends Ps{constructor(e,r,n,o){super(e,n,o),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},xl=class extends Kt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},Sl=class extends Kt{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},kl=class extends Kt{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},Rl=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=Pn(this.code,e,r),this}get names(){return this.code instanceof oe._CodeOrName?this.code.names:{}}},Mo=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)||(NS(e,i.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>Jr(e,r.names),{})}},Wt=class extends Mo{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},Tl=class extends Mo{},In=class extends Wt{};In.kind="else";var Hr=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 In(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(Qh(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=Pn(this.condition,e,r),this}get names(){let e=super.names;return Ns(e,this.condition),this.else&&Jr(e,this.else.names),e}};Hr.kind="if";var Gr=class extends Wt{};Gr.kind="for";var zl=class extends Gr{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=Pn(this.iteration,e,r),this}get names(){return Jr(super.names,this.iteration.names)}},El=class extends Gr{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=Ns(super.names,this.from);return Ns(e,this.to)}},Os=class extends Gr{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=Pn(this.iterable,e,r),this}get names(){return Jr(super.names,this.iterable.names)}},Zo=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)}};Zo.kind="func";var Do=class extends Mo{render(e){return"return "+super.render(e)}};Do.kind="return";var Il=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&&Jr(e,this.catch.names),this.finally&&Jr(e,this.finally.names),e}},qo=class extends Wt{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};qo.kind="catch";var Vo=class extends Wt{render(e){return"finally"+super.render(e)}};Vo.kind="finally";var Pl=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 Tl]}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 wl(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 Ps(e,r,n))}add(e,r){return this._leafNode(new $l(e,Y.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==oe.nil&&this._leafNode(new Rl(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,oe.addCodeArg)(r,o));return r.push("}"),new oe._Code(r)}if(e,r,n){if(this._blockNode(new Hr(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 Hr(e))}else(){return this._elseNode(new In)}endIf(){return this._endBlockNode(Hr,In)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new zl(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 El(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 oe.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,oe._)`${s}.length`,a=>{this.var(i,(0,oe._)`${s}[${a}]`),n(i)})}return this._for(new Os("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,oe._)`Object.keys(${r})`,n);let i=this._scope.toName(e);return this._for(new Os("in",o,i,r),()=>n(i))}endFor(){return this._endBlockNode(Gr)}label(e){return this._leafNode(new xl(e))}break(e){return this._leafNode(new Sl(e))}return(e){let r=new Do;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Do)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new Il;if(this._blockNode(o),this.code(e),r){let i=this.name("e");this._currNode=o.catch=new qo(i),r(i)}return n&&(this._currNode=o.finally=new Vo,this.code(n)),this._endBlockNode(qo,Vo)}throw(e){return this._leafNode(new kl(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=oe.nil,n,o){return this._blockNode(new Zo(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(Zo)}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 Hr))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}};Y.CodeGen=Pl;function Jr(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function Ns(t,e){return e instanceof oe._CodeOrName?Jr(t,e.names):t}function Pn(t,e,r){if(t instanceof oe.Name)return n(t);if(!o(t))return t;return new oe._Code(t._items.reduce((i,s)=>(s instanceof oe.Name&&(s=n(s)),s instanceof oe._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 oe._Code&&i._items.some(s=>s instanceof oe.Name&&e[s.str]===1&&r[s.str]!==void 0)}}function NS(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function Qh(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,oe._)`!${Ol(t)}`}Y.not=Qh;var AS=Xh(Y.operators.AND);function CS(...t){return t.reduce(AS)}Y.and=CS;var jS=Xh(Y.operators.OR);function MS(...t){return t.reduce(jS)}Y.or=MS;function Xh(t){return(e,r)=>e===oe.nil?r:r===oe.nil?e:(0,oe._)`${Ol(e)} ${t} ${Ol(r)}`}function Ol(t){return t instanceof oe.Name?t:(0,oe._)`(${t})`}});var ie=E(Q=>{"use strict";Object.defineProperty(Q,"__esModule",{value:!0});Q.checkStrictMode=Q.getErrorPath=Q.Type=Q.useFunc=Q.setEvaluated=Q.evaluatedPropsToName=Q.mergeEvaluated=Q.eachItem=Q.unescapeJsonPointer=Q.escapeJsonPointer=Q.escapeFragment=Q.unescapeFragment=Q.schemaRefOrVal=Q.schemaHasRulesButRef=Q.schemaHasRules=Q.checkUnknownRules=Q.alwaysValidSchema=Q.toHash=void 0;var pe=K(),ZS=jo();function DS(t){let e={};for(let r of t)e[r]=!0;return e}Q.toHash=DS;function qS(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(rg(t,e),!ng(e,t.self.RULES.all))}Q.alwaysValidSchema=qS;function rg(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]||sg(t,`unknown keyword: "${i}"`)}Q.checkUnknownRules=rg;function ng(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}Q.schemaHasRules=ng;function VS(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}Q.schemaHasRulesButRef=VS;function LS({topSchemaRef:t,schemaPath:e},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,pe._)`${r}`}return(0,pe._)`${t}${e}${(0,pe.getProperty)(n)}`}Q.schemaRefOrVal=LS;function US(t){return og(decodeURIComponent(t))}Q.unescapeFragment=US;function FS(t){return encodeURIComponent(Al(t))}Q.escapeFragment=FS;function Al(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}Q.escapeJsonPointer=Al;function og(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}Q.unescapeJsonPointer=og;function BS(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}Q.eachItem=BS;function eg({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(o,i,s,a)=>{let c=s===void 0?i:s instanceof pe.Name?(i instanceof pe.Name?t(o,i,s):e(o,i,s),s):i instanceof pe.Name?(e(o,s,i),i):r(i,s);return a===pe.Name&&!(c instanceof pe.Name)?n(o,c):c}}Q.mergeEvaluated={props:eg({mergeNames:(t,e,r)=>t.if((0,pe._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,pe._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,pe._)`${r} || {}`).code((0,pe._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,pe._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,pe._)`${r} || {}`),Cl(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:ig}),items:eg({mergeNames:(t,e,r)=>t.if((0,pe._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,pe._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,pe._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,pe._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function ig(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,pe._)`{}`);return e!==void 0&&Cl(t,r,e),r}Q.evaluatedPropsToName=ig;function Cl(t,e,r){Object.keys(r).forEach(n=>t.assign((0,pe._)`${e}${(0,pe.getProperty)(n)}`,!0))}Q.setEvaluated=Cl;var tg={};function HS(t,e){return t.scopeValue("func",{ref:e,code:tg[e.code]||(tg[e.code]=new ZS._Code(e.code))})}Q.useFunc=HS;var Nl;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(Nl||(Q.Type=Nl={}));function GS(t,e,r){if(t instanceof pe.Name){let n=e===Nl.Num;return r?n?(0,pe._)`"[" + ${t} + "]"`:(0,pe._)`"['" + ${t} + "']"`:n?(0,pe._)`"/" + ${t}`:(0,pe._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,pe.getProperty)(t).toString():"/"+Al(t)}Q.getErrorPath=GS;function sg(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}Q.checkStrictMode=sg});var Yt=E(jl=>{"use strict";Object.defineProperty(jl,"__esModule",{value:!0});var Fe=K(),JS={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")};jl.default=JS});var Lo=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 se=K(),Cs=ie(),We=Yt();Be.keywordError={message:({keyword:t})=>(0,se.str)`must pass "${t}" keyword validation`};Be.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,se.str)`"${t}" keyword must be ${e} ($data)`:(0,se.str)`"${t}" keyword is invalid ($data)`};function KS(t,e=Be.keywordError,r,n){let{it:o}=t,{gen:i,compositeRule:s,allErrors:a}=o,c=ug(t,e,r);n??(s||a)?ag(i,c):cg(o,(0,se._)`[${c}]`)}Be.reportError=KS;function WS(t,e=Be.keywordError,r){let{it:n}=t,{gen:o,compositeRule:i,allErrors:s}=n,a=ug(t,e,r);ag(o,a),i||s||cg(n,We.default.vErrors)}Be.reportExtraError=WS;function YS(t,e){t.assign(We.default.errors,e),t.if((0,se._)`${We.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,se._)`${We.default.vErrors}.length`,e),()=>t.assign(We.default.vErrors,null)))}Be.resetErrorsCount=YS;function QS({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,We.default.errors,a=>{t.const(s,(0,se._)`${We.default.vErrors}[${a}]`),t.if((0,se._)`${s}.instancePath === undefined`,()=>t.assign((0,se._)`${s}.instancePath`,(0,se.strConcat)(We.default.instancePath,i.errorPath))),t.assign((0,se._)`${s}.schemaPath`,(0,se.str)`${i.errSchemaPath}/${e}`),i.opts.verbose&&(t.assign((0,se._)`${s}.schema`,r),t.assign((0,se._)`${s}.data`,n))})}Be.extendErrors=QS;function ag(t,e){let r=t.const("err",e);t.if((0,se._)`${We.default.vErrors} === null`,()=>t.assign(We.default.vErrors,(0,se._)`[${r}]`),(0,se._)`${We.default.vErrors}.push(${r})`),t.code((0,se._)`${We.default.errors}++`)}function cg(t,e){let{gen:r,validateName:n,schemaEnv:o}=t;o.$async?r.throw((0,se._)`new ${t.ValidationError}(${e})`):(r.assign((0,se._)`${n}.errors`,e),r.return(!1))}var Kr={keyword:new se.Name("keyword"),schemaPath:new se.Name("schemaPath"),params:new se.Name("params"),propertyName:new se.Name("propertyName"),message:new se.Name("message"),schema:new se.Name("schema"),parentSchema:new se.Name("parentSchema")};function ug(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,se._)`{}`:XS(t,e,r)}function XS(t,e,r={}){let{gen:n,it:o}=t,i=[ek(o,r),tk(t,r)];return rk(t,e,i),n.object(...i)}function ek({errorPath:t},{instancePath:e}){let r=e?(0,se.str)`${t}${(0,Cs.getErrorPath)(e,Cs.Type.Str)}`:t;return[We.default.instancePath,(0,se.strConcat)(We.default.instancePath,r)]}function tk({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let o=n?e:(0,se.str)`${e}/${t}`;return r&&(o=(0,se.str)`${o}${(0,Cs.getErrorPath)(r,Cs.Type.Str)}`),[Kr.schemaPath,o]}function rk(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([Kr.keyword,o],[Kr.params,typeof e=="function"?e(t):e||(0,se._)`{}`]),c.messages&&n.push([Kr.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([Kr.schema,s],[Kr.parentSchema,(0,se._)`${l}${d}`],[We.default.data,i]),u&&n.push([Kr.propertyName,u])}});var dg=E(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.boolOrEmptySchema=On.topBoolOrEmptySchema=void 0;var nk=Lo(),ok=K(),ik=Yt(),sk={message:"boolean schema is false"};function ak(t){let{gen:e,schema:r,validateName:n}=t;r===!1?lg(t,!1):typeof r=="object"&&r.$async===!0?e.return(ik.default.data):(e.assign((0,ok._)`${n}.errors`,null),e.return(!0))}On.topBoolOrEmptySchema=ak;function ck(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),lg(t)):r.var(e,!0)}On.boolOrEmptySchema=ck;function lg(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,nk.reportError)(o,sk,void 0,e)}});var Ml=E(Nn=>{"use strict";Object.defineProperty(Nn,"__esModule",{value:!0});Nn.getRules=Nn.isJSONType=void 0;var uk=["string","number","integer","boolean","null","object","array"],lk=new Set(uk);function dk(t){return typeof t=="string"&&lk.has(t)}Nn.isJSONType=dk;function pk(){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:{}}}Nn.getRules=pk});var Zl=E(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.shouldUseRule=pr.shouldUseGroup=pr.schemaHasRulesForType=void 0;function fk({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&pg(t,n)}pr.schemaHasRulesForType=fk;function pg(t,e){return e.rules.some(r=>fg(t,r))}pr.shouldUseGroup=pg;function fg(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=fg});var Uo=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 mk=Ml(),hk=Zl(),gk=Lo(),G=K(),mg=ie(),An;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(An||(He.DataType=An={}));function yk(t){let e=hg(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=yk;function hg(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(mk.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}He.getJSONTypes=hg;function _k(t,e){let{gen:r,data:n,opts:o}=t,i=vk(e,o.coerceTypes),s=e.length>0&&!(i.length===0&&e.length===1&&(0,hk.schemaHasRulesForType)(t,e[0]));if(s){let a=ql(e,n,o.strictNumbers,An.Wrong);r.if(a,()=>{i.length?bk(t,e,i):Vl(t)})}return s}He.coerceAndCheckDataType=_k;var gg=new Set(["string","number","integer","boolean","null"]);function vk(t,e){return e?t.filter(r=>gg.has(r)||e==="array"&&r==="array"):[]}function bk(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(ql(e,o,i.strictNumbers),()=>n.assign(a,o))),n.if((0,G._)`${a} !== undefined`);for(let u of r)(gg.has(u)||u==="array"&&i.coerceTypes==="array")&&c(u);n.else(),Vl(t),n.endIf(),n.if((0,G._)`${a} !== undefined`,()=>{n.assign(o,a),wk(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
5
|
|| (${s} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,G._)`+${o}`);return;case"integer":n.elseIf((0,G._)`${s} === "boolean" || ${o} === null
|
|
6
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},
|
|
7
|
+
|| ${s} === "boolean" || ${o} === null`).assign(a,(0,G._)`[${o}]`)}}}function wk({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,G._)`${e} !== undefined`,()=>t.assign((0,G._)`${e}[${r}]`,n))}function Dl(t,e,r,n=An.Correct){let o=n===An.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===An.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=Dl;function ql(t,e,r,n){if(t.length===1)return Dl(t[0],e,r,n);let o,i=(0,mg.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,Dl(s,e,r,n));return o}He.checkDataTypes=ql;var $k={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,G._)`{type: ${t}}`:(0,G._)`{type: ${e}}`};function Vl(t){let e=xk(t);(0,gk.reportError)(e,$k)}He.reportTypeError=Vl;function xk(t){let{gen:e,data:r,schema:n}=t,o=(0,mg.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var _g=E(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.assignDefaults=void 0;var Cn=K(),Sk=ie();function kk(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)yg(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,i)=>yg(t,i,o.default))}js.assignDefaults=kk;function yg(t,e,r){let{gen:n,compositeRule:o,data:i,opts:s}=t;if(r===void 0)return;let a=(0,Cn._)`${i}${(0,Cn.getProperty)(e)}`;if(o){(0,Sk.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,Cn._)`${a} === undefined`;s.useDefaults==="empty"&&(c=(0,Cn._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,Cn._)`${a} = ${(0,Cn.stringify)(r)}`)}});var yt=E(de=>{"use strict";Object.defineProperty(de,"__esModule",{value:!0});de.validateUnion=de.validateArray=de.usePattern=de.callValidateCode=de.schemaProperties=de.allSchemaProperties=de.noPropertyInData=de.propertyInData=de.isOwnProperty=de.hasPropFunc=de.reportMissingProp=de.checkMissingProp=de.checkReportMissingProp=void 0;var _e=K(),Ll=ie(),fr=Yt(),Rk=ie();function Tk(t,e){let{gen:r,data:n,it:o}=t;r.if(Fl(r,n,e,o.opts.ownProperties),()=>{t.setParams({missingProperty:(0,_e._)`${e}`},!0),t.error()})}de.checkReportMissingProp=Tk;function zk({gen:t,data:e,it:{opts:r}},n,o){return(0,_e.or)(...n.map(i=>(0,_e.and)(Fl(t,e,i,r.ownProperties),(0,_e._)`${o} = ${i}`)))}de.checkMissingProp=zk;function Ek(t,e){t.setParams({missingProperty:e},!0),t.error()}de.reportMissingProp=Ek;function vg(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,_e._)`Object.prototype.hasOwnProperty`})}de.hasPropFunc=vg;function Ul(t,e,r){return(0,_e._)`${vg(t)}.call(${e}, ${r})`}de.isOwnProperty=Ul;function Ik(t,e,r,n){let o=(0,_e._)`${e}${(0,_e.getProperty)(r)} !== undefined`;return n?(0,_e._)`${o} && ${Ul(t,e,r)}`:o}de.propertyInData=Ik;function Fl(t,e,r,n){let o=(0,_e._)`${e}${(0,_e.getProperty)(r)} === undefined`;return n?(0,_e.or)(o,(0,_e.not)(Ul(t,e,r))):o}de.noPropertyInData=Fl;function bg(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}de.allSchemaProperties=bg;function Pk(t,e){return bg(e).filter(r=>!(0,Ll.alwaysValidSchema)(t,e[r]))}de.schemaProperties=Pk;function Ok({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:i},it:s},a,c,u){let l=u?(0,_e._)`${t}, ${e}, ${n}${o}`:e,d=[[fr.default.instancePath,(0,_e.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,_e._)`${l}, ${r.object(...d)}`;return c!==_e.nil?(0,_e._)`${a}.call(${c}, ${f})`:(0,_e._)`${a}(${f})`}de.callValidateCode=Ok;var Nk=(0,_e._)`new RegExp`;function Ak({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,_e._)`${o.code==="new RegExp"?Nk:(0,Rk.useFunc)(t,o)}(${r}, ${n})`})}de.usePattern=Ak;function Ck(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,_e._)`${r}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:n,dataProp:u,dataPropType:Ll.Type.Num},i),e.if((0,_e.not)(i),a)})}}de.validateArray=Ck;function jk(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,Ll.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,_e._)`${s} || ${a}`),t.mergeValidEvaluated(l,a)||e.if((0,_e.not)(s))})),t.result(s,()=>t.reset(),()=>t.error(!0))}de.validateUnion=jk});var xg=E(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.validateKeywordUsage=Mt.validSchemaType=Mt.funcKeywordCode=Mt.macroKeywordCode=void 0;var Ye=K(),Wr=Yt(),Mk=yt(),Zk=Lo();function Dk(t,e){let{gen:r,keyword:n,schema:o,parentSchema:i,it:s}=t,a=e.macro.call(s.self,o,i,s),c=$g(r,n,a);s.opts.validateSchema!==!1&&s.self.validateSchema(a,!0);let u=r.name("valid");t.subschema({schema:a,schemaPath:Ye.nil,errSchemaPath:`${s.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}Mt.macroKeywordCode=Dk;function qk(t,e){var r;let{gen:n,keyword:o,schema:i,parentSchema:s,$data:a,it:c}=t;Lk(c,e);let u=!a&&e.compile?e.compile.call(c.self,i,s,c):e.validate,l=$g(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&&wg(t),g(()=>t.error());else{let y=e.async?h():p();e.modifying&&wg(t),g(()=>Vk(t,y))}}function h(){let y=n.let("ruleErrs",null);return n.try(()=>m((0,Ye._)`await `),_=>n.assign(d,!1).if((0,Ye._)`${_} instanceof ${c.ValidationError}`,()=>n.assign(y,(0,Ye._)`${_}.errors`),()=>n.throw(_))),y}function p(){let y=(0,Ye._)`${l}.errors`;return n.assign(y,null),m(Ye.nil),y}function m(y=e.async?(0,Ye._)`await `:Ye.nil){let _=c.opts.passContext?Wr.default.this:Wr.default.self,$=!("compile"in e&&!a||e.schema===!1);n.assign(d,(0,Ye._)`${y}${(0,Mk.callValidateCode)(t,l,_,$)}`,e.modifying)}function g(y){var _;n.if((0,Ye.not)((_=e.valid)!==null&&_!==void 0?_:d),y)}}Mt.funcKeywordCode=qk;function wg(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,Ye._)`${n.parentData}[${n.parentDataProperty}]`))}function Vk(t,e){let{gen:r}=t;r.if((0,Ye._)`Array.isArray(${e})`,()=>{r.assign(Wr.default.vErrors,(0,Ye._)`${Wr.default.vErrors} === null ? ${e} : ${Wr.default.vErrors}.concat(${e})`).assign(Wr.default.errors,(0,Ye._)`${Wr.default.vErrors}.length`),(0,Zk.extendErrors)(t)},()=>t.error())}function Lk({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function $g(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,Ye.stringify)(r)})}function Uk(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=Uk;function Fk({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=Fk});var kg=E(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.extendSubschemaMode=mr.extendSubschemaData=mr.getSubschema=void 0;var Zt=K(),Sg=ie();function Bk(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,Sg.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=Bk;function Hk(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,Sg.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=Hk;function Gk(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=Gk});var Bl=E((dM,Rg)=>{"use strict";Rg.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 zg=E((pM,Tg)=>{"use strict";var hr=Tg.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(){};Ms(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 Ms(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++)Ms(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)Ms(t,e,r,d[h],o+"/"+l+"/"+Jk(h),i,o,l,n,h)}else(l in hr.keywords||t.allKeys&&!(l in hr.skipKeywords))&&Ms(t,e,r,d,o+"/"+l,i,o,l,n)}r(n,o,i,s,a,c,u)}}function Jk(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var Fo=E(it=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});it.getSchemaRefs=it.resolveUrl=it.normalizeId=it._getFullPath=it.getFullPath=it.inlineRef=void 0;var Kk=ie(),Wk=Bl(),Yk=zg(),Qk=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Xk(t,e=!0){return typeof t=="boolean"?!0:e===!0?!Hl(t):e?Eg(t)<=e:!1}it.inlineRef=Xk;var eR=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Hl(t){for(let e in t){if(eR.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(Hl)||typeof r=="object"&&Hl(r))return!0}return!1}function Eg(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!Qk.has(r)&&(typeof t[r]=="object"&&(0,Kk.eachItem)(t[r],n=>e+=Eg(n)),e===1/0))return 1/0}return e}function Ig(t,e="",r){r!==!1&&(e=jn(e));let n=t.parse(e);return Pg(t,n)}it.getFullPath=Ig;function Pg(t,e){return t.serialize(e).split("#")[0]+"#"}it._getFullPath=Pg;var tR=/#\/?$/;function jn(t){return t?t.replace(tR,""):""}it.normalizeId=jn;function rR(t,e,r){return r=jn(r),t.resolve(e,r)}it.resolveUrl=rR;var nR=/^[a-z_][-a-z0-9._]*$/i;function oR(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=jn(t[r]||e),i={"":o},s=Ig(n,o,!1),a={},c=new Set;return Yk(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($){let T=this.opts.uriResolver.resolve;if($=jn(g?T(g,$):$),c.has($))throw l($);c.add($);let A=this.refs[$];return typeof A=="string"&&(A=this.refs[A]),typeof A=="object"?u(d,A.schema,$):$!==jn(m)&&($[0]==="#"?(u(d,a[$],$),a[$]=d):this.refs[$]=m),$}function _($){if(typeof $=="string"){if(!nR.test($))throw new Error(`invalid anchor "${$}"`);y.call(this,`#${$}`)}}}),a;function u(d,f,h){if(f!==void 0&&!Wk(d,f))throw l(h)}function l(d){return new Error(`reference "${d}" resolves to more than one schema`)}}it.getSchemaRefs=oR});var Go=E(gr=>{"use strict";Object.defineProperty(gr,"__esModule",{value:!0});gr.getData=gr.KeywordCxt=gr.validateFunctionCode=void 0;var jg=dg(),Og=Uo(),Jl=Zl(),Zs=Uo(),iR=_g(),Ho=xg(),Gl=kg(),Z=K(),B=Yt(),sR=Fo(),Qt=ie(),Bo=Lo();function aR(t){if(Dg(t)&&(qg(t),Zg(t))){lR(t);return}Mg(t,()=>(0,jg.topBoolOrEmptySchema)(t))}gr.validateFunctionCode=aR;function Mg({gen:t,validateName:e,schema:r,schemaEnv:n,opts:o},i){o.code.es5?t.func(e,(0,Z._)`${B.default.data}, ${B.default.valCxt}`,n.$async,()=>{t.code((0,Z._)`"use strict"; ${Ng(r,o)}`),uR(t,o),t.code(i)}):t.func(e,(0,Z._)`${B.default.data}, ${cR(o)}`,n.$async,()=>t.code(Ng(r,o)).code(i))}function cR(t){return(0,Z._)`{${B.default.instancePath}="", ${B.default.parentData}, ${B.default.parentDataProperty}, ${B.default.rootData}=${B.default.data}${t.dynamicRef?(0,Z._)`, ${B.default.dynamicAnchors}={}`:Z.nil}}={}`}function uR(t,e){t.if(B.default.valCxt,()=>{t.var(B.default.instancePath,(0,Z._)`${B.default.valCxt}.${B.default.instancePath}`),t.var(B.default.parentData,(0,Z._)`${B.default.valCxt}.${B.default.parentData}`),t.var(B.default.parentDataProperty,(0,Z._)`${B.default.valCxt}.${B.default.parentDataProperty}`),t.var(B.default.rootData,(0,Z._)`${B.default.valCxt}.${B.default.rootData}`),e.dynamicRef&&t.var(B.default.dynamicAnchors,(0,Z._)`${B.default.valCxt}.${B.default.dynamicAnchors}`)},()=>{t.var(B.default.instancePath,(0,Z._)`""`),t.var(B.default.parentData,(0,Z._)`undefined`),t.var(B.default.parentDataProperty,(0,Z._)`undefined`),t.var(B.default.rootData,B.default.data),e.dynamicRef&&t.var(B.default.dynamicAnchors,(0,Z._)`{}`)})}function lR(t){let{schema:e,opts:r,gen:n}=t;Mg(t,()=>{r.$comment&&e.$comment&&Lg(t),hR(t),n.let(B.default.vErrors,null),n.let(B.default.errors,0),r.unevaluated&&dR(t),Vg(t),_R(t)})}function dR(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,Z._)`${r}.evaluated`),e.if((0,Z._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,Z._)`${t.evaluated}.props`,(0,Z._)`undefined`)),e.if((0,Z._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,Z._)`${t.evaluated}.items`,(0,Z._)`undefined`))}function Ng(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,Z._)`/*# sourceURL=${r} */`:Z.nil}function pR(t,e){if(Dg(t)&&(qg(t),Zg(t))){fR(t,e);return}(0,jg.boolOrEmptySchema)(t,e)}function Zg({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 Dg(t){return typeof t.schema!="boolean"}function fR(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&Lg(t),gR(t),yR(t);let i=n.const("_errs",B.default.errors);Vg(t,i),n.var(e,(0,Z._)`${i} === ${B.default.errors}`)}function qg(t){(0,Qt.checkUnknownRules)(t),mR(t)}function Vg(t,e){if(t.opts.jtd)return Ag(t,[],!1,e);let r=(0,Og.getSchemaTypes)(t.schema),n=(0,Og.coerceAndCheckDataType)(t,r);Ag(t,r,!n,e)}function mR(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 hR(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 gR(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,sR.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function yR(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function Lg({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:o}){let i=r.$comment;if(o.$comment===!0)t.code((0,Z._)`${B.default.self}.logger.log(${i})`);else if(typeof o.$comment=="function"){let s=(0,Z.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,Z._)`${B.default.self}.opts.$comment(${i}, ${s}, ${a}.schema)`)}}function _R(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:o,opts:i}=t;r.$async?e.if((0,Z._)`${B.default.errors} === 0`,()=>e.return(B.default.data),()=>e.throw((0,Z._)`new ${o}(${B.default.vErrors})`)):(e.assign((0,Z._)`${n}.errors`,B.default.vErrors),i.unevaluated&&vR(t),e.return((0,Z._)`${B.default.errors} === 0`))}function vR({gen:t,evaluated:e,props:r,items:n}){r instanceof Z.Name&&t.assign((0,Z._)`${e}.props`,r),n instanceof Z.Name&&t.assign((0,Z._)`${e}.items`,n)}function Ag(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(()=>Fg(t,"$ref",l.all.$ref.definition));return}c.jtd||bR(t,e),o.block(()=>{for(let f of l.rules)d(f);d(l.post)});function d(f){(0,Jl.shouldUseGroup)(i,f)&&(f.type?(o.if((0,Zs.checkDataType)(f.type,s,c.strictNumbers)),Cg(t,f),e.length===1&&e[0]===f.type&&r&&(o.else(),(0,Zs.reportTypeError)(t)),o.endIf()):Cg(t,f),a||o.if((0,Z._)`${B.default.errors} === ${n||0}`))}}function Cg(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,iR.assignDefaults)(t,e.type),r.block(()=>{for(let i of e.rules)(0,Jl.shouldUseRule)(n,i)&&Fg(t,i.keyword,i.definition,e.type)})}function bR(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(wR(t,e),t.opts.allowUnionTypes||$R(t,e),xR(t,t.dataTypes))}function wR(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{Ug(t.dataTypes,r)||Kl(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),kR(t,e)}}function $R(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Kl(t,"use allowUnionTypes to allow union type keyword")}function xR(t,e){let r=t.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,Jl.shouldUseRule)(t.schema,o)){let{type:i}=o.definition;i.length&&!i.some(s=>SR(e,s))&&Kl(t,`missing type "${i.join(",")}" for keyword "${n}"`)}}}function SR(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function Ug(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function kR(t,e){let r=[];for(let n of t.dataTypes)Ug(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function Kl(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,Qt.checkStrictMode)(t,e,t.opts.strictTypes)}var Ds=class{constructor(e,r,n){if((0,Ho.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",Bg(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Ho.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,Z.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,Z.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,Z._)`${r} !== undefined && (${(0,Z.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?Bo.reportExtraError:Bo.reportError)(this,this.def.error,r)}$dataError(){(0,Bo.reportError)(this,this.def.$dataError||Bo.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Bo.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=Z.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=Z.nil,r=Z.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:i,def:s}=this;n.if((0,Z.or)((0,Z._)`${o} === undefined`,r)),e!==Z.nil&&n.assign(e,!0),(i.length||s.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==Z.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:o,it:i}=this;return(0,Z.or)(s(),a());function s(){if(n.length){if(!(r instanceof Z.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,Z._)`${(0,Zs.checkDataTypes)(c,r,i.opts.strictNumbers,Zs.DataType.Wrong)}`}return Z.nil}function a(){if(o.validateSchema){let c=e.scopeValue("validate$data",{ref:o.validateSchema});return(0,Z._)`!${c}(${r})`}return Z.nil}}subschema(e,r){let n=(0,Gl.getSubschema)(this.it,e);(0,Gl.extendSubschemaData)(n,this.it,e),(0,Gl.extendSubschemaMode)(n,e);let o={...this.it,...n,items:void 0,props:void 0};return pR(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,Z.Name)),!0}};gr.KeywordCxt=Ds;function Fg(t,e,r,n){let o=new Ds(t,r,e);"code"in r?r.code(o,n):o.$data&&r.validate?(0,Ho.funcKeywordCode)(o,r):"macro"in r?(0,Ho.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,Ho.funcKeywordCode)(o,r)}var RR=/^\/(?:[^~]|~0|~1)*$/,TR=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Bg(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,i;if(t==="")return B.default.rootData;if(t[0]==="/"){if(!RR.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,i=B.default.rootData}else{let u=TR.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,Z._)`${i}${(0,Z.getProperty)((0,Qt.unescapeJsonPointer)(u))}`,s=(0,Z._)`${s} && ${i}`);return s;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}gr.getData=Bg});var qs=E(Yl=>{"use strict";Object.defineProperty(Yl,"__esModule",{value:!0});var Wl=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};Yl.default=Wl});var Jo=E(ed=>{"use strict";Object.defineProperty(ed,"__esModule",{value:!0});var Ql=Fo(),Xl=class extends Error{constructor(e,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,Ql.resolveUrl)(e,r,n),this.missingSchema=(0,Ql.normalizeId)((0,Ql.getFullPath)(e,this.missingRef))}};ed.default=Xl});var Ls=E(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.resolveSchema=_t.getCompilingSchema=_t.resolveRef=_t.compileSchema=_t.SchemaEnv=void 0;var Rt=K(),zR=qs(),Yr=Yt(),Tt=Fo(),Hg=ie(),ER=Go(),Mn=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={}}};_t.SchemaEnv=Mn;function rd(t){let e=Gg.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:zR.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:Yr.default.data,parentData:Yr.default.parentData,parentDataProperty:Yr.default.parentDataProperty,dataNames:[Yr.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,ER.validateFunctionCode)(u),s.optimize(this.opts.code.optimize);let d=s.toString();l=`${s.scopeRefs(Yr.default.scope)}return ${d}`,this.opts.code.process&&(l=this.opts.code.process(l,t));let h=new Function(`${Yr.default.self}`,`${Yr.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)}}_t.compileSchema=rd;function IR(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=NR.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 Mn({schema:s,schemaId:a,root:t,baseId:e}))}if(i!==void 0)return t.refs[r]=PR.call(this,i)}_t.resolveRef=IR;function PR(t){return(0,Tt.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:rd.call(this,t)}function Gg(t){for(let e of this._compilations)if(OR(e,t))return e}_t.getCompilingSchema=Gg;function OR(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function NR(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||Vs.call(this,t,e)}function Vs(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 td.call(this,r,t);let i=(0,Tt.normalizeId)(n),s=this.refs[i]||this.schemas[i];if(typeof s=="string"){let a=Vs.call(this,t,s);return typeof a?.schema!="object"?void 0:td.call(this,r,a)}if(typeof s?.schema=="object"){if(s.validate||rd.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 Mn({schema:a,schemaId:c,root:t,baseId:o})}return td.call(this,r,s)}}_t.resolveSchema=Vs;var AR=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function td(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,Hg.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!AR.has(a)&&u&&(e=(0,Tt.resolveUrl)(this.opts.uriResolver,e,u))}let i;if(typeof r!="boolean"&&r.$ref&&!(0,Hg.schemaHasRulesButRef)(r,this.RULES)){let a=(0,Tt.resolveUrl)(this.opts.uriResolver,e,r.$ref);i=Vs.call(this,n,a)}let{schemaId:s}=this.opts;if(i=i||new Mn({schema:r,schemaId:s,root:n,baseId:e}),i.schema!==i.root.schema)return i}});var Jg=E((_M,CR)=>{CR.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 id=E((vM,ey)=>{"use strict";var jR=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Wg=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),nd=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),Yg=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),MR=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function od(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 ZR=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Kg(t){return t.length=0,!0}function DR(t,e,r){if(t.length){let n=od(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function qR(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],i=!1,s=!1,a=DR;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=Kg}else{o.push(u);continue}}return o.length&&(a===Kg?r.zone=o.join(""):s?n.push(o.join("")):n.push(od(o))),r.address=n.join(""),r}function Qg(t){if(VR(t,":")<2)return{host:t,isIPV6:!1};let e=qR(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:n}}}function VR(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function LR(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 UR={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},FR=/[@/?#:]/g,BR=/[@/?#]/g;function Xg(t,e){let r=e?BR:FR;return r.lastIndex=0,t.replace(r,n=>UR[n])}function HR(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(nd(o)){let i=o.toUpperCase(),s=String.fromCharCode(parseInt(i,16));e&&Yg(s)?r+=s:r+="%"+i,n+=2;continue}}r+=t[n]}return r}function GR(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(nd(n)){let o=n.toUpperCase(),i=String.fromCharCode(parseInt(o,16));i!=="."&&Yg(i)?e+=i:e+="%"+o,r+=2;continue}}MR(t[r])?e+=t[r]:e+=escape(t[r])}return e}function JR(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(nd(n)){e+="%"+n.toUpperCase(),r+=2;continue}}e+=escape(t[r])}return e}function KR(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!Wg(r)){let n=Qg(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=Xg(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}ey.exports={nonSimpleDomain:ZR,recomposeAuthority:KR,reescapeHostDelimiters:Xg,normalizePercentEncoding:HR,normalizePathEncoding:GR,escapePreservingEscapes:JR,removeDotSegments:LR,isIPv4:Wg,isUUID:jR,normalizeIPv6:Qg,stringArrayToHexStripped:od}});var iy=E((bM,oy)=>{"use strict";var{isUUID:WR}=id(),YR=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,QR=["http","https","ws","wss","urn","urn:uuid"];function XR(t){return QR.indexOf(t)!==-1}function sd(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 ty(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function ry(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 eT(t){return t.secure=sd(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function tT(t){if((t.port===(sd(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 rT(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(YR);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=ad(o);t.path=void 0,i&&(t=i.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function nT(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=ad(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 oT(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!WR(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function iT(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var ny={scheme:"http",domainHost:!0,parse:ty,serialize:ry},sT={scheme:"https",domainHost:ny.domainHost,parse:ty,serialize:ry},Us={scheme:"ws",domainHost:!0,parse:eT,serialize:tT},aT={scheme:"wss",domainHost:Us.domainHost,parse:Us.parse,serialize:Us.serialize},cT={scheme:"urn",parse:rT,serialize:nT,skipNormalize:!0},uT={scheme:"urn:uuid",parse:oT,serialize:iT,skipNormalize:!0},Fs={http:ny,https:sT,ws:Us,wss:aT,urn:cT,"urn:uuid":uT};Object.setPrototypeOf(Fs,null);function ad(t){return t&&(Fs[t]||Fs[t.toLowerCase()])||void 0}oy.exports={wsIsSecure:sd,SCHEMES:Fs,isValidSchemeName:XR,getSchemeHandler:ad}});var dy=E((wM,Bs)=>{"use strict";var{normalizeIPv6:lT,removeDotSegments:Ko,recomposeAuthority:dT,normalizePercentEncoding:pT,normalizePathEncoding:fT,escapePreservingEscapes:mT,reescapeHostDelimiters:hT,isIPv4:gT,nonSimpleDomain:yT}=id(),{SCHEMES:_T,getSchemeHandler:ay}=iy();function vT(t,e){return typeof t=="string"?t=kT(t,e):typeof t=="object"&&(t=Zn(Qr(t,e),e)),t}function bT(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=cy(Zn(t,n),Zn(e,n),n,!0);return n.skipEscape=!0,Qr(o,n)}function cy(t,e,r,n){let o={};return n||(t=Zn(Qr(t,r),r),e=Zn(Qr(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=Ko(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=Ko(e.path||""),o.query=e.query):(e.path?(e.path[0]==="/"?o.path=Ko(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=Ko(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 wT(t,e,r){let n=sy(t,r),o=sy(e,r);return n!==void 0&&o!==void 0&&n.toLowerCase()===o.toLowerCase()}function Qr(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=ay(n.scheme||r.scheme);i&&i.serialize&&i.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=pT(r.path):(r.path=mT(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&o.push(r.scheme,":");let s=dT(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=Ko(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 $T=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u,xT=/^(?:[^#/:?]+:)?\/\/([^/?#]*)/;function ST(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 uy(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(xT);s!==null&&s[1].indexOf("\\")!==-1&&(n.error="URI authority must not contain a literal backslash.",o=!0);let a=t.match($T);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=ST(n,a);if(c!==void 0&&(n.error=n.error||c,o=!0),n.host)if(gT(n.host)===!1){let d=lT(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=ay(r.scheme||n.scheme);if(!r.unicodeSupport&&(!u||!u.unicodeSupport)&&n.host&&(r.domainHost||u&&u.domainHost)&&i===!1&&yT(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=hT(unescape(n.host),i))),n.path&&(n.path=fT(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 Zn(t,e){return uy(t,e).parsed}function kT(t,e){return ly(t,e).normalized}function ly(t,e){let{parsed:r,malformedAuthorityOrPort:n}=uy(t,e);return{normalized:n?t:Qr(r,e),malformedAuthorityOrPort:n}}function sy(t,e){if(typeof t=="string"){let{normalized:r,malformedAuthorityOrPort:n}=ly(t,e);return n?void 0:r}if(typeof t=="object")return Qr(t,e)}var cd={SCHEMES:_T,normalize:vT,resolve:bT,resolveComponent:cy,equal:wT,serialize:Qr,parse:Zn};Bs.exports=cd;Bs.exports.default=cd;Bs.exports.fastUri=cd});var fy=E(ud=>{"use strict";Object.defineProperty(ud,"__esModule",{value:!0});var py=dy();py.code='require("ajv/dist/runtime/uri").default';ud.default=py});var wy=E(Me=>{"use strict";Object.defineProperty(Me,"__esModule",{value:!0});Me.CodeGen=Me.Name=Me.nil=Me.stringify=Me.str=Me._=Me.KeywordCxt=void 0;var RT=Go();Object.defineProperty(Me,"KeywordCxt",{enumerable:!0,get:function(){return RT.KeywordCxt}});var Dn=K();Object.defineProperty(Me,"_",{enumerable:!0,get:function(){return Dn._}});Object.defineProperty(Me,"str",{enumerable:!0,get:function(){return Dn.str}});Object.defineProperty(Me,"stringify",{enumerable:!0,get:function(){return Dn.stringify}});Object.defineProperty(Me,"nil",{enumerable:!0,get:function(){return Dn.nil}});Object.defineProperty(Me,"Name",{enumerable:!0,get:function(){return Dn.Name}});Object.defineProperty(Me,"CodeGen",{enumerable:!0,get:function(){return Dn.CodeGen}});var TT=qs(),_y=Jo(),zT=Ml(),Wo=Ls(),ET=K(),Yo=Fo(),Hs=Uo(),dd=ie(),my=Jg(),IT=fy(),vy=(t,e)=>new RegExp(t,e);vy.code="new RegExp";var PT=["removeAdditional","useDefaults","coerceTypes"],OT=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),NT={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."},AT={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},hy=200;function CT(t){var e,r,n,o,i,s,a,c,u,l,d,f,h,p,m,g,y,_,$,T,A,ge,X,Ge,Le;let no=t.strict,Ca=(e=t.code)===null||e===void 0?void 0:e.optimize,Xp=Ca===!0||Ca===void 0?1:Ca||0,ef=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:vy,_b=(o=t.uriResolver)!==null&&o!==void 0?o:IT.default;return{strictSchema:(s=(i=t.strictSchema)!==null&&i!==void 0?i:no)!==null&&s!==void 0?s:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:no)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=t.strictTypes)!==null&&u!==void 0?u:no)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=t.strictTuples)!==null&&d!==void 0?d:no)!==null&&f!==void 0?f:"log",strictRequired:(p=(h=t.strictRequired)!==null&&h!==void 0?h:no)!==null&&p!==void 0?p:!1,code:t.code?{...t.code,optimize:Xp,regExp:ef}:{optimize:Xp,regExp:ef},loopRequired:(m=t.loopRequired)!==null&&m!==void 0?m:hy,loopEnum:(g=t.loopEnum)!==null&&g!==void 0?g:hy,meta:(y=t.meta)!==null&&y!==void 0?y:!0,messages:(_=t.messages)!==null&&_!==void 0?_:!0,inlineRefs:($=t.inlineRefs)!==null&&$!==void 0?$:!0,schemaId:(T=t.schemaId)!==null&&T!==void 0?T:"$id",addUsedSchema:(A=t.addUsedSchema)!==null&&A!==void 0?A:!0,validateSchema:(ge=t.validateSchema)!==null&&ge!==void 0?ge:!0,validateFormats:(X=t.validateFormats)!==null&&X!==void 0?X:!0,unicodeRegExp:(Ge=t.unicodeRegExp)!==null&&Ge!==void 0?Ge:!0,int32range:(Le=t.int32range)!==null&&Le!==void 0?Le:!0,uriResolver:_b}}var Qo=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,...CT(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new ET.ValueScope({scope:{},prefixes:OT,es5:r,lines:n}),this.logger=VT(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,zT.getRules)(),gy.call(this,NT,e,"NOT SUPPORTED"),gy.call(this,AT,e,"DEPRECATED","warn"),this._metaOpts=DT.call(this),e.formats&&MT.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&ZT.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),jT.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=my;n==="id"&&(o={...my},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 _y.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,Yo.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=yy.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,o=new Wo.SchemaEnv({schema:{},schemaId:n});if(r=Wo.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=yy.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,Yo.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(UT.call(this,n,r),!r)return(0,dd.eachItem)(n,i=>ld.call(this,i)),this;BT.call(this,r);let o={...r,type:(0,Hs.getJSONTypes)(r.type),schemaType:(0,Hs.getJSONTypes)(r.schemaType)};return(0,dd.eachItem)(n,o.type.length===0?i=>ld.call(this,i,o):i=>o.type.forEach(s=>ld.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]=by(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,Yo.normalizeId)(s||n);let u=Yo.getSchemaRefs.call(this,e,n);return c=new Wo.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):Wo.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{Wo.compileSchema.call(this,e)}finally{this.opts=r}}};Qo.ValidationError=TT.default;Qo.MissingRefError=_y.default;Me.default=Qo;function gy(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 yy(t){return t=(0,Yo.normalizeId)(t),this.schemas[t]||this.refs[t]}function jT(){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 MT(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function ZT(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 DT(){let t={...this.opts};for(let e of PT)delete t[e];return t}var qT={log(){},warn(){},error(){}};function VT(t){if(t===!1)return qT;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 LT=/^[a-z_$][a-z0-9_$:-]*$/i;function UT(t,e){let{RULES:r}=this;if((0,dd.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!LT.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 ld(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,Hs.getJSONTypes)(e.type),schemaType:(0,Hs.getJSONTypes)(e.schemaType)}};e.before?FT.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 FT(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 BT(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=by(e)),t.validateSchema=this.compile(e,!0))}var HT={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function by(t){return{anyOf:[t,HT]}}});var $y=E(pd=>{"use strict";Object.defineProperty(pd,"__esModule",{value:!0});var GT={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};pd.default=GT});var Ry=E(Xr=>{"use strict";Object.defineProperty(Xr,"__esModule",{value:!0});Xr.callRef=Xr.getValidate=void 0;var JT=Jo(),xy=yt(),st=K(),qn=Yt(),Sy=Ls(),Gs=ie(),KT={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=Sy.resolveRef.call(c,u,o,r);if(l===void 0)throw new JT.default(n.opts.uriResolver,o,r);if(l instanceof Sy.SchemaEnv)return f(l);return h(l);function d(){if(i===u)return Js(t,s,i,i.$async);let p=e.scopeValue("root",{ref:u});return Js(t,(0,st._)`${p}.validate`,u,u.$async)}function f(p){let m=ky(t,p);Js(t,m,p,p.$async)}function h(p){let m=e.scopeValue("schema",a.code.source===!0?{ref:p,code:(0,st.stringify)(p)}:{ref:p}),g=e.name("valid"),y=t.subschema({schema:p,dataTypes:[],schemaPath:st.nil,topSchemaRef:m,errSchemaPath:r},g);t.mergeEvaluated(y),t.ok(g)}}};function ky(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,st._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Xr.getValidate=ky;function Js(t,e,r,n){let{gen:o,it:i}=t,{allErrors:s,schemaEnv:a,opts:c}=i,u=c.passContext?qn.default.this:st.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,st._)`await ${(0,xy.callValidateCode)(t,e,u)}`),h(e),s||o.assign(p,!0)},m=>{o.if((0,st._)`!(${m} instanceof ${i.ValidationError})`,()=>o.throw(m)),f(m),s||o.assign(p,!1)}),t.ok(p)}function d(){t.result((0,xy.callValidateCode)(t,e,u),()=>h(e),()=>f(e))}function f(p){let m=(0,st._)`${p}.errors`;o.assign(qn.default.vErrors,(0,st._)`${qn.default.vErrors} === null ? ${m} : ${qn.default.vErrors}.concat(${m})`),o.assign(qn.default.errors,(0,st._)`${qn.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=Gs.mergeEvaluated.props(o,g.props,i.props));else{let y=o.var("props",(0,st._)`${p}.evaluated.props`);i.props=Gs.mergeEvaluated.props(o,y,i.props,st.Name)}if(i.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(i.items=Gs.mergeEvaluated.items(o,g.items,i.items));else{let y=o.var("items",(0,st._)`${p}.evaluated.items`);i.items=Gs.mergeEvaluated.items(o,y,i.items,st.Name)}}}Xr.callRef=Js;Xr.default=KT});var Ty=E(fd=>{"use strict";Object.defineProperty(fd,"__esModule",{value:!0});var WT=$y(),YT=Ry(),QT=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",WT.default,YT.default];fd.default=QT});var zy=E(md=>{"use strict";Object.defineProperty(md,"__esModule",{value:!0});var Ks=K(),yr=Ks.operators,Ws={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}},XT={message:({keyword:t,schemaCode:e})=>(0,Ks.str)`must be ${Ws[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Ks._)`{comparison: ${Ws[t].okStr}, limit: ${e}}`},ez={keyword:Object.keys(Ws),type:"number",schemaType:"number",$data:!0,error:XT,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,Ks._)`${r} ${Ws[e].fail} ${n} || isNaN(${r})`)}};md.default=ez});var Ey=E(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});var Xo=K(),tz={message:({schemaCode:t})=>(0,Xo.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,Xo._)`{multipleOf: ${t}}`},rz={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:tz,code(t){let{gen:e,data:r,schemaCode:n,it:o}=t,i=o.opts.multipleOfPrecision,s=e.let("res"),a=i?(0,Xo._)`Math.abs(Math.round(${s}) - ${s}) > 1e-${i}`:(0,Xo._)`${s} !== parseInt(${s})`;t.fail$data((0,Xo._)`(${n} === 0 || (${s} = ${r}/${n}, ${a}))`)}};hd.default=rz});var Py=E(gd=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});function Iy(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}gd.default=Iy;Iy.code='require("ajv/dist/runtime/ucs2length").default'});var Oy=E(yd=>{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});var en=K(),nz=ie(),oz=Py(),iz={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,en.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,en._)`{limit: ${t}}`},sz={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:iz,code(t){let{keyword:e,data:r,schemaCode:n,it:o}=t,i=e==="maxLength"?en.operators.GT:en.operators.LT,s=o.opts.unicode===!1?(0,en._)`${r}.length`:(0,en._)`${(0,nz.useFunc)(t.gen,oz.default)}(${r})`;t.fail$data((0,en._)`${s} ${i} ${n}`)}};yd.default=sz});var Ny=E(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});var az=yt(),cz=ie(),Vn=K(),uz={message:({schemaCode:t})=>(0,Vn.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,Vn._)`{pattern: ${t}}`},lz={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:uz,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,Vn._)`new RegExp`:(0,cz.useFunc)(e,c),l=e.let("valid");e.try(()=>e.assign(l,(0,Vn._)`${u}(${i}, ${a}).test(${r})`),()=>e.assign(l,!1)),t.fail$data((0,Vn._)`!${l}`)}else{let c=(0,az.usePattern)(t,o);t.fail$data((0,Vn._)`!${c}.test(${r})`)}}};_d.default=lz});var Ay=E(vd=>{"use strict";Object.defineProperty(vd,"__esModule",{value:!0});var ei=K(),dz={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,ei.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,ei._)`{limit: ${t}}`},pz={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:dz,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxProperties"?ei.operators.GT:ei.operators.LT;t.fail$data((0,ei._)`Object.keys(${r}).length ${o} ${n}`)}};vd.default=pz});var Cy=E(bd=>{"use strict";Object.defineProperty(bd,"__esModule",{value:!0});var ti=yt(),ri=K(),fz=ie(),mz={message:({params:{missingProperty:t}})=>(0,ri.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,ri._)`{missingProperty: ${t}}`},hz={keyword:"required",type:"object",schemaType:"array",$data:!0,error:mz,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,fz.checkStrictMode)(s,y,s.opts.strictRequired)}}function u(){if(c||i)t.block$data(ri.nil,d);else for(let h of r)(0,ti.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,ti.checkMissingProp)(t,r,h)),(0,ti.reportMissingProp)(t,h),e.else()}function d(){e.forOf("prop",n,h=>{t.setParams({missingProperty:h}),e.if((0,ti.noPropertyInData)(e,o,h,a.ownProperties),()=>t.error())})}function f(h,p){t.setParams({missingProperty:h}),e.forOf(h,n,()=>{e.assign(p,(0,ti.propertyInData)(e,o,h,a.ownProperties)),e.if((0,ri.not)(p),()=>{t.error(),e.break()})},ri.nil)}}};bd.default=hz});var jy=E(wd=>{"use strict";Object.defineProperty(wd,"__esModule",{value:!0});var ni=K(),gz={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,ni.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,ni._)`{limit: ${t}}`},yz={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:gz,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxItems"?ni.operators.GT:ni.operators.LT;t.fail$data((0,ni._)`${r}.length ${o} ${n}`)}};wd.default=yz});var Ys=E($d=>{"use strict";Object.defineProperty($d,"__esModule",{value:!0});var My=Bl();My.code='require("ajv/dist/runtime/equal").default';$d.default=My});var Zy=E(Sd=>{"use strict";Object.defineProperty(Sd,"__esModule",{value:!0});var xd=Uo(),Ze=K(),_z=ie(),vz=Ys(),bz={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}}`},wz={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:bz,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,xd.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,xd.checkDataTypes)(u,g,a.opts.strictNumbers,xd.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,_z.useFunc)(e,vz.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)})))}}};Sd.default=wz});var Dy=E(Rd=>{"use strict";Object.defineProperty(Rd,"__esModule",{value:!0});var kd=K(),$z=ie(),xz=Ys(),Sz={message:"must be equal to constant",params:({schemaCode:t})=>(0,kd._)`{allowedValue: ${t}}`},kz={keyword:"const",$data:!0,error:Sz,code(t){let{gen:e,data:r,$data:n,schemaCode:o,schema:i}=t;n||i&&typeof i=="object"?t.fail$data((0,kd._)`!${(0,$z.useFunc)(e,xz.default)}(${r}, ${o})`):t.fail((0,kd._)`${i} !== ${r}`)}};Rd.default=kz});var qy=E(Td=>{"use strict";Object.defineProperty(Td,"__esModule",{value:!0});var oi=K(),Rz=ie(),Tz=Ys(),zz={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,oi._)`{allowedValues: ${t}}`},Ez={keyword:"enum",schemaType:"array",$data:!0,error:zz,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,Rz.useFunc)(e,Tz.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,oi.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,oi._)`${u()}(${r}, ${h})`,()=>e.assign(l,!0).break()))}function f(h,p){let m=o[p];return typeof m=="object"&&m!==null?(0,oi._)`${u()}(${r}, ${h}[${p}])`:(0,oi._)`${r} === ${m}`}}};Td.default=Ez});var Vy=E(zd=>{"use strict";Object.defineProperty(zd,"__esModule",{value:!0});var Iz=zy(),Pz=Ey(),Oz=Oy(),Nz=Ny(),Az=Ay(),Cz=Cy(),jz=jy(),Mz=Zy(),Zz=Dy(),Dz=qy(),qz=[Iz.default,Pz.default,Oz.default,Nz.default,Az.default,Cz.default,jz.default,Mz.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Zz.default,Dz.default];zd.default=qz});var Id=E(ii=>{"use strict";Object.defineProperty(ii,"__esModule",{value:!0});ii.validateAdditionalItems=void 0;var tn=K(),Ed=ie(),Vz={message:({params:{len:t}})=>(0,tn.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,tn._)`{limit: ${t}}`},Lz={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Vz,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,Ed.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}Ly(t,n)}};function Ly(t,e){let{gen:r,schema:n,data:o,keyword:i,it:s}=t;s.items=!0;let a=r.const("len",(0,tn._)`${o}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,tn._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0,Ed.alwaysValidSchema)(s,n)){let u=r.var("valid",(0,tn._)`${a} <= ${e.length}`);r.if((0,tn.not)(u),()=>c(u)),t.ok(u)}function c(u){r.forRange("i",e.length,a,l=>{t.subschema({keyword:i,dataProp:l,dataPropType:Ed.Type.Num},u),s.allErrors||r.if((0,tn.not)(u),()=>r.break())})}}ii.validateAdditionalItems=Ly;ii.default=Lz});var Pd=E(si=>{"use strict";Object.defineProperty(si,"__esModule",{value:!0});si.validateTuple=void 0;var Uy=K(),Qs=ie(),Uz=yt(),Fz={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return Fy(t,"additionalItems",e);r.items=!0,!(0,Qs.alwaysValidSchema)(r,e)&&t.ok((0,Uz.validateArray)(t))}};function Fy(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=Qs.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,Uy._)`${i}.length`);r.forEach((d,f)=>{(0,Qs.alwaysValidSchema)(a,d)||(n.if((0,Uy._)`${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,Qs.checkStrictMode)(a,g,f.strictTuples)}}}si.validateTuple=Fy;si.default=Fz});var By=E(Od=>{"use strict";Object.defineProperty(Od,"__esModule",{value:!0});var Bz=Pd(),Hz={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,Bz.validateTuple)(t,"items")};Od.default=Hz});var Gy=E(Nd=>{"use strict";Object.defineProperty(Nd,"__esModule",{value:!0});var Hy=K(),Gz=ie(),Jz=yt(),Kz=Id(),Wz={message:({params:{len:t}})=>(0,Hy.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Hy._)`{limit: ${t}}`},Yz={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Wz,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,Gz.alwaysValidSchema)(n,e)&&(o?(0,Kz.validateAdditionalItems)(t,o):t.ok((0,Jz.validateArray)(t)))}};Nd.default=Yz});var Jy=E(Ad=>{"use strict";Object.defineProperty(Ad,"__esModule",{value:!0});var vt=K(),Xs=ie(),Qz={message:({params:{min:t,max:e}})=>e===void 0?(0,vt.str)`must contain at least ${t} valid item(s)`:(0,vt.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,vt._)`{minContains: ${t}}`:(0,vt._)`{minContains: ${t}, maxContains: ${e}}`},Xz={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Qz,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,vt._)`${o}.length`);if(t.setParams({min:s,max:a}),a===void 0&&s===0){(0,Xs.checkStrictMode)(i,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&s>a){(0,Xs.checkStrictMode)(i,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,Xs.alwaysValidSchema)(i,r)){let m=(0,vt._)`${l} >= ${s}`;a!==void 0&&(m=(0,vt._)`${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,vt._)`${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:Xs.Type.Num,compositeRule:!0},m),g()})}function p(m){e.code((0,vt._)`${m}++`),a===void 0?e.if((0,vt._)`${m} >= ${s}`,()=>e.assign(d,!0).break()):(e.if((0,vt._)`${m} > ${a}`,()=>e.assign(d,!1).break()),s===1?e.assign(d,!0):e.if((0,vt._)`${m} >= ${s}`,()=>e.assign(d,!0)))}}};Ad.default=Xz});var Yy=E(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.validateSchemaDeps=Dt.validatePropertyDeps=Dt.error=void 0;var Cd=K(),eE=ie(),ai=yt();Dt.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,Cd.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,Cd._)`{property: ${t},
|
|
8
8
|
missingProperty: ${n},
|
|
9
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(`
|
|
10
|
+
deps: ${r}}`};var tE={keyword:"dependencies",type:"object",schemaType:"object",error:Dt.error,code(t){let[e,r]=rE(t);Ky(t,e),Wy(t,r)}};function rE({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 Ky(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,ai.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,ai.checkReportMissingProp)(t,u)}):(r.if((0,Cd._)`${c} && (${(0,ai.checkMissingProp)(t,a,i)})`),(0,ai.reportMissingProp)(t,i),r.else())}}Dt.validatePropertyDeps=Ky;function Wy(t,e=t.schema){let{gen:r,data:n,keyword:o,it:i}=t,s=r.name("valid");for(let a in e)(0,eE.alwaysValidSchema)(i,e[a])||(r.if((0,ai.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=Wy;Dt.default=tE});var Xy=E(jd=>{"use strict";Object.defineProperty(jd,"__esModule",{value:!0});var Qy=K(),nE=ie(),oE={message:"property name must be valid",params:({params:t})=>(0,Qy._)`{propertyName: ${t.propertyName}}`},iE={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:oE,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,nE.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,Qy.not)(i),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(i)}};jd.default=iE});var Zd=E(Md=>{"use strict";Object.defineProperty(Md,"__esModule",{value:!0});var ea=yt(),zt=K(),sE=Yt(),ta=ie(),aE={message:"must NOT have additional properties",params:({params:t})=>(0,zt._)`{additionalProperty: ${t.additionalProperty}}`},cE={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:aE,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,ta.alwaysValidSchema)(s,r))return;let u=(0,ea.allSchemaProperties)(n.properties),l=(0,ea.allSchemaProperties)(n.patternProperties);d(),t.ok((0,zt._)`${i} === ${sE.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,ta.schemaRefOrVal)(s,n.properties,"properties");y=(0,ea.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,ea.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,ta.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 $={keyword:"additionalProperties",dataProp:g,dataPropType:ta.Type.Str};_===!1&&Object.assign($,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema($,y)}}};Md.default=cE});var r_=E(qd=>{"use strict";Object.defineProperty(qd,"__esModule",{value:!0});var uE=Go(),e_=yt(),Dd=ie(),t_=Zd(),lE={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&&t_.default.code(new uE.KeywordCxt(i,t_.default,"additionalProperties"));let s=(0,e_.allSchemaProperties)(r);for(let d of s)i.definedProperties.add(d);i.opts.unevaluated&&s.length&&i.props!==!0&&(i.props=Dd.mergeEvaluated.props(e,(0,Dd.toHash)(s),i.props));let a=s.filter(d=>!(0,Dd.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,e_.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)}}};qd.default=lE});var s_=E(Vd=>{"use strict";Object.defineProperty(Vd,"__esModule",{value:!0});var n_=yt(),ra=K(),o_=ie(),i_=ie(),dE={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,n_.allSchemaProperties)(r),c=a.filter(m=>(0,o_.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 ra.Name)&&(i.props=(0,i_.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,o_.checkStrictMode)(i,`property ${g} matches pattern ${m} (use allowMatchingProperties)`)}function p(m){e.forIn("key",n,g=>{e.if((0,ra._)`${(0,n_.usePattern)(t,m)}.test(${g})`,()=>{let y=c.includes(m);y||t.subschema({keyword:"patternProperties",schemaProp:m,dataProp:g,dataPropType:i_.Type.Str},l),i.opts.unevaluated&&d!==!0?e.assign((0,ra._)`${d}[${g}]`,!0):!y&&!i.allErrors&&e.if((0,ra.not)(l),()=>e.break())})})}}};Vd.default=dE});var a_=E(Ld=>{"use strict";Object.defineProperty(Ld,"__esModule",{value:!0});var pE=ie(),fE={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,pE.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"}};Ld.default=fE});var c_=E(Ud=>{"use strict";Object.defineProperty(Ud,"__esModule",{value:!0});var mE=yt(),hE={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:mE.validateUnion,error:{message:"must match a schema in anyOf"}};Ud.default=hE});var u_=E(Fd=>{"use strict";Object.defineProperty(Fd,"__esModule",{value:!0});var na=K(),gE=ie(),yE={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,na._)`{passingSchemas: ${t.passing}}`},_E={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:yE,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,gE.alwaysValidSchema)(o,l)?e.var(c,!0):f=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,na._)`${c} && ${s}`).assign(s,!1).assign(a,(0,na._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(s,!0),e.assign(a,d),f&&t.mergeEvaluated(f,na.Name)})})}}};Fd.default=_E});var l_=E(Bd=>{"use strict";Object.defineProperty(Bd,"__esModule",{value:!0});var vE=ie(),bE={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,vE.alwaysValidSchema)(n,i))return;let a=t.subschema({keyword:"allOf",schemaProp:s},o);t.ok(o),t.mergeEvaluated(a)})}};Bd.default=bE});var f_=E(Hd=>{"use strict";Object.defineProperty(Hd,"__esModule",{value:!0});var oa=K(),p_=ie(),wE={message:({params:t})=>(0,oa.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,oa._)`{failingKeyword: ${t.ifClause}}`},$E={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:wE,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,p_.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=d_(n,"then"),i=d_(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,oa.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,oa._)`${l}`):t.setParams({ifClause:l})}}}};function d_(t,e){let r=t.schema[e];return r!==void 0&&!(0,p_.alwaysValidSchema)(t,r)}Hd.default=$E});var m_=E(Gd=>{"use strict";Object.defineProperty(Gd,"__esModule",{value:!0});var xE=ie(),SE={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,xE.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Gd.default=SE});var h_=E(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0});var kE=Id(),RE=By(),TE=Pd(),zE=Gy(),EE=Jy(),IE=Yy(),PE=Xy(),OE=Zd(),NE=r_(),AE=s_(),CE=a_(),jE=c_(),ME=u_(),ZE=l_(),DE=f_(),qE=m_();function VE(t=!1){let e=[CE.default,jE.default,ME.default,ZE.default,DE.default,qE.default,PE.default,OE.default,IE.default,NE.default,AE.default];return t?e.push(RE.default,zE.default):e.push(kE.default,TE.default),e.push(EE.default),e}Jd.default=VE});var g_=E(Kd=>{"use strict";Object.defineProperty(Kd,"__esModule",{value:!0});var Te=K(),LE={message:({schemaCode:t})=>(0,Te.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,Te._)`{format: ${t}}`},UE={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:LE,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)(_(),$()));function _(){return c.strictSchema===!1?Te.nil:(0,Te._)`${s} && !${y}`}function $(){let T=l.$async?(0,Te._)`(${m}.async ? await ${y}(${n}) : ${y}(${n}))`:(0,Te._)`${y}(${n})`,A=(0,Te._)`(typeof ${y} == "function" ? ${T} : ${y}.test(${n}))`;return(0,Te._)`${y} && ${y} !== true && ${g} === ${e} && !${A}`}}function h(){let p=d.formats[i];if(!p){_();return}if(p===!0)return;let[m,g,y]=$(p);m===e&&t.pass(T());function _(){if(c.strictSchema===!1){d.logger.warn(A());return}throw new Error(A());function A(){return`unknown format "${i}" ignored in schema at path "${u}"`}}function $(A){let ge=A instanceof RegExp?(0,Te.regexpCode)(A):c.code.formats?(0,Te._)`${c.code.formats}${(0,Te.getProperty)(i)}`:void 0,X=r.scopeValue("formats",{key:i,ref:A,code:ge});return typeof A=="object"&&!(A instanceof RegExp)?[A.type||"string",A.validate,(0,Te._)`${X}.validate`]:["string",A,X]}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})`}}}};Kd.default=UE});var y_=E(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});var FE=g_(),BE=[FE.default];Wd.default=BE});var __=E(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.contentVocabulary=Ln.metadataVocabulary=void 0;Ln.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Ln.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var b_=E(Yd=>{"use strict";Object.defineProperty(Yd,"__esModule",{value:!0});var HE=Ty(),GE=Vy(),JE=h_(),KE=y_(),v_=__(),WE=[HE.default,GE.default,(0,JE.default)(),KE.default,v_.metadataVocabulary,v_.contentVocabulary];Yd.default=WE});var $_=E(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.DiscrError=void 0;var w_;(function(t){t.Tag="tag",t.Mapping="mapping"})(w_||(ia.DiscrError=w_={}))});var S_=E(Xd=>{"use strict";Object.defineProperty(Xd,"__esModule",{value:!0});var Un=K(),Qd=$_(),x_=Ls(),YE=Jo(),QE=ie(),XE={message:({params:{discrError:t,tagName:e}})=>t===Qd.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,Un._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},eI={keyword:"discriminator",type:"object",schemaType:"object",error:XE,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,Un._)`${r}${(0,Un.getProperty)(a)}`);e.if((0,Un._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:Qd.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,Un._)`${u} === ${p}`),e.assign(c,d(h[p]));e.else(),t.error(!1,{discrError:Qd.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,Un.Name),p}function f(){var h;let p={},m=y(o),g=!0;for(let T=0;T<s.length;T++){let A=s[T];if(A?.$ref&&!(0,QE.schemaHasRulesButRef)(A,i.self.RULES)){let X=A.$ref;if(A=x_.resolveRef.call(i.self,i.schemaEnv.root,i.baseId,X),A instanceof x_.SchemaEnv&&(A=A.schema),A===void 0)throw new YE.default(i.opts.uriResolver,i.baseId,X)}let ge=(h=A?.properties)===null||h===void 0?void 0:h[a];if(typeof ge!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);g=g&&(m||y(A)),_(ge,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,A){if(T.const)$(T.const,A);else if(T.enum)for(let ge of T.enum)$(ge,A);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function $(T,A){if(typeof T!="string"||T in p)throw new Error(`discriminator: "${a}" values must be unique strings`);p[T]=A}}}};Xd.default=eI});var k_=E((uZ,tI)=>{tI.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 tp=E((ve,ep)=>{"use strict";Object.defineProperty(ve,"__esModule",{value:!0});ve.MissingRefError=ve.ValidationError=ve.CodeGen=ve.Name=ve.nil=ve.stringify=ve.str=ve._=ve.KeywordCxt=ve.Ajv=void 0;var rI=wy(),nI=b_(),oI=S_(),R_=k_(),iI=["/properties"],sa="http://json-schema.org/draft-07/schema",Fn=class extends rI.default{_addVocabularies(){super._addVocabularies(),nI.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(oI.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(R_,iI):R_;this.addMetaSchema(e,sa,!1),this.refs["http://json-schema.org/schema"]=sa}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(sa)?sa:void 0)}};ve.Ajv=Fn;ep.exports=ve=Fn;ep.exports.Ajv=Fn;Object.defineProperty(ve,"__esModule",{value:!0});ve.default=Fn;var sI=Go();Object.defineProperty(ve,"KeywordCxt",{enumerable:!0,get:function(){return sI.KeywordCxt}});var Bn=K();Object.defineProperty(ve,"_",{enumerable:!0,get:function(){return Bn._}});Object.defineProperty(ve,"str",{enumerable:!0,get:function(){return Bn.str}});Object.defineProperty(ve,"stringify",{enumerable:!0,get:function(){return Bn.stringify}});Object.defineProperty(ve,"nil",{enumerable:!0,get:function(){return Bn.nil}});Object.defineProperty(ve,"Name",{enumerable:!0,get:function(){return Bn.Name}});Object.defineProperty(ve,"CodeGen",{enumerable:!0,get:function(){return Bn.CodeGen}});var aI=qs();Object.defineProperty(ve,"ValidationError",{enumerable:!0,get:function(){return aI.default}});var cI=Jo();Object.defineProperty(ve,"MissingRefError",{enumerable:!0,get:function(){return cI.default}})});var A_=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(I_,ip),time:qt(np(!0),sp),"date-time":qt(T_(!0),O_),"iso-time":qt(np(),P_),"iso-date-time":qt(T_(),N_),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:mI,"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:wI,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:hI,int32:{type:"number",validate:_I},int64:{type:"number",validate:vI},float:{type:"number",validate:E_},double:{type:"number",validate:E_},password:!0,binary:!0};Vt.fastFormats={...Vt.fullFormats,date:qt(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,ip),time:qt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,sp),"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,O_),"iso-time":qt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,P_),"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,N_),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 uI(t){return t%4===0&&(t%100!==0||t%400===0)}var lI=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,dI=[0,31,28,31,30,31,30,31,31,30,31,30,31];function I_(t){let e=lI.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&&uI(r)?29:dI[n])}function ip(t,e){if(t&&e)return t>e?1:t<e?-1:0}var rp=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function np(t){return function(r){let n=rp.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 sp(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 P_(t,e){if(!(t&&e))return;let r=rp.exec(t),n=rp.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 op=/t|\s/i;function T_(t){let e=np(t);return function(n){let o=n.split(op);return o.length===2&&I_(o[0])&&e(o[1])}}function O_(t,e){if(!(t&&e))return;let r=new Date(t).valueOf(),n=new Date(e).valueOf();if(r&&n)return r-n}function N_(t,e){if(!(t&&e))return;let[r,n]=t.split(op),[o,i]=e.split(op),s=ip(r,o);if(s!==void 0)return s||sp(n,i)}var pI=/\/|:/,fI=/^(?:[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 mI(t){return pI.test(t)&&fI.test(t)}var z_=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function hI(t){return z_.lastIndex=0,z_.test(t)}var gI=-(2**31),yI=2**31-1;function _I(t){return Number.isInteger(t)&&t<=yI&&t>=gI}function vI(t){return Number.isInteger(t)}function E_(){return!0}var bI=/[^\\]\\Z/;function wI(t){if(bI.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var C_=E(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.formatLimitDefinition=void 0;var $I=tp(),Et=K(),_r=Et.operators,aa={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}},xI={message:({keyword:t,schemaCode:e})=>(0,Et.str)`should be ${aa[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Et._)`{comparison: ${aa[t].okStr}, limit: ${e}}`};Hn.formatLimitDefinition={keyword:Object.keys(aa),type:"string",schemaType:"string",$data:!0,error:xI,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 $I.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}) ${aa[o].fail} 0`}},dependencies:["format"]};var SI=t=>(t.addKeyword(Hn.formatLimitDefinition),t);Hn.default=SI});var D_=E((ci,Z_)=>{"use strict";Object.defineProperty(ci,"__esModule",{value:!0});var Gn=A_(),kI=C_(),ap=K(),j_=new ap.Name("fullFormats"),RI=new ap.Name("fastFormats"),cp=(t,e={keywords:!0})=>{if(Array.isArray(e))return M_(t,e,Gn.fullFormats,j_),t;let[r,n]=e.mode==="fast"?[Gn.fastFormats,RI]:[Gn.fullFormats,j_],o=e.formats||Gn.formatNames;return M_(t,o,r,n),e.keywords&&(0,kI.default)(t),t};cp.get=(t,e="full")=>{let n=(e==="fast"?Gn.fastFormats:Gn.fullFormats)[t];if(!n)throw new Error(`Unknown format "${t}"`);return n};function M_(t,e,r,n){var o,i;(o=(i=t.opts.code).formats)!==null&&o!==void 0||(i.formats=(0,ap._)`require("ajv-formats/dist/formats").${n}`);for(let s of e)t.addFormat(s,r[s])}Z_.exports=ci=cp;Object.defineProperty(ci,"__esModule",{value:!0});ci.default=cp});var j={};Ma(j,{BRAND:()=>Wb,DIRTY:()=>$r,EMPTY_PATH:()=>zb,INVALID:()=>V,NEVER:()=>Nw,OK:()=>Ue,ParseStatus:()=>Ne,Schema:()=>J,ZodAny:()=>rr,ZodArray:()=>Ht,ZodBigInt:()=>Sr,ZodBoolean:()=>kr,ZodBranded:()=>io,ZodCatch:()=>jr,ZodDate:()=>Rr,ZodDefault:()=>Cr,ZodDiscriminatedUnion:()=>Ei,ZodEffects:()=>pt,ZodEnum:()=>Nr,ZodError:()=>Xe,ZodFirstPartyTypeKind:()=>k,ZodFunction:()=>Pi,ZodIntersection:()=>Ir,ZodIssueCode:()=>S,ZodLazy:()=>Pr,ZodLiteral:()=>Or,ZodMap:()=>gn,ZodNaN:()=>_n,ZodNativeEnum:()=>Ar,ZodNever:()=>wt,ZodNull:()=>zr,ZodNullable:()=>Ct,ZodNumber:()=>xr,ZodObject:()=>tt,ZodOptional:()=>et,ZodParsedType:()=>I,ZodPipeline:()=>so,ZodPromise:()=>nr,ZodReadonly:()=>Mr,ZodRecord:()=>Ii,ZodSchema:()=>J,ZodSet:()=>yn,ZodString:()=>tr,ZodSymbol:()=>mn,ZodTransformer:()=>pt,ZodTuple:()=>At,ZodType:()=>J,ZodUndefined:()=>Tr,ZodUnion:()=>Er,ZodUnknown:()=>Bt,ZodVoid:()=>hn,addIssueToContext:()=>z,any:()=>iw,array:()=>uw,bigint:()=>ew,boolean:()=>ff,coerce:()=>Ow,custom:()=>lf,date:()=>tw,datetimeRegex:()=>cf,defaultErrorMap:()=>Ut,discriminatedUnion:()=>pw,effect:()=>Sw,enum:()=>ww,function:()=>_w,getErrorMap:()=>dn,getParsedType:()=>Nt,instanceof:()=>Qb,intersection:()=>fw,isAborted:()=>Ti,isAsync:()=>pn,isDirty:()=>zi,isValid:()=>er,late:()=>Yb,lazy:()=>vw,literal:()=>bw,makeIssue:()=>oo,map:()=>gw,nan:()=>Xb,nativeEnum:()=>$w,never:()=>aw,null:()=>ow,nullable:()=>Rw,number:()=>pf,object:()=>Va,objectUtil:()=>Za,oboolean:()=>Pw,onumber:()=>Iw,optional:()=>kw,ostring:()=>Ew,pipeline:()=>zw,preprocess:()=>Tw,promise:()=>xw,quotelessJson:()=>kb,record:()=>hw,set:()=>yw,setErrorMap:()=>Tb,strictObject:()=>lw,string:()=>df,symbol:()=>rw,transformer:()=>Sw,tuple:()=>mw,undefined:()=>nw,union:()=>dw,unknown:()=>sw,util:()=>ee,void:()=>cw});var ee;(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})(ee||(ee={}));var Za;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(Za||(Za={}));var I=ee.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=ee.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"]),kb=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),Xe=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,ee.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()}};Xe.create=t=>new Xe(t);var Rb=(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,ee.jsonStringifyReplacer)}`;break;case S.unrecognized_keys:r=`Unrecognized key(s) in object: ${ee.joinValues(t.keys,", ")}`;break;case S.invalid_union:r="Invalid input";break;case S.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${ee.joinValues(t.options)}`;break;case S.invalid_enum_value:r=`Invalid enum value. Expected ${ee.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}"`:ee.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,ee.assertNever(t)}return{message:r}},Ut=Rb;var rf=Ut;function Tb(t){rf=t}function dn(){return rf}var oo=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}},zb=[];function z(t,e){let r=dn(),n=oo({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"}),$r=t=>({status:"dirty",value:t}),Ue=t=>({status:"valid",value:t}),Ti=t=>t.status==="aborted",zi=t=>t.status==="dirty",er=t=>t.status==="valid",pn=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 dt=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}},nf=(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 Xe(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(pn(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 nf(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(pn(o)?o:Promise.resolve(o));return nf(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 pt({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 et.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 Er.create([this,e],this._def)}and(e){return Ir.create(this,e,this._def)}transform(e){return new pt({...H(this._def),schema:this,typeName:k.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new Cr({...H(this._def),innerType:this,defaultValue:r,typeName:k.ZodDefault})}brand(){return new io({typeName:k.ZodBranded,type:this,...H(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new jr({...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 so.create(this,e)}readonly(){return Mr.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Eb=/^c[^\s-]{8,}$/i,Ib=/^[0-9a-z]+$/,Pb=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Ob=/^[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,Nb=/^[a-z0-9_-]{21}$/i,Ab=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Cb=/^[-+]?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)?)??$/,jb=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Mb="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Da,Zb=/^(?:(?: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])$/,Db=/^(?:(?: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])$/,qb=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Vb=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Lb=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Ub=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,sf="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Fb=new RegExp(`^${sf}$`);function af(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function Bb(t){return new RegExp(`^${af(t)}$`)}function cf(t){let e=`${sf}T${af(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 Hb(t,e){return!!((e==="v4"||!e)&&Zb.test(t)||(e==="v6"||!e)&&qb.test(t))}function Gb(t,e){if(!Ab.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 Jb(t,e){return!!((e==="v4"||!e)&&Db.test(t)||(e==="v6"||!e)&&Vb.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")jb.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")Da||(Da=new RegExp(Mb,"u")),Da.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")Ob.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")Nb.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")Eb.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")Ib.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")Pb.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"?cf(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"?Fb.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{code:S.invalid_string,validation:"date",message:i.message}),n.dirty()):i.kind==="time"?Bb(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"?Cb.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"duration",code:S.invalid_string,message:i.message}),n.dirty()):i.kind==="ip"?Hb(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"?Gb(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"?Jb(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"?Lb.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"base64",code:S.invalid_string,message:i.message}),n.dirty()):i.kind==="base64url"?Ub.test(e.data)||(o=this._getOrReturnCtx(e,o),z(o,{validation:"base64url",code:S.invalid_string,message:i.message}),n.dirty()):ee.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 Kb(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 xr=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"?ee.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"?Kb(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()):ee.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"&&ee.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)}};xr.create=t=>new xr({checks:[],typeName:k.ZodNumber,coerce:t?.coerce||!1,...H(t)});var Sr=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()):ee.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}};Sr.create=t=>new Sr({checks:[],typeName:k.ZodBigInt,coerce:t?.coerce??!1,...H(t)});var kr=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)}};kr.create=t=>new kr({typeName:k.ZodBoolean,coerce:t?.coerce||!1,...H(t)});var Rr=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()):ee.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}};Rr.create=t=>new Rr({checks:[],coerce:t?.coerce||!1,typeName:k.ZodDate,...H(t)});var mn=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)}};mn.create=t=>new mn({typeName:k.ZodSymbol,...H(t)});var Tr=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)}};Tr.create=t=>new Tr({typeName:k.ZodUndefined,...H(t)});var zr=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)}};zr.create=t=>new zr({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 hn=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)}};hn.create=t=>new hn({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 dt(r,s,r.path,a)))).then(s=>Ne.mergeArray(n,s));let i=[...r.data].map((s,a)=>o.type._parseSync(new dt(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 fn(t){if(t instanceof tt){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=et.create(fn(n))}return new tt({...t._def,shape:()=>e})}else return t instanceof Ht?new Ht({...t._def,type:fn(t.element)}):t instanceof et?et.create(fn(t.unwrap())):t instanceof Ct?Ct.create(fn(t.unwrap())):t instanceof At?At.create(t.items.map(e=>fn(e))):t}var tt=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=ee.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 dt(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 dt(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 ee.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 ee.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return fn(this)}partial(e){let r={};for(let n of ee.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 ee.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let i=this.shape[n];for(;i instanceof et;)i=i._def.innerType;r[n]=i}return new t({...this._def,shape:()=>r})}keyof(){return uf(ee.objectKeys(this.shape))}};tt.create=(t,e)=>new tt({shape:()=>t,unknownKeys:"strip",catchall:wt.create(),typeName:k.ZodObject,...H(e)});tt.strictCreate=(t,e)=>new tt({shape:()=>t,unknownKeys:"strict",catchall:wt.create(),typeName:k.ZodObject,...H(e)});tt.lazycreate=(t,e)=>new tt({shape:t,unknownKeys:"strip",catchall:wt.create(),typeName:k.ZodObject,...H(e)});var Er=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 Xe(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 Xe(c));return z(r,{code:S.invalid_union,unionErrors:a}),V}}get options(){return this._def.options}};Er.create=(t,e)=>new Er({options:t,typeName:k.ZodUnion,...H(e)});var Ft=t=>t instanceof Pr?Ft(t.schema):t instanceof pt?Ft(t.innerType()):t instanceof Or?[t.value]:t instanceof Nr?t.options:t instanceof Ar?ee.objectValues(t.enum):t instanceof Cr?Ft(t._def.innerType):t instanceof Tr?[void 0]:t instanceof zr?[null]:t instanceof et?[void 0,...Ft(t.unwrap())]:t instanceof Ct?[null,...Ft(t.unwrap())]:t instanceof io||t instanceof Mr?Ft(t.unwrap()):t instanceof jr?Ft(t._def.innerType):[],Ei=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 qa(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=ee.objectKeys(e),i=ee.objectKeys(t).filter(a=>o.indexOf(a)!==-1),s={...t,...e};for(let a of i){let c=qa(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=qa(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 Ir=class extends J{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=(i,s)=>{if(Ti(i)||Ti(s))return V;let a=qa(i.value,s.value);return a.valid?((zi(i)||zi(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}))}};Ir.create=(t,e,r)=>new Ir({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 dt(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 Ii=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 dt(n,a,n.path,a)),value:s._parse(new dt(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)})}},gn=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 dt(n,a,n.path,[u,"key"])),value:i._parse(new dt(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}}}};gn.create=(t,e,r)=>new gn({valueType:e,keyType:t,typeName:k.ZodMap,...H(r)});var yn=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 dt(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)}};yn.create=(t,e)=>new yn({valueType:t,minSize:null,maxSize:null,typeName:k.ZodSet,...H(e)});var Pi=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 oo({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,dn(),Ut].filter(u=>!!u),issueData:{code:S.invalid_arguments,argumentsError:c}})}function o(a,c){return oo({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,dn(),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 Xe([]),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 Xe([n(c,u.error)]);let l=Reflect.apply(s,this,u.data),d=a._def.returns.safeParse(l,i);if(!d.success)throw new Xe([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)})}},Pr=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})}};Pr.create=(t,e)=>new Pr({getter:t,typeName:k.ZodLazy,...H(e)});var Or=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}};Or.create=(t,e)=>new Or({value:t,typeName:k.ZodLiteral,...H(e)});function uf(t,e){return new Nr({values:t,typeName:k.ZodEnum,...H(e)})}var Nr=class t extends J{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return z(r,{expected:ee.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})}};Nr.create=uf;var Ar=class extends J{_parse(e){let r=ee.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==I.string&&n.parsedType!==I.number){let o=ee.objectValues(r);return z(n,{expected:ee.joinValues(o),received:n.parsedType,code:S.invalid_type}),V}if(this._cache||(this._cache=new Set(ee.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=ee.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}};Ar.create=(t,e)=>new Ar({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 pt=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"?$r(c.value):r.value==="dirty"?$r(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"?$r(a.value):r.value==="dirty"?$r(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);ee.assertNever(o)}};pt.create=(t,e,r)=>new pt({schema:t,typeName:k.ZodEffects,effect:e,...H(r)});pt.createWithPreprocess=(t,e,r)=>new pt({schema:e,effect:{type:"preprocess",transform:t},typeName:k.ZodEffects,...H(r)});var et=class extends J{_parse(e){return this._getType(e)===I.undefined?Ue(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};et.create=(t,e)=>new et({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 Cr=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}};Cr.create=(t,e)=>new Cr({innerType:t,typeName:k.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...H(e)});var jr=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 pn(o)?o.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Xe(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Xe(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};jr.create=(t,e)=>new jr({innerType:t,typeName:k.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...H(e)});var _n=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}}};_n.create=t=>new _n({typeName:k.ZodNaN,...H(t)});var Wb=Symbol("zod_brand"),io=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}},so=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(),$r(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})}},Mr=class extends J{_parse(e){let r=this._def.innerType._parse(e),n=o=>(er(o)&&(o.value=Object.freeze(o.value)),o);return pn(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};Mr.create=(t,e)=>new Mr({innerType:t,typeName:k.ZodReadonly,...H(e)});function of(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function lf(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=of(e,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!i){let s=of(e,n),a=s.fatal??r??!0;o.addIssue({code:"custom",...s,fatal:a})}}):rr.create()}var Yb={object:tt.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 Qb=(t,e={message:`Input not instance of ${t.name}`})=>lf(r=>r instanceof t,e),df=tr.create,pf=xr.create,Xb=_n.create,ew=Sr.create,ff=kr.create,tw=Rr.create,rw=mn.create,nw=Tr.create,ow=zr.create,iw=rr.create,sw=Bt.create,aw=wt.create,cw=hn.create,uw=Ht.create,Va=tt.create,lw=tt.strictCreate,dw=Er.create,pw=Ei.create,fw=Ir.create,mw=At.create,hw=Ii.create,gw=gn.create,yw=yn.create,_w=Pi.create,vw=Pr.create,bw=Or.create,ww=Nr.create,$w=Ar.create,xw=nr.create,Sw=pt.create,kw=et.create,Rw=Ct.create,Tw=pt.createWithPreprocess,zw=so.create,Ew=()=>df().optional(),Iw=()=>pf().optional(),Pw=()=>ff().optional(),Ow={string:t=>tr.create({...t,coerce:!0}),number:t=>xr.create({...t,coerce:!0}),boolean:t=>kr.create({...t,coerce:!0}),bigint:t=>Sr.create({...t,coerce:!0}),date:t=>Rr.create({...t,coerce:!0})};var Nw=V;var Aw=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 Cw=Symbol("zod_brand"),Gt=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Oi={};function at(t){return t&&Object.assign(Oi,t),Oi}var te={};Ma(te,{BIGINT_FORMAT_RANGES:()=>hf,Class:()=>Ua,NUMBER_FORMAT_RANGES:()=>Wa,aborted:()=>Dr,allowsEval:()=>Ga,assert:()=>qw,assertEqual:()=>jw,assertIs:()=>Zw,assertNever:()=>Dw,assertNotEqual:()=>Mw,assignProp:()=>Ha,cached:()=>uo,captureStackTrace:()=>Ai,cleanEnum:()=>Xw,cleanRegex:()=>po,clone:()=>ct,createTransparentProxy:()=>Hw,defineLazy:()=>fe,esc:()=>Zr,escapeRegex:()=>or,extend:()=>Kw,finalizeIssue:()=>$t,floatSafeRemainder:()=>Ba,getElementAtPath:()=>Vw,getEnumValues:()=>co,getLengthableOrigin:()=>fo,getParsedType:()=>Bw,getSizableOrigin:()=>gf,isObject:()=>vn,isPlainObject:()=>bn,issue:()=>Ya,joinValues:()=>Ni,jsonStringifyReplacer:()=>Fa,merge:()=>Ww,normalizeParams:()=>L,nullish:()=>lo,numKeys:()=>Fw,omit:()=>Jw,optionalKeys:()=>Ka,partial:()=>Yw,pick:()=>Gw,prefixIssues:()=>jt,primitiveTypes:()=>mf,promiseAllObject:()=>Lw,propertyKeyTypes:()=>Ja,randomString:()=>Uw,required:()=>Qw,stringifyPrimitive:()=>Ci,unwrapMessage:()=>ao});function jw(t){return t}function Mw(t){return t}function Zw(t){}function Dw(t){throw new Error}function qw(t){}function co(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 Ni(t,e="|"){return t.map(r=>Ci(r)).join(e)}function Fa(t,e){return typeof e=="bigint"?e.toString():e}function uo(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function lo(t){return t==null}function po(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function Ba(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 fe(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 Ha(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Vw(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function Lw(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 Uw(t=10){let e="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<t;n++)r+=e[Math.floor(Math.random()*e.length)];return r}function Zr(t){return JSON.stringify(t)}var Ai=Error.captureStackTrace?Error.captureStackTrace:(...t)=>{};function vn(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var Ga=uo(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function bn(t){if(vn(t)===!1)return!1;let e=t.constructor;if(e===void 0)return!0;let r=e.prototype;return!(vn(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Fw(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}var Bw=t=>{let e=typeof t;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(t)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(t)?"array":t===null?"null":t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?"promise":typeof Map<"u"&&t instanceof Map?"map":typeof Set<"u"&&t instanceof Set?"set":typeof Date<"u"&&t instanceof Date?"date":typeof File<"u"&&t instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},Ja=new Set(["string","number","symbol"]),mf=new Set(["string","number","bigint","boolean","symbol","undefined"]);function or(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ct(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 Hw(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 Ci(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function Ka(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}var Wa={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]},hf={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Gw(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 ct(t,{...t._zod.def,shape:r,checks:[]})}function Jw(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 ct(t,{...t._zod.def,shape:r,checks:[]})}function Kw(t,e){if(!bn(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 Ha(this,"shape",n),n},checks:[]};return ct(t,r)}function Ww(t,e){return ct(t,{...t._zod.def,get shape(){let r={...t._zod.def.shape,...e._zod.def.shape};return Ha(this,"shape",r),r},catchall:e._zod.def.catchall,checks:[]})}function Yw(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 ct(e,{...e._zod.def,shape:o,checks:[]})}function Qw(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 ct(e,{...e._zod.def,shape:o,checks:[]})}function Dr(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 ao(t){return typeof t=="string"?t:t?.message}function $t(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let o=ao(t.inst?._zod.def?.error?.(t))??ao(e?.error?.(t))??ao(r.customError?.(t))??ao(r.localeError?.(t))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function gf(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function fo(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function Ya(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function Xw(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}var Ua=class{constructor(...e){}};var yf=(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,Fa,2)},enumerable:!0}),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},ji=b("$ZodError",yf),mo=b("$ZodError",yf,{Parent:Error});function Qa(t,e=r=>r.message){let r={},n=[];for(let o of t.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(e(o))):n.push(e(o));return{formErrors:n,fieldErrors:r}}function Xa(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 ec=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,at())));throw Ai(a,o?.callee),a}return s.value},tc=ec(mo),rc=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,at())));throw Ai(a,o?.callee),a}return s.value},nc=rc(mo),oc=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??ji)(i.issues.map(s=>$t(s,o,at())))}:{success:!0,data:i.value}},qr=oc(mo),ic=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,at())))}:{success:!0,data:i.value}},Vr=ic(mo);var _f=/^[cC][^\s-]{8,}$/,vf=/^[0-9a-z]+$/,bf=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,wf=/^[0-9a-vA-V]{20}$/,$f=/^[A-Za-z0-9]{27}$/,xf=/^[a-zA-Z0-9_-]{21}$/,Sf=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var kf=/^([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})$/,sc=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 Rf=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var t$="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Tf(){return new RegExp(t$,"u")}var zf=/^(?:(?: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])$/,Ef=/^(([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})$/,If=/^((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])$/,Pf=/^(([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])$/,Of=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,ac=/^[A-Za-z0-9_-]*$/,Nf=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var Af=/^\+(?:[0-9]){6,14}[0-9]$/,Cf="(?:(?:\\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])))",jf=new RegExp(`^${Cf}$`);function Mf(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 Zf(t){return new RegExp(`^${Mf(t)}$`)}function Df(t){let e=Mf({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(`^${Cf}T(?:${n})$`)}var qf=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)};var Vf=/^\d+$/,Lf=/^-?\d+(?:\.\d+)?/i,Uf=/true|false/i,Ff=/null/i;var Bf=/^[^A-Z]*$/,Hf=/^[^a-z]*$/;var Ae=b("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),Gf={number:"number",bigint:"bigint",object:"date"},cc=b("$ZodCheckLessThan",(t,e)=>{Ae.init(t,e);let r=Gf[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})}}),uc=b("$ZodCheckGreaterThan",(t,e)=>{Ae.init(t,e);let r=Gf[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})}}),Jf=b("$ZodCheckMultipleOf",(t,e)=>{Ae.init(t,e),t._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=e.value)}),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%e.value===BigInt(0):Ba(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})}}),Kf=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]=Wa[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=Vf)}),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 Wf=b("$ZodCheckMaxLength",(t,e)=>{var r;Ae.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!lo(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=fo(o);n.issues.push({origin:s,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Yf=b("$ZodCheckMinLength",(t,e)=>{var r;Ae.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!lo(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=fo(o);n.issues.push({origin:s,code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),Qf=b("$ZodCheckLengthEquals",(t,e)=>{var r;Ae.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!lo(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=fo(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})}}),ho=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=()=>{})}),Xf=b("$ZodCheckRegex",(t,e)=>{ho.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})}}),em=b("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=Bf),ho.init(t,e)}),tm=b("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=Hf),ho.init(t,e)}),rm=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})}}),nm=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})}}),om=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 im=b("$ZodCheckOverwrite",(t,e)=>{Ae.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});var Zi=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(`
|
|
11
11
|
`).filter(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
|
|
13
|
-
if (${
|
|
12
|
+
`))}};var am={major:4,minor:0,patch:0};var le=b("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=am;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=Dr(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=Dr(i,d)))});else{if(i.issues.length===d)continue;c||(c=Dr(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=qr(t,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return Vr(t,o).then(s=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}}),go=b("$ZodString",(t,e)=>{le.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??qf(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}}),me=b("$ZodStringFormat",(t,e)=>{ho.init(t,e),go.init(t,e)}),dc=b("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=kf),me.init(t,e)}),pc=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=sc(n))}else e.pattern??(e.pattern=sc());me.init(t,e)}),fc=b("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=Rf),me.init(t,e)}),mc=b("$ZodURL",(t,e)=>{me.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:Nf.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})}}}),hc=b("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=Tf()),me.init(t,e)}),gc=b("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=xf),me.init(t,e)}),yc=b("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=_f),me.init(t,e)}),_c=b("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=vf),me.init(t,e)}),vc=b("$ZodULID",(t,e)=>{e.pattern??(e.pattern=bf),me.init(t,e)}),bc=b("$ZodXID",(t,e)=>{e.pattern??(e.pattern=wf),me.init(t,e)}),wc=b("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=$f),me.init(t,e)}),ym=b("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=Df(e)),me.init(t,e)}),_m=b("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=jf),me.init(t,e)}),vm=b("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=Zf(e)),me.init(t,e)}),bm=b("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=Sf),me.init(t,e)}),$c=b("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=zf),me.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),xc=b("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=Ef),me.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})}}}),Sc=b("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=If),me.init(t,e)}),kc=b("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=Pf),me.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 wm(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}var Rc=b("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=Of),me.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),t._zod.check=r=>{wm(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});function r$(t){if(!ac.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return wm(r)}var Tc=b("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=ac),me.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),t._zod.check=r=>{r$(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),zc=b("$ZodE164",(t,e)=>{e.pattern??(e.pattern=Af),me.init(t,e)});function n$(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 Ec=b("$ZodJWT",(t,e)=>{me.init(t,e),t._zod.check=r=>{n$(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}});var qi=b("$ZodNumber",(t,e)=>{le.init(t,e),t._zod.pattern=t._zod.bag.pattern??Lf,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}}),Ic=b("$ZodNumber",(t,e)=>{Kf.init(t,e),qi.init(t,e)}),Pc=b("$ZodBoolean",(t,e)=>{le.init(t,e),t._zod.pattern=Uf,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 Oc=b("$ZodNull",(t,e)=>{le.init(t,e),t._zod.pattern=Ff,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 Nc=b("$ZodUnknown",(t,e)=>{le.init(t,e),t._zod.parse=r=>r}),Ac=b("$ZodNever",(t,e)=>{le.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)});function cm(t,e,r){t.issues.length&&e.issues.push(...jt(r,t.issues)),e.value[r]=t.value}var Cc=b("$ZodArray",(t,e)=>{le.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=>cm(u,r,s))):cm(c,r,s)}return i.length?Promise.all(i).then(()=>r):r}});function Di(t,e,r){t.issues.length&&e.issues.push(...jt(r,t.issues)),e.value[r]=t.value}function um(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 Vi=b("$ZodObject",(t,e)=>{le.init(t,e);let r=uo(()=>{let d=Object.keys(e.shape);for(let h of d)if(!(e.shape[h]instanceof le))throw new Error(`Invalid element at key "${h}": expected a Zod schema`);let f=Ka(e.shape);return{shape:e.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(f)}});fe(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 Zi(["shape","payload","ctx"]),h=r.value,p=_=>{let $=Zr(_);return`shape[${$}]._zod.run({ value: input[${$}], 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 $=m[_];f.write(`const ${$} = ${p(_)};`);let T=Zr(_);f.write(`
|
|
13
|
+
if (${$}.issues.length) {
|
|
14
14
|
if (input[${T}] === undefined) {
|
|
15
15
|
if (${T} in input) {
|
|
16
16
|
newResult[${T}] = undefined;
|
|
17
17
|
}
|
|
18
18
|
} else {
|
|
19
19
|
payload.issues = payload.issues.concat(
|
|
20
|
-
${
|
|
20
|
+
${$}.issues.map((iss) => ({
|
|
21
21
|
...iss,
|
|
22
22
|
path: iss.path ? [${T}, ...iss.path] : [${T}],
|
|
23
23
|
}))
|
|
24
24
|
);
|
|
25
25
|
}
|
|
26
|
-
} else if (${
|
|
26
|
+
} else if (${$}.value === undefined) {
|
|
27
27
|
if (${T} in input) newResult[${T}] = undefined;
|
|
28
28
|
} else {
|
|
29
|
-
newResult[${T}] = ${
|
|
29
|
+
newResult[${T}] = ${$}.value;
|
|
30
30
|
}
|
|
31
|
-
`)}else{let
|
|
32
|
-
if (${
|
|
31
|
+
`)}else{let $=m[_];f.write(`const ${$} = ${p(_)};`),f.write(`
|
|
32
|
+
if (${$}.issues.length) payload.issues = payload.issues.concat(${$}.issues.map(iss => ({
|
|
33
33
|
...iss,
|
|
34
|
-
path: iss.path ? [${
|
|
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>
|
|
34
|
+
path: iss.path ? [${Zr(_)}, ...iss.path] : [${Zr(_)}]
|
|
35
|
+
})));`),f.write(`newResult[${Zr(_)}] = ${$}.value`)}f.write("payload.value = newResult;"),f.write("return payload;");let y=f.compile();return(_,$)=>y(d,_,$)},o,i=vn,s=!Oi.jitless,c=s&&Ga.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 $=l.shape;for(let T of l.keys){let A=$[T],ge=A._zod.run({value:h[T],issues:[]},f),X=A._zod.optin==="optional"&&A._zod.optout==="optional";ge instanceof Promise?p.push(ge.then(Ge=>X?um(Ge,d,T,h):Di(Ge,d,T))):X?um(ge,d,T,h):Di(ge,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 $ of Object.keys(h)){if(g.has($))continue;if(_==="never"){m.push($);continue}let T=y.run({value:h[$],issues:[]},f);T instanceof Promise?p.push(T.then(A=>Di(A,d,$))):Di(T,d,$)}return m.length&&d.issues.push({code:"unrecognized_keys",keys:m,input:h,inst:t}),p.length?Promise.all(p).then(()=>d):d}});function lm(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,at())))}),e}var Li=b("$ZodUnion",(t,e)=>{le.init(t,e),fe(t._zod,"optin",()=>e.options.some(r=>r._zod.optin==="optional")?"optional":void 0),fe(t._zod,"optout",()=>e.options.some(r=>r._zod.optout==="optional")?"optional":void 0),fe(t._zod,"values",()=>{if(e.options.every(r=>r._zod.values))return new Set(e.options.flatMap(r=>Array.from(r._zod.values)))}),fe(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=>po(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=>lm(s,r,t,n)):lm(i,r,t,n)}}),jc=b("$ZodDiscriminatedUnion",(t,e)=>{Li.init(t,e);let r=t._zod.parse;fe(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=uo(()=>{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(!vn(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)}}),Mc=b("$ZodIntersection",(t,e)=>{le.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])=>dm(r,c,u)):dm(r,i,s)}});function lc(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(bn(t)&&bn(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=lc(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=lc(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 dm(t,e,r){if(e.issues.length&&t.issues.push(...e.issues),r.issues.length&&t.issues.push(...r.issues),Dr(t))return t;let n=lc(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 Zc=b("$ZodRecord",(t,e)=>{le.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!bn(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,at())),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 Dc=b("$ZodEnum",(t,e)=>{le.init(t,e);let r=co(e.entries);t._zod.values=new Set(r),t._zod.pattern=new RegExp(`^(${r.filter(n=>Ja.has(typeof n)).map(n=>typeof n=="string"?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}}),qc=b("$ZodLiteral",(t,e)=>{le.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 Vc=b("$ZodTransform",(t,e)=>{le.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}}),Lc=b("$ZodOptional",(t,e)=>{le.init(t,e),t._zod.optin="optional",t._zod.optout="optional",fe(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),fe(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${po(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)}),Uc=b("$ZodNullable",(t,e)=>{le.init(t,e),fe(t._zod,"optin",()=>e.innerType._zod.optin),fe(t._zod,"optout",()=>e.innerType._zod.optout),fe(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${po(r.source)}|null)$`):void 0}),fe(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)}),Fc=b("$ZodDefault",(t,e)=>{le.init(t,e),t._zod.optin="optional",fe(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=>pm(i,e)):pm(o,e)}});function pm(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}var Bc=b("$ZodPrefault",(t,e)=>{le.init(t,e),t._zod.optin="optional",fe(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))}),Hc=b("$ZodNonOptional",(t,e)=>{le.init(t,e),fe(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=>fm(i,t)):fm(o,t)}});function fm(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 Gc=b("$ZodCatch",(t,e)=>{le.init(t,e),t._zod.optin="optional",fe(t._zod,"optout",()=>e.innerType._zod.optout),fe(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,at()))},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,at()))},input:r.value}),r.issues=[]),r)}});var Jc=b("$ZodPipe",(t,e)=>{le.init(t,e),fe(t._zod,"values",()=>e.in._zod.values),fe(t._zod,"optin",()=>e.in._zod.optin),fe(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=>mm(i,e,n)):mm(o,e,n)}});function mm(t,e,r){return Dr(t)?t:e.out._zod.run({value:t.value,issues:t.issues},r)}var Kc=b("$ZodReadonly",(t,e)=>{le.init(t,e),fe(t._zod,"propValues",()=>e.innerType._zod.propValues),fe(t._zod,"values",()=>e.innerType._zod.values),fe(t._zod,"optin",()=>e.innerType._zod.optin),fe(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(hm):hm(o)}});function hm(t){return t.value=Object.freeze(t.value),t}var Wc=b("$ZodCustom",(t,e)=>{Ae.init(t,e),le.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=>gm(i,r,n,t));gm(o,r,n,t)}});function gm(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(Ya(o))}}var o$=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},i$=()=>{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 ${o$(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${Ci(n.values[0])}`:`Invalid option: expected one of ${Ni(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":""}: ${Ni(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 $m(){return{localeError:i$()}}var s$=Symbol("ZodOutput"),a$=Symbol("ZodInput"),yo=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 xm(){return new yo}var ir=xm();function Yc(t,e){return new t({type:"string",...L(e)})}function Qc(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...L(e)})}function Ui(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...L(e)})}function Xc(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...L(e)})}function eu(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...L(e)})}function tu(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...L(e)})}function ru(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...L(e)})}function nu(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...L(e)})}function ou(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...L(e)})}function iu(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...L(e)})}function su(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...L(e)})}function au(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...L(e)})}function cu(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...L(e)})}function uu(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...L(e)})}function lu(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...L(e)})}function du(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...L(e)})}function pu(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...L(e)})}function fu(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...L(e)})}function mu(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...L(e)})}function hu(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...L(e)})}function gu(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...L(e)})}function yu(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...L(e)})}function _u(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...L(e)})}function Sm(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...L(e)})}function km(t,e){return new t({type:"string",format:"date",check:"string_format",...L(e)})}function Rm(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...L(e)})}function Tm(t,e){return new t({type:"string",format:"duration",check:"string_format",...L(e)})}function vu(t,e){return new t({type:"number",checks:[],...L(e)})}function bu(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...L(e)})}function wu(t,e){return new t({type:"boolean",...L(e)})}function $u(t,e){return new t({type:"null",...L(e)})}function xu(t){return new t({type:"unknown"})}function Su(t,e){return new t({type:"never",...L(e)})}function Fi(t,e){return new cc({check:"less_than",...L(e),value:t,inclusive:!1})}function _o(t,e){return new cc({check:"less_than",...L(e),value:t,inclusive:!0})}function Bi(t,e){return new uc({check:"greater_than",...L(e),value:t,inclusive:!1})}function vo(t,e){return new uc({check:"greater_than",...L(e),value:t,inclusive:!0})}function Hi(t,e){return new Jf({check:"multiple_of",...L(e),value:t})}function Gi(t,e){return new Wf({check:"max_length",...L(e),maximum:t})}function wn(t,e){return new Yf({check:"min_length",...L(e),minimum:t})}function Ji(t,e){return new Qf({check:"length_equals",...L(e),length:t})}function ku(t,e){return new Xf({check:"string_format",format:"regex",...L(e),pattern:t})}function Ru(t){return new em({check:"string_format",format:"lowercase",...L(t)})}function Tu(t){return new tm({check:"string_format",format:"uppercase",...L(t)})}function zu(t,e){return new rm({check:"string_format",format:"includes",...L(e),includes:t})}function Eu(t,e){return new nm({check:"string_format",format:"starts_with",...L(e),prefix:t})}function Iu(t,e){return new om({check:"string_format",format:"ends_with",...L(e),suffix:t})}function Lr(t){return new im({check:"overwrite",tx:t})}function Pu(t){return Lr(e=>e.normalize(t))}function Ou(){return Lr(t=>t.trim())}function Nu(){return Lr(t=>t.toLowerCase())}function Au(){return Lr(t=>t.toUpperCase())}function zm(t,e,r){return new t({type:"array",element:e,...L(r)})}function Cu(t,e,r){let n=L(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function ju(t,e,r){return new t({type:"custom",check:"custom",fn:e,...L(r)})}var Ki=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:$}=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),$&&(p.contentEncoding=$),_&&_.size>0){let T=[..._];T.length===1?p.pattern=T[0].source:T.length>1&&(a.schema.allOf=[...T.map(A=>({...this.target==="draft-7"?{type:"string"}:{},pattern:A.source}))])}break}case"number":{let p=h,{minimum:m,maximum:g,format:y,multipleOf:_,exclusiveMaximum:$,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 $=="number"&&(p.exclusiveMaximum=$),typeof g=="number"&&(p.maximum=g,typeof $=="number"&&($<=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 $=o.shape[_]._zod;return this.io==="input"?$.optin===void 0:$.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=$=>"allOf"in $&&Object.keys($).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((_,$)=>this.process(_,{...d,path:[...d.path,"prefixItems",$]}));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=co(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($=>({...m,contentMediaType:$})):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
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
|
|
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 Mu(t,e){if(t instanceof yo){let n=new Ki(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 Ki(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 L$=b("ZodMiniType",(t,e)=>{if(!t._zod)throw new Error("Uninitialized schema in ZodMiniType.");le.init(t,e),t.def=e,t.parse=(r,n)=>tc(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>qr(t,r,n),t.parseAsync=async(r,n)=>nc(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>Vr(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)=>ct(t,r,n),t.brand=()=>t,t.register=(r,n)=>(r.add(t,n),t)});var U$=b("ZodMiniObject",(t,e)=>{Vi.init(t,e),L$.init(t,e),te.defineLazy(t,"shape",()=>e.shape)});function Zu(t,e){let r={type:"object",get shape(){return te.assignProp(this,"shape",{...t}),this.shape},...te.normalizeParams(e)};return new U$(r)}function ft(t){return!!t._zod}function Fr(t){let e=Object.values(t);if(e.length===0)return Zu({});let r=e.every(ft),n=e.every(o=>!ft(o));if(r)return Zu(t);if(n)return Va(t);throw new Error("Mixed Zod versions detected in object shape.")}function sr(t,e){return ft(t)?qr(t,e):t.safeParse(e)}async function Wi(t,e){return ft(t)?await Vr(t,e):await t.safeParseAsync(e)}function ar(t){if(!t)return;let e;if(ft(t)?e=t._zod?.def?.shape:e=t.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function $n(t){if(t){if(typeof t=="object"){let e=t,r=t;if(!e._def&&!r._zod){let n=Object.values(t);if(n.length>0&&n.every(o=>typeof o=="object"&&o!==null&&(o._def!==void 0||o._zod!==void 0||typeof o.parse=="function")))return Fr(t)}}if(ft(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 Yi(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 Im(t){return t.description}function Pm(t){if(ft(t))return t._zod?.def?.type==="optional";let e=t;return typeof t.isOptional=="function"?t.isOptional():e._def?.typeName==="ZodOptional"}function Qi(t){if(ft(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 bo={};Ma(bo,{ZodISODate:()=>Nm,ZodISODateTime:()=>Om,ZodISODuration:()=>Cm,ZodISOTime:()=>Am,date:()=>qu,datetime:()=>Du,duration:()=>Lu,time:()=>Vu});var Om=b("ZodISODateTime",(t,e)=>{ym.init(t,e),be.init(t,e)});function Du(t){return Sm(Om,t)}var Nm=b("ZodISODate",(t,e)=>{_m.init(t,e),be.init(t,e)});function qu(t){return km(Nm,t)}var Am=b("ZodISOTime",(t,e)=>{vm.init(t,e),be.init(t,e)});function Vu(t){return Rm(Am,t)}var Cm=b("ZodISODuration",(t,e)=>{bm.init(t,e),be.init(t,e)});function Lu(t){return Tm(Cm,t)}var jm=(t,e)=>{ji.init(t,e),t.name="ZodError",Object.defineProperties(t,{format:{value:r=>Xa(t,r)},flatten:{value:r=>Qa(t,r)},addIssue:{value:r=>t.issues.push(r)},addIssues:{value:r=>t.issues.push(...r)},isEmpty:{get(){return t.issues.length===0}}})},kA=b("ZodError",jm),wo=b("ZodError",jm,{Parent:Error});var Mm=ec(wo),Zm=rc(wo),Dm=oc(wo),qm=ic(wo);var ke=b("ZodType",(t,e)=>(le.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)=>ct(t,r,n),t.brand=()=>t,t.register=(r,n)=>(r.add(t,n),t),t.parse=(r,n)=>Mm(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>Dm(t,r,n),t.parseAsync=async(r,n)=>Zm(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>qm(t,r,n),t.spa=t.safeParseAsync,t.refine=(r,n)=>t.check(qx(r,n)),t.superRefine=r=>t.check(Vx(r)),t.overwrite=r=>t.check(Lr(r)),t.optional=()=>$e(t),t.nullable=()=>Um(t),t.nullish=()=>$e(Um(t)),t.nonoptional=r=>Nx(t,r),t.array=()=>re(t),t.or=r=>ye([t,r]),t.and=r=>es(t,r),t.transform=r=>Fu(t,Km(r)),t.default=r=>Ix(t,r),t.prefault=r=>Ox(t,r),t.catch=r=>Cx(t,r),t.pipe=r=>Fu(t,r),t.readonly=()=>Zx(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)),Fm=b("_ZodString",(t,e)=>{go.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(ku(...n)),t.includes=(...n)=>t.check(zu(...n)),t.startsWith=(...n)=>t.check(Eu(...n)),t.endsWith=(...n)=>t.check(Iu(...n)),t.min=(...n)=>t.check(wn(...n)),t.max=(...n)=>t.check(Gi(...n)),t.length=(...n)=>t.check(Ji(...n)),t.nonempty=(...n)=>t.check(wn(1,...n)),t.lowercase=n=>t.check(Ru(n)),t.uppercase=n=>t.check(Tu(n)),t.trim=()=>t.check(Ou()),t.normalize=(...n)=>t.check(Pu(...n)),t.toLowerCase=()=>t.check(Nu()),t.toUpperCase=()=>t.check(Au())}),Q$=b("ZodString",(t,e)=>{go.init(t,e),Fm.init(t,e),t.email=r=>t.check(Qc(X$,r)),t.url=r=>t.check(nu(ex,r)),t.jwt=r=>t.check(_u(hx,r)),t.emoji=r=>t.check(ou(tx,r)),t.guid=r=>t.check(Ui(Vm,r)),t.uuid=r=>t.check(Xc(Xi,r)),t.uuidv4=r=>t.check(eu(Xi,r)),t.uuidv6=r=>t.check(tu(Xi,r)),t.uuidv7=r=>t.check(ru(Xi,r)),t.nanoid=r=>t.check(iu(rx,r)),t.guid=r=>t.check(Ui(Vm,r)),t.cuid=r=>t.check(su(nx,r)),t.cuid2=r=>t.check(au(ox,r)),t.ulid=r=>t.check(cu(ix,r)),t.base64=r=>t.check(hu(px,r)),t.base64url=r=>t.check(gu(fx,r)),t.xid=r=>t.check(uu(sx,r)),t.ksuid=r=>t.check(lu(ax,r)),t.ipv4=r=>t.check(du(cx,r)),t.ipv6=r=>t.check(pu(ux,r)),t.cidrv4=r=>t.check(fu(lx,r)),t.cidrv6=r=>t.check(mu(dx,r)),t.e164=r=>t.check(yu(mx,r)),t.datetime=r=>t.check(Du(r)),t.date=r=>t.check(qu(r)),t.time=r=>t.check(Vu(r)),t.duration=r=>t.check(Lu(r))});function v(t){return Yc(Q$,t)}var be=b("ZodStringFormat",(t,e)=>{me.init(t,e),Fm.init(t,e)}),X$=b("ZodEmail",(t,e)=>{fc.init(t,e),be.init(t,e)});var Vm=b("ZodGUID",(t,e)=>{dc.init(t,e),be.init(t,e)});var Xi=b("ZodUUID",(t,e)=>{pc.init(t,e),be.init(t,e)});var ex=b("ZodURL",(t,e)=>{mc.init(t,e),be.init(t,e)});var tx=b("ZodEmoji",(t,e)=>{hc.init(t,e),be.init(t,e)});var rx=b("ZodNanoID",(t,e)=>{gc.init(t,e),be.init(t,e)});var nx=b("ZodCUID",(t,e)=>{yc.init(t,e),be.init(t,e)});var ox=b("ZodCUID2",(t,e)=>{_c.init(t,e),be.init(t,e)});var ix=b("ZodULID",(t,e)=>{vc.init(t,e),be.init(t,e)});var sx=b("ZodXID",(t,e)=>{bc.init(t,e),be.init(t,e)});var ax=b("ZodKSUID",(t,e)=>{wc.init(t,e),be.init(t,e)});var cx=b("ZodIPv4",(t,e)=>{$c.init(t,e),be.init(t,e)});var ux=b("ZodIPv6",(t,e)=>{xc.init(t,e),be.init(t,e)});var lx=b("ZodCIDRv4",(t,e)=>{Sc.init(t,e),be.init(t,e)});var dx=b("ZodCIDRv6",(t,e)=>{kc.init(t,e),be.init(t,e)});var px=b("ZodBase64",(t,e)=>{Rc.init(t,e),be.init(t,e)});var fx=b("ZodBase64URL",(t,e)=>{Tc.init(t,e),be.init(t,e)});var mx=b("ZodE164",(t,e)=>{zc.init(t,e),be.init(t,e)});var hx=b("ZodJWT",(t,e)=>{Ec.init(t,e),be.init(t,e)});var Bm=b("ZodNumber",(t,e)=>{qi.init(t,e),ke.init(t,e),t.gt=(n,o)=>t.check(Bi(n,o)),t.gte=(n,o)=>t.check(vo(n,o)),t.min=(n,o)=>t.check(vo(n,o)),t.lt=(n,o)=>t.check(Fi(n,o)),t.lte=(n,o)=>t.check(_o(n,o)),t.max=(n,o)=>t.check(_o(n,o)),t.int=n=>t.check(Lm(n)),t.safe=n=>t.check(Lm(n)),t.positive=n=>t.check(Bi(0,n)),t.nonnegative=n=>t.check(vo(0,n)),t.negative=n=>t.check(Fi(0,n)),t.nonpositive=n=>t.check(_o(0,n)),t.multipleOf=(n,o)=>t.check(Hi(n,o)),t.step=(n,o)=>t.check(Hi(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 ce(t){return vu(Bm,t)}var gx=b("ZodNumberFormat",(t,e)=>{Ic.init(t,e),Bm.init(t,e)});function Lm(t){return bu(gx,t)}var yx=b("ZodBoolean",(t,e)=>{Pc.init(t,e),ke.init(t,e)});function Oe(t){return wu(yx,t)}var _x=b("ZodNull",(t,e)=>{Oc.init(t,e),ke.init(t,e)});function Hm(t){return $u(_x,t)}var vx=b("ZodUnknown",(t,e)=>{Nc.init(t,e),ke.init(t,e)});function we(){return xu(vx)}var bx=b("ZodNever",(t,e)=>{Ac.init(t,e),ke.init(t,e)});function wx(t){return Su(bx,t)}var $x=b("ZodArray",(t,e)=>{Cc.init(t,e),ke.init(t,e),t.element=e.element,t.min=(r,n)=>t.check(wn(r,n)),t.nonempty=r=>t.check(wn(1,r)),t.max=(r,n)=>t.check(Gi(r,n)),t.length=(r,n)=>t.check(Ji(r,n)),t.unwrap=()=>t.element});function re(t,e){return zm($x,t,e)}var Gm=b("ZodObject",(t,e)=>{Vi.init(t,e),ke.init(t,e),te.defineLazy(t,"shape",()=>e.shape),t.keyof=()=>rt(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:wx()}),t.strip=()=>t.clone({...t._zod.def,catchall:void 0}),t.extend=r=>te.extend(t,r),t.merge=r=>te.merge(t,r),t.pick=r=>te.pick(t,r),t.omit=r=>te.omit(t,r),t.partial=(...r)=>te.partial(Wm,t,r[0]),t.required=(...r)=>te.required(Ym,t,r[0])});function P(t,e){let r={type:"object",get shape(){return te.assignProp(this,"shape",{...t}),this.shape},...te.normalizeParams(e)};return new Gm(r)}function Je(t,e){return new Gm({type:"object",get shape(){return te.assignProp(this,"shape",{...t}),this.shape},catchall:we(),...te.normalizeParams(e)})}var Jm=b("ZodUnion",(t,e)=>{Li.init(t,e),ke.init(t,e),t.options=e.options});function ye(t,e){return new Jm({type:"union",options:t,...te.normalizeParams(e)})}var xx=b("ZodDiscriminatedUnion",(t,e)=>{Jm.init(t,e),jc.init(t,e)});function Bu(t,e,r){return new xx({type:"union",options:e,discriminator:t,...te.normalizeParams(r)})}var Sx=b("ZodIntersection",(t,e)=>{Mc.init(t,e),ke.init(t,e)});function es(t,e){return new Sx({type:"intersection",left:t,right:e})}var kx=b("ZodRecord",(t,e)=>{Zc.init(t,e),ke.init(t,e),t.keyType=e.keyType,t.valueType=e.valueType});function he(t,e,r){return new kx({type:"record",keyType:t,valueType:e,...te.normalizeParams(r)})}var Uu=b("ZodEnum",(t,e)=>{Dc.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 Uu({...e,checks:[],...te.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 Uu({...e,checks:[],...te.normalizeParams(o),entries:i})}});function rt(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new Uu({type:"enum",entries:r,...te.normalizeParams(e)})}var Rx=b("ZodLiteral",(t,e)=>{qc.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 M(t,e){return new Rx({type:"literal",values:Array.isArray(t)?t:[t],...te.normalizeParams(e)})}var Tx=b("ZodTransform",(t,e)=>{Vc.init(t,e),ke.init(t,e),t._zod.parse=(r,n)=>{r.addIssue=i=>{if(typeof i=="string")r.issues.push(te.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(te.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 Km(t){return new Tx({type:"transform",transform:t})}var Wm=b("ZodOptional",(t,e)=>{Lc.init(t,e),ke.init(t,e),t.unwrap=()=>t._zod.def.innerType});function $e(t){return new Wm({type:"optional",innerType:t})}var zx=b("ZodNullable",(t,e)=>{Uc.init(t,e),ke.init(t,e),t.unwrap=()=>t._zod.def.innerType});function Um(t){return new zx({type:"nullable",innerType:t})}var Ex=b("ZodDefault",(t,e)=>{Fc.init(t,e),ke.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function Ix(t,e){return new Ex({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var Px=b("ZodPrefault",(t,e)=>{Bc.init(t,e),ke.init(t,e),t.unwrap=()=>t._zod.def.innerType});function Ox(t,e){return new Px({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():e}})}var Ym=b("ZodNonOptional",(t,e)=>{Hc.init(t,e),ke.init(t,e),t.unwrap=()=>t._zod.def.innerType});function Nx(t,e){return new Ym({type:"nonoptional",innerType:t,...te.normalizeParams(e)})}var Ax=b("ZodCatch",(t,e)=>{Gc.init(t,e),ke.init(t,e),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function Cx(t,e){return new Ax({type:"catch",innerType:t,catchValue:typeof e=="function"?e:()=>e})}var jx=b("ZodPipe",(t,e)=>{Jc.init(t,e),ke.init(t,e),t.in=e.in,t.out=e.out});function Fu(t,e){return new jx({type:"pipe",in:t,out:e})}var Mx=b("ZodReadonly",(t,e)=>{Kc.init(t,e),ke.init(t,e)});function Zx(t){return new Mx({type:"readonly",innerType:t})}var Qm=b("ZodCustom",(t,e)=>{Wc.init(t,e),ke.init(t,e)});function Dx(t){let e=new Ae({check:"custom"});return e._zod.check=t,e}function Xm(t,e){return Cu(Qm,t??(()=>!0),e)}function qx(t,e={}){return ju(Qm,t,e)}function Vx(t){let e=Dx(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(te.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(te.issue(o))}},t(r.value,r)));return e}function Hu(t,e){return Fu(Km(t),e)}at($m());var Ju="2025-11-25",eh="2025-03-26",Sn=[Ju,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],cr="io.modelcontextprotocol/related-task",rs="2.0",Ie=Xm(t=>t!==null&&(typeof t=="object"||typeof t=="function")),th=ye([v(),ce().int()]),rh=v(),DA=Je({ttl:ce().optional(),pollInterval:ce().optional()}),Lx=P({ttl:ce().optional()}),Ux=P({taskId:v()}),Ku=Je({progressToken:th.optional(),[cr]:Ux.optional()}),ut=P({_meta:Ku.optional()}),$o=ut.extend({task:Lx.optional()}),nh=t=>$o.safeParse(t).success,Ce=P({method:v(),params:ut.loose().optional()}),mt=P({_meta:Ku.optional()}),ht=P({method:v(),params:mt.loose().optional()}),je=Je({_meta:Ku.optional()}),ns=ye([v(),ce().int()]),oh=P({jsonrpc:M(rs),id:ns,...Ce.shape}).strict(),ur=t=>oh.safeParse(t).success,ih=P({jsonrpc:M(rs),...ht.shape}).strict(),sh=t=>ih.safeParse(t).success,Wu=P({jsonrpc:M(rs),id:ns,result:je}).strict(),Jt=t=>Wu.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 Yu=P({jsonrpc:M(rs),id:ns.optional(),error:P({code:ce().int(),message:v(),data:we().optional()})}).strict();var kn=t=>Yu.safeParse(t).success;var xo=ye([oh,ih,Wu,Yu]),qA=ye([Wu,Yu]),os=je.strict(),Fx=mt.extend({requestId:ns.optional(),reason:v().optional()}),is=ht.extend({method:M("notifications/cancelled"),params:Fx}),Bx=P({src:v(),mimeType:v().optional(),sizes:re(v()).optional(),theme:rt(["light","dark"]).optional()}),So=P({icons:re(Bx).optional()}),xn=P({name:v(),title:v().optional()}),ah=xn.extend({...xn.shape,...So.shape,version:v(),websiteUrl:v().optional(),description:v().optional()}),Hx=es(P({applyDefaults:Oe().optional()}),he(v(),we())),Gx=Hu(t=>t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0?{form:{}}:t,es(P({form:Hx.optional(),url:Ie.optional()}),he(v(),we()).optional())),Jx=Je({list:Ie.optional(),cancel:Ie.optional(),requests:Je({sampling:Je({createMessage:Ie.optional()}).optional(),elicitation:Je({create:Ie.optional()}).optional()}).optional()}),Kx=Je({list:Ie.optional(),cancel:Ie.optional(),requests:Je({tools:Je({call:Ie.optional()}).optional()}).optional()}),Wx=P({experimental:he(v(),Ie).optional(),sampling:P({context:Ie.optional(),tools:Ie.optional()}).optional(),elicitation:Gx.optional(),roots:P({listChanged:Oe().optional()}).optional(),tasks:Jx.optional(),extensions:he(v(),Ie).optional()}),Yx=ut.extend({protocolVersion:v(),capabilities:Wx,clientInfo:ah}),ss=Ce.extend({method:M("initialize"),params:Yx}),ko=t=>ss.safeParse(t).success,Qx=P({experimental:he(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:Kx.optional(),extensions:he(v(),Ie).optional()}),Xx=je.extend({protocolVersion:v(),capabilities:Qx,serverInfo:ah,instructions:v().optional()}),Qu=ht.extend({method:M("notifications/initialized"),params:mt.optional()});var as=Ce.extend({method:M("ping"),params:ut.optional()}),e0=P({progress:ce(),total:$e(ce()),message:$e(v())}),t0=P({...mt.shape,...e0.shape,progressToken:th}),cs=ht.extend({method:M("notifications/progress"),params:t0}),r0=ut.extend({cursor:rh.optional()}),Ro=Ce.extend({params:r0.optional()}),To=je.extend({nextCursor:rh.optional()}),n0=rt(["working","input_required","completed","failed","cancelled"]),zo=P({taskId:v(),status:n0,ttl:ye([ce(),Hm()]),createdAt:v(),lastUpdatedAt:v(),pollInterval:$e(ce()),statusMessage:$e(v())}),Rn=je.extend({task:zo}),o0=mt.merge(zo),Eo=ht.extend({method:M("notifications/tasks/status"),params:o0}),us=Ce.extend({method:M("tasks/get"),params:ut.extend({taskId:v()})}),ls=je.merge(zo),ds=Ce.extend({method:M("tasks/result"),params:ut.extend({taskId:v()})}),VA=je.loose(),ps=Ro.extend({method:M("tasks/list")}),fs=To.extend({tasks:re(zo)}),ms=Ce.extend({method:M("tasks/cancel"),params:ut.extend({taskId:v()})}),ch=je.merge(zo),uh=P({uri:v(),mimeType:$e(v()),_meta:he(v(),we()).optional()}),lh=uh.extend({text:v()}),Xu=v().refine(t=>{try{return atob(t),!0}catch{return!1}},{message:"Invalid Base64 string"}),dh=uh.extend({blob:Xu}),Io=rt(["user","assistant"]),Tn=P({audience:re(Io).optional(),priority:ce().min(0).max(1).optional(),lastModified:bo.datetime({offset:!0}).optional()}),ph=P({...xn.shape,...So.shape,uri:v(),description:$e(v()),mimeType:$e(v()),size:$e(ce()),annotations:Tn.optional(),_meta:$e(Je({}))}),i0=P({...xn.shape,...So.shape,uriTemplate:v(),description:$e(v()),mimeType:$e(v()),annotations:Tn.optional(),_meta:$e(Je({}))}),hs=Ro.extend({method:M("resources/list")}),s0=To.extend({resources:re(ph)}),gs=Ro.extend({method:M("resources/templates/list")}),a0=To.extend({resourceTemplates:re(i0)}),el=ut.extend({uri:v()}),c0=el,ys=Ce.extend({method:M("resources/read"),params:c0}),u0=je.extend({contents:re(ye([lh,dh]))}),l0=ht.extend({method:M("notifications/resources/list_changed"),params:mt.optional()}),d0=el,p0=Ce.extend({method:M("resources/subscribe"),params:d0}),f0=el,m0=Ce.extend({method:M("resources/unsubscribe"),params:f0}),h0=mt.extend({uri:v()}),g0=ht.extend({method:M("notifications/resources/updated"),params:h0}),y0=P({name:v(),description:$e(v()),required:$e(Oe())}),_0=P({...xn.shape,...So.shape,description:$e(v()),arguments:$e(re(y0)),_meta:$e(Je({}))}),_s=Ro.extend({method:M("prompts/list")}),v0=To.extend({prompts:re(_0)}),b0=ut.extend({name:v(),arguments:he(v(),v()).optional()}),vs=Ce.extend({method:M("prompts/get"),params:b0}),tl=P({type:M("text"),text:v(),annotations:Tn.optional(),_meta:he(v(),we()).optional()}),rl=P({type:M("image"),data:Xu,mimeType:v(),annotations:Tn.optional(),_meta:he(v(),we()).optional()}),nl=P({type:M("audio"),data:Xu,mimeType:v(),annotations:Tn.optional(),_meta:he(v(),we()).optional()}),w0=P({type:M("tool_use"),name:v(),id:v(),input:he(v(),we()),_meta:he(v(),we()).optional()}),$0=P({type:M("resource"),resource:ye([lh,dh]),annotations:Tn.optional(),_meta:he(v(),we()).optional()}),x0=ph.extend({type:M("resource_link")}),ol=ye([tl,rl,nl,x0,$0]),S0=P({role:Io,content:ol}),k0=je.extend({description:v().optional(),messages:re(S0)}),R0=ht.extend({method:M("notifications/prompts/list_changed"),params:mt.optional()}),T0=P({title:v().optional(),readOnlyHint:Oe().optional(),destructiveHint:Oe().optional(),idempotentHint:Oe().optional(),openWorldHint:Oe().optional()}),z0=P({taskSupport:rt(["required","optional","forbidden"]).optional()}),fh=P({...xn.shape,...So.shape,description:v().optional(),inputSchema:P({type:M("object"),properties:he(v(),Ie).optional(),required:re(v()).optional()}).catchall(we()),outputSchema:P({type:M("object"),properties:he(v(),Ie).optional(),required:re(v()).optional()}).catchall(we()).optional(),annotations:T0.optional(),execution:z0.optional(),_meta:he(v(),we()).optional()}),bs=Ro.extend({method:M("tools/list")}),E0=To.extend({tools:re(fh)}),ws=je.extend({content:re(ol).default([]),structuredContent:he(v(),we()).optional(),isError:Oe().optional()}),LA=ws.or(je.extend({toolResult:we()})),I0=$o.extend({name:v(),arguments:he(v(),we()).optional()}),zn=Ce.extend({method:M("tools/call"),params:I0}),P0=ht.extend({method:M("notifications/tools/list_changed"),params:mt.optional()}),UA=P({autoRefresh:Oe().default(!0),debounceMs:ce().int().nonnegative().default(300)}),Po=rt(["debug","info","notice","warning","error","critical","alert","emergency"]),O0=ut.extend({level:Po}),il=Ce.extend({method:M("logging/setLevel"),params:O0}),N0=mt.extend({level:Po,logger:v().optional(),data:we()}),A0=ht.extend({method:M("notifications/message"),params:N0}),C0=P({name:v().optional()}),j0=P({hints:re(C0).optional(),costPriority:ce().min(0).max(1).optional(),speedPriority:ce().min(0).max(1).optional(),intelligencePriority:ce().min(0).max(1).optional()}),M0=P({mode:rt(["auto","required","none"]).optional()}),Z0=P({type:M("tool_result"),toolUseId:v().describe("The unique identifier for the corresponding tool call."),content:re(ol).default([]),structuredContent:P({}).loose().optional(),isError:Oe().optional(),_meta:he(v(),we()).optional()}),D0=Bu("type",[tl,rl,nl]),ts=Bu("type",[tl,rl,nl,w0,Z0]),q0=P({role:Io,content:ye([ts,re(ts)]),_meta:he(v(),we()).optional()}),V0=$o.extend({messages:re(q0),modelPreferences:j0.optional(),systemPrompt:v().optional(),includeContext:rt(["none","thisServer","allServers"]).optional(),temperature:ce().optional(),maxTokens:ce().int(),stopSequences:re(v()).optional(),metadata:Ie.optional(),tools:re(fh).optional(),toolChoice:M0.optional()}),L0=Ce.extend({method:M("sampling/createMessage"),params:V0}),Oo=je.extend({model:v(),stopReason:$e(rt(["endTurn","stopSequence","maxTokens"]).or(v())),role:Io,content:D0}),sl=je.extend({model:v(),stopReason:$e(rt(["endTurn","stopSequence","maxTokens","toolUse"]).or(v())),role:Io,content:ye([ts,re(ts)])}),U0=P({type:M("boolean"),title:v().optional(),description:v().optional(),default:Oe().optional()}),F0=P({type:M("string"),title:v().optional(),description:v().optional(),minLength:ce().optional(),maxLength:ce().optional(),format:rt(["email","uri","date","date-time"]).optional(),default:v().optional()}),B0=P({type:rt(["number","integer"]),title:v().optional(),description:v().optional(),minimum:ce().optional(),maximum:ce().optional(),default:ce().optional()}),H0=P({type:M("string"),title:v().optional(),description:v().optional(),enum:re(v()),default:v().optional()}),G0=P({type:M("string"),title:v().optional(),description:v().optional(),oneOf:re(P({const:v(),title:v()})),default:v().optional()}),J0=P({type:M("string"),title:v().optional(),description:v().optional(),enum:re(v()),enumNames:re(v()).optional(),default:v().optional()}),K0=ye([H0,G0]),W0=P({type:M("array"),title:v().optional(),description:v().optional(),minItems:ce().optional(),maxItems:ce().optional(),items:P({type:M("string"),enum:re(v())}),default:re(v()).optional()}),Y0=P({type:M("array"),title:v().optional(),description:v().optional(),minItems:ce().optional(),maxItems:ce().optional(),items:P({anyOf:re(P({const:v(),title:v()}))}),default:re(v()).optional()}),Q0=ye([W0,Y0]),X0=ye([J0,K0,Q0]),eS=ye([X0,U0,F0,B0]),tS=$o.extend({mode:M("form").optional(),message:v(),requestedSchema:P({type:M("object"),properties:he(v(),eS),required:re(v()).optional()})}),rS=$o.extend({mode:M("url"),message:v(),elicitationId:v(),url:v().url()}),nS=ye([tS,rS]),oS=Ce.extend({method:M("elicitation/create"),params:nS}),iS=mt.extend({elicitationId:v()}),sS=ht.extend({method:M("notifications/elicitation/complete"),params:iS}),En=je.extend({action:rt(["accept","decline","cancel"]),content:Hu(t=>t===null?void 0:t,he(v(),ye([v(),ce(),Oe(),re(v())])).optional())}),aS=P({type:M("ref/resource"),uri:v()});var cS=P({type:M("ref/prompt"),name:v()}),uS=ut.extend({ref:ye([cS,aS]),argument:P({name:v(),value:v()}),context:P({arguments:he(v(),v()).optional()}).optional()}),$s=Ce.extend({method:M("completion/complete"),params:uS});function mh(t){if(t.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${t.params.ref.type}`)}function hh(t){if(t.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${t.params.ref.type}`)}var lS=je.extend({completion:Je({values:re(v()).max(100),total:$e(ce().int()),hasMore:$e(Oe())})}),dS=P({uri:v().startsWith("file://"),name:v().optional(),_meta:he(v(),we()).optional()}),pS=Ce.extend({method:M("roots/list"),params:ut.optional()}),al=je.extend({roots:re(dS)}),fS=ht.extend({method:M("notifications/roots/list_changed"),params:mt.optional()}),FA=ye([as,ss,$s,il,vs,_s,hs,gs,ys,p0,m0,zn,bs,us,ds,ps,ms]),BA=ye([is,cs,Qu,fS,Eo]),HA=ye([os,Oo,sl,En,al,ls,fs,Rn]),GA=ye([as,L0,oS,pS,us,ds,ps,ms]),JA=ye([is,cs,A0,g0,l0,P0,R0,Eo,sS]),KA=ye([os,Xx,lS,k0,v0,s0,a0,u0,ws,E0,ls,fs,Rn]),C=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 Gu(o.elicitations,r)}return new t(e,r,n)}},Gu=class extends C{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 yh=Symbol("Let zodToJsonSchema decide on which parser to use");var gh={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"},_h=t=>typeof t=="string"?{...gh,name:t}:{...gh,...t};var vh=t=>{let e=_h(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 cl(t,e,r,n){n?.errorMessages&&r&&(t.errorMessage={...t.errorMessage,[e]:r})}function ne(t,e,r,n,o){t[e]=r,cl(t,e,n,o)}var xs=(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"?xs(e,t.currentPath):e.join("/")}}function bh(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&&ne(r,"minItems",t.minLength.value,t.minLength.message,e),t.maxLength&&ne(r,"maxItems",t.maxLength.value,t.maxLength.message,e),t.exactLength&&(ne(r,"minItems",t.exactLength.value,t.exactLength.message,e),ne(r,"maxItems",t.exactLength.value,t.exactLength.message,e)),r}function wh(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?ne(r,"minimum",n.value,n.message,e):ne(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),ne(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?ne(r,"maximum",n.value,n.message,e):ne(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),ne(r,"maximum",n.value,n.message,e));break;case"multipleOf":ne(r,"multipleOf",n.value,n.message,e);break}return r}function $h(){return{type:"boolean"}}function Ss(t,e){return U(t.type._def,e)}var xh=(t,e)=>U(t.innerType._def,e);function ul(t,e,r){let n=r??e.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,i)=>ul(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 mS(t,e)}}var mS=(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":ne(r,"minimum",n.value,n.message,e);break;case"max":ne(r,"maximum",n.value,n.message,e);break}return r};function Sh(t,e){return{...U(t.innerType._def,e),default:t.defaultValue()}}function kh(t,e){return e.effectStrategy==="input"?U(t.schema._def,e):xe(e)}function Rh(t){return{type:"string",enum:Array.from(t.values)}}var hS=t=>"type"in t&&t.type==="string"?!1:"allOf"in t;function Th(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(hS(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 zh(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 ll,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:()=>(ll===void 0&&(ll=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),ll),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 ks(t,e){let r={type:"string"};if(t.checks)for(let n of t.checks)switch(n.kind){case"min":ne(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e);break;case"max":ne(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":Ke(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":Ke(r,n.regex,n.message,e);break;case"cuid":Ke(r,xt.cuid,n.message,e);break;case"cuid2":Ke(r,xt.cuid2,n.message,e);break;case"startsWith":Ke(r,RegExp(`^${dl(n.value,e)}`),n.message,e);break;case"endsWith":Ke(r,RegExp(`${dl(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":ne(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e),ne(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"includes":{Ke(r,RegExp(dl(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":Ke(r,xt.base64url,n.message,e);break;case"jwt":Ke(r,xt.jwt,n.message,e);break;case"cidr":{n.version!=="v6"&&Ke(r,xt.ipv4Cidr,n.message,e),n.version!=="v4"&&Ke(r,xt.ipv6Cidr,n.message,e);break}case"emoji":Ke(r,xt.emoji(),n.message,e);break;case"ulid":{Ke(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":{ne(r,"contentEncoding","base64",n.message,e);break}case"pattern:zod":{Ke(r,xt.base64,n.message,e);break}}break}case"nanoid":Ke(r,xt.nanoid,n.message,e);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function dl(t,e){return e.patternStrategy==="escape"?yS(t):t}var gS=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function yS(t){let e="";for(let r=0;r<t.length;r++)gS.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}}})):ne(t,"format",e,r,n)}function Ke(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:Eh(e,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):ne(t,"pattern",Eh(e,n),r,n)}function Eh(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
38
|
]))`;continue}else if(n[c]==="$"){o+=`($|(?=[\r
|
|
39
39
|
]))`;continue}}if(r.s&&n[c]==="."){o+=s?`${n[c]}\r
|
|
40
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),
|
|
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}
|
|
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 Rs(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}=ks(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}=Ss(t.keyType._def,e);return{...r,propertyNames:o}}}return r}function Ih(t,e){if(e.mapStrategy==="record")return Rs(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 Ph(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 Oh(t){return t.target==="openAi"?void 0:{not:xe({...t,currentPath:[...t.currentPath,"not"]})}}function Nh(t){return t.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var No={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Ch(t,e){if(e.target==="openApi3")return Ah(t,e);let r=t.options instanceof Map?Array.from(t.options.values()):t.options;if(r.every(n=>n._def.typeName in No&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,i)=>{let s=No[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 Ah(t,e)}var Ah=(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 jh(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:No[t.innerType._def.typeName],nullable:!0}:{type:[No[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 Mh(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",cl(r,"type",n.message,e);break;case"min":e.target==="jsonSchema7"?n.inclusive?ne(r,"minimum",n.value,n.message,e):ne(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),ne(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?ne(r,"maximum",n.value,n.message,e):ne(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),ne(r,"maximum",n.value,n.message,e));break;case"multipleOf":ne(r,"multipleOf",n.value,n.message,e);break}return r}function Zh(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=vS(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=_S(t,e);return s!==void 0&&(n.additionalProperties=s),n}function _S(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 vS(t){try{return t.isOptional()}catch{return!0}}var Dh=(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 qh=(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 Vh(t,e){return U(t.type._def,e)}function Lh(t,e){let n={type:"array",uniqueItems:!0,items:U(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&ne(n,"minItems",t.minSize.value,t.minSize.message,e),t.maxSize&&ne(n,"maxItems",t.maxSize.value,t.maxSize.message,e),n}function Uh(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 Fh(t){return{not:xe(t)}}function Bh(t){return xe(t)}var Hh=(t,e)=>U(t.innerType._def,e);var Gh=(t,e,r)=>{switch(e){case k.ZodString:return ks(t,r);case k.ZodNumber:return Mh(t,r);case k.ZodObject:return Zh(t,r);case k.ZodBigInt:return wh(t,r);case k.ZodBoolean:return $h();case k.ZodDate:return ul(t,r);case k.ZodUndefined:return Fh(r);case k.ZodNull:return Nh(r);case k.ZodArray:return bh(t,r);case k.ZodUnion:case k.ZodDiscriminatedUnion:return Ch(t,r);case k.ZodIntersection:return Th(t,r);case k.ZodTuple:return Uh(t,r);case k.ZodRecord:return Rs(t,r);case k.ZodLiteral:return zh(t,r);case k.ZodEnum:return Rh(t);case k.ZodNativeEnum:return Ph(t);case k.ZodNullable:return jh(t,r);case k.ZodOptional:return Dh(t,r);case k.ZodMap:return Ih(t,r);case k.ZodSet:return Lh(t,r);case k.ZodLazy:return()=>t.getter()._def;case k.ZodPromise:return Vh(t,r);case k.ZodNaN:case k.ZodNever:return Oh(r);case k.ZodEffects:return kh(t,r);case k.ZodAny:return xe(r);case k.ZodUnknown:return Bh(r);case k.ZodDefault:return Sh(t,r);case k.ZodBranded:return Ss(t,r);case k.ZodReadonly:return Hh(t,r);case k.ZodCatch:return xh(t,r);case k.ZodPipeline:return qh(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!==yh)return a}if(n&&!r){let a=bS(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=Gh(t,t.typeName,e),s=typeof i=="function"?U(i(),e):i;if(s&&wS(t,e,s),e.postProcess){let a=e.postProcess(s,t,e);return o.jsonSchema=s,a}return o.jsonSchema=s,s}var bS=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"relative":return{$ref:xs(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}},wS=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r);var pl=(t,e)=>{let r=vh(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 $S(t){return!t||t==="jsonSchema7"||t==="draft-7"?"draft-7":t==="jsonSchema2019-09"||t==="draft-2020-12"?"draft-2020-12":"draft-7"}function fl(t,e){return ft(t)?Mu(t,{target:$S(e?.target),io:e?.pipeStrategy??"input"}):pl(t,{strictUnions:e?.strictUnions??!0,pipeStrategy:e?.pipeStrategy??"input"})}function ml(t){let r=ar(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=Qi(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function hl(t,e){let r=sr(t,e);if(!r.success)throw r.error;return r.data}var xS=6e4,Ts=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(is,r=>{this._oncancel(r)}),this.setNotificationHandler(cs,r=>{this._onprogress(r)}),this.setRequestHandler(as,r=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(us,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new C(q.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(ds,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 C(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 C(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(ps,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 C(q.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(ms,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new C(q.InvalidParams,`Task not found: ${r.params.taskId}`);if(lr(o.status))throw new C(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 C(q.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...i}}catch(o){throw o instanceof C?o:new C(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),C.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)||kn(i)?this._onresponse(i):ur(i)?this._onrequest(i,s):sh(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=C.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=nh(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 C(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 C(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=C.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 C?s:new C(q.InternalError,String(s))}}return}let i;try{let s=await this.request(e,Rn,n);if(s.task)i=s.task.taskId,yield{type:"taskCreated",task:s.task};else throw new C(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 C(q.InternalError,`Task ${i} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new C(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 C?s:new C(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 $=_ instanceof C?_:new C(q.RequestTimeout,String(_));l($)};this._responseHandlers.set(f,_=>{if(!n?.signal?.aborted){if(_ instanceof Error)return l(_);try{let $=sr(r,_.result);$.success?u($.data):l($.error)}catch($){l($)}}}),n?.signal?.addEventListener("abort",()=>{p(n?.signal?.reason)});let m=n?.timeout??xS,g=()=>p(C.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 _=$=>{let T=this._responseHandlers.get(f);T?T($):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($=>{this._cleanupTimeout(f),l($)})}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},ls,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},fs,r)}async cancelTask(e,r){return this.request({method:"tasks/cancel",params:e},ch,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=ml(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,i)=>{let s=hl(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=ml(e);this._notificationHandlers.set(n,o=>{let i=hl(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 C(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 C(q.InvalidRequest,"Request cancelled"));return}let s=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(s),i(new C(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 C(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=Eo.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 C(q.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(lr(a.status))throw new C(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=Eo.parse({method:"notifications/tasks/status",params:c});await this.notification(u),lr(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function Jh(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function Kh(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];Jh(s)&&Jh(i)?r[o]={...s,...i}:r[o]=i}return r}var q_=tf(tp(),1),V_=tf(D_(),1);function TI(){let t=new q_.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,V_.default)(t),t}var ca=class{constructor(e){this._ajv=e??TI()}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 ua=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},Oo,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},En,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 L_(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 U_(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 la=class extends Ts{constructor(e,r){super(r),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Po.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 ca,this.setRequestHandler(ss,n=>this._oninitialize(n)),this.setNotificationHandler(Qu,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(il,async(n,o)=>{let i=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:s}=n.params,a=Po.safeParse(s);return a.success&&this._loggingLevels.set(i,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new ua(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Kh(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(ft(o)){let a=o;i=a._zod?.def?.value??a.value}else{let a=o;i=a._def?.value??a.value}if(typeof i!="string")throw new Error("Schema method literal must be a string");if(i==="tools/call"){let a=async(c,u)=>{let l=sr(zn,c);if(!l.success){let p=l.error instanceof Error?l.error.message:String(l.error);throw new C(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(Rn,f);if(!p.success){let m=p.error instanceof Error?p.error.message:String(p.error);throw new C(q.InvalidParams,`Invalid task creation result: ${m}`)}return p.data}let h=sr(ws,f);if(!h.success){let p=h.error instanceof Error?h.error.message:String(h.error);throw new C(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){U_(this._clientCapabilities?.tasks?.requests,e,"Client")}assertTaskHandlerCapability(e){this._capabilities&&L_(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:Sn.includes(r)?r:Ju,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},os)}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},sl,r):this.request({method:"sampling/createMessage",params:e},Oo,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},En,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},En,r);if(i.action==="accept"&&i.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(i.content);if(!a.valid)throw new C(q.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(s){throw s instanceof C?s:new C(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},al,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 B_=Symbol.for("mcp.completable");function up(t){return!!t&&typeof t=="object"&&B_ in t}function H_(t){return t[B_]?.complete}var F_;(function(t){t.Completable="McpCompletable"})(F_||(F_={}));var zI=/^[A-Za-z0-9._-]{1,128}$/;function EI(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"),!zI.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 II(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 lp(t){let e=EI(t);return II(t,e.warnings),e.isValid}var da=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 pa=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 la(e,r)}get experimental(){return this._experimental||(this._experimental={tasks:new da(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(bs)),this.server.assertCanSetRequestHandler(vr(zn)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(bs,()=>({tools:Object.entries(this._registeredTools).filter(([,e])=>e.enabled).map(([e,r])=>{let n={name:e,title:r.title,description:r.description,inputSchema:(()=>{let o=$n(r.inputSchema);return o?fl(o,{strictUnions:!0,pipeStrategy:"input"}):PI})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let o=$n(r.outputSchema);o&&(n.outputSchema=fl(o,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(zn,async(e,r)=>{try{let n=this._registeredTools[e.params.name];if(!n)throw new C(q.InvalidParams,`Tool ${e.params.name} not found`);if(!n.enabled)throw new C(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 C(q.InternalError,`Tool ${e.params.name} has taskSupport '${i}' but was not registered with registerToolTask`);if(i==="required"&&!o)throw new C(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 C&&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=$n(e.inputSchema)??e.inputSchema,s=await Wi(i,r);if(!s.success){let a="error"in s?s.error:"Unknown error",c=Yi(a);throw new C(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 C(q.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let o=$n(e.outputSchema),i=await Wi(o,r.structuredContent);if(!i.success){let s="error"in i?i.error:"Unknown error",a=Yi(s);throw new C(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 C(q.InternalError,`Task ${c} not found during polling`);u=d}return await n.taskStore.getTaskResult(c)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(vr($s)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler($s,async e=>{switch(e.params.ref.type){case"ref/prompt":return mh(e),this.handlePromptCompletion(e,e.params.ref);case"ref/resource":return hh(e),this.handleResourceCompletion(e,e.params.ref);default:throw new C(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 C(q.InvalidParams,`Prompt ${r.name} not found`);if(!n.enabled)throw new C(q.InvalidParams,`Prompt ${r.name} disabled`);if(!n.argsSchema)return ui;let i=ar(n.argsSchema)?.[e.params.argument.name];if(!up(i))return ui;let s=H_(i);if(!s)return ui;let a=await s(e.params.argument.value,e.params.context);return J_(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 ui;throw new C(q.InvalidParams,`Resource template ${e.params.ref.uri} not found`)}let o=n.resourceTemplate.completeCallback(e.params.argument.name);if(!o)return ui;let i=await o(e.params.argument.value,e.params.context);return J_(i)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(vr(hs)),this.server.assertCanSetRequestHandler(vr(gs)),this.server.assertCanSetRequestHandler(vr(ys)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(hs,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(gs,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(ys,async(e,r)=>{let n=new URL(e.params.uri),o=this._registeredResources[n.toString()];if(o){if(!o.enabled)throw new C(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 C(q.InvalidParams,`Resource ${n} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(vr(_s)),this.server.assertCanSetRequestHandler(vr(vs)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(_s,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,e])=>e.enabled).map(([e,r])=>({name:e,title:r.title,description:r.description,arguments:r.argsSchema?OI(r.argsSchema):void 0}))})),this.server.setRequestHandler(vs,async(e,r)=>{let n=this._registeredPrompts[e.params.name];if(!n)throw new C(q.InvalidParams,`Prompt ${e.params.name} not found`);if(!n.enabled)throw new C(q.InvalidParams,`Prompt ${e.params.name} disabled`);if(n.argsSchema){let o=$n(n.argsSchema),i=await Wi(o,e.params.arguments);if(!i.success){let c="error"in i?i.error:"Unknown error",u=Yi(c);throw new C(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:Fr(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=Fr(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 et?c._def?.innerType:c;return up(u)})&&this.setCompletionRequestHandler(),s}_createRegisteredTool(e,r,n,o,i,s,a,c,u){lp(e);let l={title:r,description:n,inputSchema:G_(o),outputSchema:G_(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"&&lp(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=Fr(d.paramsSchema)),typeof d.outputSchema<"u"&&(l.outputSchema=Fr(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(dp(c))o=r.shift(),r.length>1&&typeof r[0]=="object"&&r[0]!==null&&!dp(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 PI={type:"object",properties:{}};function K_(t){return t!==null&&typeof t=="object"&&"parse"in t&&typeof t.parse=="function"&&"safeParse"in t&&typeof t.safeParse=="function"}function W_(t){return"_def"in t||"_zod"in t||K_(t)}function dp(t){return typeof t!="object"||t===null||W_(t)?!1:Object.keys(t).length===0?!0:Object.values(t).some(K_)}function G_(t){if(t){if(dp(t))return Fr(t);if(!W_(t))throw new Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return t}}function OI(t){let e=ar(t);return e?Object.entries(e).map(([r,n])=>{let o=Im(n),i=Pm(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=Qi(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function J_(t){return{completion:{values:t.slice(0,100),total:t.length,hasMore:t.length>100}}}var ui={completion:{values:[],hasMore:!1}};import Q_ from"node:process";var fa=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),NI(r)}clear(){this._buffer=void 0}};function NI(t){return xo.parse(JSON.parse(t))}function Y_(t){return JSON.stringify(t)+`
|
|
43
|
+
`}var ma=class{constructor(e=Q_.stdin,r=Q_.stdout){this._stdin=e,this._stdout=r,this._readBuffer=new fa,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=Y_(e);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};import{Http2ServerRequest as tv,constants as AI}from"http2";import{Http2ServerRequest as pp}from"http2";import{Readable as X_}from"stream";import BI from"crypto";var rn=class extends Error{constructor(t,e){super(t,e),this.name="RequestError"}},CI=t=>t instanceof rn?t:new rn(t.message,{cause:t}),jI=global.Request,li=class extends jI{constructor(t,e){typeof t=="object"&&Wn in t&&(t=t[Wn]()),typeof e?.body?.getReader<"u"&&(e.duplex??="half"),super(t,e)}},MI=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)},rv=Symbol("wrapBodyStream"),ZI=(t,e,r,n,o)=>{let i={method:t,headers:r,signal:o.signal};if(t==="TRACE"){i.method="GET";let s=new li(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[rv]){let s;i.body=new ReadableStream({async pull(a){try{s||=X_.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=X_.toWeb(n);return new li(e,i)},Wn=Symbol("getRequestCache"),nv=Symbol("requestCache"),ha=Symbol("incomingKey"),ga=Symbol("urlKey"),DI=Symbol("headersKey"),Kn=Symbol("abortControllerKey"),qI=Symbol("getAbortController"),di={get method(){return this[ha].method||"GET"},get url(){return this[ga]},get headers(){return this[DI]||=MI(this[ha])},[qI](){return this[Wn](),this[Kn]},[Wn](){return this[Kn]||=new AbortController,this[nv]||=ZI(this.method,this[ga],this.headers,this[ha],this[Kn])}};["body","bodyUsed","cache","credentials","destination","integrity","mode","redirect","referrer","referrerPolicy","signal","keepalive"].forEach(t=>{Object.defineProperty(di,t,{get(){return this[Wn]()[t]}})});["arrayBuffer","blob","clone","formData","json","text"].forEach(t=>{Object.defineProperty(di,t,{value:function(){return this[Wn]()[t]()}})});Object.defineProperty(di,Symbol.for("nodejs.util.inspect.custom"),{value:function(t,e,r){let n={method:this.method,url:this.url,headers:this.headers,nativeRequest:this[nv]};return`Request (lightweight) ${r(n,{...e,depth:t==null?null:t-1})}`}});Object.setPrototypeOf(di,li.prototype);var VI=(t,e)=>{let r=Object.create(di);r[ha]=t;let n=t.url||"";if(n[0]!=="/"&&(n.startsWith("http://")||n.startsWith("https://"))){if(t instanceof pp)throw new rn("Absolute URL for :path is not allowed in HTTP/2");try{let a=new URL(n);r[ga]=a.href}catch(a){throw new rn("Invalid absolute URL",{cause:a})}return r}let o=(t instanceof pp?t.authority:t.headers.host)||e;if(!o)throw new rn("Missing host header");let i;if(t instanceof pp){if(i=t.scheme,!(i==="http"||i==="https"))throw new rn("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 rn("Invalid host header");return r[ga]=s.href,r},mp=Symbol("responseCache"),Jn=Symbol("getResponseCache"),nn=Symbol("cache"),yp=global.Response,Yn=class ov{#t;#e;[Jn](){return delete this[nn],this[mp]||=new yp(this.#t,this.#e)}constructor(e,r){let n;if(this.#t=e,r instanceof ov){let o=r[mp];if(o){this.#e=o,this[Jn]();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[nn]=[r?.status||200,e,n||r?.headers])}get headers(){let e=this[nn];return e?(e[2]instanceof Headers||(e[2]=new Headers(e[2]||{"content-type":"text/plain; charset=UTF-8"})),e[2]):this[Jn]().headers}get status(){return this[nn]?.[0]??this[Jn]().status}get ok(){let e=this.status;return e>=200&&e<300}};["body","bodyUsed","redirected","statusText","trailers","type","url"].forEach(t=>{Object.defineProperty(Yn.prototype,t,{get(){return this[Jn]()[t]}})});["arrayBuffer","blob","clone","formData","json","text"].forEach(t=>{Object.defineProperty(Yn.prototype,t,{value:function(){return this[Jn]()[t]()}})});Object.defineProperty(Yn.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[mp]};return`Response (lightweight) ${r(n,{...e,depth:t==null?null:t-1})}`}});Object.setPrototypeOf(Yn,yp);Object.setPrototypeOf(Yn.prototype,yp.prototype);async function LI(t){return Promise.race([t,Promise.resolve().then(()=>Promise.resolve(void 0))])}function iv(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 UI(t,e){if(t.locked)throw new TypeError("ReadableStream is locked.");return e.destroyed?void 0:iv(t.getReader(),e)}var hp=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},FI="x-hono-already-sent";typeof global.crypto>"u"&&(global.crypto=BI);var _p=Symbol("outgoingEnded"),ev=Symbol("incomingDraining"),HI=500,GI=64*1024*1024,fp=t=>{let e=t;if(t.destroyed||e[ev])return;if(e[ev]=!0,t instanceof tv){try{t.stream?.close?.(AI.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,HI);i.unref?.();let s=a=>{r+=a.length,r>GI&&o()};t.on("data",s),t.on("end",n),t.on("error",n),t.resume()},JI=()=>new Response(null,{status:400}),sv=t=>new Response(null,{status:t instanceof Error&&(t.name==="TimeoutError"||t.constructor.name==="TimeoutError")?504:500}),gp=(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))},av=t=>{"flushHeaders"in t&&t.writable&&t.flushHeaders()},cv=async(t,e)=>{let[r,n,o]=t[nn],i=!1;if(!o)o={"content-type":"text/plain; charset=UTF-8"};else if(o instanceof Headers)i=o.has("content-length"),o=hp(o);else if(Array.isArray(o)){let s=new Headers(o);i=s.has("content-length"),o=hp(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())):(av(e),await UI(n,e)?.catch(s=>gp(s,e))),e[_p]?.()},KI=t=>typeof t.then=="function",WI=async(t,e,r={})=>{if(KI(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(sv);if(nn in t)return cv(t,e);let n=hp(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 LI(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&&av(e),await iv(o,e,a))}else n[FI]||(e.writeHead(t.status,n),e.end());e[_p]?.()},vp=(t,e={})=>{let r=e.autoCleanupIncoming??!0;return e.overrideGlobalObjects!==!1&&global.Request!==li&&(Object.defineProperty(global,"Request",{value:li}),Object.defineProperty(global,"Response",{value:Yn})),async(n,o)=>{let i,s;try{s=VI(n,e.hostname);let a=!r||n.method==="GET"||n.method==="HEAD";if(a||(n[rv]=!0,n.on("end",()=>{a=!0}),n instanceof tv&&(o[_p]=()=>{a||setTimeout(()=>{a||setTimeout(()=>{fp(n)})})}),o.on("finish",()=>{a||fp(n)})),o.on("close",()=>{s[Kn]&&(n.errored?s[Kn].abort(n.errored.toString()):o.writableFinished||s[Kn].abort("Client connection prematurely closed.")),a||setTimeout(()=>{a||setTimeout(()=>{fp(n)})})}),i=t(s,{incoming:n,outgoing:o}),nn in i)return cv(i,o)}catch(a){if(i)return gp(a,o);if(e.errorHandler){if(i=await e.errorHandler(s?a:CI(a)),!i)return}else s?i=sv(a):i=JI()}try{return await WI(i,o,e)}catch(a){return gp(a,o)}}};var ya=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
44
|
data:
|
|
45
45
|
|
|
46
46
|
`;this._retryInterval!==void 0&&(s=`id: ${i}
|
|
@@ -51,56 +51,56 @@ data:
|
|
|
51
51
|
`;return o&&(i+=`id: ${o}
|
|
52
52
|
`),i+=`data: ${JSON.stringify(n)}
|
|
53
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}),
|
|
56
|
-
`),o}import{basename as
|
|
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
|
|
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=>xo.parse(y)):a=[xo.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(ko);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=>ko(y)),f=d?d.params.protocolVersion:e.headers.get("mcp-protocol-version")??eh;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 _,$;ur(y)&&this._eventStore&&f>="2025-11-25"&&(_=()=>{this.closeSSEStream(y.id)},$=()=>{this.closeStandaloneSSEStream()}),this.onmessage?.(y,{authInfo:r?.authInfo,requestInfo:i,closeSSEStream:_,closeStandaloneSSEStream:$})}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&&!Sn.includes(r))return this.onerror?.(new Error(`Bad Request: Unsupported protocol version: ${r} (supported versions: ${Sn.join(", ")})`)),this.createJsonErrorResponse(400,-32e3,`Bad Request: Unsupported protocol version: ${r} (supported versions: ${Sn.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)||kn(e))&&(n=e.id),n===void 0){if(Jt(e)||kn(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)||kn(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 _a=class{constructor(e={}){this._requestContext=new WeakMap,this._webStandardTransport=new ya(e),this._requestListener=vp(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 vp(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 EP,join as Re,dirname as IP,isAbsolute as PP,basename as Uv}from"node:path";import{fileURLToPath as OP}from"node:url";import{createHash as Fv,randomBytes as Up,randomInt as Bv,randomUUID as Hv,timingSafeEqual as NP}from"node:crypto";import{createServer as AP}from"node:http";import{brotliCompressSync as CP,brotliDecompressSync as jP}from"node:zlib";import*as R from"node:fs";import{readFile as MP,mkdir as ZP,open as DP,rename as qP,unlink as Ev,lstat as VP}from"node:fs/promises";import{adapt_wrapper as LP}from"@adapt-toolkit/sdk/executables";import{PacketWrapperConfigurator as UP}from"@adapt-toolkit/sdk/wrappers";import{object_to_adapt_value as Gv}from"@adapt-toolkit/sdk/wrapper";import{AdaptObjectLifetime as Fp}from"@adapt-toolkit/sdk/common";import*as lt from"node:fs";import{randomBytes as YI}from"node:crypto";import{homedir as dv}from"node:os";import{resolve as va,join as bp,dirname as pv,basename as QI}from"node:path";var fv=["owner","shared","open"],Qn={brokerUrl:"wss://broker1.ours.network",port:3050,stateDir:va(dv(),".ours"),gcIntervalMs:36e5,autoStart:!1,apiVisibility:"owner"};function XI(){return process.env.OURS_CONFIG??bp(dv(),".ours","config.json")}function eP(){let t;try{t=lt.readFileSync(XI(),"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=va(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"&&fv.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 tP(){let t=process.env.OURS_API_VISIBILITY?.trim().toLowerCase();return t&&fv.includes(t)?t:void 0}function rP(t){let e=process.env[t];if(e!==void 0)return e==="1"||e.toLowerCase()==="true"}function uv(t){let e=process.env[t];if(e===void 0)return;let r=parseInt(e,10);return Number.isNaN(r)?void 0:r}function mv(){let t=eP();return{brokerUrl:process.env.OURS_BROKER_URL??t.brokerUrl??Qn.brokerUrl,port:uv("OURS_PORT")??t.port??Qn.port,stateDir:va(process.env.OURS_STATE_DIR??t.stateDir??Qn.stateDir),gcIntervalMs:uv("OURS_GC_INTERVAL_MS")??t.gcIntervalMs??Qn.gcIntervalMs,autoStart:rP("OURS_AUTOSTART")??t.autoStart??Qn.autoStart,apiVisibility:tP()??t.apiVisibility??Qn.apiVisibility,apiToken:process.env.OURS_API_TOKEN?.trim()||t.apiToken,stt:nP(t.stt)}}function nP(t){let e={};process.env.OURS_STT_PROVIDER?.trim()&&(e.provider=process.env.OURS_STT_PROVIDER.trim()),process.env.OURS_STT_API_KEY?.trim()&&(e.apiKey=process.env.OURS_STT_API_KEY.trim()),process.env.OURS_STT_MODEL?.trim()&&(e.model=process.env.OURS_STT_MODEL.trim()),process.env.OURS_STT_BASE_URL?.trim()&&(e.baseUrl=process.env.OURS_STT_BASE_URL.trim()),process.env.OURS_STT_LANGUAGE?.trim()&&(e.language=process.env.OURS_STT_LANGUAGE.trim());let r={...t??{},...e};return Object.keys(r).length?r:void 0}var oP="daemon-token";function wp(t){return bp(t.stateDir,oP)}function hv(t){let e=process.env.OURS_API_TOKEN?.trim();return e||t.apiToken?.trim()||void 0}function gv(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=wp(t);try{let s=lt.readFileSync(o,"utf8").trim();if(s)return{token:s,source:"file"}}catch{}if(!e.generate)return null;let i=YI(32).toString("hex");try{lt.mkdirSync(pv(o),{recursive:!0}),lt.writeFileSync(o,i+`
|
|
55
|
+
`,{mode:384}),lt.chmodSync(o,384)}catch{}return{token:i,source:"generated"}}var lv=".ours-identity";function $p(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 iP(t){let e=va(t);return QI(e)===lv?e:bp(e,lv)}function yv(t,e,r=!1){let n=$p(e),o=iP(t);if(!r&<.existsSync(o))throw new Error(`${o} already exists \u2014 pass overwrite to replace it`);return lt.mkdirSync(pv(o),{recursive:!0}),lt.writeFileSync(o,JSON.stringify(n,null,2)+`
|
|
56
|
+
`),o}import{basename as sP,extname as aP}from"node:path";var cP={".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 _v(t){return cP[aP(t).toLowerCase()]??"application/octet-stream"}function vv(t){let e=sP(t).replace(/[^A-Za-z0-9._-]/g,"_");return e.length?e.slice(0,200):"file"}var uP=new Set(["e2e_app_recv","migration_deferred_flush"]);function bv(t){let e=new Set;for(let r of t){if(!r||typeof r!="object")continue;let n=r.event;if(typeof n!="string"||!uP.has(n))continue;let o=r.wire_id;typeof o=="string"&&o.length>0&&e.add(o)}return e}function lP(t,e){return t&&e.has(t)?"e2e":"legacy"}function dP(t,e){let r=lP(t.wire_id,e);return{msg_id:t.msg_id,wire_id:t.wire_id,from:{id:t.sender_id,name:t.sender_name},encryption:r,transport:r==="e2e"?"double_ratchet":"legacy_box",text:t.text,date:t.date,status:t.status,reply_to:t.reply_to}}function wv(t,e){let r=t.map(n=>dP(n,e));return{count:r.length,messages:r}}var pP="x-ours-kind=voice-message",fP="voice-message-";function ba(t,e){let r=(t??"").toLowerCase().split(";").map(n=>n.trim());return r[0].startsWith("audio/")&&r.slice(1).includes(pP)?!0:e.toLowerCase().startsWith(fP)&&r[0].startsWith("audio/")}function Sp(t){return(t??"").split(";")[0].trim()||"application/octet-stream"}var xp=["openai-compatible","elevenlabs","deepgram","custom"],mP=5*1024*1024,hP=6e4;function kp(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: ${xp.join(" | ")}) \u2014 ${e}`};let r=t.provider.trim().toLowerCase();if(!xp.includes(r))return{ready:!1,reason:`unknown STT provider "${t.provider}" (expected: ${xp.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 wa(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 $a(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 Rp=(t,e)=>new Blob([new Uint8Array(t)],{type:Sp(e)}),gP=async(t,e,r,n,o)=>{let i=new FormData;i.set("file",Rp(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 $a(`${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=wa(s.json,"text");return a!==void 0?{ok:!0,text:a}:{ok:!1,error:"STT response missing text"}},yP=async(t,e,r,n,o)=>{let i=new FormData;i.set("file",Rp(t,r),e),i.set("model_id",n.model.trim()),n.language?.trim()&&i.set("language_code",n.language.trim());let s=await $a(`${(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=wa(s.json,"text");return a!==void 0?{ok:!0,text:a}:{ok:!1,error:"STT response missing text"}},_P=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 $a(`${(n.baseUrl?.trim()||"https://api.deepgram.com").replace(/\/$/,"")}/v1/listen${s?`?${s}`:""}`,{method:"POST",headers:{Authorization:`Token ${n.apiKey.trim()}`,"Content-Type":Sp(r)},body:new Uint8Array(t)},o,[n.apiKey.trim()]);if(!a.ok)return a;let c=wa(a.json,"results.channels.0.alternatives.0.transcript");return c!==void 0?{ok:!0,text:c}:{ok:!1,error:"STT response missing transcript"}},vP=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,Rp(t,r),e),h&&s&&y.set(h,s);for(let[_,$]of Object.entries(i.extraFields??{}))y.set(_,$);p=y}else d==="raw"?(c["Content-Type"]=Sp(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 $a(a,{method:i.method?.trim()||"POST",headers:c,body:p},o,[n.apiKey.trim()]);if(!m.ok)return m;let g=wa(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"}"`}},bP={"openai-compatible":gP,elevenlabs:yP,deepgram:_P,custom:vP};async function $v(t,e,r,n){let o=kp(n);if(!o.ready)return{ok:!1,error:o.reason};let i=n.maxBytes??mP;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??hP;try{return await bP[o.provider](t,e,r,n,s)}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}function wP(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 xv(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:wP(e.error),audio_path:r.audioPath,file_wire_id:r.wireId}}function Sv(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 $P}from"node:path";var xP="startup-progress.json",kv=1;function SP(t){return $P(t,xP)}function Rv(t,e={}){let r=e.pid??process.pid,n=e.now??Date.now,o=n(),i=SP(t),s=`${i}.${r}.tmp`,a=Math.max(100,e.heartbeatMs??2e3),c=!1,u=!1,l={version:kv,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:kv,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 kP=`: ka
|
|
58
58
|
|
|
59
|
-
`;function
|
|
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){
|
|
62
|
-
`))if(o.trim())try{n.push(JSON.parse(o))}catch{}return
|
|
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):
|
|
59
|
+
`;function RP(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 xa(t,e=RP()){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(kP)}catch{}},e);o.unref?.();let i=()=>clearInterval(o);t.once("close",i),t.once("finish",i)}function TP(t){let e=new Map;for(let r of t)e.set(r.name,(e.get(r.name)??0)+1);return e}function Tv(t){let e=TP(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 zP(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 hi="0.17.2",Lt=mv(),ze=Lt.stateDir,Ta=Lt.brokerUrl,Jv=process.env.OURS_TRANSPORT??"http",Tp=Lt.port,Iv=Lt.gcIntervalMs,Ap=Lt.apiVisibility,Pv=Math.max(100,Number(process.env.OURS_SESSION_REAPER_INTERVAL_MS||"")||5e3),FP=Number(process.env.OURS_TEST_STARTUP_HEARTBEAT_MS||"")||void 0,Xt=Jv==="http"?Rv(ze,{heartbeatMs:FP}):null,w=(...t)=>process.stderr.write(`ours: ${t.join(" ")}
|
|
60
|
+
`);function BP(){if(Ap==="open")return null;if(Ap==="shared"){let t=hv(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 (${wp(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 gv(Lt,{generate:!0}).token}var Ov=BP();function HP(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 GP(t){if(Ov===null)return!0;let e=HP(t);if(!e)return!1;let r=Buffer.from(e),n=Buffer.from(Ov);return r.length===n.length&&NP(r,n)}function pi(t,e){return GP(t)?!0:(e.writeHead(401,{"Content-Type":"application/json"}),e.end(JSON.stringify({error:"unauthorized"})),!1)}var JP=/^[A-Za-z0-9 _.@-]{1,64}$/,za="contact-book";function gi(t){return JP.test(t)?t==="."||t===".."||t.includes("/")||t.includes("\\")?"invalid name":t===za?`"${za}" 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 KP(){let t=IP(OP(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(EP(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 yi,an,O=new Map,bt=null,Cp=null,Pe=new Map,Oa=new Set,qe=new Map,bi=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 Ea(t){for(let e of Pe.values())if(e.token===t)return e}var Nv=()=>Re(ze,"bindings.json");function xi(){try{R.mkdirSync(ze,{recursive:!0});let t=`${Nv()}.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,Nv())}catch(t){w("failed to persist bindings snapshot:",String(t))}}var Kv=t=>Re(ze,t),Si=t=>Re(t,"identity.key"),cn=t=>Re(t,"state_data.bin"),Bp=t=>Re(t,"notifications.log"),jp=t=>Re(t,"unread.json"),Wv=t=>Re(t.dir,"files"),Yv=t=>Re(t,"temp.json"),Xn=t=>Fv("sha256").update(t).digest("hex");function Qv(t,e){R.writeFileSync(Yv(t),JSON.stringify({v:1,owner:{token_sha256:e.owner.tokenHash,pid:e.owner.pid},created_at:e.createdAt}),{mode:384})}function Xv(t){try{let e=JSON.parse(R.readFileSync(Yv(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 WP(){for(let t of Hp()){let e=Re(ze,t);try{R.chmodSync(e,448)}catch(r){w(`[${t}] chmod 0700 failed:`,String(r))}for(let r of[cn(e),Si(e)])if(R.existsSync(r))try{R.chmodSync(r,384)}catch(n){w(`[${t}] chmod 0600 ${r} failed:`,String(n))}}}var YP=t=>/^[A-Za-z0-9]+$/.test(t)&&t.length>0&&t.length<=128,QP=t=>/^[A-Fa-f0-9]{64}$/.test(t),zp=32;function eb(t,e){if(!YP(e))return null;let r=Wv(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 Hp(){return R.existsSync(ze)?R.readdirSync(ze,{withFileTypes:!0}).filter(t=>t.isDirectory()&&R.existsSync(Si(Re(ze,t.name)))).map(t=>t.name):[]}var wi=()=>Re(ze,za),Av=()=>Re(wi(),"registrar.key"),Mp=()=>Re(wi(),"book.json");function Gp(){try{let t=JSON.parse(R.readFileSync(Mp(),"utf8"));return t&&typeof t.entries=="object"?t.entries:{}}catch{return{}}}function tb(){return Object.fromEntries(Object.entries(Gp()).filter(([,t])=>{let e=O.get(t.name);return e!==void 0&&e.cid===t.container_id&&wr(e)}))}function rb(t){R.mkdirSync(wi(),{recursive:!0});let e=`${Mp()}.tmp`;R.writeFileSync(e,JSON.stringify({v:1,entries:t},null,2),{mode:384}),R.renameSync(e,Mp())}function ro(t){return Ve(e=>Buffer.from(Se(t,"::actor::export_address_document",e).GetBinary()))}function nb(t){return Ve(e=>Buffer.from(Se(t,"::actor::export_signing_secret",e).Serialize()).toString("hex"))}async function eo(t){if(!bt)throw new Error("registrar is not available");if(!wr(t))throw new Error(`refusing to publish identity "${t.name}" before Human/root hierarchy reconciliation`);let e=ro(t),r=await F(async o=>{let i=await D(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=Gp();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},rb(n),w(`[${t.name}] published to the local contact book`)}function ob(t){let e=Gp(),r=Object.entries(e).find(([,n])=>n.container_id===t.cid);r&&(delete e[r[0]],rb(e),w(`[${t.name}] removed from the local contact book (entry "${r[0]}")`))}async function ib(t){if(!Cp)throw new Error("registrar is not available");await F(async e=>{await D(t,"::actor::pin_registrar",{registrar_ad:t.pw.packet.NewBinaryFromBuffer(Cp).Attach(e)},e)})}var Ia=()=>Re(ze,"root.json"),W=null;function XP(){try{let t=JSON.parse(R.readFileSync(Ia(),"utf8"));return typeof t.name=="string"?t.name:null}catch{return null}}function eO(t){R.mkdirSync(ze,{recursive:!0});let e=`${Ia()}.tmp`;R.writeFileSync(e,JSON.stringify({v:1,name:t})),R.renameSync(e,Ia())}function sb(){R.rmSync(Ia(),{force:!0})}function Qe(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()}})}function Na(t){if(t.name===W)return!0;try{return Qe(t).hasCert}catch{return!1}}function wr(t){return t.bootQuarantined!==!0&&Na(t)}async function br(t,e){await F(async r=>{let n=ro(e),o=await D(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 D(t,"::actor::export_root_profile",{},r),a=Buffer.from(s.Reduce("profile").GetBinary()),c=ro(t),u=Buffer.from((await D(e,"::actor::export_v1_address_document",{},r)).Reduce("ad").GetBinary()),l=await D(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 D(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)}),w(`[${e.name}] delegated as a role under root "${t.name}"`)}async function Cv(t){W=t.name,eO(t.name);let e=[],r=[];for(let n of O.values())if(n.name!==t.name)try{await br(t,n),await hb(n),e.push(n.name)}catch(o){w(`failed to adopt "${n.name}" as a role under new root "${t.name}":`,String(o)),r.push(n.name)}return w(`[${t.name}] established as the host root${e.length?` (adopted ${e.length} role(s))`:""}`),{adopted:e,failed:r}}function tO(t,e){if(!W||!O.has(W))return null;let r=O.get(e)??[...O.values()].find(o=>o.cid===e);if(!r||r.name===t.name)return null;let n=o=>o.name===W||Qe(o).roleId!=="";return n(t)&&n(r)?r:null}async function rO(t,e,r){let n=ro(e);return await F(async o=>{await D(t,"::actor::connect_sibling",{name:e.name,target_ad:t.pw.packet.NewBinaryFromBuffer(n).Attach(o),text:r},o)}),un(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 nO(t,e,r){if(!bt)throw new Error(`"${e}" is not a contact, and the local contact book is unavailable.`);let n=tb(),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=ro(t);return await F(async c=>{let u=await D(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 D(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)}),un(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 ki(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 _i(t,e,r){await F(async n=>{await D(t,"::a2a_control::send_control",{contact:e,payload:JSON.stringify(r)},n)})}function ab(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 oO(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:ki(t).proxyCid?"bound":"unbound"}}function iO(t){let e=[];for(let r of O.values()){if(r.name===t.name)continue;let n=Qe(r);n.rootCid===t.cid&&e.push({name:r.name,cid:r.cid,role_id:n.roleId,bio:n.bio,monitoring:n.monitoringEnabled,capabilities:ab(r)})}return e}function Jp(t){try{an.remove_packet(t.cid)}catch(e){w(`remove_packet(${t.cid}) failed:`,String(e))}O.delete(t.name);try{ob(t)}catch(e){w(`failed to unpublish "${t.name}" from the contact book:`,String(e))}Pe.has(t.name)&&(Pe.delete(t.name),xi()),t.name===W&&(W=null,sb());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 vi(t,e){let r=t.temp;return r?(r.closing||(r.closing=(async()=>{w(`[${t.name}] closing temporary identity (${e})`);let n=[];try{n=Ve(a=>gb(Se(t,"::a2a_messaging::list_contacts",a)))}catch(a){w(`[${t.name}] contact snapshot failed during close (continuing with local cleanup):`,String(a))}let o=0,i=0;bi.add(t.name);try{for(let a of n)try{await F(async u=>{let d=(await D(t,"::a2a_messaging::remove_contact",{contact:a.container_id},u)).Reduce("notified");return d.IsNil()?!1:d.GetBoolean()})?o++:i++}catch(c){i++,w(`[${t.name}] remove-me to ${a.container_id} failed (continuing):`,String(c))}}finally{bi.delete(t.name)}let s=Jp(t);return w(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`))}async function cb(){let t=[];for(let r of[...O.values()]){let n=r.temp;if(!n||n.closing||Pt(n.owner.pid))continue;let o=Pe.get(r.name);o&&Pt(o.pid)||t.push(vi(r,`stale lease \u2014 owner pid ${n.owner.pid} is dead`))}let e=await Promise.allSettled(t);for(let r of e)r.status==="rejected"&&w("stale-temp reclaim failed:",String(r.reason));return e.filter(r=>r.status==="fulfilled").length}function sO(){if(R.existsSync(ze))for(let t of R.readdirSync(ze,{withFileTypes:!0})){if(!t.isDirectory()||O.has(t.name))continue;let e=Re(ze,t.name),r=Xv(e);if(!(!r||Pt(r.owner.pid)))try{R.rmSync(e,{recursive:!0,force:!0}),Ot.delete(t.name),w(`[${t.name}] removed orphaned temporary-identity dir (owner pid ${r.owner.pid} dead, no live packet)`)}catch(n){w(`[${t.name}] failed to remove orphaned temporary-identity dir:`,String(n))}}}var Kp=!0,ub=Kp?2:1,aO=6e5,Zp=new Map,Dp=(t,e)=>`${t}:${e}`;function lb(t,e,r){e&&Zp.set(Dp(t,e),{response:r,at:Date.now()})}function cO(t,e){if(!e)return;let r=Zp.get(Dp(t,e));if(r){if(Date.now()-r.at>aO){Zp.delete(Dp(t,e));return}return r.response}}async function uO(t,e,r){let n=$i(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 _i(t,e,o),lb(e,s,o))}async function lO(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{w(`[${t.name}] dropping unparseable control payload from ${n}`);return}if(s.v===1){s.t==="get_manifest"?await _i(t,r,{v:1,t:"res",id:s.id??null,ok:!0,manifest:{...oO(t),protocol_version:ub}}):await _i(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=cO(r,a);if(c){await _i(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 D(t,"::actor::process_control_envelope",{sender_id:e,sender_name:n,envelope:l,date:i},d)}catch(h){w(`[${t.name}] dispatch of "${l.cap}.${l.verb}" from ${n} failed:`,String(h));return}if(await uO(t,r,f),l.cap==="core.monitoring"&&l.verb==="bind")try{let h=$i(f);h&&(h.ok===!0||h.$ok===!0)&&gO(t,r)}catch{}})}async function dO(t){for(;;)if(await F(async r=>{let o=(await D(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 lO(t,c,c.Visualize(),a.Reduce("sender_name").Visualize(),a.Reduce("payload").Visualize(),a.Reduce("date"))}return!1}))return}function pO(){return String(Bv(0,1e6)).padStart(6,"0")}var ln=new Map;function Aa(t){return[...O.values()].find(e=>e.cid===t)}async function Ri(t,e){let r=e.Reduce("target").Visualize(),n=$i(e.Reduce("response"));if(!n||typeof n!="object")return;await _i(t,r,n);let o=String(n.req_id??"");o&&lb(r,o,n)}async function fO(t,e,r,n){try{if(O.has(e)){w(`[${t.name}] host_provision_child("${e}") rejected: name exists (settles via sweep timeout)`);return}let o=await ka(e);r&&await F(async i=>{await D(o,"::a2a_messaging::set_my_bio",{bio:r},i)}),await br(t,o),await eo(o),await F(async i=>{let s=Qe(o).roleId,a=Se(o,"::actor::export_address_document_native",i),c=await D(t,"::a2a_cluster::register_provisioned_child",{pending_handle:n,role_id:s,child_ad:a},i);await Ri(t,c)})}catch(o){w(`[${t.name}] host_provision_child("${e}") failed (settles via sweep timeout):`,String(o))}}async function mO(t,e,r){try{let n=Aa(e.Visualize());if(n){let o=Jp(n);o&&w(`[${t.name}] host_destroy_child teardown warning:`,o)}ln.delete(e.Visualize()),await F(async o=>{let i=await D(t,"::a2a_cluster::confirm_child_destroyed",{pending_handle:r,cid:e},o);await Ri(t,i)})}catch(n){w(`[${t.name}] host_destroy_child failed (settles via sweep timeout):`,String(n))}}async function hO(t,e,r){try{let n=Aa(e.Visualize());if(!n){w(`[${t.name}] host_mint_child_invite: unknown child ${e.Visualize()} (settles via sweep timeout)`);return}await F(async o=>{let i=await D(n,"::a2a_messaging::generate_invite",{},o),s=t.pw.packet.NewBinaryFromBuffer(Buffer.from(i.Reduce("invite").GetBinary())).Attach(o),a=await D(t,"::a2a_cluster::register_child_invite",{pending_handle:r,invite:s},o);await Ri(t,a)})}catch(n){w(`[${t.name}] host_mint_child_invite failed (settles via sweep timeout):`,String(n))}}async function qp(t,e,r,n){await F(async o=>{if(e){n&&await D(t,"::a2a_messaging::host_register_monitoring_cp",{cp_ad:n},o);let i=pO();await D(t,"::a2a_messaging::set_proxy_pending",{code:i,proxy:r},o),await D(t,"::a2a_messaging::verify_proxy_code",{code:i,sender:r},o),ln.set(t.cid,r??"")}else await D(t,"::a2a_messaging::host_clear_child_monitoring",{},o),ln.delete(t.cid)})}async function jv(t,e,r,n,o,i){try{let s=Aa(e.Visualize());if(!s){w(`[${t.name}] host_set_child_monitoring: unknown child ${e.Visualize()} (settles via sweep timeout)`);return}r?await qp(s,!0,o?.Visualize(),i):await qp(s,!1),await F(async a=>{let c=await D(t,"::a2a_cluster::confirm_child_monitoring",{pending_handle:n,cid:e,enabled:r},a);await Ri(t,c)})}catch(s){w(`[${t.name}] host_set_child_monitoring failed (settles via sweep timeout):`,String(s))}}async function gO(t,e){for(let[r,n]of[...ln.entries()]){if(n===e)continue;let o=Aa(r);if(!o){ln.delete(r);continue}await qp(o,!1).catch(i=>w(`[${t.name}] CP-rebind clear of child ${r} failed:`,String(i)))}}function yO(t,e){let r=[];for(let n of O.values()){if(n.name===t.name)continue;let o=Qe(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:ab(n),child_ad:i})}return r}var Ep=new Set;async function db(t){if(!Ep.has(t.name)){Ep.add(t.name);try{await F(async e=>{await D(t,"::a2a_cluster::reconcile",{pending_handle:"",children:yO(t,e)},e);let n=(await D(t,"::a2a_cluster::sweep_and_settle",{},e)).Reduce("settled"),o=n.GetKeys();for(let i=0;i<o.length;i++)await Ri(t,n.Reduce(i))})}catch(e){w(`[${t.name}] cluster sweep failed:`,String(e))}finally{Ep.delete(t.name)}}}var _O=6e4;function vO(){setInterval(()=>{if(Kp)for(let t of O.values())Qe(t).roleId===""&&db(t)},_O).unref()}function bO(){for(let t of O.values())if(Qe(t).roleId!=="")try{let e=ki(t).proxyCid;e&&ln.set(t.cid,e)}catch(e){ln.set(t.cid,""),w(`[${t.name}] monitoredChildren rebuild read failed (added clear-on-repoint):`,String(e))}}var Ip=new Set;async function Wp(t){if(!Ip.has(t.name)){Ip.add(t.name);try{await dO(t)}catch(e){w(`[${t.name}] control dispatch failed:`,String(e))}finally{Ip.delete(t.name)}if(O.has(t.name)&&ki(t).controlQueued>0)return Wp(t)}}async function wO(){R.mkdirSync(wi(),{recursive:!0});let t;try{t=R.readFileSync(Av(),"utf8").trim()}catch{}let e=Up(24).toString("hex");bt=await Qp(za,e,wi(),!1,t),t||R.writeFileSync(Av(),nb(bt),{mode:384}),Cp=ro(bt),w(`contact-book registrar ready (${bt.cid})`)}function $O(t){try{return R.existsSync(cn(t))&&R.statSync(cn(t)).size>0}catch{return!1}}function Vp(t){let e=Ve(i=>Buffer.from(Se(t,"::actor::export_state",i).Serialize()));R.mkdirSync(t.dir,{recursive:!0,mode:448});let r=cn(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(Si(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 Yp(t){try{Vp(t),t.persistFailed&&(t.persistFailed=!1,w(`[${t.name}] persist recovered \u2014 quarantine lifted`),ue(t,{event:"persist_recovered"}))}catch(e){t.persistFailed=!0,w(`[${t.name}] PERSIST FAILED \u2014 identity quarantined (fail-closed), outbound of this txn withheld:`,String(e));try{ue(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 xO(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 SO(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 pb(t,e){try{let r=await F(async n=>{let o=await D(t,"::a2a_messaging::flush_deferred",{contact:e},n);return Number(o.Reduce("flushed").Visualize())});r>0&&w(`[${t.name}] flushed ${r} deferred message(s) to ${e.slice(0,12)}\u2026`)}catch(r){w(`[${t.name}] deferred flush to ${e.slice(0,12)}\u2026 failed:`,String(r))}}async function fb(t){try{let e=await F(async n=>{let o=await D(t,"::a2a_messaging::restore_degraded_contacts",{},n);return Number(o.Reduce("requested").Visualize())});e>0&&w(`[${t.name}] contact restore requested for ${e} degraded contact(s)`);let r=Ve(n=>SO(Se(t,"::a2a_messaging::list_deferred_queues",n)));for(let n of r)n.degraded||await pb(t,n.cid)}catch(e){w(`[${t.name}] contact-restore sweep failed:`,String(e))}}async function Pa(t){try{let e=await F(async r=>{let n=await D(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)&&w(`[${t.name}] capability reconcile: changed=${e.changed} advertised=${e.capabilityAdvertised} legacy_migration_bootstrap=${e.legacyReadvertised}`)}catch(e){w(`[${t.name}] capability reconcile sweep failed:`,String(e))}}var Pp=new Set;function un(t){if(!Pp.has(t.name)){Pp.add(t.name);for(let e of[2e3,15e3])setTimeout(()=>{e===15e3&&Pp.delete(t.name);let r=O.get(t.name);r&&Pa(r)},e)}}async function Lp(t){try{let e=await F(async r=>{let n=await D(t,"::a2a_messaging::readvertise_e2e_recovery",{},r);return Number(n.Reduce("readvertised").Visualize())});e>0&&w(`[${t.name}] re-advertised fresh AD to ${e} e2e contact(s) (session recovery)`)}catch(e){w(`[${t.name}] e2e recovery re-advertise failed:`,String(e))}try{await F(async e=>{await D(t,"::a2a_messaging::sweep_e2e_migrations",{},e)})}catch(e){w(`[${t.name}] e2e migration sweep failed:`,String(e))}try{let e=await F(async r=>{let n=await D(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)&&w(`[${t.name}] unacked sweep: redriven=${e.redriven} ttl_purged=${e.purged} deferred=${e.deferred} contact(s)`)}catch(e){w(`[${t.name}] unacked redrive sweep failed:`,String(e))}}var Sa=new Map;function kO(t){let e=Sa.get(t);if(!(!e||e.size===0))for(let r of[...e])try{r()}catch{}}function RO(t,e){return new Promise(r=>{let n=Sa.get(t);n||(n=new Set,Sa.set(t,n));let o=!1,i=()=>{o||(o=!0,n.delete(s),n.size===0&&Sa.delete(t),clearTimeout(a),r())},s=i,a=setTimeout(i,e);n.add(s)})}function ue(t,e){try{R.mkdirSync(t.dir,{recursive:!0,mode:448}),R.appendFileSync(Bp(t.dir),JSON.stringify(e)+`
|
|
61
|
+
`)}catch(r){w(`[${t.name}] failed to append notifications.log:`,String(r))}kO(t.name)}function TO(t){let e=Bp(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 bv(n)}function fi(t,e){let r=t.Reduce(e);return r.IsNil()?"":Buffer.from(r.GetBinary()).toString("hex")}var zO=Number(process.env.OURS_NOTIFY_LONGPOLL_MS)>0?Number(process.env.OURS_NOTIFY_LONGPOLL_MS):25e3,EO=250;function Op(t){try{return R.statSync(t).size}catch{return 0}}function IO(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 PO(t,e,r,n){let o=Bp(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(Op(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()+zO;for(;!a;){let u=Op(o);if(s>u&&(s=0),u>s){let{events:l,cursor:d}=IO(o,s,u);if(l.length>0){i(d,l);return}s=d}if(Date.now()>=c)break;await RO(r,Math.min(EO,c-Date.now()))}a||i(Op(o),[])}function sn(t){try{let{unread:e,unreadFiles:r}=Ve(i=>{let a=Ra(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=`${jp(t.dir)}.tmp`;R.writeFileSync(o,JSON.stringify(n)),R.renameSync(o,jp(t.dir))}catch(e){w(`[${t.name}] failed to refresh unread snapshot:`,String(e))}}function OO(){let t=[],e=[];try{e=R.readdirSync(ze,{withFileTypes:!0})}catch{return{identities:t}}for(let r of e){if(!r.isDirectory()||gi(r.name)!==null)continue;let n=O.get(r.name);if(n&&!wr(n))continue;let o;try{o=JSON.parse(R.readFileSync(jp(Re(ze,r.name)),"utf8"))}catch{continue}let i=Number.isSafeInteger(o.count)&&Number(o.count)>=0?Number(o.count):0,s=Number.isSafeInteger(o.files)&&Number(o.files)>=0?Number(o.files):0;if(i===0&&s===0)continue;let a=Array.isArray(o.recent)?o.recent.slice(-10).flatMap(u=>{if(!u||typeof u!="object")return[];let l=u;return typeof l.from!="string"||!["string","number"].includes(typeof l.msg_id)||typeof l.date!="string"?[]:[{from:l.from,msg_id:l.msg_id,date:l.date}]}):[],c=Array.isArray(o.unread_files)?o.unread_files.slice(-10).flatMap(u=>{if(!u||typeof u!="object")return[];let l=u;return typeof l.from!="string"||typeof l.filename!="string"||typeof l.mime!="string"||typeof l.wire_id!="string"?[]:[{from:l.from,filename:l.filename,mime:l.mime,wire_id:l.wire_id,...typeof l.sender_id=="string"?{sender_id:l.sender_id}:{},...["string","number"].includes(typeof l.file_id)?{file_id:l.file_id}:{},...["string","number"].includes(typeof l.bytes)?{bytes:l.bytes}:{},...typeof l.date=="string"?{date:l.date}:{}}]}):[];t.push({name:r.name,count:i,recent:a,files:s,unread_files:c})}return t.sort((r,n)=>String(r.name).localeCompare(String(n.name))),{identities:t}}var on=new Map,mb=t=>`ours://inbox/${encodeURIComponent(t)}`;function De(t,e){w(`[${t}] notify:`,e);let r=Pe.get(t)?.sid;if(!r)return;let n=on.get(r);if(n){try{n.sendLoggingMessage({level:"info",logger:"ours",data:e})}catch(o){w("sendLoggingMessage failed:",String(o))}try{n.server.sendResourceUpdated({uri:mb(t)})}catch{}}}function Ve(t){let e=new Fp;try{return t(e)}finally{e.Finalize()}}async function F(t){let e=new Fp;try{return await t(e)}finally{e.Finalize()}}function Se(t,e,r){let n=Gv({name:e,targ:void 0}),o=t.pw.packet.ExecuteTransaction(n);return n.Destroy(),r?o.Attach(r):o}async function NO(t,e){let r=t.lock,n;t.lock=new Promise(o=>n=o),await r;try{return await e()}finally{n()}}function AO(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 D(t,e,r,n,o){if(t.persistFailed)try{Yp(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=Gv({name:e,targ:r});return NO(t,()=>AO(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 CO(t){t.pw.on_return_data=e=>{let r=new Fp;e.Attach(r);try{let n=e.Reduce("kind").Visualize();if(n==="save_state"){Yp(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();ue(t,{event:"message_received",from:a,msg_id:c,date:u}),sn(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();ue(t,{event:"file_received",from:a,sender_id:c,file_id:u,wire_id:l,filename:d,mime:f,bytes:h,date:p}),sn(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();un(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();un(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();ue(t,{event:"contact_name_collision",desired:c,assigned:u,existing_container_id:l,container_id:d}),w(`[${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();ue(t,{event:"sibling_contact_added",from:a}),un(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();ue(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();ue(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")ue(t,{event:"e2e_restore_rejected"}),w(`[${t.name}] E2E RESTORE REJECTED \u2014 corrupt session blob failed pickle_key validation; reset to empty e2e state, self-heal fallback will re-establish`),process.nextTick(()=>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();ue(t,{event:"contact_restored",from:a}),w(`[${t.name}] contact "${a}" restored (re-keyed)`),process.nextTick(()=>void pb(t,String(c)))}else if(s==="migration_active"){let a=i.Reduce("cid").Visualize(),c=i.Reduce("role").Visualize(),u=fi(i,"epoch"),l=fi(i,"session_id");ue(t,{event:"migration_active",cid:String(a),role:String(c),...u?{epoch:u}:{},...l?{session_id:l}:{}}),w(`[migration] active cid=${a} role=${c}${u?` epoch=${u}`:""}${l?` session_id=${l}`:""}`)}else if(s==="e2e_app_send"){let a=i.Reduce("cid").Visualize(),c=fi(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()))}ue(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}:{}}),w(`[${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();ue(t,{event:"dedup_degraded",cid:String(a),dropped_wire_id:String(c)}),w(`[${t.name}] [e2e-app] DEDUP DEGRADED cid=${a} dropped_wire_id=${c} (storage ceiling \u2014 a late redrive of that id could re-deposit)`),process.nextTick(()=>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()))}ue(t,{event:"e2e_delivery_expired",cid:String(a),wire_ids:c}),w(`[${t.name}] [e2e-app] delivery EXPIRED (2-day TTL, receipt never arrived) cid=${a} wire_ids=${c.join(",")}`),process.nextTick(()=>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=fi(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();ue(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}:{}}),w(`[${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=fi(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());ue(t,{event:"e2e_rekey",cid:String(a),role:String(c),...u?{session_id:u}:{},...l?{attempts:l}:{},...d?{peer_supports:d}:{},...f?{rejected:f}:{}}),w(`[${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();ue(t,{event:"migration_deferred_flush",cid:String(a),wire_id:String(c)}),w(`[migration] flush-notify cid=${a} wire_id=${c} (deferred\u2192e2e; core delivers)`)}else if(s==="migration_stalled"){let a=i.Reduce("cid").Visualize(),c=i.Reduce("phase").Visualize(),u=i.Reduce("attempts").Visualize();ue(t,{event:"migration_stalled",cid:String(a),phase:String(c),attempts:String(u)}),w(`[migration] stalled-notify cid=${a} phase=${c} attempts=${u} (core re-drives via sweep)`)}else if(s==="downgrade_refused"){let a=i.Reduce("cid").Visualize(),c=i.Reduce("wire_id"),u=c.IsNil()?"":String(c.Visualize());ue(t,{event:"downgrade_refused",cid:String(a),...u?{wire_id:u}:{}}),w(`[e2e-route] downgrade-dropped cid=${a}${u?` wire_id=${u}`:""} (legacy plaintext from a migrated peer \u2014 dropped by core)`),process.nextTick(()=>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=bi.has(t.name);ue(t,{event:"contact_removed",cid:a,by:c?"local":"peer"}),c||(w(`[${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());ue(t,{event:"monitoring_disabled",cid:a,...u?{cause:u}:{}}),w(`[${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();w(`[${t.name}] control request queued by ${a}`),process.nextTick(()=>void Wp(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 fO(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 mO(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 hO(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 jv(t,a,!0,u,l,d).finally(()=>{a.Destroy(),l.Destroy(),d.Destroy()}))}else process.nextTick(()=>void jv(t,a,!1,u).finally(()=>a.Destroy()))}return}let o=t.pending.shift();if(!o)return;clearTimeout(o.timer),o.resolve(e.Reduce("payload").Detach())}finally{r.Finalize()}},t.pw.on_transaction_failure=e=>{let r=t.pending.shift();r?(clearTimeout(r.timer),r.reject(new Error(e))):(w(`[${t.name}] inbound transaction rejected:`,e),ue(t,{event:"inbound_error",message:e}),process.nextTick(()=>De(t.name,`[${t.name}] inbound transaction rejected: ${e}`)))}}function Qp(t,e,r,n=!0,o,i=!1){let s=new UP;s.deferred_exposure=i;let a=["--unit_hash",yi.hash,"--seed_phrase",e,"--unit_dir_path",yi.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);an.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()};CO(f),n&&O.set(t,f),w(`[${t}] packet created \u2014 container id ${f.cid}`),c(f)},yi.contents)})}var Ot=new Set(Hp());Ot.size>0&&w(`reserved ${Ot.size} persisted identity name(s) at module load: ${[...Ot].join(", ")}`);async function ka(t,e={localAutoAccept:!0}){if(Ot.has(t)||O.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=Kv(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()},Qv(r,n));let o=Up(24).toString("hex"),i=await Qp(t,o,r);return n&&(i.temp=n),R.writeFileSync(Si(r),nb(i),{mode:384}),await F(async s=>{await D(i,"::a2a_messaging::set_my_name",{name:t},s)}),await ib(i),e.localAutoAccept||await F(async s=>{await D(i,"::actor::set_local_policy",{auto_accept:!1},s)}),Yp(i),i}catch(r){throw Ot.delete(t),r}}async function jO(t){let e=Kv(t),r=R.readFileSync(Si(e),"utf8").trim(),n=await Qp(t,"",e,!1,r,!0);w(`[${t}] created QUARANTINED (no routing/broker registration, not client-bindable) \u2014 importing state before exposure`);let o=Number(process.env.OURS_TEST_RESTORE_HOLD_MS||"")||0;o>0&&(w(`[${t}] TEST HOLD: keeping restore open ${o}ms (OURS_TEST_RESTORE_HOLD_MS)`),await new Promise(c=>setTimeout(c,o)));let i=c=>/timed out waiting for the transaction result/.test(String(c)),s=(c,u,l)=>{w(`[${t}] ${c} ${u} \u2014 identity left UNEXPOSED and UNTRACKED (fail-closed)`);try{ue(n,{event:"restore_fail_closed",step:c,error:String(l).slice(0,300)})}catch{}O.delete(t);try{an.remove_packet(n.cid)}catch(d){w(`[${t}] quarantined-packet teardown failed:`,String(d))}throw new Error(`identity "${t}": ${c} failed during restore (${u}) \u2014 left unexposed (fail-closed)`)},a=(c,u)=>s(c,"outcome UNKNOWN (timeout): the transaction may still execute and exposure would race it",u);if($O(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(cn(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 D(n,"::actor::import_state",d,l,f)}),c=!0,w(`[${t}] state import completed (positively observed)`)}catch(u){i(u)&&a("import_state",u),w(`[${t}] FAILED TO IMPORT SAVED STATE \u2014 continuing with the reseeded identity; surviving contacts (if the blob was partially migrated) self-heal via contact restore:`,String(u)),ue(n,{event:"state_import_failed",error:String(u).slice(0,300)});try{let l=`${cn(e)}.failed-${Date.now()}`;R.renameSync(cn(e),l),R.chmodSync(l,384),w(`[${t}] unreadable state blob preserved as state_data.bin.failed-*`)}catch{}}if(c){try{let d=await F(async f=>{let h=await D(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)}});w(`[${t}] e2e restore commit: status=${d.status} sessions=${d.sessions}`)}catch(d){i(d)&&a("commit_e2e_restore",d),w(`[${t}] E2E RESTORE REJECTED \u2014 staged session blob failed pickle_key validation; discarding it, fresh account + self-heal fallback take over: ${String(d).slice(0,260)}`),ue(n,{event:"e2e_restore_rejected",error:String(d).slice(0,300)});try{await F(async f=>{await D(n,"::a2a_messaging::reject_e2e_restore",{},f)})}catch(f){i(f)&&a("reject_e2e_restore",f),w(`[${t}] reject_e2e_restore failed (staging is transient; continuing):`,String(f))}}try{n.pw.refresh_identity_proof_document(),w(`[${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),ue(n,{event:"ipd_coherence",ik:d,coherent:u})}catch(d){s("ipd_coherence","probe FAILED (coherence unprovable)",d)}w(`[${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 n.bootQuarantined=!0,O.set(t,n),w(`[${t}] RESTORED IN QUARANTINE (no routing/broker registration) \u2014 import complete; awaiting hierarchy reconciliation`),n}async function hb(t){if(t.bootQuarantined===!0){if(!Na(t))throw new Error(`refusing to expose restored identity "${t.name}" before Human/root hierarchy reconciliation`);an.expose_packet(t.cid),t.bootQuarantined=!1,w(`[${t.name}] EXPOSED (routing + broker registration) \u2014 hierarchy reconciliation complete`),await fb(t),sn(t)}}async function Mv(){Xt?.update("wrapper"),yi=KP();let t=["--broker_address",Ta,"--test_mode","--logger_config","--level","INFO","--stdout","stderr","--logger_config_end"];w(`booting wrapper (unit ${yi.hash.slice(0,12)}\u2026, broker ${Ta})`),an=await LP.start(t),an.on_packet_created_cb=c=>w(`wrapper: packet ready ${c.slice(0,12)}\u2026`),an.start();let e=Number(process.env.OURS_TEST_BOOT_HOLD_MS||"")||0;e>0&&(w(`TEST HOLD: boot window open ${e}ms (OURS_TEST_BOOT_HOLD_MS)`),await new Promise(c=>setTimeout(c,e))),Xt?.update("registrar");try{await wO()}catch(c){w("failed to start the contact-book registrar (local contact book disabled):",String(c))}WP();let r=Hp(),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 c of r)Ot.add(c);if(r.length===0&&n>0){w(`TEST: simulating ${n} fake identity restore(s), ${o}ms each`);for(let c=0;c<n;c++)o>0&&await new Promise(u=>setTimeout(u,o)),Xt?.update("identities",{completed:c+1,total:n})}else if(r.length===0)w("no persisted identities \u2014 start with create_identity");else{w(`restoring ${r.length} identit${r.length===1?"y":"ies"}: ${r.join(", ")}`);for(let[c,u]of r.entries()){try{let l=await jO(u);bt&&await ib(l);let d=Xv(l.dir);d&&(l.temp=d)}catch(l){w(`failed to restore "${u}":`,String(l))}Xt?.update("identities",{completed:c+1,total:r.length})}}Xt?.update("reconciliation"),bO(),vO(),W=XP(),W&&!O.has(W)&&(w(`root marker names a missing identity "${W}" \u2014 clearing it`),W=null,sb()),W&&w(`root identity: ${W}`),sO(),await cb();let s=W?O.get(W):void 0;if(s){for(let c of[...O.values()])if(!(c.name===s.name||Qe(c).hasCert))try{await br(s,c),ue(c,{event:"legacy_identity_delegated",root:s.name}),w(`[${c.name}] legacy unassociated state safely migrated under Human/root "${s.name}"`)}catch(l){throw new Error(`legacy identity "${c.name}" could not be safely delegated under Human/root "${s.name}"; refusing to start with an unassociated runtime identity: ${String(l)}`)}}{let c=W?O.get(W):void 0;W&&!c&&w(`re-delegation on upgrade DEGRADED: root "${W}" is not among the restored identities \u2014 role certs not refreshed this boot`);let u=[],l=new Set;if(c)for(let d of O.values()){if(d.name===c.name)continue;let f;try{f=Qe(d)}catch{f=void 0}if(!(!f||!f.hasCert)){if(f.rootCid!==c.cid){w(`[${d.name}] re-delegation skipped: delegated by a different root (${f.rootCid.slice(0,12)}\u2026), not this host root \u2014 left as-is`);continue}try{if(process.env.OURS_TEST_FORCE_REDELEGATION_ERROR_FOR===d.name)throw new Error(`forced role relationship refresh error for "${d.name}" (OURS_TEST_FORCE_REDELEGATION_ERROR_FOR)`);await br(c,d),u.push(d)}catch(h){l.add(d),ue(d,{event:"redelegation_failed",error:String(h).slice(0,300)}),w(`[${d.name}] boot re-delegation (upgrade cert refresh) failed:`,String(h))}}}for(let d of O.values())l.has(d)?w(`[${d.name}] remains QUARANTINED (current-boot role relationship refresh failed; not exposed or bindable)`):Na(d)?await hb(d):d.bootQuarantined&&w(`[${d.name}] remains QUARANTINED (no Human/root hierarchy; not exposed or bindable)`);for(let d of O.values())if(wr(d)){await Pa(d),await Lp(d);for(let f of[1e4,3e4,9e4])setTimeout(()=>{Pa(d).catch(()=>{})},f),setTimeout(()=>{Lp(d).catch(()=>{})},f)}u.length>0&&w(`refreshed ${u.length} role delegation cert(s) against the live AD on boot`)}let a=W?O.get(W):void 0;if(a)try{ki(a).controlQueued>0&&Wp(a)}catch(c){w("boot-time monitoring/control drain failed:",String(c))}xi()}function Zv(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(Oa.has(e))return{error:"Your identity binding was reassigned to another session. Call choose_identity again to continue."};let r=Ea(e);if(!r)return{error:"No identity bound to this session. Call choose_identity (or create_identity) first."};let n=O.get(r.identity);if(!n)return Pe.delete(r.identity),xi(),{error:`The bound identity "${r.identity}" no longer exists. Choose another with choose_identity.`};if(n.bootQuarantined||!Na(n))return{error:`The identity "${n.name}" is quarantined until its Human/root hierarchy is safely reconciled; it cannot be bound or used.`};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 mi(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()}),Oa.delete(n),xi()}function gb(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 MO(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 Ra(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 ZO(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:ba(i,o)?"voice_message":"file"})}return e}function DO(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
64
|
${e.join(`
|
|
65
|
-
`)}`}async function
|
|
65
|
+
`)}`}async function qO(t,e,r){await ZP(t,{recursive:!0,mode:448});let n=await VP(t);if(!n.isDirectory()||n.isSymbolicLink())throw new Error("received-files directory is not a safe directory");let o=Re(t,`.${Uv(e)}.${Hv()}.tmp`),i=await DP(o,"wx",384);try{await i.writeFile(r),await i.sync()}catch(s){throw await i.close().catch(()=>{}),await Ev(o).catch(()=>{}),s}await i.close();try{await qP(o,e)}catch(s){throw await Ev(o).catch(()=>{}),s}}async function VO(t,e){let r=[];if(e.IsNil())return{text:"No new files.",files:r};let n=Wv(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=Fv("sha256").update(p).digest("hex"),g=Re(n,`${h}-${vv(a)}`);await qO(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:ba(c,a)?"voice_message":"file",sender:u};if(ba(c,a)){let _=kp(Lt.stt),$;if(!_.ready)$={kind:"unconfigured",reason:_.reason};else{let T=await $v(p,a,c,Lt.stt);$=T.ok?{kind:"transcript",text:T.text}:{kind:"failed",error:T.error}}y.transcription=xv(_,$,{audioPath:g,wireId:h}),o.push(Sv({sender:u,wire:h,savedPath:g,sizeBytes:p.length},$)),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
66
|
${o.join(`
|
|
67
|
-
`)}`,files:r}}function
|
|
67
|
+
`)}`,files:r}}function LO(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 UO(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 FO(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 yb(t){return CP(t).toString("base64url")}function BO(t){return jP(Buffer.from(t.replace(/\s+/g,""),"base64url"))}var HO=new Set(["members","caps"]);function GO(t){try{let e=t.GetNumber();return Number.isInteger(e)?e:NaN}catch{return NaN}}function $i(t,e){if(t.IsNil())return null;let r;try{r=t.GetKeys()}catch{try{return yb(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(GO).every((s,a)=>s===a))return r.map((s,a)=>$i(t.Reduce(a)));let i={};for(let s of r)i[s.Visualize()]=$i(t.Reduce(s),s.Visualize());return i}return e!==void 0&&HO.has(e)?[]:{}}function Dv(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 qv(t){let e=new pa({name:"ours",version:hi},{capabilities:{logging:{},resources:{}}}),r=()=>{let i=Zv(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:j.string().min(1).describe('Display name for the new identity, e.g. "Alice".'),bio:j.string().default("").describe("Optional free-text bio for the identity profile."),expose_local:j.boolean().default(!0).describe("Publish this identity in the host-local contact book."),local_auto_accept:j.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=gi(i);if(u)return x(`create_identity failed: ${u}`,!0);if(O.has(i))return x(`create_identity failed: an identity named "${i}" already exists.`,!0);try{let l=await ka(i,{localAutoAccept:c});s&&await F(async m=>{await D(l,"::a2a_messaging::set_my_bio",{bio:s},m)});let d="",f=W?O.get(W):void 0;if(f)await br(f,l),d=` Delegated as a role under root "${f.name}".`,Kp&&db(f);else{let{adopted:m}=await Cv(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(", ")}.`:"")}a&&await eo(l),mi(t(),i);let h=a?` Published to the local contact book${c?"":" (introductions require approval)"}.`:" Not exposed in the local contact book.",p=`
|
|
68
68
|
|
|
69
|
-
Ask the user whether to enable this harness's live mail monitor for "${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
|
|
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 delegated role owned by this session and bind it. A host Human/root identity must already exist; temporary identities are never unassociated. 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. Unlike create_identity, it is NOT published to the local contact book unless expose_local=true. Omit name for a collision-resistant random one.',{name:j.string().min(1).optional().describe('Optional public display name. Omitted: a random public-safe name like "tmp-1a2b3c4d5e" is generated.'),bio:j.string().default("").describe("Optional free-text bio for the identity profile."),expose_local:j.boolean().default(!1).describe("Publish in the host-local contact book (default false for a temporary identity)."),local_auto_accept:j.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=W?O.get(W):void 0;if(!h)return x("create_temporary_identity failed: a Human/root identity must exist first. Create the Human identity with create_root_identity, then retry; refusing to create an unassociated temporary identity.",!0);let p=i;if(p!==void 0){let m=gi(p);if(m)return x(`create_temporary_identity failed: ${m}`,!0);if(O.has(p)||Ot.has(p))return x(`create_temporary_identity failed: an identity named "${p}" already exists.`,!0)}else{for(let m=0;m<5&&p===void 0;m++){let g=`tmp-${Up(5).toString("hex")}`;!O.has(g)&&!Ot.has(g)&&(p=g)}if(p===void 0)return x("create_temporary_identity failed: could not pick a free random name after 5 attempts \u2014 retry.",!0)}try{let m=await ka(p,{localAutoAccept:c,temp:{tokenHash:Xn(d),pid:f}});try{s&&await F(async y=>{await D(m,"::a2a_messaging::set_my_bio",{bio:s},y)}),await br(h,m),a&&await eo(m)}catch(y){throw await vi(m,"creation rollback after delegation failure"),y}mi(u,p);let g=a?` Published to the local contact book${c?"":" (introductions require approval)"}.`:"";return x(`Created TEMPORARY role "${p}" (${m.cid}), delegated under Human/root "${h.name}", and bound it to this session (owner: this session's lease, client pid ${f}).${g}
|
|
70
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(
|
|
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(m){return x(`create_temporary_identity failed: ${String(m)}`,!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:j.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=O.get(i),!c)return x(`close_temporary_identity: no identity named "${i}" \u2014 nothing to close (already cleaned up?).`)}else{let d=a?Ea(a):void 0;if(c=d?O.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===Xn(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 vi(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:j.string().min(1).describe(`The person's name, e.g. "Vitalii Shakhmatov".`),bio:j.string().default("").describe("Free-text bio describing the person (carried in role invites)."),expose_local:j.boolean().default(!0).describe("Publish the root in the host-local contact book."),local_auto_accept:j.boolean().default(!0).describe("Auto-accept local contact-book introductions (false = they queue for approval)."),skip_if_root_exists:j.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=gi(i);if(l)return x(`create_root_identity failed: ${l}`,!0);if(u&&W&&O.has(W))return x(`create_root_identity failed: a root identity already exists ("${W}") \u2014 one root per host. Nothing to do.`,!0);if(O.has(i))return x(`create_root_identity failed: an identity named "${i}" already exists.`,!0);let d=`
|
|
72
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
|
|
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:
|
|
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 ka(i,{localAutoAccept:c});s&&await F(async _=>{await D(f,"::a2a_messaging::set_my_bio",{bio:s},_)});let h=W?O.get(W):void 0;if(h&&h.name!==i)return await br(h,f),a&&await eo(f),mi(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 Cv(f);a&&await eo(f),mi(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:j.string().min(1).describe("Identity name the workspace belongs to."),path:j.string().min(1).describe("Absolute target: a directory (file is created inside it) or a full path ending in .ours-identity."),force:j.boolean().default(!1).describe("Once the user approves binding, eviction of another holder is pre-approved (no second confirmation)."),expose_local:j.boolean().default(!0).describe("Publish this identity in the host-local contact book."),local_auto_accept:j.boolean().default(!0).describe("Auto-accept local contact-book introductions (false = they queue for approval)."),overwrite:j.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(!PP(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=yv(s,d,l),h=JSON.stringify($p(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:j.string().min(1).describe("Name of the identity to bind."),force:j.boolean().default(!1).describe("Evict another session that holds this identity.")},async({name:i,force:s})=>{if(!O.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=O.get(i);if(!wr(u))return x(`choose_identity failed: "${i}" is legacy unassociated identity state and is quarantined until a Human/root identity safely delegates it. Create the Human/root with create_root_identity; refusing to expose an unassociated runtime identity.`,!0);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!==Xn(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{Qv(u.dir,u.temp)}catch(y){w(`[${i}] temp marker refresh failed:`,String(y))}}}let l=Pe.get(i);if(l&&l.token!==c)if(!Pt(l.pid))w(`auto-reclaiming "${i}" from dead client pid ${l.pid}`),Pe.delete(i);else if(s)Oa.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&&O.has(d);mi(a,i);let h=O.get(i),p=`Bound to identity "${i}" (${h.cid}).`;return f&&(p+=`
|
|
75
75
|
|
|
76
76
|
Switched away from "${d}" \u2014 disable any live monitor previously armed for it.`),p+=`
|
|
77
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(
|
|
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(O.size===0)return x("No identities yet. Create the Human/root identity with create_root_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===Xn(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=W?O.get(W):void 0,l=[];if(u){l.push(`\u2605 ${u.name} \u2014 ${u.cid} (root)${a(u.name)}`);for(let d of O.values())d.name!==u.name&&Qe(d).roleId!==""&&l.push(` \u2514 ${d.name} \u2014 ${d.cid} (role)${c(d)}${a(d.name)}`);for(let d of O.values())d.name===u.name||Qe(d).roleId!==""||l.push(`! ${d.name} \u2014 legacy unassociated state (QUARANTINED pending safe Human/root delegation)`)}else{for(let d of O.values())l.push(`! ${d.name} \u2014 legacy unassociated state (QUARANTINED; not bindable or advertised)`);l.push("(no Human/root identity yet \u2014 create_root_identity establishes the hierarchy and safely migrates these records)")}return x(`Identities (${O.size}):
|
|
79
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=
|
|
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=Zv(t());if("error"in i)return x(i.error);try{let s=Qe(i.id),a=i.id.name===W?" \u2014 the ROOT identity of this host":s.roleId!==""?` \u2014 role "${s.roleId}" under root "${s.rootName}"`:"",c=i.id.temp?`
|
|
81
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
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:
|
|
84
|
-
${c.map(l=>
|
|
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:
|
|
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:j.string().min(1).describe("Name of the identity to delete.")},async({name:i})=>{let s=O.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!==Xn(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 vi(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===W){let c=[...O.values()].filter(u=>u.name!==i&&Qe(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=Jp(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?mb(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=>Ra(Se(i,"::actor::list_incoming_messages",l))),u=c.length===0?"Inbox is empty.":`Inbox (${c.length}):
|
|
84
|
+
${c.map(l=>Dv(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:j.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:j.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 D(a,"::a2a_messaging::generate_invite",f,d);return{blob:yb(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
86
|
|
|
87
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
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:
|
|
90
|
-
${
|
|
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:j.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 D(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:j.string().min(1).describe("The base64 invite blob to redeem."),name:j.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=BO(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 D(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",$=_(g)?_(y)?m:y:g;return un(a),`Added contact "${$}" (${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:gb(Se(i,"::a2a_messaging::list_contacts",p)),pending:LO(Se(i,"::actor::list_pending_introductions",p)),roots:UO(Se(i,"::a2a_messaging::list_contact_roots",p)),degraded:xO(Se(i,"::a2a_messaging::list_degraded_contacts",p)),renames:MO(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
|
+
${Tv(a.map(p=>({name:p.name,container_id:p.container_id,rootTag:FO(u[p.container_id]),degradedQueued:f.get(p.container_id)?.queued,renamedFrom:d[p.container_id]}))).join(`
|
|
91
91
|
`)}`),c.length>0&&h.push(`Pending local introductions (${c.length}) \u2014 approve/reject with respond_to_introduction:
|
|
92
92
|
`+c.map(p=>`\u2022 ${p.name} \u2014 ${p.container_id} (${p.queued} queued message${p.queued===1?"":"s"})`).join(`
|
|
93
93
|
`)),x(h.join(`
|
|
94
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(
|
|
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(tb());if(i.length===0)return x("The local contact book is empty.");let s=t(),a=qe.get(s)?.token,c=a?Ea(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
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=>
|
|
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
|
|
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:j.boolean().optional().describe("Publish (true) or remove (false) this identity in the local contact book."),auto_accept:j.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 D(a,"::actor::set_local_policy",{auto_accept:s},l)}),u.push(`auto_accept=${s}`)),i===!0?(await eo(a),u.push("published in the local contact book")):i===!1&&(ob(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:j.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 D(s,"::a2a_messaging::set_my_bio",{bio:i},l)});let c=0;if(s.name===W){for(let l of O.values())if(l.name!==s.name&&Qe(l).rootCid===s.cid)try{await br(s,l),c+=1}catch(d){w(`failed to refresh root profile in role "${l.name}":`,String(d))}}let u=c>0?` Root profile refreshed in ${c} role(s).`:"";return 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 D(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:j.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 D(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:j.string().min(1).describe("Pending introduction to act on (name or container id)."),action:j.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 D(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 sn(a),un(a),x(l)}let u=await F(async l=>{let d=await D(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:j.string().min(1).describe("Contact name or container id to send to."),text:j.string().min(1).describe("The message text."),reply_to_wire_id:j.string().optional().describe("wire_id (from get_messages) of the message this replies to."),reply_to_sentence:j.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 D(u,"::a2a_messaging::send_message",{contact:i,text:s,...d?{reply_to:d}:{}},h)));switch(f.kind){case"refused":return w(`[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 w(`[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 w(`[e2e-route] cid=${f.cid} wire_id=${f.wireId} verdict=e2e (core delivered over migrated session)${f.notRetained?" NOT RETAINED (oversized)":""}`),f.notRetained?(ue(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=tO(u,i),p=h?await rO(u,h,s):await nO(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:j.string().min(1).describe("Contact name or container id to send to."),path:j.string().min(1).optional().describe("Filesystem path to the file to send (preferred)."),data_base64:j.string().min(1).optional().describe("Inline file bytes, base64-encoded (alternative to path)."),filename:j.string().min(1).optional().describe("Filename to advertise (required with data_base64; defaults to basename of path)."),mime:j.string().optional().describe("MIME type (inferred from the path extension when omitted)."),reply_to_wire_id:j.string().optional().describe("wire_id (from get_messages/get_files) this file replies to."),reply_to_sentence:j.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 MP(s),m=c??Uv(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?_v(s):""),y=l?d!==void 0?{wire_id:l,sentence:d}:{wire_id:l}:void 0;try{let _=await F(async T=>{let A=f.pw.packet.NewBinaryFromBuffer(p).Attach(T);return n(await D(f,"::a2a_messaging::send_file",{contact:i,filename:m,mime:g,data:A,...y?{reply_to:y}:{}},T))}),$=`File "${m}" (${p.length} B${g?`, ${g}`:""})`;switch(_.kind){case"refused":return w(`[e2e-route] refused cid=${_.cid} wire_id=${_.wireId} (downgrade_refused, file)`),x(`Couldn't send ${$} 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 w(`[migration] file-defer cid=${_.cid} wire_id=${_.wireId} (migrating, not queued)`),x(`${$} 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 w(`[e2e-route] cid=${_.cid} wire_id=${_.wireId} verdict=e2e file (core delivered over migrated session)${_.notRetained?" NOT RETAINED (oversized)":""}`),_.notRetained?(ue(f,{event:"send_not_retained",wire_id:_.wireId,kind:"file"}),x(`${$} 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(`${$} sent to "${i}" over the upgraded end-to-end session (wire_id ${_.wireId}).`);default:return x(`${$} 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:j.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{bi.add(s.name);let c=await F(async u=>{let l=await D(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{bi.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:j.string().min(1).describe("Contact name or container id to rename."),name:j.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 D(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=>Ra(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=>Dv(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 D(i,"::actor::get_messages",{},l);return Ra(d.Reduce("messages"))});sn(i);let c=TO(i),u=wv(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:j.array(j.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 D(s,"::actor::defer_messages",{msg_ids:i},u)).Reduce("deferred").Visualize());return sn(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=>ZO(Se(i,"::actor::list_incoming_files",c)));return{content:[{type:"text",text:DO(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:j.array(j.string()).optional().describe(`Optional 1-${zp} 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>zp)return c("invalid_selection",`wire_ids must contain 1-${zp} items.`);if(i.some(u=>!QP(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 D(s,"::actor::get_files",i===void 0?{}:{wire_ids:i},l);return await VO(s,d.Reduce("files"))});return sn(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:j.string().min(1).describe("wire_id of the received file (from get_files)."),dest_path:j.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=eb(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=W?O.get(W):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:j.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(Bv(0,1e6)).padStart(6,"0"),u=await F(async l=>(await D(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
100
|
|
|
101
101
|
Verification code: ${c}
|
|
102
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
|
|
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=ki(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=iO(i);return c.push(""),c.push(u.length===0?"No agents (roles) under this root.":`Agents (${u.length}):
|
|
104
104
|
${u.map(l=>`\u2022 ${l.name} \u2014 monitoring ${l.monitoring?"ON":"off"}${l.bio?` \u2014 ${l.bio}`:""}`).join(`
|
|
105
105
|
`)}`),x(c.join(`
|
|
106
|
-
`))}catch(a){return x(`get_monitoring_status failed: ${String(a)}`,!0)}}),e}function
|
|
106
|
+
`))}catch(a){return x(`get_monitoring_status failed: ${String(a)}`,!0)}}),e}function JO(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 to=null,Np=!1;function Vv(){to||(to=setInterval(()=>{Np||(Np=!0,(async()=>{try{for(let t of O.values())if(wr(t)){try{await F(async e=>{await D(t,"::actor::gc",{},e)})}catch(e){w(`gc(${t.name}) failed:`,String(e))}await fb(t),await Pa(t),await Lp(t)}}finally{Np=!1}})())},Iv),to.unref?.(),w(`message GC timer armed (every ${Iv}ms)`))}function Lv(){to&&(clearInterval(to),to=null)}async function KO(){if(process.env.OURS_TEST_STARTUP_FAIL==="1")throw new Error("forced startup failure (OURS_TEST_STARTUP_FAIL)");if(Jv==="stdio"){let p=qv(()=>"stdio");on.set("stdio",p),qe.set("stdio",{token:"stdio-local",pid:process.pid});let m=new ma;await p.connect(m),w("MCP stdio transport connected, booting wrapper\u2026"),await Mv(),Vv(),w(`MCP server v${hi} ready (transport=stdio, identities=${O.size}, state=${ze}, broker=${Ta})`);let g=()=>{Lv();for(let y of O.values())try{Vp(y)}catch(_){w(`[${y.name}] shutdown save failed:`,String(_))}process.exit(0)};process.on("SIGINT",g),process.on("SIGTERM",g);return}w("booting wrapper\u2026"),await Mv(),Vv(),w(`wrapper ready (identities=${O.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[...on.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 _=on.get(m);on.delete(m),delete t[m],qe.delete(m),e.delete(m),_?.close().catch(()=>{}),p++,w(`session ${m.slice(0,8)}\u2026 reaped (client pid ${g} dead)`)}return p};setInterval(()=>{i(),cb()},Pv).unref?.(),w(`session/temp crash reaper armed (maximum idle detection interval ${Pv}ms)`);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[_,$]of u)if($.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],$=u.get(`${p}:${_}`);u.delete(`${p}:${_}`),w(`UNDELIVERABLE RESPONSE session=${p.slice(0,8)}\u2026 request_id=${_} method=${$?.method??"unknown"} age_ms=${$?Date.now()-$.at:"unknown"} at=${new Date().toISOString()} \u2014 the answer was produced but its stream was already gone`)}catch{}},f=AP(async(p,m)=>{let g=new URL(p.url,`http://localhost:${Tp}`);if(p.method==="GET"&&g.pathname==="/state-dir"){m.writeHead(200,{"Content-Type":"application/json"}),m.end(JSON.stringify({stateDir:ze,version:hi,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:hi,compat:1,protocol:ub,pid:process.pid,stateDir:ze}));return}if(p.method==="GET"&&g.pathname==="/identities"){if(!pi(p,m))return;m.writeHead(200,{"Content-Type":"application/json"}),m.end(JSON.stringify({identities:[...O.values()].flatMap(y=>{let _=Qe(y);return wr(y)?[{name:y.name,kind:y.name===W?"human":"role",...y.name===W?{}:{root:_.rootName},...y.temp?{temporary:!0,stale:!Pt(y.temp.owner.pid)}:{}}]:[{name:y.name,status:"quarantined"}]})}));return}if(p.method==="GET"&&g.pathname==="/unread"){if(!pi(p,m))return;m.writeHead(200,{"Content-Type":"application/json"}),m.end(JSON.stringify(OO()));return}{let y=/^\/identities\/([^/]+)\/notifications$/.exec(g.pathname);if(p.method==="GET"&&y){if(!pi(p,m))return;let _=decodeURIComponent(y[1]);if(gi(_)!==null){m.writeHead(400,{"Content-Type":"application/json"}),m.end(JSON.stringify({error:"invalid identity name"}));return}let $=O.get(_);if($&&!wr($)){m.writeHead(404,{"Content-Type":"application/json"}),m.end(JSON.stringify({error:"identity is not available for notifications"}));return}await PO(p,m,_,g.searchParams.get("since"));return}}{let y=/^\/files\/([^/]+)$/.exec(g.pathname);if(p.method==="GET"&&y){if(!pi(p,m))return;let _=decodeURIComponent(y[1]),$=p.headers["x-ours-lease-token"],T=typeof $=="string"&&$?Ea($):void 0,A=T?O.get(T.identity):void 0;if(!A){m.writeHead(401,{"Content-Type":"application/json"}),m.end(JSON.stringify({error:"no identity bound to this session"}));return}let ge=eb(A,_);if(!ge){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 X=R.statSync(ge);m.writeHead(200,{"Content-Type":"application/octet-stream","Content-Length":String(X.size)});let Ge=R.createReadStream(ge);Ge.on("error",()=>{try{m.destroy()}catch{}}),Ge.pipe(m)}catch(X){m.writeHead(500,{"Content-Type":"application/json"}),m.end(JSON.stringify({error:`failed to read file: ${String(X)}`}))}return}}if(g.pathname!=="/mcp"){m.writeHead(404,{"Content-Type":"text/plain"}),m.end("Not found");return}if(pi(p,m))try{if(p.method==="POST"){let y=await JO(p),_=p.headers["mcp-session-id"],$=p.headers["x-ours-lease-token"],T=p.headers["x-ours-client-pid"],A=T?parseInt(T,10):void 0,ge={token:$,pid:Number.isInteger(A)?A:void 0};if(_&&t[_]){qe.set(_,ge),l(_,y),n(_),xa(m);try{await t[_].handleRequest(p,m,y)}finally{o(_)}}else if(!_&&ko(y)){i();let X=new _a({sessionIdGenerator:()=>Hv(),onsessioninitialized:Le=>{t[Le]=X,qe.set(Le,ge),on.set(Le,Ge),w(`session ${Le.slice(0,8)}\u2026 initialized`)}}),Ge=qv(()=>X.sessionId??"pending");Ge.server.onerror=Le=>d(X.sessionId??"pending",Le),X.onclose=()=>{let Le=X.sessionId;Le&&(delete t[Le],on.delete(Le),qe.delete(Le),w(`session ${Le.slice(0,8)}\u2026 closed (lease kept)`))},await Ge.connect(X),xa(m),await X.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),xa(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(_){let $=Xn(_),T=[...O.values()].filter(X=>X.temp?.owner.tokenHash===$),ge=(await Promise.allSettled(T.map(X=>vi(X,"owning session ended normally")))).filter(X=>X.status==="rejected"||X.value.deleteError!==null);for(let X of ge)X.status==="rejected"?w("normal-session temporary cleanup failed:",String(X.reason)):w("normal-session temporary cleanup left local state behind:",X.value.deleteError);for(let[X,Ge]of[...Pe])Ge.token===_&&Pe.delete(X);Oa.delete(_),xi(),w(`lease released by token \u2026${_.slice(-6)}; temporary cleanup ${T.length-ge.length}/${T.length} completed`)}await t[y].handleRequest(p,m)}else m.writeHead(405,{"Content-Type":"text/plain"}),m.end("Method not allowed")}catch(y){w("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(Tp,"127.0.0.1",()=>{Xt?.ready(),w(`MCP server v${hi} ready (transport=http, port=${Tp}, visibility=${Ap}, identities=${O.size}, state=${ze}, broker=${Ta})`)});let h=async()=>{w("shutting down\u2026"),Lv();for(let p of Object.keys(t)){try{await t[p].close()}catch{}delete t[p]}for(let p of O.values())try{Vp(p)}catch(m){w(`[${p.name}] shutdown save failed:`,String(m))}f.closeAllConnections?.(),f.close(),process.exit(0)};process.on("SIGINT",h),process.on("SIGTERM",h)}KO().catch(t=>{Xt?.failed(),w(`fatal startup error: ${t?.stack??t}`),process.exit(1)});export{zP as formatVersionAdvisory,gi as validateName};
|