@linzumi/cli 1.0.107 → 1.0.108
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/README.md +1 -1
- package/dist/cloud-supervisor.mjs +11 -11
- package/dist/index.js +410 -410
- package/dist/mcp-server.mjs +35 -35
- package/package.json +1 -1
package/dist/mcp-server.mjs
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';
|
|
2
2
|
const require = createRequire(import.meta.url);
|
|
3
|
-
var Y_=Object.create;var Ri=Object.defineProperty;var Q_=Object.getOwnPropertyDescriptor;var ev=Object.getOwnPropertyNames;var tv=Object.getPrototypeOf,rv=Object.prototype.hasOwnProperty;var z=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ii=(e,t)=>{for(var r in t)Ri(e,r,{get:t[r],enumerable:!0})},nv=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ev(t))!rv.call(e,o)&&o!==r&&Ri(e,o,{get:()=>t[o],enumerable:!(n=Q_(t,o))||n.enumerable});return e};var Ll=(e,t,r)=>(r=e!=null?Y_(tv(e)):{},nv(t||!e||!e.__esModule?Ri(r,"default",{value:e,enumerable:!0}):r,e));var Qn=z(Q=>{"use strict";Object.defineProperty(Q,"__esModule",{value:!0});Q.regexpCode=Q.getEsmExportName=Q.getProperty=Q.safeStringify=Q.stringify=Q.strConcat=Q.addCodeArg=Q.str=Q._=Q.nil=Q._Code=Q.Name=Q.IDENTIFIER=Q._CodeOrName=void 0;var Xn=class{};Q._CodeOrName=Xn;Q.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var zr=class extends Xn{constructor(t){if(super(),!Q.IDENTIFIER.test(t))throw new Error("CodeGen: name must be a valid identifier");this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};Q.Name=zr;var tt=class extends Xn{constructor(t){super(),this._items=typeof t=="string"?[t]:t}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let t=this._items[0];return t===""||t==='""'}get str(){var t;return(t=this._str)!==null&&t!==void 0?t:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var t;return(t=this._names)!==null&&t!==void 0?t:this._names=this._items.reduce((r,n)=>(n instanceof zr&&(r[n.str]=(r[n.str]||0)+1),r),{})}};Q._Code=tt;Q.nil=new tt("");function Af(e,...t){let r=[e[0]],n=0;for(;n<t.length;)pu(r,t[n]),r.push(e[++n]);return new tt(r)}Q._=Af;var lu=new tt("+");function Mf(e,...t){let r=[Yn(e[0])],n=0;for(;n<t.length;)r.push(lu),pu(r,t[n]),r.push(lu,Yn(e[++n]));return t0(r),new tt(r)}Q.str=Mf;function pu(e,t){t instanceof tt?e.push(...t._items):t instanceof zr?e.push(t):e.push(o0(t))}Q.addCodeArg=pu;function t0(e){let t=1;for(;t<e.length-1;){if(e[t]===lu){let r=r0(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+"}t++}}function r0(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof zr||e[e.length-1]!=='"'?void 0:typeof t!="string"?`${e.slice(0,-1)}${t}"`:t[0]==='"'?e.slice(0,-1)+t.slice(1):void 0;if(typeof t=="string"&&t[0]==='"'&&!(e instanceof zr))return`"${e}${t.slice(1)}`}function n0(e,t){return t.emptyStr()?e:e.emptyStr()?t:Mf`${e}${t}`}Q.strConcat=n0;function o0(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:Yn(Array.isArray(e)?e.join(","):e)}function s0(e){return new tt(Yn(e))}Q.stringify=s0;function Yn(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}Q.safeStringify=Yn;function i0(e){return typeof e=="string"&&Q.IDENTIFIER.test(e)?new tt(`.${e}`):Af`[${e}]`}Q.getProperty=i0;function a0(e){if(typeof e=="string"&&Q.IDENTIFIER.test(e))return new tt(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}Q.getEsmExportName=a0;function c0(e){return new tt(e.toString())}Q.regexpCode=c0});var hu=z(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.ValueScope=qe.ValueScopeName=qe.Scope=qe.varKinds=qe.UsedValueState=void 0;var Ue=Qn(),mu=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value}},js;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"})(js||(qe.UsedValueState=js={}));qe.varKinds={const:new Ue.Name("const"),let:new Ue.Name("let"),var:new Ue.Name("var")};var Cs=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r}toName(t){return t instanceof Ue.Name?t:this.name(t)}name(t){return new Ue.Name(this._newName(t))}_newName(t){let r=this._names[t]||this._nameGroup(t);return`${t}${r.index++}`}_nameGroup(t){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(t)||this._prefixes&&!this._prefixes.has(t))throw new Error(`CodeGen: prefix "${t}" is not allowed in this scope`);return this._names[t]={prefix:t,index:0}}};qe.Scope=Cs;var As=class extends Ue.Name{constructor(t,r){super(r),this.prefix=t}setValue(t,{property:r,itemIndex:n}){this.value=t,this.scopePath=(0,Ue._)`.${new Ue.Name(r)}[${n}]`}};qe.ValueScopeName=As;var u0=(0,Ue._)`\n`,fu=class extends Cs{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?u0:Ue.nil}}get(){return this._scope}name(t){return new As(t,this._newName(t))}value(t,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let o=this.toName(t),{prefix:s}=o,i=(n=r.key)!==null&&n!==void 0?n:r.ref,a=this._values[s];if(a){let d=a.get(i);if(d)return d}else a=this._values[s]=new Map;a.set(i,o);let c=this._scope[s]||(this._scope[s]=[]),u=c.length;return c[u]=r.ref,o.setValue(r,{property:s,itemIndex:u}),o}getValue(t,r){let n=this._values[t];if(n)return n.get(r)}scopeRefs(t,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,Ue._)`${t}${n.scopePath}`})}scopeCode(t=this._values,r,n){return this._reduceValues(t,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},r,n)}_reduceValues(t,r,n={},o){let s=Ue.nil;for(let i in t){let a=t[i];if(!a)continue;let c=n[i]=n[i]||new Map;a.forEach(u=>{if(c.has(u))return;c.set(u,js.Started);let d=r(u);if(d){let l=this.opts.es5?qe.varKinds.var:qe.varKinds.const;s=(0,Ue._)`${s}${l} ${u} = ${d};${this.opts._n}`}else if(d=o?.(u))s=(0,Ue._)`${s}${d}${this.opts._n}`;else throw new mu(u);c.set(u,js.Completed)})}return s}};qe.ValueScope=fu});var F=z(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.or=V.and=V.not=V.CodeGen=V.operators=V.varKinds=V.ValueScopeName=V.ValueScope=V.Scope=V.Name=V.regexpCode=V.stringify=V.getProperty=V.nil=V.strConcat=V.str=V._=void 0;var X=Qn(),ut=hu(),Wt=Qn();Object.defineProperty(V,"_",{enumerable:!0,get:function(){return Wt._}});Object.defineProperty(V,"str",{enumerable:!0,get:function(){return Wt.str}});Object.defineProperty(V,"strConcat",{enumerable:!0,get:function(){return Wt.strConcat}});Object.defineProperty(V,"nil",{enumerable:!0,get:function(){return Wt.nil}});Object.defineProperty(V,"getProperty",{enumerable:!0,get:function(){return Wt.getProperty}});Object.defineProperty(V,"stringify",{enumerable:!0,get:function(){return Wt.stringify}});Object.defineProperty(V,"regexpCode",{enumerable:!0,get:function(){return Wt.regexpCode}});Object.defineProperty(V,"Name",{enumerable:!0,get:function(){return Wt.Name}});var Ds=hu();Object.defineProperty(V,"Scope",{enumerable:!0,get:function(){return Ds.Scope}});Object.defineProperty(V,"ValueScope",{enumerable:!0,get:function(){return Ds.ValueScope}});Object.defineProperty(V,"ValueScopeName",{enumerable:!0,get:function(){return Ds.ValueScopeName}});Object.defineProperty(V,"varKinds",{enumerable:!0,get:function(){return Ds.varKinds}});V.operators={GT:new X._Code(">"),GTE:new X._Code(">="),LT:new X._Code("<"),LTE:new X._Code("<="),EQ:new X._Code("==="),NEQ:new X._Code("!=="),NOT:new X._Code("!"),OR:new X._Code("||"),AND:new X._Code("&&"),ADD:new X._Code("+")};var Ot=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},gu=class extends Ot{constructor(t,r,n){super(),this.varKind=t,this.name=r,this.rhs=n}render({es5:t,_n:r}){let n=t?ut.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+r}optimizeNames(t,r){if(t[this.name.str])return this.rhs&&(this.rhs=sn(this.rhs,t,r)),this}get names(){return this.rhs instanceof X._CodeOrName?this.rhs.names:{}}},Ms=class extends Ot{constructor(t,r,n){super(),this.lhs=t,this.rhs=r,this.sideEffects=n}render({_n:t}){return`${this.lhs} = ${this.rhs};`+t}optimizeNames(t,r){if(!(this.lhs instanceof X.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=sn(this.rhs,t,r),this}get names(){let t=this.lhs instanceof X.Name?{}:{...this.lhs.names};return Ls(t,this.rhs)}},yu=class extends Ms{constructor(t,r,n,o){super(t,n,o),this.op=r}render({_n:t}){return`${this.lhs} ${this.op}= ${this.rhs};`+t}},_u=class extends Ot{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`${this.label}:`+t}},vu=class extends Ot{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`break${this.label?` ${this.label}`:""};`+t}},bu=class extends Ot{constructor(t){super(),this.error=t}render({_n:t}){return`throw ${this.error};`+t}get names(){return this.error.names}},wu=class extends Ot{constructor(t){super(),this.code=t}render({_n:t}){return`${this.code};`+t}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(t,r){return this.code=sn(this.code,t,r),this}get names(){return this.code instanceof X._CodeOrName?this.code.names:{}}},eo=class extends Ot{constructor(t=[]){super(),this.nodes=t}render(t){return this.nodes.reduce((r,n)=>r+n.render(t),"")}optimizeNodes(){let{nodes:t}=this,r=t.length;for(;r--;){let n=t[r].optimizeNodes();Array.isArray(n)?t.splice(r,1,...n):n?t[r]=n:t.splice(r,1)}return t.length>0?this:void 0}optimizeNames(t,r){let{nodes:n}=this,o=n.length;for(;o--;){let s=n[o];s.optimizeNames(t,r)||(d0(t,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>Rr(t,r.names),{})}},jt=class extends eo{render(t){return"{"+t._n+super.render(t)+"}"+t._n}},ku=class extends eo{},on=class extends jt{};on.kind="else";var Pr=class e extends jt{constructor(t,r){super(r),this.condition=t}render(t){let r=`if(${this.condition})`+super.render(t);return this.else&&(r+="else "+this.else.render(t)),r}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new on(n):n}if(r)return t===!1?r instanceof e?r:r.nodes:this.nodes.length?this:new e(Nf(t),r instanceof e?[r]:r.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(t,r),!!(super.optimizeNames(t,r)||this.else))return this.condition=sn(this.condition,t,r),this}get names(){let t=super.names;return Ls(t,this.condition),this.else&&Rr(t,this.else.names),t}};Pr.kind="if";var Tr=class extends jt{};Tr.kind="for";var xu=class extends Tr{constructor(t){super(),this.iteration=t}render(t){return`for(${this.iteration})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iteration=sn(this.iteration,t,r),this}get names(){return Rr(super.names,this.iteration.names)}},Su=class extends Tr{constructor(t,r,n,o){super(),this.varKind=t,this.name=r,this.from=n,this.to=o}render(t){let r=t.es5?ut.varKinds.var:this.varKind,{name:n,from:o,to:s}=this;return`for(${r} ${n}=${o}; ${n}<${s}; ${n}++)`+super.render(t)}get names(){let t=Ls(super.names,this.from);return Ls(t,this.to)}},Ns=class extends Tr{constructor(t,r,n,o){super(),this.loop=t,this.varKind=r,this.name=n,this.iterable=o}render(t){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iterable=sn(this.iterable,t,r),this}get names(){return Rr(super.names,this.iterable.names)}},to=class extends jt{constructor(t,r,n){super(),this.name=t,this.args=r,this.async=n}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}};to.kind="func";var ro=class extends eo{render(t){return"return "+super.render(t)}};ro.kind="return";var $u=class extends jt{render(t){let r="try"+super.render(t);return this.catch&&(r+=this.catch.render(t)),this.finally&&(r+=this.finally.render(t)),r}optimizeNodes(){var t,r;return super.optimizeNodes(),(t=this.catch)===null||t===void 0||t.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(t,r){var n,o;return super.optimizeNames(t,r),(n=this.catch)===null||n===void 0||n.optimizeNames(t,r),(o=this.finally)===null||o===void 0||o.optimizeNames(t,r),this}get names(){let t=super.names;return this.catch&&Rr(t,this.catch.names),this.finally&&Rr(t,this.finally.names),t}},no=class extends jt{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}};no.kind="catch";var oo=class extends jt{render(t){return"finally"+super.render(t)}};oo.kind="finally";var zu=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
|
|
4
|
-
`:""},this._extScope=t,this._scope=new ut.Scope({parent:t}),this._nodes=[new ku]}toString(){return this._root.render(this.opts)}name(t){return this._scope.name(t)}scopeName(t){return this._extScope.name(t)}scopeValue(t,r){let n=this._extScope.value(t,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(t,r){return this._extScope.getValue(t,r)}scopeRefs(t){return this._extScope.scopeRefs(t,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(t,r,n,o){let s=this._scope.toName(r);return n!==void 0&&o&&(this._constants[s.str]=n),this._leafNode(new gu(t,s,n)),s}const(t,r,n){return this._def(ut.varKinds.const,t,r,n)}let(t,r,n){return this._def(ut.varKinds.let,t,r,n)}var(t,r,n){return this._def(ut.varKinds.var,t,r,n)}assign(t,r,n){return this._leafNode(new Ms(t,r,n))}add(t,r){return this._leafNode(new yu(t,V.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==X.nil&&this._leafNode(new wu(t)),this}object(...t){let r=["{"];for(let[n,o]of t)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,X.addCodeArg)(r,o));return r.push("}"),new X._Code(r)}if(t,r,n){if(this._blockNode(new Pr(t)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(t){return this._elseNode(new Pr(t))}else(){return this._elseNode(new on)}endIf(){return this._endBlockNode(Pr,on)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new xu(t),r)}forRange(t,r,n,o,s=this.opts.es5?ut.varKinds.var:ut.varKinds.let){let i=this._scope.toName(t);return this._for(new Su(s,i,r,n),()=>o(i))}forOf(t,r,n,o=ut.varKinds.const){let s=this._scope.toName(t);if(this.opts.es5){let i=r instanceof X.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,X._)`${i}.length`,a=>{this.var(s,(0,X._)`${i}[${a}]`),n(s)})}return this._for(new Ns("of",o,s,r),()=>n(s))}forIn(t,r,n,o=this.opts.es5?ut.varKinds.var:ut.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0,X._)`Object.keys(${r})`,n);let s=this._scope.toName(t);return this._for(new Ns("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(Tr)}label(t){return this._leafNode(new _u(t))}break(t){return this._leafNode(new vu(t))}return(t){let r=new ro;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(ro)}try(t,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new $u;if(this._blockNode(o),this.code(t),r){let s=this.name("e");this._currNode=o.catch=new no(s),r(s)}return n&&(this._currNode=o.finally=new oo,this.code(n)),this._endBlockNode(no,oo)}throw(t){return this._leafNode(new bu(t))}block(t,r){return this._blockStarts.push(this._nodes.length),t&&this.code(t).endBlock(r),this}endBlock(t){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||t!==void 0&&n!==t)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${t} expected`);return this._nodes.length=r,this}func(t,r=X.nil,n,o){return this._blockNode(new to(t,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(to)}optimize(t=1){for(;t-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(t){return this._currNode.nodes.push(t),this}_blockNode(t){this._currNode.nodes.push(t),this._nodes.push(t)}_endBlockNode(t,r){let n=this._currNode;if(n instanceof t||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${t.kind}/${r.kind}`:t.kind}"`)}_elseNode(t){let r=this._currNode;if(!(r instanceof Pr))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=t,this}get _root(){return this._nodes[0]}get _currNode(){let t=this._nodes;return t[t.length-1]}set _currNode(t){let r=this._nodes;r[r.length-1]=t}};V.CodeGen=zu;function Rr(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function Ls(e,t){return t instanceof X._CodeOrName?Rr(e,t.names):e}function sn(e,t,r){if(e instanceof X.Name)return n(e);if(!o(e))return e;return new X._Code(e._items.reduce((s,i)=>(i instanceof X.Name&&(i=n(i)),i instanceof X._Code?s.push(...i._items):s.push(i),s),[]));function n(s){let i=r[s.str];return i===void 0||t[s.str]!==1?s:(delete t[s.str],i)}function o(s){return s instanceof X._Code&&s._items.some(i=>i instanceof X.Name&&t[i.str]===1&&r[i.str]!==void 0)}}function d0(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0)}function Nf(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,X._)`!${Pu(e)}`}V.not=Nf;var l0=Lf(V.operators.AND);function p0(...e){return e.reduce(l0)}V.and=p0;var m0=Lf(V.operators.OR);function f0(...e){return e.reduce(m0)}V.or=f0;function Lf(e){return(t,r)=>t===X.nil?r:r===X.nil?t:(0,X._)`${Pu(t)} ${e} ${Pu(r)}`}function Pu(e){return e instanceof X.Name?e:(0,X._)`(${e})`}});var ee=z(B=>{"use strict";Object.defineProperty(B,"__esModule",{value:!0});B.checkStrictMode=B.getErrorPath=B.Type=B.useFunc=B.setEvaluated=B.evaluatedPropsToName=B.mergeEvaluated=B.eachItem=B.unescapeJsonPointer=B.escapeJsonPointer=B.escapeFragment=B.unescapeFragment=B.schemaRefOrVal=B.schemaHasRulesButRef=B.schemaHasRules=B.checkUnknownRules=B.alwaysValidSchema=B.toHash=void 0;var se=F(),h0=Qn();function g0(e){let t={};for(let r of e)t[r]=!0;return t}B.toHash=g0;function y0(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(Uf(e,t),!qf(t,e.self.RULES.all))}B.alwaysValidSchema=y0;function Uf(e,t=e.schema){let{opts:r,self:n}=e;if(!r.strictSchema||typeof t=="boolean")return;let o=n.RULES.keywords;for(let s in t)o[s]||Vf(e,`unknown keyword: "${s}"`)}B.checkUnknownRules=Uf;function qf(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(t[r])return!0;return!1}B.schemaHasRules=qf;function _0(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(r!=="$ref"&&t.all[r])return!0;return!1}B.schemaHasRulesButRef=_0;function v0({topSchemaRef:e,schemaPath:t},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,se._)`${r}`}return(0,se._)`${e}${t}${(0,se.getProperty)(n)}`}B.schemaRefOrVal=v0;function b0(e){return Jf(decodeURIComponent(e))}B.unescapeFragment=b0;function w0(e){return encodeURIComponent(Ru(e))}B.escapeFragment=w0;function Ru(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}B.escapeJsonPointer=Ru;function Jf(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}B.unescapeJsonPointer=Jf;function k0(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e)}B.eachItem=k0;function Df({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof se.Name?(s instanceof se.Name?e(o,s,i):t(o,s,i),i):s instanceof se.Name?(t(o,i,s),s):r(s,i);return a===se.Name&&!(c instanceof se.Name)?n(o,c):c}}B.mergeEvaluated={props:Df({mergeNames:(e,t,r)=>e.if((0,se._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0,se._)`${t} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,se._)`${r} || {}`).code((0,se._)`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if((0,se._)`${r} !== true`,()=>{t===!0?e.assign(r,!0):(e.assign(r,(0,se._)`${r} || {}`),Iu(e,r,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:Ff}),items:Df({mergeNames:(e,t,r)=>e.if((0,se._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0,se._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0,se._)`${r} !== true`,()=>e.assign(r,t===!0?!0:(0,se._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function Ff(e,t){if(t===!0)return e.var("props",!0);let r=e.var("props",(0,se._)`{}`);return t!==void 0&&Iu(e,r,t),r}B.evaluatedPropsToName=Ff;function Iu(e,t,r){Object.keys(r).forEach(n=>e.assign((0,se._)`${t}${(0,se.getProperty)(n)}`,!0))}B.setEvaluated=Iu;var Zf={};function x0(e,t){return e.scopeValue("func",{ref:t,code:Zf[t.code]||(Zf[t.code]=new h0._Code(t.code))})}B.useFunc=x0;var Tu;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(Tu||(B.Type=Tu={}));function S0(e,t,r){if(e instanceof se.Name){let n=t===Tu.Num;return r?n?(0,se._)`"[" + ${e} + "]"`:(0,se._)`"['" + ${e} + "']"`:n?(0,se._)`"/" + ${e}`:(0,se._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,se.getProperty)(e).toString():"/"+Ru(e)}B.getErrorPath=S0;function Vf(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===!0)throw new Error(t);e.self.logger.warn(t)}}B.checkStrictMode=Vf});var Ct=z(Eu=>{"use strict";Object.defineProperty(Eu,"__esModule",{value:!0});var Re=F(),$0={data:new Re.Name("data"),valCxt:new Re.Name("valCxt"),instancePath:new Re.Name("instancePath"),parentData:new Re.Name("parentData"),parentDataProperty:new Re.Name("parentDataProperty"),rootData:new Re.Name("rootData"),dynamicAnchors:new Re.Name("dynamicAnchors"),vErrors:new Re.Name("vErrors"),errors:new Re.Name("errors"),this:new Re.Name("this"),self:new Re.Name("self"),scope:new Re.Name("scope"),json:new Re.Name("json"),jsonPos:new Re.Name("jsonPos"),jsonLen:new Re.Name("jsonLen"),jsonPart:new Re.Name("jsonPart")};Eu.default=$0});var so=z(Ie=>{"use strict";Object.defineProperty(Ie,"__esModule",{value:!0});Ie.extendErrors=Ie.resetErrorsCount=Ie.reportExtraError=Ie.reportError=Ie.keyword$DataError=Ie.keywordError=void 0;var Y=F(),Zs=ee(),Ae=Ct();Ie.keywordError={message:({keyword:e})=>(0,Y.str)`must pass "${e}" keyword validation`};Ie.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0,Y.str)`"${e}" keyword must be ${t} ($data)`:(0,Y.str)`"${e}" keyword is invalid ($data)`};function z0(e,t=Ie.keywordError,r,n){let{it:o}=e,{gen:s,compositeRule:i,allErrors:a}=o,c=Wf(e,t,r);n??(i||a)?Bf(s,c):Hf(o,(0,Y._)`[${c}]`)}Ie.reportError=z0;function P0(e,t=Ie.keywordError,r){let{it:n}=e,{gen:o,compositeRule:s,allErrors:i}=n,a=Wf(e,t,r);Bf(o,a),s||i||Hf(n,Ae.default.vErrors)}Ie.reportExtraError=P0;function T0(e,t){e.assign(Ae.default.errors,t),e.if((0,Y._)`${Ae.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0,Y._)`${Ae.default.vErrors}.length`,t),()=>e.assign(Ae.default.vErrors,null)))}Ie.resetErrorsCount=T0;function R0({gen:e,keyword:t,schemaValue:r,data:n,errsCount:o,it:s}){if(o===void 0)throw new Error("ajv implementation error");let i=e.name("err");e.forRange("i",o,Ae.default.errors,a=>{e.const(i,(0,Y._)`${Ae.default.vErrors}[${a}]`),e.if((0,Y._)`${i}.instancePath === undefined`,()=>e.assign((0,Y._)`${i}.instancePath`,(0,Y.strConcat)(Ae.default.instancePath,s.errorPath))),e.assign((0,Y._)`${i}.schemaPath`,(0,Y.str)`${s.errSchemaPath}/${t}`),s.opts.verbose&&(e.assign((0,Y._)`${i}.schema`,r),e.assign((0,Y._)`${i}.data`,n))})}Ie.extendErrors=R0;function Bf(e,t){let r=e.const("err",t);e.if((0,Y._)`${Ae.default.vErrors} === null`,()=>e.assign(Ae.default.vErrors,(0,Y._)`[${r}]`),(0,Y._)`${Ae.default.vErrors}.push(${r})`),e.code((0,Y._)`${Ae.default.errors}++`)}function Hf(e,t){let{gen:r,validateName:n,schemaEnv:o}=e;o.$async?r.throw((0,Y._)`new ${e.ValidationError}(${t})`):(r.assign((0,Y._)`${n}.errors`,t),r.return(!1))}var Ir={keyword:new Y.Name("keyword"),schemaPath:new Y.Name("schemaPath"),params:new Y.Name("params"),propertyName:new Y.Name("propertyName"),message:new Y.Name("message"),schema:new Y.Name("schema"),parentSchema:new Y.Name("parentSchema")};function Wf(e,t,r){let{createErrors:n}=e.it;return n===!1?(0,Y._)`{}`:I0(e,t,r)}function I0(e,t,r={}){let{gen:n,it:o}=e,s=[E0(o,r),O0(e,r)];return j0(e,t,s),n.object(...s)}function E0({errorPath:e},{instancePath:t}){let r=t?(0,Y.str)`${e}${(0,Zs.getErrorPath)(t,Zs.Type.Str)}`:e;return[Ae.default.instancePath,(0,Y.strConcat)(Ae.default.instancePath,r)]}function O0({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:n}){let o=n?t:(0,Y.str)`${t}/${e}`;return r&&(o=(0,Y.str)`${o}${(0,Zs.getErrorPath)(r,Zs.Type.Str)}`),[Ir.schemaPath,o]}function j0(e,{params:t,message:r},n){let{keyword:o,data:s,schemaValue:i,it:a}=e,{opts:c,propertyName:u,topSchemaRef:d,schemaPath:l}=a;n.push([Ir.keyword,o],[Ir.params,typeof t=="function"?t(e):t||(0,Y._)`{}`]),c.messages&&n.push([Ir.message,typeof r=="function"?r(e):r]),c.verbose&&n.push([Ir.schema,i],[Ir.parentSchema,(0,Y._)`${d}${l}`],[Ae.default.data,s]),u&&n.push([Ir.propertyName,u])}});var Kf=z(an=>{"use strict";Object.defineProperty(an,"__esModule",{value:!0});an.boolOrEmptySchema=an.topBoolOrEmptySchema=void 0;var C0=so(),A0=F(),M0=Ct(),N0={message:"boolean schema is false"};function L0(e){let{gen:t,schema:r,validateName:n}=e;r===!1?Gf(e,!1):typeof r=="object"&&r.$async===!0?t.return(M0.default.data):(t.assign((0,A0._)`${n}.errors`,null),t.return(!0))}an.topBoolOrEmptySchema=L0;function D0(e,t){let{gen:r,schema:n}=e;n===!1?(r.var(t,!1),Gf(e)):r.var(t,!0)}an.boolOrEmptySchema=D0;function Gf(e,t){let{gen:r,data:n}=e,o={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,C0.reportError)(o,N0,void 0,t)}});var Ou=z(cn=>{"use strict";Object.defineProperty(cn,"__esModule",{value:!0});cn.getRules=cn.isJSONType=void 0;var Z0=["string","number","integer","boolean","null","object","array"],U0=new Set(Z0);function q0(e){return typeof e=="string"&&U0.has(e)}cn.isJSONType=q0;function J0(){let e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}cn.getRules=J0});var ju=z(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.shouldUseRule=Gt.shouldUseGroup=Gt.schemaHasRulesForType=void 0;function F0({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==!0&&Xf(e,n)}Gt.schemaHasRulesForType=F0;function Xf(e,t){return t.rules.some(r=>Yf(e,r))}Gt.shouldUseGroup=Xf;function Yf(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some(n=>e[n]!==void 0))}Gt.shouldUseRule=Yf});var io=z(Ee=>{"use strict";Object.defineProperty(Ee,"__esModule",{value:!0});Ee.reportTypeError=Ee.checkDataTypes=Ee.checkDataType=Ee.coerceAndCheckDataType=Ee.getJSONTypes=Ee.getSchemaTypes=Ee.DataType=void 0;var V0=Ou(),B0=ju(),H0=so(),q=F(),Qf=ee(),un;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(un||(Ee.DataType=un={}));function W0(e){let t=eh(e.type);if(t.includes("null")){if(e.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===!0&&t.push("null")}return t}Ee.getSchemaTypes=W0;function eh(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(V0.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}Ee.getJSONTypes=eh;function G0(e,t){let{gen:r,data:n,opts:o}=e,s=K0(t,o.coerceTypes),i=t.length>0&&!(s.length===0&&t.length===1&&(0,B0.schemaHasRulesForType)(e,t[0]));if(i){let a=Au(t,n,o.strictNumbers,un.Wrong);r.if(a,()=>{s.length?X0(e,t,s):Mu(e)})}return i}Ee.coerceAndCheckDataType=G0;var th=new Set(["string","number","integer","boolean","null"]);function K0(e,t){return t?e.filter(r=>th.has(r)||t==="array"&&r==="array"):[]}function X0(e,t,r){let{gen:n,data:o,opts:s}=e,i=n.let("dataType",(0,q._)`typeof ${o}`),a=n.let("coerced",(0,q._)`undefined`);s.coerceTypes==="array"&&n.if((0,q._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,q._)`${o}[0]`).assign(i,(0,q._)`typeof ${o}`).if(Au(t,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,q._)`${a} !== undefined`);for(let u of r)(th.has(u)||u==="array"&&s.coerceTypes==="array")&&c(u);n.else(),Mu(e),n.endIf(),n.if((0,q._)`${a} !== undefined`,()=>{n.assign(o,a),Y0(e,a)});function c(u){switch(u){case"string":n.elseIf((0,q._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,q._)`"" + ${o}`).elseIf((0,q._)`${o} === null`).assign(a,(0,q._)`""`);return;case"number":n.elseIf((0,q._)`${i} == "boolean" || ${o} === null
|
|
3
|
+
var rv=Object.create;var Ei=Object.defineProperty;var nv=Object.getOwnPropertyDescriptor;var ov=Object.getOwnPropertyNames;var sv=Object.getPrototypeOf,iv=Object.prototype.hasOwnProperty;var z=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ii=(e,t)=>{for(var r in t)Ei(e,r,{get:t[r],enumerable:!0})},av=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ov(t))!iv.call(e,o)&&o!==r&&Ei(e,o,{get:()=>t[o],enumerable:!(n=nv(t,o))||n.enumerable});return e};var Dl=(e,t,r)=>(r=e!=null?rv(sv(e)):{},av(t||!e||!e.__esModule?Ei(r,"default",{value:e,enumerable:!0}):r,e));var eo=z(Q=>{"use strict";Object.defineProperty(Q,"__esModule",{value:!0});Q.regexpCode=Q.getEsmExportName=Q.getProperty=Q.safeStringify=Q.stringify=Q.strConcat=Q.addCodeArg=Q.str=Q._=Q.nil=Q._Code=Q.Name=Q.IDENTIFIER=Q._CodeOrName=void 0;var Yn=class{};Q._CodeOrName=Yn;Q.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Pr=class extends Yn{constructor(t){if(super(),!Q.IDENTIFIER.test(t))throw new Error("CodeGen: name must be a valid identifier");this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};Q.Name=Pr;var tt=class extends Yn{constructor(t){super(),this._items=typeof t=="string"?[t]:t}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let t=this._items[0];return t===""||t==='""'}get str(){var t;return(t=this._str)!==null&&t!==void 0?t:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var t;return(t=this._names)!==null&&t!==void 0?t:this._names=this._items.reduce((r,n)=>(n instanceof Pr&&(r[n.str]=(r[n.str]||0)+1),r),{})}};Q._Code=tt;Q.nil=new tt("");function Mf(e,...t){let r=[e[0]],n=0;for(;n<t.length;)mu(r,t[n]),r.push(e[++n]);return new tt(r)}Q._=Mf;var pu=new tt("+");function Nf(e,...t){let r=[Qn(e[0])],n=0;for(;n<t.length;)r.push(pu),mu(r,t[n]),r.push(pu,Qn(e[++n]));return s0(r),new tt(r)}Q.str=Nf;function mu(e,t){t instanceof tt?e.push(...t._items):t instanceof Pr?e.push(t):e.push(c0(t))}Q.addCodeArg=mu;function s0(e){let t=1;for(;t<e.length-1;){if(e[t]===pu){let r=i0(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+"}t++}}function i0(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof Pr||e[e.length-1]!=='"'?void 0:typeof t!="string"?`${e.slice(0,-1)}${t}"`:t[0]==='"'?e.slice(0,-1)+t.slice(1):void 0;if(typeof t=="string"&&t[0]==='"'&&!(e instanceof Pr))return`"${e}${t.slice(1)}`}function a0(e,t){return t.emptyStr()?e:e.emptyStr()?t:Nf`${e}${t}`}Q.strConcat=a0;function c0(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:Qn(Array.isArray(e)?e.join(","):e)}function u0(e){return new tt(Qn(e))}Q.stringify=u0;function Qn(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}Q.safeStringify=Qn;function d0(e){return typeof e=="string"&&Q.IDENTIFIER.test(e)?new tt(`.${e}`):Mf`[${e}]`}Q.getProperty=d0;function l0(e){if(typeof e=="string"&&Q.IDENTIFIER.test(e))return new tt(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}Q.getEsmExportName=l0;function p0(e){return new tt(e.toString())}Q.regexpCode=p0});var gu=z(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.ValueScope=qe.ValueScopeName=qe.Scope=qe.varKinds=qe.UsedValueState=void 0;var Ue=eo(),fu=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value}},Cs;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"})(Cs||(qe.UsedValueState=Cs={}));qe.varKinds={const:new Ue.Name("const"),let:new Ue.Name("let"),var:new Ue.Name("var")};var As=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r}toName(t){return t instanceof Ue.Name?t:this.name(t)}name(t){return new Ue.Name(this._newName(t))}_newName(t){let r=this._names[t]||this._nameGroup(t);return`${t}${r.index++}`}_nameGroup(t){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(t)||this._prefixes&&!this._prefixes.has(t))throw new Error(`CodeGen: prefix "${t}" is not allowed in this scope`);return this._names[t]={prefix:t,index:0}}};qe.Scope=As;var Ms=class extends Ue.Name{constructor(t,r){super(r),this.prefix=t}setValue(t,{property:r,itemIndex:n}){this.value=t,this.scopePath=(0,Ue._)`.${new Ue.Name(r)}[${n}]`}};qe.ValueScopeName=Ms;var m0=(0,Ue._)`\n`,hu=class extends As{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?m0:Ue.nil}}get(){return this._scope}name(t){return new Ms(t,this._newName(t))}value(t,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let o=this.toName(t),{prefix:s}=o,i=(n=r.key)!==null&&n!==void 0?n:r.ref,a=this._values[s];if(a){let d=a.get(i);if(d)return d}else a=this._values[s]=new Map;a.set(i,o);let c=this._scope[s]||(this._scope[s]=[]),u=c.length;return c[u]=r.ref,o.setValue(r,{property:s,itemIndex:u}),o}getValue(t,r){let n=this._values[t];if(n)return n.get(r)}scopeRefs(t,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,Ue._)`${t}${n.scopePath}`})}scopeCode(t=this._values,r,n){return this._reduceValues(t,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},r,n)}_reduceValues(t,r,n={},o){let s=Ue.nil;for(let i in t){let a=t[i];if(!a)continue;let c=n[i]=n[i]||new Map;a.forEach(u=>{if(c.has(u))return;c.set(u,Cs.Started);let d=r(u);if(d){let l=this.opts.es5?qe.varKinds.var:qe.varKinds.const;s=(0,Ue._)`${s}${l} ${u} = ${d};${this.opts._n}`}else if(d=o?.(u))s=(0,Ue._)`${s}${d}${this.opts._n}`;else throw new fu(u);c.set(u,Cs.Completed)})}return s}};qe.ValueScope=hu});var F=z(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.or=V.and=V.not=V.CodeGen=V.operators=V.varKinds=V.ValueScopeName=V.ValueScope=V.Scope=V.Name=V.regexpCode=V.stringify=V.getProperty=V.nil=V.strConcat=V.str=V._=void 0;var X=eo(),ut=gu(),Gt=eo();Object.defineProperty(V,"_",{enumerable:!0,get:function(){return Gt._}});Object.defineProperty(V,"str",{enumerable:!0,get:function(){return Gt.str}});Object.defineProperty(V,"strConcat",{enumerable:!0,get:function(){return Gt.strConcat}});Object.defineProperty(V,"nil",{enumerable:!0,get:function(){return Gt.nil}});Object.defineProperty(V,"getProperty",{enumerable:!0,get:function(){return Gt.getProperty}});Object.defineProperty(V,"stringify",{enumerable:!0,get:function(){return Gt.stringify}});Object.defineProperty(V,"regexpCode",{enumerable:!0,get:function(){return Gt.regexpCode}});Object.defineProperty(V,"Name",{enumerable:!0,get:function(){return Gt.Name}});var Zs=gu();Object.defineProperty(V,"Scope",{enumerable:!0,get:function(){return Zs.Scope}});Object.defineProperty(V,"ValueScope",{enumerable:!0,get:function(){return Zs.ValueScope}});Object.defineProperty(V,"ValueScopeName",{enumerable:!0,get:function(){return Zs.ValueScopeName}});Object.defineProperty(V,"varKinds",{enumerable:!0,get:function(){return Zs.varKinds}});V.operators={GT:new X._Code(">"),GTE:new X._Code(">="),LT:new X._Code("<"),LTE:new X._Code("<="),EQ:new X._Code("==="),NEQ:new X._Code("!=="),NOT:new X._Code("!"),OR:new X._Code("||"),AND:new X._Code("&&"),ADD:new X._Code("+")};var Ot=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},yu=class extends Ot{constructor(t,r,n){super(),this.varKind=t,this.name=r,this.rhs=n}render({es5:t,_n:r}){let n=t?ut.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+r}optimizeNames(t,r){if(t[this.name.str])return this.rhs&&(this.rhs=an(this.rhs,t,r)),this}get names(){return this.rhs instanceof X._CodeOrName?this.rhs.names:{}}},Ns=class extends Ot{constructor(t,r,n){super(),this.lhs=t,this.rhs=r,this.sideEffects=n}render({_n:t}){return`${this.lhs} = ${this.rhs};`+t}optimizeNames(t,r){if(!(this.lhs instanceof X.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=an(this.rhs,t,r),this}get names(){let t=this.lhs instanceof X.Name?{}:{...this.lhs.names};return Ds(t,this.rhs)}},_u=class extends Ns{constructor(t,r,n,o){super(t,n,o),this.op=r}render({_n:t}){return`${this.lhs} ${this.op}= ${this.rhs};`+t}},vu=class extends Ot{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`${this.label}:`+t}},bu=class extends Ot{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`break${this.label?` ${this.label}`:""};`+t}},wu=class extends Ot{constructor(t){super(),this.error=t}render({_n:t}){return`throw ${this.error};`+t}get names(){return this.error.names}},ku=class extends Ot{constructor(t){super(),this.code=t}render({_n:t}){return`${this.code};`+t}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(t,r){return this.code=an(this.code,t,r),this}get names(){return this.code instanceof X._CodeOrName?this.code.names:{}}},to=class extends Ot{constructor(t=[]){super(),this.nodes=t}render(t){return this.nodes.reduce((r,n)=>r+n.render(t),"")}optimizeNodes(){let{nodes:t}=this,r=t.length;for(;r--;){let n=t[r].optimizeNodes();Array.isArray(n)?t.splice(r,1,...n):n?t[r]=n:t.splice(r,1)}return t.length>0?this:void 0}optimizeNames(t,r){let{nodes:n}=this,o=n.length;for(;o--;){let s=n[o];s.optimizeNames(t,r)||(f0(t,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>Er(t,r.names),{})}},jt=class extends to{render(t){return"{"+t._n+super.render(t)+"}"+t._n}},xu=class extends to{},sn=class extends jt{};sn.kind="else";var Tr=class e extends jt{constructor(t,r){super(r),this.condition=t}render(t){let r=`if(${this.condition})`+super.render(t);return this.else&&(r+="else "+this.else.render(t)),r}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new sn(n):n}if(r)return t===!1?r instanceof e?r:r.nodes:this.nodes.length?this:new e(Lf(t),r instanceof e?[r]:r.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(t,r),!!(super.optimizeNames(t,r)||this.else))return this.condition=an(this.condition,t,r),this}get names(){let t=super.names;return Ds(t,this.condition),this.else&&Er(t,this.else.names),t}};Tr.kind="if";var Rr=class extends jt{};Rr.kind="for";var Su=class extends Rr{constructor(t){super(),this.iteration=t}render(t){return`for(${this.iteration})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iteration=an(this.iteration,t,r),this}get names(){return Er(super.names,this.iteration.names)}},$u=class extends Rr{constructor(t,r,n,o){super(),this.varKind=t,this.name=r,this.from=n,this.to=o}render(t){let r=t.es5?ut.varKinds.var:this.varKind,{name:n,from:o,to:s}=this;return`for(${r} ${n}=${o}; ${n}<${s}; ${n}++)`+super.render(t)}get names(){let t=Ds(super.names,this.from);return Ds(t,this.to)}},Ls=class extends Rr{constructor(t,r,n,o){super(),this.loop=t,this.varKind=r,this.name=n,this.iterable=o}render(t){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iterable=an(this.iterable,t,r),this}get names(){return Er(super.names,this.iterable.names)}},ro=class extends jt{constructor(t,r,n){super(),this.name=t,this.args=r,this.async=n}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}};ro.kind="func";var no=class extends to{render(t){return"return "+super.render(t)}};no.kind="return";var zu=class extends jt{render(t){let r="try"+super.render(t);return this.catch&&(r+=this.catch.render(t)),this.finally&&(r+=this.finally.render(t)),r}optimizeNodes(){var t,r;return super.optimizeNodes(),(t=this.catch)===null||t===void 0||t.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(t,r){var n,o;return super.optimizeNames(t,r),(n=this.catch)===null||n===void 0||n.optimizeNames(t,r),(o=this.finally)===null||o===void 0||o.optimizeNames(t,r),this}get names(){let t=super.names;return this.catch&&Er(t,this.catch.names),this.finally&&Er(t,this.finally.names),t}},oo=class extends jt{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}};oo.kind="catch";var so=class extends jt{render(t){return"finally"+super.render(t)}};so.kind="finally";var Pu=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
|
|
4
|
+
`:""},this._extScope=t,this._scope=new ut.Scope({parent:t}),this._nodes=[new xu]}toString(){return this._root.render(this.opts)}name(t){return this._scope.name(t)}scopeName(t){return this._extScope.name(t)}scopeValue(t,r){let n=this._extScope.value(t,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(t,r){return this._extScope.getValue(t,r)}scopeRefs(t){return this._extScope.scopeRefs(t,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(t,r,n,o){let s=this._scope.toName(r);return n!==void 0&&o&&(this._constants[s.str]=n),this._leafNode(new yu(t,s,n)),s}const(t,r,n){return this._def(ut.varKinds.const,t,r,n)}let(t,r,n){return this._def(ut.varKinds.let,t,r,n)}var(t,r,n){return this._def(ut.varKinds.var,t,r,n)}assign(t,r,n){return this._leafNode(new Ns(t,r,n))}add(t,r){return this._leafNode(new _u(t,V.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==X.nil&&this._leafNode(new ku(t)),this}object(...t){let r=["{"];for(let[n,o]of t)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,X.addCodeArg)(r,o));return r.push("}"),new X._Code(r)}if(t,r,n){if(this._blockNode(new Tr(t)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(t){return this._elseNode(new Tr(t))}else(){return this._elseNode(new sn)}endIf(){return this._endBlockNode(Tr,sn)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new Su(t),r)}forRange(t,r,n,o,s=this.opts.es5?ut.varKinds.var:ut.varKinds.let){let i=this._scope.toName(t);return this._for(new $u(s,i,r,n),()=>o(i))}forOf(t,r,n,o=ut.varKinds.const){let s=this._scope.toName(t);if(this.opts.es5){let i=r instanceof X.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,X._)`${i}.length`,a=>{this.var(s,(0,X._)`${i}[${a}]`),n(s)})}return this._for(new Ls("of",o,s,r),()=>n(s))}forIn(t,r,n,o=this.opts.es5?ut.varKinds.var:ut.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0,X._)`Object.keys(${r})`,n);let s=this._scope.toName(t);return this._for(new Ls("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(Rr)}label(t){return this._leafNode(new vu(t))}break(t){return this._leafNode(new bu(t))}return(t){let r=new no;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(no)}try(t,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new zu;if(this._blockNode(o),this.code(t),r){let s=this.name("e");this._currNode=o.catch=new oo(s),r(s)}return n&&(this._currNode=o.finally=new so,this.code(n)),this._endBlockNode(oo,so)}throw(t){return this._leafNode(new wu(t))}block(t,r){return this._blockStarts.push(this._nodes.length),t&&this.code(t).endBlock(r),this}endBlock(t){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||t!==void 0&&n!==t)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${t} expected`);return this._nodes.length=r,this}func(t,r=X.nil,n,o){return this._blockNode(new ro(t,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(ro)}optimize(t=1){for(;t-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(t){return this._currNode.nodes.push(t),this}_blockNode(t){this._currNode.nodes.push(t),this._nodes.push(t)}_endBlockNode(t,r){let n=this._currNode;if(n instanceof t||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${t.kind}/${r.kind}`:t.kind}"`)}_elseNode(t){let r=this._currNode;if(!(r instanceof Tr))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=t,this}get _root(){return this._nodes[0]}get _currNode(){let t=this._nodes;return t[t.length-1]}set _currNode(t){let r=this._nodes;r[r.length-1]=t}};V.CodeGen=Pu;function Er(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function Ds(e,t){return t instanceof X._CodeOrName?Er(e,t.names):e}function an(e,t,r){if(e instanceof X.Name)return n(e);if(!o(e))return e;return new X._Code(e._items.reduce((s,i)=>(i instanceof X.Name&&(i=n(i)),i instanceof X._Code?s.push(...i._items):s.push(i),s),[]));function n(s){let i=r[s.str];return i===void 0||t[s.str]!==1?s:(delete t[s.str],i)}function o(s){return s instanceof X._Code&&s._items.some(i=>i instanceof X.Name&&t[i.str]===1&&r[i.str]!==void 0)}}function f0(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0)}function Lf(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,X._)`!${Tu(e)}`}V.not=Lf;var h0=Df(V.operators.AND);function g0(...e){return e.reduce(h0)}V.and=g0;var y0=Df(V.operators.OR);function _0(...e){return e.reduce(y0)}V.or=_0;function Df(e){return(t,r)=>t===X.nil?r:r===X.nil?t:(0,X._)`${Tu(t)} ${e} ${Tu(r)}`}function Tu(e){return e instanceof X.Name?e:(0,X._)`(${e})`}});var ee=z(B=>{"use strict";Object.defineProperty(B,"__esModule",{value:!0});B.checkStrictMode=B.getErrorPath=B.Type=B.useFunc=B.setEvaluated=B.evaluatedPropsToName=B.mergeEvaluated=B.eachItem=B.unescapeJsonPointer=B.escapeJsonPointer=B.escapeFragment=B.unescapeFragment=B.schemaRefOrVal=B.schemaHasRulesButRef=B.schemaHasRules=B.checkUnknownRules=B.alwaysValidSchema=B.toHash=void 0;var se=F(),v0=eo();function b0(e){let t={};for(let r of e)t[r]=!0;return t}B.toHash=b0;function w0(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(qf(e,t),!Jf(t,e.self.RULES.all))}B.alwaysValidSchema=w0;function qf(e,t=e.schema){let{opts:r,self:n}=e;if(!r.strictSchema||typeof t=="boolean")return;let o=n.RULES.keywords;for(let s in t)o[s]||Bf(e,`unknown keyword: "${s}"`)}B.checkUnknownRules=qf;function Jf(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(t[r])return!0;return!1}B.schemaHasRules=Jf;function k0(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(r!=="$ref"&&t.all[r])return!0;return!1}B.schemaHasRulesButRef=k0;function x0({topSchemaRef:e,schemaPath:t},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,se._)`${r}`}return(0,se._)`${e}${t}${(0,se.getProperty)(n)}`}B.schemaRefOrVal=x0;function S0(e){return Ff(decodeURIComponent(e))}B.unescapeFragment=S0;function $0(e){return encodeURIComponent(Eu(e))}B.escapeFragment=$0;function Eu(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}B.escapeJsonPointer=Eu;function Ff(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}B.unescapeJsonPointer=Ff;function z0(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e)}B.eachItem=z0;function Zf({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof se.Name?(s instanceof se.Name?e(o,s,i):t(o,s,i),i):s instanceof se.Name?(t(o,i,s),s):r(s,i);return a===se.Name&&!(c instanceof se.Name)?n(o,c):c}}B.mergeEvaluated={props:Zf({mergeNames:(e,t,r)=>e.if((0,se._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0,se._)`${t} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,se._)`${r} || {}`).code((0,se._)`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if((0,se._)`${r} !== true`,()=>{t===!0?e.assign(r,!0):(e.assign(r,(0,se._)`${r} || {}`),Iu(e,r,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:Vf}),items:Zf({mergeNames:(e,t,r)=>e.if((0,se._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0,se._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0,se._)`${r} !== true`,()=>e.assign(r,t===!0?!0:(0,se._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function Vf(e,t){if(t===!0)return e.var("props",!0);let r=e.var("props",(0,se._)`{}`);return t!==void 0&&Iu(e,r,t),r}B.evaluatedPropsToName=Vf;function Iu(e,t,r){Object.keys(r).forEach(n=>e.assign((0,se._)`${t}${(0,se.getProperty)(n)}`,!0))}B.setEvaluated=Iu;var Uf={};function P0(e,t){return e.scopeValue("func",{ref:t,code:Uf[t.code]||(Uf[t.code]=new v0._Code(t.code))})}B.useFunc=P0;var Ru;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(Ru||(B.Type=Ru={}));function T0(e,t,r){if(e instanceof se.Name){let n=t===Ru.Num;return r?n?(0,se._)`"[" + ${e} + "]"`:(0,se._)`"['" + ${e} + "']"`:n?(0,se._)`"/" + ${e}`:(0,se._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,se.getProperty)(e).toString():"/"+Eu(e)}B.getErrorPath=T0;function Bf(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===!0)throw new Error(t);e.self.logger.warn(t)}}B.checkStrictMode=Bf});var Ct=z(Ou=>{"use strict";Object.defineProperty(Ou,"__esModule",{value:!0});var Re=F(),R0={data:new Re.Name("data"),valCxt:new Re.Name("valCxt"),instancePath:new Re.Name("instancePath"),parentData:new Re.Name("parentData"),parentDataProperty:new Re.Name("parentDataProperty"),rootData:new Re.Name("rootData"),dynamicAnchors:new Re.Name("dynamicAnchors"),vErrors:new Re.Name("vErrors"),errors:new Re.Name("errors"),this:new Re.Name("this"),self:new Re.Name("self"),scope:new Re.Name("scope"),json:new Re.Name("json"),jsonPos:new Re.Name("jsonPos"),jsonLen:new Re.Name("jsonLen"),jsonPart:new Re.Name("jsonPart")};Ou.default=R0});var io=z(Ee=>{"use strict";Object.defineProperty(Ee,"__esModule",{value:!0});Ee.extendErrors=Ee.resetErrorsCount=Ee.reportExtraError=Ee.reportError=Ee.keyword$DataError=Ee.keywordError=void 0;var Y=F(),Us=ee(),Ae=Ct();Ee.keywordError={message:({keyword:e})=>(0,Y.str)`must pass "${e}" keyword validation`};Ee.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0,Y.str)`"${e}" keyword must be ${t} ($data)`:(0,Y.str)`"${e}" keyword is invalid ($data)`};function E0(e,t=Ee.keywordError,r,n){let{it:o}=e,{gen:s,compositeRule:i,allErrors:a}=o,c=Gf(e,t,r);n??(i||a)?Hf(s,c):Wf(o,(0,Y._)`[${c}]`)}Ee.reportError=E0;function I0(e,t=Ee.keywordError,r){let{it:n}=e,{gen:o,compositeRule:s,allErrors:i}=n,a=Gf(e,t,r);Hf(o,a),s||i||Wf(n,Ae.default.vErrors)}Ee.reportExtraError=I0;function O0(e,t){e.assign(Ae.default.errors,t),e.if((0,Y._)`${Ae.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0,Y._)`${Ae.default.vErrors}.length`,t),()=>e.assign(Ae.default.vErrors,null)))}Ee.resetErrorsCount=O0;function j0({gen:e,keyword:t,schemaValue:r,data:n,errsCount:o,it:s}){if(o===void 0)throw new Error("ajv implementation error");let i=e.name("err");e.forRange("i",o,Ae.default.errors,a=>{e.const(i,(0,Y._)`${Ae.default.vErrors}[${a}]`),e.if((0,Y._)`${i}.instancePath === undefined`,()=>e.assign((0,Y._)`${i}.instancePath`,(0,Y.strConcat)(Ae.default.instancePath,s.errorPath))),e.assign((0,Y._)`${i}.schemaPath`,(0,Y.str)`${s.errSchemaPath}/${t}`),s.opts.verbose&&(e.assign((0,Y._)`${i}.schema`,r),e.assign((0,Y._)`${i}.data`,n))})}Ee.extendErrors=j0;function Hf(e,t){let r=e.const("err",t);e.if((0,Y._)`${Ae.default.vErrors} === null`,()=>e.assign(Ae.default.vErrors,(0,Y._)`[${r}]`),(0,Y._)`${Ae.default.vErrors}.push(${r})`),e.code((0,Y._)`${Ae.default.errors}++`)}function Wf(e,t){let{gen:r,validateName:n,schemaEnv:o}=e;o.$async?r.throw((0,Y._)`new ${e.ValidationError}(${t})`):(r.assign((0,Y._)`${n}.errors`,t),r.return(!1))}var Ir={keyword:new Y.Name("keyword"),schemaPath:new Y.Name("schemaPath"),params:new Y.Name("params"),propertyName:new Y.Name("propertyName"),message:new Y.Name("message"),schema:new Y.Name("schema"),parentSchema:new Y.Name("parentSchema")};function Gf(e,t,r){let{createErrors:n}=e.it;return n===!1?(0,Y._)`{}`:C0(e,t,r)}function C0(e,t,r={}){let{gen:n,it:o}=e,s=[A0(o,r),M0(e,r)];return N0(e,t,s),n.object(...s)}function A0({errorPath:e},{instancePath:t}){let r=t?(0,Y.str)`${e}${(0,Us.getErrorPath)(t,Us.Type.Str)}`:e;return[Ae.default.instancePath,(0,Y.strConcat)(Ae.default.instancePath,r)]}function M0({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:n}){let o=n?t:(0,Y.str)`${t}/${e}`;return r&&(o=(0,Y.str)`${o}${(0,Us.getErrorPath)(r,Us.Type.Str)}`),[Ir.schemaPath,o]}function N0(e,{params:t,message:r},n){let{keyword:o,data:s,schemaValue:i,it:a}=e,{opts:c,propertyName:u,topSchemaRef:d,schemaPath:l}=a;n.push([Ir.keyword,o],[Ir.params,typeof t=="function"?t(e):t||(0,Y._)`{}`]),c.messages&&n.push([Ir.message,typeof r=="function"?r(e):r]),c.verbose&&n.push([Ir.schema,i],[Ir.parentSchema,(0,Y._)`${d}${l}`],[Ae.default.data,s]),u&&n.push([Ir.propertyName,u])}});var Xf=z(cn=>{"use strict";Object.defineProperty(cn,"__esModule",{value:!0});cn.boolOrEmptySchema=cn.topBoolOrEmptySchema=void 0;var L0=io(),D0=F(),Z0=Ct(),U0={message:"boolean schema is false"};function q0(e){let{gen:t,schema:r,validateName:n}=e;r===!1?Kf(e,!1):typeof r=="object"&&r.$async===!0?t.return(Z0.default.data):(t.assign((0,D0._)`${n}.errors`,null),t.return(!0))}cn.topBoolOrEmptySchema=q0;function J0(e,t){let{gen:r,schema:n}=e;n===!1?(r.var(t,!1),Kf(e)):r.var(t,!0)}cn.boolOrEmptySchema=J0;function Kf(e,t){let{gen:r,data:n}=e,o={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,L0.reportError)(o,U0,void 0,t)}});var ju=z(un=>{"use strict";Object.defineProperty(un,"__esModule",{value:!0});un.getRules=un.isJSONType=void 0;var F0=["string","number","integer","boolean","null","object","array"],V0=new Set(F0);function B0(e){return typeof e=="string"&&V0.has(e)}un.isJSONType=B0;function H0(){let e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}un.getRules=H0});var Cu=z(Kt=>{"use strict";Object.defineProperty(Kt,"__esModule",{value:!0});Kt.shouldUseRule=Kt.shouldUseGroup=Kt.schemaHasRulesForType=void 0;function W0({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==!0&&Yf(e,n)}Kt.schemaHasRulesForType=W0;function Yf(e,t){return t.rules.some(r=>Qf(e,r))}Kt.shouldUseGroup=Yf;function Qf(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some(n=>e[n]!==void 0))}Kt.shouldUseRule=Qf});var ao=z(Ie=>{"use strict";Object.defineProperty(Ie,"__esModule",{value:!0});Ie.reportTypeError=Ie.checkDataTypes=Ie.checkDataType=Ie.coerceAndCheckDataType=Ie.getJSONTypes=Ie.getSchemaTypes=Ie.DataType=void 0;var G0=ju(),K0=Cu(),X0=io(),q=F(),eh=ee(),dn;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(dn||(Ie.DataType=dn={}));function Y0(e){let t=th(e.type);if(t.includes("null")){if(e.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===!0&&t.push("null")}return t}Ie.getSchemaTypes=Y0;function th(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(G0.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}Ie.getJSONTypes=th;function Q0(e,t){let{gen:r,data:n,opts:o}=e,s=eS(t,o.coerceTypes),i=t.length>0&&!(s.length===0&&t.length===1&&(0,K0.schemaHasRulesForType)(e,t[0]));if(i){let a=Mu(t,n,o.strictNumbers,dn.Wrong);r.if(a,()=>{s.length?tS(e,t,s):Nu(e)})}return i}Ie.coerceAndCheckDataType=Q0;var rh=new Set(["string","number","integer","boolean","null"]);function eS(e,t){return t?e.filter(r=>rh.has(r)||t==="array"&&r==="array"):[]}function tS(e,t,r){let{gen:n,data:o,opts:s}=e,i=n.let("dataType",(0,q._)`typeof ${o}`),a=n.let("coerced",(0,q._)`undefined`);s.coerceTypes==="array"&&n.if((0,q._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,q._)`${o}[0]`).assign(i,(0,q._)`typeof ${o}`).if(Mu(t,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,q._)`${a} !== undefined`);for(let u of r)(rh.has(u)||u==="array"&&s.coerceTypes==="array")&&c(u);n.else(),Nu(e),n.endIf(),n.if((0,q._)`${a} !== undefined`,()=>{n.assign(o,a),rS(e,a)});function c(u){switch(u){case"string":n.elseIf((0,q._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,q._)`"" + ${o}`).elseIf((0,q._)`${o} === null`).assign(a,(0,q._)`""`);return;case"number":n.elseIf((0,q._)`${i} == "boolean" || ${o} === null
|
|
5
5
|
|| (${i} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,q._)`+${o}`);return;case"integer":n.elseIf((0,q._)`${i} === "boolean" || ${o} === null
|
|
6
6
|
|| (${i} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(a,(0,q._)`+${o}`);return;case"boolean":n.elseIf((0,q._)`${o} === "false" || ${o} === 0 || ${o} === null`).assign(a,!1).elseIf((0,q._)`${o} === "true" || ${o} === 1`).assign(a,!0);return;case"null":n.elseIf((0,q._)`${o} === "" || ${o} === 0 || ${o} === false`),n.assign(a,null);return;case"array":n.elseIf((0,q._)`${i} === "string" || ${i} === "number"
|
|
7
|
-
|| ${i} === "boolean" || ${o} === null`).assign(a,(0,q._)`[${o}]`)}}}function Y0({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,q._)`${t} !== undefined`,()=>e.assign((0,q._)`${t}[${r}]`,n))}function Cu(e,t,r,n=un.Correct){let o=n===un.Correct?q.operators.EQ:q.operators.NEQ,s;switch(e){case"null":return(0,q._)`${t} ${o} null`;case"array":s=(0,q._)`Array.isArray(${t})`;break;case"object":s=(0,q._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":s=i((0,q._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":s=i();break;default:return(0,q._)`typeof ${t} ${o} ${e}`}return n===un.Correct?s:(0,q.not)(s);function i(a=q.nil){return(0,q.and)((0,q._)`typeof ${t} == "number"`,a,r?(0,q._)`isFinite(${t})`:q.nil)}}Ee.checkDataType=Cu;function Au(e,t,r,n){if(e.length===1)return Cu(e[0],t,r,n);let o,s=(0,Qf.toHash)(e);if(s.array&&s.object){let i=(0,q._)`typeof ${t} != "object"`;o=s.null?i:(0,q._)`!${t} || ${i}`,delete s.null,delete s.array,delete s.object}else o=q.nil;s.number&&delete s.integer;for(let i in s)o=(0,q.and)(o,Cu(i,t,r,n));return o}Ee.checkDataTypes=Au;var Q0={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,q._)`{type: ${e}}`:(0,q._)`{type: ${t}}`};function Mu(e){let t=eS(e);(0,H0.reportError)(t,Q0)}Ee.reportTypeError=Mu;function eS(e){let{gen:t,data:r,schema:n}=e,o=(0,Qf.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:e}}});var nh=z(Us=>{"use strict";Object.defineProperty(Us,"__esModule",{value:!0});Us.assignDefaults=void 0;var dn=F(),tS=ee();function rS(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let o in r)rh(e,o,r[o].default);else t==="array"&&Array.isArray(n)&&n.forEach((o,s)=>rh(e,s,o.default))}Us.assignDefaults=rS;function rh(e,t,r){let{gen:n,compositeRule:o,data:s,opts:i}=e;if(r===void 0)return;let a=(0,dn._)`${s}${(0,dn.getProperty)(t)}`;if(o){(0,tS.checkStrictMode)(e,`default is ignored for: ${a}`);return}let c=(0,dn._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,dn._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,dn._)`${a} = ${(0,dn.stringify)(r)}`)}});var rt=z(oe=>{"use strict";Object.defineProperty(oe,"__esModule",{value:!0});oe.validateUnion=oe.validateArray=oe.usePattern=oe.callValidateCode=oe.schemaProperties=oe.allSchemaProperties=oe.noPropertyInData=oe.propertyInData=oe.isOwnProperty=oe.hasPropFunc=oe.reportMissingProp=oe.checkMissingProp=oe.checkReportMissingProp=void 0;var de=F(),Nu=ee(),Kt=Ct(),nS=ee();function oS(e,t){let{gen:r,data:n,it:o}=e;r.if(Du(r,n,t,o.opts.ownProperties),()=>{e.setParams({missingProperty:(0,de._)`${t}`},!0),e.error()})}oe.checkReportMissingProp=oS;function sS({gen:e,data:t,it:{opts:r}},n,o){return(0,de.or)(...n.map(s=>(0,de.and)(Du(e,t,s,r.ownProperties),(0,de._)`${o} = ${s}`)))}oe.checkMissingProp=sS;function iS(e,t){e.setParams({missingProperty:t},!0),e.error()}oe.reportMissingProp=iS;function oh(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,de._)`Object.prototype.hasOwnProperty`})}oe.hasPropFunc=oh;function Lu(e,t,r){return(0,de._)`${oh(e)}.call(${t}, ${r})`}oe.isOwnProperty=Lu;function aS(e,t,r,n){let o=(0,de._)`${t}${(0,de.getProperty)(r)} !== undefined`;return n?(0,de._)`${o} && ${Lu(e,t,r)}`:o}oe.propertyInData=aS;function Du(e,t,r,n){let o=(0,de._)`${t}${(0,de.getProperty)(r)} === undefined`;return n?(0,de.or)(o,(0,de.not)(Lu(e,t,r))):o}oe.noPropertyInData=Du;function sh(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}oe.allSchemaProperties=sh;function cS(e,t){return sh(t).filter(r=>!(0,Nu.alwaysValidSchema)(e,t[r]))}oe.schemaProperties=cS;function uS({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,u){let d=u?(0,de._)`${e}, ${t}, ${n}${o}`:t,l=[[Kt.default.instancePath,(0,de.strConcat)(Kt.default.instancePath,s)],[Kt.default.parentData,i.parentData],[Kt.default.parentDataProperty,i.parentDataProperty],[Kt.default.rootData,Kt.default.rootData]];i.opts.dynamicRef&&l.push([Kt.default.dynamicAnchors,Kt.default.dynamicAnchors]);let p=(0,de._)`${d}, ${r.object(...l)}`;return c!==de.nil?(0,de._)`${a}.call(${c}, ${p})`:(0,de._)`${a}(${p})`}oe.callValidateCode=uS;var dS=(0,de._)`new RegExp`;function lS({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:o}=t.code,s=o(r,n);return e.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,de._)`${o.code==="new RegExp"?dS:(0,nS.useFunc)(e,o)}(${r}, ${n})`})}oe.usePattern=lS;function pS(e){let{gen:t,data:r,keyword:n,it:o}=e,s=t.name("valid");if(o.allErrors){let a=t.let("valid",!0);return i(()=>t.assign(a,!1)),a}return t.var(s,!0),i(()=>t.break()),s;function i(a){let c=t.const("len",(0,de._)`${r}.length`);t.forRange("i",0,c,u=>{e.subschema({keyword:n,dataProp:u,dataPropType:Nu.Type.Num},s),t.if((0,de.not)(s),a)})}}oe.validateArray=pS;function mS(e){let{gen:t,schema:r,keyword:n,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,Nu.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let i=t.let("valid",!1),a=t.name("_valid");t.block(()=>r.forEach((c,u)=>{let d=e.subschema({keyword:n,schemaProp:u,compositeRule:!0},a);t.assign(i,(0,de._)`${i} || ${a}`),e.mergeValidEvaluated(d,a)||t.if((0,de.not)(i))})),e.result(i,()=>e.reset(),()=>e.error(!0))}oe.validateUnion=mS});var ch=z(vt=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.validateKeywordUsage=vt.validSchemaType=vt.funcKeywordCode=vt.macroKeywordCode=void 0;var Me=F(),Er=Ct(),fS=rt(),hS=so();function gS(e,t){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=e,a=t.macro.call(i.self,o,s,i),c=ah(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let u=r.name("valid");e.subschema({schema:a,schemaPath:Me.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),e.pass(u,()=>e.error(!0))}vt.macroKeywordCode=gS;function yS(e,t){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=e;vS(c,t);let u=!a&&t.compile?t.compile.call(c.self,s,i,c):t.validate,d=ah(n,o,u),l=n.let("valid");e.block$data(l,p),e.ok((r=t.valid)!==null&&r!==void 0?r:l);function p(){if(t.errors===!1)g(),t.modifying&&ih(e),y(()=>e.error());else{let b=t.async?h():f();t.modifying&&ih(e),y(()=>_S(e,b))}}function h(){let b=n.let("ruleErrs",null);return n.try(()=>g((0,Me._)`await `),w=>n.assign(l,!1).if((0,Me._)`${w} instanceof ${c.ValidationError}`,()=>n.assign(b,(0,Me._)`${w}.errors`),()=>n.throw(w))),b}function f(){let b=(0,Me._)`${d}.errors`;return n.assign(b,null),g(Me.nil),b}function g(b=t.async?(0,Me._)`await `:Me.nil){let w=c.opts.passContext?Er.default.this:Er.default.self,k=!("compile"in t&&!a||t.schema===!1);n.assign(l,(0,Me._)`${b}${(0,fS.callValidateCode)(e,d,w,k)}`,t.modifying)}function y(b){var w;n.if((0,Me.not)((w=t.valid)!==null&&w!==void 0?w:l),b)}}vt.funcKeywordCode=yS;function ih(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,Me._)`${n.parentData}[${n.parentDataProperty}]`))}function _S(e,t){let{gen:r}=e;r.if((0,Me._)`Array.isArray(${t})`,()=>{r.assign(Er.default.vErrors,(0,Me._)`${Er.default.vErrors} === null ? ${t} : ${Er.default.vErrors}.concat(${t})`).assign(Er.default.errors,(0,Me._)`${Er.default.vErrors}.length`),(0,hS.extendErrors)(e)},()=>e.error())}function vS({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function ah(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Me.stringify)(r)})}function bS(e,t,r=!1){return!t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}vt.validSchemaType=bS;function wS({schema:e,opts:t,self:r,errSchemaPath:n},o,s){if(Array.isArray(o.keyword)?!o.keyword.includes(s):o.keyword!==s)throw new Error("ajv implementation error");let i=o.dependencies;if(i?.some(a=>!Object.prototype.hasOwnProperty.call(e,a)))throw new Error(`parent schema must have dependencies of ${s}: ${i.join(",")}`);if(o.validateSchema&&!o.validateSchema(e[s])){let c=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}vt.validateKeywordUsage=wS});var dh=z(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.extendSubschemaMode=Xt.extendSubschemaData=Xt.getSubschema=void 0;var bt=F(),uh=ee();function kS(e,{keyword:t,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:s,topSchemaRef:i}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let a=e.schema[t];return r===void 0?{schema:a,schemaPath:(0,bt._)`${e.schemaPath}${(0,bt.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:a[r],schemaPath:(0,bt._)`${e.schemaPath}${(0,bt.getProperty)(t)}${(0,bt.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,uh.escapeFragment)(r)}`}}if(n!==void 0){if(o===void 0||s===void 0||i===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:o,topSchemaRef:i,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}Xt.getSubschema=kS;function xS(e,t,{dataProp:r,dataPropType:n,data:o,dataTypes:s,propertyName:i}){if(o!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=t;if(r!==void 0){let{errorPath:u,dataPathArr:d,opts:l}=t,p=a.let("data",(0,bt._)`${t.data}${(0,bt.getProperty)(r)}`,!0);c(p),e.errorPath=(0,bt.str)`${u}${(0,uh.getErrorPath)(r,n,l.jsPropertySyntax)}`,e.parentDataProperty=(0,bt._)`${r}`,e.dataPathArr=[...d,e.parentDataProperty]}if(o!==void 0){let u=o instanceof bt.Name?o:a.let("data",o,!0);c(u),i!==void 0&&(e.propertyName=i)}s&&(e.dataTypes=s);function c(u){e.data=u,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,u]}}Xt.extendSubschemaData=xS;function SS(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:s}){n!==void 0&&(e.compositeRule=n),o!==void 0&&(e.createErrors=o),s!==void 0&&(e.allErrors=s),e.jtdDiscriminator=t,e.jtdMetadata=r}Xt.extendSubschemaMode=SS});var Zu=z((I2,lh)=>{"use strict";lh.exports=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var n,o,s;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!e(t[o],r[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(s=Object.keys(t),n=s.length,n!==Object.keys(r).length)return!1;for(o=n;o--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[o]))return!1;for(o=n;o--!==0;){var i=s[o];if(!e(t[i],r[i]))return!1}return!0}return t!==t&&r!==r}});var mh=z((E2,ph)=>{"use strict";var Yt=ph.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};qs(t,n,o,e,"",e)};Yt.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Yt.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Yt.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Yt.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 qs(e,t,r,n,o,s,i,a,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,o,s,i,a,c,u);for(var d in n){var l=n[d];if(Array.isArray(l)){if(d in Yt.arrayKeywords)for(var p=0;p<l.length;p++)qs(e,t,r,l[p],o+"/"+d+"/"+p,s,o,d,n,p)}else if(d in Yt.propsKeywords){if(l&&typeof l=="object")for(var h in l)qs(e,t,r,l[h],o+"/"+d+"/"+$S(h),s,o,d,n,h)}else(d in Yt.keywords||e.allKeys&&!(d in Yt.skipKeywords))&&qs(e,t,r,l,o+"/"+d,s,o,d,n)}r(n,o,s,i,a,c,u)}}function $S(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var ao=z(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.getSchemaRefs=Je.resolveUrl=Je.normalizeId=Je._getFullPath=Je.getFullPath=Je.inlineRef=void 0;var zS=ee(),PS=Zu(),TS=mh(),RS=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function IS(e,t=!0){return typeof e=="boolean"?!0:t===!0?!Uu(e):t?fh(e)<=t:!1}Je.inlineRef=IS;var ES=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Uu(e){for(let t in e){if(ES.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(Uu)||typeof r=="object"&&Uu(r))return!0}return!1}function fh(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!RS.has(r)&&(typeof e[r]=="object"&&(0,zS.eachItem)(e[r],n=>t+=fh(n)),t===1/0))return 1/0}return t}function hh(e,t="",r){r!==!1&&(t=ln(t));let n=e.parse(t);return gh(e,n)}Je.getFullPath=hh;function gh(e,t){return e.serialize(t).split("#")[0]+"#"}Je._getFullPath=gh;var OS=/#\/?$/;function ln(e){return e?e.replace(OS,""):""}Je.normalizeId=ln;function jS(e,t,r){return r=ln(r),e.resolve(t,r)}Je.resolveUrl=jS;var CS=/^[a-z_][-a-z0-9._]*$/i;function AS(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=ln(e[r]||t),s={"":o},i=hh(n,o,!1),a={},c=new Set;return TS(e,{allKeys:!0},(l,p,h,f)=>{if(f===void 0)return;let g=i+p,y=s[f];typeof l[r]=="string"&&(y=b.call(this,l[r])),w.call(this,l.$anchor),w.call(this,l.$dynamicAnchor),s[p]=y;function b(k){let R=this.opts.uriResolver.resolve;if(k=ln(y?R(y,k):k),c.has(k))throw d(k);c.add(k);let M=this.refs[k];return typeof M=="string"&&(M=this.refs[M]),typeof M=="object"?u(l,M.schema,k):k!==ln(g)&&(k[0]==="#"?(u(l,a[k],k),a[k]=l):this.refs[k]=g),k}function w(k){if(typeof k=="string"){if(!CS.test(k))throw new Error(`invalid anchor "${k}"`);b.call(this,`#${k}`)}}}),a;function u(l,p,h){if(p!==void 0&&!PS(l,p))throw d(h)}function d(l){return new Error(`reference "${l}" resolves to more than one schema`)}}Je.getSchemaRefs=AS});var lo=z(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.getData=Qt.KeywordCxt=Qt.validateFunctionCode=void 0;var wh=Kf(),yh=io(),Ju=ju(),Js=io(),MS=nh(),uo=ch(),qu=dh(),C=F(),Z=Ct(),NS=ao(),At=ee(),co=so();function LS(e){if(Sh(e)&&($h(e),xh(e))){US(e);return}kh(e,()=>(0,wh.topBoolOrEmptySchema)(e))}Qt.validateFunctionCode=LS;function kh({gen:e,validateName:t,schema:r,schemaEnv:n,opts:o},s){o.code.es5?e.func(t,(0,C._)`${Z.default.data}, ${Z.default.valCxt}`,n.$async,()=>{e.code((0,C._)`"use strict"; ${_h(r,o)}`),ZS(e,o),e.code(s)}):e.func(t,(0,C._)`${Z.default.data}, ${DS(o)}`,n.$async,()=>e.code(_h(r,o)).code(s))}function DS(e){return(0,C._)`{${Z.default.instancePath}="", ${Z.default.parentData}, ${Z.default.parentDataProperty}, ${Z.default.rootData}=${Z.default.data}${e.dynamicRef?(0,C._)`, ${Z.default.dynamicAnchors}={}`:C.nil}}={}`}function ZS(e,t){e.if(Z.default.valCxt,()=>{e.var(Z.default.instancePath,(0,C._)`${Z.default.valCxt}.${Z.default.instancePath}`),e.var(Z.default.parentData,(0,C._)`${Z.default.valCxt}.${Z.default.parentData}`),e.var(Z.default.parentDataProperty,(0,C._)`${Z.default.valCxt}.${Z.default.parentDataProperty}`),e.var(Z.default.rootData,(0,C._)`${Z.default.valCxt}.${Z.default.rootData}`),t.dynamicRef&&e.var(Z.default.dynamicAnchors,(0,C._)`${Z.default.valCxt}.${Z.default.dynamicAnchors}`)},()=>{e.var(Z.default.instancePath,(0,C._)`""`),e.var(Z.default.parentData,(0,C._)`undefined`),e.var(Z.default.parentDataProperty,(0,C._)`undefined`),e.var(Z.default.rootData,Z.default.data),t.dynamicRef&&e.var(Z.default.dynamicAnchors,(0,C._)`{}`)})}function US(e){let{schema:t,opts:r,gen:n}=e;kh(e,()=>{r.$comment&&t.$comment&&Ph(e),BS(e),n.let(Z.default.vErrors,null),n.let(Z.default.errors,0),r.unevaluated&&qS(e),zh(e),GS(e)})}function qS(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,C._)`${r}.evaluated`),t.if((0,C._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,C._)`${e.evaluated}.props`,(0,C._)`undefined`)),t.if((0,C._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,C._)`${e.evaluated}.items`,(0,C._)`undefined`))}function _h(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,C._)`/*# sourceURL=${r} */`:C.nil}function JS(e,t){if(Sh(e)&&($h(e),xh(e))){FS(e,t);return}(0,wh.boolOrEmptySchema)(e,t)}function xh({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let r in e)if(t.RULES.all[r])return!0;return!1}function Sh(e){return typeof e.schema!="boolean"}function FS(e,t){let{schema:r,gen:n,opts:o}=e;o.$comment&&r.$comment&&Ph(e),HS(e),WS(e);let s=n.const("_errs",Z.default.errors);zh(e,s),n.var(t,(0,C._)`${s} === ${Z.default.errors}`)}function $h(e){(0,At.checkUnknownRules)(e),VS(e)}function zh(e,t){if(e.opts.jtd)return vh(e,[],!1,t);let r=(0,yh.getSchemaTypes)(e.schema),n=(0,yh.coerceAndCheckDataType)(e,r);vh(e,r,!n,t)}function VS(e){let{schema:t,errSchemaPath:r,opts:n,self:o}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,At.schemaHasRulesButRef)(t,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function BS(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,At.checkStrictMode)(e,"default is ignored in the schema root")}function HS(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,NS.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function WS(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function Ph({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)e.code((0,C._)`${Z.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,C.str)`${n}/$comment`,a=e.scopeValue("root",{ref:t.root});e.code((0,C._)`${Z.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function GS(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=e;r.$async?t.if((0,C._)`${Z.default.errors} === 0`,()=>t.return(Z.default.data),()=>t.throw((0,C._)`new ${o}(${Z.default.vErrors})`)):(t.assign((0,C._)`${n}.errors`,Z.default.vErrors),s.unevaluated&&KS(e),t.return((0,C._)`${Z.default.errors} === 0`))}function KS({gen:e,evaluated:t,props:r,items:n}){r instanceof C.Name&&e.assign((0,C._)`${t}.props`,r),n instanceof C.Name&&e.assign((0,C._)`${t}.items`,n)}function vh(e,t,r,n){let{gen:o,schema:s,data:i,allErrors:a,opts:c,self:u}=e,{RULES:d}=u;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,At.schemaHasRulesButRef)(s,d))){o.block(()=>Rh(e,"$ref",d.all.$ref.definition));return}c.jtd||XS(e,t),o.block(()=>{for(let p of d.rules)l(p);l(d.post)});function l(p){(0,Ju.shouldUseGroup)(s,p)&&(p.type?(o.if((0,Js.checkDataType)(p.type,i,c.strictNumbers)),bh(e,p),t.length===1&&t[0]===p.type&&r&&(o.else(),(0,Js.reportTypeError)(e)),o.endIf()):bh(e,p),a||o.if((0,C._)`${Z.default.errors} === ${n||0}`))}}function bh(e,t){let{gen:r,schema:n,opts:{useDefaults:o}}=e;o&&(0,MS.assignDefaults)(e,t.type),r.block(()=>{for(let s of t.rules)(0,Ju.shouldUseRule)(n,s)&&Rh(e,s.keyword,s.definition,t.type)})}function XS(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(YS(e,t),e.opts.allowUnionTypes||QS(e,t),e$(e,e.dataTypes))}function YS(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{Th(e.dataTypes,r)||Fu(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),r$(e,t)}}function QS(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&Fu(e,"use allowUnionTypes to allow union type keyword")}function e$(e,t){let r=e.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,Ju.shouldUseRule)(e.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>t$(t,i))&&Fu(e,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function t$(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function Th(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function r$(e,t){let r=[];for(let n of e.dataTypes)Th(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function Fu(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,At.checkStrictMode)(e,t,e.opts.strictTypes)}var Fs=class{constructor(t,r,n){if((0,uo.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,At.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",Ih(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,uo.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=t.gen.const("_errs",Z.default.errors))}result(t,r,n){this.failResult((0,C.not)(t),r,n)}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,C.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(t){if(!this.$data)return this.fail(t);let{schemaCode:r}=this;this.fail((0,C._)`${r} !== undefined && (${(0,C.or)(this.invalid$data(),t)})`)}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n)}_error(t,r){(t?co.reportExtraError:co.reportError)(this,this.def.error,r)}$dataError(){(0,co.reportError)(this,this.def.$dataError||co.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,co.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,n=C.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=C.nil,r=C.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,C.or)((0,C._)`${o} === undefined`,r)),t!==C.nil&&n.assign(t,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==C.nil&&n.assign(t,!1)),n.else()}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,C.or)(i(),a());function i(){if(n.length){if(!(r instanceof C.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,C._)`${(0,Js.checkDataTypes)(c,r,s.opts.strictNumbers,Js.DataType.Wrong)}`}return C.nil}function a(){if(o.validateSchema){let c=t.scopeValue("validate$data",{ref:o.validateSchema});return(0,C._)`!${c}(${r})`}return C.nil}}subschema(t,r){let n=(0,qu.getSubschema)(this.it,t);(0,qu.extendSubschemaData)(n,this.it,t),(0,qu.extendSubschemaMode)(n,t);let o={...this.it,...n,items:void 0,props:void 0};return JS(o,r),o}mergeEvaluated(t,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=At.mergeEvaluated.props(o,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=At.mergeEvaluated.items(o,t.items,n.items,r)))}mergeValidEvaluated(t,r){let{it:n,gen:o}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return o.if(r,()=>this.mergeEvaluated(t,C.Name)),!0}};Qt.KeywordCxt=Fs;function Rh(e,t,r,n){let o=new Fs(e,r,t);"code"in r?r.code(o,n):o.$data&&r.validate?(0,uo.funcKeywordCode)(o,r):"macro"in r?(0,uo.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,uo.funcKeywordCode)(o,r)}var n$=/^\/(?:[^~]|~0|~1)*$/,o$=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Ih(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let o,s;if(e==="")return Z.default.rootData;if(e[0]==="/"){if(!n$.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);o=e,s=Z.default.rootData}else{let u=o$.exec(e);if(!u)throw new Error(`Invalid JSON-pointer: ${e}`);let d=+u[1];if(o=u[2],o==="#"){if(d>=t)throw new Error(c("property/index",d));return n[t-d]}if(d>t)throw new Error(c("data",d));if(s=r[t-d],!o)return s}let i=s,a=o.split("/");for(let u of a)u&&(s=(0,C._)`${s}${(0,C.getProperty)((0,At.unescapeJsonPointer)(u))}`,i=(0,C._)`${i} && ${s}`);return i;function c(u,d){return`Cannot access ${u} ${d} levels up, current level is ${t}`}}Qt.getData=Ih});var Vs=z(Bu=>{"use strict";Object.defineProperty(Bu,"__esModule",{value:!0});var Vu=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};Bu.default=Vu});var po=z(Gu=>{"use strict";Object.defineProperty(Gu,"__esModule",{value:!0});var Hu=ao(),Wu=class extends Error{constructor(t,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,Hu.resolveUrl)(t,r,n),this.missingSchema=(0,Hu.normalizeId)((0,Hu.getFullPath)(t,this.missingRef))}};Gu.default=Wu});var Hs=z(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.resolveSchema=nt.getCompilingSchema=nt.resolveRef=nt.compileSchema=nt.SchemaEnv=void 0;var dt=F(),s$=Vs(),Or=Ct(),lt=ao(),Eh=ee(),i$=lo(),pn=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,lt.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={}}};nt.SchemaEnv=pn;function Xu(e){let t=Oh.call(this,e);if(t)return t;let r=(0,lt.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new dt.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;e.$async&&(a=i.scopeValue("Error",{ref:s$.default,code:(0,dt._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");e.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:Or.default.data,parentData:Or.default.parentData,parentDataProperty:Or.default.parentDataProperty,dataNames:[Or.default.data],dataPathArr:[dt.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,dt.stringify)(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:a,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:dt.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,dt._)`""`,opts:this.opts,self:this},d;try{this._compilations.add(e),(0,i$.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let l=i.toString();d=`${i.scopeRefs(Or.default.scope)}return ${l}`,this.opts.code.process&&(d=this.opts.code.process(d,e));let h=new Function(`${Or.default.self}`,`${Or.default.scope}`,d)(this,this.scope.get());if(this.scope.value(c,{ref:h}),h.errors=null,h.schema=e.schema,h.schemaEnv=e,e.$async&&(h.$async=!0),this.opts.code.source===!0&&(h.source={validateName:c,validateCode:l,scopeValues:i._values}),this.opts.unevaluated){let{props:f,items:g}=u;h.evaluated={props:f instanceof dt.Name?void 0:f,items:g instanceof dt.Name?void 0:g,dynamicProps:f instanceof dt.Name,dynamicItems:g instanceof dt.Name},h.source&&(h.source.evaluated=(0,dt.stringify)(h.evaluated))}return e.validate=h,e}catch(l){throw delete e.validate,delete e.validateName,d&&this.logger.error("Error compiling schema, function code:",d),l}finally{this._compilations.delete(e)}}nt.compileSchema=Xu;function a$(e,t,r){var n;r=(0,lt.resolveUrl)(this.opts.uriResolver,t,r);let o=e.refs[r];if(o)return o;let s=d$.call(this,e,r);if(s===void 0){let i=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;i&&(s=new pn({schema:i,schemaId:a,root:e,baseId:t}))}if(s!==void 0)return e.refs[r]=c$.call(this,s)}nt.resolveRef=a$;function c$(e){return(0,lt.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:Xu.call(this,e)}function Oh(e){for(let t of this._compilations)if(u$(t,e))return t}nt.getCompilingSchema=Oh;function u$(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function d$(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||Bs.call(this,e,t)}function Bs(e,t){let r=this.opts.uriResolver.parse(t),n=(0,lt._getFullPath)(this.opts.uriResolver,r),o=(0,lt.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===o)return Ku.call(this,r,e);let s=(0,lt.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=Bs.call(this,e,i);return typeof a?.schema!="object"?void 0:Ku.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||Xu.call(this,i),s===(0,lt.normalizeId)(t)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,lt.resolveUrl)(this.opts.uriResolver,o,u)),new pn({schema:a,schemaId:c,root:e,baseId:o})}return Ku.call(this,r,i)}}nt.resolveSchema=Bs;var l$=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Ku(e,{baseId:t,schema:r,root:n}){var o;if(((o=e.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let a of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,Eh.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!l$.has(a)&&u&&(t=(0,lt.resolveUrl)(this.opts.uriResolver,t,u))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,Eh.schemaHasRulesButRef)(r,this.RULES)){let a=(0,lt.resolveUrl)(this.opts.uriResolver,t,r.$ref);s=Bs.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new pn({schema:r,schemaId:i,root:n,baseId:t}),s.schema!==s.root.schema)return s}});var jh=z((N2,p$)=>{p$.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 Qu=z((L2,Nh)=>{"use strict";var m$=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Ah=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);function Yu(e){let t="",r=0,n=0;for(n=0;n<e.length;n++)if(r=e[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n];break}for(n+=1;n<e.length;n++){if(r=e[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n]}return t}var f$=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Ch(e){return e.length=0,!0}function h$(e,t,r){if(e.length){let n=Yu(e);if(n!=="")t.push(n);else return r.error=!0,!1;e.length=0}return!0}function g$(e){let t=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=h$;for(let c=0;c<e.length;c++){let u=e[c];if(!(u==="["||u==="]"))if(u===":"){if(s===!0&&(i=!0),!a(o,n,r))break;if(++t>7){r.error=!0;break}c>0&&e[c-1]===":"&&(s=!0),n.push(":");continue}else if(u==="%"){if(!a(o,n,r))break;a=Ch}else{o.push(u);continue}}return o.length&&(a===Ch?r.zone=o.join(""):i?n.push(o.join("")):n.push(Yu(o))),r.address=n.join(""),r}function Mh(e){if(y$(e,":")<2)return{host:e,isIPV6:!1};let t=g$(e);if(t.error)return{host:e,isIPV6:!1};{let r=t.address,n=t.address;return t.zone&&(r+="%"+t.zone,n+="%25"+t.zone),{host:r,isIPV6:!0,escapedHost:n}}}function y$(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}function _$(e){let t=e,r=[],n=-1,o=0;for(;o=t.length;){if(o===1){if(t===".")break;if(t==="/"){r.push("/");break}else{r.push(t);break}}else if(o===2){if(t[0]==="."){if(t[1]===".")break;if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&(t[1]==="."||t[1]==="/")){r.push("/");break}}else if(o===3&&t==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(t[0]==="."){if(t[1]==="."){if(t[2]==="/"){t=t.slice(3);continue}}else if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&t[1]==="."){if(t[2]==="/"){t=t.slice(2);continue}else if(t[2]==="."&&t[3]==="/"){t=t.slice(3),r.length!==0&&r.pop();continue}}if((n=t.indexOf("/",1))===-1){r.push(t);break}else r.push(t.slice(0,n)),t=t.slice(n)}return r.join("")}function v$(e,t){let r=t!==!0?escape:unescape;return e.scheme!==void 0&&(e.scheme=r(e.scheme)),e.userinfo!==void 0&&(e.userinfo=r(e.userinfo)),e.host!==void 0&&(e.host=r(e.host)),e.path!==void 0&&(e.path=r(e.path)),e.query!==void 0&&(e.query=r(e.query)),e.fragment!==void 0&&(e.fragment=r(e.fragment)),e}function b$(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!Ah(r)){let n=Mh(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=e.host}t.push(r)}return(typeof e.port=="number"||typeof e.port=="string")&&(t.push(":"),t.push(String(e.port))),t.length?t.join(""):void 0}Nh.exports={nonSimpleDomain:f$,recomposeAuthority:b$,normalizeComponentEncoding:v$,removeDotSegments:_$,isIPv4:Ah,isUUID:m$,normalizeIPv6:Mh,stringArrayToHexStripped:Yu}});var qh=z((D2,Uh)=>{"use strict";var{isUUID:w$}=Qu(),k$=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,x$=["http","https","ws","wss","urn","urn:uuid"];function S$(e){return x$.indexOf(e)!==-1}function ed(e){return e.secure===!0?!0:e.secure===!1?!1:e.scheme?e.scheme.length===3&&(e.scheme[0]==="w"||e.scheme[0]==="W")&&(e.scheme[1]==="s"||e.scheme[1]==="S")&&(e.scheme[2]==="s"||e.scheme[2]==="S"):!1}function Lh(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function Dh(e){let t=String(e.scheme).toLowerCase()==="https";return(e.port===(t?443:80)||e.port==="")&&(e.port=void 0),e.path||(e.path="/"),e}function $$(e){return e.secure=ed(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function z$(e){if((e.port===(ed(e)?443:80)||e.port==="")&&(e.port=void 0),typeof e.secure=="boolean"&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function P$(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(k$);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let o=`${n}:${t.nid||e.nid}`,s=td(o);e.path=void 0,s&&(e=s.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function T$(e,t){if(e.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),o=`${r}:${t.nid||n}`,s=td(o);s&&(e=s.serialize(e,t));let i=e,a=e.nss;return i.path=`${n||t.nid}:${a}`,t.skipEscape=!0,i}function R$(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!w$(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function I$(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var Zh={scheme:"http",domainHost:!0,parse:Lh,serialize:Dh},E$={scheme:"https",domainHost:Zh.domainHost,parse:Lh,serialize:Dh},Ws={scheme:"ws",domainHost:!0,parse:$$,serialize:z$},O$={scheme:"wss",domainHost:Ws.domainHost,parse:Ws.parse,serialize:Ws.serialize},j$={scheme:"urn",parse:P$,serialize:T$,skipNormalize:!0},C$={scheme:"urn:uuid",parse:R$,serialize:I$,skipNormalize:!0},Gs={http:Zh,https:E$,ws:Ws,wss:O$,urn:j$,"urn:uuid":C$};Object.setPrototypeOf(Gs,null);function td(e){return e&&(Gs[e]||Gs[e.toLowerCase()])||void 0}Uh.exports={wsIsSecure:ed,SCHEMES:Gs,isValidSchemeName:S$,getSchemeHandler:td}});var Vh=z((Z2,Xs)=>{"use strict";var{normalizeIPv6:A$,removeDotSegments:mo,recomposeAuthority:M$,normalizeComponentEncoding:Ks,isIPv4:N$,nonSimpleDomain:L$}=Qu(),{SCHEMES:D$,getSchemeHandler:Jh}=qh();function Z$(e,t){return typeof e=="string"?e=wt(Mt(e,t),t):typeof e=="object"&&(e=Mt(wt(e,t),t)),e}function U$(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=Fh(Mt(e,n),Mt(t,n),n,!0);return n.skipEscape=!0,wt(o,n)}function Fh(e,t,r,n){let o={};return n||(e=Mt(wt(e,r),r),t=Mt(wt(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(o.scheme=t.scheme,o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=mo(t.path||""),o.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=mo(t.path||""),o.query=t.query):(t.path?(t.path[0]==="/"?o.path=mo(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?o.path="/"+t.path:e.path?o.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:o.path=t.path,o.path=mo(o.path)),o.query=t.query):(o.path=e.path,t.query!==void 0?o.query=t.query:o.query=e.query),o.userinfo=e.userinfo,o.host=e.host,o.port=e.port),o.scheme=e.scheme),o.fragment=t.fragment,o}function q$(e,t,r){return typeof e=="string"?(e=unescape(e),e=wt(Ks(Mt(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=wt(Ks(e,!0),{...r,skipEscape:!0})),typeof t=="string"?(t=unescape(t),t=wt(Ks(Mt(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=wt(Ks(t,!0),{...r,skipEscape:!0})),e.toLowerCase()===t.toLowerCase()}function wt(e,t){let r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},n=Object.assign({},t),o=[],s=Jh(n.scheme||r.scheme);s&&s.serialize&&s.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&o.push(r.scheme,":");let i=M$(r);if(i!==void 0&&(n.reference!=="suffix"&&o.push("//"),o.push(i),r.path&&r.path[0]!=="/"&&o.push("/")),r.path!==void 0){let a=r.path;!n.absolutePath&&(!s||!s.absolutePath)&&(a=mo(a)),i===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),o.push(a)}return r.query!==void 0&&o.push("?",r.query),r.fragment!==void 0&&o.push("#",r.fragment),o.join("")}var J$=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Mt(e,t){let r=Object.assign({},t),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},o=!1;r.reference==="suffix"&&(r.scheme?e=r.scheme+":"+e:e="//"+e);let s=e.match(J$);if(s){if(n.scheme=s[1],n.userinfo=s[3],n.host=s[4],n.port=parseInt(s[5],10),n.path=s[6]||"",n.query=s[7],n.fragment=s[8],isNaN(n.port)&&(n.port=s[5]),n.host)if(N$(n.host)===!1){let c=A$(n.host);n.host=c.host.toLowerCase(),o=c.isIPV6}else o=!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 i=Jh(r.scheme||n.scheme);if(!r.unicodeSupport&&(!i||!i.unicodeSupport)&&n.host&&(r.domainHost||i&&i.domainHost)&&o===!1&&L$(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(a){n.error=n.error||"Host's domain name can not be converted to ASCII: "+a}(!i||i&&!i.skipNormalize)&&(e.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),i&&i.parse&&i.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var rd={SCHEMES:D$,normalize:Z$,resolve:U$,resolveComponent:Fh,equal:q$,serialize:wt,parse:Mt};Xs.exports=rd;Xs.exports.default=rd;Xs.exports.fastUri=rd});var Hh=z(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});var Bh=Vh();Bh.code='require("ajv/dist/runtime/uri").default';nd.default=Bh});var tg=z(ze=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});ze.CodeGen=ze.Name=ze.nil=ze.stringify=ze.str=ze._=ze.KeywordCxt=void 0;var F$=lo();Object.defineProperty(ze,"KeywordCxt",{enumerable:!0,get:function(){return F$.KeywordCxt}});var mn=F();Object.defineProperty(ze,"_",{enumerable:!0,get:function(){return mn._}});Object.defineProperty(ze,"str",{enumerable:!0,get:function(){return mn.str}});Object.defineProperty(ze,"stringify",{enumerable:!0,get:function(){return mn.stringify}});Object.defineProperty(ze,"nil",{enumerable:!0,get:function(){return mn.nil}});Object.defineProperty(ze,"Name",{enumerable:!0,get:function(){return mn.Name}});Object.defineProperty(ze,"CodeGen",{enumerable:!0,get:function(){return mn.CodeGen}});var V$=Vs(),Yh=po(),B$=Ou(),fo=Hs(),H$=F(),ho=ao(),Ys=io(),sd=ee(),Wh=jh(),W$=Hh(),Qh=(e,t)=>new RegExp(e,t);Qh.code="new RegExp";var G$=["removeAdditional","useDefaults","coerceTypes"],K$=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),X$={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."},Y$={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Gh=200;function Q$(e){var t,r,n,o,s,i,a,c,u,d,l,p,h,f,g,y,b,w,k,R,M,Oe,Ge,Lr,Pi;let kn=e.strict,Ti=(t=e.code)===null||t===void 0?void 0:t.optimize,Ml=Ti===!0||Ti===void 0?1:Ti||0,Nl=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Qh,X_=(o=e.uriResolver)!==null&&o!==void 0?o:W$.default;return{strictSchema:(i=(s=e.strictSchema)!==null&&s!==void 0?s:kn)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=e.strictNumbers)!==null&&a!==void 0?a:kn)!==null&&c!==void 0?c:!0,strictTypes:(d=(u=e.strictTypes)!==null&&u!==void 0?u:kn)!==null&&d!==void 0?d:"log",strictTuples:(p=(l=e.strictTuples)!==null&&l!==void 0?l:kn)!==null&&p!==void 0?p:"log",strictRequired:(f=(h=e.strictRequired)!==null&&h!==void 0?h:kn)!==null&&f!==void 0?f:!1,code:e.code?{...e.code,optimize:Ml,regExp:Nl}:{optimize:Ml,regExp:Nl},loopRequired:(g=e.loopRequired)!==null&&g!==void 0?g:Gh,loopEnum:(y=e.loopEnum)!==null&&y!==void 0?y:Gh,meta:(b=e.meta)!==null&&b!==void 0?b:!0,messages:(w=e.messages)!==null&&w!==void 0?w:!0,inlineRefs:(k=e.inlineRefs)!==null&&k!==void 0?k:!0,schemaId:(R=e.schemaId)!==null&&R!==void 0?R:"$id",addUsedSchema:(M=e.addUsedSchema)!==null&&M!==void 0?M:!0,validateSchema:(Oe=e.validateSchema)!==null&&Oe!==void 0?Oe:!0,validateFormats:(Ge=e.validateFormats)!==null&&Ge!==void 0?Ge:!0,unicodeRegExp:(Lr=e.unicodeRegExp)!==null&&Lr!==void 0?Lr:!0,int32range:(Pi=e.int32range)!==null&&Pi!==void 0?Pi:!0,uriResolver:X_}}var go=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...Q$(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new H$.ValueScope({scope:{},prefixes:K$,es5:r,lines:n}),this.logger=sz(t.logger);let o=t.validateFormats;t.validateFormats=!1,this.RULES=(0,B$.getRules)(),Kh.call(this,X$,t,"NOT SUPPORTED"),Kh.call(this,Y$,t,"DEPRECATED","warn"),this._metaOpts=nz.call(this),t.formats&&tz.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&rz.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),ez.call(this),t.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,o=Wh;n==="id"&&(o={...Wh},o.id=o.$id,delete o.$id),r&&t&&this.addMetaSchema(o,o[n],!1)}defaultMeta(){let{meta:t,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[r]||t:void 0}validate(t,r){let n;if(typeof t=="string"){if(n=this.getSchema(t),!n)throw new Error(`no schema with key or ref "${t}"`)}else n=this.compile(t);let o=n(r);return"$async"in n||(this.errors=n.errors),o}compile(t,r){let n=this._addSchema(t,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(t,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return o.call(this,t,r);async function o(d,l){await s.call(this,d.$schema);let p=this._addSchema(d,l);return p.validate||i.call(this,p)}async function s(d){d&&!this.getSchema(d)&&await o.call(this,{$ref:d},!0)}async function i(d){try{return this._compileSchemaEnv(d)}catch(l){if(!(l instanceof Yh.default))throw l;return a.call(this,l),await c.call(this,l.missingSchema),i.call(this,d)}}function a({missingSchema:d,missingRef:l}){if(this.refs[d])throw new Error(`AnySchema ${d} is loaded but ${l} cannot be resolved`)}async function c(d){let l=await u.call(this,d);this.refs[d]||await s.call(this,l.$schema),this.refs[d]||this.addSchema(l,d,r)}async function u(d){let l=this._loading[d];if(l)return l;try{return await(this._loading[d]=n(d))}finally{delete this._loading[d]}}}addSchema(t,r,n,o=this.opts.validateSchema){if(Array.isArray(t)){for(let i of t)this.addSchema(i,void 0,n,o);return this}let s;if(typeof t=="object"){let{schemaId:i}=this.opts;if(s=t[i],s!==void 0&&typeof s!="string")throw new Error(`schema ${i} must be string`)}return r=(0,ho.normalizeId)(r||s),this._checkUnique(r),this.schemas[r]=this._addSchema(t,n,r,o,!0),this}addMetaSchema(t,r,n=this.opts.validateSchema){return this.addSchema(t,r,!0,n),this}validateSchema(t,r){if(typeof t=="boolean")return!0;let n;if(n=t.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let o=this.validate(n,t);if(!o&&r){let s="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(s);else throw new Error(s)}return o}getSchema(t){let r;for(;typeof(r=Xh.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,o=new fo.SchemaEnv({schema:{},schemaId:n});if(r=fo.resolveSchema.call(this,o,t),!r)return;this.refs[t]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(t){if(t instanceof RegExp)return this._removeAllSchemas(this.schemas,t),this._removeAllSchemas(this.refs,t),this;switch(typeof t){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=Xh.call(this,t);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[t],delete this.refs[t],this}case"object":{let r=t;this._cache.delete(r);let n=t[this.opts.schemaId];return n&&(n=(0,ho.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let r of t)this.addKeyword(r);return this}addKeyword(t,r){let n;if(typeof t=="string")n=t,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof t=="object"&&r===void 0){if(r=t,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(az.call(this,n,r),!r)return(0,sd.eachItem)(n,s=>od.call(this,s)),this;uz.call(this,r);let o={...r,type:(0,Ys.getJSONTypes)(r.type),schemaType:(0,Ys.getJSONTypes)(r.schemaType)};return(0,sd.eachItem)(n,o.type.length===0?s=>od.call(this,s,o):s=>o.type.forEach(i=>od.call(this,s,o,i))),this}getKeyword(t){let r=this.RULES.all[t];return typeof r=="object"?r.definition:!!r}removeKeyword(t){let{RULES:r}=this;delete r.keywords[t],delete r.all[t];for(let n of r.rules){let o=n.rules.findIndex(s=>s.keyword===t);o>=0&&n.rules.splice(o,1)}return this}addFormat(t,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[t]=r,this}errorsText(t=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!t||t.length===0?"No errors":t.map(o=>`${n}${o.instancePath} ${o.message}`).reduce((o,s)=>o+r+s)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let o of r){let s=o.split("/").slice(1),i=t;for(let a of s)i=i[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:u}=c.definition,d=i[a];u&&d&&(i[a]=eg(d))}}return t}_removeAllSchemas(t,r){for(let n in t){let o=t[n];(!r||r.test(n))&&(typeof o=="string"?delete t[n]:o&&!o.meta&&(this._cache.delete(o.schema),delete t[n]))}}_addSchema(t,r,n,o=this.opts.validateSchema,s=this.opts.addUsedSchema){let i,{schemaId:a}=this.opts;if(typeof t=="object")i=t[a];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof t!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(t);if(c!==void 0)return c;n=(0,ho.normalizeId)(i||n);let u=ho.getSchemaRefs.call(this,t,n);return c=new fo.SchemaEnv({schema:t,schemaId:a,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),s&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),o&&this.validateSchema(t,!0),c}_checkUnique(t){if(this.schemas[t]||this.refs[t])throw new Error(`schema with key or id "${t}" already exists`)}_compileSchemaEnv(t){if(t.meta?this._compileMetaSchema(t):fo.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let r=this.opts;this.opts=this._metaOpts;try{fo.compileSchema.call(this,t)}finally{this.opts=r}}};go.ValidationError=V$.default;go.MissingRefError=Yh.default;ze.default=go;function Kh(e,t,r,n="error"){for(let o in e){let s=o;s in t&&this.logger[n](`${r}: option ${o}. ${e[s]}`)}}function Xh(e){return e=(0,ho.normalizeId)(e),this.schemas[e]||this.refs[e]}function ez(){let e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t)}function tz(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function rz(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r)}}function nz(){let e={...this.opts};for(let t of G$)delete e[t];return e}var oz={log(){},warn(){},error(){}};function sz(e){if(e===!1)return oz;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}var iz=/^[a-z_$][a-z0-9_$:-]*$/i;function az(e,t){let{RULES:r}=this;if((0,sd.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!iz.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function od(e,t,r){var n;let o=t?.post;if(r&&o)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:s}=this,i=o?s.post:s.rules.find(({type:c})=>c===r);if(i||(i={type:r,rules:[]},s.rules.push(i)),s.keywords[e]=!0,!t)return;let a={keyword:e,definition:{...t,type:(0,Ys.getJSONTypes)(t.type),schemaType:(0,Ys.getJSONTypes)(t.schemaType)}};t.before?cz.call(this,i,a,t.before):i.rules.push(a),s.all[e]=a,(n=t.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function cz(e,t,r){let n=e.rules.findIndex(o=>o.keyword===r);n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function uz(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=eg(t)),e.validateSchema=this.compile(t,!0))}var dz={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function eg(e){return{anyOf:[e,dz]}}});var rg=z(id=>{"use strict";Object.defineProperty(id,"__esModule",{value:!0});var lz={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};id.default=lz});var ig=z(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.callRef=jr.getValidate=void 0;var pz=po(),ng=rt(),Fe=F(),fn=Ct(),og=Hs(),Qs=ee(),mz={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=n,{root:u}=s;if((r==="#"||r==="#/")&&o===u.baseId)return l();let d=og.resolveRef.call(c,u,o,r);if(d===void 0)throw new pz.default(n.opts.uriResolver,o,r);if(d instanceof og.SchemaEnv)return p(d);return h(d);function l(){if(s===u)return ei(e,i,s,s.$async);let f=t.scopeValue("root",{ref:u});return ei(e,(0,Fe._)`${f}.validate`,u,u.$async)}function p(f){let g=sg(e,f);ei(e,g,f,f.$async)}function h(f){let g=t.scopeValue("schema",a.code.source===!0?{ref:f,code:(0,Fe.stringify)(f)}:{ref:f}),y=t.name("valid"),b=e.subschema({schema:f,dataTypes:[],schemaPath:Fe.nil,topSchemaRef:g,errSchemaPath:r},y);e.mergeEvaluated(b),e.ok(y)}}};function sg(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,Fe._)`${r.scopeValue("wrapper",{ref:t})}.validate`}jr.getValidate=sg;function ei(e,t,r,n){let{gen:o,it:s}=e,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?fn.default.this:Fe.nil;n?d():l();function d(){if(!a.$async)throw new Error("async schema referenced by sync schema");let f=o.let("valid");o.try(()=>{o.code((0,Fe._)`await ${(0,ng.callValidateCode)(e,t,u)}`),h(t),i||o.assign(f,!0)},g=>{o.if((0,Fe._)`!(${g} instanceof ${s.ValidationError})`,()=>o.throw(g)),p(g),i||o.assign(f,!1)}),e.ok(f)}function l(){e.result((0,ng.callValidateCode)(e,t,u),()=>h(t),()=>p(t))}function p(f){let g=(0,Fe._)`${f}.errors`;o.assign(fn.default.vErrors,(0,Fe._)`${fn.default.vErrors} === null ? ${g} : ${fn.default.vErrors}.concat(${g})`),o.assign(fn.default.errors,(0,Fe._)`${fn.default.vErrors}.length`)}function h(f){var g;if(!s.opts.unevaluated)return;let y=(g=r?.validate)===null||g===void 0?void 0:g.evaluated;if(s.props!==!0)if(y&&!y.dynamicProps)y.props!==void 0&&(s.props=Qs.mergeEvaluated.props(o,y.props,s.props));else{let b=o.var("props",(0,Fe._)`${f}.evaluated.props`);s.props=Qs.mergeEvaluated.props(o,b,s.props,Fe.Name)}if(s.items!==!0)if(y&&!y.dynamicItems)y.items!==void 0&&(s.items=Qs.mergeEvaluated.items(o,y.items,s.items));else{let b=o.var("items",(0,Fe._)`${f}.evaluated.items`);s.items=Qs.mergeEvaluated.items(o,b,s.items,Fe.Name)}}}jr.callRef=ei;jr.default=mz});var ag=z(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});var fz=rg(),hz=ig(),gz=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",fz.default,hz.default];ad.default=gz});var cg=z(cd=>{"use strict";Object.defineProperty(cd,"__esModule",{value:!0});var ti=F(),er=ti.operators,ri={maximum:{okStr:"<=",ok:er.LTE,fail:er.GT},minimum:{okStr:">=",ok:er.GTE,fail:er.LT},exclusiveMaximum:{okStr:"<",ok:er.LT,fail:er.GTE},exclusiveMinimum:{okStr:">",ok:er.GT,fail:er.LTE}},yz={message:({keyword:e,schemaCode:t})=>(0,ti.str)`must be ${ri[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,ti._)`{comparison: ${ri[e].okStr}, limit: ${t}}`},_z={keyword:Object.keys(ri),type:"number",schemaType:"number",$data:!0,error:yz,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,ti._)`${r} ${ri[t].fail} ${n} || isNaN(${r})`)}};cd.default=_z});var ug=z(ud=>{"use strict";Object.defineProperty(ud,"__esModule",{value:!0});var yo=F(),vz={message:({schemaCode:e})=>(0,yo.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,yo._)`{multipleOf: ${e}}`},bz={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:vz,code(e){let{gen:t,data:r,schemaCode:n,it:o}=e,s=o.opts.multipleOfPrecision,i=t.let("res"),a=s?(0,yo._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,yo._)`${i} !== parseInt(${i})`;e.fail$data((0,yo._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};ud.default=bz});var lg=z(dd=>{"use strict";Object.defineProperty(dd,"__esModule",{value:!0});function dg(e){let t=e.length,r=0,n=0,o;for(;n<t;)r++,o=e.charCodeAt(n++),o>=55296&&o<=56319&&n<t&&(o=e.charCodeAt(n),(o&64512)===56320&&n++);return r}dd.default=dg;dg.code='require("ajv/dist/runtime/ucs2length").default'});var pg=z(ld=>{"use strict";Object.defineProperty(ld,"__esModule",{value:!0});var Cr=F(),wz=ee(),kz=lg(),xz={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return(0,Cr.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,Cr._)`{limit: ${e}}`},Sz={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:xz,code(e){let{keyword:t,data:r,schemaCode:n,it:o}=e,s=t==="maxLength"?Cr.operators.GT:Cr.operators.LT,i=o.opts.unicode===!1?(0,Cr._)`${r}.length`:(0,Cr._)`${(0,wz.useFunc)(e.gen,kz.default)}(${r})`;e.fail$data((0,Cr._)`${i} ${s} ${n}`)}};ld.default=Sz});var mg=z(pd=>{"use strict";Object.defineProperty(pd,"__esModule",{value:!0});var $z=rt(),ni=F(),zz={message:({schemaCode:e})=>(0,ni.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,ni._)`{pattern: ${e}}`},Pz={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:zz,code(e){let{data:t,$data:r,schema:n,schemaCode:o,it:s}=e,i=s.opts.unicodeRegExp?"u":"",a=r?(0,ni._)`(new RegExp(${o}, ${i}))`:(0,$z.usePattern)(e,n);e.fail$data((0,ni._)`!${a}.test(${t})`)}};pd.default=Pz});var fg=z(md=>{"use strict";Object.defineProperty(md,"__esModule",{value:!0});var _o=F(),Tz={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,_o.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,_o._)`{limit: ${e}}`},Rz={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:Tz,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxProperties"?_o.operators.GT:_o.operators.LT;e.fail$data((0,_o._)`Object.keys(${r}).length ${o} ${n}`)}};md.default=Rz});var hg=z(fd=>{"use strict";Object.defineProperty(fd,"__esModule",{value:!0});var vo=rt(),bo=F(),Iz=ee(),Ez={message:({params:{missingProperty:e}})=>(0,bo.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,bo._)`{missingProperty: ${e}}`},Oz={keyword:"required",type:"object",schemaType:"array",$data:!0,error:Ez,code(e){let{gen:t,schema:r,schemaCode:n,data:o,$data:s,it:i}=e,{opts:a}=i;if(!s&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors?u():d(),a.strictRequired){let h=e.parentSchema.properties,{definedProperties:f}=e.it;for(let g of r)if(h?.[g]===void 0&&!f.has(g)){let y=i.schemaEnv.baseId+i.errSchemaPath,b=`required property "${g}" is not defined at "${y}" (strictRequired)`;(0,Iz.checkStrictMode)(i,b,i.opts.strictRequired)}}function u(){if(c||s)e.block$data(bo.nil,l);else for(let h of r)(0,vo.checkReportMissingProp)(e,h)}function d(){let h=t.let("missing");if(c||s){let f=t.let("valid",!0);e.block$data(f,()=>p(h,f)),e.ok(f)}else t.if((0,vo.checkMissingProp)(e,r,h)),(0,vo.reportMissingProp)(e,h),t.else()}function l(){t.forOf("prop",n,h=>{e.setParams({missingProperty:h}),t.if((0,vo.noPropertyInData)(t,o,h,a.ownProperties),()=>e.error())})}function p(h,f){e.setParams({missingProperty:h}),t.forOf(h,n,()=>{t.assign(f,(0,vo.propertyInData)(t,o,h,a.ownProperties)),t.if((0,bo.not)(f),()=>{e.error(),t.break()})},bo.nil)}}};fd.default=Oz});var gg=z(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});var wo=F(),jz={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,wo.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,wo._)`{limit: ${e}}`},Cz={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:jz,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxItems"?wo.operators.GT:wo.operators.LT;e.fail$data((0,wo._)`${r}.length ${o} ${n}`)}};hd.default=Cz});var oi=z(gd=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});var yg=Zu();yg.code='require("ajv/dist/runtime/equal").default';gd.default=yg});var _g=z(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});var yd=io(),Pe=F(),Az=ee(),Mz=oi(),Nz={message:({params:{i:e,j:t}})=>(0,Pe.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,Pe._)`{i: ${e}, j: ${t}}`},Lz={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:Nz,code(e){let{gen:t,data:r,$data:n,schema:o,parentSchema:s,schemaCode:i,it:a}=e;if(!n&&!o)return;let c=t.let("valid"),u=s.items?(0,yd.getSchemaTypes)(s.items):[];e.block$data(c,d,(0,Pe._)`${i} === false`),e.ok(c);function d(){let f=t.let("i",(0,Pe._)`${r}.length`),g=t.let("j");e.setParams({i:f,j:g}),t.assign(c,!0),t.if((0,Pe._)`${f} > 1`,()=>(l()?p:h)(f,g))}function l(){return u.length>0&&!u.some(f=>f==="object"||f==="array")}function p(f,g){let y=t.name("item"),b=(0,yd.checkDataTypes)(u,y,a.opts.strictNumbers,yd.DataType.Wrong),w=t.const("indices",(0,Pe._)`{}`);t.for((0,Pe._)`;${f}--;`,()=>{t.let(y,(0,Pe._)`${r}[${f}]`),t.if(b,(0,Pe._)`continue`),u.length>1&&t.if((0,Pe._)`typeof ${y} == "string"`,(0,Pe._)`${y} += "_"`),t.if((0,Pe._)`typeof ${w}[${y}] == "number"`,()=>{t.assign(g,(0,Pe._)`${w}[${y}]`),e.error(),t.assign(c,!1).break()}).code((0,Pe._)`${w}[${y}] = ${f}`)})}function h(f,g){let y=(0,Az.useFunc)(t,Mz.default),b=t.name("outer");t.label(b).for((0,Pe._)`;${f}--;`,()=>t.for((0,Pe._)`${g} = ${f}; ${g}--;`,()=>t.if((0,Pe._)`${y}(${r}[${f}], ${r}[${g}])`,()=>{e.error(),t.assign(c,!1).break(b)})))}}};_d.default=Lz});var vg=z(bd=>{"use strict";Object.defineProperty(bd,"__esModule",{value:!0});var vd=F(),Dz=ee(),Zz=oi(),Uz={message:"must be equal to constant",params:({schemaCode:e})=>(0,vd._)`{allowedValue: ${e}}`},qz={keyword:"const",$data:!0,error:Uz,code(e){let{gen:t,data:r,$data:n,schemaCode:o,schema:s}=e;n||s&&typeof s=="object"?e.fail$data((0,vd._)`!${(0,Dz.useFunc)(t,Zz.default)}(${r}, ${o})`):e.fail((0,vd._)`${s} !== ${r}`)}};bd.default=qz});var bg=z(wd=>{"use strict";Object.defineProperty(wd,"__esModule",{value:!0});var ko=F(),Jz=ee(),Fz=oi(),Vz={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,ko._)`{allowedValues: ${e}}`},Bz={keyword:"enum",schemaType:"array",$data:!0,error:Vz,code(e){let{gen:t,data:r,$data:n,schema:o,schemaCode:s,it:i}=e;if(!n&&o.length===0)throw new Error("enum must have non-empty array");let a=o.length>=i.opts.loopEnum,c,u=()=>c??(c=(0,Jz.useFunc)(t,Fz.default)),d;if(a||n)d=t.let("valid"),e.block$data(d,l);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let h=t.const("vSchema",s);d=(0,ko.or)(...o.map((f,g)=>p(h,g)))}e.pass(d);function l(){t.assign(d,!1),t.forOf("v",s,h=>t.if((0,ko._)`${u()}(${r}, ${h})`,()=>t.assign(d,!0).break()))}function p(h,f){let g=o[f];return typeof g=="object"&&g!==null?(0,ko._)`${u()}(${r}, ${h}[${f}])`:(0,ko._)`${r} === ${g}`}}};wd.default=Bz});var wg=z(kd=>{"use strict";Object.defineProperty(kd,"__esModule",{value:!0});var Hz=cg(),Wz=ug(),Gz=pg(),Kz=mg(),Xz=fg(),Yz=hg(),Qz=gg(),e1=_g(),t1=vg(),r1=bg(),n1=[Hz.default,Wz.default,Gz.default,Kz.default,Xz.default,Yz.default,Qz.default,e1.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},t1.default,r1.default];kd.default=n1});var Sd=z(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.validateAdditionalItems=void 0;var Ar=F(),xd=ee(),o1={message:({params:{len:e}})=>(0,Ar.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Ar._)`{limit: ${e}}`},s1={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:o1,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,xd.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}kg(e,n)}};function kg(e,t){let{gen:r,schema:n,data:o,keyword:s,it:i}=e;i.items=!0;let a=r.const("len",(0,Ar._)`${o}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,Ar._)`${a} <= ${t.length}`);else if(typeof n=="object"&&!(0,xd.alwaysValidSchema)(i,n)){let u=r.var("valid",(0,Ar._)`${a} <= ${t.length}`);r.if((0,Ar.not)(u),()=>c(u)),e.ok(u)}function c(u){r.forRange("i",t.length,a,d=>{e.subschema({keyword:s,dataProp:d,dataPropType:xd.Type.Num},u),i.allErrors||r.if((0,Ar.not)(u),()=>r.break())})}}xo.validateAdditionalItems=kg;xo.default=s1});var $d=z(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.validateTuple=void 0;var xg=F(),si=ee(),i1=rt(),a1={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return Sg(e,"additionalItems",t);r.items=!0,!(0,si.alwaysValidSchema)(r,t)&&e.ok((0,i1.validateArray)(e))}};function Sg(e,t,r=e.schema){let{gen:n,parentSchema:o,data:s,keyword:i,it:a}=e;d(o),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=si.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,xg._)`${s}.length`);r.forEach((l,p)=>{(0,si.alwaysValidSchema)(a,l)||(n.if((0,xg._)`${u} > ${p}`,()=>e.subschema({keyword:i,schemaProp:p,dataProp:p},c)),e.ok(c))});function d(l){let{opts:p,errSchemaPath:h}=a,f=r.length,g=f===l.minItems&&(f===l.maxItems||l[t]===!1);if(p.strictTuples&&!g){let y=`"${i}" is ${f}-tuple, but minItems or maxItems/${t} are not specified or different at path "${h}"`;(0,si.checkStrictMode)(a,y,p.strictTuples)}}}So.validateTuple=Sg;So.default=a1});var $g=z(zd=>{"use strict";Object.defineProperty(zd,"__esModule",{value:!0});var c1=$d(),u1={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,c1.validateTuple)(e,"items")};zd.default=u1});var Pg=z(Pd=>{"use strict";Object.defineProperty(Pd,"__esModule",{value:!0});var zg=F(),d1=ee(),l1=rt(),p1=Sd(),m1={message:({params:{len:e}})=>(0,zg.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,zg._)`{limit: ${e}}`},f1={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:m1,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:o}=r;n.items=!0,!(0,d1.alwaysValidSchema)(n,t)&&(o?(0,p1.validateAdditionalItems)(e,o):e.ok((0,l1.validateArray)(e)))}};Pd.default=f1});var Tg=z(Td=>{"use strict";Object.defineProperty(Td,"__esModule",{value:!0});var ot=F(),ii=ee(),h1={message:({params:{min:e,max:t}})=>t===void 0?(0,ot.str)`must contain at least ${e} valid item(s)`:(0,ot.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,ot._)`{minContains: ${e}}`:(0,ot._)`{minContains: ${e}, maxContains: ${t}}`},g1={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:h1,code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:s}=e,i,a,{minContains:c,maxContains:u}=n;s.opts.next?(i=c===void 0?1:c,a=u):i=1;let d=t.const("len",(0,ot._)`${o}.length`);if(e.setParams({min:i,max:a}),a===void 0&&i===0){(0,ii.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,ii.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,ii.alwaysValidSchema)(s,r)){let g=(0,ot._)`${d} >= ${i}`;a!==void 0&&(g=(0,ot._)`${g} && ${d} <= ${a}`),e.pass(g);return}s.items=!0;let l=t.name("valid");a===void 0&&i===1?h(l,()=>t.if(l,()=>t.break())):i===0?(t.let(l,!0),a!==void 0&&t.if((0,ot._)`${o}.length > 0`,p)):(t.let(l,!1),p()),e.result(l,()=>e.reset());function p(){let g=t.name("_valid"),y=t.let("count",0);h(g,()=>t.if(g,()=>f(y)))}function h(g,y){t.forRange("i",0,d,b=>{e.subschema({keyword:"contains",dataProp:b,dataPropType:ii.Type.Num,compositeRule:!0},g),y()})}function f(g){t.code((0,ot._)`${g}++`),a===void 0?t.if((0,ot._)`${g} >= ${i}`,()=>t.assign(l,!0).break()):(t.if((0,ot._)`${g} > ${a}`,()=>t.assign(l,!1).break()),i===1?t.assign(l,!0):t.if((0,ot._)`${g} >= ${i}`,()=>t.assign(l,!0)))}}};Td.default=g1});var Eg=z(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.validateSchemaDeps=kt.validatePropertyDeps=kt.error=void 0;var Rd=F(),y1=ee(),$o=rt();kt.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,Rd.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,Rd._)`{property: ${e},
|
|
7
|
+
|| ${i} === "boolean" || ${o} === null`).assign(a,(0,q._)`[${o}]`)}}}function rS({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,q._)`${t} !== undefined`,()=>e.assign((0,q._)`${t}[${r}]`,n))}function Au(e,t,r,n=dn.Correct){let o=n===dn.Correct?q.operators.EQ:q.operators.NEQ,s;switch(e){case"null":return(0,q._)`${t} ${o} null`;case"array":s=(0,q._)`Array.isArray(${t})`;break;case"object":s=(0,q._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":s=i((0,q._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":s=i();break;default:return(0,q._)`typeof ${t} ${o} ${e}`}return n===dn.Correct?s:(0,q.not)(s);function i(a=q.nil){return(0,q.and)((0,q._)`typeof ${t} == "number"`,a,r?(0,q._)`isFinite(${t})`:q.nil)}}Ie.checkDataType=Au;function Mu(e,t,r,n){if(e.length===1)return Au(e[0],t,r,n);let o,s=(0,eh.toHash)(e);if(s.array&&s.object){let i=(0,q._)`typeof ${t} != "object"`;o=s.null?i:(0,q._)`!${t} || ${i}`,delete s.null,delete s.array,delete s.object}else o=q.nil;s.number&&delete s.integer;for(let i in s)o=(0,q.and)(o,Au(i,t,r,n));return o}Ie.checkDataTypes=Mu;var nS={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,q._)`{type: ${e}}`:(0,q._)`{type: ${t}}`};function Nu(e){let t=oS(e);(0,X0.reportError)(t,nS)}Ie.reportTypeError=Nu;function oS(e){let{gen:t,data:r,schema:n}=e,o=(0,eh.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:e}}});var oh=z(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.assignDefaults=void 0;var ln=F(),sS=ee();function iS(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let o in r)nh(e,o,r[o].default);else t==="array"&&Array.isArray(n)&&n.forEach((o,s)=>nh(e,s,o.default))}qs.assignDefaults=iS;function nh(e,t,r){let{gen:n,compositeRule:o,data:s,opts:i}=e;if(r===void 0)return;let a=(0,ln._)`${s}${(0,ln.getProperty)(t)}`;if(o){(0,sS.checkStrictMode)(e,`default is ignored for: ${a}`);return}let c=(0,ln._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,ln._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,ln._)`${a} = ${(0,ln.stringify)(r)}`)}});var rt=z(oe=>{"use strict";Object.defineProperty(oe,"__esModule",{value:!0});oe.validateUnion=oe.validateArray=oe.usePattern=oe.callValidateCode=oe.schemaProperties=oe.allSchemaProperties=oe.noPropertyInData=oe.propertyInData=oe.isOwnProperty=oe.hasPropFunc=oe.reportMissingProp=oe.checkMissingProp=oe.checkReportMissingProp=void 0;var de=F(),Lu=ee(),Xt=Ct(),aS=ee();function cS(e,t){let{gen:r,data:n,it:o}=e;r.if(Zu(r,n,t,o.opts.ownProperties),()=>{e.setParams({missingProperty:(0,de._)`${t}`},!0),e.error()})}oe.checkReportMissingProp=cS;function uS({gen:e,data:t,it:{opts:r}},n,o){return(0,de.or)(...n.map(s=>(0,de.and)(Zu(e,t,s,r.ownProperties),(0,de._)`${o} = ${s}`)))}oe.checkMissingProp=uS;function dS(e,t){e.setParams({missingProperty:t},!0),e.error()}oe.reportMissingProp=dS;function sh(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,de._)`Object.prototype.hasOwnProperty`})}oe.hasPropFunc=sh;function Du(e,t,r){return(0,de._)`${sh(e)}.call(${t}, ${r})`}oe.isOwnProperty=Du;function lS(e,t,r,n){let o=(0,de._)`${t}${(0,de.getProperty)(r)} !== undefined`;return n?(0,de._)`${o} && ${Du(e,t,r)}`:o}oe.propertyInData=lS;function Zu(e,t,r,n){let o=(0,de._)`${t}${(0,de.getProperty)(r)} === undefined`;return n?(0,de.or)(o,(0,de.not)(Du(e,t,r))):o}oe.noPropertyInData=Zu;function ih(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}oe.allSchemaProperties=ih;function pS(e,t){return ih(t).filter(r=>!(0,Lu.alwaysValidSchema)(e,t[r]))}oe.schemaProperties=pS;function mS({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,u){let d=u?(0,de._)`${e}, ${t}, ${n}${o}`:t,l=[[Xt.default.instancePath,(0,de.strConcat)(Xt.default.instancePath,s)],[Xt.default.parentData,i.parentData],[Xt.default.parentDataProperty,i.parentDataProperty],[Xt.default.rootData,Xt.default.rootData]];i.opts.dynamicRef&&l.push([Xt.default.dynamicAnchors,Xt.default.dynamicAnchors]);let p=(0,de._)`${d}, ${r.object(...l)}`;return c!==de.nil?(0,de._)`${a}.call(${c}, ${p})`:(0,de._)`${a}(${p})`}oe.callValidateCode=mS;var fS=(0,de._)`new RegExp`;function hS({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:o}=t.code,s=o(r,n);return e.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,de._)`${o.code==="new RegExp"?fS:(0,aS.useFunc)(e,o)}(${r}, ${n})`})}oe.usePattern=hS;function gS(e){let{gen:t,data:r,keyword:n,it:o}=e,s=t.name("valid");if(o.allErrors){let a=t.let("valid",!0);return i(()=>t.assign(a,!1)),a}return t.var(s,!0),i(()=>t.break()),s;function i(a){let c=t.const("len",(0,de._)`${r}.length`);t.forRange("i",0,c,u=>{e.subschema({keyword:n,dataProp:u,dataPropType:Lu.Type.Num},s),t.if((0,de.not)(s),a)})}}oe.validateArray=gS;function yS(e){let{gen:t,schema:r,keyword:n,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,Lu.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let i=t.let("valid",!1),a=t.name("_valid");t.block(()=>r.forEach((c,u)=>{let d=e.subschema({keyword:n,schemaProp:u,compositeRule:!0},a);t.assign(i,(0,de._)`${i} || ${a}`),e.mergeValidEvaluated(d,a)||t.if((0,de.not)(i))})),e.result(i,()=>e.reset(),()=>e.error(!0))}oe.validateUnion=yS});var uh=z(vt=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.validateKeywordUsage=vt.validSchemaType=vt.funcKeywordCode=vt.macroKeywordCode=void 0;var Me=F(),Or=Ct(),_S=rt(),vS=io();function bS(e,t){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=e,a=t.macro.call(i.self,o,s,i),c=ch(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let u=r.name("valid");e.subschema({schema:a,schemaPath:Me.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),e.pass(u,()=>e.error(!0))}vt.macroKeywordCode=bS;function wS(e,t){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=e;xS(c,t);let u=!a&&t.compile?t.compile.call(c.self,s,i,c):t.validate,d=ch(n,o,u),l=n.let("valid");e.block$data(l,p),e.ok((r=t.valid)!==null&&r!==void 0?r:l);function p(){if(t.errors===!1)g(),t.modifying&&ah(e),y(()=>e.error());else{let b=t.async?h():f();t.modifying&&ah(e),y(()=>kS(e,b))}}function h(){let b=n.let("ruleErrs",null);return n.try(()=>g((0,Me._)`await `),w=>n.assign(l,!1).if((0,Me._)`${w} instanceof ${c.ValidationError}`,()=>n.assign(b,(0,Me._)`${w}.errors`),()=>n.throw(w))),b}function f(){let b=(0,Me._)`${d}.errors`;return n.assign(b,null),g(Me.nil),b}function g(b=t.async?(0,Me._)`await `:Me.nil){let w=c.opts.passContext?Or.default.this:Or.default.self,k=!("compile"in t&&!a||t.schema===!1);n.assign(l,(0,Me._)`${b}${(0,_S.callValidateCode)(e,d,w,k)}`,t.modifying)}function y(b){var w;n.if((0,Me.not)((w=t.valid)!==null&&w!==void 0?w:l),b)}}vt.funcKeywordCode=wS;function ah(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,Me._)`${n.parentData}[${n.parentDataProperty}]`))}function kS(e,t){let{gen:r}=e;r.if((0,Me._)`Array.isArray(${t})`,()=>{r.assign(Or.default.vErrors,(0,Me._)`${Or.default.vErrors} === null ? ${t} : ${Or.default.vErrors}.concat(${t})`).assign(Or.default.errors,(0,Me._)`${Or.default.vErrors}.length`),(0,vS.extendErrors)(e)},()=>e.error())}function xS({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function ch(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Me.stringify)(r)})}function SS(e,t,r=!1){return!t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}vt.validSchemaType=SS;function $S({schema:e,opts:t,self:r,errSchemaPath:n},o,s){if(Array.isArray(o.keyword)?!o.keyword.includes(s):o.keyword!==s)throw new Error("ajv implementation error");let i=o.dependencies;if(i?.some(a=>!Object.prototype.hasOwnProperty.call(e,a)))throw new Error(`parent schema must have dependencies of ${s}: ${i.join(",")}`);if(o.validateSchema&&!o.validateSchema(e[s])){let c=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}vt.validateKeywordUsage=$S});var lh=z(Yt=>{"use strict";Object.defineProperty(Yt,"__esModule",{value:!0});Yt.extendSubschemaMode=Yt.extendSubschemaData=Yt.getSubschema=void 0;var bt=F(),dh=ee();function zS(e,{keyword:t,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:s,topSchemaRef:i}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let a=e.schema[t];return r===void 0?{schema:a,schemaPath:(0,bt._)`${e.schemaPath}${(0,bt.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:a[r],schemaPath:(0,bt._)`${e.schemaPath}${(0,bt.getProperty)(t)}${(0,bt.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,dh.escapeFragment)(r)}`}}if(n!==void 0){if(o===void 0||s===void 0||i===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:o,topSchemaRef:i,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}Yt.getSubschema=zS;function PS(e,t,{dataProp:r,dataPropType:n,data:o,dataTypes:s,propertyName:i}){if(o!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=t;if(r!==void 0){let{errorPath:u,dataPathArr:d,opts:l}=t,p=a.let("data",(0,bt._)`${t.data}${(0,bt.getProperty)(r)}`,!0);c(p),e.errorPath=(0,bt.str)`${u}${(0,dh.getErrorPath)(r,n,l.jsPropertySyntax)}`,e.parentDataProperty=(0,bt._)`${r}`,e.dataPathArr=[...d,e.parentDataProperty]}if(o!==void 0){let u=o instanceof bt.Name?o:a.let("data",o,!0);c(u),i!==void 0&&(e.propertyName=i)}s&&(e.dataTypes=s);function c(u){e.data=u,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,u]}}Yt.extendSubschemaData=PS;function TS(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:s}){n!==void 0&&(e.compositeRule=n),o!==void 0&&(e.createErrors=o),s!==void 0&&(e.allErrors=s),e.jtdDiscriminator=t,e.jtdMetadata=r}Yt.extendSubschemaMode=TS});var Uu=z((D2,ph)=>{"use strict";ph.exports=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var n,o,s;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!e(t[o],r[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(s=Object.keys(t),n=s.length,n!==Object.keys(r).length)return!1;for(o=n;o--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[o]))return!1;for(o=n;o--!==0;){var i=s[o];if(!e(t[i],r[i]))return!1}return!0}return t!==t&&r!==r}});var fh=z((Z2,mh)=>{"use strict";var Qt=mh.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};Js(t,n,o,e,"",e)};Qt.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Qt.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Qt.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Qt.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 Js(e,t,r,n,o,s,i,a,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,o,s,i,a,c,u);for(var d in n){var l=n[d];if(Array.isArray(l)){if(d in Qt.arrayKeywords)for(var p=0;p<l.length;p++)Js(e,t,r,l[p],o+"/"+d+"/"+p,s,o,d,n,p)}else if(d in Qt.propsKeywords){if(l&&typeof l=="object")for(var h in l)Js(e,t,r,l[h],o+"/"+d+"/"+RS(h),s,o,d,n,h)}else(d in Qt.keywords||e.allKeys&&!(d in Qt.skipKeywords))&&Js(e,t,r,l,o+"/"+d,s,o,d,n)}r(n,o,s,i,a,c,u)}}function RS(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var co=z(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.getSchemaRefs=Je.resolveUrl=Je.normalizeId=Je._getFullPath=Je.getFullPath=Je.inlineRef=void 0;var ES=ee(),IS=Uu(),OS=fh(),jS=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function CS(e,t=!0){return typeof e=="boolean"?!0:t===!0?!qu(e):t?hh(e)<=t:!1}Je.inlineRef=CS;var AS=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function qu(e){for(let t in e){if(AS.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(qu)||typeof r=="object"&&qu(r))return!0}return!1}function hh(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!jS.has(r)&&(typeof e[r]=="object"&&(0,ES.eachItem)(e[r],n=>t+=hh(n)),t===1/0))return 1/0}return t}function gh(e,t="",r){r!==!1&&(t=pn(t));let n=e.parse(t);return yh(e,n)}Je.getFullPath=gh;function yh(e,t){return e.serialize(t).split("#")[0]+"#"}Je._getFullPath=yh;var MS=/#\/?$/;function pn(e){return e?e.replace(MS,""):""}Je.normalizeId=pn;function NS(e,t,r){return r=pn(r),e.resolve(t,r)}Je.resolveUrl=NS;var LS=/^[a-z_][-a-z0-9._]*$/i;function DS(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=pn(e[r]||t),s={"":o},i=gh(n,o,!1),a={},c=new Set;return OS(e,{allKeys:!0},(l,p,h,f)=>{if(f===void 0)return;let g=i+p,y=s[f];typeof l[r]=="string"&&(y=b.call(this,l[r])),w.call(this,l.$anchor),w.call(this,l.$dynamicAnchor),s[p]=y;function b(k){let R=this.opts.uriResolver.resolve;if(k=pn(y?R(y,k):k),c.has(k))throw d(k);c.add(k);let M=this.refs[k];return typeof M=="string"&&(M=this.refs[M]),typeof M=="object"?u(l,M.schema,k):k!==pn(g)&&(k[0]==="#"?(u(l,a[k],k),a[k]=l):this.refs[k]=g),k}function w(k){if(typeof k=="string"){if(!LS.test(k))throw new Error(`invalid anchor "${k}"`);b.call(this,`#${k}`)}}}),a;function u(l,p,h){if(p!==void 0&&!IS(l,p))throw d(h)}function d(l){return new Error(`reference "${l}" resolves to more than one schema`)}}Je.getSchemaRefs=DS});var po=z(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.getData=er.KeywordCxt=er.validateFunctionCode=void 0;var kh=Xf(),_h=ao(),Fu=Cu(),Fs=ao(),ZS=oh(),lo=uh(),Ju=lh(),C=F(),Z=Ct(),US=co(),At=ee(),uo=io();function qS(e){if($h(e)&&(zh(e),Sh(e))){VS(e);return}xh(e,()=>(0,kh.topBoolOrEmptySchema)(e))}er.validateFunctionCode=qS;function xh({gen:e,validateName:t,schema:r,schemaEnv:n,opts:o},s){o.code.es5?e.func(t,(0,C._)`${Z.default.data}, ${Z.default.valCxt}`,n.$async,()=>{e.code((0,C._)`"use strict"; ${vh(r,o)}`),FS(e,o),e.code(s)}):e.func(t,(0,C._)`${Z.default.data}, ${JS(o)}`,n.$async,()=>e.code(vh(r,o)).code(s))}function JS(e){return(0,C._)`{${Z.default.instancePath}="", ${Z.default.parentData}, ${Z.default.parentDataProperty}, ${Z.default.rootData}=${Z.default.data}${e.dynamicRef?(0,C._)`, ${Z.default.dynamicAnchors}={}`:C.nil}}={}`}function FS(e,t){e.if(Z.default.valCxt,()=>{e.var(Z.default.instancePath,(0,C._)`${Z.default.valCxt}.${Z.default.instancePath}`),e.var(Z.default.parentData,(0,C._)`${Z.default.valCxt}.${Z.default.parentData}`),e.var(Z.default.parentDataProperty,(0,C._)`${Z.default.valCxt}.${Z.default.parentDataProperty}`),e.var(Z.default.rootData,(0,C._)`${Z.default.valCxt}.${Z.default.rootData}`),t.dynamicRef&&e.var(Z.default.dynamicAnchors,(0,C._)`${Z.default.valCxt}.${Z.default.dynamicAnchors}`)},()=>{e.var(Z.default.instancePath,(0,C._)`""`),e.var(Z.default.parentData,(0,C._)`undefined`),e.var(Z.default.parentDataProperty,(0,C._)`undefined`),e.var(Z.default.rootData,Z.default.data),t.dynamicRef&&e.var(Z.default.dynamicAnchors,(0,C._)`{}`)})}function VS(e){let{schema:t,opts:r,gen:n}=e;xh(e,()=>{r.$comment&&t.$comment&&Th(e),KS(e),n.let(Z.default.vErrors,null),n.let(Z.default.errors,0),r.unevaluated&&BS(e),Ph(e),QS(e)})}function BS(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,C._)`${r}.evaluated`),t.if((0,C._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,C._)`${e.evaluated}.props`,(0,C._)`undefined`)),t.if((0,C._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,C._)`${e.evaluated}.items`,(0,C._)`undefined`))}function vh(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,C._)`/*# sourceURL=${r} */`:C.nil}function HS(e,t){if($h(e)&&(zh(e),Sh(e))){WS(e,t);return}(0,kh.boolOrEmptySchema)(e,t)}function Sh({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let r in e)if(t.RULES.all[r])return!0;return!1}function $h(e){return typeof e.schema!="boolean"}function WS(e,t){let{schema:r,gen:n,opts:o}=e;o.$comment&&r.$comment&&Th(e),XS(e),YS(e);let s=n.const("_errs",Z.default.errors);Ph(e,s),n.var(t,(0,C._)`${s} === ${Z.default.errors}`)}function zh(e){(0,At.checkUnknownRules)(e),GS(e)}function Ph(e,t){if(e.opts.jtd)return bh(e,[],!1,t);let r=(0,_h.getSchemaTypes)(e.schema),n=(0,_h.coerceAndCheckDataType)(e,r);bh(e,r,!n,t)}function GS(e){let{schema:t,errSchemaPath:r,opts:n,self:o}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,At.schemaHasRulesButRef)(t,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function KS(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,At.checkStrictMode)(e,"default is ignored in the schema root")}function XS(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,US.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function YS(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function Th({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)e.code((0,C._)`${Z.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,C.str)`${n}/$comment`,a=e.scopeValue("root",{ref:t.root});e.code((0,C._)`${Z.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function QS(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=e;r.$async?t.if((0,C._)`${Z.default.errors} === 0`,()=>t.return(Z.default.data),()=>t.throw((0,C._)`new ${o}(${Z.default.vErrors})`)):(t.assign((0,C._)`${n}.errors`,Z.default.vErrors),s.unevaluated&&e$(e),t.return((0,C._)`${Z.default.errors} === 0`))}function e$({gen:e,evaluated:t,props:r,items:n}){r instanceof C.Name&&e.assign((0,C._)`${t}.props`,r),n instanceof C.Name&&e.assign((0,C._)`${t}.items`,n)}function bh(e,t,r,n){let{gen:o,schema:s,data:i,allErrors:a,opts:c,self:u}=e,{RULES:d}=u;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,At.schemaHasRulesButRef)(s,d))){o.block(()=>Eh(e,"$ref",d.all.$ref.definition));return}c.jtd||t$(e,t),o.block(()=>{for(let p of d.rules)l(p);l(d.post)});function l(p){(0,Fu.shouldUseGroup)(s,p)&&(p.type?(o.if((0,Fs.checkDataType)(p.type,i,c.strictNumbers)),wh(e,p),t.length===1&&t[0]===p.type&&r&&(o.else(),(0,Fs.reportTypeError)(e)),o.endIf()):wh(e,p),a||o.if((0,C._)`${Z.default.errors} === ${n||0}`))}}function wh(e,t){let{gen:r,schema:n,opts:{useDefaults:o}}=e;o&&(0,ZS.assignDefaults)(e,t.type),r.block(()=>{for(let s of t.rules)(0,Fu.shouldUseRule)(n,s)&&Eh(e,s.keyword,s.definition,t.type)})}function t$(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(r$(e,t),e.opts.allowUnionTypes||n$(e,t),o$(e,e.dataTypes))}function r$(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{Rh(e.dataTypes,r)||Vu(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),i$(e,t)}}function n$(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&Vu(e,"use allowUnionTypes to allow union type keyword")}function o$(e,t){let r=e.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,Fu.shouldUseRule)(e.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>s$(t,i))&&Vu(e,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function s$(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function Rh(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function i$(e,t){let r=[];for(let n of e.dataTypes)Rh(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function Vu(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,At.checkStrictMode)(e,t,e.opts.strictTypes)}var Vs=class{constructor(t,r,n){if((0,lo.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,At.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",Ih(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,lo.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=t.gen.const("_errs",Z.default.errors))}result(t,r,n){this.failResult((0,C.not)(t),r,n)}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,C.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(t){if(!this.$data)return this.fail(t);let{schemaCode:r}=this;this.fail((0,C._)`${r} !== undefined && (${(0,C.or)(this.invalid$data(),t)})`)}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n)}_error(t,r){(t?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(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,n=C.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=C.nil,r=C.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,C.or)((0,C._)`${o} === undefined`,r)),t!==C.nil&&n.assign(t,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==C.nil&&n.assign(t,!1)),n.else()}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,C.or)(i(),a());function i(){if(n.length){if(!(r instanceof C.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,C._)`${(0,Fs.checkDataTypes)(c,r,s.opts.strictNumbers,Fs.DataType.Wrong)}`}return C.nil}function a(){if(o.validateSchema){let c=t.scopeValue("validate$data",{ref:o.validateSchema});return(0,C._)`!${c}(${r})`}return C.nil}}subschema(t,r){let n=(0,Ju.getSubschema)(this.it,t);(0,Ju.extendSubschemaData)(n,this.it,t),(0,Ju.extendSubschemaMode)(n,t);let o={...this.it,...n,items:void 0,props:void 0};return HS(o,r),o}mergeEvaluated(t,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=At.mergeEvaluated.props(o,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=At.mergeEvaluated.items(o,t.items,n.items,r)))}mergeValidEvaluated(t,r){let{it:n,gen:o}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return o.if(r,()=>this.mergeEvaluated(t,C.Name)),!0}};er.KeywordCxt=Vs;function Eh(e,t,r,n){let o=new Vs(e,r,t);"code"in r?r.code(o,n):o.$data&&r.validate?(0,lo.funcKeywordCode)(o,r):"macro"in r?(0,lo.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,lo.funcKeywordCode)(o,r)}var a$=/^\/(?:[^~]|~0|~1)*$/,c$=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Ih(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let o,s;if(e==="")return Z.default.rootData;if(e[0]==="/"){if(!a$.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);o=e,s=Z.default.rootData}else{let u=c$.exec(e);if(!u)throw new Error(`Invalid JSON-pointer: ${e}`);let d=+u[1];if(o=u[2],o==="#"){if(d>=t)throw new Error(c("property/index",d));return n[t-d]}if(d>t)throw new Error(c("data",d));if(s=r[t-d],!o)return s}let i=s,a=o.split("/");for(let u of a)u&&(s=(0,C._)`${s}${(0,C.getProperty)((0,At.unescapeJsonPointer)(u))}`,i=(0,C._)`${i} && ${s}`);return i;function c(u,d){return`Cannot access ${u} ${d} levels up, current level is ${t}`}}er.getData=Ih});var Bs=z(Hu=>{"use strict";Object.defineProperty(Hu,"__esModule",{value:!0});var Bu=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};Hu.default=Bu});var mo=z(Ku=>{"use strict";Object.defineProperty(Ku,"__esModule",{value:!0});var Wu=co(),Gu=class extends Error{constructor(t,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,Wu.resolveUrl)(t,r,n),this.missingSchema=(0,Wu.normalizeId)((0,Wu.getFullPath)(t,this.missingRef))}};Ku.default=Gu});var Ws=z(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.resolveSchema=nt.getCompilingSchema=nt.resolveRef=nt.compileSchema=nt.SchemaEnv=void 0;var dt=F(),u$=Bs(),jr=Ct(),lt=co(),Oh=ee(),d$=po(),mn=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,lt.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={}}};nt.SchemaEnv=mn;function Yu(e){let t=jh.call(this,e);if(t)return t;let r=(0,lt.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new dt.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;e.$async&&(a=i.scopeValue("Error",{ref:u$.default,code:(0,dt._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");e.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:jr.default.data,parentData:jr.default.parentData,parentDataProperty:jr.default.parentDataProperty,dataNames:[jr.default.data],dataPathArr:[dt.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,dt.stringify)(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:a,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:dt.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,dt._)`""`,opts:this.opts,self:this},d;try{this._compilations.add(e),(0,d$.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let l=i.toString();d=`${i.scopeRefs(jr.default.scope)}return ${l}`,this.opts.code.process&&(d=this.opts.code.process(d,e));let h=new Function(`${jr.default.self}`,`${jr.default.scope}`,d)(this,this.scope.get());if(this.scope.value(c,{ref:h}),h.errors=null,h.schema=e.schema,h.schemaEnv=e,e.$async&&(h.$async=!0),this.opts.code.source===!0&&(h.source={validateName:c,validateCode:l,scopeValues:i._values}),this.opts.unevaluated){let{props:f,items:g}=u;h.evaluated={props:f instanceof dt.Name?void 0:f,items:g instanceof dt.Name?void 0:g,dynamicProps:f instanceof dt.Name,dynamicItems:g instanceof dt.Name},h.source&&(h.source.evaluated=(0,dt.stringify)(h.evaluated))}return e.validate=h,e}catch(l){throw delete e.validate,delete e.validateName,d&&this.logger.error("Error compiling schema, function code:",d),l}finally{this._compilations.delete(e)}}nt.compileSchema=Yu;function l$(e,t,r){var n;r=(0,lt.resolveUrl)(this.opts.uriResolver,t,r);let o=e.refs[r];if(o)return o;let s=f$.call(this,e,r);if(s===void 0){let i=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;i&&(s=new mn({schema:i,schemaId:a,root:e,baseId:t}))}if(s!==void 0)return e.refs[r]=p$.call(this,s)}nt.resolveRef=l$;function p$(e){return(0,lt.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:Yu.call(this,e)}function jh(e){for(let t of this._compilations)if(m$(t,e))return t}nt.getCompilingSchema=jh;function m$(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function f$(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||Hs.call(this,e,t)}function Hs(e,t){let r=this.opts.uriResolver.parse(t),n=(0,lt._getFullPath)(this.opts.uriResolver,r),o=(0,lt.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===o)return Xu.call(this,r,e);let s=(0,lt.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=Hs.call(this,e,i);return typeof a?.schema!="object"?void 0:Xu.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||Yu.call(this,i),s===(0,lt.normalizeId)(t)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,lt.resolveUrl)(this.opts.uriResolver,o,u)),new mn({schema:a,schemaId:c,root:e,baseId:o})}return Xu.call(this,r,i)}}nt.resolveSchema=Hs;var h$=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Xu(e,{baseId:t,schema:r,root:n}){var o;if(((o=e.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let a of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,Oh.unescapeFragment)(a)];if(c===void 0)return;r=c;let u=typeof r=="object"&&r[this.opts.schemaId];!h$.has(a)&&u&&(t=(0,lt.resolveUrl)(this.opts.uriResolver,t,u))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,Oh.schemaHasRulesButRef)(r,this.RULES)){let a=(0,lt.resolveUrl)(this.opts.uriResolver,t,r.$ref);s=Hs.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new mn({schema:r,schemaId:i,root:n,baseId:t}),s.schema!==s.root.schema)return s}});var Ch=z((B2,g$)=>{g$.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 ed=z((H2,Lh)=>{"use strict";var y$=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Mh=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);function Qu(e){let t="",r=0,n=0;for(n=0;n<e.length;n++)if(r=e[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n];break}for(n+=1;n<e.length;n++){if(r=e[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n]}return t}var _$=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Ah(e){return e.length=0,!0}function v$(e,t,r){if(e.length){let n=Qu(e);if(n!=="")t.push(n);else return r.error=!0,!1;e.length=0}return!0}function b$(e){let t=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=v$;for(let c=0;c<e.length;c++){let u=e[c];if(!(u==="["||u==="]"))if(u===":"){if(s===!0&&(i=!0),!a(o,n,r))break;if(++t>7){r.error=!0;break}c>0&&e[c-1]===":"&&(s=!0),n.push(":");continue}else if(u==="%"){if(!a(o,n,r))break;a=Ah}else{o.push(u);continue}}return o.length&&(a===Ah?r.zone=o.join(""):i?n.push(o.join("")):n.push(Qu(o))),r.address=n.join(""),r}function Nh(e){if(w$(e,":")<2)return{host:e,isIPV6:!1};let t=b$(e);if(t.error)return{host:e,isIPV6:!1};{let r=t.address,n=t.address;return t.zone&&(r+="%"+t.zone,n+="%25"+t.zone),{host:r,isIPV6:!0,escapedHost:n}}}function w$(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}function k$(e){let t=e,r=[],n=-1,o=0;for(;o=t.length;){if(o===1){if(t===".")break;if(t==="/"){r.push("/");break}else{r.push(t);break}}else if(o===2){if(t[0]==="."){if(t[1]===".")break;if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&(t[1]==="."||t[1]==="/")){r.push("/");break}}else if(o===3&&t==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(t[0]==="."){if(t[1]==="."){if(t[2]==="/"){t=t.slice(3);continue}}else if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&t[1]==="."){if(t[2]==="/"){t=t.slice(2);continue}else if(t[2]==="."&&t[3]==="/"){t=t.slice(3),r.length!==0&&r.pop();continue}}if((n=t.indexOf("/",1))===-1){r.push(t);break}else r.push(t.slice(0,n)),t=t.slice(n)}return r.join("")}function x$(e,t){let r=t!==!0?escape:unescape;return e.scheme!==void 0&&(e.scheme=r(e.scheme)),e.userinfo!==void 0&&(e.userinfo=r(e.userinfo)),e.host!==void 0&&(e.host=r(e.host)),e.path!==void 0&&(e.path=r(e.path)),e.query!==void 0&&(e.query=r(e.query)),e.fragment!==void 0&&(e.fragment=r(e.fragment)),e}function S$(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!Mh(r)){let n=Nh(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=e.host}t.push(r)}return(typeof e.port=="number"||typeof e.port=="string")&&(t.push(":"),t.push(String(e.port))),t.length?t.join(""):void 0}Lh.exports={nonSimpleDomain:_$,recomposeAuthority:S$,normalizeComponentEncoding:x$,removeDotSegments:k$,isIPv4:Mh,isUUID:y$,normalizeIPv6:Nh,stringArrayToHexStripped:Qu}});var Jh=z((W2,qh)=>{"use strict";var{isUUID:$$}=ed(),z$=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,P$=["http","https","ws","wss","urn","urn:uuid"];function T$(e){return P$.indexOf(e)!==-1}function td(e){return e.secure===!0?!0:e.secure===!1?!1:e.scheme?e.scheme.length===3&&(e.scheme[0]==="w"||e.scheme[0]==="W")&&(e.scheme[1]==="s"||e.scheme[1]==="S")&&(e.scheme[2]==="s"||e.scheme[2]==="S"):!1}function Dh(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function Zh(e){let t=String(e.scheme).toLowerCase()==="https";return(e.port===(t?443:80)||e.port==="")&&(e.port=void 0),e.path||(e.path="/"),e}function R$(e){return e.secure=td(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function E$(e){if((e.port===(td(e)?443:80)||e.port==="")&&(e.port=void 0),typeof e.secure=="boolean"&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function I$(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(z$);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let o=`${n}:${t.nid||e.nid}`,s=rd(o);e.path=void 0,s&&(e=s.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function O$(e,t){if(e.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),o=`${r}:${t.nid||n}`,s=rd(o);s&&(e=s.serialize(e,t));let i=e,a=e.nss;return i.path=`${n||t.nid}:${a}`,t.skipEscape=!0,i}function j$(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!$$(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function C$(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var Uh={scheme:"http",domainHost:!0,parse:Dh,serialize:Zh},A$={scheme:"https",domainHost:Uh.domainHost,parse:Dh,serialize:Zh},Gs={scheme:"ws",domainHost:!0,parse:R$,serialize:E$},M$={scheme:"wss",domainHost:Gs.domainHost,parse:Gs.parse,serialize:Gs.serialize},N$={scheme:"urn",parse:I$,serialize:O$,skipNormalize:!0},L$={scheme:"urn:uuid",parse:j$,serialize:C$,skipNormalize:!0},Ks={http:Uh,https:A$,ws:Gs,wss:M$,urn:N$,"urn:uuid":L$};Object.setPrototypeOf(Ks,null);function rd(e){return e&&(Ks[e]||Ks[e.toLowerCase()])||void 0}qh.exports={wsIsSecure:td,SCHEMES:Ks,isValidSchemeName:T$,getSchemeHandler:rd}});var Bh=z((G2,Ys)=>{"use strict";var{normalizeIPv6:D$,removeDotSegments:fo,recomposeAuthority:Z$,normalizeComponentEncoding:Xs,isIPv4:U$,nonSimpleDomain:q$}=ed(),{SCHEMES:J$,getSchemeHandler:Fh}=Jh();function F$(e,t){return typeof e=="string"?e=wt(Mt(e,t),t):typeof e=="object"&&(e=Mt(wt(e,t),t)),e}function V$(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=Vh(Mt(e,n),Mt(t,n),n,!0);return n.skipEscape=!0,wt(o,n)}function Vh(e,t,r,n){let o={};return n||(e=Mt(wt(e,r),r),t=Mt(wt(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(o.scheme=t.scheme,o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=fo(t.path||""),o.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=fo(t.path||""),o.query=t.query):(t.path?(t.path[0]==="/"?o.path=fo(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?o.path="/"+t.path:e.path?o.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:o.path=t.path,o.path=fo(o.path)),o.query=t.query):(o.path=e.path,t.query!==void 0?o.query=t.query:o.query=e.query),o.userinfo=e.userinfo,o.host=e.host,o.port=e.port),o.scheme=e.scheme),o.fragment=t.fragment,o}function B$(e,t,r){return typeof e=="string"?(e=unescape(e),e=wt(Xs(Mt(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=wt(Xs(e,!0),{...r,skipEscape:!0})),typeof t=="string"?(t=unescape(t),t=wt(Xs(Mt(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=wt(Xs(t,!0),{...r,skipEscape:!0})),e.toLowerCase()===t.toLowerCase()}function wt(e,t){let r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},n=Object.assign({},t),o=[],s=Fh(n.scheme||r.scheme);s&&s.serialize&&s.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&o.push(r.scheme,":");let i=Z$(r);if(i!==void 0&&(n.reference!=="suffix"&&o.push("//"),o.push(i),r.path&&r.path[0]!=="/"&&o.push("/")),r.path!==void 0){let a=r.path;!n.absolutePath&&(!s||!s.absolutePath)&&(a=fo(a)),i===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),o.push(a)}return r.query!==void 0&&o.push("?",r.query),r.fragment!==void 0&&o.push("#",r.fragment),o.join("")}var H$=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Mt(e,t){let r=Object.assign({},t),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},o=!1;r.reference==="suffix"&&(r.scheme?e=r.scheme+":"+e:e="//"+e);let s=e.match(H$);if(s){if(n.scheme=s[1],n.userinfo=s[3],n.host=s[4],n.port=parseInt(s[5],10),n.path=s[6]||"",n.query=s[7],n.fragment=s[8],isNaN(n.port)&&(n.port=s[5]),n.host)if(U$(n.host)===!1){let c=D$(n.host);n.host=c.host.toLowerCase(),o=c.isIPV6}else o=!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 i=Fh(r.scheme||n.scheme);if(!r.unicodeSupport&&(!i||!i.unicodeSupport)&&n.host&&(r.domainHost||i&&i.domainHost)&&o===!1&&q$(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(a){n.error=n.error||"Host's domain name can not be converted to ASCII: "+a}(!i||i&&!i.skipNormalize)&&(e.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),i&&i.parse&&i.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var nd={SCHEMES:J$,normalize:F$,resolve:V$,resolveComponent:Vh,equal:B$,serialize:wt,parse:Mt};Ys.exports=nd;Ys.exports.default=nd;Ys.exports.fastUri=nd});var Wh=z(od=>{"use strict";Object.defineProperty(od,"__esModule",{value:!0});var Hh=Bh();Hh.code='require("ajv/dist/runtime/uri").default';od.default=Hh});var rg=z(ze=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});ze.CodeGen=ze.Name=ze.nil=ze.stringify=ze.str=ze._=ze.KeywordCxt=void 0;var W$=po();Object.defineProperty(ze,"KeywordCxt",{enumerable:!0,get:function(){return W$.KeywordCxt}});var fn=F();Object.defineProperty(ze,"_",{enumerable:!0,get:function(){return fn._}});Object.defineProperty(ze,"str",{enumerable:!0,get:function(){return fn.str}});Object.defineProperty(ze,"stringify",{enumerable:!0,get:function(){return fn.stringify}});Object.defineProperty(ze,"nil",{enumerable:!0,get:function(){return fn.nil}});Object.defineProperty(ze,"Name",{enumerable:!0,get:function(){return fn.Name}});Object.defineProperty(ze,"CodeGen",{enumerable:!0,get:function(){return fn.CodeGen}});var G$=Bs(),Qh=mo(),K$=ju(),ho=Ws(),X$=F(),go=co(),Qs=ao(),id=ee(),Gh=Ch(),Y$=Wh(),eg=(e,t)=>new RegExp(e,t);eg.code="new RegExp";var Q$=["removeAdditional","useDefaults","coerceTypes"],ez=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),tz={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."},rz={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Kh=200;function nz(e){var t,r,n,o,s,i,a,c,u,d,l,p,h,f,g,y,b,w,k,R,M,Oe,Ge,Dr,Ti;let xn=e.strict,Ri=(t=e.code)===null||t===void 0?void 0:t.optimize,Nl=Ri===!0||Ri===void 0?1:Ri||0,Ll=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:eg,tv=(o=e.uriResolver)!==null&&o!==void 0?o:Y$.default;return{strictSchema:(i=(s=e.strictSchema)!==null&&s!==void 0?s:xn)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=e.strictNumbers)!==null&&a!==void 0?a:xn)!==null&&c!==void 0?c:!0,strictTypes:(d=(u=e.strictTypes)!==null&&u!==void 0?u:xn)!==null&&d!==void 0?d:"log",strictTuples:(p=(l=e.strictTuples)!==null&&l!==void 0?l:xn)!==null&&p!==void 0?p:"log",strictRequired:(f=(h=e.strictRequired)!==null&&h!==void 0?h:xn)!==null&&f!==void 0?f:!1,code:e.code?{...e.code,optimize:Nl,regExp:Ll}:{optimize:Nl,regExp:Ll},loopRequired:(g=e.loopRequired)!==null&&g!==void 0?g:Kh,loopEnum:(y=e.loopEnum)!==null&&y!==void 0?y:Kh,meta:(b=e.meta)!==null&&b!==void 0?b:!0,messages:(w=e.messages)!==null&&w!==void 0?w:!0,inlineRefs:(k=e.inlineRefs)!==null&&k!==void 0?k:!0,schemaId:(R=e.schemaId)!==null&&R!==void 0?R:"$id",addUsedSchema:(M=e.addUsedSchema)!==null&&M!==void 0?M:!0,validateSchema:(Oe=e.validateSchema)!==null&&Oe!==void 0?Oe:!0,validateFormats:(Ge=e.validateFormats)!==null&&Ge!==void 0?Ge:!0,unicodeRegExp:(Dr=e.unicodeRegExp)!==null&&Dr!==void 0?Dr:!0,int32range:(Ti=e.int32range)!==null&&Ti!==void 0?Ti:!0,uriResolver:tv}}var yo=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...nz(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new X$.ValueScope({scope:{},prefixes:ez,es5:r,lines:n}),this.logger=uz(t.logger);let o=t.validateFormats;t.validateFormats=!1,this.RULES=(0,K$.getRules)(),Xh.call(this,tz,t,"NOT SUPPORTED"),Xh.call(this,rz,t,"DEPRECATED","warn"),this._metaOpts=az.call(this),t.formats&&sz.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&iz.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),oz.call(this),t.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,o=Gh;n==="id"&&(o={...Gh},o.id=o.$id,delete o.$id),r&&t&&this.addMetaSchema(o,o[n],!1)}defaultMeta(){let{meta:t,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[r]||t:void 0}validate(t,r){let n;if(typeof t=="string"){if(n=this.getSchema(t),!n)throw new Error(`no schema with key or ref "${t}"`)}else n=this.compile(t);let o=n(r);return"$async"in n||(this.errors=n.errors),o}compile(t,r){let n=this._addSchema(t,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(t,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return o.call(this,t,r);async function o(d,l){await s.call(this,d.$schema);let p=this._addSchema(d,l);return p.validate||i.call(this,p)}async function s(d){d&&!this.getSchema(d)&&await o.call(this,{$ref:d},!0)}async function i(d){try{return this._compileSchemaEnv(d)}catch(l){if(!(l instanceof Qh.default))throw l;return a.call(this,l),await c.call(this,l.missingSchema),i.call(this,d)}}function a({missingSchema:d,missingRef:l}){if(this.refs[d])throw new Error(`AnySchema ${d} is loaded but ${l} cannot be resolved`)}async function c(d){let l=await u.call(this,d);this.refs[d]||await s.call(this,l.$schema),this.refs[d]||this.addSchema(l,d,r)}async function u(d){let l=this._loading[d];if(l)return l;try{return await(this._loading[d]=n(d))}finally{delete this._loading[d]}}}addSchema(t,r,n,o=this.opts.validateSchema){if(Array.isArray(t)){for(let i of t)this.addSchema(i,void 0,n,o);return this}let s;if(typeof t=="object"){let{schemaId:i}=this.opts;if(s=t[i],s!==void 0&&typeof s!="string")throw new Error(`schema ${i} must be string`)}return r=(0,go.normalizeId)(r||s),this._checkUnique(r),this.schemas[r]=this._addSchema(t,n,r,o,!0),this}addMetaSchema(t,r,n=this.opts.validateSchema){return this.addSchema(t,r,!0,n),this}validateSchema(t,r){if(typeof t=="boolean")return!0;let n;if(n=t.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let o=this.validate(n,t);if(!o&&r){let s="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(s);else throw new Error(s)}return o}getSchema(t){let r;for(;typeof(r=Yh.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,o=new ho.SchemaEnv({schema:{},schemaId:n});if(r=ho.resolveSchema.call(this,o,t),!r)return;this.refs[t]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(t){if(t instanceof RegExp)return this._removeAllSchemas(this.schemas,t),this._removeAllSchemas(this.refs,t),this;switch(typeof t){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=Yh.call(this,t);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[t],delete this.refs[t],this}case"object":{let r=t;this._cache.delete(r);let n=t[this.opts.schemaId];return n&&(n=(0,go.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let r of t)this.addKeyword(r);return this}addKeyword(t,r){let n;if(typeof t=="string")n=t,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof t=="object"&&r===void 0){if(r=t,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(lz.call(this,n,r),!r)return(0,id.eachItem)(n,s=>sd.call(this,s)),this;mz.call(this,r);let o={...r,type:(0,Qs.getJSONTypes)(r.type),schemaType:(0,Qs.getJSONTypes)(r.schemaType)};return(0,id.eachItem)(n,o.type.length===0?s=>sd.call(this,s,o):s=>o.type.forEach(i=>sd.call(this,s,o,i))),this}getKeyword(t){let r=this.RULES.all[t];return typeof r=="object"?r.definition:!!r}removeKeyword(t){let{RULES:r}=this;delete r.keywords[t],delete r.all[t];for(let n of r.rules){let o=n.rules.findIndex(s=>s.keyword===t);o>=0&&n.rules.splice(o,1)}return this}addFormat(t,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[t]=r,this}errorsText(t=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!t||t.length===0?"No errors":t.map(o=>`${n}${o.instancePath} ${o.message}`).reduce((o,s)=>o+r+s)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let o of r){let s=o.split("/").slice(1),i=t;for(let a of s)i=i[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:u}=c.definition,d=i[a];u&&d&&(i[a]=tg(d))}}return t}_removeAllSchemas(t,r){for(let n in t){let o=t[n];(!r||r.test(n))&&(typeof o=="string"?delete t[n]:o&&!o.meta&&(this._cache.delete(o.schema),delete t[n]))}}_addSchema(t,r,n,o=this.opts.validateSchema,s=this.opts.addUsedSchema){let i,{schemaId:a}=this.opts;if(typeof t=="object")i=t[a];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof t!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(t);if(c!==void 0)return c;n=(0,go.normalizeId)(i||n);let u=go.getSchemaRefs.call(this,t,n);return c=new ho.SchemaEnv({schema:t,schemaId:a,meta:r,baseId:n,localRefs:u}),this._cache.set(c.schema,c),s&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),o&&this.validateSchema(t,!0),c}_checkUnique(t){if(this.schemas[t]||this.refs[t])throw new Error(`schema with key or id "${t}" already exists`)}_compileSchemaEnv(t){if(t.meta?this._compileMetaSchema(t):ho.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let r=this.opts;this.opts=this._metaOpts;try{ho.compileSchema.call(this,t)}finally{this.opts=r}}};yo.ValidationError=G$.default;yo.MissingRefError=Qh.default;ze.default=yo;function Xh(e,t,r,n="error"){for(let o in e){let s=o;s in t&&this.logger[n](`${r}: option ${o}. ${e[s]}`)}}function Yh(e){return e=(0,go.normalizeId)(e),this.schemas[e]||this.refs[e]}function oz(){let e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t)}function sz(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function iz(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r)}}function az(){let e={...this.opts};for(let t of Q$)delete e[t];return e}var cz={log(){},warn(){},error(){}};function uz(e){if(e===!1)return cz;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}var dz=/^[a-z_$][a-z0-9_$:-]*$/i;function lz(e,t){let{RULES:r}=this;if((0,id.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!dz.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function sd(e,t,r){var n;let o=t?.post;if(r&&o)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:s}=this,i=o?s.post:s.rules.find(({type:c})=>c===r);if(i||(i={type:r,rules:[]},s.rules.push(i)),s.keywords[e]=!0,!t)return;let a={keyword:e,definition:{...t,type:(0,Qs.getJSONTypes)(t.type),schemaType:(0,Qs.getJSONTypes)(t.schemaType)}};t.before?pz.call(this,i,a,t.before):i.rules.push(a),s.all[e]=a,(n=t.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function pz(e,t,r){let n=e.rules.findIndex(o=>o.keyword===r);n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function mz(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=tg(t)),e.validateSchema=this.compile(t,!0))}var fz={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function tg(e){return{anyOf:[e,fz]}}});var ng=z(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});var hz={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};ad.default=hz});var ag=z(Cr=>{"use strict";Object.defineProperty(Cr,"__esModule",{value:!0});Cr.callRef=Cr.getValidate=void 0;var gz=mo(),og=rt(),Fe=F(),hn=Ct(),sg=Ws(),ei=ee(),yz={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=n,{root:u}=s;if((r==="#"||r==="#/")&&o===u.baseId)return l();let d=sg.resolveRef.call(c,u,o,r);if(d===void 0)throw new gz.default(n.opts.uriResolver,o,r);if(d instanceof sg.SchemaEnv)return p(d);return h(d);function l(){if(s===u)return ti(e,i,s,s.$async);let f=t.scopeValue("root",{ref:u});return ti(e,(0,Fe._)`${f}.validate`,u,u.$async)}function p(f){let g=ig(e,f);ti(e,g,f,f.$async)}function h(f){let g=t.scopeValue("schema",a.code.source===!0?{ref:f,code:(0,Fe.stringify)(f)}:{ref:f}),y=t.name("valid"),b=e.subschema({schema:f,dataTypes:[],schemaPath:Fe.nil,topSchemaRef:g,errSchemaPath:r},y);e.mergeEvaluated(b),e.ok(y)}}};function ig(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,Fe._)`${r.scopeValue("wrapper",{ref:t})}.validate`}Cr.getValidate=ig;function ti(e,t,r,n){let{gen:o,it:s}=e,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?hn.default.this:Fe.nil;n?d():l();function d(){if(!a.$async)throw new Error("async schema referenced by sync schema");let f=o.let("valid");o.try(()=>{o.code((0,Fe._)`await ${(0,og.callValidateCode)(e,t,u)}`),h(t),i||o.assign(f,!0)},g=>{o.if((0,Fe._)`!(${g} instanceof ${s.ValidationError})`,()=>o.throw(g)),p(g),i||o.assign(f,!1)}),e.ok(f)}function l(){e.result((0,og.callValidateCode)(e,t,u),()=>h(t),()=>p(t))}function p(f){let g=(0,Fe._)`${f}.errors`;o.assign(hn.default.vErrors,(0,Fe._)`${hn.default.vErrors} === null ? ${g} : ${hn.default.vErrors}.concat(${g})`),o.assign(hn.default.errors,(0,Fe._)`${hn.default.vErrors}.length`)}function h(f){var g;if(!s.opts.unevaluated)return;let y=(g=r?.validate)===null||g===void 0?void 0:g.evaluated;if(s.props!==!0)if(y&&!y.dynamicProps)y.props!==void 0&&(s.props=ei.mergeEvaluated.props(o,y.props,s.props));else{let b=o.var("props",(0,Fe._)`${f}.evaluated.props`);s.props=ei.mergeEvaluated.props(o,b,s.props,Fe.Name)}if(s.items!==!0)if(y&&!y.dynamicItems)y.items!==void 0&&(s.items=ei.mergeEvaluated.items(o,y.items,s.items));else{let b=o.var("items",(0,Fe._)`${f}.evaluated.items`);s.items=ei.mergeEvaluated.items(o,b,s.items,Fe.Name)}}}Cr.callRef=ti;Cr.default=yz});var cg=z(cd=>{"use strict";Object.defineProperty(cd,"__esModule",{value:!0});var _z=ng(),vz=ag(),bz=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",_z.default,vz.default];cd.default=bz});var ug=z(ud=>{"use strict";Object.defineProperty(ud,"__esModule",{value:!0});var ri=F(),tr=ri.operators,ni={maximum:{okStr:"<=",ok:tr.LTE,fail:tr.GT},minimum:{okStr:">=",ok:tr.GTE,fail:tr.LT},exclusiveMaximum:{okStr:"<",ok:tr.LT,fail:tr.GTE},exclusiveMinimum:{okStr:">",ok:tr.GT,fail:tr.LTE}},wz={message:({keyword:e,schemaCode:t})=>(0,ri.str)`must be ${ni[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,ri._)`{comparison: ${ni[e].okStr}, limit: ${t}}`},kz={keyword:Object.keys(ni),type:"number",schemaType:"number",$data:!0,error:wz,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,ri._)`${r} ${ni[t].fail} ${n} || isNaN(${r})`)}};ud.default=kz});var dg=z(dd=>{"use strict";Object.defineProperty(dd,"__esModule",{value:!0});var _o=F(),xz={message:({schemaCode:e})=>(0,_o.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,_o._)`{multipleOf: ${e}}`},Sz={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:xz,code(e){let{gen:t,data:r,schemaCode:n,it:o}=e,s=o.opts.multipleOfPrecision,i=t.let("res"),a=s?(0,_o._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,_o._)`${i} !== parseInt(${i})`;e.fail$data((0,_o._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};dd.default=Sz});var pg=z(ld=>{"use strict";Object.defineProperty(ld,"__esModule",{value:!0});function lg(e){let t=e.length,r=0,n=0,o;for(;n<t;)r++,o=e.charCodeAt(n++),o>=55296&&o<=56319&&n<t&&(o=e.charCodeAt(n),(o&64512)===56320&&n++);return r}ld.default=lg;lg.code='require("ajv/dist/runtime/ucs2length").default'});var mg=z(pd=>{"use strict";Object.defineProperty(pd,"__esModule",{value:!0});var Ar=F(),$z=ee(),zz=pg(),Pz={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return(0,Ar.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,Ar._)`{limit: ${e}}`},Tz={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Pz,code(e){let{keyword:t,data:r,schemaCode:n,it:o}=e,s=t==="maxLength"?Ar.operators.GT:Ar.operators.LT,i=o.opts.unicode===!1?(0,Ar._)`${r}.length`:(0,Ar._)`${(0,$z.useFunc)(e.gen,zz.default)}(${r})`;e.fail$data((0,Ar._)`${i} ${s} ${n}`)}};pd.default=Tz});var fg=z(md=>{"use strict";Object.defineProperty(md,"__esModule",{value:!0});var Rz=rt(),oi=F(),Ez={message:({schemaCode:e})=>(0,oi.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,oi._)`{pattern: ${e}}`},Iz={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:Ez,code(e){let{data:t,$data:r,schema:n,schemaCode:o,it:s}=e,i=s.opts.unicodeRegExp?"u":"",a=r?(0,oi._)`(new RegExp(${o}, ${i}))`:(0,Rz.usePattern)(e,n);e.fail$data((0,oi._)`!${a}.test(${t})`)}};md.default=Iz});var hg=z(fd=>{"use strict";Object.defineProperty(fd,"__esModule",{value:!0});var vo=F(),Oz={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,vo.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,vo._)`{limit: ${e}}`},jz={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:Oz,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxProperties"?vo.operators.GT:vo.operators.LT;e.fail$data((0,vo._)`Object.keys(${r}).length ${o} ${n}`)}};fd.default=jz});var gg=z(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});var bo=rt(),wo=F(),Cz=ee(),Az={message:({params:{missingProperty:e}})=>(0,wo.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,wo._)`{missingProperty: ${e}}`},Mz={keyword:"required",type:"object",schemaType:"array",$data:!0,error:Az,code(e){let{gen:t,schema:r,schemaCode:n,data:o,$data:s,it:i}=e,{opts:a}=i;if(!s&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors?u():d(),a.strictRequired){let h=e.parentSchema.properties,{definedProperties:f}=e.it;for(let g of r)if(h?.[g]===void 0&&!f.has(g)){let y=i.schemaEnv.baseId+i.errSchemaPath,b=`required property "${g}" is not defined at "${y}" (strictRequired)`;(0,Cz.checkStrictMode)(i,b,i.opts.strictRequired)}}function u(){if(c||s)e.block$data(wo.nil,l);else for(let h of r)(0,bo.checkReportMissingProp)(e,h)}function d(){let h=t.let("missing");if(c||s){let f=t.let("valid",!0);e.block$data(f,()=>p(h,f)),e.ok(f)}else t.if((0,bo.checkMissingProp)(e,r,h)),(0,bo.reportMissingProp)(e,h),t.else()}function l(){t.forOf("prop",n,h=>{e.setParams({missingProperty:h}),t.if((0,bo.noPropertyInData)(t,o,h,a.ownProperties),()=>e.error())})}function p(h,f){e.setParams({missingProperty:h}),t.forOf(h,n,()=>{t.assign(f,(0,bo.propertyInData)(t,o,h,a.ownProperties)),t.if((0,wo.not)(f),()=>{e.error(),t.break()})},wo.nil)}}};hd.default=Mz});var yg=z(gd=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});var ko=F(),Nz={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,ko.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,ko._)`{limit: ${e}}`},Lz={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:Nz,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxItems"?ko.operators.GT:ko.operators.LT;e.fail$data((0,ko._)`${r}.length ${o} ${n}`)}};gd.default=Lz});var si=z(yd=>{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});var _g=Uu();_g.code='require("ajv/dist/runtime/equal").default';yd.default=_g});var vg=z(vd=>{"use strict";Object.defineProperty(vd,"__esModule",{value:!0});var _d=ao(),Pe=F(),Dz=ee(),Zz=si(),Uz={message:({params:{i:e,j:t}})=>(0,Pe.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,Pe._)`{i: ${e}, j: ${t}}`},qz={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:Uz,code(e){let{gen:t,data:r,$data:n,schema:o,parentSchema:s,schemaCode:i,it:a}=e;if(!n&&!o)return;let c=t.let("valid"),u=s.items?(0,_d.getSchemaTypes)(s.items):[];e.block$data(c,d,(0,Pe._)`${i} === false`),e.ok(c);function d(){let f=t.let("i",(0,Pe._)`${r}.length`),g=t.let("j");e.setParams({i:f,j:g}),t.assign(c,!0),t.if((0,Pe._)`${f} > 1`,()=>(l()?p:h)(f,g))}function l(){return u.length>0&&!u.some(f=>f==="object"||f==="array")}function p(f,g){let y=t.name("item"),b=(0,_d.checkDataTypes)(u,y,a.opts.strictNumbers,_d.DataType.Wrong),w=t.const("indices",(0,Pe._)`{}`);t.for((0,Pe._)`;${f}--;`,()=>{t.let(y,(0,Pe._)`${r}[${f}]`),t.if(b,(0,Pe._)`continue`),u.length>1&&t.if((0,Pe._)`typeof ${y} == "string"`,(0,Pe._)`${y} += "_"`),t.if((0,Pe._)`typeof ${w}[${y}] == "number"`,()=>{t.assign(g,(0,Pe._)`${w}[${y}]`),e.error(),t.assign(c,!1).break()}).code((0,Pe._)`${w}[${y}] = ${f}`)})}function h(f,g){let y=(0,Dz.useFunc)(t,Zz.default),b=t.name("outer");t.label(b).for((0,Pe._)`;${f}--;`,()=>t.for((0,Pe._)`${g} = ${f}; ${g}--;`,()=>t.if((0,Pe._)`${y}(${r}[${f}], ${r}[${g}])`,()=>{e.error(),t.assign(c,!1).break(b)})))}}};vd.default=qz});var bg=z(wd=>{"use strict";Object.defineProperty(wd,"__esModule",{value:!0});var bd=F(),Jz=ee(),Fz=si(),Vz={message:"must be equal to constant",params:({schemaCode:e})=>(0,bd._)`{allowedValue: ${e}}`},Bz={keyword:"const",$data:!0,error:Vz,code(e){let{gen:t,data:r,$data:n,schemaCode:o,schema:s}=e;n||s&&typeof s=="object"?e.fail$data((0,bd._)`!${(0,Jz.useFunc)(t,Fz.default)}(${r}, ${o})`):e.fail((0,bd._)`${s} !== ${r}`)}};wd.default=Bz});var wg=z(kd=>{"use strict";Object.defineProperty(kd,"__esModule",{value:!0});var xo=F(),Hz=ee(),Wz=si(),Gz={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,xo._)`{allowedValues: ${e}}`},Kz={keyword:"enum",schemaType:"array",$data:!0,error:Gz,code(e){let{gen:t,data:r,$data:n,schema:o,schemaCode:s,it:i}=e;if(!n&&o.length===0)throw new Error("enum must have non-empty array");let a=o.length>=i.opts.loopEnum,c,u=()=>c??(c=(0,Hz.useFunc)(t,Wz.default)),d;if(a||n)d=t.let("valid"),e.block$data(d,l);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let h=t.const("vSchema",s);d=(0,xo.or)(...o.map((f,g)=>p(h,g)))}e.pass(d);function l(){t.assign(d,!1),t.forOf("v",s,h=>t.if((0,xo._)`${u()}(${r}, ${h})`,()=>t.assign(d,!0).break()))}function p(h,f){let g=o[f];return typeof g=="object"&&g!==null?(0,xo._)`${u()}(${r}, ${h}[${f}])`:(0,xo._)`${r} === ${g}`}}};kd.default=Kz});var kg=z(xd=>{"use strict";Object.defineProperty(xd,"__esModule",{value:!0});var Xz=ug(),Yz=dg(),Qz=mg(),e1=fg(),t1=hg(),r1=gg(),n1=yg(),o1=vg(),s1=bg(),i1=wg(),a1=[Xz.default,Yz.default,Qz.default,e1.default,t1.default,r1.default,n1.default,o1.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},s1.default,i1.default];xd.default=a1});var $d=z(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.validateAdditionalItems=void 0;var Mr=F(),Sd=ee(),c1={message:({params:{len:e}})=>(0,Mr.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Mr._)`{limit: ${e}}`},u1={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:c1,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,Sd.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}xg(e,n)}};function xg(e,t){let{gen:r,schema:n,data:o,keyword:s,it:i}=e;i.items=!0;let a=r.const("len",(0,Mr._)`${o}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,Mr._)`${a} <= ${t.length}`);else if(typeof n=="object"&&!(0,Sd.alwaysValidSchema)(i,n)){let u=r.var("valid",(0,Mr._)`${a} <= ${t.length}`);r.if((0,Mr.not)(u),()=>c(u)),e.ok(u)}function c(u){r.forRange("i",t.length,a,d=>{e.subschema({keyword:s,dataProp:d,dataPropType:Sd.Type.Num},u),i.allErrors||r.if((0,Mr.not)(u),()=>r.break())})}}So.validateAdditionalItems=xg;So.default=u1});var zd=z($o=>{"use strict";Object.defineProperty($o,"__esModule",{value:!0});$o.validateTuple=void 0;var Sg=F(),ii=ee(),d1=rt(),l1={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return $g(e,"additionalItems",t);r.items=!0,!(0,ii.alwaysValidSchema)(r,t)&&e.ok((0,d1.validateArray)(e))}};function $g(e,t,r=e.schema){let{gen:n,parentSchema:o,data:s,keyword:i,it:a}=e;d(o),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=ii.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),u=n.const("len",(0,Sg._)`${s}.length`);r.forEach((l,p)=>{(0,ii.alwaysValidSchema)(a,l)||(n.if((0,Sg._)`${u} > ${p}`,()=>e.subschema({keyword:i,schemaProp:p,dataProp:p},c)),e.ok(c))});function d(l){let{opts:p,errSchemaPath:h}=a,f=r.length,g=f===l.minItems&&(f===l.maxItems||l[t]===!1);if(p.strictTuples&&!g){let y=`"${i}" is ${f}-tuple, but minItems or maxItems/${t} are not specified or different at path "${h}"`;(0,ii.checkStrictMode)(a,y,p.strictTuples)}}}$o.validateTuple=$g;$o.default=l1});var zg=z(Pd=>{"use strict";Object.defineProperty(Pd,"__esModule",{value:!0});var p1=zd(),m1={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,p1.validateTuple)(e,"items")};Pd.default=m1});var Tg=z(Td=>{"use strict";Object.defineProperty(Td,"__esModule",{value:!0});var Pg=F(),f1=ee(),h1=rt(),g1=$d(),y1={message:({params:{len:e}})=>(0,Pg.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Pg._)`{limit: ${e}}`},_1={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:y1,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:o}=r;n.items=!0,!(0,f1.alwaysValidSchema)(n,t)&&(o?(0,g1.validateAdditionalItems)(e,o):e.ok((0,h1.validateArray)(e)))}};Td.default=_1});var Rg=z(Rd=>{"use strict";Object.defineProperty(Rd,"__esModule",{value:!0});var ot=F(),ai=ee(),v1={message:({params:{min:e,max:t}})=>t===void 0?(0,ot.str)`must contain at least ${e} valid item(s)`:(0,ot.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,ot._)`{minContains: ${e}}`:(0,ot._)`{minContains: ${e}, maxContains: ${t}}`},b1={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:v1,code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:s}=e,i,a,{minContains:c,maxContains:u}=n;s.opts.next?(i=c===void 0?1:c,a=u):i=1;let d=t.const("len",(0,ot._)`${o}.length`);if(e.setParams({min:i,max:a}),a===void 0&&i===0){(0,ai.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,ai.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,ai.alwaysValidSchema)(s,r)){let g=(0,ot._)`${d} >= ${i}`;a!==void 0&&(g=(0,ot._)`${g} && ${d} <= ${a}`),e.pass(g);return}s.items=!0;let l=t.name("valid");a===void 0&&i===1?h(l,()=>t.if(l,()=>t.break())):i===0?(t.let(l,!0),a!==void 0&&t.if((0,ot._)`${o}.length > 0`,p)):(t.let(l,!1),p()),e.result(l,()=>e.reset());function p(){let g=t.name("_valid"),y=t.let("count",0);h(g,()=>t.if(g,()=>f(y)))}function h(g,y){t.forRange("i",0,d,b=>{e.subschema({keyword:"contains",dataProp:b,dataPropType:ai.Type.Num,compositeRule:!0},g),y()})}function f(g){t.code((0,ot._)`${g}++`),a===void 0?t.if((0,ot._)`${g} >= ${i}`,()=>t.assign(l,!0).break()):(t.if((0,ot._)`${g} > ${a}`,()=>t.assign(l,!1).break()),i===1?t.assign(l,!0):t.if((0,ot._)`${g} >= ${i}`,()=>t.assign(l,!0)))}}};Rd.default=b1});var Og=z(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.validateSchemaDeps=kt.validatePropertyDeps=kt.error=void 0;var Ed=F(),w1=ee(),zo=rt();kt.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,Ed.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,Ed._)`{property: ${e},
|
|
8
8
|
missingProperty: ${n},
|
|
9
9
|
depsCount: ${t},
|
|
10
|
-
deps: ${r}}`};var _1={keyword:"dependencies",type:"object",schemaType:"object",error:kt.error,code(e){let[t,r]=v1(e);Rg(e,t),Ig(e,r)}};function v1({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let o=Array.isArray(e[n])?t:r;o[n]=e[n]}return[t,r]}function Rg(e,t=e.schema){let{gen:r,data:n,it:o}=e;if(Object.keys(t).length===0)return;let s=r.let("missing");for(let i in t){let a=t[i];if(a.length===0)continue;let c=(0,$o.propertyInData)(r,n,i,o.opts.ownProperties);e.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),o.allErrors?r.if(c,()=>{for(let u of a)(0,$o.checkReportMissingProp)(e,u)}):(r.if((0,Rd._)`${c} && (${(0,$o.checkMissingProp)(e,a,s)})`),(0,$o.reportMissingProp)(e,s),r.else())}}kt.validatePropertyDeps=Rg;function Ig(e,t=e.schema){let{gen:r,data:n,keyword:o,it:s}=e,i=r.name("valid");for(let a in t)(0,y1.alwaysValidSchema)(s,t[a])||(r.if((0,$o.propertyInData)(r,n,a,s.opts.ownProperties),()=>{let c=e.subschema({keyword:o,schemaProp:a},i);e.mergeValidEvaluated(c,i)},()=>r.var(i,!0)),e.ok(i))}kt.validateSchemaDeps=Ig;kt.default=_1});var jg=z(Id=>{"use strict";Object.defineProperty(Id,"__esModule",{value:!0});var Og=F(),b1=ee(),w1={message:"property name must be valid",params:({params:e})=>(0,Og._)`{propertyName: ${e.propertyName}}`},k1={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:w1,code(e){let{gen:t,schema:r,data:n,it:o}=e;if((0,b1.alwaysValidSchema)(o,r))return;let s=t.name("valid");t.forIn("key",n,i=>{e.setParams({propertyName:i}),e.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},s),t.if((0,Og.not)(s),()=>{e.error(!0),o.allErrors||t.break()})}),e.ok(s)}};Id.default=k1});var Od=z(Ed=>{"use strict";Object.defineProperty(Ed,"__esModule",{value:!0});var ai=rt(),pt=F(),x1=Ct(),ci=ee(),S1={message:"must NOT have additional properties",params:({params:e})=>(0,pt._)`{additionalProperty: ${e.additionalProperty}}`},$1={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:S1,code(e){let{gen:t,schema:r,parentSchema:n,data:o,errsCount:s,it:i}=e;if(!s)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=i;if(i.props=!0,c.removeAdditional!=="all"&&(0,ci.alwaysValidSchema)(i,r))return;let u=(0,ai.allSchemaProperties)(n.properties),d=(0,ai.allSchemaProperties)(n.patternProperties);l(),e.ok((0,pt._)`${s} === ${x1.default.errors}`);function l(){t.forIn("key",o,y=>{!u.length&&!d.length?f(y):t.if(p(y),()=>f(y))})}function p(y){let b;if(u.length>8){let w=(0,ci.schemaRefOrVal)(i,n.properties,"properties");b=(0,ai.isOwnProperty)(t,w,y)}else u.length?b=(0,pt.or)(...u.map(w=>(0,pt._)`${y} === ${w}`)):b=pt.nil;return d.length&&(b=(0,pt.or)(b,...d.map(w=>(0,pt._)`${(0,ai.usePattern)(e,w)}.test(${y})`))),(0,pt.not)(b)}function h(y){t.code((0,pt._)`delete ${o}[${y}]`)}function f(y){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){h(y);return}if(r===!1){e.setParams({additionalProperty:y}),e.error(),a||t.break();return}if(typeof r=="object"&&!(0,ci.alwaysValidSchema)(i,r)){let b=t.name("valid");c.removeAdditional==="failing"?(g(y,b,!1),t.if((0,pt.not)(b),()=>{e.reset(),h(y)})):(g(y,b),a||t.if((0,pt.not)(b),()=>t.break()))}}function g(y,b,w){let k={keyword:"additionalProperties",dataProp:y,dataPropType:ci.Type.Str};w===!1&&Object.assign(k,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(k,b)}}};Ed.default=$1});var Mg=z(Cd=>{"use strict";Object.defineProperty(Cd,"__esModule",{value:!0});var z1=lo(),Cg=rt(),jd=ee(),Ag=Od(),P1={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:s}=e;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&Ag.default.code(new z1.KeywordCxt(s,Ag.default,"additionalProperties"));let i=(0,Cg.allSchemaProperties)(r);for(let l of i)s.definedProperties.add(l);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=jd.mergeEvaluated.props(t,(0,jd.toHash)(i),s.props));let a=i.filter(l=>!(0,jd.alwaysValidSchema)(s,r[l]));if(a.length===0)return;let c=t.name("valid");for(let l of a)u(l)?d(l):(t.if((0,Cg.propertyInData)(t,o,l,s.opts.ownProperties)),d(l),s.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(l),e.ok(c);function u(l){return s.opts.useDefaults&&!s.compositeRule&&r[l].default!==void 0}function d(l){e.subschema({keyword:"properties",schemaProp:l,dataProp:l},c)}}};Cd.default=P1});var Zg=z(Ad=>{"use strict";Object.defineProperty(Ad,"__esModule",{value:!0});var Ng=rt(),ui=F(),Lg=ee(),Dg=ee(),T1={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:o,it:s}=e,{opts:i}=s,a=(0,Ng.allSchemaProperties)(r),c=a.filter(g=>(0,Lg.alwaysValidSchema)(s,r[g]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let u=i.strictSchema&&!i.allowMatchingProperties&&o.properties,d=t.name("valid");s.props!==!0&&!(s.props instanceof ui.Name)&&(s.props=(0,Dg.evaluatedPropsToName)(t,s.props));let{props:l}=s;p();function p(){for(let g of a)u&&h(g),s.allErrors?f(g):(t.var(d,!0),f(g),t.if(d))}function h(g){for(let y in u)new RegExp(g).test(y)&&(0,Lg.checkStrictMode)(s,`property ${y} matches pattern ${g} (use allowMatchingProperties)`)}function f(g){t.forIn("key",n,y=>{t.if((0,ui._)`${(0,Ng.usePattern)(e,g)}.test(${y})`,()=>{let b=c.includes(g);b||e.subschema({keyword:"patternProperties",schemaProp:g,dataProp:y,dataPropType:Dg.Type.Str},d),s.opts.unevaluated&&l!==!0?t.assign((0,ui._)`${l}[${y}]`,!0):!b&&!s.allErrors&&t.if((0,ui.not)(d),()=>t.break())})})}}};Ad.default=T1});var Ug=z(Md=>{"use strict";Object.defineProperty(Md,"__esModule",{value:!0});var R1=ee(),I1={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,R1.alwaysValidSchema)(n,r)){e.fail();return}let o=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),e.failResult(o,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};Md.default=I1});var qg=z(Nd=>{"use strict";Object.defineProperty(Nd,"__esModule",{value:!0});var E1=rt(),O1={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:E1.validateUnion,error:{message:"must match a schema in anyOf"}};Nd.default=O1});var Jg=z(Ld=>{"use strict";Object.defineProperty(Ld,"__esModule",{value:!0});var di=F(),j1=ee(),C1={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,di._)`{passingSchemas: ${e.passing}}`},A1={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:C1,code(e){let{gen:t,schema:r,parentSchema:n,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let s=r,i=t.let("valid",!1),a=t.let("passing",null),c=t.name("_valid");e.setParams({passing:a}),t.block(u),e.result(i,()=>e.reset(),()=>e.error(!0));function u(){s.forEach((d,l)=>{let p;(0,j1.alwaysValidSchema)(o,d)?t.var(c,!0):p=e.subschema({keyword:"oneOf",schemaProp:l,compositeRule:!0},c),l>0&&t.if((0,di._)`${c} && ${i}`).assign(i,!1).assign(a,(0,di._)`[${a}, ${l}]`).else(),t.if(c,()=>{t.assign(i,!0),t.assign(a,l),p&&e.mergeEvaluated(p,di.Name)})})}}};Ld.default=A1});var Fg=z(Dd=>{"use strict";Object.defineProperty(Dd,"__esModule",{value:!0});var M1=ee(),N1={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let o=t.name("valid");r.forEach((s,i)=>{if((0,M1.alwaysValidSchema)(n,s))return;let a=e.subschema({keyword:"allOf",schemaProp:i},o);e.ok(o),e.mergeEvaluated(a)})}};Dd.default=N1});var Hg=z(Zd=>{"use strict";Object.defineProperty(Zd,"__esModule",{value:!0});var li=F(),Bg=ee(),L1={message:({params:e})=>(0,li.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,li._)`{failingKeyword: ${e.ifClause}}`},D1={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:L1,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,Bg.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=Vg(n,"then"),s=Vg(n,"else");if(!o&&!s)return;let i=t.let("valid",!0),a=t.name("_valid");if(c(),e.reset(),o&&s){let d=t.let("ifClause");e.setParams({ifClause:d}),t.if(a,u("then",d),u("else",d))}else o?t.if(a,u("then")):t.if((0,li.not)(a),u("else"));e.pass(i,()=>e.error(!0));function c(){let d=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);e.mergeEvaluated(d)}function u(d,l){return()=>{let p=e.subschema({keyword:d},a);t.assign(i,a),e.mergeValidEvaluated(p,i),l?t.assign(l,(0,li._)`${d}`):e.setParams({ifClause:d})}}}};function Vg(e,t){let r=e.schema[t];return r!==void 0&&!(0,Bg.alwaysValidSchema)(e,r)}Zd.default=D1});var Wg=z(Ud=>{"use strict";Object.defineProperty(Ud,"__esModule",{value:!0});var Z1=ee(),U1={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,Z1.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};Ud.default=U1});var Gg=z(qd=>{"use strict";Object.defineProperty(qd,"__esModule",{value:!0});var q1=Sd(),J1=$g(),F1=$d(),V1=Pg(),B1=Tg(),H1=Eg(),W1=jg(),G1=Od(),K1=Mg(),X1=Zg(),Y1=Ug(),Q1=qg(),eP=Jg(),tP=Fg(),rP=Hg(),nP=Wg();function oP(e=!1){let t=[Y1.default,Q1.default,eP.default,tP.default,rP.default,nP.default,W1.default,G1.default,H1.default,K1.default,X1.default];return e?t.push(J1.default,V1.default):t.push(q1.default,F1.default),t.push(B1.default),t}qd.default=oP});var Kg=z(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0});var ye=F(),sP={message:({schemaCode:e})=>(0,ye.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,ye._)`{format: ${e}}`},iP={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:sP,code(e,t){let{gen:r,data:n,$data:o,schema:s,schemaCode:i,it:a}=e,{opts:c,errSchemaPath:u,schemaEnv:d,self:l}=a;if(!c.validateFormats)return;o?p():h();function p(){let f=r.scopeValue("formats",{ref:l.formats,code:c.code.formats}),g=r.const("fDef",(0,ye._)`${f}[${i}]`),y=r.let("fType"),b=r.let("format");r.if((0,ye._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>r.assign(y,(0,ye._)`${g}.type || "string"`).assign(b,(0,ye._)`${g}.validate`),()=>r.assign(y,(0,ye._)`"string"`).assign(b,g)),e.fail$data((0,ye.or)(w(),k()));function w(){return c.strictSchema===!1?ye.nil:(0,ye._)`${i} && !${b}`}function k(){let R=d.$async?(0,ye._)`(${g}.async ? await ${b}(${n}) : ${b}(${n}))`:(0,ye._)`${b}(${n})`,M=(0,ye._)`(typeof ${b} == "function" ? ${R} : ${b}.test(${n}))`;return(0,ye._)`${b} && ${b} !== true && ${y} === ${t} && !${M}`}}function h(){let f=l.formats[s];if(!f){w();return}if(f===!0)return;let[g,y,b]=k(f);g===t&&e.pass(R());function w(){if(c.strictSchema===!1){l.logger.warn(M());return}throw new Error(M());function M(){return`unknown format "${s}" ignored in schema at path "${u}"`}}function k(M){let Oe=M instanceof RegExp?(0,ye.regexpCode)(M):c.code.formats?(0,ye._)`${c.code.formats}${(0,ye.getProperty)(s)}`:void 0,Ge=r.scopeValue("formats",{key:s,ref:M,code:Oe});return typeof M=="object"&&!(M instanceof RegExp)?[M.type||"string",M.validate,(0,ye._)`${Ge}.validate`]:["string",M,Ge]}function R(){if(typeof f=="object"&&!(f instanceof RegExp)&&f.async){if(!d.$async)throw new Error("async format in sync schema");return(0,ye._)`await ${b}(${n})`}return typeof y=="function"?(0,ye._)`${b}(${n})`:(0,ye._)`${b}.test(${n})`}}}};Jd.default=iP});var Xg=z(Fd=>{"use strict";Object.defineProperty(Fd,"__esModule",{value:!0});var aP=Kg(),cP=[aP.default];Fd.default=cP});var Yg=z(hn=>{"use strict";Object.defineProperty(hn,"__esModule",{value:!0});hn.contentVocabulary=hn.metadataVocabulary=void 0;hn.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];hn.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var ey=z(Vd=>{"use strict";Object.defineProperty(Vd,"__esModule",{value:!0});var uP=ag(),dP=wg(),lP=Gg(),pP=Xg(),Qg=Yg(),mP=[uP.default,dP.default,(0,lP.default)(),pP.default,Qg.metadataVocabulary,Qg.contentVocabulary];Vd.default=mP});var ry=z(pi=>{"use strict";Object.defineProperty(pi,"__esModule",{value:!0});pi.DiscrError=void 0;var ty;(function(e){e.Tag="tag",e.Mapping="mapping"})(ty||(pi.DiscrError=ty={}))});var oy=z(Hd=>{"use strict";Object.defineProperty(Hd,"__esModule",{value:!0});var gn=F(),Bd=ry(),ny=Hs(),fP=po(),hP=ee(),gP={message:({params:{discrError:e,tagName:t}})=>e===Bd.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,gn._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},yP={keyword:"discriminator",type:"object",schemaType:"object",error:gP,code(e){let{gen:t,data:r,schema:n,parentSchema:o,it:s}=e,{oneOf:i}=o;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=n.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!i)throw new Error("discriminator: requires oneOf keyword");let c=t.let("valid",!1),u=t.const("tag",(0,gn._)`${r}${(0,gn.getProperty)(a)}`);t.if((0,gn._)`typeof ${u} == "string"`,()=>d(),()=>e.error(!1,{discrError:Bd.DiscrError.Tag,tag:u,tagName:a})),e.ok(c);function d(){let h=p();t.if(!1);for(let f in h)t.elseIf((0,gn._)`${u} === ${f}`),t.assign(c,l(h[f]));t.else(),e.error(!1,{discrError:Bd.DiscrError.Mapping,tag:u,tagName:a}),t.endIf()}function l(h){let f=t.name("valid"),g=e.subschema({keyword:"oneOf",schemaProp:h},f);return e.mergeEvaluated(g,gn.Name),f}function p(){var h;let f={},g=b(o),y=!0;for(let R=0;R<i.length;R++){let M=i[R];if(M?.$ref&&!(0,hP.schemaHasRulesButRef)(M,s.self.RULES)){let Ge=M.$ref;if(M=ny.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,Ge),M instanceof ny.SchemaEnv&&(M=M.schema),M===void 0)throw new fP.default(s.opts.uriResolver,s.baseId,Ge)}let Oe=(h=M?.properties)===null||h===void 0?void 0:h[a];if(typeof Oe!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);y=y&&(g||b(M)),w(Oe,R)}if(!y)throw new Error(`discriminator: "${a}" must be required`);return f;function b({required:R}){return Array.isArray(R)&&R.includes(a)}function w(R,M){if(R.const)k(R.const,M);else if(R.enum)for(let Oe of R.enum)k(Oe,M);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function k(R,M){if(typeof R!="string"||R in f)throw new Error(`discriminator: "${a}" values must be unique strings`);f[R]=M}}}};Hd.default=yP});var sy=z((TA,_P)=>{_P.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 Gd=z((le,Wd)=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});le.MissingRefError=le.ValidationError=le.CodeGen=le.Name=le.nil=le.stringify=le.str=le._=le.KeywordCxt=le.Ajv=void 0;var vP=tg(),bP=ey(),wP=oy(),iy=sy(),kP=["/properties"],mi="http://json-schema.org/draft-07/schema",yn=class extends vP.default{_addVocabularies(){super._addVocabularies(),bP.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(wP.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(iy,kP):iy;this.addMetaSchema(t,mi,!1),this.refs["http://json-schema.org/schema"]=mi}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(mi)?mi:void 0)}};le.Ajv=yn;Wd.exports=le=yn;Wd.exports.Ajv=yn;Object.defineProperty(le,"__esModule",{value:!0});le.default=yn;var xP=lo();Object.defineProperty(le,"KeywordCxt",{enumerable:!0,get:function(){return xP.KeywordCxt}});var _n=F();Object.defineProperty(le,"_",{enumerable:!0,get:function(){return _n._}});Object.defineProperty(le,"str",{enumerable:!0,get:function(){return _n.str}});Object.defineProperty(le,"stringify",{enumerable:!0,get:function(){return _n.stringify}});Object.defineProperty(le,"nil",{enumerable:!0,get:function(){return _n.nil}});Object.defineProperty(le,"Name",{enumerable:!0,get:function(){return _n.Name}});Object.defineProperty(le,"CodeGen",{enumerable:!0,get:function(){return _n.CodeGen}});var SP=Vs();Object.defineProperty(le,"ValidationError",{enumerable:!0,get:function(){return SP.default}});var $P=po();Object.defineProperty(le,"MissingRefError",{enumerable:!0,get:function(){return $P.default}})});var fy=z(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.formatNames=St.fastFormats=St.fullFormats=void 0;function xt(e,t){return{validate:e,compare:t}}St.fullFormats={date:xt(dy,Qd),time:xt(Xd(!0),el),"date-time":xt(ay(!0),py),"iso-time":xt(Xd(),ly),"iso-date-time":xt(ay(),my),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:EP,"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:LP,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:OP,int32:{type:"number",validate:AP},int64:{type:"number",validate:MP},float:{type:"number",validate:uy},double:{type:"number",validate:uy},password:!0,binary:!0};St.fastFormats={...St.fullFormats,date:xt(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,Qd),time:xt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,el),"date-time":xt(/^\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,py),"iso-time":xt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,ly),"iso-date-time":xt(/^\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,my),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};St.formatNames=Object.keys(St.fullFormats);function zP(e){return e%4===0&&(e%100!==0||e%400===0)}var PP=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,TP=[0,31,28,31,30,31,30,31,31,30,31,30,31];function dy(e){let t=PP.exec(e);if(!t)return!1;let r=+t[1],n=+t[2],o=+t[3];return n>=1&&n<=12&&o>=1&&o<=(n===2&&zP(r)?29:TP[n])}function Qd(e,t){if(e&&t)return e>t?1:e<t?-1:0}var Kd=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function Xd(e){return function(r){let n=Kd.exec(r);if(!n)return!1;let o=+n[1],s=+n[2],i=+n[3],a=n[4],c=n[5]==="-"?-1:1,u=+(n[6]||0),d=+(n[7]||0);if(u>23||d>59||e&&!a)return!1;if(o<=23&&s<=59&&i<60)return!0;let l=s-d*c,p=o-u*c-(l<0?1:0);return(p===23||p===-1)&&(l===59||l===-1)&&i<61}}function el(e,t){if(!(e&&t))return;let r=new Date("2020-01-01T"+e).valueOf(),n=new Date("2020-01-01T"+t).valueOf();if(r&&n)return r-n}function ly(e,t){if(!(e&&t))return;let r=Kd.exec(e),n=Kd.exec(t);if(r&&n)return e=r[1]+r[2]+r[3],t=n[1]+n[2]+n[3],e>t?1:e<t?-1:0}var Yd=/t|\s/i;function ay(e){let t=Xd(e);return function(n){let o=n.split(Yd);return o.length===2&&dy(o[0])&&t(o[1])}}function py(e,t){if(!(e&&t))return;let r=new Date(e).valueOf(),n=new Date(t).valueOf();if(r&&n)return r-n}function my(e,t){if(!(e&&t))return;let[r,n]=e.split(Yd),[o,s]=t.split(Yd),i=Qd(r,o);if(i!==void 0)return i||el(n,s)}var RP=/\/|:/,IP=/^(?:[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 EP(e){return RP.test(e)&&IP.test(e)}var cy=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function OP(e){return cy.lastIndex=0,cy.test(e)}var jP=-(2**31),CP=2**31-1;function AP(e){return Number.isInteger(e)&&e<=CP&&e>=jP}function MP(e){return Number.isInteger(e)}function uy(){return!0}var NP=/[^\\]\\Z/;function LP(e){if(NP.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}});var hy=z(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.formatLimitDefinition=void 0;var DP=Gd(),mt=F(),tr=mt.operators,fi={formatMaximum:{okStr:"<=",ok:tr.LTE,fail:tr.GT},formatMinimum:{okStr:">=",ok:tr.GTE,fail:tr.LT},formatExclusiveMaximum:{okStr:"<",ok:tr.LT,fail:tr.GTE},formatExclusiveMinimum:{okStr:">",ok:tr.GT,fail:tr.LTE}},ZP={message:({keyword:e,schemaCode:t})=>(0,mt.str)`should be ${fi[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,mt._)`{comparison: ${fi[e].okStr}, limit: ${t}}`};vn.formatLimitDefinition={keyword:Object.keys(fi),type:"string",schemaType:"string",$data:!0,error:ZP,code(e){let{gen:t,data:r,schemaCode:n,keyword:o,it:s}=e,{opts:i,self:a}=s;if(!i.validateFormats)return;let c=new DP.KeywordCxt(s,a.RULES.all.format.definition,"format");c.$data?u():d();function u(){let p=t.scopeValue("formats",{ref:a.formats,code:i.code.formats}),h=t.const("fmt",(0,mt._)`${p}[${c.schemaCode}]`);e.fail$data((0,mt.or)((0,mt._)`typeof ${h} != "object"`,(0,mt._)`${h} instanceof RegExp`,(0,mt._)`typeof ${h}.compare != "function"`,l(h)))}function d(){let p=c.schema,h=a.formats[p];if(!h||h===!0)return;if(typeof h!="object"||h instanceof RegExp||typeof h.compare!="function")throw new Error(`"${o}": format "${p}" does not define "compare" function`);let f=t.scopeValue("formats",{key:p,ref:h,code:i.code.formats?(0,mt._)`${i.code.formats}${(0,mt.getProperty)(p)}`:void 0});e.fail$data(l(f))}function l(p){return(0,mt._)`${p}.compare(${r}, ${n}) ${fi[o].fail} 0`}},dependencies:["format"]};var UP=e=>(e.addKeyword(vn.formatLimitDefinition),e);vn.default=UP});var vy=z((zo,_y)=>{"use strict";Object.defineProperty(zo,"__esModule",{value:!0});var bn=fy(),qP=hy(),tl=F(),gy=new tl.Name("fullFormats"),JP=new tl.Name("fastFormats"),rl=(e,t={keywords:!0})=>{if(Array.isArray(t))return yy(e,t,bn.fullFormats,gy),e;let[r,n]=t.mode==="fast"?[bn.fastFormats,JP]:[bn.fullFormats,gy],o=t.formats||bn.formatNames;return yy(e,o,r,n),t.keywords&&(0,qP.default)(e),e};rl.get=(e,t="full")=>{let n=(t==="fast"?bn.fastFormats:bn.fullFormats)[e];if(!n)throw new Error(`Unknown format "${e}"`);return n};function yy(e,t,r,n){var o,s;(o=(s=e.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,tl._)`require("ajv-formats/dist/formats").${n}`);for(let i of t)e.addFormat(i,r[i])}_y.exports=zo=rl;Object.defineProperty(zo,"__esModule",{value:!0});zo.default=rl});import{pathToFileURL as cI}from"node:url";var m={};Ii(m,{BRAND:()=>Rv,DIRTY:()=>nr,EMPTY_PATH:()=>av,INVALID:()=>N,NEVER:()=>pb,OK:()=>Te,ParseStatus:()=>ke,Schema:()=>J,ZodAny:()=>Zt,ZodArray:()=>It,ZodBigInt:()=>sr,ZodBoolean:()=>ir,ZodBranded:()=>Sn,ZodCatch:()=>yr,ZodDate:()=>ar,ZodDefault:()=>gr,ZodDiscriminatedUnion:()=>No,ZodEffects:()=>Xe,ZodEnum:()=>fr,ZodError:()=>Ne,ZodFirstPartyTypeKind:()=>S,ZodFunction:()=>Do,ZodIntersection:()=>lr,ZodIssueCode:()=>x,ZodLazy:()=>pr,ZodLiteral:()=>mr,ZodMap:()=>Fr,ZodNaN:()=>Br,ZodNativeEnum:()=>hr,ZodNever:()=>st,ZodNull:()=>ur,ZodNullable:()=>yt,ZodNumber:()=>or,ZodObject:()=>De,ZodOptional:()=>Le,ZodParsedType:()=>P,ZodPipeline:()=>$n,ZodPromise:()=>Ut,ZodReadonly:()=>_r,ZodRecord:()=>Lo,ZodSchema:()=>J,ZodSet:()=>Vr,ZodString:()=>Dt,ZodSymbol:()=>qr,ZodTransformer:()=>Xe,ZodTuple:()=>gt,ZodType:()=>J,ZodUndefined:()=>cr,ZodUnion:()=>dr,ZodUnknown:()=>Rt,ZodVoid:()=>Jr,addIssueToContext:()=>$,any:()=>Lv,array:()=>qv,bigint:()=>jv,boolean:()=>Gl,coerce:()=>lb,custom:()=>Bl,date:()=>Cv,datetimeRegex:()=>Fl,defaultErrorMap:()=>Pt,discriminatedUnion:()=>Vv,effect:()=>nb,enum:()=>eb,function:()=>Xv,getErrorMap:()=>Dr,getParsedType:()=>ht,instanceof:()=>Ev,intersection:()=>Bv,isAborted:()=>Ao,isAsync:()=>Zr,isDirty:()=>Mo,isValid:()=>Lt,late:()=>Iv,lazy:()=>Yv,literal:()=>Qv,makeIssue:()=>xn,map:()=>Gv,nan:()=>Ov,nativeEnum:()=>tb,never:()=>Zv,null:()=>Nv,nullable:()=>sb,number:()=>Wl,object:()=>Ci,objectUtil:()=>Ei,oboolean:()=>db,onumber:()=>ub,optional:()=>ob,ostring:()=>cb,pipeline:()=>ab,preprocess:()=>ib,promise:()=>rb,quotelessJson:()=>ov,record:()=>Wv,set:()=>Kv,setErrorMap:()=>iv,strictObject:()=>Jv,string:()=>Hl,symbol:()=>Av,transformer:()=>nb,tuple:()=>Hv,undefined:()=>Mv,union:()=>Fv,unknown:()=>Dv,util:()=>H,void:()=>Uv});var H;(function(e){e.assertEqual=o=>{};function t(o){}e.assertIs=t;function r(o){throw new Error}e.assertNever=r,e.arrayToEnum=o=>{let s={};for(let i of o)s[i]=i;return s},e.getValidEnumValues=o=>{let s=e.objectKeys(o).filter(a=>typeof o[o[a]]!="number"),i={};for(let a of s)i[a]=o[a];return e.objectValues(i)},e.objectValues=o=>e.objectKeys(o).map(function(s){return o[s]}),e.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let s=[];for(let i in o)Object.prototype.hasOwnProperty.call(o,i)&&s.push(i);return s},e.find=(o,s)=>{for(let i of o)if(s(i))return i},e.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function n(o,s=" | "){return o.map(i=>typeof i=="string"?`'${i}'`:i).join(s)}e.joinValues=n,e.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(H||(H={}));var Ei;(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(Ei||(Ei={}));var P=H.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ht=e=>{switch(typeof e){case"undefined":return P.undefined;case"string":return P.string;case"number":return Number.isNaN(e)?P.nan:P.number;case"boolean":return P.boolean;case"function":return P.function;case"bigint":return P.bigint;case"symbol":return P.symbol;case"object":return Array.isArray(e)?P.array:e===null?P.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?P.promise:typeof Map<"u"&&e instanceof Map?P.map:typeof Set<"u"&&e instanceof Set?P.set:typeof Date<"u"&&e instanceof Date?P.date:P.object;default:return P.unknown}};var x=H.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"]),ov=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),Ne=class e extends Error{get errors(){return this.issues}constructor(t){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=t}format(t){let r=t||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(this),n}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,H.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=r=>r.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let s=o.path[0];r[s]=r[s]||[],r[s].push(t(o))}else n.push(t(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};Ne.create=e=>new Ne(e);var sv=(e,t)=>{let r;switch(e.code){case x.invalid_type:e.received===P.undefined?r="Required":r=`Expected ${e.expected}, received ${e.received}`;break;case x.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,H.jsonStringifyReplacer)}`;break;case x.unrecognized_keys:r=`Unrecognized key(s) in object: ${H.joinValues(e.keys,", ")}`;break;case x.invalid_union:r="Invalid input";break;case x.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${H.joinValues(e.options)}`;break;case x.invalid_enum_value:r=`Invalid enum value. Expected ${H.joinValues(e.options)}, received '${e.received}'`;break;case x.invalid_arguments:r="Invalid function arguments";break;case x.invalid_return_type:r="Invalid function return type";break;case x.invalid_date:r="Invalid date";break;case x.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:H.assertNever(e.validation):e.validation!=="regex"?r=`Invalid ${e.validation}`:r="Invalid";break;case x.too_small:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:r="Invalid input";break;case x.too_big:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?r=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:r="Invalid input";break;case x.custom:r="Invalid input";break;case x.invalid_intersection_types:r="Intersection results could not be merged";break;case x.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case x.not_finite:r="Number must be finite";break;default:r=t.defaultError,H.assertNever(e)}return{message:r}},Pt=sv;var Dl=Pt;function iv(e){Dl=e}function Dr(){return Dl}var xn=e=>{let{data:t,path:r,errorMaps:n,issueData:o}=e,s=[...r,...o.path||[]],i={...o,path:s};if(o.message!==void 0)return{...o,path:s,message:o.message};let a="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)a=u(i,{data:t,defaultError:a}).message;return{...o,path:s,message:a}},av=[];function $(e,t){let r=Dr(),n=xn({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,r,r===Pt?void 0:Pt].filter(o=>!!o)});e.common.issues.push(n)}var ke=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,r){let n=[];for(let o of r){if(o.status==="aborted")return N;o.status==="dirty"&&t.dirty(),n.push(o.value)}return{status:t.value,value:n}}static async mergeObjectAsync(t,r){let n=[];for(let o of r){let s=await o.key,i=await o.value;n.push({key:s,value:i})}return e.mergeObjectSync(t,n)}static mergeObjectSync(t,r){let n={};for(let o of r){let{key:s,value:i}=o;if(s.status==="aborted"||i.status==="aborted")return N;s.status==="dirty"&&t.dirty(),i.status==="dirty"&&t.dirty(),s.value!=="__proto__"&&(typeof i.value<"u"||o.alwaysSet)&&(n[s.value]=i.value)}return{status:t.value,value:n}}},N=Object.freeze({status:"aborted"}),nr=e=>({status:"dirty",value:e}),Te=e=>({status:"valid",value:e}),Ao=e=>e.status==="aborted",Mo=e=>e.status==="dirty",Lt=e=>e.status==="valid",Zr=e=>typeof Promise<"u"&&e instanceof Promise;var E;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(E||(E={}));var Ke=class{constructor(t,r,n,o){this._cachedPath=[],this.parent=t,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}},Zl=(e,t)=>{if(Lt(t))return{success:!0,data:t.value};if(!e.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 Ne(e.common.issues);return this._error=r,this._error}}};function U(e){if(!e)return{};let{errorMap:t,invalid_type_error:r,required_error:n,description:o}=e;if(t&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:o}:{errorMap:(i,a)=>{let{message:c}=e;return i.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??n??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:c??r??a.defaultError}},description:o}}var J=class{get description(){return this._def.description}_getType(t){return ht(t.data)}_getOrReturnCtx(t,r){return r||{common:t.parent.common,data:t.data,parsedType:ht(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new ke,ctx:{common:t.parent.common,data:t.data,parsedType:ht(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let r=this._parse(t);if(Zr(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(t){let r=this._parse(t);return Promise.resolve(r)}parse(t,r){let n=this.safeParse(t,r);if(n.success)return n.data;throw n.error}safeParse(t,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ht(t)},o=this._parseSync({data:t,path:n.path,parent:n});return Zl(n,o)}"~validate"(t){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ht(t)};if(!this["~standard"].async)try{let n=this._parseSync({data:t,path:[],parent:r});return Lt(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:t,path:[],parent:r}).then(n=>Lt(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(t,r){let n=await this.safeParseAsync(t,r);if(n.success)return n.data;throw n.error}async safeParseAsync(t,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ht(t)},o=this._parse({data:t,path:n.path,parent:n}),s=await(Zr(o)?o:Promise.resolve(o));return Zl(n,s)}refine(t,r){let n=o=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,s)=>{let i=t(o),a=()=>s.addIssue({code:x.custom,...n(o)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(t,r){return this._refinement((n,o)=>t(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(t){return new Xe({schema:this,typeName:S.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,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 Le.create(this,this._def)}nullable(){return yt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return It.create(this)}promise(){return Ut.create(this,this._def)}or(t){return dr.create([this,t],this._def)}and(t){return lr.create(this,t,this._def)}transform(t){return new Xe({...U(this._def),schema:this,typeName:S.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let r=typeof t=="function"?t:()=>t;return new gr({...U(this._def),innerType:this,defaultValue:r,typeName:S.ZodDefault})}brand(){return new Sn({typeName:S.ZodBranded,type:this,...U(this._def)})}catch(t){let r=typeof t=="function"?t:()=>t;return new yr({...U(this._def),innerType:this,catchValue:r,typeName:S.ZodCatch})}describe(t){let r=this.constructor;return new r({...this._def,description:t})}pipe(t){return $n.create(this,t)}readonly(){return _r.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},cv=/^c[^\s-]{8,}$/i,uv=/^[0-9a-z]+$/,dv=/^[0-9A-HJKMNP-TV-Z]{26}$/i,lv=/^[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,pv=/^[a-z0-9_-]{21}$/i,mv=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,fv=/^[-+]?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)?)??$/,hv=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,gv="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Oi,yv=/^(?:(?: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])$/,_v=/^(?:(?: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])$/,vv=/^(([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]))$/,bv=/^(([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])$/,wv=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,kv=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,ql="((\\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])))",xv=new RegExp(`^${ql}$`);function Jl(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let r=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${r}`}function Sv(e){return new RegExp(`^${Jl(e)}$`)}function Fl(e){let t=`${ql}T${Jl(e)}`,r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${r.join("|")})`,new RegExp(`^${t}$`)}function $v(e,t){return!!((t==="v4"||!t)&&yv.test(e)||(t==="v6"||!t)&&vv.test(e))}function zv(e,t){if(!mv.test(e))return!1;try{let[r]=e.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||t&&o.alg!==t)}catch{return!1}}function Pv(e,t){return!!((t==="v4"||!t)&&_v.test(e)||(t==="v6"||!t)&&bv.test(e))}var Dt=class e extends J{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==P.string){let s=this._getOrReturnCtx(t);return $(s,{code:x.invalid_type,expected:P.string,received:s.parsedType}),N}let n=new ke,o;for(let s of this._def.checks)if(s.kind==="min")t.data.length<s.value&&(o=this._getOrReturnCtx(t,o),$(o,{code:x.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")t.data.length>s.value&&(o=this._getOrReturnCtx(t,o),$(o,{code:x.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let i=t.data.length>s.value,a=t.data.length<s.value;(i||a)&&(o=this._getOrReturnCtx(t,o),i?$(o,{code:x.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&$(o,{code:x.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")hv.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"email",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")Oi||(Oi=new RegExp(gv,"u")),Oi.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"emoji",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")lv.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"uuid",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")pv.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"nanoid",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")cv.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"cuid",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")uv.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"cuid2",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")dv.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"ulid",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(t.data)}catch{o=this._getOrReturnCtx(t,o),$(o,{validation:"url",code:x.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"regex",code:x.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?t.data=t.data.trim():s.kind==="includes"?t.data.includes(s.value,s.position)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?t.data=t.data.toLowerCase():s.kind==="toUpperCase"?t.data=t.data.toUpperCase():s.kind==="startsWith"?t.data.startsWith(s.value)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?t.data.endsWith(s.value)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?Fl(s).test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?xv.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?Sv(s).test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?fv.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"duration",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?$v(t.data,s.version)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"ip",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?zv(t.data,s.alg)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"jwt",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?Pv(t.data,s.version)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"cidr",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?wv.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"base64",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?kv.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"base64url",code:x.invalid_string,message:s.message}),n.dirty()):H.assertNever(s);return{status:n.value,value:t.data}}_regex(t,r,n){return this.refinement(o=>t.test(o),{validation:r,code:x.invalid_string,...E.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...E.errToObj(t)})}url(t){return this._addCheck({kind:"url",...E.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...E.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...E.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...E.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...E.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...E.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...E.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...E.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...E.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...E.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...E.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...E.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...E.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...E.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...E.errToObj(t)})}regex(t,r){return this._addCheck({kind:"regex",regex:t,...E.errToObj(r)})}includes(t,r){return this._addCheck({kind:"includes",value:t,position:r?.position,...E.errToObj(r?.message)})}startsWith(t,r){return this._addCheck({kind:"startsWith",value:t,...E.errToObj(r)})}endsWith(t,r){return this._addCheck({kind:"endsWith",value:t,...E.errToObj(r)})}min(t,r){return this._addCheck({kind:"min",value:t,...E.errToObj(r)})}max(t,r){return this._addCheck({kind:"max",value:t,...E.errToObj(r)})}length(t,r){return this._addCheck({kind:"length",value:t,...E.errToObj(r)})}nonempty(t){return this.min(1,E.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxLength(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}};Dt.create=e=>new Dt({checks:[],typeName:S.ZodString,coerce:e?.coerce??!1,...U(e)});function Tv(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(e.toFixed(o).replace(".","")),i=Number.parseInt(t.toFixed(o).replace(".",""));return s%i/10**o}var or=class e extends J{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==P.number){let s=this._getOrReturnCtx(t);return $(s,{code:x.invalid_type,expected:P.number,received:s.parsedType}),N}let n,o=new ke;for(let s of this._def.checks)s.kind==="int"?H.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),$(n,{code:x.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(n=this._getOrReturnCtx(t,n),$(n,{code:x.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(n=this._getOrReturnCtx(t,n),$(n,{code:x.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?Tv(t.data,s.value)!==0&&(n=this._getOrReturnCtx(t,n),$(n,{code:x.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),$(n,{code:x.not_finite,message:s.message}),o.dirty()):H.assertNever(s);return{status:o.value,value:t.data}}gte(t,r){return this.setLimit("min",t,!0,E.toString(r))}gt(t,r){return this.setLimit("min",t,!1,E.toString(r))}lte(t,r){return this.setLimit("max",t,!0,E.toString(r))}lt(t,r){return this.setLimit("max",t,!1,E.toString(r))}setLimit(t,r,n,o){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:E.toString(o)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:E.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:E.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:E.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:E.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:E.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:E.toString(r)})}finite(t){return this._addCheck({kind:"finite",message:E.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:E.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:E.toString(t)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&H.isInteger(t.value))}get isFinite(){let t=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"&&(t===null||n.value<t)&&(t=n.value)}return Number.isFinite(r)&&Number.isFinite(t)}};or.create=e=>new or({checks:[],typeName:S.ZodNumber,coerce:e?.coerce||!1,...U(e)});var sr=class e extends J{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==P.bigint)return this._getInvalidInput(t);let n,o=new ke;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(n=this._getOrReturnCtx(t,n),$(n,{code:x.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(n=this._getOrReturnCtx(t,n),$(n,{code:x.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?t.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),$(n,{code:x.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):H.assertNever(s);return{status:o.value,value:t.data}}_getInvalidInput(t){let r=this._getOrReturnCtx(t);return $(r,{code:x.invalid_type,expected:P.bigint,received:r.parsedType}),N}gte(t,r){return this.setLimit("min",t,!0,E.toString(r))}gt(t,r){return this.setLimit("min",t,!1,E.toString(r))}lte(t,r){return this.setLimit("max",t,!0,E.toString(r))}lt(t,r){return this.setLimit("max",t,!1,E.toString(r))}setLimit(t,r,n,o){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:E.toString(o)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:E.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:E.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:E.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:E.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:E.toString(r)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}};sr.create=e=>new sr({checks:[],typeName:S.ZodBigInt,coerce:e?.coerce??!1,...U(e)});var ir=class extends J{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==P.boolean){let n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:P.boolean,received:n.parsedType}),N}return Te(t.data)}};ir.create=e=>new ir({typeName:S.ZodBoolean,coerce:e?.coerce||!1,...U(e)});var ar=class e extends J{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==P.date){let s=this._getOrReturnCtx(t);return $(s,{code:x.invalid_type,expected:P.date,received:s.parsedType}),N}if(Number.isNaN(t.data.getTime())){let s=this._getOrReturnCtx(t);return $(s,{code:x.invalid_date}),N}let n=new ke,o;for(let s of this._def.checks)s.kind==="min"?t.data.getTime()<s.value&&(o=this._getOrReturnCtx(t,o),$(o,{code:x.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?t.data.getTime()>s.value&&(o=this._getOrReturnCtx(t,o),$(o,{code:x.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):H.assertNever(s);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,r){return this._addCheck({kind:"min",value:t.getTime(),message:E.toString(r)})}max(t,r){return this._addCheck({kind:"max",value:t.getTime(),message:E.toString(r)})}get minDate(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t!=null?new Date(t):null}};ar.create=e=>new ar({checks:[],coerce:e?.coerce||!1,typeName:S.ZodDate,...U(e)});var qr=class extends J{_parse(t){if(this._getType(t)!==P.symbol){let n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:P.symbol,received:n.parsedType}),N}return Te(t.data)}};qr.create=e=>new qr({typeName:S.ZodSymbol,...U(e)});var cr=class extends J{_parse(t){if(this._getType(t)!==P.undefined){let n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:P.undefined,received:n.parsedType}),N}return Te(t.data)}};cr.create=e=>new cr({typeName:S.ZodUndefined,...U(e)});var ur=class extends J{_parse(t){if(this._getType(t)!==P.null){let n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:P.null,received:n.parsedType}),N}return Te(t.data)}};ur.create=e=>new ur({typeName:S.ZodNull,...U(e)});var Zt=class extends J{constructor(){super(...arguments),this._any=!0}_parse(t){return Te(t.data)}};Zt.create=e=>new Zt({typeName:S.ZodAny,...U(e)});var Rt=class extends J{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Te(t.data)}};Rt.create=e=>new Rt({typeName:S.ZodUnknown,...U(e)});var st=class extends J{_parse(t){let r=this._getOrReturnCtx(t);return $(r,{code:x.invalid_type,expected:P.never,received:r.parsedType}),N}};st.create=e=>new st({typeName:S.ZodNever,...U(e)});var Jr=class extends J{_parse(t){if(this._getType(t)!==P.undefined){let n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:P.void,received:n.parsedType}),N}return Te(t.data)}};Jr.create=e=>new Jr({typeName:S.ZodVoid,...U(e)});var It=class e extends J{_parse(t){let{ctx:r,status:n}=this._processInputParams(t),o=this._def;if(r.parsedType!==P.array)return $(r,{code:x.invalid_type,expected:P.array,received:r.parsedType}),N;if(o.exactLength!==null){let i=r.data.length>o.exactLength.value,a=r.data.length<o.exactLength.value;(i||a)&&($(r,{code:i?x.too_big:x.too_small,minimum:a?o.exactLength.value:void 0,maximum:i?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),n.dirty())}if(o.minLength!==null&&r.data.length<o.minLength.value&&($(r,{code:x.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),n.dirty()),o.maxLength!==null&&r.data.length>o.maxLength.value&&($(r,{code:x.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((i,a)=>o.type._parseAsync(new Ke(r,i,r.path,a)))).then(i=>ke.mergeArray(n,i));let s=[...r.data].map((i,a)=>o.type._parseSync(new Ke(r,i,r.path,a)));return ke.mergeArray(n,s)}get element(){return this._def.type}min(t,r){return new e({...this._def,minLength:{value:t,message:E.toString(r)}})}max(t,r){return new e({...this._def,maxLength:{value:t,message:E.toString(r)}})}length(t,r){return new e({...this._def,exactLength:{value:t,message:E.toString(r)}})}nonempty(t){return this.min(1,t)}};It.create=(e,t)=>new It({type:e,minLength:null,maxLength:null,exactLength:null,typeName:S.ZodArray,...U(t)});function Ur(e){if(e instanceof De){let t={};for(let r in e.shape){let n=e.shape[r];t[r]=Le.create(Ur(n))}return new De({...e._def,shape:()=>t})}else return e instanceof It?new It({...e._def,type:Ur(e.element)}):e instanceof Le?Le.create(Ur(e.unwrap())):e instanceof yt?yt.create(Ur(e.unwrap())):e instanceof gt?gt.create(e.items.map(t=>Ur(t))):e}var De=class e 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 t=this._def.shape(),r=H.objectKeys(t);return this._cached={shape:t,keys:r},this._cached}_parse(t){if(this._getType(t)!==P.object){let u=this._getOrReturnCtx(t);return $(u,{code:x.invalid_type,expected:P.object,received:u.parsedType}),N}let{status:n,ctx:o}=this._processInputParams(t),{shape:s,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof st&&this._def.unknownKeys==="strip"))for(let u in o.data)i.includes(u)||a.push(u);let c=[];for(let u of i){let d=s[u],l=o.data[u];c.push({key:{status:"valid",value:u},value:d._parse(new Ke(o,l,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof st){let u=this._def.unknownKeys;if(u==="passthrough")for(let d of a)c.push({key:{status:"valid",value:d},value:{status:"valid",value:o.data[d]}});else if(u==="strict")a.length>0&&($(o,{code:x.unrecognized_keys,keys:a}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let d of a){let l=o.data[d];c.push({key:{status:"valid",value:d},value:u._parse(new Ke(o,l,o.path,d)),alwaysSet:d in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let d of c){let l=await d.key,p=await d.value;u.push({key:l,value:p,alwaysSet:d.alwaysSet})}return u}).then(u=>ke.mergeObjectSync(n,u)):ke.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(t){return E.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(r,n)=>{let o=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:E.errToObj(t).message??o}:{message:o}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:S.ZodObject})}setKey(t,r){return this.augment({[t]:r})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let r={};for(let n of H.objectKeys(t))t[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}omit(t){let r={};for(let n of H.objectKeys(this.shape))t[n]||(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}deepPartial(){return Ur(this)}partial(t){let r={};for(let n of H.objectKeys(this.shape)){let o=this.shape[n];t&&!t[n]?r[n]=o:r[n]=o.optional()}return new e({...this._def,shape:()=>r})}required(t){let r={};for(let n of H.objectKeys(this.shape))if(t&&!t[n])r[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof Le;)s=s._def.innerType;r[n]=s}return new e({...this._def,shape:()=>r})}keyof(){return Vl(H.objectKeys(this.shape))}};De.create=(e,t)=>new De({shape:()=>e,unknownKeys:"strip",catchall:st.create(),typeName:S.ZodObject,...U(t)});De.strictCreate=(e,t)=>new De({shape:()=>e,unknownKeys:"strict",catchall:st.create(),typeName:S.ZodObject,...U(t)});De.lazycreate=(e,t)=>new De({shape:e,unknownKeys:"strip",catchall:st.create(),typeName:S.ZodObject,...U(t)});var dr=class extends J{_parse(t){let{ctx:r}=this._processInputParams(t),n=this._def.options;function o(s){for(let a of s)if(a.result.status==="valid")return a.result;for(let a of s)if(a.result.status==="dirty")return r.common.issues.push(...a.ctx.common.issues),a.result;let i=s.map(a=>new Ne(a.ctx.common.issues));return $(r,{code:x.invalid_union,unionErrors:i}),N}if(r.common.async)return Promise.all(n.map(async s=>{let i={...r,common:{...r.common,issues:[]},parent:null};return{result:await s._parseAsync({data:r.data,path:r.path,parent:i}),ctx:i}})).then(o);{let s,i=[];for(let c of n){let u={...r,common:{...r.common,issues:[]},parent:null},d=c._parseSync({data:r.data,path:r.path,parent:u});if(d.status==="valid")return d;d.status==="dirty"&&!s&&(s={result:d,ctx:u}),u.common.issues.length&&i.push(u.common.issues)}if(s)return r.common.issues.push(...s.ctx.common.issues),s.result;let a=i.map(c=>new Ne(c));return $(r,{code:x.invalid_union,unionErrors:a}),N}}get options(){return this._def.options}};dr.create=(e,t)=>new dr({options:e,typeName:S.ZodUnion,...U(t)});var Tt=e=>e instanceof pr?Tt(e.schema):e instanceof Xe?Tt(e.innerType()):e instanceof mr?[e.value]:e instanceof fr?e.options:e instanceof hr?H.objectValues(e.enum):e instanceof gr?Tt(e._def.innerType):e instanceof cr?[void 0]:e instanceof ur?[null]:e instanceof Le?[void 0,...Tt(e.unwrap())]:e instanceof yt?[null,...Tt(e.unwrap())]:e instanceof Sn||e instanceof _r?Tt(e.unwrap()):e instanceof yr?Tt(e._def.innerType):[],No=class e extends J{_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==P.object)return $(r,{code:x.invalid_type,expected:P.object,received:r.parsedType}),N;let n=this.discriminator,o=r.data[n],s=this.optionsMap.get(o);return s?r.common.async?s._parseAsync({data:r.data,path:r.path,parent:r}):s._parseSync({data:r.data,path:r.path,parent:r}):($(r,{code:x.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),N)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,r,n){let o=new Map;for(let s of r){let i=Tt(s.shape[t]);if(!i.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let a of i){if(o.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);o.set(a,s)}}return new e({typeName:S.ZodDiscriminatedUnion,discriminator:t,options:r,optionsMap:o,...U(n)})}};function ji(e,t){let r=ht(e),n=ht(t);if(e===t)return{valid:!0,data:e};if(r===P.object&&n===P.object){let o=H.objectKeys(t),s=H.objectKeys(e).filter(a=>o.indexOf(a)!==-1),i={...e,...t};for(let a of s){let c=ji(e[a],t[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(r===P.array&&n===P.array){if(e.length!==t.length)return{valid:!1};let o=[];for(let s=0;s<e.length;s++){let i=e[s],a=t[s],c=ji(i,a);if(!c.valid)return{valid:!1};o.push(c.data)}return{valid:!0,data:o}}else return r===P.date&&n===P.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var lr=class extends J{_parse(t){let{status:r,ctx:n}=this._processInputParams(t),o=(s,i)=>{if(Ao(s)||Ao(i))return N;let a=ji(s.value,i.value);return a.valid?((Mo(s)||Mo(i))&&r.dirty(),{status:r.value,value:a.data}):($(n,{code:x.invalid_intersection_types}),N)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,i])=>o(s,i)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};lr.create=(e,t,r)=>new lr({left:e,right:t,typeName:S.ZodIntersection,...U(r)});var gt=class e extends J{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==P.array)return $(n,{code:x.invalid_type,expected:P.array,received:n.parsedType}),N;if(n.data.length<this._def.items.length)return $(n,{code:x.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),N;!this._def.rest&&n.data.length>this._def.items.length&&($(n,{code:x.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let s=[...n.data].map((i,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new Ke(n,i,n.path,a)):null}).filter(i=>!!i);return n.common.async?Promise.all(s).then(i=>ke.mergeArray(r,i)):ke.mergeArray(r,s)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};gt.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new gt({items:e,typeName:S.ZodTuple,rest:null,...U(t)})};var Lo=class e extends J{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==P.object)return $(n,{code:x.invalid_type,expected:P.object,received:n.parsedType}),N;let o=[],s=this._def.keyType,i=this._def.valueType;for(let a in n.data)o.push({key:s._parse(new Ke(n,a,n.path,a)),value:i._parse(new Ke(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?ke.mergeObjectAsync(r,o):ke.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(t,r,n){return r instanceof J?new e({keyType:t,valueType:r,typeName:S.ZodRecord,...U(n)}):new e({keyType:Dt.create(),valueType:t,typeName:S.ZodRecord,...U(r)})}},Fr=class extends J{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==P.map)return $(n,{code:x.invalid_type,expected:P.map,received:n.parsedType}),N;let o=this._def.keyType,s=this._def.valueType,i=[...n.data.entries()].map(([a,c],u)=>({key:o._parse(new Ke(n,a,n.path,[u,"key"])),value:s._parse(new Ke(n,c,n.path,[u,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of i){let u=await c.key,d=await c.value;if(u.status==="aborted"||d.status==="aborted")return N;(u.status==="dirty"||d.status==="dirty")&&r.dirty(),a.set(u.value,d.value)}return{status:r.value,value:a}})}else{let a=new Map;for(let c of i){let u=c.key,d=c.value;if(u.status==="aborted"||d.status==="aborted")return N;(u.status==="dirty"||d.status==="dirty")&&r.dirty(),a.set(u.value,d.value)}return{status:r.value,value:a}}}};Fr.create=(e,t,r)=>new Fr({valueType:t,keyType:e,typeName:S.ZodMap,...U(r)});var Vr=class e extends J{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==P.set)return $(n,{code:x.invalid_type,expected:P.set,received:n.parsedType}),N;let o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&($(n,{code:x.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),r.dirty()),o.maxSize!==null&&n.data.size>o.maxSize.value&&($(n,{code:x.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let s=this._def.valueType;function i(c){let u=new Set;for(let d of c){if(d.status==="aborted")return N;d.status==="dirty"&&r.dirty(),u.add(d.value)}return{status:r.value,value:u}}let a=[...n.data.values()].map((c,u)=>s._parse(new Ke(n,c,n.path,u)));return n.common.async?Promise.all(a).then(c=>i(c)):i(a)}min(t,r){return new e({...this._def,minSize:{value:t,message:E.toString(r)}})}max(t,r){return new e({...this._def,maxSize:{value:t,message:E.toString(r)}})}size(t,r){return this.min(t,r).max(t,r)}nonempty(t){return this.min(1,t)}};Vr.create=(e,t)=>new Vr({valueType:e,minSize:null,maxSize:null,typeName:S.ZodSet,...U(t)});var Do=class e extends J{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==P.function)return $(r,{code:x.invalid_type,expected:P.function,received:r.parsedType}),N;function n(a,c){return xn({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Dr(),Pt].filter(u=>!!u),issueData:{code:x.invalid_arguments,argumentsError:c}})}function o(a,c){return xn({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Dr(),Pt].filter(u=>!!u),issueData:{code:x.invalid_return_type,returnTypeError:c}})}let s={errorMap:r.common.contextualErrorMap},i=r.data;if(this._def.returns instanceof Ut){let a=this;return Te(async function(...c){let u=new Ne([]),d=await a._def.args.parseAsync(c,s).catch(h=>{throw u.addIssue(n(c,h)),u}),l=await Reflect.apply(i,this,d);return await a._def.returns._def.type.parseAsync(l,s).catch(h=>{throw u.addIssue(o(l,h)),u})})}else{let a=this;return Te(function(...c){let u=a._def.args.safeParse(c,s);if(!u.success)throw new Ne([n(c,u.error)]);let d=Reflect.apply(i,this,u.data),l=a._def.returns.safeParse(d,s);if(!l.success)throw new Ne([o(d,l.error)]);return l.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:gt.create(t).rest(Rt.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,r,n){return new e({args:t||gt.create([]).rest(Rt.create()),returns:r||Rt.create(),typeName:S.ZodFunction,...U(n)})}},pr=class extends J{get schema(){return this._def.getter()}_parse(t){let{ctx:r}=this._processInputParams(t);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};pr.create=(e,t)=>new pr({getter:e,typeName:S.ZodLazy,...U(t)});var mr=class extends J{_parse(t){if(t.data!==this._def.value){let r=this._getOrReturnCtx(t);return $(r,{received:r.data,code:x.invalid_literal,expected:this._def.value}),N}return{status:"valid",value:t.data}}get value(){return this._def.value}};mr.create=(e,t)=>new mr({value:e,typeName:S.ZodLiteral,...U(t)});function Vl(e,t){return new fr({values:e,typeName:S.ZodEnum,...U(t)})}var fr=class e extends J{_parse(t){if(typeof t.data!="string"){let r=this._getOrReturnCtx(t),n=this._def.values;return $(r,{expected:H.joinValues(n),received:r.parsedType,code:x.invalid_type}),N}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let r=this._getOrReturnCtx(t),n=this._def.values;return $(r,{received:r.data,code:x.invalid_enum_value,options:n}),N}return Te(t.data)}get options(){return this._def.values}get enum(){let t={};for(let r of this._def.values)t[r]=r;return t}get Values(){let t={};for(let r of this._def.values)t[r]=r;return t}get Enum(){let t={};for(let r of this._def.values)t[r]=r;return t}extract(t,r=this._def){return e.create(t,{...this._def,...r})}exclude(t,r=this._def){return e.create(this.options.filter(n=>!t.includes(n)),{...this._def,...r})}};fr.create=Vl;var hr=class extends J{_parse(t){let r=H.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(t);if(n.parsedType!==P.string&&n.parsedType!==P.number){let o=H.objectValues(r);return $(n,{expected:H.joinValues(o),received:n.parsedType,code:x.invalid_type}),N}if(this._cache||(this._cache=new Set(H.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let o=H.objectValues(r);return $(n,{received:n.data,code:x.invalid_enum_value,options:o}),N}return Te(t.data)}get enum(){return this._def.values}};hr.create=(e,t)=>new hr({values:e,typeName:S.ZodNativeEnum,...U(t)});var Ut=class extends J{unwrap(){return this._def.type}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==P.promise&&r.common.async===!1)return $(r,{code:x.invalid_type,expected:P.promise,received:r.parsedType}),N;let n=r.parsedType===P.promise?r.data:Promise.resolve(r.data);return Te(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};Ut.create=(e,t)=>new Ut({type:e,typeName:S.ZodPromise,...U(t)});var Xe=class extends J{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===S.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:r,ctx:n}=this._processInputParams(t),o=this._def.effect||null,s={addIssue:i=>{$(n,i),i.fatal?r.abort():r.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="preprocess"){let i=o.transform(n.data,s);if(n.common.async)return Promise.resolve(i).then(async a=>{if(r.value==="aborted")return N;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?N:c.status==="dirty"?nr(c.value):r.value==="dirty"?nr(c.value):c});{if(r.value==="aborted")return N;let a=this._def.schema._parseSync({data:i,path:n.path,parent:n});return a.status==="aborted"?N:a.status==="dirty"?nr(a.value):r.value==="dirty"?nr(a.value):a}}if(o.type==="refinement"){let i=a=>{let c=o.refinement(a,s);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?N:(a.status==="dirty"&&r.dirty(),i(a.value),{status:r.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?N:(a.status==="dirty"&&r.dirty(),i(a.value).then(()=>({status:r.value,value:a.value}))))}if(o.type==="transform")if(n.common.async===!1){let i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Lt(i))return N;let a=o.transform(i.value,s);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(i=>Lt(i)?Promise.resolve(o.transform(i.value,s)).then(a=>({status:r.value,value:a})):N);H.assertNever(o)}};Xe.create=(e,t,r)=>new Xe({schema:e,typeName:S.ZodEffects,effect:t,...U(r)});Xe.createWithPreprocess=(e,t,r)=>new Xe({schema:t,effect:{type:"preprocess",transform:e},typeName:S.ZodEffects,...U(r)});var Le=class extends J{_parse(t){return this._getType(t)===P.undefined?Te(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Le.create=(e,t)=>new Le({innerType:e,typeName:S.ZodOptional,...U(t)});var yt=class extends J{_parse(t){return this._getType(t)===P.null?Te(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};yt.create=(e,t)=>new yt({innerType:e,typeName:S.ZodNullable,...U(t)});var gr=class extends J{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return r.parsedType===P.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};gr.create=(e,t)=>new gr({innerType:e,typeName:S.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...U(t)});var yr=class extends J{_parse(t){let{ctx:r}=this._processInputParams(t),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Zr(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Ne(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Ne(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};yr.create=(e,t)=>new yr({innerType:e,typeName:S.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...U(t)});var Br=class extends J{_parse(t){if(this._getType(t)!==P.nan){let n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:P.nan,received:n.parsedType}),N}return{status:"valid",value:t.data}}};Br.create=e=>new Br({typeName:S.ZodNaN,...U(e)});var Rv=Symbol("zod_brand"),Sn=class extends J{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},$n=class e extends J{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?N:s.status==="dirty"?(r.dirty(),nr(s.value)):this._def.out._parseAsync({data:s.value,path:n.path,parent:n})})();{let o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?N:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(t,r){return new e({in:t,out:r,typeName:S.ZodPipeline})}},_r=class extends J{_parse(t){let r=this._def.innerType._parse(t),n=o=>(Lt(o)&&(o.value=Object.freeze(o.value)),o);return Zr(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};_r.create=(e,t)=>new _r({innerType:e,typeName:S.ZodReadonly,...U(t)});function Ul(e,t){let r=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof r=="string"?{message:r}:r}function Bl(e,t={},r){return e?Zt.create().superRefine((n,o)=>{let s=e(n);if(s instanceof Promise)return s.then(i=>{if(!i){let a=Ul(t,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!s){let i=Ul(t,n),a=i.fatal??r??!0;o.addIssue({code:"custom",...i,fatal:a})}}):Zt.create()}var Iv={object:De.lazycreate},S;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(S||(S={}));var Ev=(e,t={message:`Input not instance of ${e.name}`})=>Bl(r=>r instanceof e,t),Hl=Dt.create,Wl=or.create,Ov=Br.create,jv=sr.create,Gl=ir.create,Cv=ar.create,Av=qr.create,Mv=cr.create,Nv=ur.create,Lv=Zt.create,Dv=Rt.create,Zv=st.create,Uv=Jr.create,qv=It.create,Ci=De.create,Jv=De.strictCreate,Fv=dr.create,Vv=No.create,Bv=lr.create,Hv=gt.create,Wv=Lo.create,Gv=Fr.create,Kv=Vr.create,Xv=Do.create,Yv=pr.create,Qv=mr.create,eb=fr.create,tb=hr.create,rb=Ut.create,nb=Xe.create,ob=Le.create,sb=yt.create,ib=Xe.createWithPreprocess,ab=$n.create,cb=()=>Hl().optional(),ub=()=>Wl().optional(),db=()=>Gl().optional(),lb={string:(e=>Dt.create({...e,coerce:!0})),number:(e=>or.create({...e,coerce:!0})),boolean:(e=>ir.create({...e,coerce:!0})),bigint:(e=>sr.create({...e,coerce:!0})),date:(e=>ar.create({...e,coerce:!0}))};var pb=N;var fb=Object.freeze({status:"aborted"});function v(e,t,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(e),t(a,c);for(let d in i.prototype)d in a||Object.defineProperty(a,d,{value:i.prototype[d].bind(a)});a._zod.constr=i,a._zod.def=c}let o=r?.Parent??Object;class s extends o{}Object.defineProperty(s,"name",{value:e});function i(a){var c;let u=r?.Parent?new s:this;n(u,a),(c=u._zod).deferred??(c.deferred=[]);for(let d of u._zod.deferred)d();return u}return Object.defineProperty(i,"init",{value:n}),Object.defineProperty(i,Symbol.hasInstance,{value:a=>r?.Parent&&a instanceof r.Parent?!0:a?._zod?.traits?.has(e)}),Object.defineProperty(i,"name",{value:e}),i}var Et=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Zo={};function Be(e){return e&&Object.assign(Zo,e),Zo}var W={};Ii(W,{BIGINT_FORMAT_RANGES:()=>Xl,Class:()=>Mi,NUMBER_FORMAT_RANGES:()=>Ji,aborted:()=>br,allowsEval:()=>Zi,assert:()=>vb,assertEqual:()=>hb,assertIs:()=>yb,assertNever:()=>_b,assertNotEqual:()=>gb,assignProp:()=>Di,cached:()=>Tn,captureStackTrace:()=>qo,cleanEnum:()=>Ob,cleanRegex:()=>In,clone:()=>He,createTransparentProxy:()=>$b,defineLazy:()=>ie,esc:()=>vr,escapeRegex:()=>qt,extend:()=>Tb,finalizeIssue:()=>it,floatSafeRemainder:()=>Li,getElementAtPath:()=>bb,getEnumValues:()=>Pn,getLengthableOrigin:()=>En,getParsedType:()=>Sb,getSizableOrigin:()=>Yl,isObject:()=>Hr,isPlainObject:()=>Wr,issue:()=>Fi,joinValues:()=>Uo,jsonStringifyReplacer:()=>Ni,merge:()=>Rb,normalizeParams:()=>L,nullish:()=>Rn,numKeys:()=>xb,omit:()=>Pb,optionalKeys:()=>qi,partial:()=>Ib,pick:()=>zb,prefixIssues:()=>_t,primitiveTypes:()=>Kl,promiseAllObject:()=>wb,propertyKeyTypes:()=>Ui,randomString:()=>kb,required:()=>Eb,stringifyPrimitive:()=>Jo,unwrapMessage:()=>zn});function hb(e){return e}function gb(e){return e}function yb(e){}function _b(e){throw new Error}function vb(e){}function Pn(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function Uo(e,t="|"){return e.map(r=>Jo(r)).join(t)}function Ni(e,t){return typeof t=="bigint"?t.toString():t}function Tn(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function Rn(e){return e==null}function In(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Li(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(e.toFixed(o).replace(".","")),i=Number.parseInt(t.toFixed(o).replace(".",""));return s%i/10**o}function ie(e,t,r){Object.defineProperty(e,t,{get(){{let o=r();return e[t]=o,o}throw new Error("cached value already set")},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function Di(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function bb(e,t){return t?t.reduce((r,n)=>r?.[n],e):e}function wb(e){let t=Object.keys(e),r=t.map(n=>e[n]);return Promise.all(r).then(n=>{let o={};for(let s=0;s<t.length;s++)o[t[s]]=n[s];return o})}function kb(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<e;n++)r+=t[Math.floor(Math.random()*t.length)];return r}function vr(e){return JSON.stringify(e)}var qo=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function Hr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Zi=Tn(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function Wr(e){if(Hr(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let r=t.prototype;return!(Hr(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function xb(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}var Sb=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},Ui=new Set(["string","number","symbol"]),Kl=new Set(["string","number","bigint","boolean","symbol","undefined"]);function qt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function He(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function L(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function $b(e){let t;return new Proxy({},{get(r,n,o){return t??(t=e()),Reflect.get(t,n,o)},set(r,n,o,s){return t??(t=e()),Reflect.set(t,n,o,s)},has(r,n){return t??(t=e()),Reflect.has(t,n)},deleteProperty(r,n){return t??(t=e()),Reflect.deleteProperty(t,n)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,n){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,n)},defineProperty(r,n,o){return t??(t=e()),Reflect.defineProperty(t,n,o)}})}function Jo(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function qi(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Ji={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]},Xl={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function zb(e,t){let r={},n=e._zod.def;for(let o in t){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&(r[o]=n.shape[o])}return He(e,{...e._zod.def,shape:r,checks:[]})}function Pb(e,t){let r={...e._zod.def.shape},n=e._zod.def;for(let o in t){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&delete r[o]}return He(e,{...e._zod.def,shape:r,checks:[]})}function Tb(e,t){if(!Wr(t))throw new Error("Invalid input to extend: expected a plain object");let r={...e._zod.def,get shape(){let n={...e._zod.def.shape,...t};return Di(this,"shape",n),n},checks:[]};return He(e,r)}function Rb(e,t){return He(e,{...e._zod.def,get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return Di(this,"shape",r),r},catchall:t._zod.def.catchall,checks:[]})}function Ib(e,t,r){let n=t._zod.def.shape,o={...n};if(r)for(let s in r){if(!(s in n))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(o[s]=e?new e({type:"optional",innerType:n[s]}):n[s])}else for(let s in n)o[s]=e?new e({type:"optional",innerType:n[s]}):n[s];return He(t,{...t._zod.def,shape:o,checks:[]})}function Eb(e,t,r){let n=t._zod.def.shape,o={...n};if(r)for(let s in r){if(!(s in o))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(o[s]=new e({type:"nonoptional",innerType:n[s]}))}else for(let s in n)o[s]=new e({type:"nonoptional",innerType:n[s]});return He(t,{...t._zod.def,shape:o,checks:[]})}function br(e,t=0){for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function _t(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function zn(e){return typeof e=="string"?e:e?.message}function it(e,t,r){let n={...e,path:e.path??[]};if(!e.message){let o=zn(e.inst?._zod.def?.error?.(e))??zn(t?.error?.(e))??zn(r.customError?.(e))??zn(r.localeError?.(e))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function Yl(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function En(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function Fi(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}function Ob(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}var Mi=class{constructor(...t){}};var Ql=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(t,Ni,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Fo=v("$ZodError",Ql),On=v("$ZodError",Ql,{Parent:Error});function Vi(e,t=r=>r.message){let r={},n=[];for(let o of e.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(t(o))):n.push(t(o));return{formErrors:n,fieldErrors:r}}function Bi(e,t){let r=t||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>o({issues:a}));else if(i.code==="invalid_key")o({issues:i.issues});else if(i.code==="invalid_element")o({issues:i.issues});else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(e),n}var Hi=e=>(t,r,n,o)=>{let s=n?Object.assign(n,{async:!1}):{async:!1},i=t._zod.run({value:r,issues:[]},s);if(i instanceof Promise)throw new Et;if(i.issues.length){let a=new(o?.Err??e)(i.issues.map(c=>it(c,s,Be())));throw qo(a,o?.callee),a}return i.value},Wi=Hi(On),Gi=e=>async(t,r,n,o)=>{let s=n?Object.assign(n,{async:!0}):{async:!0},i=t._zod.run({value:r,issues:[]},s);if(i instanceof Promise&&(i=await i),i.issues.length){let a=new(o?.Err??e)(i.issues.map(c=>it(c,s,Be())));throw qo(a,o?.callee),a}return i.value},Ki=Gi(On),Xi=e=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new Et;return s.issues.length?{success:!1,error:new(e??Fo)(s.issues.map(i=>it(i,o,Be())))}:{success:!0,data:s.value}},wr=Xi(On),Yi=e=>async(t,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},s=t._zod.run({value:r,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new e(s.issues.map(i=>it(i,o,Be())))}:{success:!0,data:s.value}},kr=Yi(On);var ep=/^[cC][^\s-]{8,}$/,tp=/^[0-9a-z]+$/,rp=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,np=/^[0-9a-vA-V]{20}$/,op=/^[A-Za-z0-9]{27}$/,sp=/^[a-zA-Z0-9_-]{21}$/,ip=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var ap=/^([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})$/,Qi=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;var cp=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var Cb="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function up(){return new RegExp(Cb,"u")}var dp=/^(?:(?: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])$/,lp=/^(([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})$/,pp=/^((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])$/,mp=/^(([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])$/,fp=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,ea=/^[A-Za-z0-9_-]*$/,hp=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var gp=/^\+(?:[0-9]){6,14}[0-9]$/,yp="(?:(?:\\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])))",_p=new RegExp(`^${yp}$`);function vp(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function bp(e){return new RegExp(`^${vp(e)}$`)}function wp(e){let t=vp({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${t}(?:${r.join("|")})`;return new RegExp(`^${yp}T(?:${n})$`)}var kp=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var xp=/^\d+$/,Sp=/^-?\d+(?:\.\d+)?/i,$p=/true|false/i,zp=/null/i;var Pp=/^[^A-Z]*$/,Tp=/^[^a-z]*$/;var xe=v("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Rp={number:"number",bigint:"bigint",object:"date"},ta=v("$ZodCheckLessThan",(e,t)=>{xe.init(e,t);let r=Rp[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,s=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<s&&(t.inclusive?o.maximum=t.value:o.exclusiveMaximum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:r,code:"too_big",maximum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),ra=v("$ZodCheckGreaterThan",(e,t)=>{xe.init(e,t);let r=Rp[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,s=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>s&&(t.inclusive?o.minimum=t.value:o.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:r,code:"too_small",minimum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ip=v("$ZodCheckMultipleOf",(e,t)=>{xe.init(e,t),e._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):Li(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),Ep=v("$ZodCheckNumberFormat",(e,t)=>{xe.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[o,s]=Ji[t.format];e._zod.onattach.push(i=>{let a=i._zod.bag;a.format=t.format,a.minimum=o,a.maximum=s,r&&(a.pattern=xp)}),e._zod.check=i=>{let a=i.value;if(r){if(!Number.isInteger(a)){i.issues.push({expected:n,format:t.format,code:"invalid_type",input:a,inst:e});return}if(!Number.isSafeInteger(a)){a>0?i.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort}):i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort});return}}a<o&&i.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),a>s&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inst:e})}});var Op=v("$ZodCheckMaxLength",(e,t)=>{var r;xe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!Rn(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let o=n.value;if(o.length<=t.maximum)return;let i=En(o);n.issues.push({origin:i,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),jp=v("$ZodCheckMinLength",(e,t)=>{var r;xe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!Rn(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let o=n.value;if(o.length>=t.minimum)return;let i=En(o);n.issues.push({origin:i,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Cp=v("$ZodCheckLengthEquals",(e,t)=>{var r;xe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!Rn(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=n=>{let o=n.value,s=o.length;if(s===t.length)return;let i=En(o),a=s>t.length;n.issues.push({origin:i,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),jn=v("$ZodCheckStringFormat",(e,t)=>{var r,n;xe.init(e,t),e._zod.onattach.push(o=>{let s=o._zod.bag;s.format=t.format,t.pattern&&(s.patterns??(s.patterns=new Set),s.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),Ap=v("$ZodCheckRegex",(e,t)=>{jn.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Mp=v("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Pp),jn.init(e,t)}),Np=v("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Tp),jn.init(e,t)}),Lp=v("$ZodCheckIncludes",(e,t)=>{xe.init(e,t);let r=qt(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(o=>{let s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Dp=v("$ZodCheckStartsWith",(e,t)=>{xe.init(e,t);let r=new RegExp(`^${qt(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Zp=v("$ZodCheckEndsWith",(e,t)=>{xe.init(e,t);let r=new RegExp(`.*${qt(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});var Up=v("$ZodCheckOverwrite",(e,t)=>{xe.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});var Bo=class{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let n=t.split(`
|
|
10
|
+
deps: ${r}}`};var k1={keyword:"dependencies",type:"object",schemaType:"object",error:kt.error,code(e){let[t,r]=x1(e);Eg(e,t),Ig(e,r)}};function x1({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let o=Array.isArray(e[n])?t:r;o[n]=e[n]}return[t,r]}function Eg(e,t=e.schema){let{gen:r,data:n,it:o}=e;if(Object.keys(t).length===0)return;let s=r.let("missing");for(let i in t){let a=t[i];if(a.length===0)continue;let c=(0,zo.propertyInData)(r,n,i,o.opts.ownProperties);e.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),o.allErrors?r.if(c,()=>{for(let u of a)(0,zo.checkReportMissingProp)(e,u)}):(r.if((0,Ed._)`${c} && (${(0,zo.checkMissingProp)(e,a,s)})`),(0,zo.reportMissingProp)(e,s),r.else())}}kt.validatePropertyDeps=Eg;function Ig(e,t=e.schema){let{gen:r,data:n,keyword:o,it:s}=e,i=r.name("valid");for(let a in t)(0,w1.alwaysValidSchema)(s,t[a])||(r.if((0,zo.propertyInData)(r,n,a,s.opts.ownProperties),()=>{let c=e.subschema({keyword:o,schemaProp:a},i);e.mergeValidEvaluated(c,i)},()=>r.var(i,!0)),e.ok(i))}kt.validateSchemaDeps=Ig;kt.default=k1});var Cg=z(Id=>{"use strict";Object.defineProperty(Id,"__esModule",{value:!0});var jg=F(),S1=ee(),$1={message:"property name must be valid",params:({params:e})=>(0,jg._)`{propertyName: ${e.propertyName}}`},z1={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:$1,code(e){let{gen:t,schema:r,data:n,it:o}=e;if((0,S1.alwaysValidSchema)(o,r))return;let s=t.name("valid");t.forIn("key",n,i=>{e.setParams({propertyName:i}),e.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},s),t.if((0,jg.not)(s),()=>{e.error(!0),o.allErrors||t.break()})}),e.ok(s)}};Id.default=z1});var jd=z(Od=>{"use strict";Object.defineProperty(Od,"__esModule",{value:!0});var ci=rt(),pt=F(),P1=Ct(),ui=ee(),T1={message:"must NOT have additional properties",params:({params:e})=>(0,pt._)`{additionalProperty: ${e.additionalProperty}}`},R1={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:T1,code(e){let{gen:t,schema:r,parentSchema:n,data:o,errsCount:s,it:i}=e;if(!s)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=i;if(i.props=!0,c.removeAdditional!=="all"&&(0,ui.alwaysValidSchema)(i,r))return;let u=(0,ci.allSchemaProperties)(n.properties),d=(0,ci.allSchemaProperties)(n.patternProperties);l(),e.ok((0,pt._)`${s} === ${P1.default.errors}`);function l(){t.forIn("key",o,y=>{!u.length&&!d.length?f(y):t.if(p(y),()=>f(y))})}function p(y){let b;if(u.length>8){let w=(0,ui.schemaRefOrVal)(i,n.properties,"properties");b=(0,ci.isOwnProperty)(t,w,y)}else u.length?b=(0,pt.or)(...u.map(w=>(0,pt._)`${y} === ${w}`)):b=pt.nil;return d.length&&(b=(0,pt.or)(b,...d.map(w=>(0,pt._)`${(0,ci.usePattern)(e,w)}.test(${y})`))),(0,pt.not)(b)}function h(y){t.code((0,pt._)`delete ${o}[${y}]`)}function f(y){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){h(y);return}if(r===!1){e.setParams({additionalProperty:y}),e.error(),a||t.break();return}if(typeof r=="object"&&!(0,ui.alwaysValidSchema)(i,r)){let b=t.name("valid");c.removeAdditional==="failing"?(g(y,b,!1),t.if((0,pt.not)(b),()=>{e.reset(),h(y)})):(g(y,b),a||t.if((0,pt.not)(b),()=>t.break()))}}function g(y,b,w){let k={keyword:"additionalProperties",dataProp:y,dataPropType:ui.Type.Str};w===!1&&Object.assign(k,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(k,b)}}};Od.default=R1});var Ng=z(Ad=>{"use strict";Object.defineProperty(Ad,"__esModule",{value:!0});var E1=po(),Ag=rt(),Cd=ee(),Mg=jd(),I1={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:s}=e;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&Mg.default.code(new E1.KeywordCxt(s,Mg.default,"additionalProperties"));let i=(0,Ag.allSchemaProperties)(r);for(let l of i)s.definedProperties.add(l);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=Cd.mergeEvaluated.props(t,(0,Cd.toHash)(i),s.props));let a=i.filter(l=>!(0,Cd.alwaysValidSchema)(s,r[l]));if(a.length===0)return;let c=t.name("valid");for(let l of a)u(l)?d(l):(t.if((0,Ag.propertyInData)(t,o,l,s.opts.ownProperties)),d(l),s.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(l),e.ok(c);function u(l){return s.opts.useDefaults&&!s.compositeRule&&r[l].default!==void 0}function d(l){e.subschema({keyword:"properties",schemaProp:l,dataProp:l},c)}}};Ad.default=I1});var Ug=z(Md=>{"use strict";Object.defineProperty(Md,"__esModule",{value:!0});var Lg=rt(),di=F(),Dg=ee(),Zg=ee(),O1={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:o,it:s}=e,{opts:i}=s,a=(0,Lg.allSchemaProperties)(r),c=a.filter(g=>(0,Dg.alwaysValidSchema)(s,r[g]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let u=i.strictSchema&&!i.allowMatchingProperties&&o.properties,d=t.name("valid");s.props!==!0&&!(s.props instanceof di.Name)&&(s.props=(0,Zg.evaluatedPropsToName)(t,s.props));let{props:l}=s;p();function p(){for(let g of a)u&&h(g),s.allErrors?f(g):(t.var(d,!0),f(g),t.if(d))}function h(g){for(let y in u)new RegExp(g).test(y)&&(0,Dg.checkStrictMode)(s,`property ${y} matches pattern ${g} (use allowMatchingProperties)`)}function f(g){t.forIn("key",n,y=>{t.if((0,di._)`${(0,Lg.usePattern)(e,g)}.test(${y})`,()=>{let b=c.includes(g);b||e.subschema({keyword:"patternProperties",schemaProp:g,dataProp:y,dataPropType:Zg.Type.Str},d),s.opts.unevaluated&&l!==!0?t.assign((0,di._)`${l}[${y}]`,!0):!b&&!s.allErrors&&t.if((0,di.not)(d),()=>t.break())})})}}};Md.default=O1});var qg=z(Nd=>{"use strict";Object.defineProperty(Nd,"__esModule",{value:!0});var j1=ee(),C1={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,j1.alwaysValidSchema)(n,r)){e.fail();return}let o=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),e.failResult(o,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};Nd.default=C1});var Jg=z(Ld=>{"use strict";Object.defineProperty(Ld,"__esModule",{value:!0});var A1=rt(),M1={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:A1.validateUnion,error:{message:"must match a schema in anyOf"}};Ld.default=M1});var Fg=z(Dd=>{"use strict";Object.defineProperty(Dd,"__esModule",{value:!0});var li=F(),N1=ee(),L1={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,li._)`{passingSchemas: ${e.passing}}`},D1={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:L1,code(e){let{gen:t,schema:r,parentSchema:n,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let s=r,i=t.let("valid",!1),a=t.let("passing",null),c=t.name("_valid");e.setParams({passing:a}),t.block(u),e.result(i,()=>e.reset(),()=>e.error(!0));function u(){s.forEach((d,l)=>{let p;(0,N1.alwaysValidSchema)(o,d)?t.var(c,!0):p=e.subschema({keyword:"oneOf",schemaProp:l,compositeRule:!0},c),l>0&&t.if((0,li._)`${c} && ${i}`).assign(i,!1).assign(a,(0,li._)`[${a}, ${l}]`).else(),t.if(c,()=>{t.assign(i,!0),t.assign(a,l),p&&e.mergeEvaluated(p,li.Name)})})}}};Dd.default=D1});var Vg=z(Zd=>{"use strict";Object.defineProperty(Zd,"__esModule",{value:!0});var Z1=ee(),U1={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let o=t.name("valid");r.forEach((s,i)=>{if((0,Z1.alwaysValidSchema)(n,s))return;let a=e.subschema({keyword:"allOf",schemaProp:i},o);e.ok(o),e.mergeEvaluated(a)})}};Zd.default=U1});var Wg=z(Ud=>{"use strict";Object.defineProperty(Ud,"__esModule",{value:!0});var pi=F(),Hg=ee(),q1={message:({params:e})=>(0,pi.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,pi._)`{failingKeyword: ${e.ifClause}}`},J1={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:q1,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,Hg.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=Bg(n,"then"),s=Bg(n,"else");if(!o&&!s)return;let i=t.let("valid",!0),a=t.name("_valid");if(c(),e.reset(),o&&s){let d=t.let("ifClause");e.setParams({ifClause:d}),t.if(a,u("then",d),u("else",d))}else o?t.if(a,u("then")):t.if((0,pi.not)(a),u("else"));e.pass(i,()=>e.error(!0));function c(){let d=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);e.mergeEvaluated(d)}function u(d,l){return()=>{let p=e.subschema({keyword:d},a);t.assign(i,a),e.mergeValidEvaluated(p,i),l?t.assign(l,(0,pi._)`${d}`):e.setParams({ifClause:d})}}}};function Bg(e,t){let r=e.schema[t];return r!==void 0&&!(0,Hg.alwaysValidSchema)(e,r)}Ud.default=J1});var Gg=z(qd=>{"use strict";Object.defineProperty(qd,"__esModule",{value:!0});var F1=ee(),V1={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,F1.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};qd.default=V1});var Kg=z(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0});var B1=$d(),H1=zg(),W1=zd(),G1=Tg(),K1=Rg(),X1=Og(),Y1=Cg(),Q1=jd(),eP=Ng(),tP=Ug(),rP=qg(),nP=Jg(),oP=Fg(),sP=Vg(),iP=Wg(),aP=Gg();function cP(e=!1){let t=[rP.default,nP.default,oP.default,sP.default,iP.default,aP.default,Y1.default,Q1.default,X1.default,eP.default,tP.default];return e?t.push(H1.default,G1.default):t.push(B1.default,W1.default),t.push(K1.default),t}Jd.default=cP});var Xg=z(Fd=>{"use strict";Object.defineProperty(Fd,"__esModule",{value:!0});var ye=F(),uP={message:({schemaCode:e})=>(0,ye.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,ye._)`{format: ${e}}`},dP={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:uP,code(e,t){let{gen:r,data:n,$data:o,schema:s,schemaCode:i,it:a}=e,{opts:c,errSchemaPath:u,schemaEnv:d,self:l}=a;if(!c.validateFormats)return;o?p():h();function p(){let f=r.scopeValue("formats",{ref:l.formats,code:c.code.formats}),g=r.const("fDef",(0,ye._)`${f}[${i}]`),y=r.let("fType"),b=r.let("format");r.if((0,ye._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>r.assign(y,(0,ye._)`${g}.type || "string"`).assign(b,(0,ye._)`${g}.validate`),()=>r.assign(y,(0,ye._)`"string"`).assign(b,g)),e.fail$data((0,ye.or)(w(),k()));function w(){return c.strictSchema===!1?ye.nil:(0,ye._)`${i} && !${b}`}function k(){let R=d.$async?(0,ye._)`(${g}.async ? await ${b}(${n}) : ${b}(${n}))`:(0,ye._)`${b}(${n})`,M=(0,ye._)`(typeof ${b} == "function" ? ${R} : ${b}.test(${n}))`;return(0,ye._)`${b} && ${b} !== true && ${y} === ${t} && !${M}`}}function h(){let f=l.formats[s];if(!f){w();return}if(f===!0)return;let[g,y,b]=k(f);g===t&&e.pass(R());function w(){if(c.strictSchema===!1){l.logger.warn(M());return}throw new Error(M());function M(){return`unknown format "${s}" ignored in schema at path "${u}"`}}function k(M){let Oe=M instanceof RegExp?(0,ye.regexpCode)(M):c.code.formats?(0,ye._)`${c.code.formats}${(0,ye.getProperty)(s)}`:void 0,Ge=r.scopeValue("formats",{key:s,ref:M,code:Oe});return typeof M=="object"&&!(M instanceof RegExp)?[M.type||"string",M.validate,(0,ye._)`${Ge}.validate`]:["string",M,Ge]}function R(){if(typeof f=="object"&&!(f instanceof RegExp)&&f.async){if(!d.$async)throw new Error("async format in sync schema");return(0,ye._)`await ${b}(${n})`}return typeof y=="function"?(0,ye._)`${b}(${n})`:(0,ye._)`${b}.test(${n})`}}}};Fd.default=dP});var Yg=z(Vd=>{"use strict";Object.defineProperty(Vd,"__esModule",{value:!0});var lP=Xg(),pP=[lP.default];Vd.default=pP});var Qg=z(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.contentVocabulary=gn.metadataVocabulary=void 0;gn.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];gn.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var ty=z(Bd=>{"use strict";Object.defineProperty(Bd,"__esModule",{value:!0});var mP=cg(),fP=kg(),hP=Kg(),gP=Yg(),ey=Qg(),yP=[mP.default,fP.default,(0,hP.default)(),gP.default,ey.metadataVocabulary,ey.contentVocabulary];Bd.default=yP});var ny=z(mi=>{"use strict";Object.defineProperty(mi,"__esModule",{value:!0});mi.DiscrError=void 0;var ry;(function(e){e.Tag="tag",e.Mapping="mapping"})(ry||(mi.DiscrError=ry={}))});var sy=z(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});var yn=F(),Hd=ny(),oy=Ws(),_P=mo(),vP=ee(),bP={message:({params:{discrError:e,tagName:t}})=>e===Hd.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,yn._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},wP={keyword:"discriminator",type:"object",schemaType:"object",error:bP,code(e){let{gen:t,data:r,schema:n,parentSchema:o,it:s}=e,{oneOf:i}=o;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=n.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!i)throw new Error("discriminator: requires oneOf keyword");let c=t.let("valid",!1),u=t.const("tag",(0,yn._)`${r}${(0,yn.getProperty)(a)}`);t.if((0,yn._)`typeof ${u} == "string"`,()=>d(),()=>e.error(!1,{discrError:Hd.DiscrError.Tag,tag:u,tagName:a})),e.ok(c);function d(){let h=p();t.if(!1);for(let f in h)t.elseIf((0,yn._)`${u} === ${f}`),t.assign(c,l(h[f]));t.else(),e.error(!1,{discrError:Hd.DiscrError.Mapping,tag:u,tagName:a}),t.endIf()}function l(h){let f=t.name("valid"),g=e.subschema({keyword:"oneOf",schemaProp:h},f);return e.mergeEvaluated(g,yn.Name),f}function p(){var h;let f={},g=b(o),y=!0;for(let R=0;R<i.length;R++){let M=i[R];if(M?.$ref&&!(0,vP.schemaHasRulesButRef)(M,s.self.RULES)){let Ge=M.$ref;if(M=oy.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,Ge),M instanceof oy.SchemaEnv&&(M=M.schema),M===void 0)throw new _P.default(s.opts.uriResolver,s.baseId,Ge)}let Oe=(h=M?.properties)===null||h===void 0?void 0:h[a];if(typeof Oe!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);y=y&&(g||b(M)),w(Oe,R)}if(!y)throw new Error(`discriminator: "${a}" must be required`);return f;function b({required:R}){return Array.isArray(R)&&R.includes(a)}function w(R,M){if(R.const)k(R.const,M);else if(R.enum)for(let Oe of R.enum)k(Oe,M);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function k(R,M){if(typeof R!="string"||R in f)throw new Error(`discriminator: "${a}" values must be unique strings`);f[R]=M}}}};Wd.default=wP});var iy=z((NA,kP)=>{kP.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 Kd=z((le,Gd)=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});le.MissingRefError=le.ValidationError=le.CodeGen=le.Name=le.nil=le.stringify=le.str=le._=le.KeywordCxt=le.Ajv=void 0;var xP=rg(),SP=ty(),$P=sy(),ay=iy(),zP=["/properties"],fi="http://json-schema.org/draft-07/schema",_n=class extends xP.default{_addVocabularies(){super._addVocabularies(),SP.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword($P.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(ay,zP):ay;this.addMetaSchema(t,fi,!1),this.refs["http://json-schema.org/schema"]=fi}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(fi)?fi:void 0)}};le.Ajv=_n;Gd.exports=le=_n;Gd.exports.Ajv=_n;Object.defineProperty(le,"__esModule",{value:!0});le.default=_n;var PP=po();Object.defineProperty(le,"KeywordCxt",{enumerable:!0,get:function(){return PP.KeywordCxt}});var vn=F();Object.defineProperty(le,"_",{enumerable:!0,get:function(){return vn._}});Object.defineProperty(le,"str",{enumerable:!0,get:function(){return vn.str}});Object.defineProperty(le,"stringify",{enumerable:!0,get:function(){return vn.stringify}});Object.defineProperty(le,"nil",{enumerable:!0,get:function(){return vn.nil}});Object.defineProperty(le,"Name",{enumerable:!0,get:function(){return vn.Name}});Object.defineProperty(le,"CodeGen",{enumerable:!0,get:function(){return vn.CodeGen}});var TP=Bs();Object.defineProperty(le,"ValidationError",{enumerable:!0,get:function(){return TP.default}});var RP=mo();Object.defineProperty(le,"MissingRefError",{enumerable:!0,get:function(){return RP.default}})});var hy=z(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.formatNames=St.fastFormats=St.fullFormats=void 0;function xt(e,t){return{validate:e,compare:t}}St.fullFormats={date:xt(ly,el),time:xt(Yd(!0),tl),"date-time":xt(cy(!0),my),"iso-time":xt(Yd(),py),"iso-date-time":xt(cy(),fy),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:AP,"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:qP,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:MP,int32:{type:"number",validate:DP},int64:{type:"number",validate:ZP},float:{type:"number",validate:dy},double:{type:"number",validate:dy},password:!0,binary:!0};St.fastFormats={...St.fullFormats,date:xt(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,el),time:xt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,tl),"date-time":xt(/^\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,my),"iso-time":xt(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,py),"iso-date-time":xt(/^\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,fy),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};St.formatNames=Object.keys(St.fullFormats);function EP(e){return e%4===0&&(e%100!==0||e%400===0)}var IP=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,OP=[0,31,28,31,30,31,30,31,31,30,31,30,31];function ly(e){let t=IP.exec(e);if(!t)return!1;let r=+t[1],n=+t[2],o=+t[3];return n>=1&&n<=12&&o>=1&&o<=(n===2&&EP(r)?29:OP[n])}function el(e,t){if(e&&t)return e>t?1:e<t?-1:0}var Xd=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function Yd(e){return function(r){let n=Xd.exec(r);if(!n)return!1;let o=+n[1],s=+n[2],i=+n[3],a=n[4],c=n[5]==="-"?-1:1,u=+(n[6]||0),d=+(n[7]||0);if(u>23||d>59||e&&!a)return!1;if(o<=23&&s<=59&&i<60)return!0;let l=s-d*c,p=o-u*c-(l<0?1:0);return(p===23||p===-1)&&(l===59||l===-1)&&i<61}}function tl(e,t){if(!(e&&t))return;let r=new Date("2020-01-01T"+e).valueOf(),n=new Date("2020-01-01T"+t).valueOf();if(r&&n)return r-n}function py(e,t){if(!(e&&t))return;let r=Xd.exec(e),n=Xd.exec(t);if(r&&n)return e=r[1]+r[2]+r[3],t=n[1]+n[2]+n[3],e>t?1:e<t?-1:0}var Qd=/t|\s/i;function cy(e){let t=Yd(e);return function(n){let o=n.split(Qd);return o.length===2&&ly(o[0])&&t(o[1])}}function my(e,t){if(!(e&&t))return;let r=new Date(e).valueOf(),n=new Date(t).valueOf();if(r&&n)return r-n}function fy(e,t){if(!(e&&t))return;let[r,n]=e.split(Qd),[o,s]=t.split(Qd),i=el(r,o);if(i!==void 0)return i||tl(n,s)}var jP=/\/|:/,CP=/^(?:[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 AP(e){return jP.test(e)&&CP.test(e)}var uy=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function MP(e){return uy.lastIndex=0,uy.test(e)}var NP=-(2**31),LP=2**31-1;function DP(e){return Number.isInteger(e)&&e<=LP&&e>=NP}function ZP(e){return Number.isInteger(e)}function dy(){return!0}var UP=/[^\\]\\Z/;function qP(e){if(UP.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}});var gy=z(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.formatLimitDefinition=void 0;var JP=Kd(),mt=F(),rr=mt.operators,hi={formatMaximum:{okStr:"<=",ok:rr.LTE,fail:rr.GT},formatMinimum:{okStr:">=",ok:rr.GTE,fail:rr.LT},formatExclusiveMaximum:{okStr:"<",ok:rr.LT,fail:rr.GTE},formatExclusiveMinimum:{okStr:">",ok:rr.GT,fail:rr.LTE}},FP={message:({keyword:e,schemaCode:t})=>(0,mt.str)`should be ${hi[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,mt._)`{comparison: ${hi[e].okStr}, limit: ${t}}`};bn.formatLimitDefinition={keyword:Object.keys(hi),type:"string",schemaType:"string",$data:!0,error:FP,code(e){let{gen:t,data:r,schemaCode:n,keyword:o,it:s}=e,{opts:i,self:a}=s;if(!i.validateFormats)return;let c=new JP.KeywordCxt(s,a.RULES.all.format.definition,"format");c.$data?u():d();function u(){let p=t.scopeValue("formats",{ref:a.formats,code:i.code.formats}),h=t.const("fmt",(0,mt._)`${p}[${c.schemaCode}]`);e.fail$data((0,mt.or)((0,mt._)`typeof ${h} != "object"`,(0,mt._)`${h} instanceof RegExp`,(0,mt._)`typeof ${h}.compare != "function"`,l(h)))}function d(){let p=c.schema,h=a.formats[p];if(!h||h===!0)return;if(typeof h!="object"||h instanceof RegExp||typeof h.compare!="function")throw new Error(`"${o}": format "${p}" does not define "compare" function`);let f=t.scopeValue("formats",{key:p,ref:h,code:i.code.formats?(0,mt._)`${i.code.formats}${(0,mt.getProperty)(p)}`:void 0});e.fail$data(l(f))}function l(p){return(0,mt._)`${p}.compare(${r}, ${n}) ${hi[o].fail} 0`}},dependencies:["format"]};var VP=e=>(e.addKeyword(bn.formatLimitDefinition),e);bn.default=VP});var by=z((Po,vy)=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});var wn=hy(),BP=gy(),rl=F(),yy=new rl.Name("fullFormats"),HP=new rl.Name("fastFormats"),nl=(e,t={keywords:!0})=>{if(Array.isArray(t))return _y(e,t,wn.fullFormats,yy),e;let[r,n]=t.mode==="fast"?[wn.fastFormats,HP]:[wn.fullFormats,yy],o=t.formats||wn.formatNames;return _y(e,o,r,n),t.keywords&&(0,BP.default)(e),e};nl.get=(e,t="full")=>{let n=(t==="fast"?wn.fastFormats:wn.fullFormats)[e];if(!n)throw new Error(`Unknown format "${e}"`);return n};function _y(e,t,r,n){var o,s;(o=(s=e.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,rl._)`require("ajv-formats/dist/formats").${n}`);for(let i of t)e.addFormat(i,r[i])}vy.exports=Po=nl;Object.defineProperty(Po,"__esModule",{value:!0});Po.default=nl});import{pathToFileURL as yE}from"node:url";var m={};Ii(m,{BRAND:()=>jv,DIRTY:()=>or,EMPTY_PATH:()=>lv,INVALID:()=>N,NEVER:()=>gb,OK:()=>Te,ParseStatus:()=>ke,Schema:()=>J,ZodAny:()=>Ut,ZodArray:()=>Et,ZodBigInt:()=>ir,ZodBoolean:()=>ar,ZodBranded:()=>$n,ZodCatch:()=>_r,ZodDate:()=>cr,ZodDefault:()=>yr,ZodDiscriminatedUnion:()=>Lo,ZodEffects:()=>Xe,ZodEnum:()=>hr,ZodError:()=>Ne,ZodFirstPartyTypeKind:()=>S,ZodFunction:()=>Zo,ZodIntersection:()=>pr,ZodIssueCode:()=>x,ZodLazy:()=>mr,ZodLiteral:()=>fr,ZodMap:()=>Vr,ZodNaN:()=>Hr,ZodNativeEnum:()=>gr,ZodNever:()=>st,ZodNull:()=>dr,ZodNullable:()=>yt,ZodNumber:()=>sr,ZodObject:()=>De,ZodOptional:()=>Le,ZodParsedType:()=>P,ZodPipeline:()=>zn,ZodPromise:()=>qt,ZodReadonly:()=>vr,ZodRecord:()=>Do,ZodSchema:()=>J,ZodSet:()=>Br,ZodString:()=>Zt,ZodSymbol:()=>Jr,ZodTransformer:()=>Xe,ZodTuple:()=>gt,ZodType:()=>J,ZodUndefined:()=>ur,ZodUnion:()=>lr,ZodUnknown:()=>Rt,ZodVoid:()=>Fr,addIssueToContext:()=>$,any:()=>qv,array:()=>Bv,bigint:()=>Nv,boolean:()=>Kl,coerce:()=>hb,custom:()=>Hl,date:()=>Lv,datetimeRegex:()=>Vl,defaultErrorMap:()=>Pt,discriminatedUnion:()=>Gv,effect:()=>ab,enum:()=>ob,function:()=>tb,getErrorMap:()=>Zr,getParsedType:()=>ht,instanceof:()=>Av,intersection:()=>Kv,isAborted:()=>Mo,isAsync:()=>Ur,isDirty:()=>No,isValid:()=>Dt,late:()=>Cv,lazy:()=>rb,literal:()=>nb,makeIssue:()=>Sn,map:()=>Qv,nan:()=>Mv,nativeEnum:()=>sb,never:()=>Fv,null:()=>Uv,nullable:()=>ub,number:()=>Gl,object:()=>Ai,objectUtil:()=>Oi,oboolean:()=>fb,onumber:()=>mb,optional:()=>cb,ostring:()=>pb,pipeline:()=>lb,preprocess:()=>db,promise:()=>ib,quotelessJson:()=>cv,record:()=>Yv,set:()=>eb,setErrorMap:()=>dv,strictObject:()=>Hv,string:()=>Wl,symbol:()=>Dv,transformer:()=>ab,tuple:()=>Xv,undefined:()=>Zv,union:()=>Wv,unknown:()=>Jv,util:()=>H,void:()=>Vv});var H;(function(e){e.assertEqual=o=>{};function t(o){}e.assertIs=t;function r(o){throw new Error}e.assertNever=r,e.arrayToEnum=o=>{let s={};for(let i of o)s[i]=i;return s},e.getValidEnumValues=o=>{let s=e.objectKeys(o).filter(a=>typeof o[o[a]]!="number"),i={};for(let a of s)i[a]=o[a];return e.objectValues(i)},e.objectValues=o=>e.objectKeys(o).map(function(s){return o[s]}),e.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let s=[];for(let i in o)Object.prototype.hasOwnProperty.call(o,i)&&s.push(i);return s},e.find=(o,s)=>{for(let i of o)if(s(i))return i},e.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function n(o,s=" | "){return o.map(i=>typeof i=="string"?`'${i}'`:i).join(s)}e.joinValues=n,e.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(H||(H={}));var Oi;(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(Oi||(Oi={}));var P=H.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ht=e=>{switch(typeof e){case"undefined":return P.undefined;case"string":return P.string;case"number":return Number.isNaN(e)?P.nan:P.number;case"boolean":return P.boolean;case"function":return P.function;case"bigint":return P.bigint;case"symbol":return P.symbol;case"object":return Array.isArray(e)?P.array:e===null?P.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?P.promise:typeof Map<"u"&&e instanceof Map?P.map:typeof Set<"u"&&e instanceof Set?P.set:typeof Date<"u"&&e instanceof Date?P.date:P.object;default:return P.unknown}};var x=H.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"]),cv=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),Ne=class e extends Error{get errors(){return this.issues}constructor(t){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=t}format(t){let r=t||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(this),n}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,H.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=r=>r.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let s=o.path[0];r[s]=r[s]||[],r[s].push(t(o))}else n.push(t(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};Ne.create=e=>new Ne(e);var uv=(e,t)=>{let r;switch(e.code){case x.invalid_type:e.received===P.undefined?r="Required":r=`Expected ${e.expected}, received ${e.received}`;break;case x.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,H.jsonStringifyReplacer)}`;break;case x.unrecognized_keys:r=`Unrecognized key(s) in object: ${H.joinValues(e.keys,", ")}`;break;case x.invalid_union:r="Invalid input";break;case x.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${H.joinValues(e.options)}`;break;case x.invalid_enum_value:r=`Invalid enum value. Expected ${H.joinValues(e.options)}, received '${e.received}'`;break;case x.invalid_arguments:r="Invalid function arguments";break;case x.invalid_return_type:r="Invalid function return type";break;case x.invalid_date:r="Invalid date";break;case x.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:H.assertNever(e.validation):e.validation!=="regex"?r=`Invalid ${e.validation}`:r="Invalid";break;case x.too_small:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?r=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:r="Invalid input";break;case x.too_big:e.type==="array"?r=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?r=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?r=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?r=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?r=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:r="Invalid input";break;case x.custom:r="Invalid input";break;case x.invalid_intersection_types:r="Intersection results could not be merged";break;case x.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case x.not_finite:r="Number must be finite";break;default:r=t.defaultError,H.assertNever(e)}return{message:r}},Pt=uv;var Zl=Pt;function dv(e){Zl=e}function Zr(){return Zl}var Sn=e=>{let{data:t,path:r,errorMaps:n,issueData:o}=e,s=[...r,...o.path||[]],i={...o,path:s};if(o.message!==void 0)return{...o,path:s,message:o.message};let a="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)a=u(i,{data:t,defaultError:a}).message;return{...o,path:s,message:a}},lv=[];function $(e,t){let r=Zr(),n=Sn({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,r,r===Pt?void 0:Pt].filter(o=>!!o)});e.common.issues.push(n)}var ke=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,r){let n=[];for(let o of r){if(o.status==="aborted")return N;o.status==="dirty"&&t.dirty(),n.push(o.value)}return{status:t.value,value:n}}static async mergeObjectAsync(t,r){let n=[];for(let o of r){let s=await o.key,i=await o.value;n.push({key:s,value:i})}return e.mergeObjectSync(t,n)}static mergeObjectSync(t,r){let n={};for(let o of r){let{key:s,value:i}=o;if(s.status==="aborted"||i.status==="aborted")return N;s.status==="dirty"&&t.dirty(),i.status==="dirty"&&t.dirty(),s.value!=="__proto__"&&(typeof i.value<"u"||o.alwaysSet)&&(n[s.value]=i.value)}return{status:t.value,value:n}}},N=Object.freeze({status:"aborted"}),or=e=>({status:"dirty",value:e}),Te=e=>({status:"valid",value:e}),Mo=e=>e.status==="aborted",No=e=>e.status==="dirty",Dt=e=>e.status==="valid",Ur=e=>typeof Promise<"u"&&e instanceof Promise;var I;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(I||(I={}));var Ke=class{constructor(t,r,n,o){this._cachedPath=[],this.parent=t,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}},Ul=(e,t)=>{if(Dt(t))return{success:!0,data:t.value};if(!e.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 Ne(e.common.issues);return this._error=r,this._error}}};function U(e){if(!e)return{};let{errorMap:t,invalid_type_error:r,required_error:n,description:o}=e;if(t&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:o}:{errorMap:(i,a)=>{let{message:c}=e;return i.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??n??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:c??r??a.defaultError}},description:o}}var J=class{get description(){return this._def.description}_getType(t){return ht(t.data)}_getOrReturnCtx(t,r){return r||{common:t.parent.common,data:t.data,parsedType:ht(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new ke,ctx:{common:t.parent.common,data:t.data,parsedType:ht(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let r=this._parse(t);if(Ur(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(t){let r=this._parse(t);return Promise.resolve(r)}parse(t,r){let n=this.safeParse(t,r);if(n.success)return n.data;throw n.error}safeParse(t,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ht(t)},o=this._parseSync({data:t,path:n.path,parent:n});return Ul(n,o)}"~validate"(t){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ht(t)};if(!this["~standard"].async)try{let n=this._parseSync({data:t,path:[],parent:r});return Dt(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:t,path:[],parent:r}).then(n=>Dt(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(t,r){let n=await this.safeParseAsync(t,r);if(n.success)return n.data;throw n.error}async safeParseAsync(t,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ht(t)},o=this._parse({data:t,path:n.path,parent:n}),s=await(Ur(o)?o:Promise.resolve(o));return Ul(n,s)}refine(t,r){let n=o=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,s)=>{let i=t(o),a=()=>s.addIssue({code:x.custom,...n(o)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(t,r){return this._refinement((n,o)=>t(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(t){return new Xe({schema:this,typeName:S.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,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 Le.create(this,this._def)}nullable(){return yt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Et.create(this)}promise(){return qt.create(this,this._def)}or(t){return lr.create([this,t],this._def)}and(t){return pr.create(this,t,this._def)}transform(t){return new Xe({...U(this._def),schema:this,typeName:S.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let r=typeof t=="function"?t:()=>t;return new yr({...U(this._def),innerType:this,defaultValue:r,typeName:S.ZodDefault})}brand(){return new $n({typeName:S.ZodBranded,type:this,...U(this._def)})}catch(t){let r=typeof t=="function"?t:()=>t;return new _r({...U(this._def),innerType:this,catchValue:r,typeName:S.ZodCatch})}describe(t){let r=this.constructor;return new r({...this._def,description:t})}pipe(t){return zn.create(this,t)}readonly(){return vr.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},pv=/^c[^\s-]{8,}$/i,mv=/^[0-9a-z]+$/,fv=/^[0-9A-HJKMNP-TV-Z]{26}$/i,hv=/^[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,gv=/^[a-z0-9_-]{21}$/i,yv=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,_v=/^[-+]?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)?)??$/,vv=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,bv="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",ji,wv=/^(?:(?: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])$/,kv=/^(?:(?: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])$/,xv=/^(([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]))$/,Sv=/^(([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])$/,$v=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,zv=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Jl="((\\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])))",Pv=new RegExp(`^${Jl}$`);function Fl(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let r=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${r}`}function Tv(e){return new RegExp(`^${Fl(e)}$`)}function Vl(e){let t=`${Jl}T${Fl(e)}`,r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${r.join("|")})`,new RegExp(`^${t}$`)}function Rv(e,t){return!!((t==="v4"||!t)&&wv.test(e)||(t==="v6"||!t)&&xv.test(e))}function Ev(e,t){if(!yv.test(e))return!1;try{let[r]=e.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||t&&o.alg!==t)}catch{return!1}}function Iv(e,t){return!!((t==="v4"||!t)&&kv.test(e)||(t==="v6"||!t)&&Sv.test(e))}var Zt=class e extends J{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==P.string){let s=this._getOrReturnCtx(t);return $(s,{code:x.invalid_type,expected:P.string,received:s.parsedType}),N}let n=new ke,o;for(let s of this._def.checks)if(s.kind==="min")t.data.length<s.value&&(o=this._getOrReturnCtx(t,o),$(o,{code:x.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")t.data.length>s.value&&(o=this._getOrReturnCtx(t,o),$(o,{code:x.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let i=t.data.length>s.value,a=t.data.length<s.value;(i||a)&&(o=this._getOrReturnCtx(t,o),i?$(o,{code:x.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&$(o,{code:x.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")vv.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"email",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")ji||(ji=new RegExp(bv,"u")),ji.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"emoji",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")hv.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"uuid",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")gv.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"nanoid",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")pv.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"cuid",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")mv.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"cuid2",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")fv.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"ulid",code:x.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(t.data)}catch{o=this._getOrReturnCtx(t,o),$(o,{validation:"url",code:x.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"regex",code:x.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?t.data=t.data.trim():s.kind==="includes"?t.data.includes(s.value,s.position)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?t.data=t.data.toLowerCase():s.kind==="toUpperCase"?t.data=t.data.toUpperCase():s.kind==="startsWith"?t.data.startsWith(s.value)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?t.data.endsWith(s.value)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?Vl(s).test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?Pv.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?Tv(s).test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?_v.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"duration",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?Rv(t.data,s.version)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"ip",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?Ev(t.data,s.alg)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"jwt",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?Iv(t.data,s.version)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"cidr",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?$v.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"base64",code:x.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?zv.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"base64url",code:x.invalid_string,message:s.message}),n.dirty()):H.assertNever(s);return{status:n.value,value:t.data}}_regex(t,r,n){return this.refinement(o=>t.test(o),{validation:r,code:x.invalid_string,...I.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...I.errToObj(t)})}url(t){return this._addCheck({kind:"url",...I.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...I.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...I.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...I.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...I.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...I.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...I.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...I.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...I.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...I.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...I.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...I.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...I.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...I.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...I.errToObj(t)})}regex(t,r){return this._addCheck({kind:"regex",regex:t,...I.errToObj(r)})}includes(t,r){return this._addCheck({kind:"includes",value:t,position:r?.position,...I.errToObj(r?.message)})}startsWith(t,r){return this._addCheck({kind:"startsWith",value:t,...I.errToObj(r)})}endsWith(t,r){return this._addCheck({kind:"endsWith",value:t,...I.errToObj(r)})}min(t,r){return this._addCheck({kind:"min",value:t,...I.errToObj(r)})}max(t,r){return this._addCheck({kind:"max",value:t,...I.errToObj(r)})}length(t,r){return this._addCheck({kind:"length",value:t,...I.errToObj(r)})}nonempty(t){return this.min(1,I.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxLength(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}};Zt.create=e=>new Zt({checks:[],typeName:S.ZodString,coerce:e?.coerce??!1,...U(e)});function Ov(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(e.toFixed(o).replace(".","")),i=Number.parseInt(t.toFixed(o).replace(".",""));return s%i/10**o}var sr=class e extends J{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==P.number){let s=this._getOrReturnCtx(t);return $(s,{code:x.invalid_type,expected:P.number,received:s.parsedType}),N}let n,o=new ke;for(let s of this._def.checks)s.kind==="int"?H.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),$(n,{code:x.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(n=this._getOrReturnCtx(t,n),$(n,{code:x.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(n=this._getOrReturnCtx(t,n),$(n,{code:x.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?Ov(t.data,s.value)!==0&&(n=this._getOrReturnCtx(t,n),$(n,{code:x.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),$(n,{code:x.not_finite,message:s.message}),o.dirty()):H.assertNever(s);return{status:o.value,value:t.data}}gte(t,r){return this.setLimit("min",t,!0,I.toString(r))}gt(t,r){return this.setLimit("min",t,!1,I.toString(r))}lte(t,r){return this.setLimit("max",t,!0,I.toString(r))}lt(t,r){return this.setLimit("max",t,!1,I.toString(r))}setLimit(t,r,n,o){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:I.toString(o)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:I.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:I.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:I.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:I.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:I.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:I.toString(r)})}finite(t){return this._addCheck({kind:"finite",message:I.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:I.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:I.toString(t)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&H.isInteger(t.value))}get isFinite(){let t=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"&&(t===null||n.value<t)&&(t=n.value)}return Number.isFinite(r)&&Number.isFinite(t)}};sr.create=e=>new sr({checks:[],typeName:S.ZodNumber,coerce:e?.coerce||!1,...U(e)});var ir=class e extends J{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==P.bigint)return this._getInvalidInput(t);let n,o=new ke;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(n=this._getOrReturnCtx(t,n),$(n,{code:x.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(n=this._getOrReturnCtx(t,n),$(n,{code:x.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?t.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),$(n,{code:x.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):H.assertNever(s);return{status:o.value,value:t.data}}_getInvalidInput(t){let r=this._getOrReturnCtx(t);return $(r,{code:x.invalid_type,expected:P.bigint,received:r.parsedType}),N}gte(t,r){return this.setLimit("min",t,!0,I.toString(r))}gt(t,r){return this.setLimit("min",t,!1,I.toString(r))}lte(t,r){return this.setLimit("max",t,!0,I.toString(r))}lt(t,r){return this.setLimit("max",t,!1,I.toString(r))}setLimit(t,r,n,o){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:r,inclusive:n,message:I.toString(o)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:I.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:I.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:I.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:I.toString(t)})}multipleOf(t,r){return this._addCheck({kind:"multipleOf",value:t,message:I.toString(r)})}get minValue(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t}get maxValue(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t}};ir.create=e=>new ir({checks:[],typeName:S.ZodBigInt,coerce:e?.coerce??!1,...U(e)});var ar=class extends J{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==P.boolean){let n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:P.boolean,received:n.parsedType}),N}return Te(t.data)}};ar.create=e=>new ar({typeName:S.ZodBoolean,coerce:e?.coerce||!1,...U(e)});var cr=class e extends J{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==P.date){let s=this._getOrReturnCtx(t);return $(s,{code:x.invalid_type,expected:P.date,received:s.parsedType}),N}if(Number.isNaN(t.data.getTime())){let s=this._getOrReturnCtx(t);return $(s,{code:x.invalid_date}),N}let n=new ke,o;for(let s of this._def.checks)s.kind==="min"?t.data.getTime()<s.value&&(o=this._getOrReturnCtx(t,o),$(o,{code:x.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?t.data.getTime()>s.value&&(o=this._getOrReturnCtx(t,o),$(o,{code:x.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):H.assertNever(s);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,r){return this._addCheck({kind:"min",value:t.getTime(),message:I.toString(r)})}max(t,r){return this._addCheck({kind:"max",value:t.getTime(),message:I.toString(r)})}get minDate(){let t=null;for(let r of this._def.checks)r.kind==="min"&&(t===null||r.value>t)&&(t=r.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let r of this._def.checks)r.kind==="max"&&(t===null||r.value<t)&&(t=r.value);return t!=null?new Date(t):null}};cr.create=e=>new cr({checks:[],coerce:e?.coerce||!1,typeName:S.ZodDate,...U(e)});var Jr=class extends J{_parse(t){if(this._getType(t)!==P.symbol){let n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:P.symbol,received:n.parsedType}),N}return Te(t.data)}};Jr.create=e=>new Jr({typeName:S.ZodSymbol,...U(e)});var ur=class extends J{_parse(t){if(this._getType(t)!==P.undefined){let n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:P.undefined,received:n.parsedType}),N}return Te(t.data)}};ur.create=e=>new ur({typeName:S.ZodUndefined,...U(e)});var dr=class extends J{_parse(t){if(this._getType(t)!==P.null){let n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:P.null,received:n.parsedType}),N}return Te(t.data)}};dr.create=e=>new dr({typeName:S.ZodNull,...U(e)});var Ut=class extends J{constructor(){super(...arguments),this._any=!0}_parse(t){return Te(t.data)}};Ut.create=e=>new Ut({typeName:S.ZodAny,...U(e)});var Rt=class extends J{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Te(t.data)}};Rt.create=e=>new Rt({typeName:S.ZodUnknown,...U(e)});var st=class extends J{_parse(t){let r=this._getOrReturnCtx(t);return $(r,{code:x.invalid_type,expected:P.never,received:r.parsedType}),N}};st.create=e=>new st({typeName:S.ZodNever,...U(e)});var Fr=class extends J{_parse(t){if(this._getType(t)!==P.undefined){let n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:P.void,received:n.parsedType}),N}return Te(t.data)}};Fr.create=e=>new Fr({typeName:S.ZodVoid,...U(e)});var Et=class e extends J{_parse(t){let{ctx:r,status:n}=this._processInputParams(t),o=this._def;if(r.parsedType!==P.array)return $(r,{code:x.invalid_type,expected:P.array,received:r.parsedType}),N;if(o.exactLength!==null){let i=r.data.length>o.exactLength.value,a=r.data.length<o.exactLength.value;(i||a)&&($(r,{code:i?x.too_big:x.too_small,minimum:a?o.exactLength.value:void 0,maximum:i?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),n.dirty())}if(o.minLength!==null&&r.data.length<o.minLength.value&&($(r,{code:x.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),n.dirty()),o.maxLength!==null&&r.data.length>o.maxLength.value&&($(r,{code:x.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((i,a)=>o.type._parseAsync(new Ke(r,i,r.path,a)))).then(i=>ke.mergeArray(n,i));let s=[...r.data].map((i,a)=>o.type._parseSync(new Ke(r,i,r.path,a)));return ke.mergeArray(n,s)}get element(){return this._def.type}min(t,r){return new e({...this._def,minLength:{value:t,message:I.toString(r)}})}max(t,r){return new e({...this._def,maxLength:{value:t,message:I.toString(r)}})}length(t,r){return new e({...this._def,exactLength:{value:t,message:I.toString(r)}})}nonempty(t){return this.min(1,t)}};Et.create=(e,t)=>new Et({type:e,minLength:null,maxLength:null,exactLength:null,typeName:S.ZodArray,...U(t)});function qr(e){if(e instanceof De){let t={};for(let r in e.shape){let n=e.shape[r];t[r]=Le.create(qr(n))}return new De({...e._def,shape:()=>t})}else return e instanceof Et?new Et({...e._def,type:qr(e.element)}):e instanceof Le?Le.create(qr(e.unwrap())):e instanceof yt?yt.create(qr(e.unwrap())):e instanceof gt?gt.create(e.items.map(t=>qr(t))):e}var De=class e 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 t=this._def.shape(),r=H.objectKeys(t);return this._cached={shape:t,keys:r},this._cached}_parse(t){if(this._getType(t)!==P.object){let u=this._getOrReturnCtx(t);return $(u,{code:x.invalid_type,expected:P.object,received:u.parsedType}),N}let{status:n,ctx:o}=this._processInputParams(t),{shape:s,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof st&&this._def.unknownKeys==="strip"))for(let u in o.data)i.includes(u)||a.push(u);let c=[];for(let u of i){let d=s[u],l=o.data[u];c.push({key:{status:"valid",value:u},value:d._parse(new Ke(o,l,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof st){let u=this._def.unknownKeys;if(u==="passthrough")for(let d of a)c.push({key:{status:"valid",value:d},value:{status:"valid",value:o.data[d]}});else if(u==="strict")a.length>0&&($(o,{code:x.unrecognized_keys,keys:a}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let d of a){let l=o.data[d];c.push({key:{status:"valid",value:d},value:u._parse(new Ke(o,l,o.path,d)),alwaysSet:d in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let d of c){let l=await d.key,p=await d.value;u.push({key:l,value:p,alwaysSet:d.alwaysSet})}return u}).then(u=>ke.mergeObjectSync(n,u)):ke.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(t){return I.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(r,n)=>{let o=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:I.errToObj(t).message??o}:{message:o}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:S.ZodObject})}setKey(t,r){return this.augment({[t]:r})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let r={};for(let n of H.objectKeys(t))t[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}omit(t){let r={};for(let n of H.objectKeys(this.shape))t[n]||(r[n]=this.shape[n]);return new e({...this._def,shape:()=>r})}deepPartial(){return qr(this)}partial(t){let r={};for(let n of H.objectKeys(this.shape)){let o=this.shape[n];t&&!t[n]?r[n]=o:r[n]=o.optional()}return new e({...this._def,shape:()=>r})}required(t){let r={};for(let n of H.objectKeys(this.shape))if(t&&!t[n])r[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof Le;)s=s._def.innerType;r[n]=s}return new e({...this._def,shape:()=>r})}keyof(){return Bl(H.objectKeys(this.shape))}};De.create=(e,t)=>new De({shape:()=>e,unknownKeys:"strip",catchall:st.create(),typeName:S.ZodObject,...U(t)});De.strictCreate=(e,t)=>new De({shape:()=>e,unknownKeys:"strict",catchall:st.create(),typeName:S.ZodObject,...U(t)});De.lazycreate=(e,t)=>new De({shape:e,unknownKeys:"strip",catchall:st.create(),typeName:S.ZodObject,...U(t)});var lr=class extends J{_parse(t){let{ctx:r}=this._processInputParams(t),n=this._def.options;function o(s){for(let a of s)if(a.result.status==="valid")return a.result;for(let a of s)if(a.result.status==="dirty")return r.common.issues.push(...a.ctx.common.issues),a.result;let i=s.map(a=>new Ne(a.ctx.common.issues));return $(r,{code:x.invalid_union,unionErrors:i}),N}if(r.common.async)return Promise.all(n.map(async s=>{let i={...r,common:{...r.common,issues:[]},parent:null};return{result:await s._parseAsync({data:r.data,path:r.path,parent:i}),ctx:i}})).then(o);{let s,i=[];for(let c of n){let u={...r,common:{...r.common,issues:[]},parent:null},d=c._parseSync({data:r.data,path:r.path,parent:u});if(d.status==="valid")return d;d.status==="dirty"&&!s&&(s={result:d,ctx:u}),u.common.issues.length&&i.push(u.common.issues)}if(s)return r.common.issues.push(...s.ctx.common.issues),s.result;let a=i.map(c=>new Ne(c));return $(r,{code:x.invalid_union,unionErrors:a}),N}}get options(){return this._def.options}};lr.create=(e,t)=>new lr({options:e,typeName:S.ZodUnion,...U(t)});var Tt=e=>e instanceof mr?Tt(e.schema):e instanceof Xe?Tt(e.innerType()):e instanceof fr?[e.value]:e instanceof hr?e.options:e instanceof gr?H.objectValues(e.enum):e instanceof yr?Tt(e._def.innerType):e instanceof ur?[void 0]:e instanceof dr?[null]:e instanceof Le?[void 0,...Tt(e.unwrap())]:e instanceof yt?[null,...Tt(e.unwrap())]:e instanceof $n||e instanceof vr?Tt(e.unwrap()):e instanceof _r?Tt(e._def.innerType):[],Lo=class e extends J{_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==P.object)return $(r,{code:x.invalid_type,expected:P.object,received:r.parsedType}),N;let n=this.discriminator,o=r.data[n],s=this.optionsMap.get(o);return s?r.common.async?s._parseAsync({data:r.data,path:r.path,parent:r}):s._parseSync({data:r.data,path:r.path,parent:r}):($(r,{code:x.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),N)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,r,n){let o=new Map;for(let s of r){let i=Tt(s.shape[t]);if(!i.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let a of i){if(o.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);o.set(a,s)}}return new e({typeName:S.ZodDiscriminatedUnion,discriminator:t,options:r,optionsMap:o,...U(n)})}};function Ci(e,t){let r=ht(e),n=ht(t);if(e===t)return{valid:!0,data:e};if(r===P.object&&n===P.object){let o=H.objectKeys(t),s=H.objectKeys(e).filter(a=>o.indexOf(a)!==-1),i={...e,...t};for(let a of s){let c=Ci(e[a],t[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(r===P.array&&n===P.array){if(e.length!==t.length)return{valid:!1};let o=[];for(let s=0;s<e.length;s++){let i=e[s],a=t[s],c=Ci(i,a);if(!c.valid)return{valid:!1};o.push(c.data)}return{valid:!0,data:o}}else return r===P.date&&n===P.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var pr=class extends J{_parse(t){let{status:r,ctx:n}=this._processInputParams(t),o=(s,i)=>{if(Mo(s)||Mo(i))return N;let a=Ci(s.value,i.value);return a.valid?((No(s)||No(i))&&r.dirty(),{status:r.value,value:a.data}):($(n,{code:x.invalid_intersection_types}),N)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,i])=>o(s,i)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};pr.create=(e,t,r)=>new pr({left:e,right:t,typeName:S.ZodIntersection,...U(r)});var gt=class e extends J{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==P.array)return $(n,{code:x.invalid_type,expected:P.array,received:n.parsedType}),N;if(n.data.length<this._def.items.length)return $(n,{code:x.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),N;!this._def.rest&&n.data.length>this._def.items.length&&($(n,{code:x.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let s=[...n.data].map((i,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new Ke(n,i,n.path,a)):null}).filter(i=>!!i);return n.common.async?Promise.all(s).then(i=>ke.mergeArray(r,i)):ke.mergeArray(r,s)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};gt.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new gt({items:e,typeName:S.ZodTuple,rest:null,...U(t)})};var Do=class e extends J{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==P.object)return $(n,{code:x.invalid_type,expected:P.object,received:n.parsedType}),N;let o=[],s=this._def.keyType,i=this._def.valueType;for(let a in n.data)o.push({key:s._parse(new Ke(n,a,n.path,a)),value:i._parse(new Ke(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?ke.mergeObjectAsync(r,o):ke.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(t,r,n){return r instanceof J?new e({keyType:t,valueType:r,typeName:S.ZodRecord,...U(n)}):new e({keyType:Zt.create(),valueType:t,typeName:S.ZodRecord,...U(r)})}},Vr=class extends J{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==P.map)return $(n,{code:x.invalid_type,expected:P.map,received:n.parsedType}),N;let o=this._def.keyType,s=this._def.valueType,i=[...n.data.entries()].map(([a,c],u)=>({key:o._parse(new Ke(n,a,n.path,[u,"key"])),value:s._parse(new Ke(n,c,n.path,[u,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of i){let u=await c.key,d=await c.value;if(u.status==="aborted"||d.status==="aborted")return N;(u.status==="dirty"||d.status==="dirty")&&r.dirty(),a.set(u.value,d.value)}return{status:r.value,value:a}})}else{let a=new Map;for(let c of i){let u=c.key,d=c.value;if(u.status==="aborted"||d.status==="aborted")return N;(u.status==="dirty"||d.status==="dirty")&&r.dirty(),a.set(u.value,d.value)}return{status:r.value,value:a}}}};Vr.create=(e,t,r)=>new Vr({valueType:t,keyType:e,typeName:S.ZodMap,...U(r)});var Br=class e extends J{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.parsedType!==P.set)return $(n,{code:x.invalid_type,expected:P.set,received:n.parsedType}),N;let o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&($(n,{code:x.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),r.dirty()),o.maxSize!==null&&n.data.size>o.maxSize.value&&($(n,{code:x.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let s=this._def.valueType;function i(c){let u=new Set;for(let d of c){if(d.status==="aborted")return N;d.status==="dirty"&&r.dirty(),u.add(d.value)}return{status:r.value,value:u}}let a=[...n.data.values()].map((c,u)=>s._parse(new Ke(n,c,n.path,u)));return n.common.async?Promise.all(a).then(c=>i(c)):i(a)}min(t,r){return new e({...this._def,minSize:{value:t,message:I.toString(r)}})}max(t,r){return new e({...this._def,maxSize:{value:t,message:I.toString(r)}})}size(t,r){return this.min(t,r).max(t,r)}nonempty(t){return this.min(1,t)}};Br.create=(e,t)=>new Br({valueType:e,minSize:null,maxSize:null,typeName:S.ZodSet,...U(t)});var Zo=class e extends J{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==P.function)return $(r,{code:x.invalid_type,expected:P.function,received:r.parsedType}),N;function n(a,c){return Sn({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Zr(),Pt].filter(u=>!!u),issueData:{code:x.invalid_arguments,argumentsError:c}})}function o(a,c){return Sn({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Zr(),Pt].filter(u=>!!u),issueData:{code:x.invalid_return_type,returnTypeError:c}})}let s={errorMap:r.common.contextualErrorMap},i=r.data;if(this._def.returns instanceof qt){let a=this;return Te(async function(...c){let u=new Ne([]),d=await a._def.args.parseAsync(c,s).catch(h=>{throw u.addIssue(n(c,h)),u}),l=await Reflect.apply(i,this,d);return await a._def.returns._def.type.parseAsync(l,s).catch(h=>{throw u.addIssue(o(l,h)),u})})}else{let a=this;return Te(function(...c){let u=a._def.args.safeParse(c,s);if(!u.success)throw new Ne([n(c,u.error)]);let d=Reflect.apply(i,this,u.data),l=a._def.returns.safeParse(d,s);if(!l.success)throw new Ne([o(d,l.error)]);return l.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:gt.create(t).rest(Rt.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,r,n){return new e({args:t||gt.create([]).rest(Rt.create()),returns:r||Rt.create(),typeName:S.ZodFunction,...U(n)})}},mr=class extends J{get schema(){return this._def.getter()}_parse(t){let{ctx:r}=this._processInputParams(t);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};mr.create=(e,t)=>new mr({getter:e,typeName:S.ZodLazy,...U(t)});var fr=class extends J{_parse(t){if(t.data!==this._def.value){let r=this._getOrReturnCtx(t);return $(r,{received:r.data,code:x.invalid_literal,expected:this._def.value}),N}return{status:"valid",value:t.data}}get value(){return this._def.value}};fr.create=(e,t)=>new fr({value:e,typeName:S.ZodLiteral,...U(t)});function Bl(e,t){return new hr({values:e,typeName:S.ZodEnum,...U(t)})}var hr=class e extends J{_parse(t){if(typeof t.data!="string"){let r=this._getOrReturnCtx(t),n=this._def.values;return $(r,{expected:H.joinValues(n),received:r.parsedType,code:x.invalid_type}),N}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let r=this._getOrReturnCtx(t),n=this._def.values;return $(r,{received:r.data,code:x.invalid_enum_value,options:n}),N}return Te(t.data)}get options(){return this._def.values}get enum(){let t={};for(let r of this._def.values)t[r]=r;return t}get Values(){let t={};for(let r of this._def.values)t[r]=r;return t}get Enum(){let t={};for(let r of this._def.values)t[r]=r;return t}extract(t,r=this._def){return e.create(t,{...this._def,...r})}exclude(t,r=this._def){return e.create(this.options.filter(n=>!t.includes(n)),{...this._def,...r})}};hr.create=Bl;var gr=class extends J{_parse(t){let r=H.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(t);if(n.parsedType!==P.string&&n.parsedType!==P.number){let o=H.objectValues(r);return $(n,{expected:H.joinValues(o),received:n.parsedType,code:x.invalid_type}),N}if(this._cache||(this._cache=new Set(H.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let o=H.objectValues(r);return $(n,{received:n.data,code:x.invalid_enum_value,options:o}),N}return Te(t.data)}get enum(){return this._def.values}};gr.create=(e,t)=>new gr({values:e,typeName:S.ZodNativeEnum,...U(t)});var qt=class extends J{unwrap(){return this._def.type}_parse(t){let{ctx:r}=this._processInputParams(t);if(r.parsedType!==P.promise&&r.common.async===!1)return $(r,{code:x.invalid_type,expected:P.promise,received:r.parsedType}),N;let n=r.parsedType===P.promise?r.data:Promise.resolve(r.data);return Te(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};qt.create=(e,t)=>new qt({type:e,typeName:S.ZodPromise,...U(t)});var Xe=class extends J{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===S.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:r,ctx:n}=this._processInputParams(t),o=this._def.effect||null,s={addIssue:i=>{$(n,i),i.fatal?r.abort():r.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="preprocess"){let i=o.transform(n.data,s);if(n.common.async)return Promise.resolve(i).then(async a=>{if(r.value==="aborted")return N;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?N:c.status==="dirty"?or(c.value):r.value==="dirty"?or(c.value):c});{if(r.value==="aborted")return N;let a=this._def.schema._parseSync({data:i,path:n.path,parent:n});return a.status==="aborted"?N:a.status==="dirty"?or(a.value):r.value==="dirty"?or(a.value):a}}if(o.type==="refinement"){let i=a=>{let c=o.refinement(a,s);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?N:(a.status==="dirty"&&r.dirty(),i(a.value),{status:r.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?N:(a.status==="dirty"&&r.dirty(),i(a.value).then(()=>({status:r.value,value:a.value}))))}if(o.type==="transform")if(n.common.async===!1){let i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Dt(i))return N;let a=o.transform(i.value,s);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(i=>Dt(i)?Promise.resolve(o.transform(i.value,s)).then(a=>({status:r.value,value:a})):N);H.assertNever(o)}};Xe.create=(e,t,r)=>new Xe({schema:e,typeName:S.ZodEffects,effect:t,...U(r)});Xe.createWithPreprocess=(e,t,r)=>new Xe({schema:t,effect:{type:"preprocess",transform:e},typeName:S.ZodEffects,...U(r)});var Le=class extends J{_parse(t){return this._getType(t)===P.undefined?Te(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Le.create=(e,t)=>new Le({innerType:e,typeName:S.ZodOptional,...U(t)});var yt=class extends J{_parse(t){return this._getType(t)===P.null?Te(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};yt.create=(e,t)=>new yt({innerType:e,typeName:S.ZodNullable,...U(t)});var yr=class extends J{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return r.parsedType===P.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};yr.create=(e,t)=>new yr({innerType:e,typeName:S.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...U(t)});var _r=class extends J{_parse(t){let{ctx:r}=this._processInputParams(t),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Ur(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Ne(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Ne(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};_r.create=(e,t)=>new _r({innerType:e,typeName:S.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...U(t)});var Hr=class extends J{_parse(t){if(this._getType(t)!==P.nan){let n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:P.nan,received:n.parsedType}),N}return{status:"valid",value:t.data}}};Hr.create=e=>new Hr({typeName:S.ZodNaN,...U(e)});var jv=Symbol("zod_brand"),$n=class extends J{_parse(t){let{ctx:r}=this._processInputParams(t),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},zn=class e extends J{_parse(t){let{status:r,ctx:n}=this._processInputParams(t);if(n.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?N:s.status==="dirty"?(r.dirty(),or(s.value)):this._def.out._parseAsync({data:s.value,path:n.path,parent:n})})();{let o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?N:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(t,r){return new e({in:t,out:r,typeName:S.ZodPipeline})}},vr=class extends J{_parse(t){let r=this._def.innerType._parse(t),n=o=>(Dt(o)&&(o.value=Object.freeze(o.value)),o);return Ur(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};vr.create=(e,t)=>new vr({innerType:e,typeName:S.ZodReadonly,...U(t)});function ql(e,t){let r=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof r=="string"?{message:r}:r}function Hl(e,t={},r){return e?Ut.create().superRefine((n,o)=>{let s=e(n);if(s instanceof Promise)return s.then(i=>{if(!i){let a=ql(t,n),c=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!s){let i=ql(t,n),a=i.fatal??r??!0;o.addIssue({code:"custom",...i,fatal:a})}}):Ut.create()}var Cv={object:De.lazycreate},S;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(S||(S={}));var Av=(e,t={message:`Input not instance of ${e.name}`})=>Hl(r=>r instanceof e,t),Wl=Zt.create,Gl=sr.create,Mv=Hr.create,Nv=ir.create,Kl=ar.create,Lv=cr.create,Dv=Jr.create,Zv=ur.create,Uv=dr.create,qv=Ut.create,Jv=Rt.create,Fv=st.create,Vv=Fr.create,Bv=Et.create,Ai=De.create,Hv=De.strictCreate,Wv=lr.create,Gv=Lo.create,Kv=pr.create,Xv=gt.create,Yv=Do.create,Qv=Vr.create,eb=Br.create,tb=Zo.create,rb=mr.create,nb=fr.create,ob=hr.create,sb=gr.create,ib=qt.create,ab=Xe.create,cb=Le.create,ub=yt.create,db=Xe.createWithPreprocess,lb=zn.create,pb=()=>Wl().optional(),mb=()=>Gl().optional(),fb=()=>Kl().optional(),hb={string:(e=>Zt.create({...e,coerce:!0})),number:(e=>sr.create({...e,coerce:!0})),boolean:(e=>ar.create({...e,coerce:!0})),bigint:(e=>ir.create({...e,coerce:!0})),date:(e=>cr.create({...e,coerce:!0}))};var gb=N;var _b=Object.freeze({status:"aborted"});function v(e,t,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(e),t(a,c);for(let d in i.prototype)d in a||Object.defineProperty(a,d,{value:i.prototype[d].bind(a)});a._zod.constr=i,a._zod.def=c}let o=r?.Parent??Object;class s extends o{}Object.defineProperty(s,"name",{value:e});function i(a){var c;let u=r?.Parent?new s:this;n(u,a),(c=u._zod).deferred??(c.deferred=[]);for(let d of u._zod.deferred)d();return u}return Object.defineProperty(i,"init",{value:n}),Object.defineProperty(i,Symbol.hasInstance,{value:a=>r?.Parent&&a instanceof r.Parent?!0:a?._zod?.traits?.has(e)}),Object.defineProperty(i,"name",{value:e}),i}var It=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Uo={};function Be(e){return e&&Object.assign(Uo,e),Uo}var W={};Ii(W,{BIGINT_FORMAT_RANGES:()=>Yl,Class:()=>Ni,NUMBER_FORMAT_RANGES:()=>Fi,aborted:()=>wr,allowsEval:()=>Ui,assert:()=>xb,assertEqual:()=>vb,assertIs:()=>wb,assertNever:()=>kb,assertNotEqual:()=>bb,assignProp:()=>Zi,cached:()=>Rn,captureStackTrace:()=>Jo,cleanEnum:()=>Mb,cleanRegex:()=>In,clone:()=>He,createTransparentProxy:()=>Rb,defineLazy:()=>ie,esc:()=>br,escapeRegex:()=>Jt,extend:()=>Ob,finalizeIssue:()=>it,floatSafeRemainder:()=>Di,getElementAtPath:()=>Sb,getEnumValues:()=>Tn,getLengthableOrigin:()=>On,getParsedType:()=>Tb,getSizableOrigin:()=>Ql,isObject:()=>Wr,isPlainObject:()=>Gr,issue:()=>Vi,joinValues:()=>qo,jsonStringifyReplacer:()=>Li,merge:()=>jb,normalizeParams:()=>L,nullish:()=>En,numKeys:()=>Pb,omit:()=>Ib,optionalKeys:()=>Ji,partial:()=>Cb,pick:()=>Eb,prefixIssues:()=>_t,primitiveTypes:()=>Xl,promiseAllObject:()=>$b,propertyKeyTypes:()=>qi,randomString:()=>zb,required:()=>Ab,stringifyPrimitive:()=>Fo,unwrapMessage:()=>Pn});function vb(e){return e}function bb(e){return e}function wb(e){}function kb(e){throw new Error}function xb(e){}function Tn(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function qo(e,t="|"){return e.map(r=>Fo(r)).join(t)}function Li(e,t){return typeof t=="bigint"?t.toString():t}function Rn(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function En(e){return e==null}function In(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Di(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(e.toFixed(o).replace(".","")),i=Number.parseInt(t.toFixed(o).replace(".",""));return s%i/10**o}function ie(e,t,r){Object.defineProperty(e,t,{get(){{let o=r();return e[t]=o,o}throw new Error("cached value already set")},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function Zi(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Sb(e,t){return t?t.reduce((r,n)=>r?.[n],e):e}function $b(e){let t=Object.keys(e),r=t.map(n=>e[n]);return Promise.all(r).then(n=>{let o={};for(let s=0;s<t.length;s++)o[t[s]]=n[s];return o})}function zb(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<e;n++)r+=t[Math.floor(Math.random()*t.length)];return r}function br(e){return JSON.stringify(e)}var Jo=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function Wr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Ui=Rn(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function Gr(e){if(Wr(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let r=t.prototype;return!(Wr(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Pb(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}var Tb=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},qi=new Set(["string","number","symbol"]),Xl=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Jt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function He(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function L(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function Rb(e){let t;return new Proxy({},{get(r,n,o){return t??(t=e()),Reflect.get(t,n,o)},set(r,n,o,s){return t??(t=e()),Reflect.set(t,n,o,s)},has(r,n){return t??(t=e()),Reflect.has(t,n)},deleteProperty(r,n){return t??(t=e()),Reflect.deleteProperty(t,n)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,n){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,n)},defineProperty(r,n,o){return t??(t=e()),Reflect.defineProperty(t,n,o)}})}function Fo(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function Ji(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Fi={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]},Yl={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Eb(e,t){let r={},n=e._zod.def;for(let o in t){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&(r[o]=n.shape[o])}return He(e,{...e._zod.def,shape:r,checks:[]})}function Ib(e,t){let r={...e._zod.def.shape},n=e._zod.def;for(let o in t){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&delete r[o]}return He(e,{...e._zod.def,shape:r,checks:[]})}function Ob(e,t){if(!Gr(t))throw new Error("Invalid input to extend: expected a plain object");let r={...e._zod.def,get shape(){let n={...e._zod.def.shape,...t};return Zi(this,"shape",n),n},checks:[]};return He(e,r)}function jb(e,t){return He(e,{...e._zod.def,get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return Zi(this,"shape",r),r},catchall:t._zod.def.catchall,checks:[]})}function Cb(e,t,r){let n=t._zod.def.shape,o={...n};if(r)for(let s in r){if(!(s in n))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(o[s]=e?new e({type:"optional",innerType:n[s]}):n[s])}else for(let s in n)o[s]=e?new e({type:"optional",innerType:n[s]}):n[s];return He(t,{...t._zod.def,shape:o,checks:[]})}function Ab(e,t,r){let n=t._zod.def.shape,o={...n};if(r)for(let s in r){if(!(s in o))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(o[s]=new e({type:"nonoptional",innerType:n[s]}))}else for(let s in n)o[s]=new e({type:"nonoptional",innerType:n[s]});return He(t,{...t._zod.def,shape:o,checks:[]})}function wr(e,t=0){for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function _t(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function Pn(e){return typeof e=="string"?e:e?.message}function it(e,t,r){let n={...e,path:e.path??[]};if(!e.message){let o=Pn(e.inst?._zod.def?.error?.(e))??Pn(t?.error?.(e))??Pn(r.customError?.(e))??Pn(r.localeError?.(e))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function Ql(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function On(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function Vi(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}function Mb(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}var Ni=class{constructor(...t){}};var ep=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(t,Li,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Vo=v("$ZodError",ep),jn=v("$ZodError",ep,{Parent:Error});function Bi(e,t=r=>r.message){let r={},n=[];for(let o of e.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(t(o))):n.push(t(o));return{formErrors:n,fieldErrors:r}}function Hi(e,t){let r=t||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>o({issues:a}));else if(i.code==="invalid_key")o({issues:i.issues});else if(i.code==="invalid_element")o({issues:i.issues});else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(e),n}var Wi=e=>(t,r,n,o)=>{let s=n?Object.assign(n,{async:!1}):{async:!1},i=t._zod.run({value:r,issues:[]},s);if(i instanceof Promise)throw new It;if(i.issues.length){let a=new(o?.Err??e)(i.issues.map(c=>it(c,s,Be())));throw Jo(a,o?.callee),a}return i.value},Gi=Wi(jn),Ki=e=>async(t,r,n,o)=>{let s=n?Object.assign(n,{async:!0}):{async:!0},i=t._zod.run({value:r,issues:[]},s);if(i instanceof Promise&&(i=await i),i.issues.length){let a=new(o?.Err??e)(i.issues.map(c=>it(c,s,Be())));throw Jo(a,o?.callee),a}return i.value},Xi=Ki(jn),Yi=e=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new It;return s.issues.length?{success:!1,error:new(e??Vo)(s.issues.map(i=>it(i,o,Be())))}:{success:!0,data:s.value}},kr=Yi(jn),Qi=e=>async(t,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},s=t._zod.run({value:r,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new e(s.issues.map(i=>it(i,o,Be())))}:{success:!0,data:s.value}},xr=Qi(jn);var tp=/^[cC][^\s-]{8,}$/,rp=/^[0-9a-z]+$/,np=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,op=/^[0-9a-vA-V]{20}$/,sp=/^[A-Za-z0-9]{27}$/,ip=/^[a-zA-Z0-9_-]{21}$/,ap=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var cp=/^([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})$/,ea=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;var up=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var Lb="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function dp(){return new RegExp(Lb,"u")}var lp=/^(?:(?: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])$/,pp=/^(([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})$/,mp=/^((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])$/,fp=/^(([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])$/,hp=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,ta=/^[A-Za-z0-9_-]*$/,gp=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var yp=/^\+(?:[0-9]){6,14}[0-9]$/,_p="(?:(?:\\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])))",vp=new RegExp(`^${_p}$`);function bp(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function wp(e){return new RegExp(`^${bp(e)}$`)}function kp(e){let t=bp({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${t}(?:${r.join("|")})`;return new RegExp(`^${_p}T(?:${n})$`)}var xp=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var Sp=/^\d+$/,$p=/^-?\d+(?:\.\d+)?/i,zp=/true|false/i,Pp=/null/i;var Tp=/^[^A-Z]*$/,Rp=/^[^a-z]*$/;var xe=v("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Ep={number:"number",bigint:"bigint",object:"date"},ra=v("$ZodCheckLessThan",(e,t)=>{xe.init(e,t);let r=Ep[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,s=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<s&&(t.inclusive?o.maximum=t.value:o.exclusiveMaximum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:r,code:"too_big",maximum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),na=v("$ZodCheckGreaterThan",(e,t)=>{xe.init(e,t);let r=Ep[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,s=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>s&&(t.inclusive?o.minimum=t.value:o.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:r,code:"too_small",minimum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ip=v("$ZodCheckMultipleOf",(e,t)=>{xe.init(e,t),e._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):Di(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),Op=v("$ZodCheckNumberFormat",(e,t)=>{xe.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[o,s]=Fi[t.format];e._zod.onattach.push(i=>{let a=i._zod.bag;a.format=t.format,a.minimum=o,a.maximum=s,r&&(a.pattern=Sp)}),e._zod.check=i=>{let a=i.value;if(r){if(!Number.isInteger(a)){i.issues.push({expected:n,format:t.format,code:"invalid_type",input:a,inst:e});return}if(!Number.isSafeInteger(a)){a>0?i.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort}):i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort});return}}a<o&&i.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),a>s&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inst:e})}});var jp=v("$ZodCheckMaxLength",(e,t)=>{var r;xe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!En(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let o=n.value;if(o.length<=t.maximum)return;let i=On(o);n.issues.push({origin:i,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Cp=v("$ZodCheckMinLength",(e,t)=>{var r;xe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!En(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let o=n.value;if(o.length>=t.minimum)return;let i=On(o);n.issues.push({origin:i,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Ap=v("$ZodCheckLengthEquals",(e,t)=>{var r;xe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!En(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=n=>{let o=n.value,s=o.length;if(s===t.length)return;let i=On(o),a=s>t.length;n.issues.push({origin:i,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Cn=v("$ZodCheckStringFormat",(e,t)=>{var r,n;xe.init(e,t),e._zod.onattach.push(o=>{let s=o._zod.bag;s.format=t.format,t.pattern&&(s.patterns??(s.patterns=new Set),s.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),Mp=v("$ZodCheckRegex",(e,t)=>{Cn.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Np=v("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Tp),Cn.init(e,t)}),Lp=v("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Rp),Cn.init(e,t)}),Dp=v("$ZodCheckIncludes",(e,t)=>{xe.init(e,t);let r=Jt(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(o=>{let s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Zp=v("$ZodCheckStartsWith",(e,t)=>{xe.init(e,t);let r=new RegExp(`^${Jt(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Up=v("$ZodCheckEndsWith",(e,t)=>{xe.init(e,t);let r=new RegExp(`.*${Jt(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});var qp=v("$ZodCheckOverwrite",(e,t)=>{xe.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});var Ho=class{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let n=t.split(`
|
|
11
11
|
`).filter(i=>i),o=Math.min(...n.map(i=>i.length-i.trimStart().length)),s=n.map(i=>i.slice(o)).map(i=>" ".repeat(this.indent*2)+i);for(let i of s)this.content.push(i)}compile(){let t=Function,r=this?.args,o=[...(this?.content??[""]).map(s=>` ${s}`)];return new t(...r,o.join(`
|
|
12
|
-
`))}};var
|
|
12
|
+
`))}};var Fp={major:4,minor:0,patch:0};var ne=v("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Fp;let n=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&n.unshift(e);for(let o of n)for(let s of o._zod.onattach)s(e);if(n.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(s,i,a)=>{let c=wr(s),u;for(let d of i){if(d._zod.def.when){if(!d._zod.def.when(s))continue}else if(c)continue;let l=s.issues.length,p=d._zod.check(s);if(p instanceof Promise&&a?.async===!1)throw new It;if(u||p instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await p,s.issues.length!==l&&(c||(c=wr(s,l)))});else{if(s.issues.length===l)continue;c||(c=wr(s,l))}}return u?u.then(()=>s):s};e._zod.run=(s,i)=>{let a=e._zod.parse(s,i);if(a instanceof Promise){if(i.async===!1)throw new It;return a.then(c=>o(c,n,i))}return o(a,n,i)}}e["~standard"]={validate:o=>{try{let s=kr(e,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return xr(e,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),An=v("$ZodString",(e,t)=>{ne.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??xp(e._zod.bag),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),ae=v("$ZodStringFormat",(e,t)=>{Cn.init(e,t),An.init(e,t)}),sa=v("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=cp),ae.init(e,t)}),ia=v("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=ea(n))}else t.pattern??(t.pattern=ea());ae.init(e,t)}),aa=v("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=up),ae.init(e,t)}),ca=v("$ZodURL",(e,t)=>{ae.init(e,t),e._zod.check=r=>{try{let n=r.value,o=new URL(n),s=o.href;t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:gp.source,input:r.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})),!n.endsWith("/")&&s.endsWith("/")?r.value=s.slice(0,-1):r.value=s;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),ua=v("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=dp()),ae.init(e,t)}),da=v("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=ip),ae.init(e,t)}),la=v("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=tp),ae.init(e,t)}),pa=v("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=rp),ae.init(e,t)}),ma=v("$ZodULID",(e,t)=>{t.pattern??(t.pattern=np),ae.init(e,t)}),fa=v("$ZodXID",(e,t)=>{t.pattern??(t.pattern=op),ae.init(e,t)}),ha=v("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=sp),ae.init(e,t)}),em=v("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=kp(t)),ae.init(e,t)}),tm=v("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=vp),ae.init(e,t)}),rm=v("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=wp(t)),ae.init(e,t)}),nm=v("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=ap),ae.init(e,t)}),ga=v("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=lp),ae.init(e,t),e._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),ya=v("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=pp),ae.init(e,t),e._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv6"}),e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),_a=v("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=mp),ae.init(e,t)}),va=v("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=fp),ae.init(e,t),e._zod.check=r=>{let[n,o]=r.value.split("/");try{if(!o)throw new Error;let s=Number(o);if(`${s}`!==o)throw new Error;if(s<0||s>128)throw new Error;new URL(`http://[${n}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}}});function om(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var ba=v("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=hp),ae.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),e._zod.check=r=>{om(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function Db(e){if(!ta.test(e))return!1;let t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return om(r)}var wa=v("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=ta),ae.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),e._zod.check=r=>{Db(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),ka=v("$ZodE164",(e,t)=>{t.pattern??(t.pattern=yp),ae.init(e,t)});function Zb(e,t=null){try{let r=e.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let o=JSON.parse(atob(n));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}var xa=v("$ZodJWT",(e,t)=>{ae.init(e,t),e._zod.check=r=>{Zb(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}});var Go=v("$ZodNumber",(e,t)=>{ne.init(e,t),e._zod.pattern=e._zod.bag.pattern??$p,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch{}let o=r.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let s=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...s?{received:s}:{}}),r}}),Sa=v("$ZodNumber",(e,t)=>{Op.init(e,t),Go.init(e,t)}),$a=v("$ZodBoolean",(e,t)=>{ne.init(e,t),e._zod.pattern=zp,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=!!r.value}catch{}let o=r.value;return typeof o=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),r}});var za=v("$ZodNull",(e,t)=>{ne.init(e,t),e._zod.pattern=Pp,e._zod.values=new Set([null]),e._zod.parse=(r,n)=>{let o=r.value;return o===null||r.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),r}});var Pa=v("$ZodUnknown",(e,t)=>{ne.init(e,t),e._zod.parse=r=>r}),Ta=v("$ZodNever",(e,t)=>{ne.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function Vp(e,t,r){e.issues.length&&t.issues.push(..._t(r,e.issues)),t.value[r]=e.value}var Ra=v("$ZodArray",(e,t)=>{ne.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),r;r.value=Array(o.length);let s=[];for(let i=0;i<o.length;i++){let a=o[i],c=t.element._zod.run({value:a,issues:[]},n);c instanceof Promise?s.push(c.then(u=>Vp(u,r,i))):Vp(c,r,i)}return s.length?Promise.all(s).then(()=>r):r}});function Wo(e,t,r){e.issues.length&&t.issues.push(..._t(r,e.issues)),t.value[r]=e.value}function Bp(e,t,r,n){e.issues.length?n[r]===void 0?r in n?t.value[r]=void 0:t.value[r]=e.value:t.issues.push(..._t(r,e.issues)):e.value===void 0?r in n&&(t.value[r]=void 0):t.value[r]=e.value}var Ko=v("$ZodObject",(e,t)=>{ne.init(e,t);let r=Rn(()=>{let l=Object.keys(t.shape);for(let h of l)if(!(t.shape[h]instanceof ne))throw new Error(`Invalid element at key "${h}": expected a Zod schema`);let p=Ji(t.shape);return{shape:t.shape,keys:l,keySet:new Set(l),numKeys:l.length,optionalKeys:new Set(p)}});ie(e._zod,"propValues",()=>{let l=t.shape,p={};for(let h in l){let f=l[h]._zod;if(f.values){p[h]??(p[h]=new Set);for(let g of f.values)p[h].add(g)}}return p});let n=l=>{let p=new Ho(["shape","payload","ctx"]),h=r.value,f=w=>{let k=br(w);return`shape[${k}]._zod.run({ value: input[${k}], issues: [] }, ctx)`};p.write("const input = payload.value;");let g=Object.create(null),y=0;for(let w of h.keys)g[w]=`key_${y++}`;p.write("const newResult = {}");for(let w of h.keys)if(h.optionalKeys.has(w)){let k=g[w];p.write(`const ${k} = ${f(w)};`);let R=br(w);p.write(`
|
|
13
13
|
if (${k}.issues.length) {
|
|
14
14
|
if (input[${R}] === undefined) {
|
|
15
15
|
if (${R} in input) {
|
|
@@ -31,24 +31,24 @@ var Y_=Object.create;var Ri=Object.defineProperty;var Q_=Object.getOwnPropertyDe
|
|
|
31
31
|
`)}else{let k=g[w];p.write(`const ${k} = ${f(w)};`),p.write(`
|
|
32
32
|
if (${k}.issues.length) payload.issues = payload.issues.concat(${k}.issues.map(iss => ({
|
|
33
33
|
...iss,
|
|
34
|
-
path: iss.path ? [${
|
|
35
|
-
})));`),p.write(`newResult[${vr(w)}] = ${k}.value`)}p.write("payload.value = newResult;"),p.write("return payload;");let b=p.compile();return(w,k)=>b(l,w,k)},o,s=Hr,i=!Zo.jitless,c=i&&Zi.value,u=t.catchall,d;e._zod.parse=(l,p)=>{d??(d=r.value);let h=l.value;if(!s(h))return l.issues.push({expected:"object",code:"invalid_type",input:h,inst:e}),l;let f=[];if(i&&c&&p?.async===!1&&p.jitless!==!0)o||(o=n(t.shape)),l=o(l,p);else{l.value={};let k=d.shape;for(let R of d.keys){let M=k[R],Oe=M._zod.run({value:h[R],issues:[]},p),Ge=M._zod.optin==="optional"&&M._zod.optout==="optional";Oe instanceof Promise?f.push(Oe.then(Lr=>Ge?Vp(Lr,l,R,h):Ho(Lr,l,R))):Ge?Vp(Oe,l,R,h):Ho(Oe,l,R)}}if(!u)return f.length?Promise.all(f).then(()=>l):l;let g=[],y=d.keySet,b=u._zod,w=b.def.type;for(let k of Object.keys(h)){if(y.has(k))continue;if(w==="never"){g.push(k);continue}let R=b.run({value:h[k],issues:[]},p);R instanceof Promise?f.push(R.then(M=>Ho(M,l,k))):Ho(R,l,k)}return g.length&&l.issues.push({code:"unrecognized_keys",keys:g,input:h,inst:e}),f.length?Promise.all(f).then(()=>l):l}});function Bp(e,t,r,n){for(let o of e)if(o.issues.length===0)return t.value=o.value,t;return t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(o=>o.issues.map(s=>it(s,n,Be())))}),t}var Ko=v("$ZodUnion",(e,t)=>{ne.init(e,t),ie(e._zod,"optin",()=>t.options.some(r=>r._zod.optin==="optional")?"optional":void 0),ie(e._zod,"optout",()=>t.options.some(r=>r._zod.optout==="optional")?"optional":void 0),ie(e._zod,"values",()=>{if(t.options.every(r=>r._zod.values))return new Set(t.options.flatMap(r=>Array.from(r._zod.values)))}),ie(e._zod,"pattern",()=>{if(t.options.every(r=>r._zod.pattern)){let r=t.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>In(n.source)).join("|")})$`)}}),e._zod.parse=(r,n)=>{let o=!1,s=[];for(let i of t.options){let a=i._zod.run({value:r.value,issues:[]},n);if(a instanceof Promise)s.push(a),o=!0;else{if(a.issues.length===0)return a;s.push(a)}}return o?Promise.all(s).then(i=>Bp(i,r,e,n)):Bp(s,r,e,n)}}),Ra=v("$ZodDiscriminatedUnion",(e,t)=>{Ko.init(e,t);let r=e._zod.parse;ie(e._zod,"propValues",()=>{let o={};for(let s of t.options){let i=s._zod.propValues;if(!i||Object.keys(i).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(s)}"`);for(let[a,c]of Object.entries(i)){o[a]||(o[a]=new Set);for(let u of c)o[a].add(u)}}return o});let n=Tn(()=>{let o=t.options,s=new Map;for(let i of o){let a=i._zod.propValues[t.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(let c of a){if(s.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);s.set(c,i)}}return s});e._zod.parse=(o,s)=>{let i=o.value;if(!Hr(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:e}),o;let a=n.value.get(i?.[t.discriminator]);return a?a._zod.run(o,s):t.unionFallback?r(o,s):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:i,path:[t.discriminator],inst:e}),o)}}),Ia=v("$ZodIntersection",(e,t)=>{ne.init(e,t),e._zod.parse=(r,n)=>{let o=r.value,s=t.left._zod.run({value:o,issues:[]},n),i=t.right._zod.run({value:o,issues:[]},n);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([c,u])=>Hp(r,c,u)):Hp(r,s,i)}});function na(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Wr(e)&&Wr(t)){let r=Object.keys(t),n=Object.keys(e).filter(s=>r.indexOf(s)!==-1),o={...e,...t};for(let s of n){let i=na(e[s],t[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<e.length;n++){let o=e[n],s=t[n],i=na(o,s);if(!i.valid)return{valid:!1,mergeErrorPath:[n,...i.mergeErrorPath]};r.push(i.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function Hp(e,t,r){if(t.issues.length&&e.issues.push(...t.issues),r.issues.length&&e.issues.push(...r.issues),br(e))return e;let n=na(t.value,r.value);if(!n.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(n.mergeErrorPath)}`);return e.value=n.data,e}var Ea=v("$ZodRecord",(e,t)=>{ne.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!Wr(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),r;let s=[];if(t.keyType._zod.values){let i=t.keyType._zod.values;r.value={};for(let c of i)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let u=t.valueType._zod.run({value:o[c],issues:[]},n);u instanceof Promise?s.push(u.then(d=>{d.issues.length&&r.issues.push(..._t(c,d.issues)),r.value[c]=d.value})):(u.issues.length&&r.issues.push(..._t(c,u.issues)),r.value[c]=u.value)}let a;for(let c in o)i.has(c)||(a=a??[],a.push(c));a&&a.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:a})}else{r.value={};for(let i of Reflect.ownKeys(o)){if(i==="__proto__")continue;let a=t.keyType._zod.run({value:i,issues:[]},n);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){r.issues.push({origin:"record",code:"invalid_key",issues:a.issues.map(u=>it(u,n,Be())),input:i,path:[i],inst:e}),r.value[a.value]=a.value;continue}let c=t.valueType._zod.run({value:o[i],issues:[]},n);c instanceof Promise?s.push(c.then(u=>{u.issues.length&&r.issues.push(..._t(i,u.issues)),r.value[a.value]=u.value})):(c.issues.length&&r.issues.push(..._t(i,c.issues)),r.value[a.value]=c.value)}}return s.length?Promise.all(s).then(()=>r):r}});var Oa=v("$ZodEnum",(e,t)=>{ne.init(e,t);let r=Pn(t.entries);e._zod.values=new Set(r),e._zod.pattern=new RegExp(`^(${r.filter(n=>Ui.has(typeof n)).map(n=>typeof n=="string"?qt(n):n.toString()).join("|")})$`),e._zod.parse=(n,o)=>{let s=n.value;return e._zod.values.has(s)||n.issues.push({code:"invalid_value",values:r,input:s,inst:e}),n}}),ja=v("$ZodLiteral",(e,t)=>{ne.init(e,t),e._zod.values=new Set(t.values),e._zod.pattern=new RegExp(`^(${t.values.map(r=>typeof r=="string"?qt(r):r?r.toString():String(r)).join("|")})$`),e._zod.parse=(r,n)=>{let o=r.value;return e._zod.values.has(o)||r.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),r}});var Ca=v("$ZodTransform",(e,t)=>{ne.init(e,t),e._zod.parse=(r,n)=>{let o=t.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(i=>(r.value=i,r));if(o instanceof Promise)throw new Et;return r.value=o,r}}),Aa=v("$ZodOptional",(e,t)=>{ne.init(e,t),e._zod.optin="optional",e._zod.optout="optional",ie(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),ie(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${In(r.source)})?$`):void 0}),e._zod.parse=(r,n)=>t.innerType._zod.optin==="optional"?t.innerType._zod.run(r,n):r.value===void 0?r:t.innerType._zod.run(r,n)}),Ma=v("$ZodNullable",(e,t)=>{ne.init(e,t),ie(e._zod,"optin",()=>t.innerType._zod.optin),ie(e._zod,"optout",()=>t.innerType._zod.optout),ie(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${In(r.source)}|null)$`):void 0}),ie(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>r.value===null?r:t.innerType._zod.run(r,n)}),Na=v("$ZodDefault",(e,t)=>{ne.init(e,t),e._zod.optin="optional",ie(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=t.defaultValue,r;let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>Wp(s,t)):Wp(o,t)}});function Wp(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var La=v("$ZodPrefault",(e,t)=>{ne.init(e,t),e._zod.optin="optional",ie(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>(r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,n))}),Da=v("$ZodNonOptional",(e,t)=>{ne.init(e,t),ie(e._zod,"values",()=>{let r=t.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>Gp(s,e)):Gp(o,e)}});function Gp(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var Za=v("$ZodCatch",(e,t)=>{ne.init(e,t),e._zod.optin="optional",ie(e._zod,"optout",()=>t.innerType._zod.optout),ie(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>(r.value=s.value,s.issues.length&&(r.value=t.catchValue({...r,error:{issues:s.issues.map(i=>it(i,n,Be()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=t.catchValue({...r,error:{issues:o.issues.map(s=>it(s,n,Be()))},input:r.value}),r.issues=[]),r)}});var Ua=v("$ZodPipe",(e,t)=>{ne.init(e,t),ie(e._zod,"values",()=>t.in._zod.values),ie(e._zod,"optin",()=>t.in._zod.optin),ie(e._zod,"optout",()=>t.out._zod.optout),e._zod.parse=(r,n)=>{let o=t.in._zod.run(r,n);return o instanceof Promise?o.then(s=>Kp(s,t,n)):Kp(o,t,n)}});function Kp(e,t,r){return br(e)?e:t.out._zod.run({value:e.value,issues:e.issues},r)}var qa=v("$ZodReadonly",(e,t)=>{ne.init(e,t),ie(e._zod,"propValues",()=>t.innerType._zod.propValues),ie(e._zod,"values",()=>t.innerType._zod.values),ie(e._zod,"optin",()=>t.innerType._zod.optin),ie(e._zod,"optout",()=>t.innerType._zod.optout),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(Xp):Xp(o)}});function Xp(e){return e.value=Object.freeze(e.value),e}var Ja=v("$ZodCustom",(e,t)=>{xe.init(e,t),ne.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{let n=r.value,o=t.fn(n);if(o instanceof Promise)return o.then(s=>Yp(s,r,n,e));Yp(o,r,n,e)}});function Yp(e,t,r,n){if(!e){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),t.issues.push(Fi(o))}}var Nb=e=>{let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"NaN":"number";case"object":{if(Array.isArray(e))return"array";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return t},Lb=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function t(n){return e[n]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return n=>{switch(n.code){case"invalid_type":return`Invalid input: expected ${n.expected}, received ${Nb(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${Jo(n.values[0])}`:`Invalid option: expected one of ${Uo(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Too big: expected ${n.origin??"value"} to have ${o}${n.maximum.toString()} ${s.unit??"elements"}`:`Too big: expected ${n.origin??"value"} to be ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Too small: expected ${n.origin} to have ${o}${n.minimum.toString()} ${s.unit}`:`Too small: expected ${n.origin} to be ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Invalid string: must start with "${o.prefix}"`:o.format==="ends_with"?`Invalid string: must end with "${o.suffix}"`:o.format==="includes"?`Invalid string: must include "${o.includes}"`:o.format==="regex"?`Invalid string: must match pattern ${o.pattern}`:`Invalid ${r[o.format]??n.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${n.divisor}`;case"unrecognized_keys":return`Unrecognized key${n.keys.length>1?"s":""}: ${Uo(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 om(){return{localeError:Lb()}}var An=class{constructor(){this._map=new Map,this._idmap=new Map}add(t,...r){let n=r[0];if(this._map.set(t,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,t)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(t){let r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){let r=t._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(t)}}return this._map.get(t)}has(t){return this._map.has(t)}};function sm(){return new An}var Jt=sm();function Fa(e,t){return new e({type:"string",...L(t)})}function Va(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...L(t)})}function Xo(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...L(t)})}function Ba(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...L(t)})}function Ha(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...L(t)})}function Wa(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...L(t)})}function Ga(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...L(t)})}function Ka(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...L(t)})}function Xa(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...L(t)})}function Ya(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...L(t)})}function Qa(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...L(t)})}function ec(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...L(t)})}function tc(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...L(t)})}function rc(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...L(t)})}function nc(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...L(t)})}function oc(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...L(t)})}function sc(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...L(t)})}function ic(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...L(t)})}function ac(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...L(t)})}function cc(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...L(t)})}function uc(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...L(t)})}function dc(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...L(t)})}function lc(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...L(t)})}function im(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...L(t)})}function am(e,t){return new e({type:"string",format:"date",check:"string_format",...L(t)})}function cm(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...L(t)})}function um(e,t){return new e({type:"string",format:"duration",check:"string_format",...L(t)})}function pc(e,t){return new e({type:"number",checks:[],...L(t)})}function mc(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...L(t)})}function fc(e,t){return new e({type:"boolean",...L(t)})}function hc(e,t){return new e({type:"null",...L(t)})}function gc(e){return new e({type:"unknown"})}function yc(e,t){return new e({type:"never",...L(t)})}function Yo(e,t){return new ta({check:"less_than",...L(t),value:e,inclusive:!1})}function Mn(e,t){return new ta({check:"less_than",...L(t),value:e,inclusive:!0})}function Qo(e,t){return new ra({check:"greater_than",...L(t),value:e,inclusive:!1})}function Nn(e,t){return new ra({check:"greater_than",...L(t),value:e,inclusive:!0})}function es(e,t){return new Ip({check:"multiple_of",...L(t),value:e})}function ts(e,t){return new Op({check:"max_length",...L(t),maximum:e})}function Gr(e,t){return new jp({check:"min_length",...L(t),minimum:e})}function rs(e,t){return new Cp({check:"length_equals",...L(t),length:e})}function _c(e,t){return new Ap({check:"string_format",format:"regex",...L(t),pattern:e})}function vc(e){return new Mp({check:"string_format",format:"lowercase",...L(e)})}function bc(e){return new Np({check:"string_format",format:"uppercase",...L(e)})}function wc(e,t){return new Lp({check:"string_format",format:"includes",...L(t),includes:e})}function kc(e,t){return new Dp({check:"string_format",format:"starts_with",...L(t),prefix:e})}function xc(e,t){return new Zp({check:"string_format",format:"ends_with",...L(t),suffix:e})}function xr(e){return new Up({check:"overwrite",tx:e})}function Sc(e){return xr(t=>t.normalize(e))}function $c(){return xr(e=>e.trim())}function zc(){return xr(e=>e.toLowerCase())}function Pc(){return xr(e=>e.toUpperCase())}function dm(e,t,r){return new e({type:"array",element:t,...L(r)})}function Tc(e,t,r){let n=L(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}function Rc(e,t,r){return new e({type:"custom",check:"custom",fn:t,...L(r)})}var ns=class{constructor(t){this.counter=0,this.metadataRegistry=t?.metadata??Jt,this.target=t?.target??"draft-2020-12",this.unrepresentable=t?.unrepresentable??"throw",this.override=t?.override??(()=>{}),this.io=t?.io??"output",this.seen=new Map}process(t,r={path:[],schemaPath:[]}){var n;let o=t._zod.def,s={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},i=this.seen.get(t);if(i)return i.count++,r.schemaPath.includes(t)&&(i.cycle=r.path),i.schema;let a={schema:{},count:1,cycle:void 0,path:r.path};this.seen.set(t,a);let c=t._zod.toJSONSchema?.();if(c)a.schema=c;else{let l={...r,schemaPath:[...r.schemaPath,t],path:r.path},p=t._zod.parent;if(p)a.ref=p,this.process(p,l),this.seen.get(p).isParent=!0;else{let h=a.schema;switch(o.type){case"string":{let f=h;f.type="string";let{minimum:g,maximum:y,format:b,patterns:w,contentEncoding:k}=t._zod.bag;if(typeof g=="number"&&(f.minLength=g),typeof y=="number"&&(f.maxLength=y),b&&(f.format=s[b]??b,f.format===""&&delete f.format),k&&(f.contentEncoding=k),w&&w.size>0){let R=[...w];R.length===1?f.pattern=R[0].source:R.length>1&&(a.schema.allOf=[...R.map(M=>({...this.target==="draft-7"?{type:"string"}:{},pattern:M.source}))])}break}case"number":{let f=h,{minimum:g,maximum:y,format:b,multipleOf:w,exclusiveMaximum:k,exclusiveMinimum:R}=t._zod.bag;typeof b=="string"&&b.includes("int")?f.type="integer":f.type="number",typeof R=="number"&&(f.exclusiveMinimum=R),typeof g=="number"&&(f.minimum=g,typeof R=="number"&&(R>=g?delete f.minimum:delete f.exclusiveMinimum)),typeof k=="number"&&(f.exclusiveMaximum=k),typeof y=="number"&&(f.maximum=y,typeof k=="number"&&(k<=y?delete f.maximum:delete f.exclusiveMaximum)),typeof w=="number"&&(f.multipleOf=w);break}case"boolean":{let f=h;f.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 f=h,{minimum:g,maximum:y}=t._zod.bag;typeof g=="number"&&(f.minItems=g),typeof y=="number"&&(f.maxItems=y),f.type="array",f.items=this.process(o.element,{...l,path:[...l.path,"items"]});break}case"object":{let f=h;f.type="object",f.properties={};let g=o.shape;for(let w in g)f.properties[w]=this.process(g[w],{...l,path:[...l.path,"properties",w]});let y=new Set(Object.keys(g)),b=new Set([...y].filter(w=>{let k=o.shape[w]._zod;return this.io==="input"?k.optin===void 0:k.optout===void 0}));b.size>0&&(f.required=Array.from(b)),o.catchall?._zod.def.type==="never"?f.additionalProperties=!1:o.catchall?o.catchall&&(f.additionalProperties=this.process(o.catchall,{...l,path:[...l.path,"additionalProperties"]})):this.io==="output"&&(f.additionalProperties=!1);break}case"union":{let f=h;f.anyOf=o.options.map((g,y)=>this.process(g,{...l,path:[...l.path,"anyOf",y]}));break}case"intersection":{let f=h,g=this.process(o.left,{...l,path:[...l.path,"allOf",0]}),y=this.process(o.right,{...l,path:[...l.path,"allOf",1]}),b=k=>"allOf"in k&&Object.keys(k).length===1,w=[...b(g)?g.allOf:[g],...b(y)?y.allOf:[y]];f.allOf=w;break}case"tuple":{let f=h;f.type="array";let g=o.items.map((w,k)=>this.process(w,{...l,path:[...l.path,"prefixItems",k]}));if(this.target==="draft-2020-12"?f.prefixItems=g:f.items=g,o.rest){let w=this.process(o.rest,{...l,path:[...l.path,"items"]});this.target==="draft-2020-12"?f.items=w:f.additionalItems=w}o.rest&&(f.items=this.process(o.rest,{...l,path:[...l.path,"items"]}));let{minimum:y,maximum:b}=t._zod.bag;typeof y=="number"&&(f.minItems=y),typeof b=="number"&&(f.maxItems=b);break}case"record":{let f=h;f.type="object",f.propertyNames=this.process(o.keyType,{...l,path:[...l.path,"propertyNames"]}),f.additionalProperties=this.process(o.valueType,{...l,path:[...l.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 f=h,g=Pn(o.entries);g.every(y=>typeof y=="number")&&(f.type="number"),g.every(y=>typeof y=="string")&&(f.type="string"),f.enum=g;break}case"literal":{let f=h,g=[];for(let y of o.values)if(y===void 0){if(this.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof y=="bigint"){if(this.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");g.push(Number(y))}else g.push(y);if(g.length!==0)if(g.length===1){let y=g[0];f.type=y===null?"null":typeof y,f.const=y}else g.every(y=>typeof y=="number")&&(f.type="number"),g.every(y=>typeof y=="string")&&(f.type="string"),g.every(y=>typeof y=="boolean")&&(f.type="string"),g.every(y=>y===null)&&(f.type="null"),f.enum=g;break}case"file":{let f=h,g={type:"string",format:"binary",contentEncoding:"binary"},{minimum:y,maximum:b,mime:w}=t._zod.bag;y!==void 0&&(g.minLength=y),b!==void 0&&(g.maxLength=b),w?w.length===1?(g.contentMediaType=w[0],Object.assign(f,g)):f.anyOf=w.map(k=>({...g,contentMediaType:k})):Object.assign(f,g);break}case"transform":{if(this.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let f=this.process(o.innerType,l);h.anyOf=[f,{type:"null"}];break}case"nonoptional":{this.process(o.innerType,l),a.ref=o.innerType;break}case"success":{let f=h;f.type="boolean";break}case"default":{this.process(o.innerType,l),a.ref=o.innerType,h.default=JSON.parse(JSON.stringify(o.defaultValue));break}case"prefault":{this.process(o.innerType,l),a.ref=o.innerType,this.io==="input"&&(h._prefault=JSON.parse(JSON.stringify(o.defaultValue)));break}case"catch":{this.process(o.innerType,l),a.ref=o.innerType;let f;try{f=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}h.default=f;break}case"nan":{if(this.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let f=h,g=t._zod.pattern;if(!g)throw new Error("Pattern not found in template literal");f.type="string",f.pattern=g.source;break}case"pipe":{let f=this.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;this.process(f,l),a.ref=f;break}case"readonly":{this.process(o.innerType,l),a.ref=o.innerType,h.readOnly=!0;break}case"promise":{this.process(o.innerType,l),a.ref=o.innerType;break}case"optional":{this.process(o.innerType,l),a.ref=o.innerType;break}case"lazy":{let f=t._zod.innerType;this.process(f,l),a.ref=f;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(t);return u&&Object.assign(a.schema,u),this.io==="input"&&_e(t)&&(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(t).schema}emit(t,r){let n={cycles:r?.cycles??"ref",reused:r?.reused??"inline",external:r?.external??void 0},o=this.seen.get(t);if(!o)throw new Error("Unprocessed schema. This is a bug in Zod.");let s=d=>{let l=this.target==="draft-2020-12"?"$defs":"definitions";if(n.external){let g=n.external.registry.get(d[0])?.id,y=n.external.uri??(w=>w);if(g)return{ref:y(g)};let b=d[1].defId??d[1].schema.id??`schema${this.counter++}`;return d[1].defId=b,{defId:b,ref:`${y("__shared")}#/${l}/${b}`}}if(d[1]===o)return{ref:"#"};let h=`#/${l}/`,f=d[1].schema.id??`__schema${this.counter++}`;return{defId:f,ref:h+f}},i=d=>{if(d[1].schema.$ref)return;let l=d[1],{ref:p,defId:h}=s(d);l.def={...l.schema},h&&(l.defId=h);let f=l.schema;for(let g in f)delete f[g];f.$ref=p};if(n.cycles==="throw")for(let d of this.seen.entries()){let l=d[1];if(l.cycle)throw new Error(`Cycle detected: #/${l.cycle?.join("/")}/<root>
|
|
34
|
+
path: iss.path ? [${br(w)}, ...iss.path] : [${br(w)}]
|
|
35
|
+
})));`),p.write(`newResult[${br(w)}] = ${k}.value`)}p.write("payload.value = newResult;"),p.write("return payload;");let b=p.compile();return(w,k)=>b(l,w,k)},o,s=Wr,i=!Uo.jitless,c=i&&Ui.value,u=t.catchall,d;e._zod.parse=(l,p)=>{d??(d=r.value);let h=l.value;if(!s(h))return l.issues.push({expected:"object",code:"invalid_type",input:h,inst:e}),l;let f=[];if(i&&c&&p?.async===!1&&p.jitless!==!0)o||(o=n(t.shape)),l=o(l,p);else{l.value={};let k=d.shape;for(let R of d.keys){let M=k[R],Oe=M._zod.run({value:h[R],issues:[]},p),Ge=M._zod.optin==="optional"&&M._zod.optout==="optional";Oe instanceof Promise?f.push(Oe.then(Dr=>Ge?Bp(Dr,l,R,h):Wo(Dr,l,R))):Ge?Bp(Oe,l,R,h):Wo(Oe,l,R)}}if(!u)return f.length?Promise.all(f).then(()=>l):l;let g=[],y=d.keySet,b=u._zod,w=b.def.type;for(let k of Object.keys(h)){if(y.has(k))continue;if(w==="never"){g.push(k);continue}let R=b.run({value:h[k],issues:[]},p);R instanceof Promise?f.push(R.then(M=>Wo(M,l,k))):Wo(R,l,k)}return g.length&&l.issues.push({code:"unrecognized_keys",keys:g,input:h,inst:e}),f.length?Promise.all(f).then(()=>l):l}});function Hp(e,t,r,n){for(let o of e)if(o.issues.length===0)return t.value=o.value,t;return t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(o=>o.issues.map(s=>it(s,n,Be())))}),t}var Xo=v("$ZodUnion",(e,t)=>{ne.init(e,t),ie(e._zod,"optin",()=>t.options.some(r=>r._zod.optin==="optional")?"optional":void 0),ie(e._zod,"optout",()=>t.options.some(r=>r._zod.optout==="optional")?"optional":void 0),ie(e._zod,"values",()=>{if(t.options.every(r=>r._zod.values))return new Set(t.options.flatMap(r=>Array.from(r._zod.values)))}),ie(e._zod,"pattern",()=>{if(t.options.every(r=>r._zod.pattern)){let r=t.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>In(n.source)).join("|")})$`)}}),e._zod.parse=(r,n)=>{let o=!1,s=[];for(let i of t.options){let a=i._zod.run({value:r.value,issues:[]},n);if(a instanceof Promise)s.push(a),o=!0;else{if(a.issues.length===0)return a;s.push(a)}}return o?Promise.all(s).then(i=>Hp(i,r,e,n)):Hp(s,r,e,n)}}),Ea=v("$ZodDiscriminatedUnion",(e,t)=>{Xo.init(e,t);let r=e._zod.parse;ie(e._zod,"propValues",()=>{let o={};for(let s of t.options){let i=s._zod.propValues;if(!i||Object.keys(i).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(s)}"`);for(let[a,c]of Object.entries(i)){o[a]||(o[a]=new Set);for(let u of c)o[a].add(u)}}return o});let n=Rn(()=>{let o=t.options,s=new Map;for(let i of o){let a=i._zod.propValues[t.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(let c of a){if(s.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);s.set(c,i)}}return s});e._zod.parse=(o,s)=>{let i=o.value;if(!Wr(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:e}),o;let a=n.value.get(i?.[t.discriminator]);return a?a._zod.run(o,s):t.unionFallback?r(o,s):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:i,path:[t.discriminator],inst:e}),o)}}),Ia=v("$ZodIntersection",(e,t)=>{ne.init(e,t),e._zod.parse=(r,n)=>{let o=r.value,s=t.left._zod.run({value:o,issues:[]},n),i=t.right._zod.run({value:o,issues:[]},n);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([c,u])=>Wp(r,c,u)):Wp(r,s,i)}});function oa(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Gr(e)&&Gr(t)){let r=Object.keys(t),n=Object.keys(e).filter(s=>r.indexOf(s)!==-1),o={...e,...t};for(let s of n){let i=oa(e[s],t[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<e.length;n++){let o=e[n],s=t[n],i=oa(o,s);if(!i.valid)return{valid:!1,mergeErrorPath:[n,...i.mergeErrorPath]};r.push(i.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function Wp(e,t,r){if(t.issues.length&&e.issues.push(...t.issues),r.issues.length&&e.issues.push(...r.issues),wr(e))return e;let n=oa(t.value,r.value);if(!n.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(n.mergeErrorPath)}`);return e.value=n.data,e}var Oa=v("$ZodRecord",(e,t)=>{ne.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!Gr(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),r;let s=[];if(t.keyType._zod.values){let i=t.keyType._zod.values;r.value={};for(let c of i)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let u=t.valueType._zod.run({value:o[c],issues:[]},n);u instanceof Promise?s.push(u.then(d=>{d.issues.length&&r.issues.push(..._t(c,d.issues)),r.value[c]=d.value})):(u.issues.length&&r.issues.push(..._t(c,u.issues)),r.value[c]=u.value)}let a;for(let c in o)i.has(c)||(a=a??[],a.push(c));a&&a.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:a})}else{r.value={};for(let i of Reflect.ownKeys(o)){if(i==="__proto__")continue;let a=t.keyType._zod.run({value:i,issues:[]},n);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){r.issues.push({origin:"record",code:"invalid_key",issues:a.issues.map(u=>it(u,n,Be())),input:i,path:[i],inst:e}),r.value[a.value]=a.value;continue}let c=t.valueType._zod.run({value:o[i],issues:[]},n);c instanceof Promise?s.push(c.then(u=>{u.issues.length&&r.issues.push(..._t(i,u.issues)),r.value[a.value]=u.value})):(c.issues.length&&r.issues.push(..._t(i,c.issues)),r.value[a.value]=c.value)}}return s.length?Promise.all(s).then(()=>r):r}});var ja=v("$ZodEnum",(e,t)=>{ne.init(e,t);let r=Tn(t.entries);e._zod.values=new Set(r),e._zod.pattern=new RegExp(`^(${r.filter(n=>qi.has(typeof n)).map(n=>typeof n=="string"?Jt(n):n.toString()).join("|")})$`),e._zod.parse=(n,o)=>{let s=n.value;return e._zod.values.has(s)||n.issues.push({code:"invalid_value",values:r,input:s,inst:e}),n}}),Ca=v("$ZodLiteral",(e,t)=>{ne.init(e,t),e._zod.values=new Set(t.values),e._zod.pattern=new RegExp(`^(${t.values.map(r=>typeof r=="string"?Jt(r):r?r.toString():String(r)).join("|")})$`),e._zod.parse=(r,n)=>{let o=r.value;return e._zod.values.has(o)||r.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),r}});var Aa=v("$ZodTransform",(e,t)=>{ne.init(e,t),e._zod.parse=(r,n)=>{let o=t.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(i=>(r.value=i,r));if(o instanceof Promise)throw new It;return r.value=o,r}}),Ma=v("$ZodOptional",(e,t)=>{ne.init(e,t),e._zod.optin="optional",e._zod.optout="optional",ie(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),ie(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${In(r.source)})?$`):void 0}),e._zod.parse=(r,n)=>t.innerType._zod.optin==="optional"?t.innerType._zod.run(r,n):r.value===void 0?r:t.innerType._zod.run(r,n)}),Na=v("$ZodNullable",(e,t)=>{ne.init(e,t),ie(e._zod,"optin",()=>t.innerType._zod.optin),ie(e._zod,"optout",()=>t.innerType._zod.optout),ie(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${In(r.source)}|null)$`):void 0}),ie(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>r.value===null?r:t.innerType._zod.run(r,n)}),La=v("$ZodDefault",(e,t)=>{ne.init(e,t),e._zod.optin="optional",ie(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=t.defaultValue,r;let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>Gp(s,t)):Gp(o,t)}});function Gp(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Da=v("$ZodPrefault",(e,t)=>{ne.init(e,t),e._zod.optin="optional",ie(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>(r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,n))}),Za=v("$ZodNonOptional",(e,t)=>{ne.init(e,t),ie(e._zod,"values",()=>{let r=t.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>Kp(s,e)):Kp(o,e)}});function Kp(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var Ua=v("$ZodCatch",(e,t)=>{ne.init(e,t),e._zod.optin="optional",ie(e._zod,"optout",()=>t.innerType._zod.optout),ie(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>(r.value=s.value,s.issues.length&&(r.value=t.catchValue({...r,error:{issues:s.issues.map(i=>it(i,n,Be()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=t.catchValue({...r,error:{issues:o.issues.map(s=>it(s,n,Be()))},input:r.value}),r.issues=[]),r)}});var qa=v("$ZodPipe",(e,t)=>{ne.init(e,t),ie(e._zod,"values",()=>t.in._zod.values),ie(e._zod,"optin",()=>t.in._zod.optin),ie(e._zod,"optout",()=>t.out._zod.optout),e._zod.parse=(r,n)=>{let o=t.in._zod.run(r,n);return o instanceof Promise?o.then(s=>Xp(s,t,n)):Xp(o,t,n)}});function Xp(e,t,r){return wr(e)?e:t.out._zod.run({value:e.value,issues:e.issues},r)}var Ja=v("$ZodReadonly",(e,t)=>{ne.init(e,t),ie(e._zod,"propValues",()=>t.innerType._zod.propValues),ie(e._zod,"values",()=>t.innerType._zod.values),ie(e._zod,"optin",()=>t.innerType._zod.optin),ie(e._zod,"optout",()=>t.innerType._zod.optout),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(Yp):Yp(o)}});function Yp(e){return e.value=Object.freeze(e.value),e}var Fa=v("$ZodCustom",(e,t)=>{xe.init(e,t),ne.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{let n=r.value,o=t.fn(n);if(o instanceof Promise)return o.then(s=>Qp(s,r,n,e));Qp(o,r,n,e)}});function Qp(e,t,r,n){if(!e){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),t.issues.push(Vi(o))}}var Ub=e=>{let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"NaN":"number";case"object":{if(Array.isArray(e))return"array";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return t},qb=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function t(n){return e[n]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return n=>{switch(n.code){case"invalid_type":return`Invalid input: expected ${n.expected}, received ${Ub(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${Fo(n.values[0])}`:`Invalid option: expected one of ${qo(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",s=t(n.origin);return s?`Too big: expected ${n.origin??"value"} to have ${o}${n.maximum.toString()} ${s.unit??"elements"}`:`Too big: expected ${n.origin??"value"} to be ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",s=t(n.origin);return s?`Too small: expected ${n.origin} to have ${o}${n.minimum.toString()} ${s.unit}`:`Too small: expected ${n.origin} to be ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Invalid string: must start with "${o.prefix}"`:o.format==="ends_with"?`Invalid string: must end with "${o.suffix}"`:o.format==="includes"?`Invalid string: must include "${o.includes}"`:o.format==="regex"?`Invalid string: must match pattern ${o.pattern}`:`Invalid ${r[o.format]??n.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${n.divisor}`;case"unrecognized_keys":return`Unrecognized key${n.keys.length>1?"s":""}: ${qo(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 sm(){return{localeError:qb()}}var Mn=class{constructor(){this._map=new Map,this._idmap=new Map}add(t,...r){let n=r[0];if(this._map.set(t,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,t)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(t){let r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){let r=t._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(t)}}return this._map.get(t)}has(t){return this._map.has(t)}};function im(){return new Mn}var Ft=im();function Va(e,t){return new e({type:"string",...L(t)})}function Ba(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...L(t)})}function Yo(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...L(t)})}function Ha(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...L(t)})}function Wa(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...L(t)})}function Ga(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...L(t)})}function Ka(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...L(t)})}function Xa(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...L(t)})}function Ya(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...L(t)})}function Qa(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...L(t)})}function ec(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...L(t)})}function tc(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...L(t)})}function rc(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...L(t)})}function nc(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...L(t)})}function oc(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...L(t)})}function sc(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...L(t)})}function ic(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...L(t)})}function ac(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...L(t)})}function cc(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...L(t)})}function uc(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...L(t)})}function dc(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...L(t)})}function lc(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...L(t)})}function pc(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...L(t)})}function am(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...L(t)})}function cm(e,t){return new e({type:"string",format:"date",check:"string_format",...L(t)})}function um(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...L(t)})}function dm(e,t){return new e({type:"string",format:"duration",check:"string_format",...L(t)})}function mc(e,t){return new e({type:"number",checks:[],...L(t)})}function fc(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...L(t)})}function hc(e,t){return new e({type:"boolean",...L(t)})}function gc(e,t){return new e({type:"null",...L(t)})}function yc(e){return new e({type:"unknown"})}function _c(e,t){return new e({type:"never",...L(t)})}function Qo(e,t){return new ra({check:"less_than",...L(t),value:e,inclusive:!1})}function Nn(e,t){return new ra({check:"less_than",...L(t),value:e,inclusive:!0})}function es(e,t){return new na({check:"greater_than",...L(t),value:e,inclusive:!1})}function Ln(e,t){return new na({check:"greater_than",...L(t),value:e,inclusive:!0})}function ts(e,t){return new Ip({check:"multiple_of",...L(t),value:e})}function rs(e,t){return new jp({check:"max_length",...L(t),maximum:e})}function Kr(e,t){return new Cp({check:"min_length",...L(t),minimum:e})}function ns(e,t){return new Ap({check:"length_equals",...L(t),length:e})}function vc(e,t){return new Mp({check:"string_format",format:"regex",...L(t),pattern:e})}function bc(e){return new Np({check:"string_format",format:"lowercase",...L(e)})}function wc(e){return new Lp({check:"string_format",format:"uppercase",...L(e)})}function kc(e,t){return new Dp({check:"string_format",format:"includes",...L(t),includes:e})}function xc(e,t){return new Zp({check:"string_format",format:"starts_with",...L(t),prefix:e})}function Sc(e,t){return new Up({check:"string_format",format:"ends_with",...L(t),suffix:e})}function Sr(e){return new qp({check:"overwrite",tx:e})}function $c(e){return Sr(t=>t.normalize(e))}function zc(){return Sr(e=>e.trim())}function Pc(){return Sr(e=>e.toLowerCase())}function Tc(){return Sr(e=>e.toUpperCase())}function lm(e,t,r){return new e({type:"array",element:t,...L(r)})}function Rc(e,t,r){let n=L(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}function Ec(e,t,r){return new e({type:"custom",check:"custom",fn:t,...L(r)})}var os=class{constructor(t){this.counter=0,this.metadataRegistry=t?.metadata??Ft,this.target=t?.target??"draft-2020-12",this.unrepresentable=t?.unrepresentable??"throw",this.override=t?.override??(()=>{}),this.io=t?.io??"output",this.seen=new Map}process(t,r={path:[],schemaPath:[]}){var n;let o=t._zod.def,s={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},i=this.seen.get(t);if(i)return i.count++,r.schemaPath.includes(t)&&(i.cycle=r.path),i.schema;let a={schema:{},count:1,cycle:void 0,path:r.path};this.seen.set(t,a);let c=t._zod.toJSONSchema?.();if(c)a.schema=c;else{let l={...r,schemaPath:[...r.schemaPath,t],path:r.path},p=t._zod.parent;if(p)a.ref=p,this.process(p,l),this.seen.get(p).isParent=!0;else{let h=a.schema;switch(o.type){case"string":{let f=h;f.type="string";let{minimum:g,maximum:y,format:b,patterns:w,contentEncoding:k}=t._zod.bag;if(typeof g=="number"&&(f.minLength=g),typeof y=="number"&&(f.maxLength=y),b&&(f.format=s[b]??b,f.format===""&&delete f.format),k&&(f.contentEncoding=k),w&&w.size>0){let R=[...w];R.length===1?f.pattern=R[0].source:R.length>1&&(a.schema.allOf=[...R.map(M=>({...this.target==="draft-7"?{type:"string"}:{},pattern:M.source}))])}break}case"number":{let f=h,{minimum:g,maximum:y,format:b,multipleOf:w,exclusiveMaximum:k,exclusiveMinimum:R}=t._zod.bag;typeof b=="string"&&b.includes("int")?f.type="integer":f.type="number",typeof R=="number"&&(f.exclusiveMinimum=R),typeof g=="number"&&(f.minimum=g,typeof R=="number"&&(R>=g?delete f.minimum:delete f.exclusiveMinimum)),typeof k=="number"&&(f.exclusiveMaximum=k),typeof y=="number"&&(f.maximum=y,typeof k=="number"&&(k<=y?delete f.maximum:delete f.exclusiveMaximum)),typeof w=="number"&&(f.multipleOf=w);break}case"boolean":{let f=h;f.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 f=h,{minimum:g,maximum:y}=t._zod.bag;typeof g=="number"&&(f.minItems=g),typeof y=="number"&&(f.maxItems=y),f.type="array",f.items=this.process(o.element,{...l,path:[...l.path,"items"]});break}case"object":{let f=h;f.type="object",f.properties={};let g=o.shape;for(let w in g)f.properties[w]=this.process(g[w],{...l,path:[...l.path,"properties",w]});let y=new Set(Object.keys(g)),b=new Set([...y].filter(w=>{let k=o.shape[w]._zod;return this.io==="input"?k.optin===void 0:k.optout===void 0}));b.size>0&&(f.required=Array.from(b)),o.catchall?._zod.def.type==="never"?f.additionalProperties=!1:o.catchall?o.catchall&&(f.additionalProperties=this.process(o.catchall,{...l,path:[...l.path,"additionalProperties"]})):this.io==="output"&&(f.additionalProperties=!1);break}case"union":{let f=h;f.anyOf=o.options.map((g,y)=>this.process(g,{...l,path:[...l.path,"anyOf",y]}));break}case"intersection":{let f=h,g=this.process(o.left,{...l,path:[...l.path,"allOf",0]}),y=this.process(o.right,{...l,path:[...l.path,"allOf",1]}),b=k=>"allOf"in k&&Object.keys(k).length===1,w=[...b(g)?g.allOf:[g],...b(y)?y.allOf:[y]];f.allOf=w;break}case"tuple":{let f=h;f.type="array";let g=o.items.map((w,k)=>this.process(w,{...l,path:[...l.path,"prefixItems",k]}));if(this.target==="draft-2020-12"?f.prefixItems=g:f.items=g,o.rest){let w=this.process(o.rest,{...l,path:[...l.path,"items"]});this.target==="draft-2020-12"?f.items=w:f.additionalItems=w}o.rest&&(f.items=this.process(o.rest,{...l,path:[...l.path,"items"]}));let{minimum:y,maximum:b}=t._zod.bag;typeof y=="number"&&(f.minItems=y),typeof b=="number"&&(f.maxItems=b);break}case"record":{let f=h;f.type="object",f.propertyNames=this.process(o.keyType,{...l,path:[...l.path,"propertyNames"]}),f.additionalProperties=this.process(o.valueType,{...l,path:[...l.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 f=h,g=Tn(o.entries);g.every(y=>typeof y=="number")&&(f.type="number"),g.every(y=>typeof y=="string")&&(f.type="string"),f.enum=g;break}case"literal":{let f=h,g=[];for(let y of o.values)if(y===void 0){if(this.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof y=="bigint"){if(this.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");g.push(Number(y))}else g.push(y);if(g.length!==0)if(g.length===1){let y=g[0];f.type=y===null?"null":typeof y,f.const=y}else g.every(y=>typeof y=="number")&&(f.type="number"),g.every(y=>typeof y=="string")&&(f.type="string"),g.every(y=>typeof y=="boolean")&&(f.type="string"),g.every(y=>y===null)&&(f.type="null"),f.enum=g;break}case"file":{let f=h,g={type:"string",format:"binary",contentEncoding:"binary"},{minimum:y,maximum:b,mime:w}=t._zod.bag;y!==void 0&&(g.minLength=y),b!==void 0&&(g.maxLength=b),w?w.length===1?(g.contentMediaType=w[0],Object.assign(f,g)):f.anyOf=w.map(k=>({...g,contentMediaType:k})):Object.assign(f,g);break}case"transform":{if(this.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let f=this.process(o.innerType,l);h.anyOf=[f,{type:"null"}];break}case"nonoptional":{this.process(o.innerType,l),a.ref=o.innerType;break}case"success":{let f=h;f.type="boolean";break}case"default":{this.process(o.innerType,l),a.ref=o.innerType,h.default=JSON.parse(JSON.stringify(o.defaultValue));break}case"prefault":{this.process(o.innerType,l),a.ref=o.innerType,this.io==="input"&&(h._prefault=JSON.parse(JSON.stringify(o.defaultValue)));break}case"catch":{this.process(o.innerType,l),a.ref=o.innerType;let f;try{f=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}h.default=f;break}case"nan":{if(this.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let f=h,g=t._zod.pattern;if(!g)throw new Error("Pattern not found in template literal");f.type="string",f.pattern=g.source;break}case"pipe":{let f=this.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;this.process(f,l),a.ref=f;break}case"readonly":{this.process(o.innerType,l),a.ref=o.innerType,h.readOnly=!0;break}case"promise":{this.process(o.innerType,l),a.ref=o.innerType;break}case"optional":{this.process(o.innerType,l),a.ref=o.innerType;break}case"lazy":{let f=t._zod.innerType;this.process(f,l),a.ref=f;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(t);return u&&Object.assign(a.schema,u),this.io==="input"&&_e(t)&&(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(t).schema}emit(t,r){let n={cycles:r?.cycles??"ref",reused:r?.reused??"inline",external:r?.external??void 0},o=this.seen.get(t);if(!o)throw new Error("Unprocessed schema. This is a bug in Zod.");let s=d=>{let l=this.target==="draft-2020-12"?"$defs":"definitions";if(n.external){let g=n.external.registry.get(d[0])?.id,y=n.external.uri??(w=>w);if(g)return{ref:y(g)};let b=d[1].defId??d[1].schema.id??`schema${this.counter++}`;return d[1].defId=b,{defId:b,ref:`${y("__shared")}#/${l}/${b}`}}if(d[1]===o)return{ref:"#"};let h=`#/${l}/`,f=d[1].schema.id??`__schema${this.counter++}`;return{defId:f,ref:h+f}},i=d=>{if(d[1].schema.$ref)return;let l=d[1],{ref:p,defId:h}=s(d);l.def={...l.schema},h&&(l.defId=h);let f=l.schema;for(let g in f)delete f[g];f.$ref=p};if(n.cycles==="throw")for(let d of this.seen.entries()){let l=d[1];if(l.cycle)throw new Error(`Cycle detected: #/${l.cycle?.join("/")}/<root>
|
|
36
36
|
|
|
37
|
-
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let d of this.seen.entries()){let l=d[1];if(t===d[0]){i(d);continue}if(n.external){let h=n.external.registry.get(d[0])?.id;if(t!==d[0]&&h){i(d);continue}}if(this.metadataRegistry.get(d[0])?.id){i(d);continue}if(l.cycle){i(d);continue}if(l.count>1&&n.reused==="ref"){i(d);continue}}let a=(d,l)=>{let p=this.seen.get(d),h=p.def??p.schema,f={...h};if(p.ref===null)return;let g=p.ref;if(p.ref=null,g){a(g,l);let y=this.seen.get(g).schema;y.$ref&&l.target==="draft-7"?(h.allOf=h.allOf??[],h.allOf.push(y)):(Object.assign(h,y),Object.assign(h,f))}p.isParent||this.override({zodSchema:d,jsonSchema:h,path:p.path??[]})};for(let d of[...this.seen.entries()].reverse())a(d[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 d=n.external.registry.get(t)?.id;if(!d)throw new Error("Schema is missing an `id` property");c.$id=n.external.uri(d)}Object.assign(c,o.def);let u=n.external?.defs??{};for(let d of this.seen.entries()){let l=d[1];l.def&&l.defId&&(u[l.defId]=l.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 Ic(e,t){if(e instanceof An){let n=new ns(t),o={};for(let a of e._idmap.entries()){let[c,u]=a;n.process(u)}let s={},i={registry:e,uri:t?.uri,defs:o};for(let a of e._idmap.entries()){let[c,u]=a;s[c]=n.emit(u,{...t,external:i})}if(Object.keys(o).length>0){let a=n.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[a]:o}}return{schemas:s}}let r=new ns(t);return r.process(e),r.emit(e,t)}function _e(e,t){let r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);let o=e._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 _e(o.element,r);case"object":{for(let s in o.shape)if(_e(o.shape[s],r))return!0;return!1}case"union":{for(let s of o.options)if(_e(s,r))return!0;return!1}case"intersection":return _e(o.left,r)||_e(o.right,r);case"tuple":{for(let s of o.items)if(_e(s,r))return!0;return!!(o.rest&&_e(o.rest,r))}case"record":return _e(o.keyType,r)||_e(o.valueType,r);case"map":return _e(o.keyType,r)||_e(o.valueType,r);case"set":return _e(o.valueType,r);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return _e(o.innerType,r);case"lazy":return _e(o.getter(),r);case"default":return _e(o.innerType,r);case"prefault":return _e(o.innerType,r);case"custom":return!1;case"transform":return!0;case"pipe":return _e(o.in,r)||_e(o.out,r);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${o.type}`)}var vw=v("ZodMiniType",(e,t)=>{if(!e._zod)throw new Error("Uninitialized schema in ZodMiniType.");ne.init(e,t),e.def=t,e.parse=(r,n)=>Wi(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>wr(e,r,n),e.parseAsync=async(r,n)=>Ki(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>kr(e,r,n),e.check=(...r)=>e.clone({...t,checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),e.clone=(r,n)=>He(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e))});var bw=v("ZodMiniObject",(e,t)=>{Go.init(e,t),vw.init(e,t),W.defineLazy(e,"shape",()=>t.shape)});function Ec(e,t){let r={type:"object",get shape(){return W.assignProp(this,"shape",{...e}),this.shape},...W.normalizeParams(t)};return new bw(r)}function Ye(e){return!!e._zod}function $r(e){let t=Object.values(e);if(t.length===0)return Ec({});let r=t.every(Ye),n=t.every(o=>!Ye(o));if(r)return Ec(e);if(n)return Ci(e);throw new Error("Mixed Zod versions detected in object shape.")}function Ft(e,t){return Ye(e)?wr(e,t):e.safeParse(t)}async function os(e,t){return Ye(e)?await kr(e,t):await e.safeParseAsync(t)}function Vt(e){if(!e)return;let t;if(Ye(e)?t=e._zod?.def?.shape:t=e.shape,!!t){if(typeof t=="function")try{return t()}catch{return}return t}}function Kr(e){if(e){if(typeof e=="object"){let t=e,r=e;if(!t._def&&!r._zod){let n=Object.values(e);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 $r(e)}}if(Ye(e)){let r=e._zod?.def;if(r&&(r.type==="object"||r.shape!==void 0))return e}else if(e.shape!==void 0)return e}}function ss(e){if(e&&typeof e=="object"){if("message"in e&&typeof e.message=="string")return e.message;if("issues"in e&&Array.isArray(e.issues)&&e.issues.length>0){let t=e.issues[0];if(t&&typeof t=="object"&&"message"in t)return String(t.message)}try{return JSON.stringify(e)}catch{return String(e)}}return String(e)}function pm(e){return e.description}function mm(e){if(Ye(e))return e._zod?.def?.type==="optional";let t=e;return typeof e.isOptional=="function"?e.isOptional():t._def?.typeName==="ZodOptional"}function is(e){if(Ye(e)){let s=e._zod?.def;if(s){if(s.value!==void 0)return s.value;if(Array.isArray(s.values)&&s.values.length>0)return s.values[0]}}let r=e._def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}let n=e.value;if(n!==void 0)return n}var Ln={};Ii(Ln,{ZodISODate:()=>hm,ZodISODateTime:()=>fm,ZodISODuration:()=>ym,ZodISOTime:()=>gm,date:()=>jc,datetime:()=>Oc,duration:()=>Ac,time:()=>Cc});var fm=v("ZodISODateTime",(e,t)=>{Qp.init(e,t),pe.init(e,t)});function Oc(e){return im(fm,e)}var hm=v("ZodISODate",(e,t)=>{em.init(e,t),pe.init(e,t)});function jc(e){return am(hm,e)}var gm=v("ZodISOTime",(e,t)=>{tm.init(e,t),pe.init(e,t)});function Cc(e){return cm(gm,e)}var ym=v("ZodISODuration",(e,t)=>{rm.init(e,t),pe.init(e,t)});function Ac(e){return um(ym,e)}var _m=(e,t)=>{Fo.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>Bi(e,r)},flatten:{value:r=>Vi(e,r)},addIssue:{value:r=>e.issues.push(r)},addIssues:{value:r=>e.issues.push(...r)},isEmpty:{get(){return e.issues.length===0}}})},FE=v("ZodError",_m),Dn=v("ZodError",_m,{Parent:Error});var vm=Hi(Dn),bm=Gi(Dn),wm=Xi(Dn),km=Yi(Dn);var ge=v("ZodType",(e,t)=>(ne.init(e,t),e.def=t,Object.defineProperty(e,"_def",{value:t}),e.check=(...r)=>e.clone({...t,checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),e.clone=(r,n)=>He(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e)),e.parse=(r,n)=>vm(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>wm(e,r,n),e.parseAsync=async(r,n)=>bm(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>km(e,r,n),e.spa=e.safeParseAsync,e.refine=(r,n)=>e.check(yk(r,n)),e.superRefine=r=>e.check(_k(r)),e.overwrite=r=>e.check(xr(r)),e.optional=()=>fe(e),e.nullable=()=>$m(e),e.nullish=()=>fe($m(e)),e.nonoptional=r=>dk(e,r),e.array=()=>G(e),e.or=r=>ue([e,r]),e.and=r=>cs(e,r),e.transform=r=>Nc(e,Em(r)),e.default=r=>ak(e,r),e.prefault=r=>uk(e,r),e.catch=r=>pk(e,r),e.pipe=r=>Nc(e,r),e.readonly=()=>hk(e),e.describe=r=>{let n=e.clone();return Jt.add(n,{description:r}),n},Object.defineProperty(e,"description",{get(){return Jt.get(e)?.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return Jt.get(e);let n=e.clone();return Jt.add(n,r[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),zm=v("_ZodString",(e,t)=>{Cn.init(e,t),ge.init(e,t);let r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...n)=>e.check(_c(...n)),e.includes=(...n)=>e.check(wc(...n)),e.startsWith=(...n)=>e.check(kc(...n)),e.endsWith=(...n)=>e.check(xc(...n)),e.min=(...n)=>e.check(Gr(...n)),e.max=(...n)=>e.check(ts(...n)),e.length=(...n)=>e.check(rs(...n)),e.nonempty=(...n)=>e.check(Gr(1,...n)),e.lowercase=n=>e.check(vc(n)),e.uppercase=n=>e.check(bc(n)),e.trim=()=>e.check($c()),e.normalize=(...n)=>e.check(Sc(...n)),e.toLowerCase=()=>e.check(zc()),e.toUpperCase=()=>e.check(Pc())}),Rw=v("ZodString",(e,t)=>{Cn.init(e,t),zm.init(e,t),e.email=r=>e.check(Va(Iw,r)),e.url=r=>e.check(Ka(Ew,r)),e.jwt=r=>e.check(lc(Bw,r)),e.emoji=r=>e.check(Xa(Ow,r)),e.guid=r=>e.check(Xo(xm,r)),e.uuid=r=>e.check(Ba(as,r)),e.uuidv4=r=>e.check(Ha(as,r)),e.uuidv6=r=>e.check(Wa(as,r)),e.uuidv7=r=>e.check(Ga(as,r)),e.nanoid=r=>e.check(Ya(jw,r)),e.guid=r=>e.check(Xo(xm,r)),e.cuid=r=>e.check(Qa(Cw,r)),e.cuid2=r=>e.check(ec(Aw,r)),e.ulid=r=>e.check(tc(Mw,r)),e.base64=r=>e.check(cc(Jw,r)),e.base64url=r=>e.check(uc(Fw,r)),e.xid=r=>e.check(rc(Nw,r)),e.ksuid=r=>e.check(nc(Lw,r)),e.ipv4=r=>e.check(oc(Dw,r)),e.ipv6=r=>e.check(sc(Zw,r)),e.cidrv4=r=>e.check(ic(Uw,r)),e.cidrv6=r=>e.check(ac(qw,r)),e.e164=r=>e.check(dc(Vw,r)),e.datetime=r=>e.check(Oc(r)),e.date=r=>e.check(jc(r)),e.time=r=>e.check(Cc(r)),e.duration=r=>e.check(Ac(r))});function _(e){return Fa(Rw,e)}var pe=v("ZodStringFormat",(e,t)=>{ae.init(e,t),zm.init(e,t)}),Iw=v("ZodEmail",(e,t)=>{ia.init(e,t),pe.init(e,t)});var xm=v("ZodGUID",(e,t)=>{oa.init(e,t),pe.init(e,t)});var as=v("ZodUUID",(e,t)=>{sa.init(e,t),pe.init(e,t)});var Ew=v("ZodURL",(e,t)=>{aa.init(e,t),pe.init(e,t)});var Ow=v("ZodEmoji",(e,t)=>{ca.init(e,t),pe.init(e,t)});var jw=v("ZodNanoID",(e,t)=>{ua.init(e,t),pe.init(e,t)});var Cw=v("ZodCUID",(e,t)=>{da.init(e,t),pe.init(e,t)});var Aw=v("ZodCUID2",(e,t)=>{la.init(e,t),pe.init(e,t)});var Mw=v("ZodULID",(e,t)=>{pa.init(e,t),pe.init(e,t)});var Nw=v("ZodXID",(e,t)=>{ma.init(e,t),pe.init(e,t)});var Lw=v("ZodKSUID",(e,t)=>{fa.init(e,t),pe.init(e,t)});var Dw=v("ZodIPv4",(e,t)=>{ha.init(e,t),pe.init(e,t)});var Zw=v("ZodIPv6",(e,t)=>{ga.init(e,t),pe.init(e,t)});var Uw=v("ZodCIDRv4",(e,t)=>{ya.init(e,t),pe.init(e,t)});var qw=v("ZodCIDRv6",(e,t)=>{_a.init(e,t),pe.init(e,t)});var Jw=v("ZodBase64",(e,t)=>{va.init(e,t),pe.init(e,t)});var Fw=v("ZodBase64URL",(e,t)=>{ba.init(e,t),pe.init(e,t)});var Vw=v("ZodE164",(e,t)=>{wa.init(e,t),pe.init(e,t)});var Bw=v("ZodJWT",(e,t)=>{ka.init(e,t),pe.init(e,t)});var Pm=v("ZodNumber",(e,t)=>{Wo.init(e,t),ge.init(e,t),e.gt=(n,o)=>e.check(Qo(n,o)),e.gte=(n,o)=>e.check(Nn(n,o)),e.min=(n,o)=>e.check(Nn(n,o)),e.lt=(n,o)=>e.check(Yo(n,o)),e.lte=(n,o)=>e.check(Mn(n,o)),e.max=(n,o)=>e.check(Mn(n,o)),e.int=n=>e.check(Sm(n)),e.safe=n=>e.check(Sm(n)),e.positive=n=>e.check(Qo(0,n)),e.nonnegative=n=>e.check(Nn(0,n)),e.negative=n=>e.check(Yo(0,n)),e.nonpositive=n=>e.check(Mn(0,n)),e.multipleOf=(n,o)=>e.check(es(n,o)),e.step=(n,o)=>e.check(es(n,o)),e.finite=()=>e;let r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function te(e){return pc(Pm,e)}var Hw=v("ZodNumberFormat",(e,t)=>{xa.init(e,t),Pm.init(e,t)});function Sm(e){return mc(Hw,e)}var Ww=v("ZodBoolean",(e,t)=>{Sa.init(e,t),ge.init(e,t)});function be(e){return fc(Ww,e)}var Gw=v("ZodNull",(e,t)=>{$a.init(e,t),ge.init(e,t)});function Tm(e){return hc(Gw,e)}var Kw=v("ZodUnknown",(e,t)=>{za.init(e,t),ge.init(e,t)});function me(){return gc(Kw)}var Xw=v("ZodNever",(e,t)=>{Pa.init(e,t),ge.init(e,t)});function Yw(e){return yc(Xw,e)}var Qw=v("ZodArray",(e,t)=>{Ta.init(e,t),ge.init(e,t),e.element=t.element,e.min=(r,n)=>e.check(Gr(r,n)),e.nonempty=r=>e.check(Gr(1,r)),e.max=(r,n)=>e.check(ts(r,n)),e.length=(r,n)=>e.check(rs(r,n)),e.unwrap=()=>e.element});function G(e,t){return dm(Qw,e,t)}var Rm=v("ZodObject",(e,t)=>{Go.init(e,t),ge.init(e,t),W.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>Ze(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:me()}),e.loose=()=>e.clone({...e._zod.def,catchall:me()}),e.strict=()=>e.clone({...e._zod.def,catchall:Yw()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>W.extend(e,r),e.merge=r=>W.merge(e,r),e.pick=r=>W.pick(e,r),e.omit=r=>W.omit(e,r),e.partial=(...r)=>W.partial(Om,e,r[0]),e.required=(...r)=>W.required(jm,e,r[0])});function T(e,t){let r={type:"object",get shape(){return W.assignProp(this,"shape",{...e}),this.shape},...W.normalizeParams(t)};return new Rm(r)}function je(e,t){return new Rm({type:"object",get shape(){return W.assignProp(this,"shape",{...e}),this.shape},catchall:me(),...W.normalizeParams(t)})}var Im=v("ZodUnion",(e,t)=>{Ko.init(e,t),ge.init(e,t),e.options=t.options});function ue(e,t){return new Im({type:"union",options:e,...W.normalizeParams(t)})}var ek=v("ZodDiscriminatedUnion",(e,t)=>{Im.init(e,t),Ra.init(e,t)});function Lc(e,t,r){return new ek({type:"union",options:t,discriminator:e,...W.normalizeParams(r)})}var tk=v("ZodIntersection",(e,t)=>{Ia.init(e,t),ge.init(e,t)});function cs(e,t){return new tk({type:"intersection",left:e,right:t})}var rk=v("ZodRecord",(e,t)=>{Ea.init(e,t),ge.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function ce(e,t,r){return new rk({type:"record",keyType:e,valueType:t,...W.normalizeParams(r)})}var Mc=v("ZodEnum",(e,t)=>{Oa.init(e,t),ge.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);let r=new Set(Object.keys(t.entries));e.extract=(n,o)=>{let s={};for(let i of n)if(r.has(i))s[i]=t.entries[i];else throw new Error(`Key ${i} not found in enum`);return new Mc({...t,checks:[],...W.normalizeParams(o),entries:s})},e.exclude=(n,o)=>{let s={...t.entries};for(let i of n)if(r.has(i))delete s[i];else throw new Error(`Key ${i} not found in enum`);return new Mc({...t,checks:[],...W.normalizeParams(o),entries:s})}});function Ze(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new Mc({type:"enum",entries:r,...W.normalizeParams(t)})}var nk=v("ZodLiteral",(e,t)=>{ja.init(e,t),ge.init(e,t),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function j(e,t){return new nk({type:"literal",values:Array.isArray(e)?e:[e],...W.normalizeParams(t)})}var ok=v("ZodTransform",(e,t)=>{Ca.init(e,t),ge.init(e,t),e._zod.parse=(r,n)=>{r.addIssue=s=>{if(typeof s=="string")r.issues.push(W.issue(s,r.value,t));else{let i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=e),i.continue??(i.continue=!0),r.issues.push(W.issue(i))}};let o=t.transform(r.value,r);return o instanceof Promise?o.then(s=>(r.value=s,r)):(r.value=o,r)}});function Em(e){return new ok({type:"transform",transform:e})}var Om=v("ZodOptional",(e,t)=>{Aa.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType});function fe(e){return new Om({type:"optional",innerType:e})}var sk=v("ZodNullable",(e,t)=>{Ma.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType});function $m(e){return new sk({type:"nullable",innerType:e})}var ik=v("ZodDefault",(e,t)=>{Na.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function ak(e,t){return new ik({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var ck=v("ZodPrefault",(e,t)=>{La.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType});function uk(e,t){return new ck({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var jm=v("ZodNonOptional",(e,t)=>{Da.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType});function dk(e,t){return new jm({type:"nonoptional",innerType:e,...W.normalizeParams(t)})}var lk=v("ZodCatch",(e,t)=>{Za.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function pk(e,t){return new lk({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var mk=v("ZodPipe",(e,t)=>{Ua.init(e,t),ge.init(e,t),e.in=t.in,e.out=t.out});function Nc(e,t){return new mk({type:"pipe",in:e,out:t})}var fk=v("ZodReadonly",(e,t)=>{qa.init(e,t),ge.init(e,t)});function hk(e){return new fk({type:"readonly",innerType:e})}var Cm=v("ZodCustom",(e,t)=>{Ja.init(e,t),ge.init(e,t)});function gk(e){let t=new xe({check:"custom"});return t._zod.check=e,t}function Am(e,t){return Tc(Cm,e??(()=>!0),t)}function yk(e,t={}){return Rc(Cm,e,t)}function _k(e){let t=gk(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(W.issue(n,r.value,t._zod.def));else{let o=n;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=t),o.continue??(o.continue=!t._zod.def.abort),r.issues.push(W.issue(o))}},e(r.value,r)));return t}function Dc(e,t){return Nc(Em(e),t)}Be(om());var Uc="2025-11-25";var Mm=[Uc,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],Bt="io.modelcontextprotocol/related-task",ds="2.0",ve=Am(e=>e!==null&&(typeof e=="object"||typeof e=="function")),Nm=ue([_(),te().int()]),Lm=_(),oO=je({ttl:te().optional(),pollInterval:te().optional()}),vk=T({ttl:te().optional()}),bk=T({taskId:_()}),qc=je({progressToken:Nm.optional(),[Bt]:bk.optional()}),We=T({_meta:qc.optional()}),Zn=We.extend({task:vk.optional()}),Dm=e=>Zn.safeParse(e).success,Se=T({method:_(),params:We.loose().optional()}),Qe=T({_meta:qc.optional()}),et=T({method:_(),params:Qe.loose().optional()}),$e=je({_meta:qc.optional()}),ls=ue([_(),te().int()]),Zm=T({jsonrpc:j(ds),id:ls,...Se.shape}).strict(),Jc=e=>Zm.safeParse(e).success,Um=T({jsonrpc:j(ds),...et.shape}).strict(),qm=e=>Um.safeParse(e).success,Fc=T({jsonrpc:j(ds),id:ls,result:$e}).strict(),Un=e=>Fc.safeParse(e).success;var A;(function(e){e[e.ConnectionClosed=-32e3]="ConnectionClosed",e[e.RequestTimeout=-32001]="RequestTimeout",e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError",e[e.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(A||(A={}));var Vc=T({jsonrpc:j(ds),id:ls.optional(),error:T({code:te().int(),message:_(),data:me().optional()})}).strict();var Jm=e=>Vc.safeParse(e).success;var Fm=ue([Zm,Um,Fc,Vc]),sO=ue([Fc,Vc]),ps=$e.strict(),wk=Qe.extend({requestId:ls.optional(),reason:_().optional()}),ms=et.extend({method:j("notifications/cancelled"),params:wk}),kk=T({src:_(),mimeType:_().optional(),sizes:G(_()).optional(),theme:Ze(["light","dark"]).optional()}),qn=T({icons:G(kk).optional()}),Xr=T({name:_(),title:_().optional()}),Vm=Xr.extend({...Xr.shape,...qn.shape,version:_(),websiteUrl:_().optional(),description:_().optional()}),xk=cs(T({applyDefaults:be().optional()}),ce(_(),me())),Sk=Dc(e=>e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,cs(T({form:xk.optional(),url:ve.optional()}),ce(_(),me()).optional())),$k=je({list:ve.optional(),cancel:ve.optional(),requests:je({sampling:je({createMessage:ve.optional()}).optional(),elicitation:je({create:ve.optional()}).optional()}).optional()}),zk=je({list:ve.optional(),cancel:ve.optional(),requests:je({tools:je({call:ve.optional()}).optional()}).optional()}),Pk=T({experimental:ce(_(),ve).optional(),sampling:T({context:ve.optional(),tools:ve.optional()}).optional(),elicitation:Sk.optional(),roots:T({listChanged:be().optional()}).optional(),tasks:$k.optional(),extensions:ce(_(),ve).optional()}),Tk=We.extend({protocolVersion:_(),capabilities:Pk,clientInfo:Vm}),Bc=Se.extend({method:j("initialize"),params:Tk});var Rk=T({experimental:ce(_(),ve).optional(),logging:ve.optional(),completions:ve.optional(),prompts:T({listChanged:be().optional()}).optional(),resources:T({subscribe:be().optional(),listChanged:be().optional()}).optional(),tools:T({listChanged:be().optional()}).optional(),tasks:zk.optional(),extensions:ce(_(),ve).optional()}),Ik=$e.extend({protocolVersion:_(),capabilities:Rk,serverInfo:Vm,instructions:_().optional()}),Hc=et.extend({method:j("notifications/initialized"),params:Qe.optional()});var fs=Se.extend({method:j("ping"),params:We.optional()}),Ek=T({progress:te(),total:fe(te()),message:fe(_())}),Ok=T({...Qe.shape,...Ek.shape,progressToken:Nm}),hs=et.extend({method:j("notifications/progress"),params:Ok}),jk=We.extend({cursor:Lm.optional()}),Jn=Se.extend({params:jk.optional()}),Fn=$e.extend({nextCursor:Lm.optional()}),Ck=Ze(["working","input_required","completed","failed","cancelled"]),Vn=T({taskId:_(),status:Ck,ttl:ue([te(),Tm()]),createdAt:_(),lastUpdatedAt:_(),pollInterval:fe(te()),statusMessage:fe(_())}),Yr=$e.extend({task:Vn}),Ak=Qe.merge(Vn),Bn=et.extend({method:j("notifications/tasks/status"),params:Ak}),gs=Se.extend({method:j("tasks/get"),params:We.extend({taskId:_()})}),ys=$e.merge(Vn),_s=Se.extend({method:j("tasks/result"),params:We.extend({taskId:_()})}),iO=$e.loose(),vs=Jn.extend({method:j("tasks/list")}),bs=Fn.extend({tasks:G(Vn)}),ws=Se.extend({method:j("tasks/cancel"),params:We.extend({taskId:_()})}),Bm=$e.merge(Vn),Hm=T({uri:_(),mimeType:fe(_()),_meta:ce(_(),me()).optional()}),Wm=Hm.extend({text:_()}),Wc=_().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),Gm=Hm.extend({blob:Wc}),Hn=Ze(["user","assistant"]),Qr=T({audience:G(Hn).optional(),priority:te().min(0).max(1).optional(),lastModified:Ln.datetime({offset:!0}).optional()}),Km=T({...Xr.shape,...qn.shape,uri:_(),description:fe(_()),mimeType:fe(_()),size:fe(te()),annotations:Qr.optional(),_meta:fe(je({}))}),Mk=T({...Xr.shape,...qn.shape,uriTemplate:_(),description:fe(_()),mimeType:fe(_()),annotations:Qr.optional(),_meta:fe(je({}))}),en=Jn.extend({method:j("resources/list")}),Nk=Fn.extend({resources:G(Km)}),tn=Jn.extend({method:j("resources/templates/list")}),Lk=Fn.extend({resourceTemplates:G(Mk)}),Gc=We.extend({uri:_()}),Dk=Gc,ks=Se.extend({method:j("resources/read"),params:Dk}),Zk=$e.extend({contents:G(ue([Wm,Gm]))}),Uk=et.extend({method:j("notifications/resources/list_changed"),params:Qe.optional()}),qk=Gc,Jk=Se.extend({method:j("resources/subscribe"),params:qk}),Fk=Gc,Vk=Se.extend({method:j("resources/unsubscribe"),params:Fk}),Bk=Qe.extend({uri:_()}),Hk=et.extend({method:j("notifications/resources/updated"),params:Bk}),Wk=T({name:_(),description:fe(_()),required:fe(be())}),Gk=T({...Xr.shape,...qn.shape,description:fe(_()),arguments:fe(G(Wk)),_meta:fe(je({}))}),xs=Jn.extend({method:j("prompts/list")}),Kk=Fn.extend({prompts:G(Gk)}),Xk=We.extend({name:_(),arguments:ce(_(),_()).optional()}),Ss=Se.extend({method:j("prompts/get"),params:Xk}),Kc=T({type:j("text"),text:_(),annotations:Qr.optional(),_meta:ce(_(),me()).optional()}),Xc=T({type:j("image"),data:Wc,mimeType:_(),annotations:Qr.optional(),_meta:ce(_(),me()).optional()}),Yc=T({type:j("audio"),data:Wc,mimeType:_(),annotations:Qr.optional(),_meta:ce(_(),me()).optional()}),Yk=T({type:j("tool_use"),name:_(),id:_(),input:ce(_(),me()),_meta:ce(_(),me()).optional()}),Qk=T({type:j("resource"),resource:ue([Wm,Gm]),annotations:Qr.optional(),_meta:ce(_(),me()).optional()}),ex=Km.extend({type:j("resource_link")}),Qc=ue([Kc,Xc,Yc,ex,Qk]),tx=T({role:Hn,content:Qc}),rx=$e.extend({description:_().optional(),messages:G(tx)}),nx=et.extend({method:j("notifications/prompts/list_changed"),params:Qe.optional()}),ox=T({title:_().optional(),readOnlyHint:be().optional(),destructiveHint:be().optional(),idempotentHint:be().optional(),openWorldHint:be().optional()}),sx=T({taskSupport:Ze(["required","optional","forbidden"]).optional()}),Xm=T({...Xr.shape,...qn.shape,description:_().optional(),inputSchema:T({type:j("object"),properties:ce(_(),ve).optional(),required:G(_()).optional()}).catchall(me()),outputSchema:T({type:j("object"),properties:ce(_(),ve).optional(),required:G(_()).optional()}).catchall(me()).optional(),annotations:ox.optional(),execution:sx.optional(),_meta:ce(_(),me()).optional()}),$s=Jn.extend({method:j("tools/list")}),ix=Fn.extend({tools:G(Xm)}),zs=$e.extend({content:G(Qc).default([]),structuredContent:ce(_(),me()).optional(),isError:be().optional()}),aO=zs.or($e.extend({toolResult:me()})),ax=Zn.extend({name:_(),arguments:ce(_(),me()).optional()}),rn=Se.extend({method:j("tools/call"),params:ax}),cx=et.extend({method:j("notifications/tools/list_changed"),params:Qe.optional()}),cO=T({autoRefresh:be().default(!0),debounceMs:te().int().nonnegative().default(300)}),Wn=Ze(["debug","info","notice","warning","error","critical","alert","emergency"]),ux=We.extend({level:Wn}),eu=Se.extend({method:j("logging/setLevel"),params:ux}),dx=Qe.extend({level:Wn,logger:_().optional(),data:me()}),lx=et.extend({method:j("notifications/message"),params:dx}),px=T({name:_().optional()}),mx=T({hints:G(px).optional(),costPriority:te().min(0).max(1).optional(),speedPriority:te().min(0).max(1).optional(),intelligencePriority:te().min(0).max(1).optional()}),fx=T({mode:Ze(["auto","required","none"]).optional()}),hx=T({type:j("tool_result"),toolUseId:_().describe("The unique identifier for the corresponding tool call."),content:G(Qc).default([]),structuredContent:T({}).loose().optional(),isError:be().optional(),_meta:ce(_(),me()).optional()}),gx=Lc("type",[Kc,Xc,Yc]),us=Lc("type",[Kc,Xc,Yc,Yk,hx]),yx=T({role:Hn,content:ue([us,G(us)]),_meta:ce(_(),me()).optional()}),_x=Zn.extend({messages:G(yx),modelPreferences:mx.optional(),systemPrompt:_().optional(),includeContext:Ze(["none","thisServer","allServers"]).optional(),temperature:te().optional(),maxTokens:te().int(),stopSequences:G(_()).optional(),metadata:ve.optional(),tools:G(Xm).optional(),toolChoice:fx.optional()}),vx=Se.extend({method:j("sampling/createMessage"),params:_x}),Gn=$e.extend({model:_(),stopReason:fe(Ze(["endTurn","stopSequence","maxTokens"]).or(_())),role:Hn,content:gx}),tu=$e.extend({model:_(),stopReason:fe(Ze(["endTurn","stopSequence","maxTokens","toolUse"]).or(_())),role:Hn,content:ue([us,G(us)])}),bx=T({type:j("boolean"),title:_().optional(),description:_().optional(),default:be().optional()}),wx=T({type:j("string"),title:_().optional(),description:_().optional(),minLength:te().optional(),maxLength:te().optional(),format:Ze(["email","uri","date","date-time"]).optional(),default:_().optional()}),kx=T({type:Ze(["number","integer"]),title:_().optional(),description:_().optional(),minimum:te().optional(),maximum:te().optional(),default:te().optional()}),xx=T({type:j("string"),title:_().optional(),description:_().optional(),enum:G(_()),default:_().optional()}),Sx=T({type:j("string"),title:_().optional(),description:_().optional(),oneOf:G(T({const:_(),title:_()})),default:_().optional()}),$x=T({type:j("string"),title:_().optional(),description:_().optional(),enum:G(_()),enumNames:G(_()).optional(),default:_().optional()}),zx=ue([xx,Sx]),Px=T({type:j("array"),title:_().optional(),description:_().optional(),minItems:te().optional(),maxItems:te().optional(),items:T({type:j("string"),enum:G(_())}),default:G(_()).optional()}),Tx=T({type:j("array"),title:_().optional(),description:_().optional(),minItems:te().optional(),maxItems:te().optional(),items:T({anyOf:G(T({const:_(),title:_()}))}),default:G(_()).optional()}),Rx=ue([Px,Tx]),Ix=ue([$x,zx,Rx]),Ex=ue([Ix,bx,wx,kx]),Ox=Zn.extend({mode:j("form").optional(),message:_(),requestedSchema:T({type:j("object"),properties:ce(_(),Ex),required:G(_()).optional()})}),jx=Zn.extend({mode:j("url"),message:_(),elicitationId:_(),url:_().url()}),Cx=ue([Ox,jx]),Ax=Se.extend({method:j("elicitation/create"),params:Cx}),Mx=Qe.extend({elicitationId:_()}),Nx=et.extend({method:j("notifications/elicitation/complete"),params:Mx}),nn=$e.extend({action:Ze(["accept","decline","cancel"]),content:Dc(e=>e===null?void 0:e,ce(_(),ue([_(),te(),be(),G(_())])).optional())}),Lx=T({type:j("ref/resource"),uri:_()});var Dx=T({type:j("ref/prompt"),name:_()}),Zx=We.extend({ref:ue([Dx,Lx]),argument:T({name:_(),value:_()}),context:T({arguments:ce(_(),_()).optional()}).optional()}),Ps=Se.extend({method:j("completion/complete"),params:Zx});function Ym(e){if(e.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${e.params.ref.type}`)}function Qm(e){if(e.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${e.params.ref.type}`)}var Ux=$e.extend({completion:je({values:G(_()).max(100),total:fe(te().int()),hasMore:fe(be())})}),qx=T({uri:_().startsWith("file://"),name:_().optional(),_meta:ce(_(),me()).optional()}),Jx=Se.extend({method:j("roots/list"),params:We.optional()}),ru=$e.extend({roots:G(qx)}),Fx=et.extend({method:j("notifications/roots/list_changed"),params:Qe.optional()}),uO=ue([fs,Bc,Ps,eu,Ss,xs,en,tn,ks,Jk,Vk,rn,$s,gs,_s,vs,ws]),dO=ue([ms,hs,Hc,Fx,Bn]),lO=ue([ps,Gn,tu,nn,ru,ys,bs,Yr]),pO=ue([fs,vx,Ax,Jx,gs,_s,vs,ws]),mO=ue([ms,hs,lx,Hk,Uk,cx,nx,Bn,Nx]),fO=ue([ps,Ik,Ux,rx,Kk,Nk,Lk,Zk,zs,ix,ys,bs,Yr]),O=class e extends Error{constructor(t,r,n){super(`MCP error ${t}: ${r}`),this.code=t,this.data=n,this.name="McpError"}static fromError(t,r,n){if(t===A.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new Zc(o.elicitations,r)}return new e(t,r,n)}},Zc=class extends O{constructor(t,r=`URL elicitation${t.length>1?"s":""} required`){super(A.UrlElicitationRequired,r,{elicitations:t})}get elicitations(){return this.data?.elicitations??[]}};function Ht(e){return e==="completed"||e==="failed"||e==="cancelled"}var tf=Symbol("Let zodToJsonSchema decide on which parser to use");var ef={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"},rf=e=>typeof e=="string"?{...ef,name:e}:{...ef,...e};var nf=e=>{let t=rf(e),r=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,flags:{hasReferencedOpenAiAnyType:!1},currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([n,o])=>[o._def,{def:o._def,path:[...t.basePath,t.definitionPath,n],jsonSchema:void 0}]))}};function nu(e,t,r,n){n?.errorMessages&&r&&(e.errorMessage={...e.errorMessage,[t]:r})}function K(e,t,r,n,o){e[t]=r,nu(e,t,n,o)}var Ts=(e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")};function he(e){if(e.target!=="openAi")return{};let t=[...e.basePath,e.definitionPath,e.openAiAnyTypeName];return e.flags.hasReferencedOpenAiAnyType=!0,{$ref:e.$refStrategy==="relative"?Ts(t,e.currentPath):t.join("/")}}function of(e,t){let r={type:"array"};return e.type?._def&&e.type?._def?.typeName!==S.ZodAny&&(r.items=D(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&K(r,"minItems",e.minLength.value,e.minLength.message,t),e.maxLength&&K(r,"maxItems",e.maxLength.value,e.maxLength.message,t),e.exactLength&&(K(r,"minItems",e.exactLength.value,e.exactLength.message,t),K(r,"maxItems",e.exactLength.value,e.exactLength.message,t)),r}function sf(e,t){let r={type:"integer",format:"int64"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"min":t.target==="jsonSchema7"?n.inclusive?K(r,"minimum",n.value,n.message,t):K(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),K(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?K(r,"maximum",n.value,n.message,t):K(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),K(r,"maximum",n.value,n.message,t));break;case"multipleOf":K(r,"multipleOf",n.value,n.message,t);break}return r}function af(){return{type:"boolean"}}function Rs(e,t){return D(e.type._def,t)}var cf=(e,t)=>D(e.innerType._def,t);function ou(e,t,r){let n=r??t.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>ou(e,t,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 Vx(e,t)}}var Vx=(e,t)=>{let r={type:"integer",format:"unix-time"};if(t.target==="openApi3")return r;for(let n of e.checks)switch(n.kind){case"min":K(r,"minimum",n.value,n.message,t);break;case"max":K(r,"maximum",n.value,n.message,t);break}return r};function uf(e,t){return{...D(e.innerType._def,t),default:e.defaultValue()}}function df(e,t){return t.effectStrategy==="input"?D(e.schema._def,t):he(t)}function lf(e){return{type:"string",enum:Array.from(e.values)}}var Bx=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function pf(e,t){let r=[D(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),D(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(s=>!!s),n=t.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return r.forEach(s=>{if(Bx(s))o.push(...s.allOf),s.unevaluatedProperties===void 0&&(n=void 0);else{let i=s;if("additionalProperties"in s&&s.additionalProperties===!1){let{additionalProperties:a,...c}=s;i=c}else n=void 0;o.push(i)}}),o.length?{allOf:o,...n}:void 0}function mf(e,t){let r=typeof e.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(e.value)?"array":"object"}:t.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[e.value]}:{type:r==="bigint"?"integer":r,const:e.value}}var su,at={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:()=>(su===void 0&&(su=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),su),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 Is(e,t){let r={type:"string"};if(e.checks)for(let n of e.checks)switch(n.kind){case"min":K(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,t);break;case"max":K(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,t);break;case"email":switch(t.emailStrategy){case"format:email":ct(r,"email",n.message,t);break;case"format:idn-email":ct(r,"idn-email",n.message,t);break;case"pattern:zod":Ce(r,at.email,n.message,t);break}break;case"url":ct(r,"uri",n.message,t);break;case"uuid":ct(r,"uuid",n.message,t);break;case"regex":Ce(r,n.regex,n.message,t);break;case"cuid":Ce(r,at.cuid,n.message,t);break;case"cuid2":Ce(r,at.cuid2,n.message,t);break;case"startsWith":Ce(r,RegExp(`^${iu(n.value,t)}`),n.message,t);break;case"endsWith":Ce(r,RegExp(`${iu(n.value,t)}$`),n.message,t);break;case"datetime":ct(r,"date-time",n.message,t);break;case"date":ct(r,"date",n.message,t);break;case"time":ct(r,"time",n.message,t);break;case"duration":ct(r,"duration",n.message,t);break;case"length":K(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,t),K(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,t);break;case"includes":{Ce(r,RegExp(iu(n.value,t)),n.message,t);break}case"ip":{n.version!=="v6"&&ct(r,"ipv4",n.message,t),n.version!=="v4"&&ct(r,"ipv6",n.message,t);break}case"base64url":Ce(r,at.base64url,n.message,t);break;case"jwt":Ce(r,at.jwt,n.message,t);break;case"cidr":{n.version!=="v6"&&Ce(r,at.ipv4Cidr,n.message,t),n.version!=="v4"&&Ce(r,at.ipv6Cidr,n.message,t);break}case"emoji":Ce(r,at.emoji(),n.message,t);break;case"ulid":{Ce(r,at.ulid,n.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{ct(r,"binary",n.message,t);break}case"contentEncoding:base64":{K(r,"contentEncoding","base64",n.message,t);break}case"pattern:zod":{Ce(r,at.base64,n.message,t);break}}break}case"nanoid":Ce(r,at.nanoid,n.message,t);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function iu(e,t){return t.patternStrategy==="escape"?Wx(e):e}var Hx=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Wx(e){let t="";for(let r=0;r<e.length;r++)Hx.has(e[r])||(t+="\\"),t+=e[r];return t}function ct(e,t,r,n){e.format||e.anyOf?.some(o=>o.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format,...e.errorMessage&&n.errorMessages&&{errorMessage:{format:e.errorMessage.format}}}),delete e.format,e.errorMessage&&(delete e.errorMessage.format,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.anyOf.push({format:t,...r&&n.errorMessages&&{errorMessage:{format:r}}})):K(e,"format",t,r,n)}function Ce(e,t,r,n){e.pattern||e.allOf?.some(o=>o.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern,...e.errorMessage&&n.errorMessages&&{errorMessage:{pattern:e.errorMessage.pattern}}}),delete e.pattern,e.errorMessage&&(delete e.errorMessage.pattern,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.allOf.push({pattern:ff(t,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):K(e,"pattern",ff(t,n),r,n)}function ff(e,t){if(!t.applyRegexFlags||!e.flags)return e.source;let r={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},n=r.i?e.source.toLowerCase():e.source,o="",s=!1,i=!1,a=!1;for(let c=0;c<n.length;c++){if(s){o+=n[c],s=!1;continue}if(r.i){if(i){if(n[c].match(/[a-z]/)){a?(o+=n[c],o+=`${n[c-2]}-${n[c]}`.toUpperCase(),a=!1):n[c+1]==="-"&&n[c+2]?.match(/[a-z]/)?(o+=n[c],a=!0):o+=`${n[c]}${n[c].toUpperCase()}`;continue}}else if(n[c].match(/[a-z]/)){o+=`[${n[c]}${n[c].toUpperCase()}]`;continue}}if(r.m){if(n[c]==="^"){o+=`(^|(?<=[\r
|
|
37
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let d of this.seen.entries()){let l=d[1];if(t===d[0]){i(d);continue}if(n.external){let h=n.external.registry.get(d[0])?.id;if(t!==d[0]&&h){i(d);continue}}if(this.metadataRegistry.get(d[0])?.id){i(d);continue}if(l.cycle){i(d);continue}if(l.count>1&&n.reused==="ref"){i(d);continue}}let a=(d,l)=>{let p=this.seen.get(d),h=p.def??p.schema,f={...h};if(p.ref===null)return;let g=p.ref;if(p.ref=null,g){a(g,l);let y=this.seen.get(g).schema;y.$ref&&l.target==="draft-7"?(h.allOf=h.allOf??[],h.allOf.push(y)):(Object.assign(h,y),Object.assign(h,f))}p.isParent||this.override({zodSchema:d,jsonSchema:h,path:p.path??[]})};for(let d of[...this.seen.entries()].reverse())a(d[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 d=n.external.registry.get(t)?.id;if(!d)throw new Error("Schema is missing an `id` property");c.$id=n.external.uri(d)}Object.assign(c,o.def);let u=n.external?.defs??{};for(let d of this.seen.entries()){let l=d[1];l.def&&l.defId&&(u[l.defId]=l.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 Ic(e,t){if(e instanceof Mn){let n=new os(t),o={};for(let a of e._idmap.entries()){let[c,u]=a;n.process(u)}let s={},i={registry:e,uri:t?.uri,defs:o};for(let a of e._idmap.entries()){let[c,u]=a;s[c]=n.emit(u,{...t,external:i})}if(Object.keys(o).length>0){let a=n.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[a]:o}}return{schemas:s}}let r=new os(t);return r.process(e),r.emit(e,t)}function _e(e,t){let r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);let o=e._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 _e(o.element,r);case"object":{for(let s in o.shape)if(_e(o.shape[s],r))return!0;return!1}case"union":{for(let s of o.options)if(_e(s,r))return!0;return!1}case"intersection":return _e(o.left,r)||_e(o.right,r);case"tuple":{for(let s of o.items)if(_e(s,r))return!0;return!!(o.rest&&_e(o.rest,r))}case"record":return _e(o.keyType,r)||_e(o.valueType,r);case"map":return _e(o.keyType,r)||_e(o.valueType,r);case"set":return _e(o.valueType,r);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return _e(o.innerType,r);case"lazy":return _e(o.getter(),r);case"default":return _e(o.innerType,r);case"prefault":return _e(o.innerType,r);case"custom":return!1;case"transform":return!0;case"pipe":return _e(o.in,r)||_e(o.out,r);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${o.type}`)}var xw=v("ZodMiniType",(e,t)=>{if(!e._zod)throw new Error("Uninitialized schema in ZodMiniType.");ne.init(e,t),e.def=t,e.parse=(r,n)=>Gi(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>kr(e,r,n),e.parseAsync=async(r,n)=>Xi(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>xr(e,r,n),e.check=(...r)=>e.clone({...t,checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),e.clone=(r,n)=>He(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e))});var Sw=v("ZodMiniObject",(e,t)=>{Ko.init(e,t),xw.init(e,t),W.defineLazy(e,"shape",()=>t.shape)});function Oc(e,t){let r={type:"object",get shape(){return W.assignProp(this,"shape",{...e}),this.shape},...W.normalizeParams(t)};return new Sw(r)}function Ye(e){return!!e._zod}function zr(e){let t=Object.values(e);if(t.length===0)return Oc({});let r=t.every(Ye),n=t.every(o=>!Ye(o));if(r)return Oc(e);if(n)return Ai(e);throw new Error("Mixed Zod versions detected in object shape.")}function Vt(e,t){return Ye(e)?kr(e,t):e.safeParse(t)}async function ss(e,t){return Ye(e)?await xr(e,t):await e.safeParseAsync(t)}function Bt(e){if(!e)return;let t;if(Ye(e)?t=e._zod?.def?.shape:t=e.shape,!!t){if(typeof t=="function")try{return t()}catch{return}return t}}function Xr(e){if(e){if(typeof e=="object"){let t=e,r=e;if(!t._def&&!r._zod){let n=Object.values(e);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 zr(e)}}if(Ye(e)){let r=e._zod?.def;if(r&&(r.type==="object"||r.shape!==void 0))return e}else if(e.shape!==void 0)return e}}function is(e){if(e&&typeof e=="object"){if("message"in e&&typeof e.message=="string")return e.message;if("issues"in e&&Array.isArray(e.issues)&&e.issues.length>0){let t=e.issues[0];if(t&&typeof t=="object"&&"message"in t)return String(t.message)}try{return JSON.stringify(e)}catch{return String(e)}}return String(e)}function mm(e){return e.description}function fm(e){if(Ye(e))return e._zod?.def?.type==="optional";let t=e;return typeof e.isOptional=="function"?e.isOptional():t._def?.typeName==="ZodOptional"}function as(e){if(Ye(e)){let s=e._zod?.def;if(s){if(s.value!==void 0)return s.value;if(Array.isArray(s.values)&&s.values.length>0)return s.values[0]}}let r=e._def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}let n=e.value;if(n!==void 0)return n}var Dn={};Ii(Dn,{ZodISODate:()=>gm,ZodISODateTime:()=>hm,ZodISODuration:()=>_m,ZodISOTime:()=>ym,date:()=>Cc,datetime:()=>jc,duration:()=>Mc,time:()=>Ac});var hm=v("ZodISODateTime",(e,t)=>{em.init(e,t),pe.init(e,t)});function jc(e){return am(hm,e)}var gm=v("ZodISODate",(e,t)=>{tm.init(e,t),pe.init(e,t)});function Cc(e){return cm(gm,e)}var ym=v("ZodISOTime",(e,t)=>{rm.init(e,t),pe.init(e,t)});function Ac(e){return um(ym,e)}var _m=v("ZodISODuration",(e,t)=>{nm.init(e,t),pe.init(e,t)});function Mc(e){return dm(_m,e)}var vm=(e,t)=>{Vo.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>Hi(e,r)},flatten:{value:r=>Bi(e,r)},addIssue:{value:r=>e.issues.push(r)},addIssues:{value:r=>e.issues.push(...r)},isEmpty:{get(){return e.issues.length===0}}})},QI=v("ZodError",vm),Zn=v("ZodError",vm,{Parent:Error});var bm=Wi(Zn),wm=Ki(Zn),km=Yi(Zn),xm=Qi(Zn);var ge=v("ZodType",(e,t)=>(ne.init(e,t),e.def=t,Object.defineProperty(e,"_def",{value:t}),e.check=(...r)=>e.clone({...t,checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),e.clone=(r,n)=>He(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e)),e.parse=(r,n)=>bm(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>km(e,r,n),e.parseAsync=async(r,n)=>wm(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>xm(e,r,n),e.spa=e.safeParseAsync,e.refine=(r,n)=>e.check(wk(r,n)),e.superRefine=r=>e.check(kk(r)),e.overwrite=r=>e.check(Sr(r)),e.optional=()=>fe(e),e.nullable=()=>zm(e),e.nullish=()=>fe(zm(e)),e.nonoptional=r=>fk(e,r),e.array=()=>G(e),e.or=r=>ue([e,r]),e.and=r=>us(e,r),e.transform=r=>Lc(e,Om(r)),e.default=r=>lk(e,r),e.prefault=r=>mk(e,r),e.catch=r=>gk(e,r),e.pipe=r=>Lc(e,r),e.readonly=()=>vk(e),e.describe=r=>{let n=e.clone();return Ft.add(n,{description:r}),n},Object.defineProperty(e,"description",{get(){return Ft.get(e)?.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return Ft.get(e);let n=e.clone();return Ft.add(n,r[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),Pm=v("_ZodString",(e,t)=>{An.init(e,t),ge.init(e,t);let r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...n)=>e.check(vc(...n)),e.includes=(...n)=>e.check(kc(...n)),e.startsWith=(...n)=>e.check(xc(...n)),e.endsWith=(...n)=>e.check(Sc(...n)),e.min=(...n)=>e.check(Kr(...n)),e.max=(...n)=>e.check(rs(...n)),e.length=(...n)=>e.check(ns(...n)),e.nonempty=(...n)=>e.check(Kr(1,...n)),e.lowercase=n=>e.check(bc(n)),e.uppercase=n=>e.check(wc(n)),e.trim=()=>e.check(zc()),e.normalize=(...n)=>e.check($c(...n)),e.toLowerCase=()=>e.check(Pc()),e.toUpperCase=()=>e.check(Tc())}),jw=v("ZodString",(e,t)=>{An.init(e,t),Pm.init(e,t),e.email=r=>e.check(Ba(Cw,r)),e.url=r=>e.check(Xa(Aw,r)),e.jwt=r=>e.check(pc(Kw,r)),e.emoji=r=>e.check(Ya(Mw,r)),e.guid=r=>e.check(Yo(Sm,r)),e.uuid=r=>e.check(Ha(cs,r)),e.uuidv4=r=>e.check(Wa(cs,r)),e.uuidv6=r=>e.check(Ga(cs,r)),e.uuidv7=r=>e.check(Ka(cs,r)),e.nanoid=r=>e.check(Qa(Nw,r)),e.guid=r=>e.check(Yo(Sm,r)),e.cuid=r=>e.check(ec(Lw,r)),e.cuid2=r=>e.check(tc(Dw,r)),e.ulid=r=>e.check(rc(Zw,r)),e.base64=r=>e.check(uc(Hw,r)),e.base64url=r=>e.check(dc(Ww,r)),e.xid=r=>e.check(nc(Uw,r)),e.ksuid=r=>e.check(oc(qw,r)),e.ipv4=r=>e.check(sc(Jw,r)),e.ipv6=r=>e.check(ic(Fw,r)),e.cidrv4=r=>e.check(ac(Vw,r)),e.cidrv6=r=>e.check(cc(Bw,r)),e.e164=r=>e.check(lc(Gw,r)),e.datetime=r=>e.check(jc(r)),e.date=r=>e.check(Cc(r)),e.time=r=>e.check(Ac(r)),e.duration=r=>e.check(Mc(r))});function _(e){return Va(jw,e)}var pe=v("ZodStringFormat",(e,t)=>{ae.init(e,t),Pm.init(e,t)}),Cw=v("ZodEmail",(e,t)=>{aa.init(e,t),pe.init(e,t)});var Sm=v("ZodGUID",(e,t)=>{sa.init(e,t),pe.init(e,t)});var cs=v("ZodUUID",(e,t)=>{ia.init(e,t),pe.init(e,t)});var Aw=v("ZodURL",(e,t)=>{ca.init(e,t),pe.init(e,t)});var Mw=v("ZodEmoji",(e,t)=>{ua.init(e,t),pe.init(e,t)});var Nw=v("ZodNanoID",(e,t)=>{da.init(e,t),pe.init(e,t)});var Lw=v("ZodCUID",(e,t)=>{la.init(e,t),pe.init(e,t)});var Dw=v("ZodCUID2",(e,t)=>{pa.init(e,t),pe.init(e,t)});var Zw=v("ZodULID",(e,t)=>{ma.init(e,t),pe.init(e,t)});var Uw=v("ZodXID",(e,t)=>{fa.init(e,t),pe.init(e,t)});var qw=v("ZodKSUID",(e,t)=>{ha.init(e,t),pe.init(e,t)});var Jw=v("ZodIPv4",(e,t)=>{ga.init(e,t),pe.init(e,t)});var Fw=v("ZodIPv6",(e,t)=>{ya.init(e,t),pe.init(e,t)});var Vw=v("ZodCIDRv4",(e,t)=>{_a.init(e,t),pe.init(e,t)});var Bw=v("ZodCIDRv6",(e,t)=>{va.init(e,t),pe.init(e,t)});var Hw=v("ZodBase64",(e,t)=>{ba.init(e,t),pe.init(e,t)});var Ww=v("ZodBase64URL",(e,t)=>{wa.init(e,t),pe.init(e,t)});var Gw=v("ZodE164",(e,t)=>{ka.init(e,t),pe.init(e,t)});var Kw=v("ZodJWT",(e,t)=>{xa.init(e,t),pe.init(e,t)});var Tm=v("ZodNumber",(e,t)=>{Go.init(e,t),ge.init(e,t),e.gt=(n,o)=>e.check(es(n,o)),e.gte=(n,o)=>e.check(Ln(n,o)),e.min=(n,o)=>e.check(Ln(n,o)),e.lt=(n,o)=>e.check(Qo(n,o)),e.lte=(n,o)=>e.check(Nn(n,o)),e.max=(n,o)=>e.check(Nn(n,o)),e.int=n=>e.check($m(n)),e.safe=n=>e.check($m(n)),e.positive=n=>e.check(es(0,n)),e.nonnegative=n=>e.check(Ln(0,n)),e.negative=n=>e.check(Qo(0,n)),e.nonpositive=n=>e.check(Nn(0,n)),e.multipleOf=(n,o)=>e.check(ts(n,o)),e.step=(n,o)=>e.check(ts(n,o)),e.finite=()=>e;let r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function te(e){return mc(Tm,e)}var Xw=v("ZodNumberFormat",(e,t)=>{Sa.init(e,t),Tm.init(e,t)});function $m(e){return fc(Xw,e)}var Yw=v("ZodBoolean",(e,t)=>{$a.init(e,t),ge.init(e,t)});function be(e){return hc(Yw,e)}var Qw=v("ZodNull",(e,t)=>{za.init(e,t),ge.init(e,t)});function Rm(e){return gc(Qw,e)}var ek=v("ZodUnknown",(e,t)=>{Pa.init(e,t),ge.init(e,t)});function me(){return yc(ek)}var tk=v("ZodNever",(e,t)=>{Ta.init(e,t),ge.init(e,t)});function rk(e){return _c(tk,e)}var nk=v("ZodArray",(e,t)=>{Ra.init(e,t),ge.init(e,t),e.element=t.element,e.min=(r,n)=>e.check(Kr(r,n)),e.nonempty=r=>e.check(Kr(1,r)),e.max=(r,n)=>e.check(rs(r,n)),e.length=(r,n)=>e.check(ns(r,n)),e.unwrap=()=>e.element});function G(e,t){return lm(nk,e,t)}var Em=v("ZodObject",(e,t)=>{Ko.init(e,t),ge.init(e,t),W.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>Ze(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:me()}),e.loose=()=>e.clone({...e._zod.def,catchall:me()}),e.strict=()=>e.clone({...e._zod.def,catchall:rk()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>W.extend(e,r),e.merge=r=>W.merge(e,r),e.pick=r=>W.pick(e,r),e.omit=r=>W.omit(e,r),e.partial=(...r)=>W.partial(jm,e,r[0]),e.required=(...r)=>W.required(Cm,e,r[0])});function T(e,t){let r={type:"object",get shape(){return W.assignProp(this,"shape",{...e}),this.shape},...W.normalizeParams(t)};return new Em(r)}function je(e,t){return new Em({type:"object",get shape(){return W.assignProp(this,"shape",{...e}),this.shape},catchall:me(),...W.normalizeParams(t)})}var Im=v("ZodUnion",(e,t)=>{Xo.init(e,t),ge.init(e,t),e.options=t.options});function ue(e,t){return new Im({type:"union",options:e,...W.normalizeParams(t)})}var ok=v("ZodDiscriminatedUnion",(e,t)=>{Im.init(e,t),Ea.init(e,t)});function Dc(e,t,r){return new ok({type:"union",options:t,discriminator:e,...W.normalizeParams(r)})}var sk=v("ZodIntersection",(e,t)=>{Ia.init(e,t),ge.init(e,t)});function us(e,t){return new sk({type:"intersection",left:e,right:t})}var ik=v("ZodRecord",(e,t)=>{Oa.init(e,t),ge.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function ce(e,t,r){return new ik({type:"record",keyType:e,valueType:t,...W.normalizeParams(r)})}var Nc=v("ZodEnum",(e,t)=>{ja.init(e,t),ge.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);let r=new Set(Object.keys(t.entries));e.extract=(n,o)=>{let s={};for(let i of n)if(r.has(i))s[i]=t.entries[i];else throw new Error(`Key ${i} not found in enum`);return new Nc({...t,checks:[],...W.normalizeParams(o),entries:s})},e.exclude=(n,o)=>{let s={...t.entries};for(let i of n)if(r.has(i))delete s[i];else throw new Error(`Key ${i} not found in enum`);return new Nc({...t,checks:[],...W.normalizeParams(o),entries:s})}});function Ze(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new Nc({type:"enum",entries:r,...W.normalizeParams(t)})}var ak=v("ZodLiteral",(e,t)=>{Ca.init(e,t),ge.init(e,t),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function j(e,t){return new ak({type:"literal",values:Array.isArray(e)?e:[e],...W.normalizeParams(t)})}var ck=v("ZodTransform",(e,t)=>{Aa.init(e,t),ge.init(e,t),e._zod.parse=(r,n)=>{r.addIssue=s=>{if(typeof s=="string")r.issues.push(W.issue(s,r.value,t));else{let i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=r.value),i.inst??(i.inst=e),i.continue??(i.continue=!0),r.issues.push(W.issue(i))}};let o=t.transform(r.value,r);return o instanceof Promise?o.then(s=>(r.value=s,r)):(r.value=o,r)}});function Om(e){return new ck({type:"transform",transform:e})}var jm=v("ZodOptional",(e,t)=>{Ma.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType});function fe(e){return new jm({type:"optional",innerType:e})}var uk=v("ZodNullable",(e,t)=>{Na.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType});function zm(e){return new uk({type:"nullable",innerType:e})}var dk=v("ZodDefault",(e,t)=>{La.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function lk(e,t){return new dk({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var pk=v("ZodPrefault",(e,t)=>{Da.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType});function mk(e,t){return new pk({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var Cm=v("ZodNonOptional",(e,t)=>{Za.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType});function fk(e,t){return new Cm({type:"nonoptional",innerType:e,...W.normalizeParams(t)})}var hk=v("ZodCatch",(e,t)=>{Ua.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function gk(e,t){return new hk({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var yk=v("ZodPipe",(e,t)=>{qa.init(e,t),ge.init(e,t),e.in=t.in,e.out=t.out});function Lc(e,t){return new yk({type:"pipe",in:e,out:t})}var _k=v("ZodReadonly",(e,t)=>{Ja.init(e,t),ge.init(e,t)});function vk(e){return new _k({type:"readonly",innerType:e})}var Am=v("ZodCustom",(e,t)=>{Fa.init(e,t),ge.init(e,t)});function bk(e){let t=new xe({check:"custom"});return t._zod.check=e,t}function Mm(e,t){return Rc(Am,e??(()=>!0),t)}function wk(e,t={}){return Ec(Am,e,t)}function kk(e){let t=bk(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(W.issue(n,r.value,t._zod.def));else{let o=n;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=t),o.continue??(o.continue=!t._zod.def.abort),r.issues.push(W.issue(o))}},e(r.value,r)));return t}function Zc(e,t){return Lc(Om(e),t)}Be(sm());var qc="2025-11-25";var Nm=[qc,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],Ht="io.modelcontextprotocol/related-task",ls="2.0",ve=Mm(e=>e!==null&&(typeof e=="object"||typeof e=="function")),Lm=ue([_(),te().int()]),Dm=_(),mO=je({ttl:te().optional(),pollInterval:te().optional()}),xk=T({ttl:te().optional()}),Sk=T({taskId:_()}),Jc=je({progressToken:Lm.optional(),[Ht]:Sk.optional()}),We=T({_meta:Jc.optional()}),Un=We.extend({task:xk.optional()}),Zm=e=>Un.safeParse(e).success,Se=T({method:_(),params:We.loose().optional()}),Qe=T({_meta:Jc.optional()}),et=T({method:_(),params:Qe.loose().optional()}),$e=je({_meta:Jc.optional()}),ps=ue([_(),te().int()]),Um=T({jsonrpc:j(ls),id:ps,...Se.shape}).strict(),Fc=e=>Um.safeParse(e).success,qm=T({jsonrpc:j(ls),...et.shape}).strict(),Jm=e=>qm.safeParse(e).success,Vc=T({jsonrpc:j(ls),id:ps,result:$e}).strict(),qn=e=>Vc.safeParse(e).success;var A;(function(e){e[e.ConnectionClosed=-32e3]="ConnectionClosed",e[e.RequestTimeout=-32001]="RequestTimeout",e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError",e[e.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(A||(A={}));var Bc=T({jsonrpc:j(ls),id:ps.optional(),error:T({code:te().int(),message:_(),data:me().optional()})}).strict();var Fm=e=>Bc.safeParse(e).success;var Vm=ue([Um,qm,Vc,Bc]),fO=ue([Vc,Bc]),ms=$e.strict(),$k=Qe.extend({requestId:ps.optional(),reason:_().optional()}),fs=et.extend({method:j("notifications/cancelled"),params:$k}),zk=T({src:_(),mimeType:_().optional(),sizes:G(_()).optional(),theme:Ze(["light","dark"]).optional()}),Jn=T({icons:G(zk).optional()}),Yr=T({name:_(),title:_().optional()}),Bm=Yr.extend({...Yr.shape,...Jn.shape,version:_(),websiteUrl:_().optional(),description:_().optional()}),Pk=us(T({applyDefaults:be().optional()}),ce(_(),me())),Tk=Zc(e=>e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,us(T({form:Pk.optional(),url:ve.optional()}),ce(_(),me()).optional())),Rk=je({list:ve.optional(),cancel:ve.optional(),requests:je({sampling:je({createMessage:ve.optional()}).optional(),elicitation:je({create:ve.optional()}).optional()}).optional()}),Ek=je({list:ve.optional(),cancel:ve.optional(),requests:je({tools:je({call:ve.optional()}).optional()}).optional()}),Ik=T({experimental:ce(_(),ve).optional(),sampling:T({context:ve.optional(),tools:ve.optional()}).optional(),elicitation:Tk.optional(),roots:T({listChanged:be().optional()}).optional(),tasks:Rk.optional(),extensions:ce(_(),ve).optional()}),Ok=We.extend({protocolVersion:_(),capabilities:Ik,clientInfo:Bm}),Hc=Se.extend({method:j("initialize"),params:Ok});var jk=T({experimental:ce(_(),ve).optional(),logging:ve.optional(),completions:ve.optional(),prompts:T({listChanged:be().optional()}).optional(),resources:T({subscribe:be().optional(),listChanged:be().optional()}).optional(),tools:T({listChanged:be().optional()}).optional(),tasks:Ek.optional(),extensions:ce(_(),ve).optional()}),Ck=$e.extend({protocolVersion:_(),capabilities:jk,serverInfo:Bm,instructions:_().optional()}),Wc=et.extend({method:j("notifications/initialized"),params:Qe.optional()});var hs=Se.extend({method:j("ping"),params:We.optional()}),Ak=T({progress:te(),total:fe(te()),message:fe(_())}),Mk=T({...Qe.shape,...Ak.shape,progressToken:Lm}),gs=et.extend({method:j("notifications/progress"),params:Mk}),Nk=We.extend({cursor:Dm.optional()}),Fn=Se.extend({params:Nk.optional()}),Vn=$e.extend({nextCursor:Dm.optional()}),Lk=Ze(["working","input_required","completed","failed","cancelled"]),Bn=T({taskId:_(),status:Lk,ttl:ue([te(),Rm()]),createdAt:_(),lastUpdatedAt:_(),pollInterval:fe(te()),statusMessage:fe(_())}),Qr=$e.extend({task:Bn}),Dk=Qe.merge(Bn),Hn=et.extend({method:j("notifications/tasks/status"),params:Dk}),ys=Se.extend({method:j("tasks/get"),params:We.extend({taskId:_()})}),_s=$e.merge(Bn),vs=Se.extend({method:j("tasks/result"),params:We.extend({taskId:_()})}),hO=$e.loose(),bs=Fn.extend({method:j("tasks/list")}),ws=Vn.extend({tasks:G(Bn)}),ks=Se.extend({method:j("tasks/cancel"),params:We.extend({taskId:_()})}),Hm=$e.merge(Bn),Wm=T({uri:_(),mimeType:fe(_()),_meta:ce(_(),me()).optional()}),Gm=Wm.extend({text:_()}),Gc=_().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),Km=Wm.extend({blob:Gc}),Wn=Ze(["user","assistant"]),en=T({audience:G(Wn).optional(),priority:te().min(0).max(1).optional(),lastModified:Dn.datetime({offset:!0}).optional()}),Xm=T({...Yr.shape,...Jn.shape,uri:_(),description:fe(_()),mimeType:fe(_()),size:fe(te()),annotations:en.optional(),_meta:fe(je({}))}),Zk=T({...Yr.shape,...Jn.shape,uriTemplate:_(),description:fe(_()),mimeType:fe(_()),annotations:en.optional(),_meta:fe(je({}))}),tn=Fn.extend({method:j("resources/list")}),Uk=Vn.extend({resources:G(Xm)}),rn=Fn.extend({method:j("resources/templates/list")}),qk=Vn.extend({resourceTemplates:G(Zk)}),Kc=We.extend({uri:_()}),Jk=Kc,xs=Se.extend({method:j("resources/read"),params:Jk}),Fk=$e.extend({contents:G(ue([Gm,Km]))}),Vk=et.extend({method:j("notifications/resources/list_changed"),params:Qe.optional()}),Bk=Kc,Hk=Se.extend({method:j("resources/subscribe"),params:Bk}),Wk=Kc,Gk=Se.extend({method:j("resources/unsubscribe"),params:Wk}),Kk=Qe.extend({uri:_()}),Xk=et.extend({method:j("notifications/resources/updated"),params:Kk}),Yk=T({name:_(),description:fe(_()),required:fe(be())}),Qk=T({...Yr.shape,...Jn.shape,description:fe(_()),arguments:fe(G(Yk)),_meta:fe(je({}))}),Ss=Fn.extend({method:j("prompts/list")}),ex=Vn.extend({prompts:G(Qk)}),tx=We.extend({name:_(),arguments:ce(_(),_()).optional()}),$s=Se.extend({method:j("prompts/get"),params:tx}),Xc=T({type:j("text"),text:_(),annotations:en.optional(),_meta:ce(_(),me()).optional()}),Yc=T({type:j("image"),data:Gc,mimeType:_(),annotations:en.optional(),_meta:ce(_(),me()).optional()}),Qc=T({type:j("audio"),data:Gc,mimeType:_(),annotations:en.optional(),_meta:ce(_(),me()).optional()}),rx=T({type:j("tool_use"),name:_(),id:_(),input:ce(_(),me()),_meta:ce(_(),me()).optional()}),nx=T({type:j("resource"),resource:ue([Gm,Km]),annotations:en.optional(),_meta:ce(_(),me()).optional()}),ox=Xm.extend({type:j("resource_link")}),eu=ue([Xc,Yc,Qc,ox,nx]),sx=T({role:Wn,content:eu}),ix=$e.extend({description:_().optional(),messages:G(sx)}),ax=et.extend({method:j("notifications/prompts/list_changed"),params:Qe.optional()}),cx=T({title:_().optional(),readOnlyHint:be().optional(),destructiveHint:be().optional(),idempotentHint:be().optional(),openWorldHint:be().optional()}),ux=T({taskSupport:Ze(["required","optional","forbidden"]).optional()}),Ym=T({...Yr.shape,...Jn.shape,description:_().optional(),inputSchema:T({type:j("object"),properties:ce(_(),ve).optional(),required:G(_()).optional()}).catchall(me()),outputSchema:T({type:j("object"),properties:ce(_(),ve).optional(),required:G(_()).optional()}).catchall(me()).optional(),annotations:cx.optional(),execution:ux.optional(),_meta:ce(_(),me()).optional()}),zs=Fn.extend({method:j("tools/list")}),dx=Vn.extend({tools:G(Ym)}),Ps=$e.extend({content:G(eu).default([]),structuredContent:ce(_(),me()).optional(),isError:be().optional()}),gO=Ps.or($e.extend({toolResult:me()})),lx=Un.extend({name:_(),arguments:ce(_(),me()).optional()}),nn=Se.extend({method:j("tools/call"),params:lx}),px=et.extend({method:j("notifications/tools/list_changed"),params:Qe.optional()}),yO=T({autoRefresh:be().default(!0),debounceMs:te().int().nonnegative().default(300)}),Gn=Ze(["debug","info","notice","warning","error","critical","alert","emergency"]),mx=We.extend({level:Gn}),tu=Se.extend({method:j("logging/setLevel"),params:mx}),fx=Qe.extend({level:Gn,logger:_().optional(),data:me()}),hx=et.extend({method:j("notifications/message"),params:fx}),gx=T({name:_().optional()}),yx=T({hints:G(gx).optional(),costPriority:te().min(0).max(1).optional(),speedPriority:te().min(0).max(1).optional(),intelligencePriority:te().min(0).max(1).optional()}),_x=T({mode:Ze(["auto","required","none"]).optional()}),vx=T({type:j("tool_result"),toolUseId:_().describe("The unique identifier for the corresponding tool call."),content:G(eu).default([]),structuredContent:T({}).loose().optional(),isError:be().optional(),_meta:ce(_(),me()).optional()}),bx=Dc("type",[Xc,Yc,Qc]),ds=Dc("type",[Xc,Yc,Qc,rx,vx]),wx=T({role:Wn,content:ue([ds,G(ds)]),_meta:ce(_(),me()).optional()}),kx=Un.extend({messages:G(wx),modelPreferences:yx.optional(),systemPrompt:_().optional(),includeContext:Ze(["none","thisServer","allServers"]).optional(),temperature:te().optional(),maxTokens:te().int(),stopSequences:G(_()).optional(),metadata:ve.optional(),tools:G(Ym).optional(),toolChoice:_x.optional()}),xx=Se.extend({method:j("sampling/createMessage"),params:kx}),Kn=$e.extend({model:_(),stopReason:fe(Ze(["endTurn","stopSequence","maxTokens"]).or(_())),role:Wn,content:bx}),ru=$e.extend({model:_(),stopReason:fe(Ze(["endTurn","stopSequence","maxTokens","toolUse"]).or(_())),role:Wn,content:ue([ds,G(ds)])}),Sx=T({type:j("boolean"),title:_().optional(),description:_().optional(),default:be().optional()}),$x=T({type:j("string"),title:_().optional(),description:_().optional(),minLength:te().optional(),maxLength:te().optional(),format:Ze(["email","uri","date","date-time"]).optional(),default:_().optional()}),zx=T({type:Ze(["number","integer"]),title:_().optional(),description:_().optional(),minimum:te().optional(),maximum:te().optional(),default:te().optional()}),Px=T({type:j("string"),title:_().optional(),description:_().optional(),enum:G(_()),default:_().optional()}),Tx=T({type:j("string"),title:_().optional(),description:_().optional(),oneOf:G(T({const:_(),title:_()})),default:_().optional()}),Rx=T({type:j("string"),title:_().optional(),description:_().optional(),enum:G(_()),enumNames:G(_()).optional(),default:_().optional()}),Ex=ue([Px,Tx]),Ix=T({type:j("array"),title:_().optional(),description:_().optional(),minItems:te().optional(),maxItems:te().optional(),items:T({type:j("string"),enum:G(_())}),default:G(_()).optional()}),Ox=T({type:j("array"),title:_().optional(),description:_().optional(),minItems:te().optional(),maxItems:te().optional(),items:T({anyOf:G(T({const:_(),title:_()}))}),default:G(_()).optional()}),jx=ue([Ix,Ox]),Cx=ue([Rx,Ex,jx]),Ax=ue([Cx,Sx,$x,zx]),Mx=Un.extend({mode:j("form").optional(),message:_(),requestedSchema:T({type:j("object"),properties:ce(_(),Ax),required:G(_()).optional()})}),Nx=Un.extend({mode:j("url"),message:_(),elicitationId:_(),url:_().url()}),Lx=ue([Mx,Nx]),Dx=Se.extend({method:j("elicitation/create"),params:Lx}),Zx=Qe.extend({elicitationId:_()}),Ux=et.extend({method:j("notifications/elicitation/complete"),params:Zx}),on=$e.extend({action:Ze(["accept","decline","cancel"]),content:Zc(e=>e===null?void 0:e,ce(_(),ue([_(),te(),be(),G(_())])).optional())}),qx=T({type:j("ref/resource"),uri:_()});var Jx=T({type:j("ref/prompt"),name:_()}),Fx=We.extend({ref:ue([Jx,qx]),argument:T({name:_(),value:_()}),context:T({arguments:ce(_(),_()).optional()}).optional()}),Ts=Se.extend({method:j("completion/complete"),params:Fx});function Qm(e){if(e.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${e.params.ref.type}`)}function ef(e){if(e.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${e.params.ref.type}`)}var Vx=$e.extend({completion:je({values:G(_()).max(100),total:fe(te().int()),hasMore:fe(be())})}),Bx=T({uri:_().startsWith("file://"),name:_().optional(),_meta:ce(_(),me()).optional()}),Hx=Se.extend({method:j("roots/list"),params:We.optional()}),nu=$e.extend({roots:G(Bx)}),Wx=et.extend({method:j("notifications/roots/list_changed"),params:Qe.optional()}),_O=ue([hs,Hc,Ts,tu,$s,Ss,tn,rn,xs,Hk,Gk,nn,zs,ys,vs,bs,ks]),vO=ue([fs,gs,Wc,Wx,Hn]),bO=ue([ms,Kn,ru,on,nu,_s,ws,Qr]),wO=ue([hs,xx,Dx,Hx,ys,vs,bs,ks]),kO=ue([fs,gs,hx,Xk,Vk,px,ax,Hn,Ux]),xO=ue([ms,Ck,Vx,ix,ex,Uk,qk,Fk,Ps,dx,_s,ws,Qr]),O=class e extends Error{constructor(t,r,n){super(`MCP error ${t}: ${r}`),this.code=t,this.data=n,this.name="McpError"}static fromError(t,r,n){if(t===A.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new Uc(o.elicitations,r)}return new e(t,r,n)}},Uc=class extends O{constructor(t,r=`URL elicitation${t.length>1?"s":""} required`){super(A.UrlElicitationRequired,r,{elicitations:t})}get elicitations(){return this.data?.elicitations??[]}};function Wt(e){return e==="completed"||e==="failed"||e==="cancelled"}var rf=Symbol("Let zodToJsonSchema decide on which parser to use");var tf={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"},nf=e=>typeof e=="string"?{...tf,name:e}:{...tf,...e};var of=e=>{let t=nf(e),r=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,flags:{hasReferencedOpenAiAnyType:!1},currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([n,o])=>[o._def,{def:o._def,path:[...t.basePath,t.definitionPath,n],jsonSchema:void 0}]))}};function ou(e,t,r,n){n?.errorMessages&&r&&(e.errorMessage={...e.errorMessage,[t]:r})}function K(e,t,r,n,o){e[t]=r,ou(e,t,n,o)}var Rs=(e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")};function he(e){if(e.target!=="openAi")return{};let t=[...e.basePath,e.definitionPath,e.openAiAnyTypeName];return e.flags.hasReferencedOpenAiAnyType=!0,{$ref:e.$refStrategy==="relative"?Rs(t,e.currentPath):t.join("/")}}function sf(e,t){let r={type:"array"};return e.type?._def&&e.type?._def?.typeName!==S.ZodAny&&(r.items=D(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&K(r,"minItems",e.minLength.value,e.minLength.message,t),e.maxLength&&K(r,"maxItems",e.maxLength.value,e.maxLength.message,t),e.exactLength&&(K(r,"minItems",e.exactLength.value,e.exactLength.message,t),K(r,"maxItems",e.exactLength.value,e.exactLength.message,t)),r}function af(e,t){let r={type:"integer",format:"int64"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"min":t.target==="jsonSchema7"?n.inclusive?K(r,"minimum",n.value,n.message,t):K(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),K(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?K(r,"maximum",n.value,n.message,t):K(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),K(r,"maximum",n.value,n.message,t));break;case"multipleOf":K(r,"multipleOf",n.value,n.message,t);break}return r}function cf(){return{type:"boolean"}}function Es(e,t){return D(e.type._def,t)}var uf=(e,t)=>D(e.innerType._def,t);function su(e,t,r){let n=r??t.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>su(e,t,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 Gx(e,t)}}var Gx=(e,t)=>{let r={type:"integer",format:"unix-time"};if(t.target==="openApi3")return r;for(let n of e.checks)switch(n.kind){case"min":K(r,"minimum",n.value,n.message,t);break;case"max":K(r,"maximum",n.value,n.message,t);break}return r};function df(e,t){return{...D(e.innerType._def,t),default:e.defaultValue()}}function lf(e,t){return t.effectStrategy==="input"?D(e.schema._def,t):he(t)}function pf(e){return{type:"string",enum:Array.from(e.values)}}var Kx=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function mf(e,t){let r=[D(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),D(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(s=>!!s),n=t.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return r.forEach(s=>{if(Kx(s))o.push(...s.allOf),s.unevaluatedProperties===void 0&&(n=void 0);else{let i=s;if("additionalProperties"in s&&s.additionalProperties===!1){let{additionalProperties:a,...c}=s;i=c}else n=void 0;o.push(i)}}),o.length?{allOf:o,...n}:void 0}function ff(e,t){let r=typeof e.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(e.value)?"array":"object"}:t.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[e.value]}:{type:r==="bigint"?"integer":r,const:e.value}}var iu,at={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:()=>(iu===void 0&&(iu=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),iu),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 Is(e,t){let r={type:"string"};if(e.checks)for(let n of e.checks)switch(n.kind){case"min":K(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,t);break;case"max":K(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,t);break;case"email":switch(t.emailStrategy){case"format:email":ct(r,"email",n.message,t);break;case"format:idn-email":ct(r,"idn-email",n.message,t);break;case"pattern:zod":Ce(r,at.email,n.message,t);break}break;case"url":ct(r,"uri",n.message,t);break;case"uuid":ct(r,"uuid",n.message,t);break;case"regex":Ce(r,n.regex,n.message,t);break;case"cuid":Ce(r,at.cuid,n.message,t);break;case"cuid2":Ce(r,at.cuid2,n.message,t);break;case"startsWith":Ce(r,RegExp(`^${au(n.value,t)}`),n.message,t);break;case"endsWith":Ce(r,RegExp(`${au(n.value,t)}$`),n.message,t);break;case"datetime":ct(r,"date-time",n.message,t);break;case"date":ct(r,"date",n.message,t);break;case"time":ct(r,"time",n.message,t);break;case"duration":ct(r,"duration",n.message,t);break;case"length":K(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,t),K(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,t);break;case"includes":{Ce(r,RegExp(au(n.value,t)),n.message,t);break}case"ip":{n.version!=="v6"&&ct(r,"ipv4",n.message,t),n.version!=="v4"&&ct(r,"ipv6",n.message,t);break}case"base64url":Ce(r,at.base64url,n.message,t);break;case"jwt":Ce(r,at.jwt,n.message,t);break;case"cidr":{n.version!=="v6"&&Ce(r,at.ipv4Cidr,n.message,t),n.version!=="v4"&&Ce(r,at.ipv6Cidr,n.message,t);break}case"emoji":Ce(r,at.emoji(),n.message,t);break;case"ulid":{Ce(r,at.ulid,n.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{ct(r,"binary",n.message,t);break}case"contentEncoding:base64":{K(r,"contentEncoding","base64",n.message,t);break}case"pattern:zod":{Ce(r,at.base64,n.message,t);break}}break}case"nanoid":Ce(r,at.nanoid,n.message,t);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function au(e,t){return t.patternStrategy==="escape"?Yx(e):e}var Xx=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Yx(e){let t="";for(let r=0;r<e.length;r++)Xx.has(e[r])||(t+="\\"),t+=e[r];return t}function ct(e,t,r,n){e.format||e.anyOf?.some(o=>o.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format,...e.errorMessage&&n.errorMessages&&{errorMessage:{format:e.errorMessage.format}}}),delete e.format,e.errorMessage&&(delete e.errorMessage.format,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.anyOf.push({format:t,...r&&n.errorMessages&&{errorMessage:{format:r}}})):K(e,"format",t,r,n)}function Ce(e,t,r,n){e.pattern||e.allOf?.some(o=>o.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern,...e.errorMessage&&n.errorMessages&&{errorMessage:{pattern:e.errorMessage.pattern}}}),delete e.pattern,e.errorMessage&&(delete e.errorMessage.pattern,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.allOf.push({pattern:hf(t,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):K(e,"pattern",hf(t,n),r,n)}function hf(e,t){if(!t.applyRegexFlags||!e.flags)return e.source;let r={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},n=r.i?e.source.toLowerCase():e.source,o="",s=!1,i=!1,a=!1;for(let c=0;c<n.length;c++){if(s){o+=n[c],s=!1;continue}if(r.i){if(i){if(n[c].match(/[a-z]/)){a?(o+=n[c],o+=`${n[c-2]}-${n[c]}`.toUpperCase(),a=!1):n[c+1]==="-"&&n[c+2]?.match(/[a-z]/)?(o+=n[c],a=!0):o+=`${n[c]}${n[c].toUpperCase()}`;continue}}else if(n[c].match(/[a-z]/)){o+=`[${n[c]}${n[c].toUpperCase()}]`;continue}}if(r.m){if(n[c]==="^"){o+=`(^|(?<=[\r
|
|
38
38
|
]))`;continue}else if(n[c]==="$"){o+=`($|(?=[\r
|
|
39
39
|
]))`;continue}}if(r.s&&n[c]==="."){o+=i?`${n[c]}\r
|
|
40
40
|
`:`[${n[c]}\r
|
|
41
|
-
]`;continue}o+=n[c],n[c]==="\\"?s=!0:i&&n[c]==="]"?i=!1:!i&&n[c]==="["&&(i=!0)}try{new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return o}function Es(e,t){if(t.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),t.target==="openApi3"&&e.keyType?._def.typeName===S.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((n,o)=>({...n,[o]:D(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",o]})??he(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let r={type:"object",additionalProperties:D(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??t.allowedAdditionalProperties};if(t.target==="openApi3")return r;if(e.keyType?._def.typeName===S.ZodString&&e.keyType._def.checks?.length){let{type:n,...o}=Is(e.keyType._def,t);return{...r,propertyNames:o}}else{if(e.keyType?._def.typeName===S.ZodEnum)return{...r,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===S.ZodBranded&&e.keyType._def.type._def.typeName===S.ZodString&&e.keyType._def.type._def.checks?.length){let{type:n,...o}=Rs(e.keyType._def,t);return{...r,propertyNames:o}}}return r}function hf(e,t){if(t.mapStrategy==="record")return Es(e,t);let r=D(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||he(t),n=D(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||he(t);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function gf(e){let t=e.values,n=Object.keys(e.values).filter(s=>typeof t[t[s]]!="number").map(s=>t[s]),o=Array.from(new Set(n.map(s=>typeof s)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:n}}function yf(e){return e.target==="openAi"?void 0:{not:he({...e,currentPath:[...e.currentPath,"not"]})}}function _f(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var Kn={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function bf(e,t){if(t.target==="openApi3")return vf(e,t);let r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in Kn&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,s)=>{let i=Kn[s._def.typeName];return i&&!o.includes(i)?[...o,i]:o},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((o,s)=>{let i=typeof s._def.value;switch(i){case"string":case"number":case"boolean":return[...o,i];case"bigint":return[...o,"integer"];case"object":if(s._def.value===null)return[...o,"null"];default:return o}},[]);if(n.length===r.length){let o=n.filter((s,i,a)=>a.indexOf(s)===i);return{type:o.length>1?o:o[0],enum:r.reduce((s,i)=>s.includes(i._def.value)?s:[...s,i._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,o)=>[...n,...o._def.values.filter(s=>!n.includes(s))],[])};return vf(e,t)}var vf=(e,t)=>{let r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((n,o)=>D(n._def,{...t,currentPath:[...t.currentPath,"anyOf",`${o}`]})).filter(n=>!!n&&(!t.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function wf(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return t.target==="openApi3"?{type:Kn[e.innerType._def.typeName],nullable:!0}:{type:[Kn[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let n=D(e.innerType._def,{...t,currentPath:[...t.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=D(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function kf(e,t){let r={type:"number"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"int":r.type="integer",nu(r,"type",n.message,t);break;case"min":t.target==="jsonSchema7"?n.inclusive?K(r,"minimum",n.value,n.message,t):K(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),K(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?K(r,"maximum",n.value,n.message,t):K(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),K(r,"maximum",n.value,n.message,t));break;case"multipleOf":K(r,"multipleOf",n.value,n.message,t);break}return r}function xf(e,t){let r=t.target==="openAi",n={type:"object",properties:{}},o=[],s=e.shape();for(let a in s){let c=s[a];if(c===void 0||c._def===void 0)continue;let u=Kx(c);u&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),u=!1);let d=D(c._def,{...t,currentPath:[...t.currentPath,"properties",a],propertyPath:[...t.currentPath,"properties",a]});d!==void 0&&(n.properties[a]=d,u||o.push(a))}o.length&&(n.required=o);let i=Gx(e,t);return i!==void 0&&(n.additionalProperties=i),n}function Gx(e,t){if(e.catchall._def.typeName!=="ZodNever")return D(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function Kx(e){try{return e.isOptional()}catch{return!0}}var Sf=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return D(e.innerType._def,t);let r=D(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:he(t)},r]}:he(t)};var $f=(e,t)=>{if(t.pipeStrategy==="input")return D(e.in._def,t);if(t.pipeStrategy==="output")return D(e.out._def,t);let r=D(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),n=D(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}};function zf(e,t){return D(e.type._def,t)}function Pf(e,t){let n={type:"array",uniqueItems:!0,items:D(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&K(n,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&K(n,"maxItems",e.maxSize.value,e.maxSize.message,t),n}function Tf(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,n)=>D(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:D(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,n)=>D(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function Rf(e){return{not:he(e)}}function If(e){return he(e)}var Ef=(e,t)=>D(e.innerType._def,t);var Of=(e,t,r)=>{switch(t){case S.ZodString:return Is(e,r);case S.ZodNumber:return kf(e,r);case S.ZodObject:return xf(e,r);case S.ZodBigInt:return sf(e,r);case S.ZodBoolean:return af();case S.ZodDate:return ou(e,r);case S.ZodUndefined:return Rf(r);case S.ZodNull:return _f(r);case S.ZodArray:return of(e,r);case S.ZodUnion:case S.ZodDiscriminatedUnion:return bf(e,r);case S.ZodIntersection:return pf(e,r);case S.ZodTuple:return Tf(e,r);case S.ZodRecord:return Es(e,r);case S.ZodLiteral:return mf(e,r);case S.ZodEnum:return lf(e);case S.ZodNativeEnum:return gf(e);case S.ZodNullable:return wf(e,r);case S.ZodOptional:return Sf(e,r);case S.ZodMap:return hf(e,r);case S.ZodSet:return Pf(e,r);case S.ZodLazy:return()=>e.getter()._def;case S.ZodPromise:return zf(e,r);case S.ZodNaN:case S.ZodNever:return yf(r);case S.ZodEffects:return df(e,r);case S.ZodAny:return he(r);case S.ZodUnknown:return If(r);case S.ZodDefault:return uf(e,r);case S.ZodBranded:return Rs(e,r);case S.ZodReadonly:return Ef(e,r);case S.ZodCatch:return cf(e,r);case S.ZodPipeline:return $f(e,r);case S.ZodFunction:case S.ZodVoid:case S.ZodSymbol:return;default:return(n=>{})(t)}};function D(e,t,r=!1){let n=t.seen.get(e);if(t.override){let a=t.override?.(e,t,n,r);if(a!==tf)return a}if(n&&!r){let a=Xx(n,t);if(a!==void 0)return a}let o={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,o);let s=Of(e,e.typeName,t),i=typeof s=="function"?D(s(),t):s;if(i&&Yx(e,t,i),t.postProcess){let a=t.postProcess(i,e,t);return o.jsonSchema=i,a}return o.jsonSchema=i,i}var Xx=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:Ts(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((r,n)=>t.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),he(t)):t.$refStrategy==="seen"?he(t):void 0}},Yx=(e,t,r)=>(e.description&&(r.description=e.description,t.markdownDescription&&(r.markdownDescription=e.description)),r);var au=(e,t)=>{let r=nf(t),n=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((c,[u,d])=>({...c,[u]:D(d._def,{...r,currentPath:[...r.basePath,r.definitionPath,u]},!0)??he(r)}),{}):void 0,o=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,s=D(e._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??he(r),i=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;i!==void 0&&(s.title=i),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let a=o===void 0?n?{...s,[r.definitionPath]:n}:s:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,o].join("/"),[r.definitionPath]:{...n,[o]:s}};return r.target==="jsonSchema7"?a.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(a.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in a||"oneOf"in a||"allOf"in a||"type"in a&&Array.isArray(a.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),a};function Qx(e){return!e||e==="jsonSchema7"||e==="draft-7"?"draft-7":e==="jsonSchema2019-09"||e==="draft-2020-12"?"draft-2020-12":"draft-7"}function cu(e,t){return Ye(e)?Ic(e,{target:Qx(t?.target),io:t?.pipeStrategy??"input"}):au(e,{strictUnions:t?.strictUnions??!0,pipeStrategy:t?.pipeStrategy??"input"})}function uu(e){let r=Vt(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=is(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function du(e,t){let r=Ft(e,t);if(!r.success)throw r.error;return r.data}var e0=6e4,Os=class{constructor(t){this._options=t,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(ms,r=>{this._oncancel(r)}),this.setNotificationHandler(hs,r=>{this._onprogress(r)}),this.setRequestHandler(fs,r=>({})),this._taskStore=t?.taskStore,this._taskMessageQueue=t?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(gs,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new O(A.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(_s,async(r,n)=>{let o=async()=>{let s=r.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(s,n.sessionId);){if(a.type==="response"||a.type==="error"){let c=a.message,u=c.id,d=this._requestResolvers.get(u);if(d)if(this._requestResolvers.delete(u),a.type==="response")d(c);else{let l=c,p=new O(l.error.code,l.error.message,l.error.data);d(p)}else{let l=a.type==="response"?"Response":"Error";this._onerror(new Error(`${l} handler missing for request ${u}`))}continue}await this._transport?.send(a.message,{relatedRequestId:n.requestId})}}let i=await this._taskStore.getTask(s,n.sessionId);if(!i)throw new O(A.InvalidParams,`Task not found: ${s}`);if(!Ht(i.status))return await this._waitForTaskUpdate(s,n.signal),await o();if(Ht(i.status)){let a=await this._taskStore.getTaskResult(s,n.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[Bt]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(vs,async(r,n)=>{try{let{tasks:o,nextCursor:s}=await this._taskStore.listTasks(r.params?.cursor,n.sessionId);return{tasks:o,nextCursor:s,_meta:{}}}catch(o){throw new O(A.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(ws,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new O(A.InvalidParams,`Task not found: ${r.params.taskId}`);if(Ht(o.status))throw new O(A.InvalidParams,`Cannot cancel task in terminal status: ${o.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",n.sessionId),this._clearTaskQueue(r.params.taskId);let s=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!s)throw new O(A.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof O?o:new O(A.InvalidRequest,`Failed to cancel task: ${o instanceof Error?o.message:String(o)}`)}}))}async _oncancel(t){if(!t.params.requestId)return;this._requestHandlerAbortControllers.get(t.params.requestId)?.abort(t.params.reason)}_setupTimeout(t,r,n,o,s=!1){this._timeoutInfo.set(t,{timeoutId:setTimeout(o,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:s,onTimeout:o})}_resetTimeout(t){let r=this._timeoutInfo.get(t);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(t),O.fromError(A.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(t){let r=this._timeoutInfo.get(t);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(t))}async connect(t){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=t;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=s=>{n?.(s),this._onerror(s)};let o=this._transport?.onmessage;this._transport.onmessage=(s,i)=>{o?.(s,i),Un(s)||Jm(s)?this._onresponse(s):Jc(s)?this._onrequest(s,i):qm(s)?this._onnotification(s):this._onerror(new Error(`Unknown message type: ${JSON.stringify(s)}`))},await this._transport.start()}_onclose(){let t=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let n of this._timeoutInfo.values())clearTimeout(n.timeoutId);this._timeoutInfo.clear();for(let n of this._requestHandlerAbortControllers.values())n.abort();this._requestHandlerAbortControllers.clear();let r=O.fromError(A.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of t.values())n(r)}_onerror(t){this.onerror?.(t)}_onnotification(t){let r=this._notificationHandlers.get(t.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(t)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(t,r){let n=this._requestHandlers.get(t.method)??this.fallbackRequestHandler,o=this._transport,s=t.params?._meta?.[Bt]?.taskId;if(n===void 0){let d={jsonrpc:"2.0",id:t.id,error:{code:A.MethodNotFound,message:"Method not found"}};s&&this._taskMessageQueue?this._enqueueTaskMessage(s,{type:"error",message:d,timestamp:Date.now()},o?.sessionId).catch(l=>this._onerror(new Error(`Failed to enqueue error response: ${l}`))):o?.send(d).catch(l=>this._onerror(new Error(`Failed to send an error response: ${l}`)));return}let i=new AbortController;this._requestHandlerAbortControllers.set(t.id,i);let a=Dm(t.params)?t.params.task:void 0,c=this._taskStore?this.requestTaskStore(t,o?.sessionId):void 0,u={signal:i.signal,sessionId:o?.sessionId,_meta:t.params?._meta,sendNotification:async d=>{if(i.signal.aborted)return;let l={relatedRequestId:t.id};s&&(l.relatedTask={taskId:s}),await this.notification(d,l)},sendRequest:async(d,l,p)=>{if(i.signal.aborted)throw new O(A.ConnectionClosed,"Request was cancelled");let h={...p,relatedRequestId:t.id};s&&!h.relatedTask&&(h.relatedTask={taskId:s});let f=h.relatedTask?.taskId??s;return f&&c&&await c.updateTaskStatus(f,"input_required"),await this.request(d,l,h)},authInfo:r?.authInfo,requestId:t.id,requestInfo:r?.requestInfo,taskId:s,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(t.method)}).then(()=>n(t,u)).then(async d=>{if(i.signal.aborted)return;let l={result:d,jsonrpc:"2.0",id:t.id};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"response",message:l,timestamp:Date.now()},o?.sessionId):await o?.send(l)},async d=>{if(i.signal.aborted)return;let l={jsonrpc:"2.0",id:t.id,error:{code:Number.isSafeInteger(d.code)?d.code:A.InternalError,message:d.message??"Internal error",...d.data!==void 0&&{data:d.data}}};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"error",message:l,timestamp:Date.now()},o?.sessionId):await o?.send(l)}).catch(d=>this._onerror(new Error(`Failed to send response: ${d}`))).finally(()=>{this._requestHandlerAbortControllers.get(t.id)===i&&this._requestHandlerAbortControllers.delete(t.id)})}_onprogress(t){let{progressToken:r,...n}=t.params,o=Number(r),s=this._progressHandlers.get(o);if(!s){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(t)}`));return}let i=this._responseHandlers.get(o),a=this._timeoutInfo.get(o);if(a&&i&&a.resetTimeoutOnProgress)try{this._resetTimeout(o)}catch(c){this._responseHandlers.delete(o),this._progressHandlers.delete(o),this._cleanupTimeout(o),i(c);return}s(n)}_onresponse(t){let r=Number(t.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),Un(t))n(t);else{let i=new O(t.error.code,t.error.message,t.error.data);n(i)}return}let o=this._responseHandlers.get(r);if(o===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(t)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let s=!1;if(Un(t)&&t.result&&typeof t.result=="object"){let i=t.result;if(i.task&&typeof i.task=="object"){let a=i.task;typeof a.taskId=="string"&&(s=!0,this._taskProgressTokens.set(a.taskId,r))}}if(s||this._progressHandlers.delete(r),Un(t))o(t);else{let i=O.fromError(t.error.code,t.error.message,t.error.data);o(i)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(t,r,n){let{task:o}=n??{};if(!o){try{yield{type:"result",result:await this.request(t,r,n)}}catch(i){yield{type:"error",error:i instanceof O?i:new O(A.InternalError,String(i))}}return}let s;try{let i=await this.request(t,Yr,n);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new O(A.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},n);if(yield{type:"taskStatus",task:a},Ht(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)}:a.status==="failed"?yield{type:"error",error:new O(A.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new O(A.InternalError,`Task ${s} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)};return}let c=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(u=>setTimeout(u,c)),n?.signal?.throwIfAborted()}}catch(i){yield{type:"error",error:i instanceof O?i:new O(A.InternalError,String(i))}}}request(t,r,n){let{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i,task:a,relatedTask:c}=n??{};return new Promise((u,d)=>{let l=w=>{d(w)};if(!this._transport){l(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(t.method),a&&this.assertTaskCapability(t.method)}catch(w){l(w);return}n?.signal?.throwIfAborted();let p=this._requestMessageId++,h={...t,jsonrpc:"2.0",id:p};n?.onprogress&&(this._progressHandlers.set(p,n.onprogress),h.params={...t.params,_meta:{...t.params?._meta||{},progressToken:p}}),a&&(h.params={...h.params,task:a}),c&&(h.params={...h.params,_meta:{...h.params?._meta||{},[Bt]:c}});let f=w=>{this._responseHandlers.delete(p),this._progressHandlers.delete(p),this._cleanupTimeout(p),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:p,reason:String(w)}},{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(R=>this._onerror(new Error(`Failed to send cancellation: ${R}`)));let k=w instanceof O?w:new O(A.RequestTimeout,String(w));d(k)};this._responseHandlers.set(p,w=>{if(!n?.signal?.aborted){if(w instanceof Error)return d(w);try{let k=Ft(r,w.result);k.success?u(k.data):d(k.error)}catch(k){d(k)}}}),n?.signal?.addEventListener("abort",()=>{f(n?.signal?.reason)});let g=n?.timeout??e0,y=()=>f(O.fromError(A.RequestTimeout,"Request timed out",{timeout:g}));this._setupTimeout(p,g,n?.maxTotalTimeout,y,n?.resetTimeoutOnProgress??!1);let b=c?.taskId;if(b){let w=k=>{let R=this._responseHandlers.get(p);R?R(k):this._onerror(new Error(`Response handler missing for side-channeled request ${p}`))};this._requestResolvers.set(p,w),this._enqueueTaskMessage(b,{type:"request",message:h,timestamp:Date.now()}).catch(k=>{this._cleanupTimeout(p),d(k)})}else this._transport.send(h,{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(w=>{this._cleanupTimeout(p),d(w)})})}async getTask(t,r){return this.request({method:"tasks/get",params:t},ys,r)}async getTaskResult(t,r,n){return this.request({method:"tasks/result",params:t},r,n)}async listTasks(t,r){return this.request({method:"tasks/list",params:t},bs,r)}async cancelTask(t,r){return this.request({method:"tasks/cancel",params:t},Bm,r)}async notification(t,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(t.method);let n=r?.relatedTask?.taskId;if(n){let a={...t,jsonrpc:"2.0",params:{...t.params,_meta:{...t.params?._meta||{},[Bt]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(t.method)&&!t.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(t.method))return;this._pendingDebouncedNotifications.add(t.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(t.method),!this._transport)return;let a={...t,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[Bt]:r.relatedTask}}}),this._transport?.send(a,r).catch(c=>this._onerror(c))});return}let i={...t,jsonrpc:"2.0"};r?.relatedTask&&(i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[Bt]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(t,r){let n=uu(t);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,s)=>{let i=du(t,o);return Promise.resolve(r(i,s))})}removeRequestHandler(t){this._requestHandlers.delete(t)}assertCanSetRequestHandler(t){if(this._requestHandlers.has(t))throw new Error(`A request handler for ${t} already exists, which would be overridden`)}setNotificationHandler(t,r){let n=uu(t);this._notificationHandlers.set(n,o=>{let s=du(t,o);return Promise.resolve(r(s))})}removeNotificationHandler(t){this._notificationHandlers.delete(t)}_cleanupTaskProgressHandler(t){let r=this._taskProgressTokens.get(t);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(t))}async _enqueueTaskMessage(t,r,n){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let o=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(t,r,n,o)}async _clearTaskQueue(t,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(t,r);for(let o of n)if(o.type==="request"&&Jc(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new O(A.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(s)):this._onerror(new Error(`Resolver missing for request ${s} during task ${t} cleanup`))}}}async _waitForTaskUpdate(t,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let o=await this._taskStore?.getTask(t);o?.pollInterval&&(n=o.pollInterval)}catch{}return new Promise((o,s)=>{if(r.aborted){s(new O(A.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(i),s(new O(A.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(t,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async o=>{if(!t)throw new Error("No request provided");return await n.createTask(o,t.id,{method:t.method,params:t.params},r)},getTask:async o=>{let s=await n.getTask(o,r);if(!s)throw new O(A.InvalidParams,"Failed to retrieve task: Task not found");return s},storeTaskResult:async(o,s,i)=>{await n.storeTaskResult(o,s,i,r);let a=await n.getTask(o,r);if(a){let c=Bn.parse({method:"notifications/tasks/status",params:a});await this.notification(c),Ht(a.status)&&this._cleanupTaskProgressHandler(o)}},getTaskResult:o=>n.getTaskResult(o,r),updateTaskStatus:async(o,s,i)=>{let a=await n.getTask(o,r);if(!a)throw new O(A.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(Ht(a.status))throw new O(A.InvalidParams,`Cannot update task "${o}" from terminal status "${a.status}" to "${s}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(o,s,i,r);let c=await n.getTask(o,r);if(c){let u=Bn.parse({method:"notifications/tasks/status",params:c});await this.notification(u),Ht(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function jf(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Cf(e,t){let r={...e};for(let n in t){let o=n,s=t[o];if(s===void 0)continue;let i=r[o];jf(i)&&jf(s)?r[o]={...i,...s}:r[o]=s}return r}var by=Ll(Gd(),1),wy=Ll(vy(),1);function FP(){let e=new by.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,wy.default)(e),e}var hi=class{constructor(t){this._ajv=t??FP()}getValidator(t){let r="$id"in t&&typeof t.$id=="string"?this._ajv.getSchema(t.$id)??this._ajv.compile(t):this._ajv.compile(t);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var gi=class{constructor(t){this._server=t}requestStream(t,r,n){return this._server.requestStream(t,r,n)}createMessageStream(t,r){let n=this._server.getClientCapabilities();if((t.tools||t.toolChoice)&&!n?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(t.messages.length>0){let o=t.messages[t.messages.length-1],s=Array.isArray(o.content)?o.content:[o.content],i=s.some(d=>d.type==="tool_result"),a=t.messages.length>1?t.messages[t.messages.length-2]:void 0,c=a?Array.isArray(a.content)?a.content:[a.content]:[],u=c.some(d=>d.type==="tool_use");if(i){if(s.some(d=>d.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 d=new Set(c.filter(p=>p.type==="tool_use").map(p=>p.id)),l=new Set(s.filter(p=>p.type==="tool_result").map(p=>p.toolUseId));if(d.size!==l.size||![...d].every(p=>l.has(p)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return this.requestStream({method:"sampling/createMessage",params:t},Gn,r)}elicitInputStream(t,r){let n=this._server.getClientCapabilities(),o=t.mode??"form";switch(o){case"url":{if(!n?.elicitation?.url)throw new Error("Client does not support url elicitation.");break}case"form":{if(!n?.elicitation?.form)throw new Error("Client does not support form elicitation.");break}}let s=o==="form"&&t.mode===void 0?{...t,mode:"form"}:t;return this.requestStream({method:"elicitation/create",params:s},nn,r)}async getTask(t,r){return this._server.getTask({taskId:t},r)}async getTaskResult(t,r,n){return this._server.getTaskResult({taskId:t},r,n)}async listTasks(t,r){return this._server.listTasks(t?{cursor:t}:void 0,r)}async cancelTask(t,r){return this._server.cancelTask({taskId:t},r)}};function ky(e,t,r){if(!e)throw new Error(`${r} does not support task creation (required for ${t})`);switch(t){case"tools/call":if(!e.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${t})`);break;default:break}}function xy(e,t,r){if(!e)throw new Error(`${r} does not support task creation (required for ${t})`);switch(t){case"sampling/createMessage":if(!e.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${t})`);break;case"elicitation/create":if(!e.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${t})`);break;default:break}}var yi=class extends Os{constructor(t,r){super(r),this._serverInfo=t,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Wn.options.map((n,o)=>[n,o])),this.isMessageIgnored=(n,o)=>{let s=this._loggingLevels.get(o);return s?this.LOG_LEVEL_SEVERITY.get(n)<this.LOG_LEVEL_SEVERITY.get(s):!1},this._capabilities=r?.capabilities??{},this._instructions=r?.instructions,this._jsonSchemaValidator=r?.jsonSchemaValidator??new hi,this.setRequestHandler(Bc,n=>this._oninitialize(n)),this.setNotificationHandler(Hc,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(eu,async(n,o)=>{let s=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:i}=n.params,a=Wn.safeParse(i);return a.success&&this._loggingLevels.set(s,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new gi(this)}),this._experimental}registerCapabilities(t){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Cf(this._capabilities,t)}setRequestHandler(t,r){let o=Vt(t)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(Ye(o)){let a=o;s=a._zod?.def?.value??a.value}else{let a=o;s=a._def?.value??a.value}if(typeof s!="string")throw new Error("Schema method literal must be a string");if(s==="tools/call"){let a=async(c,u)=>{let d=Ft(rn,c);if(!d.success){let f=d.error instanceof Error?d.error.message:String(d.error);throw new O(A.InvalidParams,`Invalid tools/call request: ${f}`)}let{params:l}=d.data,p=await Promise.resolve(r(c,u));if(l.task){let f=Ft(Yr,p);if(!f.success){let g=f.error instanceof Error?f.error.message:String(f.error);throw new O(A.InvalidParams,`Invalid task creation result: ${g}`)}return f.data}let h=Ft(zs,p);if(!h.success){let f=h.error instanceof Error?h.error.message:String(h.error);throw new O(A.InvalidParams,`Invalid tools/call result: ${f}`)}return h.data};return super.setRequestHandler(t,a)}return super.setRequestHandler(t,r)}assertCapabilityForMethod(t){switch(t){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${t})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${t})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${t})`);break;case"ping":break}}assertNotificationCapability(t){switch(t){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${t})`);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 ${t})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${t})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${t})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${t})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(t){if(this._capabilities)switch(t){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${t})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${t})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${t})`);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 ${t})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${t})`);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 ${t})`);break;case"ping":case"initialize":break}}assertTaskCapability(t){xy(this._clientCapabilities?.tasks?.requests,t,"Client")}assertTaskHandlerCapability(t){this._capabilities&&ky(this._capabilities.tasks?.requests,t,"Server")}async _oninitialize(t){let r=t.params.protocolVersion;return this._clientCapabilities=t.params.capabilities,this._clientVersion=t.params.clientInfo,{protocolVersion:Mm.includes(r)?r:Uc,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"},ps)}async createMessage(t,r){if((t.tools||t.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(t.messages.length>0){let n=t.messages[t.messages.length-1],o=Array.isArray(n.content)?n.content:[n.content],s=o.some(u=>u.type==="tool_result"),i=t.messages.length>1?t.messages[t.messages.length-2]:void 0,a=i?Array.isArray(i.content)?i.content:[i.content]:[],c=a.some(u=>u.type==="tool_use");if(s){if(o.some(u=>u.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!c)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(c){let u=new Set(a.filter(l=>l.type==="tool_use").map(l=>l.id)),d=new Set(o.filter(l=>l.type==="tool_result").map(l=>l.toolUseId));if(u.size!==d.size||![...u].every(l=>d.has(l)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return t.tools?this.request({method:"sampling/createMessage",params:t},tu,r):this.request({method:"sampling/createMessage",params:t},Gn,r)}async elicitInput(t,r){switch(t.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support url elicitation.");let o=t;return this.request({method:"elicitation/create",params:o},nn,r)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw new Error("Client does not support form elicitation.");let o=t.mode==="form"?t:{...t,mode:"form"},s=await this.request({method:"elicitation/create",params:o},nn,r);if(s.action==="accept"&&s.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(s.content);if(!a.valid)throw new O(A.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(i){throw i instanceof O?i:new O(A.InternalError,`Error validating elicitation response: ${i instanceof Error?i.message:String(i)}`)}return s}}}createElicitationCompletionNotifier(t,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:t}},r)}async listRoots(t,r){return this.request({method:"roots/list",params:t},ru,r)}async sendLoggingMessage(t,r){if(this._capabilities.logging&&!this.isMessageIgnored(t.level,r))return this.notification({method:"notifications/message",params:t})}async sendResourceUpdated(t){return this.notification({method:"notifications/resources/updated",params:t})}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 $y=Symbol.for("mcp.completable");function nl(e){return!!e&&typeof e=="object"&&$y in e}function zy(e){return e[$y]?.complete}var Sy;(function(e){e.Completable="McpCompletable"})(Sy||(Sy={}));var VP=/^[A-Za-z0-9._-]{1,128}$/;function BP(e){let t=[];if(e.length===0)return{isValid:!1,warnings:["Tool name cannot be empty"]};if(e.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${e.length})`]};if(e.includes(" ")&&t.push("Tool name contains spaces, which may cause parsing issues"),e.includes(",")&&t.push("Tool name contains commas, which may cause parsing issues"),(e.startsWith("-")||e.endsWith("-"))&&t.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts"),(e.startsWith(".")||e.endsWith("."))&&t.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts"),!VP.test(e)){let r=e.split("").filter(n=>!/[A-Za-z0-9._-]/.test(n)).filter((n,o,s)=>s.indexOf(n)===o);return t.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:t}}return{isValid:!0,warnings:t}}function HP(e,t){if(t.length>0){console.warn(`Tool name validation warning for "${e}":`);for(let r of t)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 ol(e){let t=BP(e);return HP(e,t.warnings),t.isValid}var _i=class{constructor(t){this._mcpServer=t}registerToolTask(t,r,n){let o={taskSupport:"required",...r.execution};if(o.taskSupport==="forbidden")throw new Error(`Cannot register task-based tool '${t}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(t,r.title,r.description,r.inputSchema,r.outputSchema,r.annotations,o,r._meta,n)}};var vi=class{constructor(t,r){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new yi(t,r)}get experimental(){return this._experimental||(this._experimental={tasks:new _i(this)}),this._experimental}async connect(t){return await this.server.connect(t)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(rr($s)),this.server.assertCanSetRequestHandler(rr(rn)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler($s,()=>({tools:Object.entries(this._registeredTools).filter(([,t])=>t.enabled).map(([t,r])=>{let n={name:t,title:r.title,description:r.description,inputSchema:(()=>{let o=Kr(r.inputSchema);return o?cu(o,{strictUnions:!0,pipeStrategy:"input"}):WP})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let o=Kr(r.outputSchema);o&&(n.outputSchema=cu(o,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(rn,async(t,r)=>{try{let n=this._registeredTools[t.params.name];if(!n)throw new O(A.InvalidParams,`Tool ${t.params.name} not found`);if(!n.enabled)throw new O(A.InvalidParams,`Tool ${t.params.name} disabled`);let o=!!t.params.task,s=n.execution?.taskSupport,i="createTask"in n.handler;if((s==="required"||s==="optional")&&!i)throw new O(A.InternalError,`Tool ${t.params.name} has taskSupport '${s}' but was not registered with registerToolTask`);if(s==="required"&&!o)throw new O(A.MethodNotFound,`Tool ${t.params.name} requires task augmentation (taskSupport: 'required')`);if(s==="optional"&&!o&&i)return await this.handleAutomaticTaskPolling(n,t,r);let a=await this.validateToolInput(n,t.params.arguments,t.params.name),c=await this.executeToolHandler(n,a,r);return o||await this.validateToolOutput(n,c,t.params.name),c}catch(n){if(n instanceof O&&n.code===A.UrlElicitationRequired)throw n;return this.createToolError(n instanceof Error?n.message:String(n))}}),this._toolHandlersInitialized=!0)}createToolError(t){return{content:[{type:"text",text:t}],isError:!0}}async validateToolInput(t,r,n){if(!t.inputSchema)return;let s=Kr(t.inputSchema)??t.inputSchema,i=await os(s,r);if(!i.success){let a="error"in i?i.error:"Unknown error",c=ss(a);throw new O(A.InvalidParams,`Input validation error: Invalid arguments for tool ${n}: ${c}`)}return i.data}async validateToolOutput(t,r,n){if(!t.outputSchema||!("content"in r)||r.isError)return;if(!r.structuredContent)throw new O(A.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let o=Kr(t.outputSchema),s=await os(o,r.structuredContent);if(!s.success){let i="error"in s?s.error:"Unknown error",a=ss(i);throw new O(A.InvalidParams,`Output validation error: Invalid structured content for tool ${n}: ${a}`)}}async executeToolHandler(t,r,n){let o=t.handler;if("createTask"in o){if(!n.taskStore)throw new Error("No task store provided.");let i={...n,taskStore:n.taskStore};if(t.inputSchema){let a=o;return await Promise.resolve(a.createTask(r,i))}else{let a=o;return await Promise.resolve(a.createTask(i))}}if(t.inputSchema){let i=o;return await Promise.resolve(i(r,n))}else{let i=o;return await Promise.resolve(i(n))}}async handleAutomaticTaskPolling(t,r,n){if(!n.taskStore)throw new Error("No task store provided for task-capable tool.");let o=await this.validateToolInput(t,r.params.arguments,r.params.name),s=t.handler,i={...n,taskStore:n.taskStore},a=o?await Promise.resolve(s.createTask(o,i)):await Promise.resolve(s.createTask(i)),c=a.task.taskId,u=a.task,d=u.pollInterval??5e3;for(;u.status!=="completed"&&u.status!=="failed"&&u.status!=="cancelled";){await new Promise(p=>setTimeout(p,d));let l=await n.taskStore.getTask(c);if(!l)throw new O(A.InternalError,`Task ${c} not found during polling`);u=l}return await n.taskStore.getTaskResult(c)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(rr(Ps)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(Ps,async t=>{switch(t.params.ref.type){case"ref/prompt":return Ym(t),this.handlePromptCompletion(t,t.params.ref);case"ref/resource":return Qm(t),this.handleResourceCompletion(t,t.params.ref);default:throw new O(A.InvalidParams,`Invalid completion reference: ${t.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(t,r){let n=this._registeredPrompts[r.name];if(!n)throw new O(A.InvalidParams,`Prompt ${r.name} not found`);if(!n.enabled)throw new O(A.InvalidParams,`Prompt ${r.name} disabled`);if(!n.argsSchema)return Po;let s=Vt(n.argsSchema)?.[t.params.argument.name];if(!nl(s))return Po;let i=zy(s);if(!i)return Po;let a=await i(t.params.argument.value,t.params.context);return Ty(a)}async handleResourceCompletion(t,r){let n=Object.values(this._registeredResourceTemplates).find(i=>i.resourceTemplate.uriTemplate.toString()===r.uri);if(!n){if(this._registeredResources[r.uri])return Po;throw new O(A.InvalidParams,`Resource template ${t.params.ref.uri} not found`)}let o=n.resourceTemplate.completeCallback(t.params.argument.name);if(!o)return Po;let s=await o(t.params.argument.value,t.params.context);return Ty(s)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(rr(en)),this.server.assertCanSetRequestHandler(rr(tn)),this.server.assertCanSetRequestHandler(rr(ks)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(en,async(t,r)=>{let n=Object.entries(this._registeredResources).filter(([s,i])=>i.enabled).map(([s,i])=>({uri:s,name:i.name,...i.metadata})),o=[];for(let s of Object.values(this._registeredResourceTemplates)){if(!s.resourceTemplate.listCallback)continue;let i=await s.resourceTemplate.listCallback(r);for(let a of i.resources)o.push({...s.metadata,...a})}return{resources:[...n,...o]}}),this.server.setRequestHandler(tn,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(ks,async(t,r)=>{let n=new URL(t.params.uri),o=this._registeredResources[n.toString()];if(o){if(!o.enabled)throw new O(A.InvalidParams,`Resource ${n} disabled`);return o.readCallback(n,r)}for(let s of Object.values(this._registeredResourceTemplates)){let i=s.resourceTemplate.uriTemplate.match(n.toString());if(i)return s.readCallback(n,i,r)}throw new O(A.InvalidParams,`Resource ${n} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(rr(xs)),this.server.assertCanSetRequestHandler(rr(Ss)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(xs,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,t])=>t.enabled).map(([t,r])=>({name:t,title:r.title,description:r.description,arguments:r.argsSchema?GP(r.argsSchema):void 0}))})),this.server.setRequestHandler(Ss,async(t,r)=>{let n=this._registeredPrompts[t.params.name];if(!n)throw new O(A.InvalidParams,`Prompt ${t.params.name} not found`);if(!n.enabled)throw new O(A.InvalidParams,`Prompt ${t.params.name} disabled`);if(n.argsSchema){let o=Kr(n.argsSchema),s=await os(o,t.params.arguments);if(!s.success){let c="error"in s?s.error:"Unknown error",u=ss(c);throw new O(A.InvalidParams,`Invalid arguments for prompt ${t.params.name}: ${u}`)}let i=s.data,a=n.callback;return await Promise.resolve(a(i,r))}else{let o=n.callback;return await Promise.resolve(o(r))}}),this._promptHandlersInitialized=!0)}resource(t,r,...n){let o;typeof n[0]=="object"&&(o=n.shift());let s=n[0];if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let i=this._createRegisteredResource(t,void 0,r,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}else{if(this._registeredResourceTemplates[t])throw new Error(`Resource template ${t} is already registered`);let i=this._createRegisteredResourceTemplate(t,void 0,r,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}}registerResource(t,r,n,o){if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let s=this._createRegisteredResource(t,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}else{if(this._registeredResourceTemplates[t])throw new Error(`Resource template ${t} is already registered`);let s=this._createRegisteredResourceTemplate(t,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}}_createRegisteredResource(t,r,n,o,s){let i={name:t,title:r,metadata:o,readCallback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({uri:null}),update:a=>{typeof a.uri<"u"&&a.uri!==n&&(delete this._registeredResources[n],a.uri&&(this._registeredResources[a.uri]=i)),typeof a.name<"u"&&(i.name=a.name),typeof a.title<"u"&&(i.title=a.title),typeof a.metadata<"u"&&(i.metadata=a.metadata),typeof a.callback<"u"&&(i.readCallback=a.callback),typeof a.enabled<"u"&&(i.enabled=a.enabled),this.sendResourceListChanged()}};return this._registeredResources[n]=i,i}_createRegisteredResourceTemplate(t,r,n,o,s){let i={resourceTemplate:n,title:r,metadata:o,readCallback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({name:null}),update:u=>{typeof u.name<"u"&&u.name!==t&&(delete this._registeredResourceTemplates[t],u.name&&(this._registeredResourceTemplates[u.name]=i)),typeof u.title<"u"&&(i.title=u.title),typeof u.template<"u"&&(i.resourceTemplate=u.template),typeof u.metadata<"u"&&(i.metadata=u.metadata),typeof u.callback<"u"&&(i.readCallback=u.callback),typeof u.enabled<"u"&&(i.enabled=u.enabled),this.sendResourceListChanged()}};this._registeredResourceTemplates[t]=i;let a=n.uriTemplate.variableNames;return Array.isArray(a)&&a.some(u=>!!n.completeCallback(u))&&this.setCompletionRequestHandler(),i}_createRegisteredPrompt(t,r,n,o,s){let i={title:r,description:n,argsSchema:o===void 0?void 0:$r(o),callback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({name:null}),update:a=>{typeof a.name<"u"&&a.name!==t&&(delete this._registeredPrompts[t],a.name&&(this._registeredPrompts[a.name]=i)),typeof a.title<"u"&&(i.title=a.title),typeof a.description<"u"&&(i.description=a.description),typeof a.argsSchema<"u"&&(i.argsSchema=$r(a.argsSchema)),typeof a.callback<"u"&&(i.callback=a.callback),typeof a.enabled<"u"&&(i.enabled=a.enabled),this.sendPromptListChanged()}};return this._registeredPrompts[t]=i,o&&Object.values(o).some(c=>{let u=c instanceof Le?c._def?.innerType:c;return nl(u)})&&this.setCompletionRequestHandler(),i}_createRegisteredTool(t,r,n,o,s,i,a,c,u){ol(t);let d={title:r,description:n,inputSchema:Py(o),outputSchema:Py(s),annotations:i,execution:a,_meta:c,handler:u,enabled:!0,disable:()=>d.update({enabled:!1}),enable:()=>d.update({enabled:!0}),remove:()=>d.update({name:null}),update:l=>{typeof l.name<"u"&&l.name!==t&&(typeof l.name=="string"&&ol(l.name),delete this._registeredTools[t],l.name&&(this._registeredTools[l.name]=d)),typeof l.title<"u"&&(d.title=l.title),typeof l.description<"u"&&(d.description=l.description),typeof l.paramsSchema<"u"&&(d.inputSchema=$r(l.paramsSchema)),typeof l.outputSchema<"u"&&(d.outputSchema=$r(l.outputSchema)),typeof l.callback<"u"&&(d.handler=l.callback),typeof l.annotations<"u"&&(d.annotations=l.annotations),typeof l._meta<"u"&&(d._meta=l._meta),typeof l.enabled<"u"&&(d.enabled=l.enabled),this.sendToolListChanged()}};return this._registeredTools[t]=d,this.setToolRequestHandlers(),this.sendToolListChanged(),d}tool(t,...r){if(this._registeredTools[t])throw new Error(`Tool ${t} is already registered`);let n,o,s,i;if(typeof r[0]=="string"&&(n=r.shift()),r.length>1){let c=r[0];if(sl(c))o=r.shift(),r.length>1&&typeof r[0]=="object"&&r[0]!==null&&!sl(r[0])&&(i=r.shift());else if(typeof c=="object"&&c!==null){if(Object.values(c).some(u=>typeof u=="object"&&u!==null))throw new Error(`Tool ${t} expected a Zod schema or ToolAnnotations, but received an unrecognized object`);i=r.shift()}}let a=r[0];return this._createRegisteredTool(t,void 0,n,o,s,i,{taskSupport:"forbidden"},void 0,a)}registerTool(t,r,n){if(this._registeredTools[t])throw new Error(`Tool ${t} is already registered`);let{title:o,description:s,inputSchema:i,outputSchema:a,annotations:c,_meta:u}=r;return this._createRegisteredTool(t,o,s,i,a,c,{taskSupport:"forbidden"},u,n)}prompt(t,...r){if(this._registeredPrompts[t])throw new Error(`Prompt ${t} is already registered`);let n;typeof r[0]=="string"&&(n=r.shift());let o;r.length>1&&(o=r.shift());let s=r[0],i=this._createRegisteredPrompt(t,void 0,n,o,s);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),i}registerPrompt(t,r,n){if(this._registeredPrompts[t])throw new Error(`Prompt ${t} is already registered`);let{title:o,description:s,argsSchema:i}=r,a=this._createRegisteredPrompt(t,o,s,i,n);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(t,r){return this.server.sendLoggingMessage(t,r)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}};var WP={type:"object",properties:{}};function Ry(e){return e!==null&&typeof e=="object"&&"parse"in e&&typeof e.parse=="function"&&"safeParse"in e&&typeof e.safeParse=="function"}function Iy(e){return"_def"in e||"_zod"in e||Ry(e)}function sl(e){return typeof e!="object"||e===null||Iy(e)?!1:Object.keys(e).length===0?!0:Object.values(e).some(Ry)}function Py(e){if(e){if(sl(e))return $r(e);if(!Iy(e))throw new Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return e}}function GP(e){let t=Vt(e);return t?Object.entries(t).map(([r,n])=>{let o=pm(n),s=mm(n);return{name:r,description:o,required:!s}}):[]}function rr(e){let r=Vt(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=is(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function Ty(e){return{completion:{values:e.slice(0,100),total:e.length,hasMore:e.length>100}}}var Po={completion:{values:[],hasMore:!1}};import Oy from"node:process";var bi=class{append(t){this._buffer=this._buffer?Buffer.concat([this._buffer,t]):t}readMessage(){if(!this._buffer)return null;let t=this._buffer.indexOf(`
|
|
42
|
-
`);if(t===-1)return null;let r=this._buffer.toString("utf8",0,t).replace(/\r$/,"");return this._buffer=this._buffer.subarray(t+1),
|
|
43
|
-
`}var wi=class{constructor(t=Oy.stdin,r=Oy.stdout){this._stdin=t,this._stdout=r,this._readBuffer=new bi,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 t=this._readBuffer.readMessage();if(t===null)break;this.onmessage?.(t)}catch(t){this.onerror?.(t)}}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(t){return new Promise(r=>{let n=Ey(t);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};import{readFile as H_}from"node:fs/promises";import{hostname as dR}from"node:os";import{randomBytes as zT}from"node:crypto";import{existsSync as dl,mkdirSync as PT,readFileSync as ll,renameSync as TT,rmSync as RT,writeFileSync as IT}from"node:fs";import{homedir as ET}from"node:os";import{dirname as OT,join as jT}from"node:path";import{spawn as lT}from"node:child_process";import{randomBytes as pT}from"node:crypto";import{createServer as mT}from"node:http";import{appendFileSync as XP,openSync as u4}from"node:fs";import{homedir as jy}from"node:os";import{dirname as YP,join as Cy,resolve as QP,sep as eT}from"node:path";import{mkdirSync as tT}from"node:fs";var Mr="<SENSITIVE_DATA>",Ay=new Set(["access_token","authorization","code","cookie","kandan_preview_ticket","refresh_token","token"]),rT=new Set(["--access-token","--api-key","--authorization","--cookie","--oauth-code","--password","--refresh-token","--secret","--token"]);function nT(e){if(process.env.VITEST===void 0)return;let t=Cy(jy(),".linzumi"),r=QP(e);if(r===t||r.startsWith(`${t}${eT}`))throw new Error(`test-mode log isolation violated: refusing to open ${e} inside the real ~/.linzumi (point the logger at a temp path; the harness defaults LINZUMI_RUNNER_LOG_FILE / LINZUMI_CLI_AUDIT_LOG for exactly this - see plans/2026-07-10-cli-test-hygiene-spec.md item 2)`)}function il(e,t,r={}){let n=r.logFile??oT();nT(n);try{tT(YP(n),{recursive:!0}),XP(n,`${JSON.stringify({ts:new Date().toISOString(),event:e,...r.sessionId===void 0?{}:{sessionId:r.sessionId},...sT(t)})}
|
|
44
|
-
`,"utf8")}catch{return}}function
|
|
41
|
+
]`;continue}o+=n[c],n[c]==="\\"?s=!0:i&&n[c]==="]"?i=!1:!i&&n[c]==="["&&(i=!0)}try{new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return o}function Os(e,t){if(t.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),t.target==="openApi3"&&e.keyType?._def.typeName===S.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((n,o)=>({...n,[o]:D(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",o]})??he(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let r={type:"object",additionalProperties:D(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??t.allowedAdditionalProperties};if(t.target==="openApi3")return r;if(e.keyType?._def.typeName===S.ZodString&&e.keyType._def.checks?.length){let{type:n,...o}=Is(e.keyType._def,t);return{...r,propertyNames:o}}else{if(e.keyType?._def.typeName===S.ZodEnum)return{...r,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===S.ZodBranded&&e.keyType._def.type._def.typeName===S.ZodString&&e.keyType._def.type._def.checks?.length){let{type:n,...o}=Es(e.keyType._def,t);return{...r,propertyNames:o}}}return r}function gf(e,t){if(t.mapStrategy==="record")return Os(e,t);let r=D(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||he(t),n=D(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||he(t);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function yf(e){let t=e.values,n=Object.keys(e.values).filter(s=>typeof t[t[s]]!="number").map(s=>t[s]),o=Array.from(new Set(n.map(s=>typeof s)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:n}}function _f(e){return e.target==="openAi"?void 0:{not:he({...e,currentPath:[...e.currentPath,"not"]})}}function vf(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var Xn={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function wf(e,t){if(t.target==="openApi3")return bf(e,t);let r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in Xn&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,s)=>{let i=Xn[s._def.typeName];return i&&!o.includes(i)?[...o,i]:o},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((o,s)=>{let i=typeof s._def.value;switch(i){case"string":case"number":case"boolean":return[...o,i];case"bigint":return[...o,"integer"];case"object":if(s._def.value===null)return[...o,"null"];default:return o}},[]);if(n.length===r.length){let o=n.filter((s,i,a)=>a.indexOf(s)===i);return{type:o.length>1?o:o[0],enum:r.reduce((s,i)=>s.includes(i._def.value)?s:[...s,i._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,o)=>[...n,...o._def.values.filter(s=>!n.includes(s))],[])};return bf(e,t)}var bf=(e,t)=>{let r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((n,o)=>D(n._def,{...t,currentPath:[...t.currentPath,"anyOf",`${o}`]})).filter(n=>!!n&&(!t.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function kf(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return t.target==="openApi3"?{type:Xn[e.innerType._def.typeName],nullable:!0}:{type:[Xn[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let n=D(e.innerType._def,{...t,currentPath:[...t.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=D(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function xf(e,t){let r={type:"number"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"int":r.type="integer",ou(r,"type",n.message,t);break;case"min":t.target==="jsonSchema7"?n.inclusive?K(r,"minimum",n.value,n.message,t):K(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),K(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?K(r,"maximum",n.value,n.message,t):K(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),K(r,"maximum",n.value,n.message,t));break;case"multipleOf":K(r,"multipleOf",n.value,n.message,t);break}return r}function Sf(e,t){let r=t.target==="openAi",n={type:"object",properties:{}},o=[],s=e.shape();for(let a in s){let c=s[a];if(c===void 0||c._def===void 0)continue;let u=e0(c);u&&r&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),u=!1);let d=D(c._def,{...t,currentPath:[...t.currentPath,"properties",a],propertyPath:[...t.currentPath,"properties",a]});d!==void 0&&(n.properties[a]=d,u||o.push(a))}o.length&&(n.required=o);let i=Qx(e,t);return i!==void 0&&(n.additionalProperties=i),n}function Qx(e,t){if(e.catchall._def.typeName!=="ZodNever")return D(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function e0(e){try{return e.isOptional()}catch{return!0}}var $f=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return D(e.innerType._def,t);let r=D(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:he(t)},r]}:he(t)};var zf=(e,t)=>{if(t.pipeStrategy==="input")return D(e.in._def,t);if(t.pipeStrategy==="output")return D(e.out._def,t);let r=D(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),n=D(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}};function Pf(e,t){return D(e.type._def,t)}function Tf(e,t){let n={type:"array",uniqueItems:!0,items:D(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&K(n,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&K(n,"maxItems",e.maxSize.value,e.maxSize.message,t),n}function Rf(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,n)=>D(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:D(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,n)=>D(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function Ef(e){return{not:he(e)}}function If(e){return he(e)}var Of=(e,t)=>D(e.innerType._def,t);var jf=(e,t,r)=>{switch(t){case S.ZodString:return Is(e,r);case S.ZodNumber:return xf(e,r);case S.ZodObject:return Sf(e,r);case S.ZodBigInt:return af(e,r);case S.ZodBoolean:return cf();case S.ZodDate:return su(e,r);case S.ZodUndefined:return Ef(r);case S.ZodNull:return vf(r);case S.ZodArray:return sf(e,r);case S.ZodUnion:case S.ZodDiscriminatedUnion:return wf(e,r);case S.ZodIntersection:return mf(e,r);case S.ZodTuple:return Rf(e,r);case S.ZodRecord:return Os(e,r);case S.ZodLiteral:return ff(e,r);case S.ZodEnum:return pf(e);case S.ZodNativeEnum:return yf(e);case S.ZodNullable:return kf(e,r);case S.ZodOptional:return $f(e,r);case S.ZodMap:return gf(e,r);case S.ZodSet:return Tf(e,r);case S.ZodLazy:return()=>e.getter()._def;case S.ZodPromise:return Pf(e,r);case S.ZodNaN:case S.ZodNever:return _f(r);case S.ZodEffects:return lf(e,r);case S.ZodAny:return he(r);case S.ZodUnknown:return If(r);case S.ZodDefault:return df(e,r);case S.ZodBranded:return Es(e,r);case S.ZodReadonly:return Of(e,r);case S.ZodCatch:return uf(e,r);case S.ZodPipeline:return zf(e,r);case S.ZodFunction:case S.ZodVoid:case S.ZodSymbol:return;default:return(n=>{})(t)}};function D(e,t,r=!1){let n=t.seen.get(e);if(t.override){let a=t.override?.(e,t,n,r);if(a!==rf)return a}if(n&&!r){let a=t0(n,t);if(a!==void 0)return a}let o={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,o);let s=jf(e,e.typeName,t),i=typeof s=="function"?D(s(),t):s;if(i&&r0(e,t,i),t.postProcess){let a=t.postProcess(i,e,t);return o.jsonSchema=i,a}return o.jsonSchema=i,i}var t0=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:Rs(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((r,n)=>t.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),he(t)):t.$refStrategy==="seen"?he(t):void 0}},r0=(e,t,r)=>(e.description&&(r.description=e.description,t.markdownDescription&&(r.markdownDescription=e.description)),r);var cu=(e,t)=>{let r=of(t),n=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((c,[u,d])=>({...c,[u]:D(d._def,{...r,currentPath:[...r.basePath,r.definitionPath,u]},!0)??he(r)}),{}):void 0,o=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,s=D(e._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??he(r),i=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;i!==void 0&&(s.title=i),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let a=o===void 0?n?{...s,[r.definitionPath]:n}:s:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,o].join("/"),[r.definitionPath]:{...n,[o]:s}};return r.target==="jsonSchema7"?a.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(a.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in a||"oneOf"in a||"allOf"in a||"type"in a&&Array.isArray(a.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),a};function n0(e){return!e||e==="jsonSchema7"||e==="draft-7"?"draft-7":e==="jsonSchema2019-09"||e==="draft-2020-12"?"draft-2020-12":"draft-7"}function uu(e,t){return Ye(e)?Ic(e,{target:n0(t?.target),io:t?.pipeStrategy??"input"}):cu(e,{strictUnions:t?.strictUnions??!0,pipeStrategy:t?.pipeStrategy??"input"})}function du(e){let r=Bt(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=as(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function lu(e,t){let r=Vt(e,t);if(!r.success)throw r.error;return r.data}var o0=6e4,js=class{constructor(t){this._options=t,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(fs,r=>{this._oncancel(r)}),this.setNotificationHandler(gs,r=>{this._onprogress(r)}),this.setRequestHandler(hs,r=>({})),this._taskStore=t?.taskStore,this._taskMessageQueue=t?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(ys,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new O(A.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(vs,async(r,n)=>{let o=async()=>{let s=r.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(s,n.sessionId);){if(a.type==="response"||a.type==="error"){let c=a.message,u=c.id,d=this._requestResolvers.get(u);if(d)if(this._requestResolvers.delete(u),a.type==="response")d(c);else{let l=c,p=new O(l.error.code,l.error.message,l.error.data);d(p)}else{let l=a.type==="response"?"Response":"Error";this._onerror(new Error(`${l} handler missing for request ${u}`))}continue}await this._transport?.send(a.message,{relatedRequestId:n.requestId})}}let i=await this._taskStore.getTask(s,n.sessionId);if(!i)throw new O(A.InvalidParams,`Task not found: ${s}`);if(!Wt(i.status))return await this._waitForTaskUpdate(s,n.signal),await o();if(Wt(i.status)){let a=await this._taskStore.getTaskResult(s,n.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[Ht]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(bs,async(r,n)=>{try{let{tasks:o,nextCursor:s}=await this._taskStore.listTasks(r.params?.cursor,n.sessionId);return{tasks:o,nextCursor:s,_meta:{}}}catch(o){throw new O(A.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(ks,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new O(A.InvalidParams,`Task not found: ${r.params.taskId}`);if(Wt(o.status))throw new O(A.InvalidParams,`Cannot cancel task in terminal status: ${o.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",n.sessionId),this._clearTaskQueue(r.params.taskId);let s=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!s)throw new O(A.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof O?o:new O(A.InvalidRequest,`Failed to cancel task: ${o instanceof Error?o.message:String(o)}`)}}))}async _oncancel(t){if(!t.params.requestId)return;this._requestHandlerAbortControllers.get(t.params.requestId)?.abort(t.params.reason)}_setupTimeout(t,r,n,o,s=!1){this._timeoutInfo.set(t,{timeoutId:setTimeout(o,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:s,onTimeout:o})}_resetTimeout(t){let r=this._timeoutInfo.get(t);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(t),O.fromError(A.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(t){let r=this._timeoutInfo.get(t);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(t))}async connect(t){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=t;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=s=>{n?.(s),this._onerror(s)};let o=this._transport?.onmessage;this._transport.onmessage=(s,i)=>{o?.(s,i),qn(s)||Fm(s)?this._onresponse(s):Fc(s)?this._onrequest(s,i):Jm(s)?this._onnotification(s):this._onerror(new Error(`Unknown message type: ${JSON.stringify(s)}`))},await this._transport.start()}_onclose(){let t=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let n of this._timeoutInfo.values())clearTimeout(n.timeoutId);this._timeoutInfo.clear();for(let n of this._requestHandlerAbortControllers.values())n.abort();this._requestHandlerAbortControllers.clear();let r=O.fromError(A.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of t.values())n(r)}_onerror(t){this.onerror?.(t)}_onnotification(t){let r=this._notificationHandlers.get(t.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(t)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(t,r){let n=this._requestHandlers.get(t.method)??this.fallbackRequestHandler,o=this._transport,s=t.params?._meta?.[Ht]?.taskId;if(n===void 0){let d={jsonrpc:"2.0",id:t.id,error:{code:A.MethodNotFound,message:"Method not found"}};s&&this._taskMessageQueue?this._enqueueTaskMessage(s,{type:"error",message:d,timestamp:Date.now()},o?.sessionId).catch(l=>this._onerror(new Error(`Failed to enqueue error response: ${l}`))):o?.send(d).catch(l=>this._onerror(new Error(`Failed to send an error response: ${l}`)));return}let i=new AbortController;this._requestHandlerAbortControllers.set(t.id,i);let a=Zm(t.params)?t.params.task:void 0,c=this._taskStore?this.requestTaskStore(t,o?.sessionId):void 0,u={signal:i.signal,sessionId:o?.sessionId,_meta:t.params?._meta,sendNotification:async d=>{if(i.signal.aborted)return;let l={relatedRequestId:t.id};s&&(l.relatedTask={taskId:s}),await this.notification(d,l)},sendRequest:async(d,l,p)=>{if(i.signal.aborted)throw new O(A.ConnectionClosed,"Request was cancelled");let h={...p,relatedRequestId:t.id};s&&!h.relatedTask&&(h.relatedTask={taskId:s});let f=h.relatedTask?.taskId??s;return f&&c&&await c.updateTaskStatus(f,"input_required"),await this.request(d,l,h)},authInfo:r?.authInfo,requestId:t.id,requestInfo:r?.requestInfo,taskId:s,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(t.method)}).then(()=>n(t,u)).then(async d=>{if(i.signal.aborted)return;let l={result:d,jsonrpc:"2.0",id:t.id};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"response",message:l,timestamp:Date.now()},o?.sessionId):await o?.send(l)},async d=>{if(i.signal.aborted)return;let l={jsonrpc:"2.0",id:t.id,error:{code:Number.isSafeInteger(d.code)?d.code:A.InternalError,message:d.message??"Internal error",...d.data!==void 0&&{data:d.data}}};s&&this._taskMessageQueue?await this._enqueueTaskMessage(s,{type:"error",message:l,timestamp:Date.now()},o?.sessionId):await o?.send(l)}).catch(d=>this._onerror(new Error(`Failed to send response: ${d}`))).finally(()=>{this._requestHandlerAbortControllers.get(t.id)===i&&this._requestHandlerAbortControllers.delete(t.id)})}_onprogress(t){let{progressToken:r,...n}=t.params,o=Number(r),s=this._progressHandlers.get(o);if(!s){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(t)}`));return}let i=this._responseHandlers.get(o),a=this._timeoutInfo.get(o);if(a&&i&&a.resetTimeoutOnProgress)try{this._resetTimeout(o)}catch(c){this._responseHandlers.delete(o),this._progressHandlers.delete(o),this._cleanupTimeout(o),i(c);return}s(n)}_onresponse(t){let r=Number(t.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),qn(t))n(t);else{let i=new O(t.error.code,t.error.message,t.error.data);n(i)}return}let o=this._responseHandlers.get(r);if(o===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(t)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let s=!1;if(qn(t)&&t.result&&typeof t.result=="object"){let i=t.result;if(i.task&&typeof i.task=="object"){let a=i.task;typeof a.taskId=="string"&&(s=!0,this._taskProgressTokens.set(a.taskId,r))}}if(s||this._progressHandlers.delete(r),qn(t))o(t);else{let i=O.fromError(t.error.code,t.error.message,t.error.data);o(i)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(t,r,n){let{task:o}=n??{};if(!o){try{yield{type:"result",result:await this.request(t,r,n)}}catch(i){yield{type:"error",error:i instanceof O?i:new O(A.InternalError,String(i))}}return}let s;try{let i=await this.request(t,Qr,n);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new O(A.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},n);if(yield{type:"taskStatus",task:a},Wt(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)}:a.status==="failed"?yield{type:"error",error:new O(A.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new O(A.InternalError,`Task ${s} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:s},r,n)};return}let c=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(u=>setTimeout(u,c)),n?.signal?.throwIfAborted()}}catch(i){yield{type:"error",error:i instanceof O?i:new O(A.InternalError,String(i))}}}request(t,r,n){let{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i,task:a,relatedTask:c}=n??{};return new Promise((u,d)=>{let l=w=>{d(w)};if(!this._transport){l(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(t.method),a&&this.assertTaskCapability(t.method)}catch(w){l(w);return}n?.signal?.throwIfAborted();let p=this._requestMessageId++,h={...t,jsonrpc:"2.0",id:p};n?.onprogress&&(this._progressHandlers.set(p,n.onprogress),h.params={...t.params,_meta:{...t.params?._meta||{},progressToken:p}}),a&&(h.params={...h.params,task:a}),c&&(h.params={...h.params,_meta:{...h.params?._meta||{},[Ht]:c}});let f=w=>{this._responseHandlers.delete(p),this._progressHandlers.delete(p),this._cleanupTimeout(p),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:p,reason:String(w)}},{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(R=>this._onerror(new Error(`Failed to send cancellation: ${R}`)));let k=w instanceof O?w:new O(A.RequestTimeout,String(w));d(k)};this._responseHandlers.set(p,w=>{if(!n?.signal?.aborted){if(w instanceof Error)return d(w);try{let k=Vt(r,w.result);k.success?u(k.data):d(k.error)}catch(k){d(k)}}}),n?.signal?.addEventListener("abort",()=>{f(n?.signal?.reason)});let g=n?.timeout??o0,y=()=>f(O.fromError(A.RequestTimeout,"Request timed out",{timeout:g}));this._setupTimeout(p,g,n?.maxTotalTimeout,y,n?.resetTimeoutOnProgress??!1);let b=c?.taskId;if(b){let w=k=>{let R=this._responseHandlers.get(p);R?R(k):this._onerror(new Error(`Response handler missing for side-channeled request ${p}`))};this._requestResolvers.set(p,w),this._enqueueTaskMessage(b,{type:"request",message:h,timestamp:Date.now()}).catch(k=>{this._cleanupTimeout(p),d(k)})}else this._transport.send(h,{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(w=>{this._cleanupTimeout(p),d(w)})})}async getTask(t,r){return this.request({method:"tasks/get",params:t},_s,r)}async getTaskResult(t,r,n){return this.request({method:"tasks/result",params:t},r,n)}async listTasks(t,r){return this.request({method:"tasks/list",params:t},ws,r)}async cancelTask(t,r){return this.request({method:"tasks/cancel",params:t},Hm,r)}async notification(t,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(t.method);let n=r?.relatedTask?.taskId;if(n){let a={...t,jsonrpc:"2.0",params:{...t.params,_meta:{...t.params?._meta||{},[Ht]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(t.method)&&!t.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(t.method))return;this._pendingDebouncedNotifications.add(t.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(t.method),!this._transport)return;let a={...t,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[Ht]:r.relatedTask}}}),this._transport?.send(a,r).catch(c=>this._onerror(c))});return}let i={...t,jsonrpc:"2.0"};r?.relatedTask&&(i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[Ht]:r.relatedTask}}}),await this._transport.send(i,r)}setRequestHandler(t,r){let n=du(t);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,s)=>{let i=lu(t,o);return Promise.resolve(r(i,s))})}removeRequestHandler(t){this._requestHandlers.delete(t)}assertCanSetRequestHandler(t){if(this._requestHandlers.has(t))throw new Error(`A request handler for ${t} already exists, which would be overridden`)}setNotificationHandler(t,r){let n=du(t);this._notificationHandlers.set(n,o=>{let s=lu(t,o);return Promise.resolve(r(s))})}removeNotificationHandler(t){this._notificationHandlers.delete(t)}_cleanupTaskProgressHandler(t){let r=this._taskProgressTokens.get(t);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(t))}async _enqueueTaskMessage(t,r,n){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let o=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(t,r,n,o)}async _clearTaskQueue(t,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(t,r);for(let o of n)if(o.type==="request"&&Fc(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new O(A.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(s)):this._onerror(new Error(`Resolver missing for request ${s} during task ${t} cleanup`))}}}async _waitForTaskUpdate(t,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let o=await this._taskStore?.getTask(t);o?.pollInterval&&(n=o.pollInterval)}catch{}return new Promise((o,s)=>{if(r.aborted){s(new O(A.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(i),s(new O(A.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(t,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async o=>{if(!t)throw new Error("No request provided");return await n.createTask(o,t.id,{method:t.method,params:t.params},r)},getTask:async o=>{let s=await n.getTask(o,r);if(!s)throw new O(A.InvalidParams,"Failed to retrieve task: Task not found");return s},storeTaskResult:async(o,s,i)=>{await n.storeTaskResult(o,s,i,r);let a=await n.getTask(o,r);if(a){let c=Hn.parse({method:"notifications/tasks/status",params:a});await this.notification(c),Wt(a.status)&&this._cleanupTaskProgressHandler(o)}},getTaskResult:o=>n.getTaskResult(o,r),updateTaskStatus:async(o,s,i)=>{let a=await n.getTask(o,r);if(!a)throw new O(A.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(Wt(a.status))throw new O(A.InvalidParams,`Cannot update task "${o}" from terminal status "${a.status}" to "${s}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(o,s,i,r);let c=await n.getTask(o,r);if(c){let u=Hn.parse({method:"notifications/tasks/status",params:c});await this.notification(u),Wt(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function Cf(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Af(e,t){let r={...e};for(let n in t){let o=n,s=t[o];if(s===void 0)continue;let i=r[o];Cf(i)&&Cf(s)?r[o]={...i,...s}:r[o]=s}return r}var wy=Dl(Kd(),1),ky=Dl(by(),1);function WP(){let e=new wy.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,ky.default)(e),e}var gi=class{constructor(t){this._ajv=t??WP()}getValidator(t){let r="$id"in t&&typeof t.$id=="string"?this._ajv.getSchema(t.$id)??this._ajv.compile(t):this._ajv.compile(t);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var yi=class{constructor(t){this._server=t}requestStream(t,r,n){return this._server.requestStream(t,r,n)}createMessageStream(t,r){let n=this._server.getClientCapabilities();if((t.tools||t.toolChoice)&&!n?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(t.messages.length>0){let o=t.messages[t.messages.length-1],s=Array.isArray(o.content)?o.content:[o.content],i=s.some(d=>d.type==="tool_result"),a=t.messages.length>1?t.messages[t.messages.length-2]:void 0,c=a?Array.isArray(a.content)?a.content:[a.content]:[],u=c.some(d=>d.type==="tool_use");if(i){if(s.some(d=>d.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 d=new Set(c.filter(p=>p.type==="tool_use").map(p=>p.id)),l=new Set(s.filter(p=>p.type==="tool_result").map(p=>p.toolUseId));if(d.size!==l.size||![...d].every(p=>l.has(p)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return this.requestStream({method:"sampling/createMessage",params:t},Kn,r)}elicitInputStream(t,r){let n=this._server.getClientCapabilities(),o=t.mode??"form";switch(o){case"url":{if(!n?.elicitation?.url)throw new Error("Client does not support url elicitation.");break}case"form":{if(!n?.elicitation?.form)throw new Error("Client does not support form elicitation.");break}}let s=o==="form"&&t.mode===void 0?{...t,mode:"form"}:t;return this.requestStream({method:"elicitation/create",params:s},on,r)}async getTask(t,r){return this._server.getTask({taskId:t},r)}async getTaskResult(t,r,n){return this._server.getTaskResult({taskId:t},r,n)}async listTasks(t,r){return this._server.listTasks(t?{cursor:t}:void 0,r)}async cancelTask(t,r){return this._server.cancelTask({taskId:t},r)}};function xy(e,t,r){if(!e)throw new Error(`${r} does not support task creation (required for ${t})`);switch(t){case"tools/call":if(!e.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${t})`);break;default:break}}function Sy(e,t,r){if(!e)throw new Error(`${r} does not support task creation (required for ${t})`);switch(t){case"sampling/createMessage":if(!e.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${t})`);break;case"elicitation/create":if(!e.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${t})`);break;default:break}}var _i=class extends js{constructor(t,r){super(r),this._serverInfo=t,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Gn.options.map((n,o)=>[n,o])),this.isMessageIgnored=(n,o)=>{let s=this._loggingLevels.get(o);return s?this.LOG_LEVEL_SEVERITY.get(n)<this.LOG_LEVEL_SEVERITY.get(s):!1},this._capabilities=r?.capabilities??{},this._instructions=r?.instructions,this._jsonSchemaValidator=r?.jsonSchemaValidator??new gi,this.setRequestHandler(Hc,n=>this._oninitialize(n)),this.setNotificationHandler(Wc,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(tu,async(n,o)=>{let s=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:i}=n.params,a=Gn.safeParse(i);return a.success&&this._loggingLevels.set(s,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new yi(this)}),this._experimental}registerCapabilities(t){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Af(this._capabilities,t)}setRequestHandler(t,r){let o=Bt(t)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(Ye(o)){let a=o;s=a._zod?.def?.value??a.value}else{let a=o;s=a._def?.value??a.value}if(typeof s!="string")throw new Error("Schema method literal must be a string");if(s==="tools/call"){let a=async(c,u)=>{let d=Vt(nn,c);if(!d.success){let f=d.error instanceof Error?d.error.message:String(d.error);throw new O(A.InvalidParams,`Invalid tools/call request: ${f}`)}let{params:l}=d.data,p=await Promise.resolve(r(c,u));if(l.task){let f=Vt(Qr,p);if(!f.success){let g=f.error instanceof Error?f.error.message:String(f.error);throw new O(A.InvalidParams,`Invalid task creation result: ${g}`)}return f.data}let h=Vt(Ps,p);if(!h.success){let f=h.error instanceof Error?h.error.message:String(h.error);throw new O(A.InvalidParams,`Invalid tools/call result: ${f}`)}return h.data};return super.setRequestHandler(t,a)}return super.setRequestHandler(t,r)}assertCapabilityForMethod(t){switch(t){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${t})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${t})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${t})`);break;case"ping":break}}assertNotificationCapability(t){switch(t){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${t})`);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 ${t})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${t})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${t})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${t})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(t){if(this._capabilities)switch(t){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${t})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${t})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${t})`);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 ${t})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${t})`);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 ${t})`);break;case"ping":case"initialize":break}}assertTaskCapability(t){Sy(this._clientCapabilities?.tasks?.requests,t,"Client")}assertTaskHandlerCapability(t){this._capabilities&&xy(this._capabilities.tasks?.requests,t,"Server")}async _oninitialize(t){let r=t.params.protocolVersion;return this._clientCapabilities=t.params.capabilities,this._clientVersion=t.params.clientInfo,{protocolVersion:Nm.includes(r)?r:qc,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"},ms)}async createMessage(t,r){if((t.tools||t.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(t.messages.length>0){let n=t.messages[t.messages.length-1],o=Array.isArray(n.content)?n.content:[n.content],s=o.some(u=>u.type==="tool_result"),i=t.messages.length>1?t.messages[t.messages.length-2]:void 0,a=i?Array.isArray(i.content)?i.content:[i.content]:[],c=a.some(u=>u.type==="tool_use");if(s){if(o.some(u=>u.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!c)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(c){let u=new Set(a.filter(l=>l.type==="tool_use").map(l=>l.id)),d=new Set(o.filter(l=>l.type==="tool_result").map(l=>l.toolUseId));if(u.size!==d.size||![...u].every(l=>d.has(l)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return t.tools?this.request({method:"sampling/createMessage",params:t},ru,r):this.request({method:"sampling/createMessage",params:t},Kn,r)}async elicitInput(t,r){switch(t.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support url elicitation.");let o=t;return this.request({method:"elicitation/create",params:o},on,r)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw new Error("Client does not support form elicitation.");let o=t.mode==="form"?t:{...t,mode:"form"},s=await this.request({method:"elicitation/create",params:o},on,r);if(s.action==="accept"&&s.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(s.content);if(!a.valid)throw new O(A.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(i){throw i instanceof O?i:new O(A.InternalError,`Error validating elicitation response: ${i instanceof Error?i.message:String(i)}`)}return s}}}createElicitationCompletionNotifier(t,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:t}},r)}async listRoots(t,r){return this.request({method:"roots/list",params:t},nu,r)}async sendLoggingMessage(t,r){if(this._capabilities.logging&&!this.isMessageIgnored(t.level,r))return this.notification({method:"notifications/message",params:t})}async sendResourceUpdated(t){return this.notification({method:"notifications/resources/updated",params:t})}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 zy=Symbol.for("mcp.completable");function ol(e){return!!e&&typeof e=="object"&&zy in e}function Py(e){return e[zy]?.complete}var $y;(function(e){e.Completable="McpCompletable"})($y||($y={}));var GP=/^[A-Za-z0-9._-]{1,128}$/;function KP(e){let t=[];if(e.length===0)return{isValid:!1,warnings:["Tool name cannot be empty"]};if(e.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${e.length})`]};if(e.includes(" ")&&t.push("Tool name contains spaces, which may cause parsing issues"),e.includes(",")&&t.push("Tool name contains commas, which may cause parsing issues"),(e.startsWith("-")||e.endsWith("-"))&&t.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts"),(e.startsWith(".")||e.endsWith("."))&&t.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts"),!GP.test(e)){let r=e.split("").filter(n=>!/[A-Za-z0-9._-]/.test(n)).filter((n,o,s)=>s.indexOf(n)===o);return t.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:t}}return{isValid:!0,warnings:t}}function XP(e,t){if(t.length>0){console.warn(`Tool name validation warning for "${e}":`);for(let r of t)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 sl(e){let t=KP(e);return XP(e,t.warnings),t.isValid}var vi=class{constructor(t){this._mcpServer=t}registerToolTask(t,r,n){let o={taskSupport:"required",...r.execution};if(o.taskSupport==="forbidden")throw new Error(`Cannot register task-based tool '${t}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(t,r.title,r.description,r.inputSchema,r.outputSchema,r.annotations,o,r._meta,n)}};var bi=class{constructor(t,r){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new _i(t,r)}get experimental(){return this._experimental||(this._experimental={tasks:new vi(this)}),this._experimental}async connect(t){return await this.server.connect(t)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(nr(zs)),this.server.assertCanSetRequestHandler(nr(nn)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(zs,()=>({tools:Object.entries(this._registeredTools).filter(([,t])=>t.enabled).map(([t,r])=>{let n={name:t,title:r.title,description:r.description,inputSchema:(()=>{let o=Xr(r.inputSchema);return o?uu(o,{strictUnions:!0,pipeStrategy:"input"}):YP})(),annotations:r.annotations,execution:r.execution,_meta:r._meta};if(r.outputSchema){let o=Xr(r.outputSchema);o&&(n.outputSchema=uu(o,{strictUnions:!0,pipeStrategy:"output"}))}return n})})),this.server.setRequestHandler(nn,async(t,r)=>{try{let n=this._registeredTools[t.params.name];if(!n)throw new O(A.InvalidParams,`Tool ${t.params.name} not found`);if(!n.enabled)throw new O(A.InvalidParams,`Tool ${t.params.name} disabled`);let o=!!t.params.task,s=n.execution?.taskSupport,i="createTask"in n.handler;if((s==="required"||s==="optional")&&!i)throw new O(A.InternalError,`Tool ${t.params.name} has taskSupport '${s}' but was not registered with registerToolTask`);if(s==="required"&&!o)throw new O(A.MethodNotFound,`Tool ${t.params.name} requires task augmentation (taskSupport: 'required')`);if(s==="optional"&&!o&&i)return await this.handleAutomaticTaskPolling(n,t,r);let a=await this.validateToolInput(n,t.params.arguments,t.params.name),c=await this.executeToolHandler(n,a,r);return o||await this.validateToolOutput(n,c,t.params.name),c}catch(n){if(n instanceof O&&n.code===A.UrlElicitationRequired)throw n;return this.createToolError(n instanceof Error?n.message:String(n))}}),this._toolHandlersInitialized=!0)}createToolError(t){return{content:[{type:"text",text:t}],isError:!0}}async validateToolInput(t,r,n){if(!t.inputSchema)return;let s=Xr(t.inputSchema)??t.inputSchema,i=await ss(s,r);if(!i.success){let a="error"in i?i.error:"Unknown error",c=is(a);throw new O(A.InvalidParams,`Input validation error: Invalid arguments for tool ${n}: ${c}`)}return i.data}async validateToolOutput(t,r,n){if(!t.outputSchema||!("content"in r)||r.isError)return;if(!r.structuredContent)throw new O(A.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let o=Xr(t.outputSchema),s=await ss(o,r.structuredContent);if(!s.success){let i="error"in s?s.error:"Unknown error",a=is(i);throw new O(A.InvalidParams,`Output validation error: Invalid structured content for tool ${n}: ${a}`)}}async executeToolHandler(t,r,n){let o=t.handler;if("createTask"in o){if(!n.taskStore)throw new Error("No task store provided.");let i={...n,taskStore:n.taskStore};if(t.inputSchema){let a=o;return await Promise.resolve(a.createTask(r,i))}else{let a=o;return await Promise.resolve(a.createTask(i))}}if(t.inputSchema){let i=o;return await Promise.resolve(i(r,n))}else{let i=o;return await Promise.resolve(i(n))}}async handleAutomaticTaskPolling(t,r,n){if(!n.taskStore)throw new Error("No task store provided for task-capable tool.");let o=await this.validateToolInput(t,r.params.arguments,r.params.name),s=t.handler,i={...n,taskStore:n.taskStore},a=o?await Promise.resolve(s.createTask(o,i)):await Promise.resolve(s.createTask(i)),c=a.task.taskId,u=a.task,d=u.pollInterval??5e3;for(;u.status!=="completed"&&u.status!=="failed"&&u.status!=="cancelled";){await new Promise(p=>setTimeout(p,d));let l=await n.taskStore.getTask(c);if(!l)throw new O(A.InternalError,`Task ${c} not found during polling`);u=l}return await n.taskStore.getTaskResult(c)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(nr(Ts)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(Ts,async t=>{switch(t.params.ref.type){case"ref/prompt":return Qm(t),this.handlePromptCompletion(t,t.params.ref);case"ref/resource":return ef(t),this.handleResourceCompletion(t,t.params.ref);default:throw new O(A.InvalidParams,`Invalid completion reference: ${t.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(t,r){let n=this._registeredPrompts[r.name];if(!n)throw new O(A.InvalidParams,`Prompt ${r.name} not found`);if(!n.enabled)throw new O(A.InvalidParams,`Prompt ${r.name} disabled`);if(!n.argsSchema)return To;let s=Bt(n.argsSchema)?.[t.params.argument.name];if(!ol(s))return To;let i=Py(s);if(!i)return To;let a=await i(t.params.argument.value,t.params.context);return Ry(a)}async handleResourceCompletion(t,r){let n=Object.values(this._registeredResourceTemplates).find(i=>i.resourceTemplate.uriTemplate.toString()===r.uri);if(!n){if(this._registeredResources[r.uri])return To;throw new O(A.InvalidParams,`Resource template ${t.params.ref.uri} not found`)}let o=n.resourceTemplate.completeCallback(t.params.argument.name);if(!o)return To;let s=await o(t.params.argument.value,t.params.context);return Ry(s)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(nr(tn)),this.server.assertCanSetRequestHandler(nr(rn)),this.server.assertCanSetRequestHandler(nr(xs)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(tn,async(t,r)=>{let n=Object.entries(this._registeredResources).filter(([s,i])=>i.enabled).map(([s,i])=>({uri:s,name:i.name,...i.metadata})),o=[];for(let s of Object.values(this._registeredResourceTemplates)){if(!s.resourceTemplate.listCallback)continue;let i=await s.resourceTemplate.listCallback(r);for(let a of i.resources)o.push({...s.metadata,...a})}return{resources:[...n,...o]}}),this.server.setRequestHandler(rn,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([r,n])=>({name:r,uriTemplate:n.resourceTemplate.uriTemplate.toString(),...n.metadata}))})),this.server.setRequestHandler(xs,async(t,r)=>{let n=new URL(t.params.uri),o=this._registeredResources[n.toString()];if(o){if(!o.enabled)throw new O(A.InvalidParams,`Resource ${n} disabled`);return o.readCallback(n,r)}for(let s of Object.values(this._registeredResourceTemplates)){let i=s.resourceTemplate.uriTemplate.match(n.toString());if(i)return s.readCallback(n,i,r)}throw new O(A.InvalidParams,`Resource ${n} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(nr(Ss)),this.server.assertCanSetRequestHandler(nr($s)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(Ss,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,t])=>t.enabled).map(([t,r])=>({name:t,title:r.title,description:r.description,arguments:r.argsSchema?QP(r.argsSchema):void 0}))})),this.server.setRequestHandler($s,async(t,r)=>{let n=this._registeredPrompts[t.params.name];if(!n)throw new O(A.InvalidParams,`Prompt ${t.params.name} not found`);if(!n.enabled)throw new O(A.InvalidParams,`Prompt ${t.params.name} disabled`);if(n.argsSchema){let o=Xr(n.argsSchema),s=await ss(o,t.params.arguments);if(!s.success){let c="error"in s?s.error:"Unknown error",u=is(c);throw new O(A.InvalidParams,`Invalid arguments for prompt ${t.params.name}: ${u}`)}let i=s.data,a=n.callback;return await Promise.resolve(a(i,r))}else{let o=n.callback;return await Promise.resolve(o(r))}}),this._promptHandlersInitialized=!0)}resource(t,r,...n){let o;typeof n[0]=="object"&&(o=n.shift());let s=n[0];if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let i=this._createRegisteredResource(t,void 0,r,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}else{if(this._registeredResourceTemplates[t])throw new Error(`Resource template ${t} is already registered`);let i=this._createRegisteredResourceTemplate(t,void 0,r,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}}registerResource(t,r,n,o){if(typeof r=="string"){if(this._registeredResources[r])throw new Error(`Resource ${r} is already registered`);let s=this._createRegisteredResource(t,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}else{if(this._registeredResourceTemplates[t])throw new Error(`Resource template ${t} is already registered`);let s=this._createRegisteredResourceTemplate(t,n.title,r,n,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}}_createRegisteredResource(t,r,n,o,s){let i={name:t,title:r,metadata:o,readCallback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({uri:null}),update:a=>{typeof a.uri<"u"&&a.uri!==n&&(delete this._registeredResources[n],a.uri&&(this._registeredResources[a.uri]=i)),typeof a.name<"u"&&(i.name=a.name),typeof a.title<"u"&&(i.title=a.title),typeof a.metadata<"u"&&(i.metadata=a.metadata),typeof a.callback<"u"&&(i.readCallback=a.callback),typeof a.enabled<"u"&&(i.enabled=a.enabled),this.sendResourceListChanged()}};return this._registeredResources[n]=i,i}_createRegisteredResourceTemplate(t,r,n,o,s){let i={resourceTemplate:n,title:r,metadata:o,readCallback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({name:null}),update:u=>{typeof u.name<"u"&&u.name!==t&&(delete this._registeredResourceTemplates[t],u.name&&(this._registeredResourceTemplates[u.name]=i)),typeof u.title<"u"&&(i.title=u.title),typeof u.template<"u"&&(i.resourceTemplate=u.template),typeof u.metadata<"u"&&(i.metadata=u.metadata),typeof u.callback<"u"&&(i.readCallback=u.callback),typeof u.enabled<"u"&&(i.enabled=u.enabled),this.sendResourceListChanged()}};this._registeredResourceTemplates[t]=i;let a=n.uriTemplate.variableNames;return Array.isArray(a)&&a.some(u=>!!n.completeCallback(u))&&this.setCompletionRequestHandler(),i}_createRegisteredPrompt(t,r,n,o,s){let i={title:r,description:n,argsSchema:o===void 0?void 0:zr(o),callback:s,enabled:!0,disable:()=>i.update({enabled:!1}),enable:()=>i.update({enabled:!0}),remove:()=>i.update({name:null}),update:a=>{typeof a.name<"u"&&a.name!==t&&(delete this._registeredPrompts[t],a.name&&(this._registeredPrompts[a.name]=i)),typeof a.title<"u"&&(i.title=a.title),typeof a.description<"u"&&(i.description=a.description),typeof a.argsSchema<"u"&&(i.argsSchema=zr(a.argsSchema)),typeof a.callback<"u"&&(i.callback=a.callback),typeof a.enabled<"u"&&(i.enabled=a.enabled),this.sendPromptListChanged()}};return this._registeredPrompts[t]=i,o&&Object.values(o).some(c=>{let u=c instanceof Le?c._def?.innerType:c;return ol(u)})&&this.setCompletionRequestHandler(),i}_createRegisteredTool(t,r,n,o,s,i,a,c,u){sl(t);let d={title:r,description:n,inputSchema:Ty(o),outputSchema:Ty(s),annotations:i,execution:a,_meta:c,handler:u,enabled:!0,disable:()=>d.update({enabled:!1}),enable:()=>d.update({enabled:!0}),remove:()=>d.update({name:null}),update:l=>{typeof l.name<"u"&&l.name!==t&&(typeof l.name=="string"&&sl(l.name),delete this._registeredTools[t],l.name&&(this._registeredTools[l.name]=d)),typeof l.title<"u"&&(d.title=l.title),typeof l.description<"u"&&(d.description=l.description),typeof l.paramsSchema<"u"&&(d.inputSchema=zr(l.paramsSchema)),typeof l.outputSchema<"u"&&(d.outputSchema=zr(l.outputSchema)),typeof l.callback<"u"&&(d.handler=l.callback),typeof l.annotations<"u"&&(d.annotations=l.annotations),typeof l._meta<"u"&&(d._meta=l._meta),typeof l.enabled<"u"&&(d.enabled=l.enabled),this.sendToolListChanged()}};return this._registeredTools[t]=d,this.setToolRequestHandlers(),this.sendToolListChanged(),d}tool(t,...r){if(this._registeredTools[t])throw new Error(`Tool ${t} is already registered`);let n,o,s,i;if(typeof r[0]=="string"&&(n=r.shift()),r.length>1){let c=r[0];if(il(c))o=r.shift(),r.length>1&&typeof r[0]=="object"&&r[0]!==null&&!il(r[0])&&(i=r.shift());else if(typeof c=="object"&&c!==null){if(Object.values(c).some(u=>typeof u=="object"&&u!==null))throw new Error(`Tool ${t} expected a Zod schema or ToolAnnotations, but received an unrecognized object`);i=r.shift()}}let a=r[0];return this._createRegisteredTool(t,void 0,n,o,s,i,{taskSupport:"forbidden"},void 0,a)}registerTool(t,r,n){if(this._registeredTools[t])throw new Error(`Tool ${t} is already registered`);let{title:o,description:s,inputSchema:i,outputSchema:a,annotations:c,_meta:u}=r;return this._createRegisteredTool(t,o,s,i,a,c,{taskSupport:"forbidden"},u,n)}prompt(t,...r){if(this._registeredPrompts[t])throw new Error(`Prompt ${t} is already registered`);let n;typeof r[0]=="string"&&(n=r.shift());let o;r.length>1&&(o=r.shift());let s=r[0],i=this._createRegisteredPrompt(t,void 0,n,o,s);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),i}registerPrompt(t,r,n){if(this._registeredPrompts[t])throw new Error(`Prompt ${t} is already registered`);let{title:o,description:s,argsSchema:i}=r,a=this._createRegisteredPrompt(t,o,s,i,n);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(t,r){return this.server.sendLoggingMessage(t,r)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}};var YP={type:"object",properties:{}};function Ey(e){return e!==null&&typeof e=="object"&&"parse"in e&&typeof e.parse=="function"&&"safeParse"in e&&typeof e.safeParse=="function"}function Iy(e){return"_def"in e||"_zod"in e||Ey(e)}function il(e){return typeof e!="object"||e===null||Iy(e)?!1:Object.keys(e).length===0?!0:Object.values(e).some(Ey)}function Ty(e){if(e){if(il(e))return zr(e);if(!Iy(e))throw new Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return e}}function QP(e){let t=Bt(e);return t?Object.entries(t).map(([r,n])=>{let o=mm(n),s=fm(n);return{name:r,description:o,required:!s}}):[]}function nr(e){let r=Bt(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=as(r);if(typeof n=="string")return n;throw new Error("Schema method literal must be a string")}function Ry(e){return{completion:{values:e.slice(0,100),total:e.length,hasMore:e.length>100}}}var To={completion:{values:[],hasMore:!1}};import jy from"node:process";var wi=class{append(t){this._buffer=this._buffer?Buffer.concat([this._buffer,t]):t}readMessage(){if(!this._buffer)return null;let t=this._buffer.indexOf(`
|
|
42
|
+
`);if(t===-1)return null;let r=this._buffer.toString("utf8",0,t).replace(/\r$/,"");return this._buffer=this._buffer.subarray(t+1),eT(r)}clear(){this._buffer=void 0}};function eT(e){return Vm.parse(JSON.parse(e))}function Oy(e){return JSON.stringify(e)+`
|
|
43
|
+
`}var ki=class{constructor(t=jy.stdin,r=jy.stdout){this._stdin=t,this._stdout=r,this._readBuffer=new wi,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 t=this._readBuffer.readMessage();if(t===null)break;this.onmessage?.(t)}catch(t){this.onerror?.(t)}}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(t){return new Promise(r=>{let n=Oy(t);this._stdout.write(n)?r():this._stdout.once("drain",r)})}};import{readFile as X_}from"node:fs/promises";import{hostname as vR}from"node:os";import{randomBytes as AT}from"node:crypto";import{existsSync as ll,mkdirSync as MT,readFileSync as pl,renameSync as NT,rmSync as LT,writeFileSync as DT}from"node:fs";import{homedir as ZT}from"node:os";import{dirname as UT,join as qT}from"node:path";import{spawn as bT}from"node:child_process";import{randomBytes as wT}from"node:crypto";import{createServer as kT}from"node:http";import{appendFileSync as iT,openSync as S4}from"node:fs";import{homedir as Ny}from"node:os";import{dirname as aT,join as Ly,resolve as cT,sep as uT}from"node:path";import{mkdirSync as dT}from"node:fs";var Nt={_generated:"GENERATED by scripts/naming_dual_emit_codegen.mjs from scripts/naming_canonical_key_map.json (N2.2 dual-emit, D46) - DO NOT EDIT; run: node scripts/naming_dual_emit_codegen.mjs --write",events:[["codex.agent_turn_narration_only_no_reply","harness.agent_turn_narration_only_no_reply"],["codex.cost_cap_402_seen","harness.cost_cap_402_seen"],["codex.edge_blocked_captured","harness.edge_blocked_captured"],["codex.empty_turn_auto_retry_suppressed_cost_cap","harness.empty_turn_auto_retry_suppressed_cost_cap"],["codex.empty_turn_loop_guard_tripped","harness.empty_turn_loop_guard_tripped"],["codex.error_without_http_status_captured","harness.error_without_http_status_captured"],["codex.mid_stream_stall_auto_resume_flagged","harness.mid_stream_stall_auto_resume_flagged"],["codex.mid_stream_stall_resume_suppressed_rate_limit","harness.mid_stream_stall_resume_suppressed_rate_limit"],["codex.mid_stream_stall_second_stall_after_resume","harness.mid_stream_stall_second_stall_after_resume"],["codex.pre_first_byte_stall_auto_retry_flagged","harness.pre_first_byte_stall_auto_retry_flagged"],["codex.pre_first_byte_stall_retry_suppressed_cost_cap","harness.pre_first_byte_stall_retry_suppressed_cost_cap"],["codex.provider_outage_flagged_captured","harness.provider_outage_flagged_captured"],["codex.reasoning_loop_breaker_tripped","harness.reasoning_loop_breaker_tripped"],["codex.tool_fatal_captured","harness.tool_fatal_captured"],["codex.turn_completed","job.turn_completed"],["codex.turn_completed_with_protocol_failure","job.turn_completed_with_protocol_failure"],["codex.turn_completed_with_unsupported_tool_call_ignored","job.turn_completed_with_unsupported_tool_call_ignored"],["codex.turn_completed_without_assistant_output","job.turn_completed_without_assistant_output"],["codex.turn_forward_failed","job.turn_forward_failed"],["codex.upstream_error_captured","harness.upstream_error_captured"],["codex.upstream_rejection_captured","harness.upstream_rejection_captured"],["codex.upstream_turn_error_captured","harness.upstream_turn_error_captured"],["kandan.chat_event","linzumi.chat_event"],["kandan.chat_event_abandoned","linzumi.chat_event_abandoned"],["kandan.chat_event_failed","linzumi.chat_event_failed"],["kandan.chat_event_failure_cleared","linzumi.chat_event_failure_cleared"],["kandan.claude_code_interrupt_state_push_failed","linzumi.claude_code_interrupt_state_push_failed"],["kandan.claude_code_stop_state_push_failed","linzumi.claude_code_stop_state_push_failed"],["kandan.claude_code_typing_heartbeat_failed","linzumi.claude_code_typing_heartbeat_failed"],["kandan.claude_code_typing_start_wait_timeout","linzumi.claude_code_typing_start_wait_timeout"],["kandan.claude_code_typing_stop_failed","linzumi.claude_code_typing_stop_failed"],["kandan.claude_code_user_input_abort_publish_failed","linzumi.claude_code_user_input_abort_publish_failed"],["kandan.claude_code_user_question_completed_publish_failed","linzumi.claude_code_user_question_completed_publish_failed"],["kandan.codex_command_output_forwarded","linzumi.codex_command_output_forwarded"],["kandan.codex_delta_forwarded","linzumi.codex_delta_forwarded"],["kandan.codex_file_change_forwarded","linzumi.codex_file_change_forwarded"],["kandan.codex_notification_push_failed","linzumi.codex_notification_push_failed"],["kandan.codex_output_forwarded","linzumi.codex_output_forwarded"],["kandan.codex_reasoning_delta_forwarded","linzumi.codex_reasoning_delta_forwarded"],["kandan.codex_web_search_progress_forwarded","linzumi.codex_web_search_progress_forwarded"],["kandan.connection_force_reconnect","linzumi.connection_force_reconnect"],["kandan.connection_force_reconnect_dispatched","linzumi.connection_force_reconnect_dispatched"],["kandan.connection_hard_reset","linzumi.connection_hard_reset"],["kandan.connection_hard_reset_exhausted","linzumi.connection_hard_reset_exhausted"],["kandan.connection_recovered","linzumi.connection_recovered"],["kandan.connection_stale","linzumi.connection_stale"],["kandan.connection_unrecoverable","linzumi.connection_unrecoverable"],["kandan.control","linzumi.control"],["kandan.control_ack_withheld_on_failure","linzumi.control_ack_withheld_on_failure"],["kandan.control_epoch_changed","linzumi.control_epoch_changed"],["kandan.control_handler_threw","linzumi.control_handler_threw"],["kandan.control_ignored","linzumi.control_ignored"],["kandan.control_response_push_failed","linzumi.control_response_push_failed"],["kandan.failed_seq_overflow","linzumi.failed_seq_overflow"],["kandan.forward_port_revoked_push_failed","linzumi.forward_port_revoked_push_failed"],["kandan.forward_response","linzumi.forward_response"],["kandan.forward_response_push_failed","linzumi.forward_response_push_failed"],["kandan.forward_tunnel_error","linzumi.forward_tunnel_error"],["kandan.forward_tunnel_open_failed","linzumi.forward_tunnel_open_failed"],["kandan.heartbeat_push_failed","linzumi.heartbeat_push_failed"],["kandan.local_editor_initial_status_failed","linzumi.local_editor_initial_status_failed"],["kandan.local_editor_status_push_failed","linzumi.local_editor_status_push_failed"],["kandan.message_duplicate_ignored","linzumi.message_duplicate_ignored"],["kandan.message_ignored","linzumi.message_ignored"],["kandan.message_queued","linzumi.message_queued"],["kandan.message_spawn_on_miss","linzumi.message_spawn_on_miss"],["kandan.message_spawn_on_miss_failed","linzumi.message_spawn_on_miss_failed"],["kandan.message_state_refresh_failed","linzumi.message_state_refresh_failed"],["kandan.optional_push_failed","linzumi.optional_push_failed"],["kandan.post_stop_queue_drain_failed","linzumi.post_stop_queue_drain_failed"],["kandan.queue_drain_blocked","linzumi.queue_drain_blocked"],["kandan.queue_drain_dead_worker_fail_publish_failed","linzumi.queue_drain_dead_worker_fail_publish_failed"],["kandan.queue_drain_dead_worker_rebuild","linzumi.queue_drain_dead_worker_rebuild"],["kandan.queue_drain_dead_worker_rebuild_exhausted","linzumi.queue_drain_dead_worker_rebuild_exhausted"],["kandan.queue_drain_dead_worker_rebuild_failed","linzumi.queue_drain_dead_worker_rebuild_failed"],["kandan.reconnect_handling_failed","linzumi.reconnect_handling_failed"],["kandan.reconnect_thread_context_fetch_failed","linzumi.reconnect_thread_context_fetch_failed"],["kandan.reconnect_thread_cwd_failed_state_push_failed","linzumi.reconnect_thread_cwd_failed_state_push_failed"],["kandan.reconnect_thread_failed","linzumi.reconnect_thread_failed"],["kandan.reconnect_thread_processing_state_push_failed","linzumi.reconnect_thread_processing_state_push_failed"],["kandan.reconnect_thread_queue_closed_state_push_failed","linzumi.reconnect_thread_queue_closed_state_push_failed"],["kandan.reconnect_thread_queue_failed_state_push_failed","linzumi.reconnect_thread_queue_failed_state_push_failed"],["kandan.reconnect_thread_queue_state_push_failed","linzumi.reconnect_thread_queue_state_push_failed"],["kandan.reconnect_thread_rehydrate_forced","linzumi.reconnect_thread_rehydrate_forced"],["kandan.reconnect_thread_rehydrated","linzumi.reconnect_thread_rehydrated"],["kandan.reconnect_thread_rehydrated_state_push_failed","linzumi.reconnect_thread_rehydrated_state_push_failed"],["kandan.reconnect_thread_rehydration_failed","linzumi.reconnect_thread_rehydration_failed"],["kandan.reconnect_thread_rehydration_ir_emitted","linzumi.reconnect_thread_rehydration_ir_emitted"],["kandan.reconnect_thread_rehydration_items_failed","linzumi.reconnect_thread_rehydration_items_failed"],["kandan.reconnect_thread_resume_failed","linzumi.reconnect_thread_resume_failed"],["kandan.reconnect_thread_seq_already_applied","linzumi.reconnect_thread_seq_already_applied"],["kandan.reconnect_thread_transcript_fetch_failed","linzumi.reconnect_thread_transcript_fetch_failed"],["kandan.reconnect_thread_unarchive_failed","linzumi.reconnect_thread_unarchive_failed"],["kandan.reconnect_thread_unarchive_resumed","linzumi.reconnect_thread_unarchive_resumed"],["kandan.reconnect_thread_unarchive_started","linzumi.reconnect_thread_unarchive_started"],["kandan.reconnect_thread_unavailable_state_push_failed","linzumi.reconnect_thread_unavailable_state_push_failed"],["kandan.reconnected","linzumi.reconnected"],["kandan.roster_seeded","linzumi.roster_seeded"],["kandan.session_app_server_lost_push_failed","linzumi.session_app_server_lost_push_failed"],["kandan.session_settings_publish_failed","linzumi.session_settings_publish_failed"],["kandan.start_instance_claude_code_attachment_failed_state_push_failed","linzumi.start_instance_claude_code_attachment_failed_state_push_failed"],["kandan.start_instance_codex_app_server_unavailable","linzumi.start_instance_codex_app_server_unavailable"],["kandan.start_instance_cwd_failed_state_push_failed","linzumi.start_instance_cwd_failed_state_push_failed"],["kandan.start_instance_cwd_rejected","linzumi.start_instance_cwd_rejected"],["kandan.start_instance_failed","linzumi.start_instance_failed"],["kandan.start_instance_processing_state_push_failed","linzumi.start_instance_processing_state_push_failed"],["kandan.start_instance_skipped_known_session","linzumi.start_instance_skipped_known_session"],["kandan.start_instance_stale_skipped","linzumi.start_instance_stale_skipped"],["kandan.start_instance_unavailable_state_push_failed","linzumi.start_instance_unavailable_state_push_failed"],["kandan.start_instance_wafer_state_push_failed","linzumi.start_instance_wafer_state_push_failed"],["kandan.start_turn_replay_skipped","linzumi.start_turn_replay_skipped"],["kandan.steer_duplicate_ignored","linzumi.steer_duplicate_ignored"],["kandan.steer_parked_as_own_turn","linzumi.steer_parked_as_own_turn"],["kandan.thread_bind_from_historical_reply_failed","linzumi.thread_bind_from_historical_reply_failed"],["kandan.thread_bound_from_historical_reply","linzumi.thread_bound_from_historical_reply"],["kandan.thread_sessions_reannounce_failed","linzumi.thread_sessions_reannounce_failed"],["kandan.thread_sessions_reannounced","linzumi.thread_sessions_reannounced"],["kandan.tui_input_mirrored","linzumi.tui_input_mirrored"],["kandan.typing_heartbeat_failed","linzumi.typing_heartbeat_failed"],["kandan.typing_stop_after_completion_failed","linzumi.typing_stop_after_completion_failed"]],keys:[["codexThreadId","harness_session_id"],["codex_thread_id","harness_session_id"],["kandanThreadId","thread_id"],["kandan_preview_ticket","linzumi_preview_ticket"],["kandan_thread_id","thread_id"],["linzumiThreadId","thread_id"],["linzumi_thread_id","thread_id"],["local_codex_runner","commander"],["runnerId","commander_id"],["runner_config","commander_config"],["runner_id","commander_id"]],keyPrimaryLegacy:[["commander","local_codex_runner"],["commander_config","runner_config"],["commander_id","runner_id"],["harness_session_id","codex_thread_id"],["linzumi_preview_ticket","kandan_preview_ticket"],["thread_id","kandan_thread_id"]],values:[["engine_boot_reconnect","harness_boot_reconnect"],["engine_for_runner_event_type","harness_for_commander_event_type"],["engine_rejected_steer","harness_rejected_steer"],["engine_unavailable","harness_unavailable"],["join_engine","join_harness"],["kandan-local-codex-runner","linzumi-commander"],["local_codex_runner","commander"],["original_engine","original_harness"],["resume_engine","resume_harness"]],topic:{legacyPrefix:"local_codex_runner:",canonicalPrefix:"commander:"},originator:{legacy:"kandan-local-codex-runner",canonical:"linzumi-commander"}};var rT=new Map(Nt.events),nT=new Map(Nt.events.map(([e,t])=>[t,e])),Cy=new Map(Nt.keys),Ay=new Map(Nt.keyPrimaryLegacy),oT=new Map(Nt.values),sT=new Map(Nt.values.map(([e,t])=>[t,e])),v4={eventCanonicalByLegacy:rT,eventLegacyByCanonical:nT,keyCanonicalByLegacy:Cy,keyPrimaryLegacyByCanonical:Ay,valueCanonicalByLegacy:oT,valueLegacyByCanonical:sT,originator:Nt.originator,topic:Nt.topic};function My(e){let t=new Set(e);for(let r of e){let n=Cy.get(r);n!==void 0&&t.add(n);let o=Ay.get(r);o!==void 0&&t.add(o)}return t}var Nr="<SENSITIVE_DATA>",Dy=My(new Set(["access_token","authorization","code","cookie","kandan_preview_ticket","refresh_token","token"])),lT=new Set(["--access-token","--api-key","--authorization","--cookie","--oauth-code","--password","--refresh-token","--secret","--token"]);function pT(e){if(process.env.VITEST===void 0)return;let t=Ly(Ny(),".linzumi"),r=cT(e);if(r===t||r.startsWith(`${t}${uT}`))throw new Error(`test-mode log isolation violated: refusing to open ${e} inside the real ~/.linzumi (point the logger at a temp path; the harness defaults LINZUMI_RUNNER_LOG_FILE / LINZUMI_CLI_AUDIT_LOG for exactly this - see plans/2026-07-10-cli-test-hygiene-spec.md item 2)`)}function al(e,t,r={}){let n=r.logFile??mT();pT(n);try{dT(aT(n),{recursive:!0}),iT(n,`${JSON.stringify({ts:new Date().toISOString(),event:e,...r.sessionId===void 0?{}:{sessionId:r.sessionId},...fT(t)})}
|
|
44
|
+
`,"utf8")}catch{return}}function mT(){let e=process.env.LINZUMI_CLI_AUDIT_LOG?.trim();return e===void 0||e===""?Ly(Ny(),".linzumi","logs","command-events.jsonl"):e}function fT(e){return Zy(e)}function cl(e,t){return yT(t)?Nr:typeof e=="string"?Uy(e):Array.isArray(e)?t==="args"?hT(e):e.map(r=>cl(r,void 0)):e!==null&&typeof e=="object"?Zy(e):e}function Zy(e){let t=typeof e.name=="string"?e.name.toLowerCase():void 0,r=t==="authorization"||t==="cookie"||t==="set-cookie";return Object.fromEntries(Object.entries(e).filter(([n])=>n!=="runner_console").map(([n,o])=>[n,r&&n==="value"?Nr:cl(o,n)]))}function hT(e){let t=!1;return e.map(r=>{if(typeof r!="string")return t=!1,cl(r,void 0);if(t)return t=!1,Nr;let[n,o]=gT(r);return lT.has(n)?o===void 0?(t=!0,r):`${n}=${Nr}`:Uy(r)})}function gT(e){let t=e.indexOf("=");return t===-1?[e,void 0]:[e.slice(0,t),e.slice(t+1)]}function yT(e){return e===void 0?!1:/^(authorization|cookie|set-cookie|password)$/i.test(e)||/(^|[_-])(access[_-]?token|api[_-]?key|auth[_-]?token|oauth[_-]?code|refresh[_-]?token|secret|token)$/i.test(e)}function Uy(e){return _T(e).replace(/\beyJ[A-Za-z0-9_-]*\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\b/g,Nr)}function _T(e){let t;try{t=new URL(e)}catch{return vT(e)}for(let r of[...t.searchParams.keys()])Dy.has(r.toLowerCase())&&t.searchParams.set(r,Nr);return t.toString()}function vT(e){let t=e.indexOf("?"),r=e.indexOf("#");if(t===-1||r!==-1&&r<t)return e;let n=e.slice(0,t),o=r===-1?e.slice(t+1):e.slice(t+1,r),s=r===-1?"":e.slice(r),i=new URLSearchParams(o),a=!1;for(let c of[...i.keys()])Dy.has(c.toLowerCase())&&(i.set(c,Nr),a=!0);switch(a){case!0:return`${n}?${i.toString()}${s}`;case!1:return e}}var xT=300*1e3,ST=1e4;function qy(e,t=process.env){if(typeof e=="number"&&Number.isFinite(e)&&e>0)return e;let r=t.LINZUMI_OAUTH_CALLBACK_TIMEOUT_MS?.trim();if(r!==void 0&&r!==""){let n=Number.parseInt(r,10);if(Number.isFinite(n)&&n>0)return n}return xT}async function Jy(e){let t=Ve(e.kandanUrl),r=wT(18).toString("base64url"),n=await RT({host:$T(e.kandanUrl,e.callbackHost),exchange:async s=>{if(s.state!==r)throw new Error("local runner OAuth state mismatch");return await TT({httpBaseUrl:t,code:s.code,redirectUri:s.redirectUri})}}),o=PT({httpBaseUrl:t,redirectUri:n.redirectUri,state:r,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,onboarding:e.onboarding,purpose:e.purpose});process.stderr.write(`Authorize the local Codex runner:
|
|
45
45
|
${o}
|
|
46
|
-
`);try{return await(e.openAuthorizationUrl??$T)(o),await n.waitForToken(Ly(e.waitForTokenTimeoutMs))}finally{n.close()}}async function Zy(e){return await Ro(e)==="usable"}async function Ro(e){let t=new URL("/api/v2/local-codex-runner/oauth/validate",Ve(e.kandanUrl));e.workspaceSlug!==void 0&&t.searchParams.set("workspace",e.workspaceSlug),e.channelSlug!==void 0&&t.searchParams.set("channel",e.channelSlug);for(let n of e.requiredScopes??[])t.searchParams.append("required_scope",n);let r=await fetch(t,{method:"GET",headers:{authorization:`Bearer ${e.accessToken}`}});switch(r.status){case 200:{let n=await r.json();return typeof n=="object"&&n!==null&&"ok"in n&&n.ok===!0?"usable":"rejected"}case 401:case 403:return"rejected";case 404:return"not_found";default:throw new Error(`local runner auth validation failed with HTTP ${r.status}`)}}function Ve(e){let t=new URL(e);switch(t.protocol){case"ws:":t.protocol="http:";break;case"wss:":t.protocol="https:";break;case"http:":case"https:":break;default:throw new Error("--api-url must be ws://, wss://, http://, or https://")}return t.pathname="",t.search="",t.hash="",t.toString().replace(/\/$/,"")}function gT(e,t){let r=t?.trim();if(r!==void 0&&r!=="")return r;let n=new URL(e).hostname.trim();return yT(n)&&n!=="localhost"?n:"127.0.0.1"}function yT(e){let t=e.split(".").map(o=>Number.parseInt(o,10));if(t.length!==4||t.some(o=>!Number.isInteger(o)||o<0||o>255))return e==="localhost";let[r,n]=t;return r===void 0||n===void 0?!1:r===10||r===127||r===172&&n>=16&&n<=31||r===192&&n===168||r===169&&n===254||r===100&&n>=64&&n<=127}function _T(e){let t=new URL("/api/v2/local-codex-runner/oauth/authorize",e.httpBaseUrl);return t.searchParams.set("redirect_uri",e.redirectUri),t.searchParams.set("state",e.state),e.workspaceSlug!==void 0&&t.searchParams.set("workspace",e.workspaceSlug),e.channelSlug!==void 0&&t.searchParams.set("channel",e.channelSlug),e.onboarding!==void 0&&t.searchParams.set("onboarding",e.onboarding),e.purpose!==void 0&&t.searchParams.set("purpose",e.purpose),t.toString()}async function vT(e){let t=await fetch(new URL("/api/v2/local-codex-runner/oauth/token",e.httpBaseUrl),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({code:e.code,redirect_uri:e.redirectUri})}),r=await t.json();if(!t.ok||typeof r!="object"||r===null){let s=typeof r=="object"&&r!==null&&"error"in r&&typeof r.error=="string"?r.error:void 0;throw s==="admin_role_required"?new Error("This token requires a Linzumi admin account. Approve the request while signed in as an admin."):new Error(s!==void 0?`local runner OAuth token exchange failed: ${s}`:"local runner OAuth token exchange failed")}let n="access_token"in r?r.access_token:void 0;if(typeof n!="string"||n.trim()==="")throw new Error("local runner OAuth token response did not include access_token");let o="expires_in"in r?r.expires_in:void 0;return{accessToken:n,expiresInSeconds:typeof o=="number"?o:void 0,workspaceSlug:ki(r,"workspace"),channelSlug:ki(r,"channel")}}async function Uy(e){let t=await fetch(new URL("/api/v2/local-codex-runner/device/start",e.httpBaseUrl),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({workspace:e.workspaceSlug,channel:e.channelSlug,onboarding:e.onboarding,runner_id:e.identity?.runnerId,machine_fingerprint:e.identity?.machineFingerprint,hostname:e.identity?.hostname})}),r=await t.json();if(!t.ok||typeof r!="object"||r===null){let a=ul(r);throw new Error(a===void 0?`local runner device authorization failed to start (HTTP ${t.status})`:`local runner device authorization failed to start (server said: ${a})`)}let n="device_code"in r?r.device_code:void 0,o="user_code"in r?r.user_code:void 0,s="verification_uri"in r?r.verification_uri:void 0,i="expires_in"in r?r.expires_in:void 0;if(typeof n!="string"||n.trim()===""||typeof o!="string"||o.trim()===""||typeof s!="string"||s.trim()==="")throw new Error("local runner device authorization response was incomplete");return{deviceCode:n,userCode:o,verificationUri:s,expiresInSeconds:typeof i=="number"?i:void 0}}async function qy(e){let t=e.now??Date.now,r=typeof e.expiresInSeconds=="number"&&e.expiresInSeconds>=0?e.expiresInSeconds:600,n=t()+r*1e3;for(;t()<n;){let o=Math.max(0,Math.min(3e4,n-t())),s=new AbortController,i=setTimeout(()=>s.abort(),o+hT),a,c;try{a=await fetch(new URL("/api/v2/local-codex-runner/device/token",e.httpBaseUrl),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({device_code:e.deviceCode,wait_ms:o}),signal:s.signal})}catch(l){if(clearTimeout(i),s.signal.aborted)continue;return{kind:"transient",reason:l instanceof Error?l.message:String(l)}}try{c=await a.json()}catch(l){if(s.signal.aborted)continue;return{kind:"transient",reason:`non-JSON device/token response (${l instanceof Error?l.message:String(l)})`,httpStatus:a.status}}finally{clearTimeout(i)}if(a.status===202&&ul(c)==="authorization_pending")continue;if(!a.ok||typeof c!="object"||c===null){let l=ul(c);switch(l){case"access_denied":return{kind:"denied"};case"device_session_expired":return{kind:"code_expired"};case"device_session_consumed":return{kind:"consumed"};default:return a.status>=500||a.status===429?{kind:"transient",reason:l??`HTTP ${a.status}`,httpStatus:a.status}:{kind:"rejected",reason:l,httpStatus:a.status}}}let u="access_token"in c?c.access_token:void 0;if(typeof u!="string"||u.trim()==="")return{kind:"rejected",reason:"device token response did not include access_token",httpStatus:a.status};let d="expires_in"in c?c.expires_in:void 0;return{kind:"token",token:{accessToken:u,expiresInSeconds:typeof d=="number"?d:void 0,workspaceSlug:ki(c,"workspace"),channelSlug:ki(c,"channel")}}}return{kind:"code_expired"}}function ul(e){if(!(typeof e!="object"||e===null||!("error"in e)))return typeof e.error=="string"?e.error:void 0}function Jy(e,t){switch(e){case"access_denied":return"local runner device authorization was denied";case"device_session_expired":return"local runner device authorization expired";case"device_session_consumed":return"local runner device authorization was already used";case"invalid_device_code":return"local runner device authorization code was rejected";case"device_session_not_pending":return"local runner device authorization was already decided (approved or denied) on the server";case"invalid_user_code":return"local runner device authorization code was not recognized by the server";case"approving_user_not_found":return"local runner device authorization failed: the approving Linzumi account could not be found";case"rate_limited":return"local runner device authorization was rate limited by the server; wait a minute and retry";case void 0:return t===void 0?"local runner device authorization failed (no reason returned by the server)":`local runner device authorization failed (HTTP ${t}, no reason returned by the server)`;default:return`local runner device authorization failed (server said: ${e})`}}function ki(e,t){let r=e[t];return typeof r=="string"&&r.trim()!==""?r:void 0}function bT(e){return new Promise((t,r)=>{let n,o,s=!1,i=new Promise((d,l)=>{n=d,o=l});i.catch(()=>{});let a=d=>s?!1:(s=!0,d(),!0),c=`http://${e.host}/callback`,u=mT((d,l)=>{(async()=>{try{let p=new URL(d.url??"/",`http://${e.host}`),h=p.searchParams.get("code"),f=p.searchParams.get("state"),g=p.searchParams.get("error");if(g!==null&&g.trim()!==""){a(()=>o?.(new Error(`local runner OAuth failed: ${g}`))),To(l,{title:"Not authorized",body:"You denied the request. Close this tab and rerun the bootstrap command when you're ready.",status:403});return}if(h===null||f===null||h.trim()===""||f.trim()===""){To(l,{title:"Authorization callback was incomplete",body:"We didn't receive the authorization code. Return to your terminal and try again.",status:400});return}let y;try{y=await e.exchange({code:h,state:f,redirectUri:c})}catch(w){a(()=>o?.(w)),To(l,{title:"Authorization could not be completed",body:"We received the authorization but could not finish setup. Return to your terminal for details and rerun the bootstrap command.",status:400});return}let b=a(()=>n?.(y));To(l,{title:b?"Computer authorized":"Already authorized",body:"This computer has been authorized for agentic use in Linzumi. Feel free to close this tab and let the terminal finish setup.",status:200})}catch(p){a(()=>o?.(p)),To(l,{title:"Authorization callback failed",body:"Return to your terminal and rerun the bootstrap command.",status:500})}})()});u.once("error",r),u.listen(0,e.host,()=>{let d=u.address();if(!wT(d)){r(new Error("local runner OAuth callback server did not bind to a TCP port"));return}c=`http://${e.host}:${d.port}/callback`,t({redirectUri:c,waitForToken:l=>{let p=Ly(l),h=setTimeout(()=>{a(()=>o?.(new Error("Authorization timed out before the browser callback completed. Rerun the connect command and finish authorizing in the browser."))),u.close()},p);return h.unref?.(),i.finally(()=>{clearTimeout(h)}).catch(()=>{}),i},close:()=>{u.close()}})})})}function wT(e){return typeof e=="object"&&e!==null&&typeof e.port=="number"}function To(e,t){e.writeHead(t.status,{"content-type":"text/html; charset=utf-8"}),e.end(xT(t))}var kT='<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path fill="currentColor" d="M206.7,82.37l2.55-6.45,2.01-3.63c.67-1.21,1.07-1.88,2.55-3.63,1.34-1.61,3.36-4.43,5.64-6.58,2.42-2.24,5.06-4.3,7.93-6.18,3.92-2.53,8.17-4.52,12.63-5.91,1.79-.63,4.03-1.16,6.72-1.61,6.1-.88,12.29-.92,18.4-.13,2.69.45,5.06,1.03,7.12,1.75,2.15.67,3.49,1.07,5.64,2.15,4.55,2.16,8.87,4.77,12.9,7.79,1.61,1.34,2.42,2.15,4.16,4.16l5.91,7.66c1.34,2.01,1.34,2.28,2.15,4.03l2.55,6.58c.67,1.34-.13,1.34,1.07.94,1.21-.27,4.3-2.01,6.45-2.82,4.7-1.83,9.62-3,14.64-3.49,2.42-.27,3.76-.54,7.12-.27s9.27,1.21,12.76,2.15c3.63.94,6.58,2.55,8.73,3.49,2.15,1.07,2.55,1.48,4.16,2.55,3.49,2.51,6.77,5.29,9.81,8.33,1.52,1.7,3.04,3.58,4.57,5.64,2.74,4.49,4.86,9.32,6.31,14.37.67,2.28,1.07,3.49,1.34,6.72.27,3.22,0,10.48.4,12.76.27,2.28.27.67,1.61.94,1.48.27,4.3,0,6.72.4,2.42.27,4.97.85,7.66,1.75,6.76,2.32,13.01,5.92,18.4,10.61,2.28,1.75,2.96,2.69,4.3,4.3,3.51,3.93,6.32,8.43,8.33,13.3,1.07,2.15,1.21,2.28,1.88,5.1.54,2.96,1.61,8.19,1.61,12.36s-.81,9.67-1.34,12.76c-.67,3.22-1.07,4.03-2.15,6.18-2.16,4.54-4.81,8.82-7.93,12.76-1.25,1.61-2.6,3-4.03,4.16-1.48,1.34-2.69,2.42-4.7,3.76-3.79,2.34-7.74,4.4-11.82,6.18l-6.58,2.15c-2.06.45-4.12.72-6.18.81l-7.25.13c-2.28,0-2.82.27-6.58-.4-3.76-.81-11.69-2.82-15.99-4.3-4.16-1.34-6.31-2.69-9.67-4.43-3.49-1.75-10.48-6.18-12.9-7.39-8.26-4.54-16.78-8.58-25.52-12.09-4.3-1.75-9.27-3.22-11.82-4.03-2.55-.81-5.24-1.61-7.66-2.15-8.39-2.25-16.99-3.6-25.66-4.03-3.9-.27-4.84-.27-8.19-.13-3.67-.09-7.79.04-12.36.4-7.9.79-15.75,2.04-23.51,3.76-8.37,2.26-16.62,4.95-24.72,8.06-3.22,1.34-2.82.81-9.13,4.16-6.31,3.36-22.03,12.22-28.75,15.58-6.72,3.36-8.73,3.49-11.82,4.43-3.09,1.07-4.3,1.21-6.58,1.61-7.3,1.09-14.71,1.18-22.03.27-2.55-.54-5.78-1.61-7.79-2.28-2.01-.54-2.15-.67-4.03-1.75-2.02-1.07-5.64-3.22-7.79-4.7-3.24-2.15-6.14-4.77-8.6-7.79-1.34-1.52-2.69-3.36-4.03-5.51-1.52-2.51-2.96-5.24-4.3-8.19-2.03-5.46-3.03-11.24-2.96-17.06,0-2.96.13-6.72.67-9.67.54-2.87,1.34-5.6,2.42-8.19,4.24-10.52,12.04-19.22,22.03-24.58,5.19-2.98,10.88-4.98,16.79-5.91,2.55-.4,5.37-.13,6.72-.4,1.34-.27,1.34,1.34,1.61-.94.4-2.28,0-9.4.4-12.76.27-3.36.81-4.97,1.48-7.25,1.87-6.19,4.88-11.97,8.87-17.06,3.47-3.98,7.39-7.54,11.69-10.61,4.43-2.61,9.11-4.77,13.97-6.45,2.55-.67,6.99-1.34,9.13-1.75,2.15-.27,1.88-.13,3.63-.13,1.79-.09,4.03,0,6.72.27,2.69.18,5.73.72,9.13,1.61,3.49,1.07,9.27,4.03,11.28,4.7s.4.27,1.07-.94ZM512.27,255.7c0,141.39-114.62,256-256,256S.27,397.09.27,255.7,114.89-.3,256.27-.3s256,114.62,256,256ZM449.33,352.66c14.67-29.16,22.94-62.09,22.94-96.95,0-119.29-96.71-216-216-216S40.27,136.41,40.27,255.7c0,41.89,11.94,80.98,32.57,114.09,1.7,1.79,2.94.65,3.05-.57.27-1.61,2.75-20.85,4.43-27.27,1.87-7.6,4.52-14.98,7.93-22.03,1.75-3.49,3.76-7.93,6.18-11.82,8.77-13.95,19.75-26.38,32.51-36.81,7.24-5.32,14.87-10.08,22.84-14.24,9.74-4.78,20.09-8.22,30.76-10.21,4.03-.99,7.61-1.66,10.75-2.02,3.36-.54,5.78-.54,9.27-.94,3.49-.54,9.32-1.16,11.82-2.01,6.65-2.27,5.64-6.72,3.09-7.52-2.55-.81-9.67-1.88-13.84-2.96-4.16-1.21-8.73-2.82-11.28-3.76-2.55-.94-2.28-.94-3.9-2.02l-5.91-4.03c-.94-.94-1.34-.94.54-2.02l10.21-5.51c2.01-1.07,1.75-.67,3.09-.13,1.34.67,4.3,2.42,6.72,3.36,7.2,2.69,14.96,3.52,22.57,2.42,1.34-.27,1.34-.54,1.61-1.21.27-.67.81-.94-.13-2.69-.94-1.88-4.43-6.58-5.64-8.46l-1.21-2.28c-.27-.45-1.07-1.07,1.21-1.75,2.42-.54,10.48-2.58,12.9-2.82.86-.09.67,0,1.75,1.07,1.07,1.07,3.09,3.63,4.84,5.24,1.88,1.61,4.43,3.22,6.18,4.3,2.8,1.71,5.99,2.68,9.27,2.82,1.88,0,4.97-.13,7.12-.67,2.15-.4,3.63-.94,5.64-2.02,2.01-1.07,4.7-2.69,6.72-4.43,2.01-1.75,3.49-5.1,5.64-6.04,2.15-.81,4.97.54,7.12.94,2.28.4,4.97,1.21,6.18,1.61,1.21.4,2.01.4.67,2.28l-8.06,10.34c-1.34,1.88.13,5.51,1.21,5.64l5.64.27c2.28-.13,4.43.13,7.66-.67,3.36-.81,9.27-2.96,11.82-3.9,2.69-.94,3.22-1.34,4.16-2.01.81-.54,1.39-1.03,1.75-1.48.45-.27.67-1.07,2.82,0s9.4,4.97,11.28,6.18c2.01,1.21,1.07.94,0,1.75l-5.51,3.9c-1.48.94-1.07.94-3.22,1.88-2.15,1.07-6.58,2.96-9.67,4.03s-4.03,1.75-8.73,2.69c-4.7.81-14.51,1.75-19.48,2.55-4.97.81-7.93,1.34-10.34,2.01-2.28.67-2.15.94-3.49,1.88-1.48,1.07-2.69,1.61-4.97,3.9-2.28,2.28-5.91,6.85-8.73,9.81-2.82,2.96-6.45,6.04-8.33,7.79-2.02,1.61-1.61,1.34-3.36,2.42l-6.99,4.03-4.03,2.02-6.72,2.15c-2.42.67-3.9,1.21-7.66,2.01l-14.91,2.82c-3.63.81-4.3,1.07-7.12,2.01-2.96,1.07-6.22,2.46-9.81,4.16-3.22,1.43-6.81,3.45-10.75,6.04-13.6,9.14-24.61,21.63-31.97,36.27-2.01,3.76-2.96,6.58-3.9,9.27-1.07,2.69-1.61,4.03-2.28,6.58-.67,2.69-1.48,5.24-2.15,9.27-.54,4.16-1.48,11.15-1.75,15.45-.27,4.16-.27,6.04,0,10.21l1.88,14.91c.67,3.76,1.48,5.91,2.15,8.19l1.88,5.64c.99,2.6,2.42,5.78,4.3,9.54,2.15,3.76,5.37,9.13,8.06,13.03,10.08,14.51,23.81,26.36,40.17,33.05,22.55,9.22,43.32,10.46,61.89,10.46,3.25,0,6.49-.09,9.71-.23,3.07-.42,2.74-6.09,10.48-9.42,5.26-2.26,13.7-2.42,14.91-2.55,1.07-.13-5.24-4.57-7.79-6.45-2.55-1.88-4.97-4.3-6.72-5.91-1.75-1.75-2.42-2.28-3.9-4.16-1.61-1.88-3.9-5.51-5.24-7.12-1.34-1.61-1.48-2.28-2.55-2.55-.98-.27-2.37-.09-4.16.54-1.88.4-5.37,1.21-7.12,1.88-1.75.67-2.02.81-3.09,2.01-1.07,1.07-2.69,3.76-3.63,4.7-.81.94-.67.67-1.48.94-.81.27-2.42.67-3.63.54-1.34-.18-2.55-.58-3.63-1.21-.81-.81-1.48-2.42-1.88-3.22-.4-.94-.54-1.21-.54-2.15l.4-3.49c.18-1.52.72-3.27,1.61-5.24.94-1.75,1.88-3.49,4.16-5.64,2.15-2.02,7.52-5.51,9.13-6.85,1.61-1.34,1.21-2.15.54-3.63-2.69-5.16-6.33-9.77-10.75-13.57-2.42-1.88-5.51-3.22-7.79-4.3-2.15-1.21-2.01-1.21-5.78-2.42-3.76-1.07-13.16-3.63-16.79-4.84-3.63-1.07-2.82-.94-5.1-2.01l-8.19-4.3c-1.75-.94-1.34-.54-2.69-1.61l-5.51-4.57c-2.18-1.93-3.77-4.45-4.57-7.25-.45-1.52-.45-2.87,0-4.03.4-1.34,0-1.21,2.01-3.63,2.15-2.42,7.25-7.93,10.21-10.75,3.09-2.82,4.97-4.03,7.79-6.04,5.43-3.82,11.09-7.32,16.93-10.48,2.42-1.21,5.37-2.02,7.12-2.69,1.61-.81,2.64-1.43,3.09-1.88.54-.4.67.54.4-.94-.4-1.48-1.88-4.97-2.28-7.66-.4-2.82-.4-6.18,0-8.73.36-2.42,1.03-4.66,2.01-6.72,1.16-2.24,2.46-4.3,3.9-6.18,1.34-1.7,2.91-3.04,4.7-4.03,1.75-1.07,4.3-2.01,6.18-2.42,1.61-.45,3.13-.58,4.57-.4l4.57.27c1.34.18,2.55.49,3.63.94,1.07.54,2.55,1.48,3.09,2.01.4.67.67.13-.27,1.61-1.07,1.48-4.16,4.57-5.78,7.12-1.61,2.69-2.96,5.6-4.03,8.73-.94,3.22-1.88,8.73-2.01,10.75-.27,2.15,4.7,1.75,5.1.54.54-1.07.27-2.55,1.07-5.1.81-2.42,2.42-7.25,3.9-9.81,1.34-2.55,2.82-3.76,4.57-5.51,1.79-1.88,3.67-3.45,5.64-4.7,1.88-1.21,3.22-1.75,5.64-2.28,2.42-.4,6.18-.67,8.73-.67,2.42,0,3.9.13,6.18.94,2.15.81,5.24,2.69,7.12,4.03,1.79,1.52,3.22,3.09,4.3,4.7,1.21,1.61,1.88,2.96,2.55,5.1.67,2.15,1.34,5.1,1.34,7.66,0,2.69-.54,6.04-1.21,8.19-.63,2.24-1.43,4.03-2.42,5.37-.67,1.34-.94,1.61-2.15,2.82-1.21,1.34-3.22,3.22-4.97,4.57-1.75,1.21-4.43,2.28-5.51,3.22-.94.81-.4,2.51.4,2.42.94.13,1.75.4,4.57-.13,2.82-.4,8.33-2.15,12.22-2.82,11.99-2.63,24.41-2.63,36.4,0,3.22.54,4.16,1.07,6.31,1.75l6.04,2.28c2.42,1.07,5.51,2.42,8.19,4.16,8.15,5.36,15.14,12.3,20.55,20.42,1.61,2.42,2.87,4.66,3.76,6.72,1.85,4.51,3.42,9.13,4.7,13.84.67,2.82,1.21,4.43,1.61,8.19.4,3.76.4,11.82.54,14.37.27,2.55-.13,2.28,1.75,1.34,1.75-.94,20.09-7.74,30.63-31.57,9.16-20.71,1.9-47.26-2.28-55.34-1.75-3.22-4.16-6.99-6.31-9.81-4.44-5.14-9.6-9.62-15.31-13.3-2.96-1.7-5.55-3.09-7.79-4.16-4.33-1.6-8.77-2.86-13.3-3.76l-6.18-.4h-14.37c-2.69-.27-3.1-3.18-.54-4.3,3.64-1.58,9.88-2.63,18.54-2.42,8.78.21,14.91,1.88,17.33,2.55,13.98,3.94,30.19,16.65,38.55,30.76,6.61,11.16,9.81,29.96,9.81,29.96.37,1.75,2.18,1.66,3.08.35ZM232.78,345.3c-3.91,0-7.08,3.17-7.08,7.08s3.17,7.08,7.08,7.08,7.08-3.17,7.08-7.08-3.17-7.08-7.08-7.08Z"/></svg>';function xT(e){let t=e.status>=200&&e.status<300,r=t?"badge badge--success":"badge badge--notice",n=t?'<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false" class="mark"><path fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" d="M5 12.5l4.2 4.2L19 7"/></svg>':'<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false" class="mark"><path fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" d="M12 7v6M12 17h.01"/></svg>';return`<!doctype html>
|
|
46
|
+
`);try{return await(e.openAuthorizationUrl??CT)(o),await n.waitForToken(qy(e.waitForTokenTimeoutMs))}finally{n.close()}}async function Fy(e){return await Eo(e)==="usable"}async function Eo(e){let t=new URL("/api/v2/local-codex-runner/oauth/validate",Ve(e.kandanUrl));e.workspaceSlug!==void 0&&t.searchParams.set("workspace",e.workspaceSlug),e.channelSlug!==void 0&&t.searchParams.set("channel",e.channelSlug);for(let n of e.requiredScopes??[])t.searchParams.append("required_scope",n);let r=await fetch(t,{method:"GET",headers:{authorization:`Bearer ${e.accessToken}`}});switch(r.status){case 200:{let n=await r.json();return typeof n=="object"&&n!==null&&"ok"in n&&n.ok===!0?"usable":"rejected"}case 401:case 403:return"rejected";case 404:return"not_found";default:throw new Error(`local runner auth validation failed with HTTP ${r.status}`)}}function Ve(e){let t=new URL(e);switch(t.protocol){case"ws:":t.protocol="http:";break;case"wss:":t.protocol="https:";break;case"http:":case"https:":break;default:throw new Error("--api-url must be ws://, wss://, http://, or https://")}return t.pathname="",t.search="",t.hash="",t.toString().replace(/\/$/,"")}function $T(e,t){let r=t?.trim();if(r!==void 0&&r!=="")return r;let n=new URL(e).hostname.trim();return zT(n)&&n!=="localhost"?n:"127.0.0.1"}function zT(e){let t=e.split(".").map(o=>Number.parseInt(o,10));if(t.length!==4||t.some(o=>!Number.isInteger(o)||o<0||o>255))return e==="localhost";let[r,n]=t;return r===void 0||n===void 0?!1:r===10||r===127||r===172&&n>=16&&n<=31||r===192&&n===168||r===169&&n===254||r===100&&n>=64&&n<=127}function PT(e){let t=new URL("/api/v2/local-codex-runner/oauth/authorize",e.httpBaseUrl);return t.searchParams.set("redirect_uri",e.redirectUri),t.searchParams.set("state",e.state),e.workspaceSlug!==void 0&&t.searchParams.set("workspace",e.workspaceSlug),e.channelSlug!==void 0&&t.searchParams.set("channel",e.channelSlug),e.onboarding!==void 0&&t.searchParams.set("onboarding",e.onboarding),e.purpose!==void 0&&t.searchParams.set("purpose",e.purpose),t.toString()}async function TT(e){let t=await fetch(new URL("/api/v2/local-codex-runner/oauth/token",e.httpBaseUrl),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({code:e.code,redirect_uri:e.redirectUri})}),r=await t.json();if(!t.ok||typeof r!="object"||r===null){let s=typeof r=="object"&&r!==null&&"error"in r&&typeof r.error=="string"?r.error:void 0;throw s==="admin_role_required"?new Error("This token requires a Linzumi admin account. Approve the request while signed in as an admin."):new Error(s!==void 0?`local runner OAuth token exchange failed: ${s}`:"local runner OAuth token exchange failed")}let n="access_token"in r?r.access_token:void 0;if(typeof n!="string"||n.trim()==="")throw new Error("local runner OAuth token response did not include access_token");let o="expires_in"in r?r.expires_in:void 0;return{accessToken:n,expiresInSeconds:typeof o=="number"?o:void 0,workspaceSlug:xi(r,"workspace"),channelSlug:xi(r,"channel")}}async function Vy(e){let t=await fetch(new URL("/api/v2/local-codex-runner/device/start",e.httpBaseUrl),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({workspace:e.workspaceSlug,channel:e.channelSlug,onboarding:e.onboarding,runner_id:e.identity?.runnerId,machine_fingerprint:e.identity?.machineFingerprint,hostname:e.identity?.hostname})}),r=await t.json();if(!t.ok||typeof r!="object"||r===null){let a=dl(r);throw new Error(a===void 0?`local runner device authorization failed to start (HTTP ${t.status})`:`local runner device authorization failed to start (server said: ${a})`)}let n="device_code"in r?r.device_code:void 0,o="user_code"in r?r.user_code:void 0,s="verification_uri"in r?r.verification_uri:void 0,i="expires_in"in r?r.expires_in:void 0;if(typeof n!="string"||n.trim()===""||typeof o!="string"||o.trim()===""||typeof s!="string"||s.trim()==="")throw new Error("local runner device authorization response was incomplete");return{deviceCode:n,userCode:o,verificationUri:s,expiresInSeconds:typeof i=="number"?i:void 0}}async function By(e){let t=e.now??Date.now,r=typeof e.expiresInSeconds=="number"&&e.expiresInSeconds>=0?e.expiresInSeconds:600,n=t()+r*1e3;for(;t()<n;){let o=Math.max(0,Math.min(3e4,n-t())),s=new AbortController,i=setTimeout(()=>s.abort(),o+ST),a,c;try{a=await fetch(new URL("/api/v2/local-codex-runner/device/token",e.httpBaseUrl),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({device_code:e.deviceCode,wait_ms:o}),signal:s.signal})}catch(l){if(clearTimeout(i),s.signal.aborted)continue;return{kind:"transient",reason:l instanceof Error?l.message:String(l)}}try{c=await a.json()}catch(l){if(s.signal.aborted)continue;return{kind:"transient",reason:`non-JSON device/token response (${l instanceof Error?l.message:String(l)})`,httpStatus:a.status}}finally{clearTimeout(i)}if(a.status===202&&dl(c)==="authorization_pending")continue;if(!a.ok||typeof c!="object"||c===null){let l=dl(c);switch(l){case"access_denied":return{kind:"denied"};case"device_session_expired":return{kind:"code_expired"};case"device_session_consumed":return{kind:"consumed"};default:return a.status>=500||a.status===429?{kind:"transient",reason:l??`HTTP ${a.status}`,httpStatus:a.status}:{kind:"rejected",reason:l,httpStatus:a.status}}}let u="access_token"in c?c.access_token:void 0;if(typeof u!="string"||u.trim()==="")return{kind:"rejected",reason:"device token response did not include access_token",httpStatus:a.status};let d="expires_in"in c?c.expires_in:void 0;return{kind:"token",token:{accessToken:u,expiresInSeconds:typeof d=="number"?d:void 0,workspaceSlug:xi(c,"workspace"),channelSlug:xi(c,"channel")}}}return{kind:"code_expired"}}function dl(e){if(!(typeof e!="object"||e===null||!("error"in e)))return typeof e.error=="string"?e.error:void 0}function Hy(e,t){switch(e){case"access_denied":return"local runner device authorization was denied";case"device_session_expired":return"local runner device authorization expired";case"device_session_consumed":return"local runner device authorization was already used";case"invalid_device_code":return"local runner device authorization code was rejected";case"device_session_not_pending":return"local runner device authorization was already decided (approved or denied) on the server";case"invalid_user_code":return"local runner device authorization code was not recognized by the server";case"approving_user_not_found":return"local runner device authorization failed: the approving Linzumi account could not be found";case"rate_limited":return"local runner device authorization was rate limited by the server; wait a minute and retry";case void 0:return t===void 0?"local runner device authorization failed (no reason returned by the server)":`local runner device authorization failed (HTTP ${t}, no reason returned by the server)`;default:return`local runner device authorization failed (server said: ${e})`}}function xi(e,t){let r=e[t];return typeof r=="string"&&r.trim()!==""?r:void 0}function RT(e){return new Promise((t,r)=>{let n,o,s=!1,i=new Promise((d,l)=>{n=d,o=l});i.catch(()=>{});let a=d=>s?!1:(s=!0,d(),!0),c=`http://${e.host}/callback`,u=kT((d,l)=>{(async()=>{try{let p=new URL(d.url??"/",`http://${e.host}`),h=p.searchParams.get("code"),f=p.searchParams.get("state"),g=p.searchParams.get("error");if(g!==null&&g.trim()!==""){a(()=>o?.(new Error(`local runner OAuth failed: ${g}`))),Ro(l,{title:"Not authorized",body:"You denied the request. Close this tab and rerun the bootstrap command when you're ready.",status:403});return}if(h===null||f===null||h.trim()===""||f.trim()===""){Ro(l,{title:"Authorization callback was incomplete",body:"We didn't receive the authorization code. Return to your terminal and try again.",status:400});return}let y;try{y=await e.exchange({code:h,state:f,redirectUri:c})}catch(w){a(()=>o?.(w)),Ro(l,{title:"Authorization could not be completed",body:"We received the authorization but could not finish setup. Return to your terminal for details and rerun the bootstrap command.",status:400});return}let b=a(()=>n?.(y));Ro(l,{title:b?"Computer authorized":"Already authorized",body:"This computer has been authorized for agentic use in Linzumi. Feel free to close this tab and let the terminal finish setup.",status:200})}catch(p){a(()=>o?.(p)),Ro(l,{title:"Authorization callback failed",body:"Return to your terminal and rerun the bootstrap command.",status:500})}})()});u.once("error",r),u.listen(0,e.host,()=>{let d=u.address();if(!ET(d)){r(new Error("local runner OAuth callback server did not bind to a TCP port"));return}c=`http://${e.host}:${d.port}/callback`,t({redirectUri:c,waitForToken:l=>{let p=qy(l),h=setTimeout(()=>{a(()=>o?.(new Error("Authorization timed out before the browser callback completed. Rerun the connect command and finish authorizing in the browser."))),u.close()},p);return h.unref?.(),i.finally(()=>{clearTimeout(h)}).catch(()=>{}),i},close:()=>{u.close()}})})})}function ET(e){return typeof e=="object"&&e!==null&&typeof e.port=="number"}function Ro(e,t){e.writeHead(t.status,{"content-type":"text/html; charset=utf-8"}),e.end(OT(t))}var IT='<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path fill="currentColor" d="M206.7,82.37l2.55-6.45,2.01-3.63c.67-1.21,1.07-1.88,2.55-3.63,1.34-1.61,3.36-4.43,5.64-6.58,2.42-2.24,5.06-4.3,7.93-6.18,3.92-2.53,8.17-4.52,12.63-5.91,1.79-.63,4.03-1.16,6.72-1.61,6.1-.88,12.29-.92,18.4-.13,2.69.45,5.06,1.03,7.12,1.75,2.15.67,3.49,1.07,5.64,2.15,4.55,2.16,8.87,4.77,12.9,7.79,1.61,1.34,2.42,2.15,4.16,4.16l5.91,7.66c1.34,2.01,1.34,2.28,2.15,4.03l2.55,6.58c.67,1.34-.13,1.34,1.07.94,1.21-.27,4.3-2.01,6.45-2.82,4.7-1.83,9.62-3,14.64-3.49,2.42-.27,3.76-.54,7.12-.27s9.27,1.21,12.76,2.15c3.63.94,6.58,2.55,8.73,3.49,2.15,1.07,2.55,1.48,4.16,2.55,3.49,2.51,6.77,5.29,9.81,8.33,1.52,1.7,3.04,3.58,4.57,5.64,2.74,4.49,4.86,9.32,6.31,14.37.67,2.28,1.07,3.49,1.34,6.72.27,3.22,0,10.48.4,12.76.27,2.28.27.67,1.61.94,1.48.27,4.3,0,6.72.4,2.42.27,4.97.85,7.66,1.75,6.76,2.32,13.01,5.92,18.4,10.61,2.28,1.75,2.96,2.69,4.3,4.3,3.51,3.93,6.32,8.43,8.33,13.3,1.07,2.15,1.21,2.28,1.88,5.1.54,2.96,1.61,8.19,1.61,12.36s-.81,9.67-1.34,12.76c-.67,3.22-1.07,4.03-2.15,6.18-2.16,4.54-4.81,8.82-7.93,12.76-1.25,1.61-2.6,3-4.03,4.16-1.48,1.34-2.69,2.42-4.7,3.76-3.79,2.34-7.74,4.4-11.82,6.18l-6.58,2.15c-2.06.45-4.12.72-6.18.81l-7.25.13c-2.28,0-2.82.27-6.58-.4-3.76-.81-11.69-2.82-15.99-4.3-4.16-1.34-6.31-2.69-9.67-4.43-3.49-1.75-10.48-6.18-12.9-7.39-8.26-4.54-16.78-8.58-25.52-12.09-4.3-1.75-9.27-3.22-11.82-4.03-2.55-.81-5.24-1.61-7.66-2.15-8.39-2.25-16.99-3.6-25.66-4.03-3.9-.27-4.84-.27-8.19-.13-3.67-.09-7.79.04-12.36.4-7.9.79-15.75,2.04-23.51,3.76-8.37,2.26-16.62,4.95-24.72,8.06-3.22,1.34-2.82.81-9.13,4.16-6.31,3.36-22.03,12.22-28.75,15.58-6.72,3.36-8.73,3.49-11.82,4.43-3.09,1.07-4.3,1.21-6.58,1.61-7.3,1.09-14.71,1.18-22.03.27-2.55-.54-5.78-1.61-7.79-2.28-2.01-.54-2.15-.67-4.03-1.75-2.02-1.07-5.64-3.22-7.79-4.7-3.24-2.15-6.14-4.77-8.6-7.79-1.34-1.52-2.69-3.36-4.03-5.51-1.52-2.51-2.96-5.24-4.3-8.19-2.03-5.46-3.03-11.24-2.96-17.06,0-2.96.13-6.72.67-9.67.54-2.87,1.34-5.6,2.42-8.19,4.24-10.52,12.04-19.22,22.03-24.58,5.19-2.98,10.88-4.98,16.79-5.91,2.55-.4,5.37-.13,6.72-.4,1.34-.27,1.34,1.34,1.61-.94.4-2.28,0-9.4.4-12.76.27-3.36.81-4.97,1.48-7.25,1.87-6.19,4.88-11.97,8.87-17.06,3.47-3.98,7.39-7.54,11.69-10.61,4.43-2.61,9.11-4.77,13.97-6.45,2.55-.67,6.99-1.34,9.13-1.75,2.15-.27,1.88-.13,3.63-.13,1.79-.09,4.03,0,6.72.27,2.69.18,5.73.72,9.13,1.61,3.49,1.07,9.27,4.03,11.28,4.7s.4.27,1.07-.94ZM512.27,255.7c0,141.39-114.62,256-256,256S.27,397.09.27,255.7,114.89-.3,256.27-.3s256,114.62,256,256ZM449.33,352.66c14.67-29.16,22.94-62.09,22.94-96.95,0-119.29-96.71-216-216-216S40.27,136.41,40.27,255.7c0,41.89,11.94,80.98,32.57,114.09,1.7,1.79,2.94.65,3.05-.57.27-1.61,2.75-20.85,4.43-27.27,1.87-7.6,4.52-14.98,7.93-22.03,1.75-3.49,3.76-7.93,6.18-11.82,8.77-13.95,19.75-26.38,32.51-36.81,7.24-5.32,14.87-10.08,22.84-14.24,9.74-4.78,20.09-8.22,30.76-10.21,4.03-.99,7.61-1.66,10.75-2.02,3.36-.54,5.78-.54,9.27-.94,3.49-.54,9.32-1.16,11.82-2.01,6.65-2.27,5.64-6.72,3.09-7.52-2.55-.81-9.67-1.88-13.84-2.96-4.16-1.21-8.73-2.82-11.28-3.76-2.55-.94-2.28-.94-3.9-2.02l-5.91-4.03c-.94-.94-1.34-.94.54-2.02l10.21-5.51c2.01-1.07,1.75-.67,3.09-.13,1.34.67,4.3,2.42,6.72,3.36,7.2,2.69,14.96,3.52,22.57,2.42,1.34-.27,1.34-.54,1.61-1.21.27-.67.81-.94-.13-2.69-.94-1.88-4.43-6.58-5.64-8.46l-1.21-2.28c-.27-.45-1.07-1.07,1.21-1.75,2.42-.54,10.48-2.58,12.9-2.82.86-.09.67,0,1.75,1.07,1.07,1.07,3.09,3.63,4.84,5.24,1.88,1.61,4.43,3.22,6.18,4.3,2.8,1.71,5.99,2.68,9.27,2.82,1.88,0,4.97-.13,7.12-.67,2.15-.4,3.63-.94,5.64-2.02,2.01-1.07,4.7-2.69,6.72-4.43,2.01-1.75,3.49-5.1,5.64-6.04,2.15-.81,4.97.54,7.12.94,2.28.4,4.97,1.21,6.18,1.61,1.21.4,2.01.4.67,2.28l-8.06,10.34c-1.34,1.88.13,5.51,1.21,5.64l5.64.27c2.28-.13,4.43.13,7.66-.67,3.36-.81,9.27-2.96,11.82-3.9,2.69-.94,3.22-1.34,4.16-2.01.81-.54,1.39-1.03,1.75-1.48.45-.27.67-1.07,2.82,0s9.4,4.97,11.28,6.18c2.01,1.21,1.07.94,0,1.75l-5.51,3.9c-1.48.94-1.07.94-3.22,1.88-2.15,1.07-6.58,2.96-9.67,4.03s-4.03,1.75-8.73,2.69c-4.7.81-14.51,1.75-19.48,2.55-4.97.81-7.93,1.34-10.34,2.01-2.28.67-2.15.94-3.49,1.88-1.48,1.07-2.69,1.61-4.97,3.9-2.28,2.28-5.91,6.85-8.73,9.81-2.82,2.96-6.45,6.04-8.33,7.79-2.02,1.61-1.61,1.34-3.36,2.42l-6.99,4.03-4.03,2.02-6.72,2.15c-2.42.67-3.9,1.21-7.66,2.01l-14.91,2.82c-3.63.81-4.3,1.07-7.12,2.01-2.96,1.07-6.22,2.46-9.81,4.16-3.22,1.43-6.81,3.45-10.75,6.04-13.6,9.14-24.61,21.63-31.97,36.27-2.01,3.76-2.96,6.58-3.9,9.27-1.07,2.69-1.61,4.03-2.28,6.58-.67,2.69-1.48,5.24-2.15,9.27-.54,4.16-1.48,11.15-1.75,15.45-.27,4.16-.27,6.04,0,10.21l1.88,14.91c.67,3.76,1.48,5.91,2.15,8.19l1.88,5.64c.99,2.6,2.42,5.78,4.3,9.54,2.15,3.76,5.37,9.13,8.06,13.03,10.08,14.51,23.81,26.36,40.17,33.05,22.55,9.22,43.32,10.46,61.89,10.46,3.25,0,6.49-.09,9.71-.23,3.07-.42,2.74-6.09,10.48-9.42,5.26-2.26,13.7-2.42,14.91-2.55,1.07-.13-5.24-4.57-7.79-6.45-2.55-1.88-4.97-4.3-6.72-5.91-1.75-1.75-2.42-2.28-3.9-4.16-1.61-1.88-3.9-5.51-5.24-7.12-1.34-1.61-1.48-2.28-2.55-2.55-.98-.27-2.37-.09-4.16.54-1.88.4-5.37,1.21-7.12,1.88-1.75.67-2.02.81-3.09,2.01-1.07,1.07-2.69,3.76-3.63,4.7-.81.94-.67.67-1.48.94-.81.27-2.42.67-3.63.54-1.34-.18-2.55-.58-3.63-1.21-.81-.81-1.48-2.42-1.88-3.22-.4-.94-.54-1.21-.54-2.15l.4-3.49c.18-1.52.72-3.27,1.61-5.24.94-1.75,1.88-3.49,4.16-5.64,2.15-2.02,7.52-5.51,9.13-6.85,1.61-1.34,1.21-2.15.54-3.63-2.69-5.16-6.33-9.77-10.75-13.57-2.42-1.88-5.51-3.22-7.79-4.3-2.15-1.21-2.01-1.21-5.78-2.42-3.76-1.07-13.16-3.63-16.79-4.84-3.63-1.07-2.82-.94-5.1-2.01l-8.19-4.3c-1.75-.94-1.34-.54-2.69-1.61l-5.51-4.57c-2.18-1.93-3.77-4.45-4.57-7.25-.45-1.52-.45-2.87,0-4.03.4-1.34,0-1.21,2.01-3.63,2.15-2.42,7.25-7.93,10.21-10.75,3.09-2.82,4.97-4.03,7.79-6.04,5.43-3.82,11.09-7.32,16.93-10.48,2.42-1.21,5.37-2.02,7.12-2.69,1.61-.81,2.64-1.43,3.09-1.88.54-.4.67.54.4-.94-.4-1.48-1.88-4.97-2.28-7.66-.4-2.82-.4-6.18,0-8.73.36-2.42,1.03-4.66,2.01-6.72,1.16-2.24,2.46-4.3,3.9-6.18,1.34-1.7,2.91-3.04,4.7-4.03,1.75-1.07,4.3-2.01,6.18-2.42,1.61-.45,3.13-.58,4.57-.4l4.57.27c1.34.18,2.55.49,3.63.94,1.07.54,2.55,1.48,3.09,2.01.4.67.67.13-.27,1.61-1.07,1.48-4.16,4.57-5.78,7.12-1.61,2.69-2.96,5.6-4.03,8.73-.94,3.22-1.88,8.73-2.01,10.75-.27,2.15,4.7,1.75,5.1.54.54-1.07.27-2.55,1.07-5.1.81-2.42,2.42-7.25,3.9-9.81,1.34-2.55,2.82-3.76,4.57-5.51,1.79-1.88,3.67-3.45,5.64-4.7,1.88-1.21,3.22-1.75,5.64-2.28,2.42-.4,6.18-.67,8.73-.67,2.42,0,3.9.13,6.18.94,2.15.81,5.24,2.69,7.12,4.03,1.79,1.52,3.22,3.09,4.3,4.7,1.21,1.61,1.88,2.96,2.55,5.1.67,2.15,1.34,5.1,1.34,7.66,0,2.69-.54,6.04-1.21,8.19-.63,2.24-1.43,4.03-2.42,5.37-.67,1.34-.94,1.61-2.15,2.82-1.21,1.34-3.22,3.22-4.97,4.57-1.75,1.21-4.43,2.28-5.51,3.22-.94.81-.4,2.51.4,2.42.94.13,1.75.4,4.57-.13,2.82-.4,8.33-2.15,12.22-2.82,11.99-2.63,24.41-2.63,36.4,0,3.22.54,4.16,1.07,6.31,1.75l6.04,2.28c2.42,1.07,5.51,2.42,8.19,4.16,8.15,5.36,15.14,12.3,20.55,20.42,1.61,2.42,2.87,4.66,3.76,6.72,1.85,4.51,3.42,9.13,4.7,13.84.67,2.82,1.21,4.43,1.61,8.19.4,3.76.4,11.82.54,14.37.27,2.55-.13,2.28,1.75,1.34,1.75-.94,20.09-7.74,30.63-31.57,9.16-20.71,1.9-47.26-2.28-55.34-1.75-3.22-4.16-6.99-6.31-9.81-4.44-5.14-9.6-9.62-15.31-13.3-2.96-1.7-5.55-3.09-7.79-4.16-4.33-1.6-8.77-2.86-13.3-3.76l-6.18-.4h-14.37c-2.69-.27-3.1-3.18-.54-4.3,3.64-1.58,9.88-2.63,18.54-2.42,8.78.21,14.91,1.88,17.33,2.55,13.98,3.94,30.19,16.65,38.55,30.76,6.61,11.16,9.81,29.96,9.81,29.96.37,1.75,2.18,1.66,3.08.35ZM232.78,345.3c-3.91,0-7.08,3.17-7.08,7.08s3.17,7.08,7.08,7.08,7.08-3.17,7.08-7.08-3.17-7.08-7.08-7.08Z"/></svg>';function OT(e){let t=e.status>=200&&e.status<300,r=t?"badge badge--success":"badge badge--notice",n=t?'<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false" class="mark"><path fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" d="M5 12.5l4.2 4.2L19 7"/></svg>':'<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false" class="mark"><path fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" d="M12 7v6M12 17h.01"/></svg>';return`<!doctype html>
|
|
47
47
|
<html lang="en">
|
|
48
48
|
<head>
|
|
49
49
|
<meta charset="utf-8" />
|
|
50
50
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
51
|
-
<title>${
|
|
51
|
+
<title>${ul(e.title)}</title>
|
|
52
52
|
<style>
|
|
53
53
|
:root {
|
|
54
54
|
color-scheme: light dark;
|
|
@@ -139,26 +139,26 @@ ${o}
|
|
|
139
139
|
<body>
|
|
140
140
|
<main>
|
|
141
141
|
<div class="${r}">${n}</div>
|
|
142
|
-
<h1>${
|
|
143
|
-
<p>${
|
|
144
|
-
<div class="logo">${
|
|
142
|
+
<h1>${ul(e.title)}</h1>
|
|
143
|
+
<p>${ul(e.body)}</p>
|
|
144
|
+
<div class="logo">${IT}</div>
|
|
145
145
|
</main>
|
|
146
146
|
</body>
|
|
147
|
-
</html>`}function
|
|
148
|
-
`,{encoding:"utf8",mode:384}),
|
|
147
|
+
</html>`}function ul(e){return e.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">")}function jT(e){return e.replace(/[&^|<>()%"]/g,t=>`^${t}`)}function CT(e){let t=process.platform==="darwin"?"open":process.platform==="win32"?"cmd":"xdg-open",r=process.platform==="win32"?["/c","start","",jT(e)]:[e];return new Promise(n=>{al("process.spawn",{command:t,args:r,purpose:"oauth.open_browser"});let o=bT(t,r,{stdio:"ignore",detached:!0});al("process.spawned",{command:t,args:r,pid:o.pid,purpose:"oauth.open_browser"}),o.on("error",()=>n()),o.on("spawn",()=>{o.unref(),n()})})}function Wy(){return qT(ZT(),".linzumi","auth.json")}function Si(e,t=Wy()){if(!ll(t))return;let r=ml(pl(t,"utf8")),n=Ve(e),o=r.local_codex_runner?.[n];if(!(o===void 0||o.access_token.trim()==="")&&!(o.expires_at!==void 0&&Date.parse(o.expires_at)<=Date.now()))return{accessToken:o.access_token,kandanBaseUrl:n,issuedAt:o.issued_at,expiresAt:o.expires_at}}function Gy(e){if(!ll(e))throw new Error(`missing personal-agent delegation auth file: ${e}`);let r=ml(pl(e,"utf8")).personal_agent_delegation;if(r===void 0||r.access_token.trim()==="")throw new Error("personal-agent delegation auth file is missing access_token");if(r.expires_at!==void 0&&Date.parse(r.expires_at)<=Date.now())throw new Error("personal-agent delegation auth file token is expired");return{accessToken:r.access_token,issuedAt:r.issued_at,expiresAt:r.expires_at}}function Ky(e){let t=e.authFilePath??Wy(),r=ll(t)?ml(pl(t,"utf8")):{version:1},n=Ve(e.kandanUrl),o=new Date,s=e.expiresInSeconds===void 0?void 0:new Date(o.getTime()+e.expiresInSeconds*1e3).toISOString(),i={...r,version:1,local_codex_runner:{...r.local_codex_runner??{},[n]:{access_token:e.accessToken,issued_at:o.toISOString(),expires_at:s}}};MT(UT(t),{recursive:!0});let a=`${t}.tmp.${process.pid}.${AT(6).toString("hex")}`;try{DT(a,`${JSON.stringify(i,null,2)}
|
|
148
|
+
`,{encoding:"utf8",mode:384}),NT(a,t)}catch(c){try{LT(a,{force:!0})}catch{}throw c}return{accessToken:e.accessToken,kandanBaseUrl:n,issuedAt:o.toISOString(),expiresAt:s}}function ml(e){let t=JSON.parse(e);if(typeof t!="object"||t===null||Array.isArray(t))throw new Error("Kandan auth cache must contain a JSON object");let r=t,n=r.local_codex_runner,o=r.personal_agent_delegation;if(n!==void 0&&(typeof n!="object"||n===null||Array.isArray(n)))throw new Error("Kandan auth cache local_codex_runner must be an object");if(o!==void 0&&(typeof o!="object"||o===null||Array.isArray(o)))throw new Error("Kandan auth cache personal_agent_delegation must be an object");return{version:1,local_codex_runner:FT(n),personal_agent_delegation:JT(o)}}function JT(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e.access_token,r=e.issued_at,n=e.expires_at;if(!(typeof t!="string"||typeof r!="string"))return{access_token:t,issued_at:r,expires_at:typeof n=="string"?n:void 0}}function FT(e){if(!(typeof e!="object"||e===null||Array.isArray(e)))return Object.fromEntries(Object.entries(e).flatMap(([t,r])=>{if(typeof r!="object"||r===null||Array.isArray(r))return[];let n=r.access_token,o=r.issued_at,s=r.expires_at;return typeof n!="string"||typeof o!="string"?[]:[[t,{access_token:n,issued_at:o,expires_at:typeof s=="string"?s:void 0}]]}))}var VT=3,BT=3600*1e3,HT=5e3,WT=5e3,GT=6e4;function KT(e){return e.cycle<=VT?"prompt":e.lastLoudPromptAtMs===void 0||e.nowMs-e.lastLoudPromptAtMs>=BT?"summary":e.isInteractive?"refresh_line":"silent"}function XT(e){switch(e.kind){case"prompt":return`${e.cycle===1?"":`The previous code expired; here is a fresh one (no restart needed - this prompt stays alive).
|
|
149
149
|
`}Authorize this computer:
|
|
150
150
|
Code: ${e.userCode}
|
|
151
151
|
Open: ${e.verificationUri}
|
|
152
|
-
`;case"summary":return`Still waiting for authorization after ${
|
|
152
|
+
`;case"summary":return`Still waiting for authorization after ${Xy(e.waitedMs)} (${e.cycle} codes issued so far).
|
|
153
153
|
Authorize this computer:
|
|
154
154
|
Code: ${e.userCode}
|
|
155
155
|
Open: ${e.verificationUri}
|
|
156
|
-
`;case"refresh_line":return`\r\x1B[2KCode: ${e.userCode} (waiting ${
|
|
156
|
+
`;case"refresh_line":return`\r\x1B[2KCode: ${e.userCode} (waiting ${Xy(e.waitedMs)}) - open ${e.verificationUri}`;case"transient":return`Device authorization poll hit a transient failure (${e.reason}); retrying with the same code.
|
|
157
157
|
`;case"start_failed":return`Could not mint a device authorization code (${e.reason}); retrying in ${Math.round(e.retryInMs/1e3)}s.
|
|
158
|
-
`}}function
|
|
159
|
-
`,{encoding:"utf8",mode:
|
|
160
|
-
`,{encoding:"utf8",flag:"wx"});try{return VT(s,n),o}catch(i){if(rR(i,"EEXIST"))return n_(n);throw i}finally{BT(s)}}function n_(e){let t=i_(e,"utf8").trim();if(!_l(t))throw new Error(`invalid Linzumi runner id seed: ${e}`);return t}function f_(){return`runner-${o_()}`}function h_(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t!==""))]}function rR(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}import{execFileSync as nR}from"node:child_process";import{createHash as oR}from"node:crypto";import{readFileSync as sR}from"node:fs";var iR="linzumi-machine-fingerprint:v1:";function aR(e,t){return nR(e,[...t],{encoding:"utf8",timeout:5e3,maxBuffer:1024*1024})}function cR(e){return sR(e,"utf8")}function uR(e={}){let t=e.platform??process.platform,r=e.execFile??aR,n=e.readFile??cR;try{if(t==="darwin"){let i=r("ioreg",["-rd1","-c","IOPlatformExpertDevice"]).match(/"IOPlatformUUID"\s*=\s*"([0-9A-Fa-f-]{36})"/)?.[1];return i===void 0?void 0:i.toLowerCase()}if(t==="linux"){for(let o of["/etc/machine-id","/var/lib/dbus/machine-id"])try{let s=n(o).trim().toLowerCase();if(/^[0-9a-f]{32}$/.test(s))return s}catch{}return}return}catch{return}}function g_(e={}){let t=uR(e);return t===void 0?void 0:`mfp-${oR("sha256").update(`${iR}${t}`).digest("hex").slice(0,32)}`}async function y_(e,t={readCachedToken:xi,validateToken:Ro,acquireAndCacheToken:mR}){if(e.explicitToken!==void 0)return e.explicitToken;let r=t.readCachedToken(e.kandanUrl,e.authFilePath);if(r!==void 0){let o=await t.validateToken({kandanUrl:e.kandanUrl,accessToken:r.accessToken,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,requiredScopes:e.requiredScopes});if(o==="usable")return r.accessToken;e.reportRejectedCachedToken?.(o)}let n=await t.acquireAndCacheToken(e);return e.workspaceSlug!==void 0&&await lR(e,t,n),n}async function lR(e,t,r){let n;try{n=await t.validateToken({kandanUrl:e.kandanUrl,accessToken:r,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,requiredScopes:e.requiredScopes})}catch{return}if(n==="not_found")throw new Error(pR(e))}function pR(e){let t=new URL(Ve(e.kandanUrl)).host;return`Workspace '${e.workspaceSlug}' was not found on ${t}. Sign in to the web app to create it, then re-run connect.`}async function mR(e){let t=e.authMode??{kind:"browser",callbackHost:e.callbackHost},r=t.kind==="device"?await Wy({kandanUrl:e.kandanUrl,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,onboarding:e.onboarding,identity:{runnerId:c_(e.kandanUrl),machineFingerprint:g_(),hostname:dR()}}):await Dy({kandanUrl:e.kandanUrl,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,onboarding:e.onboarding,callbackHost:t.callbackHost??e.callbackHost});return By({kandanUrl:e.kandanUrl,accessToken:r.accessToken,expiresInSeconds:r.expiresInSeconds,authFilePath:e.authFilePath}),r.accessToken}import{readFile as mM,realpath as bl,stat as fR,writeFile as fM,mkdir as hM}from"node:fs/promises";import{homedir as hR}from"node:os";import{basename as gR,extname as yR,isAbsolute as v_,join as _M,relative as b_,resolve as vl}from"node:path";function ft(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function $t(e){return e!==void 0&&ft(e)?e:void 0}function Si(e){return Array.isArray(e)?e:void 0}function we(e){return typeof e=="string"&&e.trim()!==""?e.trim():void 0}function __(e){return typeof e=="number"&&Number.isInteger(e)?e:void 0}var _R=new Set([".csv",".diff",".gif",".htm",".html",".jpeg",".jpg",".json",".jsonl",".log",".md",".mp4",".patch",".pdf",".png",".svg",".txt",".webm",".webp",".xml",".zip"]);async function wl(e,t){let r=await bl(e),n=await wR(r),o=await vR(r,t);bR(n,o);let s=await fR(o);if(!s.isFile())throw new Error(`Linzumi upload path is not a file: ${o}`);return{path:o,fileName:gR(o),contentType:xR(o),sizeBytes:s.size}}async function vR(e,t){if(t==="")throw new Error("Kandan attachment path must not be empty");let r=v_(t)?vl(t):vl(e,t);return await bl(r)}function bR(e,t){let r=e.find(i=>kR(i.path,t));if(r===void 0){let i=e.map(a=>a.label).join(", ");throw new Error(`Kandan attachment path must resolve inside an allowed upload root (${i}): ${t}`)}if(b_(r.path,t).split(/[\\/]+/).find(i=>i.startsWith("."))!==void 0)throw new Error(`Kandan attachment upload path must not include hidden path segments: ${t}`);let s=yR(t).toLowerCase();if(!_R.has(s))throw new Error(`Kandan attachment upload path extension is not allowed: ${t}`)}async function wR(e){let t=[{path:e,label:"runner cwd"}],r=process.env.HOME?.trim(),n=vl(r===void 0||r===""?hR():r,"Downloads");try{let o=await bl(n);t.some(s=>s.path===o)||t.push({path:o,label:"~/Downloads"})}catch{return t}return t}function kR(e,t){let r=b_(e,t);return r===""||!r.startsWith("..")&&!v_(r)}function xR(e){let t=e.toLowerCase();return t.endsWith(".png")?"image/png":t.endsWith(".jpg")||t.endsWith(".jpeg")?"image/jpeg":t.endsWith(".gif")?"image/gif":t.endsWith(".webp")?"image/webp":t.endsWith(".csv")?"text/csv":t.endsWith(".json")?"application/json":t.endsWith(".md")||t.endsWith(".txt")||t.endsWith(".log")?"text/plain":"application/octet-stream"}function kl(e){let t=e.fetchImpl??fetch,r=Ve(e.kandanUrl),n=e.authMode==="personal-agent-delegation"?"/api/v2/personal-agent-mcp":"/api/v2/local-runner-mcp",o=e.operatingMode??"text",s=async(i,a,c,u={})=>{let d=new URL(a,r),l={...c,operating_mode:o},p={method:i,headers:{authorization:`Bearer ${e.accessToken}`},...u.signal===void 0?{}:{signal:u.signal}};if(i==="GET")for(let[w,k]of Object.entries(l))k!=null&&d.searchParams.set(w,String(k));else p.headers={...p.headers,"content-type":"application/json"},p.body=JSON.stringify(l);let h=await t(d,p),f=await h.json(),g=ft(f)?f:void 0;if(g===void 0)throw new Error(`Linzumi MCP API returned non-object JSON from ${a}`);if(h.ok&&g.ok===!0)return g;let y=typeof g.error=="string"?g.error:`HTTP ${h.status}`,b=typeof g.detail=="string"?g.detail:void 0;throw new Error(`Linzumi MCP API ${a} failed: ${y}${b===void 0?"":` detail=${b}`}`)};return{validateAuth:()=>s("GET",`${n}/validate`,{}),issueOnboardingDiscoveryToken:i=>s("POST",`${n}/onboarding-discovery-token`,i),getMessage:i=>s("GET",`${n}/message`,i),getThread:i=>s("GET",`${n}/thread`,i),getThreadTranscript:i=>s("GET",`${n}/thread-transcript`,i),getChannel:i=>s("GET",`${n}/channel`,i),searchWorkspace:i=>s("GET",`${n}/search`,i),askWorkspace:i=>s("POST",`${n}/ask`,i),aboutMe:i=>s("GET",`${n}/about-me`,i),webSearch:i=>s("GET",`${n}/web-search`,i),fetchUrl:i=>s("GET",`${n}/fetch-url`,i),listUiTargets:i=>s("GET",`${n}/ui-targets`,i),openUi:i=>s("POST",`${n}/open-ui`,i),getCodingJobMetadata:i=>s("GET",`${n}/coding-job-metadata`,i),listProjects:i=>s("GET",`${n}/projects`,i),getProjectTasks:i=>s("GET",`${n}/project-tasks`,i),createProjectTask:i=>s("POST",`${n}/project-tasks/create`,i),updateProjectTask:i=>s("POST",`${n}/project-tasks/update`,i),deleteProjectTask:i=>s("POST",`${n}/project-tasks/delete`,i),addProjectTaskDependency:i=>s("POST",`${n}/project-tasks/add-dependency`,i),removeProjectTaskDependency:i=>s("POST",`${n}/project-tasks/remove-dependency`,i),getCallTranscript:i=>s("GET",`${n}/call-transcript`,i),renameCodingJob:i=>s("POST",`${n}/coding-job-title`,i),upsertCodingJobPlan:(i,a)=>s("POST",`${n}/coding-job-plan`,i,a),replaceCodingJobPlanSteps:i=>s("POST",`${n}/coding-job-plan/steps`,i),updateCodingJobPlanStep:i=>s("POST",`${n}/coding-job-plan/step`,i),linkCodingJobPullRequest:i=>s("POST",`${n}/coding-job-primary-pr`,i),listVaultSecrets:i=>s("GET",`${n}/vault-secrets`,i),noteProjectDirectory:i=>s("POST",`${n}/discovered-project`,i),noteAgentConversation:i=>s("POST",`${n}/discovered-conversation`,i),noteOnboardingDiscoveryStatus:i=>s("POST",`${n}/discovery-status`,i),sendChannelMessage:i=>s("POST",`${n}/channel-message`,i),editMessage:i=>s("POST",`${n}/message/edit`,i),agentReply:i=>s("POST",`${n}/agent-reply`,i),agentTurnProgress:i=>s("POST",`${n}/agent-turn-progress`,i),agentListCodingJobs:i=>s("GET",`${n}/agent/coding-jobs`,i),agentStartCodingJob:i=>s("POST",`${n}/agent/start-coding-job`,i),agentInterruptCodingJob:i=>s("POST",`${n}/agent/interrupt-coding-job`,i),agentSendCodingJobMessage:i=>s("POST",`${n}/agent/send-coding-job-message`,i),agentReadCodingJobThread:i=>s("GET",`${n}/agent/coding-job-thread`,i),agentResolveJobApproval:i=>s("POST",`${n}/agent/resolve-job-approval`,i),agentArchiveCodingJob:i=>s("POST",`${n}/agent/archive-coding-job`,i),agentUnarchiveCodingJob:i=>s("POST",`${n}/agent/unarchive-coding-job`,i),agentSetThreadStatus:i=>s("POST",`${n}/agent/set-thread-status`,i),agentCreateChannel:i=>s("POST",`${n}/agent/create-channel`,i),agentRenameChannel:i=>s("POST",`${n}/agent/rename-channel`,i),agentArchiveChannel:i=>s("POST",`${n}/agent/archive-channel`,i),agentUnarchiveChannel:i=>s("POST",`${n}/agent/unarchive-channel`,i),agentAddReaction:i=>s("POST",`${n}/agent/add-reaction`,i),agentRemoveReaction:i=>s("POST",`${n}/agent/remove-reaction`,i),agentPinMessage:i=>s("POST",`${n}/agent/pin-message`,i),agentUnpinMessage:i=>s("POST",`${n}/agent/unpin-message`,i),prepareMessageUploads:i=>s("POST",`${n}/message-uploads/prepare`,i),attachMessageFiles:i=>s("POST",`${n}/message-files/attach`,i),prepareCustomEmoji:i=>s("POST",`${n}/custom-emoji/prepare`,i),renameCustomEmoji:i=>s("POST",`${n}/custom-emoji/rename`,i),sendThreadReply:i=>s("POST",`${n}/thread-reply`,i),sendDm:i=>s("POST",`${n}/dm`,i),dmOwner:i=>s("POST",`${n}/dm-owner`,i),getVaultValues:i=>s("POST",`${n}/vault-values`,i)}}import{closeSync as w_,fstatSync as SR,mkdirSync as $i,openSync as k_,readdirSync as $R,readFileSync as x_,readSync as zR,renameSync as PR,rmSync as xl,statSync as TR,writeFileSync as S_}from"node:fs";import{spawn as RR,execFile as TM}from"node:child_process";import{createHash as IR}from"node:crypto";import{createConnection as ER}from"node:net";import{homedir as OR}from"node:os";import{dirname as Sl,join as Nr}from"node:path";var $_=()=>{},z_=1;function jR(){let e=process.env.LINZUMI_DEV_SERVICES_DIR?.trim();return e!==void 0&&e!==""?e:Nr(OR(),".linzumi","dev-services")}function P_(e){let t=e.replace(/[^A-Za-z0-9._-]+/g,"-").replace(/^[-.]+|[-.]+$/g,"").slice(0,80),r=IR("sha256").update(e).digest("hex").slice(0,8),n=t===""?"runner":t;return Nr(jR(),`${n}.${r}`)}function zi(e){let t=e.trim().toLowerCase();return/^[a-z0-9][a-z0-9._-]{0,63}$/.test(t)&&!t.includes("..")?t:void 0}function $l(e,t){return Nr(e,"services",`${t}.json`)}function zl(e,t){return Nr(e,"exits",`${t}.json`)}function T_(e,t){return Nr(e,"logs",`${t}.log`)}function Oo(e){return typeof e=="string"&&e!==""?e:void 0}function jo(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function CR(e){return Array.isArray(e)?e.filter(t=>typeof t=="number"&&Number.isInteger(t)&&t>0&&t<=65535):[]}function AR(e){if(!ft(e)||e.version!==z_)return;let t=Oo(e.name),r=t===void 0?void 0:zi(t),n=Oo(e.command),o=Oo(e.cwd),s=e.desiredState==="running"||e.desiredState==="stopped"?e.desiredState:void 0,i=jo(e.updatedAtMs),a=Oo(e.logPath);if(!(r===void 0||r!==t||n===void 0||o===void 0||s===void 0||i===void 0||a===void 0))return{name:r,command:n,cwd:o,ports:CR(e.ports),restartOnBranchChange:e.restartOnBranchChange===!0,desiredState:s,pid:jo(e.pid),ownerPid:jo(e.ownerPid),startedAtMs:jo(e.startedAtMs),updatedAtMs:i,lastBranch:Oo(e.lastBranch),logPath:a}}function MR(e){return{version:z_,name:e.name,command:e.command,cwd:e.cwd,ports:[...e.ports],restartOnBranchChange:e.restartOnBranchChange,desiredState:e.desiredState,pid:e.pid??null,ownerPid:e.ownerPid??null,startedAtMs:e.startedAtMs??null,updatedAtMs:e.updatedAtMs,lastBranch:e.lastBranch??null,logPath:e.logPath}}function R_(e,t,r){let n=$l(e,t.name);try{$i(Sl(n),{recursive:!0});let o=`${n}.tmp`;S_(o,`${JSON.stringify(MR(t))}
|
|
161
|
-
`,"utf8"),
|
|
158
|
+
`}}function Xy(e){let t=Math.floor(e/6e4),r=Math.floor(t/60),n=t%60;return r>0?`${r}h ${n}m`:`${n}m`}async function Yy(e){let t=e.deps??{},r=t.startDeviceAuthorization??Vy,n=t.pollDeviceCodeForToken??By,o=t.now??Date.now,s=t.sleep??(g=>new Promise(y=>setTimeout(y,g))),i=e.writeStderr??(g=>process.stderr.write(g)),a=e.isInteractive??process.stderr.isTTY===!0,c=t.report??(g=>i(XT(g))),u=t.log??(()=>{}),d=Ve(e.kandanUrl),l=o(),p=0,h,f=0;for(;;){let g;try{g=await r({httpBaseUrl:d,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,onboarding:e.onboarding,identity:e.identity})}catch(w){f+=1;let k=Math.min(GT,WT*2**(f-1)),R=w instanceof Error?w.message:String(w);c({kind:"start_failed",reason:R,retryInMs:k}),u("device_wait.start_failed",{reason:R,retryInMs:k,attempt:f}),await s(k);continue}f=0,p+=1;let y=KT({cycle:p,nowMs:o(),lastLoudPromptAtMs:h,isInteractive:a});y==="prompt"||y==="summary"?(h=o(),c({kind:y,cycle:p,userCode:g.userCode,verificationUri:g.verificationUri,waitedMs:o()-l})):y==="refresh_line"&&c({kind:"refresh_line",cycle:p,userCode:g.userCode,verificationUri:g.verificationUri,waitedMs:o()-l}),u("device_wait.code_issued",{cycle:p,verificationUri:g.verificationUri});let b;for(;b=await n({httpBaseUrl:d,deviceCode:g.deviceCode,expiresInSeconds:g.expiresInSeconds}),b.kind==="transient";)c({kind:"transient",reason:b.reason,waitedMs:o()-l}),u("device_wait.transient_poll_failure",{cycle:p,reason:b.reason,httpStatus:b.httpStatus??null}),await s(HT);switch(b.kind){case"token":return u("device_wait.authorized",{cycle:p,waitedMs:o()-l}),b.token;case"denied":throw new Error("local runner device authorization was denied - a signed-in user rejected this computer");case"code_expired":case"consumed":u("device_wait.code_retired",{cycle:p,outcome:b.kind});continue;case"rejected":c({kind:"transient",reason:Hy(b.reason,b.httpStatus),waitedMs:o()-l}),u("device_wait.code_rejected",{cycle:p,reason:b.reason??null,httpStatus:b.httpStatus});continue}}}import{randomUUID as c_}from"node:crypto";import{chmodSync as n_,existsSync as _l,linkSync as eR,mkdirSync as u_,readFileSync as d_,realpathSync as aM,unlinkSync as tR,writeFileSync as l_}from"node:fs";import{homedir as rR}from"node:os";import{basename as hl,dirname as Io,join as gl,resolve as o_}from"node:path";var Qy="wss://serve.linzumi.com";import{homedir as YT}from"node:os";import{isAbsolute as tM,relative as rM,resolve as QT}from"node:path";import{delimiter as V4,isAbsolute as B4,join as e_,parse as H4,resolve as W4,sep as G4}from"node:path";var K4=[".volta",".nvm",".npm",".asdf",".fnm",".bun",e_(".cargo","bin"),e_(".local","bin")];function r_(e){return e==="~"?t_():e.startsWith("~/")?QT(t_(),e.slice(2)):e}function t_(){let e=process.env.HOME;return e===void 0||e.trim()===""?YT():e}var fl=384,Lt="prod";function kn(e=process.env){let t=e.LINZUMI_CONFIG_FILE;return t!==void 0&&t.trim()!==""?o_(r_(t)):o_(rR(),".linzumi","config.json")}function Oo(e){let t=Ve(e),r=Ve(Qy);return t===r?Lt:t}function nR(e){let t=Oo(e);return t===Lt?Lt:Buffer.from(t).toString("base64url")}function s_(e=kn()){return m_(e)}function i_(e,t=kn()){return m_(t,e)}function p_(e,t=kn(),r=__){if(Oo(e)===Lt)return oR(t,r);let n=i_(e,t);if(n.runnerId!==void 0)return n.runnerId;let o=y_(t,r,e),s=i_(e,t),i=s.runnerId;return i!==void 0?i:(f_({...s,runnerId:o},t,e),o)}function oR(e=kn(),t=__){let r=s_(e);if(r.runnerId!==void 0)return r.runnerId;let n=y_(e,t),o=s_(e),s=o.runnerId;return s!==void 0?s:(iR({...o,runnerId:n},e),n)}function sR(e=kn(),t){return t!==void 0&&Oo(t)!==Lt?gl(Io(e),`${hl(e)}.${nR(t)}.runner-id`):gl(Io(e),`${hl(e)}.runner-id`)}function iR(e,t=kn()){f_(e,t)}function aR(e,t){_l(e)&&n_(e,fl),l_(e,`${JSON.stringify(t,null,2)}
|
|
159
|
+
`,{encoding:"utf8",mode:fl}),n_(e,fl)}function yl(e){if(!_l(e))return{version:1,allowedCwds:[]};let t=JSON.parse(d_(e,"utf8"));if(!h_(t))throw new Error(`invalid Linzumi config: ${e}`);return t}function m_(e,t){let r=yl(e),n=t===void 0?Lt:Oo(t),o=n===Lt?r:r[n]??uR();if(!g_(o))throw new Error(`invalid Linzumi config section ${n}: ${e}`);let s=v_(o.allowedCwds);return{version:1,...o.machineId===void 0?{}:{machineId:o.machineId},...o.runnerId===void 0?{}:{runnerId:o.runnerId},allowedCwds:s}}function f_(e,t,r){let n=r===void 0?Lt:Oo(r),o=cR(e),s=n===Lt?{...yl(t),...o,version:1}:{...yl(t),version:1,[n]:o};u_(Io(t),{recursive:!0}),aR(t,s)}function h_(e){return typeof e=="object"&&e!==null&&e.version===1&&g_(e)}function g_(e){return typeof e=="object"&&e!==null&&Array.isArray(e.allowedCwds)&&dR(e.machineId)&&vl(e.runnerId)&&e.allowedCwds.every(t=>typeof t=="string"&&t.trim()!=="")}function cR(e){if(!h_(e))throw new Error("invalid Linzumi config");let t=v_(e.allowedCwds);return{...e.machineId===void 0?{}:{machineId:e.machineId},...e.runnerId===void 0?{}:{runnerId:e.runnerId},allowedCwds:t}}function uR(){return{allowedCwds:[]}}function dR(e){return e===void 0||typeof e=="string"&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)}function vl(e){return e===void 0||typeof e=="string"&&/^[a-zA-Z0-9_.-]+$/.test(e)}function y_(e,t,r){let n=sR(e,r);if(_l(n))return a_(n);let o=t();if(!vl(o))throw new Error(`invalid generated Linzumi runner id: ${o}`);u_(Io(n),{recursive:!0});let s=gl(Io(n),`.${hl(n)}.${process.pid}.${c_()}.tmp`);l_(s,`${o}
|
|
160
|
+
`,{encoding:"utf8",flag:"wx"});try{return eR(s,n),o}catch(i){if(lR(i,"EEXIST"))return a_(n);throw i}finally{tR(s)}}function a_(e){let t=d_(e,"utf8").trim();if(!vl(t))throw new Error(`invalid Linzumi runner id seed: ${e}`);return t}function __(){return`runner-${c_()}`}function v_(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t!==""))]}function lR(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}import{execFileSync as pR}from"node:child_process";import{createHash as mR}from"node:crypto";import{readFileSync as fR}from"node:fs";var hR="linzumi-machine-fingerprint:v1:";function gR(e,t){return pR(e,[...t],{encoding:"utf8",timeout:5e3,maxBuffer:1024*1024})}function yR(e){return fR(e,"utf8")}function _R(e={}){let t=e.platform??process.platform,r=e.execFile??gR,n=e.readFile??yR;try{if(t==="darwin"){let i=r("ioreg",["-rd1","-c","IOPlatformExpertDevice"]).match(/"IOPlatformUUID"\s*=\s*"([0-9A-Fa-f-]{36})"/)?.[1];return i===void 0?void 0:i.toLowerCase()}if(t==="linux"){for(let o of["/etc/machine-id","/var/lib/dbus/machine-id"])try{let s=n(o).trim().toLowerCase();if(/^[0-9a-f]{32}$/.test(s))return s}catch{}return}return}catch{return}}function b_(e={}){let t=_R(e);return t===void 0?void 0:`mfp-${mR("sha256").update(`${hR}${t}`).digest("hex").slice(0,32)}`}async function w_(e,t={readCachedToken:Si,validateToken:Eo,acquireAndCacheToken:kR}){if(e.explicitToken!==void 0)return e.explicitToken;let r=t.readCachedToken(e.kandanUrl,e.authFilePath);if(r!==void 0){let o=await t.validateToken({kandanUrl:e.kandanUrl,accessToken:r.accessToken,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,requiredScopes:e.requiredScopes});if(o==="usable")return r.accessToken;e.reportRejectedCachedToken?.(o)}let n=await t.acquireAndCacheToken(e);return e.workspaceSlug!==void 0&&await bR(e,t,n),n}async function bR(e,t,r){let n;try{n=await t.validateToken({kandanUrl:e.kandanUrl,accessToken:r,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,requiredScopes:e.requiredScopes})}catch{return}if(n==="not_found")throw new Error(wR(e))}function wR(e){let t=new URL(Ve(e.kandanUrl)).host;return`Workspace '${e.workspaceSlug}' was not found on ${t}. Sign in to the web app to create it, then re-run connect.`}async function kR(e){let t=e.authMode??{kind:"browser",callbackHost:e.callbackHost},r=t.kind==="device"?await Yy({kandanUrl:e.kandanUrl,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,onboarding:e.onboarding,identity:{runnerId:p_(e.kandanUrl),machineFingerprint:b_(),hostname:vR()}}):await Jy({kandanUrl:e.kandanUrl,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,onboarding:e.onboarding,callbackHost:t.callbackHost??e.callbackHost});return Ky({kandanUrl:e.kandanUrl,accessToken:r.accessToken,expiresInSeconds:r.expiresInSeconds,authFilePath:e.authFilePath}),r.accessToken}import{readFile as RM,realpath as wl,stat as xR,writeFile as EM,mkdir as IM}from"node:fs/promises";import{homedir as SR}from"node:os";import{basename as $R,extname as zR,isAbsolute as x_,join as CM,relative as S_,resolve as bl}from"node:path";function ft(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function $t(e){return e!==void 0&&ft(e)?e:void 0}function $i(e){return Array.isArray(e)?e:void 0}function we(e){return typeof e=="string"&&e.trim()!==""?e.trim():void 0}function k_(e){return typeof e=="number"&&Number.isInteger(e)?e:void 0}var PR=new Set([".csv",".diff",".gif",".htm",".html",".jpeg",".jpg",".json",".jsonl",".log",".md",".mp4",".patch",".pdf",".png",".svg",".txt",".webm",".webp",".xml",".zip"]);async function kl(e,t){let r=await wl(e),n=await ER(r),o=await TR(r,t);RR(n,o);let s=await xR(o);if(!s.isFile())throw new Error(`Linzumi upload path is not a file: ${o}`);return{path:o,fileName:$R(o),contentType:OR(o),sizeBytes:s.size}}async function TR(e,t){if(t==="")throw new Error("Kandan attachment path must not be empty");let r=x_(t)?bl(t):bl(e,t);return await wl(r)}function RR(e,t){let r=e.find(i=>IR(i.path,t));if(r===void 0){let i=e.map(a=>a.label).join(", ");throw new Error(`Kandan attachment path must resolve inside an allowed upload root (${i}): ${t}`)}if(S_(r.path,t).split(/[\\/]+/).find(i=>i.startsWith("."))!==void 0)throw new Error(`Kandan attachment upload path must not include hidden path segments: ${t}`);let s=zR(t).toLowerCase();if(!PR.has(s))throw new Error(`Kandan attachment upload path extension is not allowed: ${t}`)}async function ER(e){let t=[{path:e,label:"runner cwd"}],r=process.env.HOME?.trim(),n=bl(r===void 0||r===""?SR():r,"Downloads");try{let o=await wl(n);t.some(s=>s.path===o)||t.push({path:o,label:"~/Downloads"})}catch{return t}return t}function IR(e,t){let r=S_(e,t);return r===""||!r.startsWith("..")&&!x_(r)}function OR(e){let t=e.toLowerCase();return t.endsWith(".png")?"image/png":t.endsWith(".jpg")||t.endsWith(".jpeg")?"image/jpeg":t.endsWith(".gif")?"image/gif":t.endsWith(".webp")?"image/webp":t.endsWith(".csv")?"text/csv":t.endsWith(".json")?"application/json":t.endsWith(".md")||t.endsWith(".txt")||t.endsWith(".log")?"text/plain":"application/octet-stream"}function xl(e){let t=e.fetchImpl??fetch,r=Ve(e.kandanUrl),n=e.authMode==="personal-agent-delegation"?"/api/v2/personal-agent-mcp":"/api/v2/local-runner-mcp",o=e.operatingMode??"text",s=async(i,a,c,u={})=>{let d=new URL(a,r),l={...c,operating_mode:o},p={method:i,headers:{authorization:`Bearer ${e.accessToken}`},...u.signal===void 0?{}:{signal:u.signal}};if(i==="GET")for(let[w,k]of Object.entries(l))k!=null&&d.searchParams.set(w,String(k));else p.headers={...p.headers,"content-type":"application/json"},p.body=JSON.stringify(l);let h=await t(d,p),f=await h.json(),g=ft(f)?f:void 0;if(g===void 0)throw new Error(`Linzumi MCP API returned non-object JSON from ${a}`);if(h.ok&&g.ok===!0)return g;let y=typeof g.error=="string"?g.error:`HTTP ${h.status}`,b=typeof g.detail=="string"?g.detail:void 0;throw new Error(`Linzumi MCP API ${a} failed: ${y}${b===void 0?"":` detail=${b}`}`)};return{validateAuth:()=>s("GET",`${n}/validate`,{}),issueOnboardingDiscoveryToken:i=>s("POST",`${n}/onboarding-discovery-token`,i),getMessage:i=>s("GET",`${n}/message`,i),getThread:i=>s("GET",`${n}/thread`,i),getThreadTranscript:i=>s("GET",`${n}/thread-transcript`,i),getChannel:i=>s("GET",`${n}/channel`,i),searchWorkspace:i=>s("GET",`${n}/search`,i),askWorkspace:i=>s("POST",`${n}/ask`,i),aboutMe:i=>s("GET",`${n}/about-me`,i),webSearch:i=>s("GET",`${n}/web-search`,i),fetchUrl:i=>s("GET",`${n}/fetch-url`,i),listUiTargets:i=>s("GET",`${n}/ui-targets`,i),openUi:i=>s("POST",`${n}/open-ui`,i),getCodingJobMetadata:i=>s("GET",`${n}/coding-job-metadata`,i),listProjects:i=>s("GET",`${n}/projects`,i),getProjectTasks:i=>s("GET",`${n}/project-tasks`,i),createProjectTask:i=>s("POST",`${n}/project-tasks/create`,i),updateProjectTask:i=>s("POST",`${n}/project-tasks/update`,i),deleteProjectTask:i=>s("POST",`${n}/project-tasks/delete`,i),addProjectTaskDependency:i=>s("POST",`${n}/project-tasks/add-dependency`,i),removeProjectTaskDependency:i=>s("POST",`${n}/project-tasks/remove-dependency`,i),getCallTranscript:i=>s("GET",`${n}/call-transcript`,i),renameCodingJob:i=>s("POST",`${n}/coding-job-title`,i),upsertCodingJobPlan:(i,a)=>s("POST",`${n}/coding-job-plan`,i,a),replaceCodingJobPlanSteps:i=>s("POST",`${n}/coding-job-plan/steps`,i),updateCodingJobPlanStep:i=>s("POST",`${n}/coding-job-plan/step`,i),linkCodingJobPullRequest:i=>s("POST",`${n}/coding-job-primary-pr`,i),listVaultSecrets:i=>s("GET",`${n}/vault-secrets`,i),noteProjectDirectory:i=>s("POST",`${n}/discovered-project`,i),noteAgentConversation:i=>s("POST",`${n}/discovered-conversation`,i),noteOnboardingDiscoveryStatus:i=>s("POST",`${n}/discovery-status`,i),sendChannelMessage:i=>s("POST",`${n}/channel-message`,i),editMessage:i=>s("POST",`${n}/message/edit`,i),agentReply:i=>s("POST",`${n}/agent-reply`,i),agentTurnProgress:i=>s("POST",`${n}/agent-turn-progress`,i),agentListCodingJobs:i=>s("GET",`${n}/agent/coding-jobs`,i),agentStartCodingJob:i=>s("POST",`${n}/agent/start-coding-job`,i),agentInterruptCodingJob:i=>s("POST",`${n}/agent/interrupt-coding-job`,i),agentSendCodingJobMessage:i=>s("POST",`${n}/agent/send-coding-job-message`,i),agentReadCodingJobThread:i=>s("GET",`${n}/agent/coding-job-thread`,i),agentResolveJobApproval:i=>s("POST",`${n}/agent/resolve-job-approval`,i),agentArchiveCodingJob:i=>s("POST",`${n}/agent/archive-coding-job`,i),agentUnarchiveCodingJob:i=>s("POST",`${n}/agent/unarchive-coding-job`,i),agentSetThreadStatus:i=>s("POST",`${n}/agent/set-thread-status`,i),agentCreateChannel:i=>s("POST",`${n}/agent/create-channel`,i),agentRenameChannel:i=>s("POST",`${n}/agent/rename-channel`,i),agentArchiveChannel:i=>s("POST",`${n}/agent/archive-channel`,i),agentUnarchiveChannel:i=>s("POST",`${n}/agent/unarchive-channel`,i),agentAddReaction:i=>s("POST",`${n}/agent/add-reaction`,i),agentRemoveReaction:i=>s("POST",`${n}/agent/remove-reaction`,i),agentPinMessage:i=>s("POST",`${n}/agent/pin-message`,i),agentUnpinMessage:i=>s("POST",`${n}/agent/unpin-message`,i),prepareMessageUploads:i=>s("POST",`${n}/message-uploads/prepare`,i),attachMessageFiles:i=>s("POST",`${n}/message-files/attach`,i),prepareCustomEmoji:i=>s("POST",`${n}/custom-emoji/prepare`,i),renameCustomEmoji:i=>s("POST",`${n}/custom-emoji/rename`,i),sendThreadReply:i=>s("POST",`${n}/thread-reply`,i),sendDm:i=>s("POST",`${n}/dm`,i),dmOwner:i=>s("POST",`${n}/dm-owner`,i),getVaultValues:i=>s("POST",`${n}/vault-values`,i)}}import{closeSync as $_,fstatSync as jR,mkdirSync as zi,openSync as z_,readdirSync as CR,readFileSync as P_,readSync as AR,renameSync as MR,rmSync as Sl,statSync as NR,writeFileSync as T_}from"node:fs";import{spawn as LR,execFile as FM}from"node:child_process";import{createHash as DR}from"node:crypto";import{createConnection as ZR}from"node:net";import{homedir as UR}from"node:os";import{dirname as $l,join as Lr}from"node:path";var R_=()=>{},E_=1;function qR(){let e=process.env.LINZUMI_DEV_SERVICES_DIR?.trim();return e!==void 0&&e!==""?e:Lr(UR(),".linzumi","dev-services")}function I_(e){let t=e.replace(/[^A-Za-z0-9._-]+/g,"-").replace(/^[-.]+|[-.]+$/g,"").slice(0,80),r=DR("sha256").update(e).digest("hex").slice(0,8),n=t===""?"runner":t;return Lr(qR(),`${n}.${r}`)}function Pi(e){let t=e.trim().toLowerCase();return/^[a-z0-9][a-z0-9._-]{0,63}$/.test(t)&&!t.includes("..")?t:void 0}function zl(e,t){return Lr(e,"services",`${t}.json`)}function Pl(e,t){return Lr(e,"exits",`${t}.json`)}function O_(e,t){return Lr(e,"logs",`${t}.log`)}function jo(e){return typeof e=="string"&&e!==""?e:void 0}function Co(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function JR(e){return Array.isArray(e)?e.filter(t=>typeof t=="number"&&Number.isInteger(t)&&t>0&&t<=65535):[]}function FR(e){if(!ft(e)||e.version!==E_)return;let t=jo(e.name),r=t===void 0?void 0:Pi(t),n=jo(e.command),o=jo(e.cwd),s=e.desiredState==="running"||e.desiredState==="stopped"?e.desiredState:void 0,i=Co(e.updatedAtMs),a=jo(e.logPath);if(!(r===void 0||r!==t||n===void 0||o===void 0||s===void 0||i===void 0||a===void 0))return{name:r,command:n,cwd:o,ports:JR(e.ports),restartOnBranchChange:e.restartOnBranchChange===!0,desiredState:s,pid:Co(e.pid),ownerPid:Co(e.ownerPid),startedAtMs:Co(e.startedAtMs),updatedAtMs:i,lastBranch:jo(e.lastBranch),logPath:a}}function VR(e){return{version:E_,name:e.name,command:e.command,cwd:e.cwd,ports:[...e.ports],restartOnBranchChange:e.restartOnBranchChange,desiredState:e.desiredState,pid:e.pid??null,ownerPid:e.ownerPid??null,startedAtMs:e.startedAtMs??null,updatedAtMs:e.updatedAtMs,lastBranch:e.lastBranch??null,logPath:e.logPath}}function j_(e,t,r){let n=zl(e,t.name);try{zi($l(n),{recursive:!0});let o=`${n}.tmp`;T_(o,`${JSON.stringify(VR(t))}
|
|
161
|
+
`,"utf8"),MR(o,n)}catch(o){r("dev_services.record_write_failed",{path:n,message:o instanceof Error?o.message:String(o)})}}function Tl(e,t){let r=Pi(t);if(r===void 0)return;let n;try{n=P_(zl(e,r),"utf8")}catch{return}try{return FR(JSON.parse(n))}catch{return}}function BR(e){let t;try{t=CR(Lr(e,"services"))}catch{return[]}let r=[];for(let n of t){if(!n.endsWith(".json"))continue;let o=Tl(e,n.slice(0,-5));o!==void 0&&r.push(o)}return r.sort((n,o)=>n.name.localeCompare(o.name))}function C_(e,t){let r;try{r=P_(Pl(e,t),"utf8")}catch{return}try{let n=JSON.parse(r);if(!ft(n))return;let o=Co(n.atMs);return o===void 0?void 0:{code:typeof n.code=="number"?n.code:null,signal:typeof n.signal=="string"?n.signal:null,atMs:o}}catch{return}}function HR(e){return JSON.stringify(e)}function WR(){return`
|
|
162
162
|
const { spawn } = require('node:child_process');
|
|
163
163
|
const fs = require('node:fs');
|
|
164
164
|
const config = JSON.parse(process.argv[process.argv.length - 1]);
|
|
@@ -214,15 +214,15 @@ const watchdog = setInterval(() => {
|
|
|
214
214
|
}
|
|
215
215
|
}
|
|
216
216
|
}, config.pollIntervalMs);
|
|
217
|
-
`.trim()}function
|
|
217
|
+
`.trim()}function GR(e,t){return{command:e,args:["-e",WR(),HR(t)]}}function A_(e,t=r=>process.kill(r,0)){if(e===void 0||e<=1)return!1;try{return t(-e),!0}catch(r){return r?.code==="EPERM"}}function Rl(e,t){if(t.pid===void 0||t.pid<=1)return!1;let r=C_(e,t.name);return r!==void 0&&t.startedAtMs!==void 0&&r.atMs>=t.startedAtMs?!1:A_(t.pid)}async function El(e,t=750,r="127.0.0.1"){return await new Promise(n=>{let o=ZR({port:e,host:r}),s=i=>{o.removeAllListeners(),o.destroy(),n(i)};o.setTimeout(t),o.once("connect",()=>s(!0)),o.once("timeout",()=>s(!1)),o.once("error",()=>s(!1))})}async function KR(e,t){let r=Rl(e,t),n=[];for(let s of t.ports)n.push({port:s,listening:r?await El(s):!1});let o=t.desiredState==="stopped"?"stopped":r?n.every(s=>s.listening)?"running":"unhealthy":"exited";return{record:t,liveness:o,portProbes:n,lastExit:C_(e,t.name)}}async function Il(e){let t=[];for(let r of BR(e))t.push(await KR(e,r));return t}function XR(e=process.env){let t=e.SHELL?.trim();return t!==void 0&&t!==""?t:"/bin/sh"}async function M_(e){let t=e.log??R_,r=Pi(e.definition.name);if(r===void 0)return{ok:!1,error:"invalid service name: use 1-64 lowercase letters, digits, ., _ or -"};let n=e.definition.command.trim();if(n==="")return{ok:!1,error:"service command must not be empty"};try{if(!NR(e.definition.cwd).isDirectory())return{ok:!1,error:`cwd is not a directory: ${e.definition.cwd}`}}catch{return{ok:!1,error:`cwd does not exist: ${e.definition.cwd}`}}let o=Tl(e.scopeDir,r);o!==void 0&&Rl(e.scopeDir,o)&&await N_(o.pid,t,r);let s=e.nowMs??Date.now(),i=O_(e.scopeDir,r),a=Pl(e.scopeDir,r),c;try{zi($l(i),{recursive:!0}),zi(Lr(e.scopeDir,"services"),{recursive:!0}),zi($l(a),{recursive:!0}),c=z_(i,"a")}catch(h){return{ok:!1,error:`cannot open service log: ${h instanceof Error?h.message:String(h)}`}}try{Sl(a,{force:!0})}catch{}let u=e.shellPath??XR(),d=GR(e.nodeExecPath??process.execPath,{command:u,args:["-lc",n],cwd:e.definition.cwd,ownerPid:e.ownerPid,pollIntervalMs:e.watchdogPollIntervalMs??500,exitStatusPath:a});try{T_(c,`
|
|
218
218
|
--- linzumi dev-service "${r}" starting at ${new Date(s).toISOString()} (owner pid ${e.ownerPid}) ---
|
|
219
219
|
$ ${n}
|
|
220
|
-
`)}catch{}let l;try{let h=
|
|
221
|
-
`}function
|
|
220
|
+
`)}catch{}let l;try{let h=LR(d.command,[...d.args],{cwd:e.definition.cwd,detached:!0,stdio:["ignore",c,c],env:{...process.env,ELECTRON_RUN_AS_NODE:"1"}});h.unref(),l=h.pid}catch(h){return{ok:!1,error:`spawn failed: ${h instanceof Error?h.message:String(h)}`}}finally{try{$_(c)}catch{}}if(l===void 0)return{ok:!1,error:"spawn failed: no pid"};let p={name:r,command:n,cwd:e.definition.cwd,ports:[...new Set(e.definition.ports)].sort((h,f)=>h-f),restartOnBranchChange:e.definition.restartOnBranchChange===!0,desiredState:"running",pid:l,ownerPid:e.ownerPid,startedAtMs:s,updatedAtMs:s,lastBranch:void 0,logPath:i};return j_(e.scopeDir,p,t),t("dev_services.started",{name:r,pid:l,owner_pid:e.ownerPid,cwd:e.definition.cwd,ports:[...p.ports]}),{ok:!0,record:p}}async function N_(e,t,r,n=3e3){if(e===void 0||e<=1)return;try{process.kill(-e,"SIGTERM")}catch{return}let o=Date.now()+n;for(;Date.now()<o;){if(!A_(e))return;await new Promise(s=>setTimeout(s,100))}try{process.kill(-e,"SIGKILL"),t("dev_services.stop_escalated",{name:r,pgid:e})}catch{}}async function Ol(e){let t=e.log??R_,r=Tl(e.scopeDir,e.name);if(r===void 0)return{ok:!1,error:`unknown service: ${e.name}`};Rl(e.scopeDir,r)&&await N_(r.pid,t,r.name);let n={...r,desiredState:"stopped",pid:void 0,ownerPid:void 0,updatedAtMs:e.nowMs??Date.now()};return j_(e.scopeDir,n,t),t("dev_services.stopped",{name:r.name}),{ok:!0,record:n}}async function L_(e){let t=await Ol(e);if(!t.ok)return t;try{Sl(zl(e.scopeDir,t.record.name),{force:!0}),Sl(Pl(e.scopeDir,t.record.name),{force:!0})}catch{}return t}function D_(e,t,r=16384){let n=Pi(t);if(n===void 0)return;let o=O_(e,n),s;try{s=z_(o,"r");let i=jR(s).size,a=Math.min(i,r),c=Buffer.alloc(a);return AR(s,c,0,a,i-a),c.toString("utf8")}catch{return}finally{if(s!==void 0)try{$_(s)}catch{}}}var KM=10*6e4;function Z_(e){return{name:"linzumi",command:e.command??"linzumi",args:[...e.argsPrefix??[],"mcp","server","--api-url",e.kandanUrl,...e.authFilePath===void 0?[]:["--auth-file",e.authFilePath],...e.delegationAuthFilePath===void 0?[]:["--delegation-auth-file",e.delegationAuthFilePath],...e.ownerUsername===void 0?[]:["--owner-username",e.ownerUsername],...e.cwd===void 0?[]:["--cwd",e.cwd],...e.threadId===void 0?[]:["--thread-id",e.threadId],"--mode",e.operatingMode??"text",...e.toolScope===void 0||e.toolScope==="all"?[]:["--tool-scope",e.toolScope],...e.agentSession===!0?["--agent-session"]:[]],env:{...e.accessToken===void 0?{}:{LINZUMI_MCP_ACCESS_TOKEN:e.accessToken},...e.devServices===void 0?{}:{LINZUMI_DEV_SERVICES_SCOPE:e.devServices.scope,LINZUMI_DEV_SERVICES_OWNER_PID:String(e.devServices.ownerPid)},ELECTRON_RUN_AS_NODE:"1"}}}function U_(e){return`${JSON.stringify({mcpServers:{[e.name]:{command:e.command,args:e.args,env:e.env}}},null,2)}
|
|
221
|
+
`}function q_(e){return`[mcp_servers.${e.name}]
|
|
222
222
|
command = ${JSON.stringify(e.command)}
|
|
223
|
-
args = ${
|
|
224
|
-
${Object.keys(e.env).length===0?"":`env = ${
|
|
225
|
-
`}`}function
|
|
223
|
+
args = ${YR(e.args)}
|
|
224
|
+
${Object.keys(e.env).length===0?"":`env = ${QR(e.env)}
|
|
225
|
+
`}`}function YR(e){return`[${e.map(t=>JSON.stringify(t)).join(", ")}]`}function QR(e){return`{ ${Object.entries(e).map(([r,n])=>`${r} = ${JSON.stringify(n)}`).join(", ")} }`}var J_=`<linzumi_markdown_media_guidance>
|
|
226
226
|
Some Linzumi users have opted into rich Markdown media rendering. When you are
|
|
227
227
|
writing a visible Linzumi message, channel message, or thread reply, you may use
|
|
228
228
|
these Markdown-compatible media directives:
|
|
@@ -325,7 +325,7 @@ Why bad: External image hosts are intentionally not auto-rendered; attach the im
|
|
|
325
325
|
Use media directives only after upload/attach returns a Linzumi download URL.
|
|
326
326
|
Keep "src" required, all other fields optional, and never exceed 10 embeds in one message.
|
|
327
327
|
</media_reminder>
|
|
328
|
-
</linzumi_markdown_media_guidance>`;var
|
|
328
|
+
</linzumi_markdown_media_guidance>`;var F_=64;function eE(e){switch(e){case"all":return!0;case"coding":case"onboarding-discovery":return!1}}function tE(e){switch(e){case"voice":return!0;case"text":return!1}}function rE(e){return e.trim().replace(/^:+/,"").replace(/:+$/,"").toLowerCase()}var V_=m.string().min(1).refine(e=>rE(e).length<=F_,{message:`Custom emoji shortcode name must be at most ${F_} characters after trimming surrounding colons.`}),nE=new Map([["api-url",{kind:"value"}],["token",{kind:"value"}],["auth-file",{kind:"value"}],["delegation-auth-file",{kind:"value"}],["workspace",{kind:"value"}],["channel",{kind:"value"}],["owner-username",{kind:"value"}],["mode",{kind:"value"}],["cwd",{kind:"value"}],["thread-id",{kind:"value"}],["format",{kind:"value"}],["command",{kind:"value"}],["tool-scope",{kind:"value"}],["agent-session",{kind:"boolean"}],["include-token",{kind:"boolean"}],["help",{kind:"boolean"}]]);async function Y_(e){let[t,...r]=e;switch(t){case void 0:case"--help":case"-h":process.stdout.write(Q_());return;case"server":await oE(r);return;case"config":await fE(r);return;case"doctor":await hE(r);return;default:throw new Error(`unknown linzumi mcp command: ${t}`)}}function Q_(){return`Linzumi MCP
|
|
329
329
|
|
|
330
330
|
Usage:
|
|
331
331
|
linzumi mcp server --api-url <url> [--mode voice|text] [--workspace <slug> --channel <slug>]
|
|
@@ -419,6 +419,6 @@ Tools:
|
|
|
419
419
|
Auth:
|
|
420
420
|
Uses --token, LINZUMI_MCP_ACCESS_TOKEN, or cached local runner OAuth from linzumi auth.
|
|
421
421
|
Hosted personal agents use --delegation-auth-file with a signed delegation grant.
|
|
422
|
-
`}async function GR(e){let t=jl(e);if(t.get("help")===!0){process.stdout.write(G_());return}let r=Al(t,"api-url"),n=await Ol({kandanUrl:r,explicitToken:re(t,"token")??process.env.LINZUMI_MCP_ACCESS_TOKEN,authFilePath:re(t,"auth-file"),delegationAuthFilePath:re(t,"delegation-auth-file"),workspaceSlug:re(t,"workspace"),channelSlug:re(t,"channel")}),o=re(t,"owner-username")??process.env.LINZUMI_MCP_OWNER_USERNAME,s=Cl(re(t,"mode")),i=K_(re(t,"tool-scope")),a=re(t,"cwd")??process.cwd(),c=re(t,"thread-id")??process.env.LINZUMI_THREAD_RUNNER_KANDAN_THREAD_ID,u=kl({kandanUrl:r,accessToken:n.accessToken,authMode:n.mode,operatingMode:s}),d=new vi({name:"linzumi",version:"0.1.0"});oI(d),XR(d,{client:u,toolScope:i,operatingMode:s,cwd:a,kandanUrl:r,defaultThreadId:c,ownerUsername:o,agentSession:t.get("agent-session")===!0,devServices:KR(process.env)}),await d.connect(new wi)}function KR(e){let t=e.LINZUMI_DEV_SERVICES_SCOPE?.trim(),r=Number.parseInt(e.LINZUMI_DEV_SERVICES_OWNER_PID??"",10);if(!(t===void 0||t===""||!Number.isInteger(r)||r<=0))return{scopeDir:P_(t),ownerPid:r}}function XR(e,t){let{client:r,toolScope:n,operatingMode:o,cwd:s,kandanUrl:i,defaultThreadId:a,ownerUsername:c,agentSession:u,devServices:d}=t,l=n==="all"||n==="coding";u&&(e.tool("linzumi_agent_reply","Post your single @linzumi reply for the current turn into the surface where you were mentioned. Call EXACTLY ONCE per turn with your final answer; the reply links to this working session automatically. Fails with already_replied on a second call and no_active_asker_binding when no turn is active.",{body:m.string().min(1).describe("Plain-text reply body to post.")},async p=>I(await r.agentReply({body:p.body}))),e.tool("linzumi_list_coding_jobs","List the coding jobs the current asker can see in this workspace: runner connections (online and recent) with their bound job threads. Live state - never answered from search.",{},async()=>I(await r.agentListCodingJobs({}))),e.tool("linzumi_start_coding_job","Start a coding job exactly as if the asking user clicked start: same runner/channel authorization, same pipeline. Returns status 'unavailable' with a reason when the runner cannot take the job (relay that honestly).",{channel:m.string().describe("Channel slug to host the job thread."),runner_key:m.string().describe("Runner (computer) to run the job on."),cwd:m.string().describe("Working directory on the runner."),work_description:m.string().min(1).describe("What the job should do - the initial instruction."),model:m.string().optional().describe("Model override (optional)."),model_provider:m.string().optional().describe("Model provider override, e.g. 'wafer' (optional)."),execution_mode:m.enum(["raw","local_vm"]).optional().describe("Execution placement override (optional)."),project_task_id:m.string().optional().describe("Project task item to bind the job to (task_id from linzumi_get_project_tasks). The task flips todo -> active and links to the new job.")},async p=>I(await r.agentStartCodingJob(p))),e.tool("linzumi_interrupt_coding_job","Interrupt a coding job: mode 'steer' (default) discards its queued follow-ups so your next message lands first; mode 'stop' terminates the current turn.",{channel:m.string().describe("Channel slug hosting the job thread."),thread_id:m.string().uuid().describe("The job thread UUID."),mode:m.enum(["steer","stop"]).optional().describe("Interrupt mode; defaults to 'steer'.")},async p=>I(await r.agentInterruptCodingJob(p))),e.tool("linzumi_send_coding_job_message","Send a message into a coding job thread as the asking user (the job processes it like any human follow-up).",{channel:m.string().describe("Channel slug hosting the job thread."),thread_id:m.string().uuid().describe("The job thread UUID."),body:m.string().min(1).describe("Message body to send.")},async p=>I(await r.agentSendCodingJobMessage(p))),e.tool("linzumi_read_coding_job_thread","Read a coding job's thread (asker-visible history) plus its workflow status metadata.",{channel:m.string().describe("Channel slug hosting the job thread."),thread_id:m.string().uuid().describe("The job thread UUID."),limit:m.number().int().min(1).max(100).optional().describe("Maximum replies to return."),before_seq:m.number().int().positive().optional().describe("Return replies before this channel seq.")},async p=>I(await r.agentReadCodingJobThread(p))),e.tool("linzumi_resolve_job_approval","Resolve a coding job's pending approval request with the asking user's decision ('approve' or 'deny'). Only relays the asker's authority - never approve without their explicit instruction.",{channel:m.string().describe("Channel slug hosting the job thread."),thread_id:m.string().uuid().describe("The job thread UUID."),source_seq:m.number().int().positive().describe("Channel seq of the message the approval request rides on."),request_id:m.string().describe("The approval request id."),decision:m.enum(["approve","deny"]).describe("The asker's decision.")},async p=>I(await r.agentResolveJobApproval(p))),e.tool("linzumi_archive_coding_job","Archive a coding job's thread (or any thread the asking user owns) so it leaves the active list; history is preserved. Do this when the asker says to archive a job or thread - never just promise it.",{channel:m.string().describe("Channel slug hosting the thread."),thread_id:m.string().uuid().describe("The thread UUID to archive.")},async p=>I(await r.agentArchiveCodingJob(p))),e.tool("linzumi_unarchive_coding_job","Unarchive a previously archived coding job thread the asking user owns, returning it to the active list.",{channel:m.string().describe("Channel slug hosting the thread."),thread_id:m.string().uuid().describe("The thread UUID to unarchive.")},async p=>I(await r.agentUnarchiveCodingJob(p))),e.tool("linzumi_set_thread_status","Set a thread's lifecycle status as the asking user: 'closed' marks it done, 'open' reopens it. Works on threads the asker owns.",{channel:m.string().describe("Channel slug hosting the thread."),thread_id:m.string().uuid().describe("The thread UUID."),status:m.enum(["open","closed"]).describe("Replacement lifecycle status ('closed' = done).")},async p=>I(await r.agentSetThreadStatus(p))),e.tool("linzumi_create_channel","Create a new public channel in this workspace as the asking user. The slug is derived from the name.",{name:m.string().min(1).describe("Channel name to create.")},async p=>I(await r.agentCreateChannel(p))),e.tool("linzumi_rename_channel","Rename a channel's display name as the asking user. The channel's URL slug stays stable.",{channel:m.string().describe("Current channel slug to rename."),name:m.string().min(1).describe("New display name.")},async p=>I(await r.agentRenameChannel(p))),e.tool("linzumi_archive_channel","Archive a channel in this workspace as the asking user. History is preserved; the channel leaves the active sidebar.",{channel:m.string().describe("Channel slug to archive.")},async p=>I(await r.agentArchiveChannel(p))),e.tool("linzumi_unarchive_channel","Unarchive a previously archived channel as the asking user.",{channel:m.string().describe("Channel slug to unarchive.")},async p=>I(await r.agentUnarchiveChannel(p))),e.tool("linzumi_add_reaction","Add an emoji reaction to a channel message as the asking user. Accepts unicode emoji or a workspace :shortcode:.",{channel:m.string().describe("Channel slug containing the message."),message_seq:m.number().int().positive().describe("Channel seq of the message to react to."),emoji:m.string().min(1).describe("Emoji to add (unicode or :shortcode:).")},async p=>I(await r.agentAddReaction(p))),e.tool("linzumi_remove_reaction","Remove the asking user's emoji reaction from a channel message.",{channel:m.string().describe("Channel slug containing the message."),message_seq:m.number().int().positive().describe("Channel seq of the reacted message."),emoji:m.string().min(1).describe("Emoji to remove (unicode or :shortcode:).")},async p=>I(await r.agentRemoveReaction(p))),e.tool("linzumi_pin_message","Pin a channel message as the asking user. Thread replies re-point to their root message.",{channel:m.string().describe("Channel slug containing the message."),message_seq:m.number().int().positive().describe("Channel seq of the message to pin.")},async p=>I(await r.agentPinMessage(p))),e.tool("linzumi_unpin_message","Remove a pin from a channel message as the asking user.",{channel:m.string().describe("Channel slug containing the message."),message_seq:m.number().int().positive().describe("Channel seq of the pinned message.")},async p=>I(await r.agentUnpinMessage(p)))),n==="all"&&(e.tool("linzumi_get_message","Read one Linzumi message by scoped message_seq/message_id or a Linzumi message URL, with optional bounded before/after context.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),message_id:m.union([m.string(),m.number()]).optional().describe("Message seq inside the scoped channel."),message_seq:m.union([m.string(),m.number()]).optional().describe("Alias for message_id."),message_url:m.string().optional().describe("Full Linzumi message URL with #message-<seq>."),before:m.number().int().min(0).max(100).optional().describe("Number of visible messages before the target."),after:m.number().int().min(0).max(100).optional().describe("Number of visible messages after the target.")},async p=>I(await r.getMessage(p))),e.tool("linzumi_get_thread","Read one Linzumi thread by thread_id in the scoped channel, including the parent message and bounded replies.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:m.string().uuid().describe("Linzumi thread UUID."),limit:m.number().int().min(1).max(100).optional().describe("Maximum replies to return."),before_seq:m.number().int().positive().optional().describe("Return replies before this channel seq.")},async p=>I(await r.getThread(p))),e.tool("linzumi_get_thread_transcript","Read a Linzumi thread's full transcript as canonical IR nodes (user/assistant messages, command executions, file changes, tool calls, statuses), cursor-paginated over the complete history. Use the returned cursor with has_more to walk older pages.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:m.string().uuid().describe("Linzumi thread UUID."),limit:m.number().int().min(1).max(500).optional().describe("Maximum transcript nodes per page (default 200)."),cursor:m.number().int().positive().optional().describe("Return nodes below this seq (the previous page reply cursor).")},async p=>I(await r.getThreadTranscript(p))),e.tool("linzumi_get_channel","Read scoped Linzumi channel metadata and bounded recent channel messages.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),limit:m.number().int().min(1).max(100).optional().describe("Maximum messages to return."),before_seq:m.number().int().positive().optional().describe("Return messages before this channel seq.")},async p=>I(await r.getChannel(p))),e.tool("linzumi_search_workspace","Search the Linzumi workspace with hybrid lexical+semantic retrieval, scoped to what the authorizing user can access. Returns scored content chunks with provenance (channel, thread, authored time) and a permalink to cite.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),query:m.string().min(1).describe("Natural-language or keyword query to retrieve against."),limit:m.number().int().min(1).max(25).optional().describe("Maximum results to return (default 10, server-capped)."),source_types:m.array(m.enum(["message","coding_job","github_pr","github_pr_review","github_check_run","github_workflow_run","github_diff","dictation","file"])).optional().describe("Restrict results to these corpora; omit for all."),authored_after:m.string().optional().describe("ISO8601 instant; only content authored at or after this time."),authored_before:m.string().optional().describe("ISO8601 instant; only content authored at or before this time."),repo:m.string().optional().describe("Restrict GitHub-sourced results to one repository by full name (owner/name)."),check_status:m.enum(["pending","success","failed"]).optional().describe("Restrict check and workflow results to one conclusion bucket.")},async p=>I(await r.searchWorkspace(p))),e.tool("linzumi_ask_workspace",'Ask the Linzumi workspace a natural-language question and get a synthesized, citation-backed answer over what the authorizing user can access. Costs an LLM call on cache misses, so prefer linzumi_search_workspace for simple lookups. A "refused" status means there was not enough accessible evidence - treat it as "the workspace does not know", never retry verbatim.',{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),question:m.string().min(1).max(2e3).describe("Natural-language question to answer with citations."),channel:m.string().optional().describe("Optional channel slug providing conversational context; never widens access."),allow_cached:m.boolean().optional().describe("Allow serving a cached synthesis when the evidence set is unchanged (default true). Set false to force fresh synthesis.")},async p=>I(await r.askWorkspace(p))),e.tool("linzumi_about_me","Read what the authorizing user has told Linzumi about themselves: their profile facts (homes, unit preferences, and other self-maintained attributes) plus their derived current timezone. Use it to personalize answers (e.g. pick the right city for weather, use their preferred units). Predicates may have multiple active values; prefer the one consistent with the derived timezone.",{},async p=>I(await r.aboutMe(p)))),l&&(e.tool("linzumi_web_search","Search the public web for live or external information: news, current events, weather, prices, third-party API docs, research. Returns result titles, URLs, and snippets. Use this whenever the answer lives outside the Linzumi workspace; follow up with linzumi_fetch_url to read a result page.",{query:m.string().min(1).describe("Web search query (natural language or keywords)."),limit:m.number().int().min(1).max(10).optional().describe("Maximum results to return (default 8, server-capped).")},async p=>I(await r.webSearch(p))),e.tool("linzumi_fetch_url","Fetch one public http(s) URL and return its readable text content (HTML is reduced to plain text; large pages are truncated). Use it to read pages found via linzumi_web_search or any public docs/API reference. Only public addresses are reachable - private/internal hosts are rejected with url_not_allowed.",{url:m.string().min(1).describe("Absolute public http(s) URL to fetch.")},async p=>I(await r.fetchUrl(p)))),n==="all"&&(e.tool("linzumi_list_ui_targets","List every UI surface you can ask the user to open in their own Linzumi window (channels, DMs, threads, projects, coding jobs, computers, catch-up, activity, settings tabs, pane layouts) with the structured args each kind takes. Use UI control only when the user asks for help or asks to be shown something.",{},async()=>await B_(r.listUiTargets({}))),e.tool("linzumi_open_ui","Ask the user to open one whitelisted UI surface in their own already-open Linzumi window. A consent toast appears in THEIR session; navigation happens only if they tap Open. The call blocks until they decide and returns status opened/dismissed/expired - or error no_active_ui_session when they have no Linzumi window open (tell them to open Linzumi), or invalid_target with a detail. Use it only when the user asks for help or asks to be shown something; kinds and per-kind args come from linzumi_list_ui_targets.",{kind:m.string().min(1).describe("Target kind from linzumi_list_ui_targets (e.g. settings_workspace, channel, pane_layout)."),args:m.record(m.unknown()).optional().describe("Structured per-kind args from linzumi_list_ui_targets (never a URL - the server computes every path)."),workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope.")},async p=>await B_(r.openUi(zt(p,a))))),l&&(e.tool("linzumi_get_coding_job_metadata","Read the active coding job workflow metadata for a thread, including the agent-owned goal, ordered plan steps, step lock versions, and workflow status.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:m.string().uuid().optional().describe("Linzumi thread UUID. Defaults to the active coding job thread.")},async p=>I(await r.getCodingJobMetadata(zt(p,a)))),e.tool("linzumi_rename_coding_job","Update the current coding job thread title and workflow-facing title. Use this when the job scope changes materially so the Linzumi thread list and metadata overview stay accurate.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:m.string().uuid().optional().describe("Linzumi thread UUID. Defaults to the active coding job thread."),title:m.string().min(1).max(100).describe("Concise user-visible title for this coding job.")},async p=>I(await r.renameCodingJob(zt(p,a)))),e.tool("linzumi_upsert_coding_job_plan","Set or update the current coding job goal. Use this at job start and whenever the goal changes materially.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:m.string().uuid().optional().describe("Linzumi thread UUID. Defaults to the active coding job thread."),goal:m.string().min(1).max(1e4).describe("Concrete user-visible goal for this coding job.")},async p=>I(await r.upsertCodingJobPlan(zt(p,a)))),e.tool("linzumi_replace_coding_job_plan_steps","Replace the ordered coding job plan steps. Use this for the initial plan and for substantial rewrites when the old plan no longer fits the work.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:m.string().uuid().optional().describe("Linzumi thread UUID. Defaults to the active coding job thread."),goal:m.string().min(1).max(1e4).optional().describe("Required when no plan exists yet; updates the current coding job goal."),steps:m.array(m.object({title:m.string().min(1).max(255),description:m.string().min(1).max(1e4),status:m.enum(["pending","active","completed","blocked","canceled"]),status_note:m.string().min(1).max(4e3).optional(),completed_debrief:m.string().min(1).max(2e4).optional()})).min(1).max(50).describe("Ordered user-visible plan steps. Completed steps must include completed_debrief.")},async p=>I(await r.replaceCodingJobPlanSteps(zt(p,a)))),e.tool("linzumi_update_coding_job_plan_step","Update one coding job plan step status or note. Read metadata first and pass the current step lock_version.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:m.string().uuid().optional().describe("Linzumi thread UUID. Defaults to the active coding job thread."),step_id:m.string().uuid().describe("Step id returned by linzumi_get_coding_job_metadata."),lock_version:m.number().int().positive().describe("Current step lock_version from metadata."),status:m.enum(["pending","active","completed","blocked","canceled"]),status_note:m.string().min(1).max(4e3).optional(),completed_debrief:m.string().min(1).max(2e4).optional().describe("Required when marking a step completed.")},async p=>I(await r.updateCodingJobPlanStep(zt(p,a)))),e.tool("linzumi_link_coding_job_pull_request","Link the active coding job to its primary GitHub pull request so PR comments, files, commits, checks, deployments, and reviews can flow into the metadata view.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:m.string().uuid().optional().describe("Linzumi thread UUID. Defaults to the active coding job thread."),github_repo_owner:m.string().min(1).max(255),github_repo_name:m.string().min(1).max(255),github_pr_number:m.number().int().positive(),github_pr_url:m.string().url(),title:m.string().min(1).max(255),body:m.string().min(1).max(1e5).optional(),head_branch:m.string().min(1).max(255),head_sha:m.string().min(7).max(64),base_branch:m.string().min(1).max(255),base_sha:m.string().min(7).max(64),state:m.enum(["draft","open","closed","merged"]).optional(),is_draft:m.boolean().optional(),review_status:m.enum(["unknown","review_required","approved","changes_requested"]).optional(),source_remote_url:m.string().min(1).max(1e3).describe("Git remote URL for the local job worktree; required when this job has no repo workspace yet."),runtime_worktree_root:m.string().min(1).max(1e3).describe("Absolute local worktree path for the coding job; required when this job has no repo workspace yet."),dirty_status:m.enum(["unknown","clean","dirty"]).optional(),dirty_summary:m.string().min(1).max(2e3).optional()},async p=>I(await r.linkCodingJobPullRequest(zt(p,a)))),e.tool("linzumi_upload_files",["Upload local files to Linzumi and attach them to a new, exact, or latest assistant message. Use silently; do not mention this tool in the visible reply.","The JSON result includes message.attachments[].url as an absolute URL. Use those returned URLs when writing rich media directives such as ::audio, ::video, ::image, or Markdown images. Do not guess attachment URLs before upload.","For a message that should both attach files and show inline rich media, use a two-step flow: first upload/attach the files to create or target the message, then edit the same target message with body text that references the returned absolute URLs. When the result has target_seq, use target.kind=message_seq and message_seq=target_seq for that follow-up edit; result.message is the edit event that carries the new attachments, and target_message is the original target."].join(" "),{target:m.object({kind:m.enum(["new_message","message_seq","latest_assistant_message"]).describe("new_message creates a message; message_seq edits an exact message; latest_assistant_message edits the latest assistant message in the scoped thread/channel."),message_seq:m.union([m.string(),m.number()]).optional().describe("Required when kind is message_seq."),thread_id:m.string().optional().describe("Thread UUID. Defaults to the active Linzumi thread when the MCP server was launched with one.")}).describe("Attachment target. Do not guess; use new_message when there is no previous assistant message. To reference uploaded files in the message body, upload first, then edit message_seq/latest_assistant_message with the returned absolute attachment URLs. If the upload result includes target_seq, use message_seq=target_seq for that follow-up edit."),files:m.array(m.string().min(1)).min(1).max(16).describe("Local file paths to upload. Paths must be non-hidden supported file types inside the approved workspace or Downloads."),body:m.string().min(1).max(2e4).optional().describe("Required for new_message. Optional replacement body for message_seq/latest_assistant_message; when omitted, the existing message body is preserved. Rich media directives in body must use Linzumi attachment download URLs returned by this tool."),workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the target thread's channel (when the thread is known) or the authenticated token scope.")},async p=>{let h=J_(p.target,a);try{let f=await eI({client:r,cwd:s,kandanUrl:i,target:h,files:p.files,workspace:p.workspace,channel:p.channel,body:p.body});return I(F_(i,f))}catch(f){throw QR(f)}}),e.tool("linzumi_edit_message","Edit an exact scoped Linzumi message by message_seq. Use after linzumi_upload_files when you need a body-only follow-up edit that embeds returned attachment URLs. Requires channel.write, and thread.write when target.thread_id is set. Rich media src/poster values must be Linzumi attachment download URLs.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),target:m.object({message_seq:m.union([m.string(),m.number()]).describe("Exact message seq to edit. After linzumi_upload_files returns target_seq, pass that value here."),thread_id:m.string().optional().describe("Thread UUID when editing a thread message. Use the upload result target_message.thread_id when present.")}).describe("Exact message target for the body edit."),body:m.string().min(1).max(2e4).describe("Replacement Markdown body. Rich media src/poster values must be Linzumi attachment download URLs returned by linzumi_upload_files.")},async p=>I(F_(i,await r.editMessage({...p,target:J_(p.target,a)}))))),n==="all"&&(e.tool("linzumi_list_vault_secrets","List vault secret names, descriptions, and whether each secret is personal or workspace-owned. Does not return secret values.",{},async p=>I(await r.listVaultSecrets(p))),e.tool("linzumi_list_projects","List the projects in the current workspace with their project_id (needed by the other project task tools), slug, title, description, and state.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope.")},async p=>I(await r.listProjects(p))),e.tool("linzumi_get_project_tasks",`Read a project's full task graph: task GROUPS (kind "group", organizational containers, exactly one level deep) and ISSUES (kind "issue", the executable work items), each with status (todo/active/blocked/review/done/canceled), DERIVED work_state readiness (ready = todo with every dependency satisfied; blocked = todo with unsatisfied dependencies; running/stalled = active with/without a connected job), parent group, assignee, lock_version, and dependency edges (depends_on_task_ids / unblocks_task_ids). Always read this before reorganizing. Inside a project-bound coding job the project is inferred automatically; otherwise pass project_id from linzumi_list_projects.`,{project_id:m.string().optional().describe("Project id from linzumi_list_projects. Omit inside a coding job started from a project to use that project.")},async p=>I(await r.getProjectTasks(zt(p,a)))),e.tool("linzumi_create_project_task",'Create a task group (kind "group") or issue (kind "issue", the default) in a project. Groups organize issues and are exactly one level deep: a parent_id must name a GROUP, and groups themselves can never have a parent. New tasks default to status "todo" and append to the end unless position is given. Inside a project-bound coding job the project is inferred; otherwise pass project_id.',{project_id:m.string().optional().describe("Project id from linzumi_list_projects. Omit inside a coding job started from a project to use that project."),title:m.string().min(1).describe("Task title."),kind:m.enum(["issue","group"]).optional().describe('What to create: "issue" (executable work item, default) or "group" (organizational container).'),description:m.string().optional().describe("Detailed description of the work - written so an engineer (or coding agent) could execute the task from it."),status:m.enum(["todo","active","blocked","review","done","canceled"]).optional().describe('Initial status. Defaults to "todo".'),parent_id:m.string().optional().describe("task_id of the GROUP to place an issue in. Only issues can have a parent."),assignee:m.string().optional().describe("Username of a workspace member to assign."),position:m.number().int().min(0).optional().describe("Sort position. Defaults to appending at the end.")},async p=>I(await r.createProjectTask(zt(p,a)))),e.tool("linzumi_update_project_task",'Update a task group or issue: retitle, edit description/status_note, transition status (todo/active/blocked/review/done/canceled), reassign, reorder (position), or reorganize (parent_id moves an issue into a group; clear_parent moves it to top level). Only the fields you pass change; description and status_note accept null to clear. Prefer updating existing tasks over delete-and-recreate. Pass the lock_version from your last read to fail loudly ("stale") instead of overwriting a concurrent edit.',{task_id:m.string().describe("task_id of the group or issue to update."),title:m.string().min(1).optional().describe("New title."),description:m.string().nullable().optional().describe("New description. Pass null to clear it."),status:m.enum(["todo","active","blocked","review","done","canceled"]).optional().describe('New status. "done"/"canceled" satisfy dependent tasks; "blocked" is a manual hold.'),status_note:m.string().nullable().optional().describe("Short human-readable note about the current status. Pass null to clear it."),position:m.number().int().min(0).optional().describe("New sort position among siblings."),parent_id:m.string().optional().describe("task_id of the GROUP to move this issue into. Do not combine with clear_parent."),clear_parent:m.boolean().optional().describe("true moves the issue to the top level (no group). Do not combine with parent_id."),assignee:m.string().optional().describe("Username of a workspace member to assign. Do not combine with clear_assignee."),clear_assignee:m.boolean().optional().describe("true removes the assignee. Do not combine with assignee."),lock_version:m.number().int().positive().optional().describe("The task's lock_version from your last read, for compare-and-swap safety.")},async p=>I(await r.updateProjectTask(p))),e.tool("linzumi_delete_project_task",`Permanently delete a task group or issue. Dependency edges on the task are removed with it (dependents may become ready). Deletion is normally the USER's call - prefer status "canceled" or an update unless you are certain the entry is obsolete.`,{task_id:m.string().describe("task_id of the group or issue to delete.")},async p=>I(await r.deleteProjectTask(p))),e.tool("linzumi_add_project_task_dependency",'Add the dependency edge "task_id is blocked by depends_on_task_id" between two ISSUES in the same project (groups cannot have dependencies). The dependent stays blocked until the prerequisite reaches done or canceled. The graph must stay acyclic: an edge that would create a cycle is refused with reason "would_create_cycle" and the offending cycle_path so you can restructure. Duplicate and self edges are rejected.',{task_id:m.string().describe("task_id of the DEPENDENT issue (the one that must wait)."),depends_on_task_id:m.string().describe("task_id of the PREREQUISITE issue (the one that must finish first).")},async p=>I(await r.addProjectTaskDependency(p))),e.tool("linzumi_remove_project_task_dependency",'Remove the dependency edge "task_id is blocked by depends_on_task_id". The dependent issue may become ready if that was its last unsatisfied dependency.',{task_id:m.string().describe("task_id of the DEPENDENT issue."),depends_on_task_id:m.string().describe("task_id of the PREREQUISITE issue the edge points at.")},async p=>I(await r.removeProjectTaskDependency(p))),e.tool("linzumi_get_call_transcript","Read the full transcript of a completed Linzumi notetaker call: call metadata (title, platform, started/ended/transcribed times), participants, and every spoken segment in order with speaker names and millisecond offsets. Pass the call_id embedded in the request (or copied from the call card). Errors: call_not_found (missing or not visible to you), call_transcript_not_ready (call still connecting, in progress, or transcribing - retry later).",{call_id:m.string().describe("The call id from the call card or the launching message (a CallRecording id - the opaque GraphQL id and the bare uuid both work).")},async p=>I(await r.getCallTranscript(p))),u||e.tool("linzumi_start_coding_job","Start a coding job as the invoking user (same authorization and pipeline as clicking start). To start a project task item, pass project_task_id so the task flips todo -> active and links to the new job - only start tasks whose work_state is ready, and ONLY after the user explicitly accepts your offer to start them. Omit channel, runner_key, and cwd to reuse this job's own channel, computer, and folder. Returns status 'unavailable' with a reason when the runner cannot take the job (relay that honestly).",{work_description:m.string().min(1).describe("What the job should do - the initial instruction. For a task item, write it from the task title and description."),project_task_id:m.string().optional().describe("Project task item to bind the job to (task_id from linzumi_get_project_tasks). The task flips todo -> active and links to the new job."),channel:m.string().optional().describe("Channel slug to host the job thread. Omit to use this job's own channel."),runner_key:m.string().optional().describe("Runner (computer) to run the job on. Omit to use this job's own computer."),cwd:m.string().optional().describe("Working directory on the runner. Omit to use this job's own folder."),model:m.string().optional().describe("Model override (optional)."),model_provider:m.string().optional().describe("Model provider override, e.g. 'wafer' (optional)."),execution_mode:m.enum(["raw","local_vm"]).optional().describe("Execution placement override (optional).")},async p=>I(await r.agentStartCodingJob(zt(p,a))))),VR(n)&&(e.tool("linzumi_upload_custom_emoji","Upload a local image as a workspace custom emoji. For generated emoji art, create a transparent PNG with a simple centered subject, crisp edges, strong contrast, minimal tiny details, and enough outline/highlight separation to read at 16-24px on both dark and light backgrounds. Use lowercase shortcode names without colons unless preserving a user-provided :name:.",{name:U_.describe("Custom emoji shortcode name, with or without surrounding colons."),file:m.string().min(1).describe("Local PNG/WebP/GIF/JPEG file path to upload. Prefer transparent PNG for generated emoji."),workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope.")},async p=>I(await tI({client:r,cwd:s,kandanUrl:i,name:p.name,file:p.file,workspace:p.workspace}))),e.tool("linzumi_rename_custom_emoji","Rename an existing workspace custom emoji. The new name may include surrounding colons; Linzumi stores the normalized shortcode without colons.",{emoji_id:m.union([m.string(),m.number().int().positive()]).describe("Workspace custom emoji id returned by linzumi_upload_custom_emoji or workspace emoji listings."),name:U_.describe("New shortcode name, with or without surrounding colons."),workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope.")},async p=>I(await r.renameCustomEmoji(p)))),e.tool("linzumi_media_guide","Return the full Linzumi rich-media authoring guide (audio/video/image directives, URL rules, upload-then-embed flow, examples). Call once BEFORE writing any ::audio/::video/::image directive or Markdown image into a Linzumi message.",{},async()=>({content:[{type:"text",text:D_}]})),e.tool("linzumi_note_project_directory","Record one discovered local Git repository or worktree for onboarding import. Call once per project as soon as it is found.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),runner_id:m.string().min(1).describe("Local runner/computer id provided in the discovery prompt."),path:m.string().min(1).describe("Absolute local path to the repository worktree root."),display_name:m.string().optional().describe("Short project label. Defaults to the path basename."),activity_at:m.string().optional().describe("Best-known recent activity time as an ISO-8601 timestamp."),import_key:m.string().optional().describe("Stable dedupe key. Defaults to path."),metadata:m.record(m.unknown()).optional().describe("Small structured metadata such as branch or remote origin.")},async p=>I(await r.noteProjectDirectory(p))),e.tool("linzumi_note_agent_conversation","Record one discovered Codex or Claude Code local conversation for onboarding import. Call once per conversation as soon as it is found.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),runner_id:m.string().min(1).describe("Local runner/computer id provided in the discovery prompt."),source:m.enum(["codex","claude_code"]).describe("Conversation source."),import_key:m.string().min(1).describe("Stable dedupe key, such as a session id or file path."),path:m.string().optional().describe("Absolute local path to the conversation file or directory."),display_name:m.string().optional().describe("Short label for the discovered conversation."),activity_at:m.string().optional().describe("Best-known recent activity time as an ISO-8601 timestamp."),metadata:m.record(m.unknown()).optional().describe("Small structured metadata such as session id or project path.")},async p=>I(await r.noteAgentConversation(p))),e.tool("linzumi_note_onboarding_discovery_status","Record onboarding discovery progress. Call when a search phase starts, checks another place, completes, or fails.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),runner_id:m.string().min(1).describe("Local runner/computer id provided in the discovery prompt."),phase:m.enum(["projects","conversations"]).describe("Discovery phase being reported."),status:m.enum(["starting","running","completed","failed"]).describe("Current phase status."),places_searched:m.number().int().nonnegative().optional().describe("Count of concrete folders/files/known locations checked so far."),message:m.string().optional().describe("Short user-facing status note."),current_place:m.string().optional().describe("Current folder, file, Git command target, or known location being checked."),current_source:m.string().optional().describe("Short machine-readable source label such as git, codex, or claude_code."),last_error:m.string().optional().describe("Short failure detail when status is failed."),metadata:m.record(m.unknown()).optional().describe("Small structured status metadata.")},async p=>I(await r.noteOnboardingDiscoveryStatus(p))),n==="all"&&BR(o)&&(e.tool("linzumi_dm_owner","Send a plain-text DM to the configured Commander owner. Requires dm.write and a visible owner username.",{owner_username:m.string().optional().describe("Owner username. Defaults to LINZUMI_MCP_OWNER_USERNAME or --owner-username."),workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Source channel slug used to verify owner visibility."),body:m.string().min(1).max(2e4).describe("Plain-text message body to DM.")},async p=>{let h=p.owner_username??c;if(h===void 0)throw new Error("owner_username is required for linzumi_dm_owner");return I(await r.dmOwner({...p,owner_username:h}))}),e.tool("linzumi_send_channel_message","Post a NEW standalone Markdown message into the scoped Linzumi channel as the authenticated local-runner user. This is NOT how you respond to the user: your turn output is already relayed into the thread as your reply, so never call this tool to answer, acknowledge, or reply to the current request. Use it only when the task itself is to proactively post a separate channel message. Requires channel.write. Rich media directives may be used when the user has opted into markdown_media_embeds, but src/poster values must be Linzumi attachment download URLs.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),body:m.string().min(1).max(2e4).describe("Markdown message body to post. Rich media src/poster values must be Linzumi attachment download URLs, not third-party URLs, /relative paths, or local filesystem paths.")},async p=>I(await r.sendChannelMessage(p))),e.tool("linzumi_send_thread_reply","Post a Markdown reply into some OTHER existing Linzumi thread as the authenticated local-runner user. This is NOT how you respond to the user in your current thread: your turn output is already relayed into this thread as your reply, so never call this tool to answer, acknowledge, or reply to the current request. Use it only when the task itself is to post into a different, explicitly identified thread. Requires thread.write. Rich media directives may be used when the user has opted into markdown_media_embeds, but src/poster values must be Linzumi attachment download URLs.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:m.string().uuid().describe("Existing Linzumi thread UUID."),body:m.string().min(1).max(2e4).describe("Markdown reply body to post. Rich media src/poster values must be Linzumi attachment download URLs, not third-party URLs, /relative paths, or local filesystem paths.")},async p=>I(await r.sendThreadReply(p))),e.tool("linzumi_send_dm","Send a plain-text DM as the authenticated local-runner user to a visible user in the scoped workspace/channel. Requires dm.write.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Source channel slug used to verify target visibility."),username:m.string().describe("Visible Linzumi username to DM."),body:m.string().min(1).max(2e4).describe("Plain-text message body to DM.")},async p=>I(await r.sendDm(p)))),n==="all"&&e.tool("linzumi_get_vault_values","Request values for explicit vault env var names after a thread-scoped human approval. Requires vault.read; thread_id resolves the approval thread.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug used to disambiguate the approval thread when needed."),thread_id:m.string().uuid().describe("Existing Linzumi thread UUID for the inline approval."),env_var_names:m.array(m.string().regex(/^[A-Z][A-Z0-9_]{0,127}$/)).min(1).max(20).describe("Explicit vault env var names to request. This tool cannot list all vault keys."),description:m.string().min(1).max(500).describe("Human-readable reason shown in the approval request."),justification:m.string().min(10).max(1e3).describe("Agent justification shown to the approver.")},async p=>I(await r.getVaultValues(p))),n==="all"&&!u&&d!==void 0&&YR(e,s,d)}function q_(e){return{name:e.record.name,command:e.record.command,cwd:e.record.cwd,ports:[...e.record.ports],restart_on_branch_change:e.record.restartOnBranchChange,desired_state:e.record.desiredState,liveness:e.liveness,port_health:e.portProbes.map(t=>({port:t.port,listening:t.listening})),started_at_ms:e.record.startedAtMs??null,last_exit:e.lastExit===void 0?null:{code:e.lastExit.code,signal:e.lastExit.signal,at_ms:e.lastExit.atMs},log_path:e.record.logPath}}function YR(e,t,r){e.tool("linzumi_dev_service_start","Start a long-running local dev server (npm run dev, storybook, docker compose up, ...) as a MANAGED SERVICE owned by the Linzumi runner. Use this instead of running dev servers in your own shell: a managed service survives the end of your turn and branch switches, is auto-restarted if it crashes, and its declared ports are health-probed and surfaced in the product. Calling start for an existing name declaratively RESTARTS it (e.g. after a checkout). Declare EVERY port the app serves from (primary plus HMR/asset/bundle sibling ports).",{name:m.string().regex(/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/).describe("Stable service name (slug), e.g. 'web' or 'storybook'. Reusing a name restarts that service."),command:m.string().min(1).describe("Shell command that runs the server in the foreground (never daemonize/screen/nohup it yourself), e.g. 'npm run dev'. Runs via the user's login shell."),cwd:m.string().optional().describe("Working directory for the service. Defaults to the session cwd."),ports:m.array(m.number().int().min(1).max(65535)).max(16).default([]).describe("Every TCP port this service listens on (primary AND related ports such as the Vite/HMR bundle port). Used for health probes and product visibility."),restart_on_branch_change:m.boolean().optional().describe("Restart the service automatically when the git branch of its cwd changes (for servers that go stale across checkouts)."),wait_for_ports_ms:m.number().int().min(0).max(6e4).optional().describe("How long to wait for the declared ports to accept connections before returning (default 15000).")},async n=>{let o=await O_({scopeDir:r.scopeDir,definition:{name:n.name,command:n.command,cwd:n.cwd??t,ports:n.ports,restartOnBranchChange:n.restart_on_branch_change===!0},ownerPid:r.ownerPid});if(!o.ok)return I({ok:!1,error:o.error});let s=Date.now()+(n.wait_for_ports_ms??15e3),i=o.record.ports.length===0;for(;!i&&Date.now()<s;)i=(await Promise.all(o.record.ports.map(d=>Rl(d)))).every(d=>d),i||await new Promise(d=>setTimeout(d,250));let c=(await Il(r.scopeDir)).find(u=>u.record.name===o.record.name);return I({ok:!0,service:c===void 0?{name:o.record.name}:q_(c),...c!==void 0&&c.liveness!=="running"?{hint:"The service is not (fully) serving its declared ports yet. Check linzumi_dev_service_logs before assuming it works."}:{}})}),e.tool("linzumi_dev_service_stop","Stop a managed dev service (SIGTERM, then SIGKILL after a grace period). The registration is kept so linzumi_dev_service_start can bring it back.",{name:m.string().min(1).describe("Service name to stop.")},async n=>{let o=await El({scopeDir:r.scopeDir,name:n.name});return I(o.ok?{ok:!0,name:o.record.name,desired_state:"stopped"}:{ok:!1,error:o.error})}),e.tool("linzumi_dev_service_status","List every managed dev service with liveness (running / unhealthy / exited / stopped), per-port health probes, and last exit. Live state - always check this before concluding a dev server is up or down.",{},async()=>{let n=await Il(r.scopeDir);return I({services:n.map(o=>q_(o))})}),e.tool("linzumi_dev_service_logs","Read the tail of a managed dev service's combined stdout/stderr log.",{name:m.string().min(1).describe("Service name."),max_bytes:m.number().int().min(256).max(65536).optional().describe("Tail size in bytes (default 16384).")},async n=>{let o=A_(r.scopeDir,n.name,n.max_bytes??16384);return I(o===void 0?{ok:!1,error:`no log for service: ${n.name}`}:{ok:!0,name:n.name,log_tail:o})}),e.tool("linzumi_dev_service_remove","Stop a managed dev service AND delete its registration (it will not be resurrected on runner restart). Use stop instead when the user may want it back.",{name:m.string().min(1).describe("Service name to remove.")},async n=>{let o=await C_({scopeDir:r.scopeDir,name:n.name});return I(o.ok?{ok:!0,name:o.record.name,removed:!0}:{ok:!1,error:o.error})})}function QR(e){return!(e instanceof Error)||!e.message.includes("channel_required")?e:new Error(`${e.message}. Remediation: pass the channel slug in the \`channel\` parameter, or set target.thread_id to a Linzumi thread you can access (the server resolves the thread's channel). The files were NOT attached; retry with a channel or thread instead of leaving them on disk.`,{cause:e})}async function eI(e){let t=await Promise.all(e.files.map(i=>wl(e.cwd,i))),r=we(e.target.thread_id),n=await e.client.prepareMessageUploads({...e.workspace===void 0?{}:{workspace:e.workspace},...e.channel===void 0?{}:{channel:e.channel},...r===void 0?{}:{thread_id:r},files:t.map(i=>({file_name:i.fileName,content_type:i.contentType,size_bytes:i.sizeBytes}))}),o=Si(n.uploads)??[];if(o.length!==t.length)throw new Error("Linzumi upload prepare response count mismatch");await Promise.all(t.map(async(i,a)=>{let c=$t(o[a]),u=we(c?.upload_url),d=we(c?.upload_method)??"PUT";if(u===void 0)throw new Error("Linzumi upload prepare response missing upload_url");let l=await H_(i.path),p=l.buffer.slice(l.byteOffset,l.byteOffset+l.byteLength),h=await fetch(Co(e.kandanUrl,u),{method:d,headers:{"content-type":i.contentType},body:p});if(!h.ok)throw new Error(`Linzumi upload failed for ${i.fileName}: ${h.status} ${h.statusText}`)}));let s=o.map(i=>{let a=we($t(i)?.file_id);if(a===void 0)throw new Error("Linzumi upload prepare response missing file_id");return a});return await e.client.attachMessageFiles({...e.workspace===void 0?{}:{workspace:e.workspace},...e.channel===void 0?{}:{channel:e.channel},...r===void 0?{}:{thread_id:r},target:e.target,...e.body===void 0?{}:{body:e.body},uploaded_file_ids:s})}async function tI(e){let t=await wl(e.cwd,e.file),r=await e.client.prepareCustomEmoji({...e.workspace===void 0?{}:{workspace:e.workspace},name:e.name,file_name:t.fileName,content_type:t.contentType,size_bytes:t.sizeBytes}),n=$t(r.upload),o=we(n?.upload_url),s=we(n?.upload_method)??"PUT";if(o===void 0)throw new Error("Linzumi custom emoji prepare response missing upload_url");let i=await H_(t.path),a=i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength),c=await fetch(Co(e.kandanUrl,o),{method:s,headers:{"content-type":t.contentType},body:a});if(!c.ok){let l=`${c.status} ${c.statusText}`,h=(await c.text()).trim(),f=h===""?l:(()=>{try{let g=JSON.parse(h);return ft(g)&&typeof g.error=="string"?g.error:h}catch{return h}})();throw new Error(`Linzumi custom emoji upload failed: ${f}`)}let u=await c.json();if(!ft(u))throw new Error("Linzumi custom emoji upload returned non-object JSON");let d=$t(u.custom_emoji);if(d===void 0)throw new Error("Linzumi custom emoji upload response missing custom_emoji");return{ok:!0,workspace:r.workspace,emoji:d,asset_id:we(u.asset_id),id:__(d?.id),name:we(d?.name),shortcode:we(d?.shortcode),image_url:we(d?.image_url)}}function J_(e,t){if(we(e.thread_id)!==void 0||t===void 0)return e;switch(e.message_seq===void 0){case!1:return{...e,thread_id:t};case!0:switch(we(e.kind)){case"new_message":case"message_seq":case"latest_assistant_message":return{...e,thread_id:t};default:return e}}}function zt(e,t){return we(e.thread_id)!==void 0||t===void 0?e:{...e,thread_id:t}}function Co(e,t){try{return new URL(t).toString()}catch{let n=e.replace(/^wss:\/\//,"https://").replace(/^ws:\/\//,"http://");return new URL(t,n).toString()}}function F_(e,t){let r=$t(t.message),n=$t(t.target_message);return r===void 0&&n===void 0?t:{...t,...r===void 0?{}:{message:V_(e,r)},...n===void 0?{}:{target_message:V_(e,n)}}}function V_(e,t){let r=Si(t.attachments);return r===void 0?t:{...t,attachments:r.map(n=>rI(e,n))}}function rI(e,t){let r=$t(t);if(r===void 0)return t;let n=we(r.url),o=$t(r.image_variants);return{...r,...n===void 0?{}:{url:Co(e,n)},...o===void 0?{}:{image_variants:nI(e,o)}}}function nI(e,t){let r=we(t.inline_url),n=we(t.carousel_url);return{...t,...r===void 0?{}:{inline_url:Co(e,r)},...n===void 0?{}:{carousel_url:Co(e,n)}}}function oI(e){e.server.registerCapabilities({resources:{listChanged:!1}}),e.server.setRequestHandler(en,()=>({resources:[]})),e.server.setRequestHandler(tn,()=>({resourceTemplates:[]}))}async function sI(e){let t=jl(e),r=Al(t,"api-url"),n=re(t,"format")??"codex",o=Cl(re(t,"mode")),s=t.get("include-token")===!0?(await Ol({kandanUrl:r,explicitToken:re(t,"token")??process.env.LINZUMI_MCP_ACCESS_TOKEN,authFilePath:re(t,"auth-file"),delegationAuthFilePath:re(t,"delegation-auth-file"),workspaceSlug:re(t,"workspace"),channelSlug:re(t,"channel")})).accessToken:void 0,i=M_({command:re(t,"command"),kandanUrl:r,accessToken:s,delegationAuthFilePath:re(t,"delegation-auth-file"),ownerUsername:re(t,"owner-username")??process.env.LINZUMI_MCP_OWNER_USERNAME,operatingMode:o,toolScope:K_(re(t,"tool-scope"))});switch(n){case"codex":process.stdout.write(L_(i));return;case"claude-code":process.stdout.write(N_(i));return;default:throw new Error("--format must be codex or claude-code")}}async function iI(e){let t=jl(e),r=Al(t,"api-url"),n=await Ol({kandanUrl:r,explicitToken:re(t,"token")??process.env.LINZUMI_MCP_ACCESS_TOKEN,authFilePath:re(t,"auth-file"),delegationAuthFilePath:re(t,"delegation-auth-file"),workspaceSlug:re(t,"workspace"),channelSlug:re(t,"channel")});switch(n.mode){case"local-runner":{if(!await Zy({kandanUrl:r,accessToken:n.accessToken,workspaceSlug:re(t,"workspace"),channelSlug:re(t,"channel")}))throw new Error("Linzumi MCP auth validation failed");break}case"personal-agent-delegation":{await kl({kandanUrl:r,accessToken:n.accessToken,authMode:n.mode,operatingMode:Cl(re(t,"mode"))}).validateAuth();break}}process.stdout.write(`Linzumi MCP auth OK
|
|
423
|
-
`)}async function
|
|
424
|
-
`),process.exitCode=1}}var
|
|
422
|
+
`}async function oE(e){let t=Cl(e);if(t.get("help")===!0){process.stdout.write(Q_());return}let r=Ml(t,"api-url"),n=await jl({kandanUrl:r,explicitToken:re(t,"token")??process.env.LINZUMI_MCP_ACCESS_TOKEN,authFilePath:re(t,"auth-file"),delegationAuthFilePath:re(t,"delegation-auth-file"),workspaceSlug:re(t,"workspace"),channelSlug:re(t,"channel")}),o=re(t,"owner-username")??process.env.LINZUMI_MCP_OWNER_USERNAME,s=Al(re(t,"mode")),i=ev(re(t,"tool-scope")),a=re(t,"cwd")??process.cwd(),c=re(t,"thread-id")??process.env.LINZUMI_THREAD_RUNNER_KANDAN_THREAD_ID,u=xl({kandanUrl:r,accessToken:n.accessToken,authMode:n.mode,operatingMode:s}),d=new bi({name:"linzumi",version:"0.1.0"});mE(d),iE(d,{client:u,toolScope:i,operatingMode:s,cwd:a,kandanUrl:r,defaultThreadId:c,ownerUsername:o,agentSession:t.get("agent-session")===!0,devServices:sE(process.env)}),await d.connect(new ki)}function sE(e){let t=e.LINZUMI_DEV_SERVICES_SCOPE?.trim(),r=Number.parseInt(e.LINZUMI_DEV_SERVICES_OWNER_PID??"",10);if(!(t===void 0||t===""||!Number.isInteger(r)||r<=0))return{scopeDir:I_(t),ownerPid:r}}function iE(e,t){let{client:r,toolScope:n,operatingMode:o,cwd:s,kandanUrl:i,defaultThreadId:a,ownerUsername:c,agentSession:u,devServices:d}=t,l=n==="all"||n==="coding";u&&(e.tool("linzumi_agent_reply","Post your single @linzumi reply for the current turn into the surface where you were mentioned. Call EXACTLY ONCE per turn with your final answer; the reply links to this working session automatically. Fails with already_replied on a second call and no_active_asker_binding when no turn is active.",{body:m.string().min(1).describe("Plain-text reply body to post.")},async p=>E(await r.agentReply({body:p.body}))),e.tool("linzumi_list_coding_jobs","List the coding jobs the current asker can see in this workspace: runner connections (online and recent) with their bound job threads. Live state - never answered from search.",{},async()=>E(await r.agentListCodingJobs({}))),e.tool("linzumi_start_coding_job","Start a coding job exactly as if the asking user clicked start: same runner/channel authorization, same pipeline. Returns status 'unavailable' with a reason when the runner cannot take the job (relay that honestly).",{channel:m.string().describe("Channel slug to host the job thread."),runner_key:m.string().describe("Runner (computer) to run the job on."),cwd:m.string().describe("Working directory on the runner."),work_description:m.string().min(1).describe("What the job should do - the initial instruction."),model:m.string().optional().describe("Model override (optional)."),model_provider:m.string().optional().describe("Model provider override, e.g. 'wafer' (optional)."),execution_mode:m.enum(["raw","local_vm"]).optional().describe("Execution placement override (optional)."),project_task_id:m.string().optional().describe("Project task item to bind the job to (task_id from linzumi_get_project_tasks). The task flips todo -> active and links to the new job.")},async p=>E(await r.agentStartCodingJob(p))),e.tool("linzumi_interrupt_coding_job","Interrupt a coding job: mode 'steer' (default) discards its queued follow-ups so your next message lands first; mode 'stop' terminates the current turn.",{channel:m.string().describe("Channel slug hosting the job thread."),thread_id:m.string().uuid().describe("The job thread UUID."),mode:m.enum(["steer","stop"]).optional().describe("Interrupt mode; defaults to 'steer'.")},async p=>E(await r.agentInterruptCodingJob(p))),e.tool("linzumi_send_coding_job_message","Send a message into a coding job thread as the asking user (the job processes it like any human follow-up).",{channel:m.string().describe("Channel slug hosting the job thread."),thread_id:m.string().uuid().describe("The job thread UUID."),body:m.string().min(1).describe("Message body to send.")},async p=>E(await r.agentSendCodingJobMessage(p))),e.tool("linzumi_read_coding_job_thread","Read a coding job's thread (asker-visible history) plus its workflow status metadata.",{channel:m.string().describe("Channel slug hosting the job thread."),thread_id:m.string().uuid().describe("The job thread UUID."),limit:m.number().int().min(1).max(100).optional().describe("Maximum replies to return."),before_seq:m.number().int().positive().optional().describe("Return replies before this channel seq.")},async p=>E(await r.agentReadCodingJobThread(p))),e.tool("linzumi_resolve_job_approval","Resolve a coding job's pending approval request with the asking user's decision ('approve' or 'deny'). Only relays the asker's authority - never approve without their explicit instruction.",{channel:m.string().describe("Channel slug hosting the job thread."),thread_id:m.string().uuid().describe("The job thread UUID."),source_seq:m.number().int().positive().describe("Channel seq of the message the approval request rides on."),request_id:m.string().describe("The approval request id."),decision:m.enum(["approve","deny"]).describe("The asker's decision.")},async p=>E(await r.agentResolveJobApproval(p))),e.tool("linzumi_archive_coding_job","Archive a coding job's thread (or any thread the asking user owns) so it leaves the active list; history is preserved. Do this when the asker says to archive a job or thread - never just promise it.",{channel:m.string().describe("Channel slug hosting the thread."),thread_id:m.string().uuid().describe("The thread UUID to archive.")},async p=>E(await r.agentArchiveCodingJob(p))),e.tool("linzumi_unarchive_coding_job","Unarchive a previously archived coding job thread the asking user owns, returning it to the active list.",{channel:m.string().describe("Channel slug hosting the thread."),thread_id:m.string().uuid().describe("The thread UUID to unarchive.")},async p=>E(await r.agentUnarchiveCodingJob(p))),e.tool("linzumi_set_thread_status","Set a thread's lifecycle status as the asking user: 'closed' marks it done, 'open' reopens it. Works on threads the asker owns.",{channel:m.string().describe("Channel slug hosting the thread."),thread_id:m.string().uuid().describe("The thread UUID."),status:m.enum(["open","closed"]).describe("Replacement lifecycle status ('closed' = done).")},async p=>E(await r.agentSetThreadStatus(p))),e.tool("linzumi_create_channel","Create a new public channel in this workspace as the asking user. The slug is derived from the name.",{name:m.string().min(1).describe("Channel name to create.")},async p=>E(await r.agentCreateChannel(p))),e.tool("linzumi_rename_channel","Rename a channel's display name as the asking user. The channel's URL slug stays stable.",{channel:m.string().describe("Current channel slug to rename."),name:m.string().min(1).describe("New display name.")},async p=>E(await r.agentRenameChannel(p))),e.tool("linzumi_archive_channel","Archive a channel in this workspace as the asking user. History is preserved; the channel leaves the active sidebar.",{channel:m.string().describe("Channel slug to archive.")},async p=>E(await r.agentArchiveChannel(p))),e.tool("linzumi_unarchive_channel","Unarchive a previously archived channel as the asking user.",{channel:m.string().describe("Channel slug to unarchive.")},async p=>E(await r.agentUnarchiveChannel(p))),e.tool("linzumi_add_reaction","Add an emoji reaction to a channel message as the asking user. Accepts unicode emoji or a workspace :shortcode:.",{channel:m.string().describe("Channel slug containing the message."),message_seq:m.number().int().positive().describe("Channel seq of the message to react to."),emoji:m.string().min(1).describe("Emoji to add (unicode or :shortcode:).")},async p=>E(await r.agentAddReaction(p))),e.tool("linzumi_remove_reaction","Remove the asking user's emoji reaction from a channel message.",{channel:m.string().describe("Channel slug containing the message."),message_seq:m.number().int().positive().describe("Channel seq of the reacted message."),emoji:m.string().min(1).describe("Emoji to remove (unicode or :shortcode:).")},async p=>E(await r.agentRemoveReaction(p))),e.tool("linzumi_pin_message","Pin a channel message as the asking user. Thread replies re-point to their root message.",{channel:m.string().describe("Channel slug containing the message."),message_seq:m.number().int().positive().describe("Channel seq of the message to pin.")},async p=>E(await r.agentPinMessage(p))),e.tool("linzumi_unpin_message","Remove a pin from a channel message as the asking user.",{channel:m.string().describe("Channel slug containing the message."),message_seq:m.number().int().positive().describe("Channel seq of the pinned message.")},async p=>E(await r.agentUnpinMessage(p)))),n==="all"&&(e.tool("linzumi_get_message","Read one Linzumi message by scoped message_seq/message_id or a Linzumi message URL, with optional bounded before/after context.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),message_id:m.union([m.string(),m.number()]).optional().describe("Message seq inside the scoped channel."),message_seq:m.union([m.string(),m.number()]).optional().describe("Alias for message_id."),message_url:m.string().optional().describe("Full Linzumi message URL with #message-<seq>."),before:m.number().int().min(0).max(100).optional().describe("Number of visible messages before the target."),after:m.number().int().min(0).max(100).optional().describe("Number of visible messages after the target.")},async p=>E(await r.getMessage(p))),e.tool("linzumi_get_thread","Read one Linzumi thread by thread_id in the scoped channel, including the parent message and bounded replies.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:m.string().uuid().describe("Linzumi thread UUID."),limit:m.number().int().min(1).max(100).optional().describe("Maximum replies to return."),before_seq:m.number().int().positive().optional().describe("Return replies before this channel seq.")},async p=>E(await r.getThread(p))),e.tool("linzumi_get_thread_transcript","Read a Linzumi thread's full transcript as canonical IR nodes (user/assistant messages, command executions, file changes, tool calls, statuses), cursor-paginated over the complete history. Use the returned cursor with has_more to walk older pages.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:m.string().uuid().describe("Linzumi thread UUID."),limit:m.number().int().min(1).max(500).optional().describe("Maximum transcript nodes per page (default 200)."),cursor:m.number().int().positive().optional().describe("Return nodes below this seq (the previous page reply cursor).")},async p=>E(await r.getThreadTranscript(p))),e.tool("linzumi_get_channel","Read scoped Linzumi channel metadata and bounded recent channel messages.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),limit:m.number().int().min(1).max(100).optional().describe("Maximum messages to return."),before_seq:m.number().int().positive().optional().describe("Return messages before this channel seq.")},async p=>E(await r.getChannel(p))),e.tool("linzumi_search_workspace","Search the Linzumi workspace with hybrid lexical+semantic retrieval, scoped to what the authorizing user can access. Returns scored content chunks with provenance (channel, thread, authored time) and a permalink to cite.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),query:m.string().min(1).describe("Natural-language or keyword query to retrieve against."),limit:m.number().int().min(1).max(25).optional().describe("Maximum results to return (default 10, server-capped)."),source_types:m.array(m.enum(["message","coding_job","github_pr","github_pr_review","github_check_run","github_workflow_run","github_diff","dictation","file"])).optional().describe("Restrict results to these corpora; omit for all."),authored_after:m.string().optional().describe("ISO8601 instant; only content authored at or after this time."),authored_before:m.string().optional().describe("ISO8601 instant; only content authored at or before this time."),repo:m.string().optional().describe("Restrict GitHub-sourced results to one repository by full name (owner/name)."),check_status:m.enum(["pending","success","failed"]).optional().describe("Restrict check and workflow results to one conclusion bucket.")},async p=>E(await r.searchWorkspace(p))),e.tool("linzumi_ask_workspace",'Ask the Linzumi workspace a natural-language question and get a synthesized, citation-backed answer over what the authorizing user can access. Costs an LLM call on cache misses, so prefer linzumi_search_workspace for simple lookups. A "refused" status means there was not enough accessible evidence - treat it as "the workspace does not know", never retry verbatim.',{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),question:m.string().min(1).max(2e3).describe("Natural-language question to answer with citations."),channel:m.string().optional().describe("Optional channel slug providing conversational context; never widens access."),allow_cached:m.boolean().optional().describe("Allow serving a cached synthesis when the evidence set is unchanged (default true). Set false to force fresh synthesis.")},async p=>E(await r.askWorkspace(p))),e.tool("linzumi_about_me","Read what the authorizing user has told Linzumi about themselves: their profile facts (homes, unit preferences, and other self-maintained attributes) plus their derived current timezone. Use it to personalize answers (e.g. pick the right city for weather, use their preferred units). Predicates may have multiple active values; prefer the one consistent with the derived timezone.",{},async p=>E(await r.aboutMe(p)))),l&&(e.tool("linzumi_web_search","Search the public web for live or external information: news, current events, weather, prices, third-party API docs, research. Returns result titles, URLs, and snippets. Use this whenever the answer lives outside the Linzumi workspace; follow up with linzumi_fetch_url to read a result page.",{query:m.string().min(1).describe("Web search query (natural language or keywords)."),limit:m.number().int().min(1).max(10).optional().describe("Maximum results to return (default 8, server-capped).")},async p=>E(await r.webSearch(p))),e.tool("linzumi_fetch_url","Fetch one public http(s) URL and return its readable text content (HTML is reduced to plain text; large pages are truncated). Use it to read pages found via linzumi_web_search or any public docs/API reference. Only public addresses are reachable - private/internal hosts are rejected with url_not_allowed.",{url:m.string().min(1).describe("Absolute public http(s) URL to fetch.")},async p=>E(await r.fetchUrl(p)))),n==="all"&&(e.tool("linzumi_list_ui_targets","List every UI surface you can ask the user to open in their own Linzumi window (channels, DMs, threads, projects, coding jobs, computers, catch-up, activity, settings tabs, pane layouts) with the structured args each kind takes. Use UI control only when the user asks for help or asks to be shown something.",{},async()=>await K_(r.listUiTargets({}))),e.tool("linzumi_open_ui","Ask the user to open one whitelisted UI surface in their own already-open Linzumi window. A consent toast appears in THEIR session; navigation happens only if they tap Open. The call blocks until they decide and returns status opened/dismissed/expired - or error no_active_ui_session when they have no Linzumi window open (tell them to open Linzumi), or invalid_target with a detail. Use it only when the user asks for help or asks to be shown something; kinds and per-kind args come from linzumi_list_ui_targets.",{kind:m.string().min(1).describe("Target kind from linzumi_list_ui_targets (e.g. settings_workspace, channel, pane_layout)."),args:m.record(m.unknown()).optional().describe("Structured per-kind args from linzumi_list_ui_targets (never a URL - the server computes every path)."),workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope.")},async p=>await K_(r.openUi(zt(p,a))))),l&&(e.tool("linzumi_get_coding_job_metadata","Read the active coding job workflow metadata for a thread, including the agent-owned goal, ordered plan steps, step lock versions, and workflow status.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:m.string().uuid().optional().describe("Linzumi thread UUID. Defaults to the active coding job thread.")},async p=>E(await r.getCodingJobMetadata(zt(p,a)))),e.tool("linzumi_rename_coding_job","Update the current coding job thread title and workflow-facing title. Use this when the job scope changes materially so the Linzumi thread list and metadata overview stay accurate.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:m.string().uuid().optional().describe("Linzumi thread UUID. Defaults to the active coding job thread."),title:m.string().min(1).max(100).describe("Concise user-visible title for this coding job.")},async p=>E(await r.renameCodingJob(zt(p,a)))),e.tool("linzumi_upsert_coding_job_plan","Set or update the current coding job goal. Use this at job start and whenever the goal changes materially.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:m.string().uuid().optional().describe("Linzumi thread UUID. Defaults to the active coding job thread."),goal:m.string().min(1).max(1e4).describe("Concrete user-visible goal for this coding job.")},async p=>E(await r.upsertCodingJobPlan(zt(p,a)))),e.tool("linzumi_replace_coding_job_plan_steps","Replace the ordered coding job plan steps. Use this for the initial plan and for substantial rewrites when the old plan no longer fits the work.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:m.string().uuid().optional().describe("Linzumi thread UUID. Defaults to the active coding job thread."),goal:m.string().min(1).max(1e4).optional().describe("Required when no plan exists yet; updates the current coding job goal."),steps:m.array(m.object({title:m.string().min(1).max(255),description:m.string().min(1).max(1e4),status:m.enum(["pending","active","completed","blocked","canceled"]),status_note:m.string().min(1).max(4e3).optional(),completed_debrief:m.string().min(1).max(2e4).optional()})).min(1).max(50).describe("Ordered user-visible plan steps. Completed steps must include completed_debrief.")},async p=>E(await r.replaceCodingJobPlanSteps(zt(p,a)))),e.tool("linzumi_update_coding_job_plan_step","Update one coding job plan step status or note. Read metadata first and pass the current step lock_version.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:m.string().uuid().optional().describe("Linzumi thread UUID. Defaults to the active coding job thread."),step_id:m.string().uuid().describe("Step id returned by linzumi_get_coding_job_metadata."),lock_version:m.number().int().positive().describe("Current step lock_version from metadata."),status:m.enum(["pending","active","completed","blocked","canceled"]),status_note:m.string().min(1).max(4e3).optional(),completed_debrief:m.string().min(1).max(2e4).optional().describe("Required when marking a step completed.")},async p=>E(await r.updateCodingJobPlanStep(zt(p,a)))),e.tool("linzumi_link_coding_job_pull_request","Link the active coding job to its primary GitHub pull request so PR comments, files, commits, checks, deployments, and reviews can flow into the metadata view.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:m.string().uuid().optional().describe("Linzumi thread UUID. Defaults to the active coding job thread."),github_repo_owner:m.string().min(1).max(255),github_repo_name:m.string().min(1).max(255),github_pr_number:m.number().int().positive(),github_pr_url:m.string().url(),title:m.string().min(1).max(255),body:m.string().min(1).max(1e5).optional(),head_branch:m.string().min(1).max(255),head_sha:m.string().min(7).max(64),base_branch:m.string().min(1).max(255),base_sha:m.string().min(7).max(64),state:m.enum(["draft","open","closed","merged"]).optional(),is_draft:m.boolean().optional(),review_status:m.enum(["unknown","review_required","approved","changes_requested"]).optional(),source_remote_url:m.string().min(1).max(1e3).describe("Git remote URL for the local job worktree; required when this job has no repo workspace yet."),runtime_worktree_root:m.string().min(1).max(1e3).describe("Absolute local worktree path for the coding job; required when this job has no repo workspace yet."),dirty_status:m.enum(["unknown","clean","dirty"]).optional(),dirty_summary:m.string().min(1).max(2e3).optional()},async p=>E(await r.linkCodingJobPullRequest(zt(p,a)))),e.tool("linzumi_upload_files",["Upload local files to Linzumi and attach them to a new, exact, or latest assistant message. Use silently; do not mention this tool in the visible reply.","The JSON result includes message.attachments[].url as an absolute URL. Use those returned URLs when writing rich media directives such as ::audio, ::video, ::image, or Markdown images. Do not guess attachment URLs before upload.","For a message that should both attach files and show inline rich media, use a two-step flow: first upload/attach the files to create or target the message, then edit the same target message with body text that references the returned absolute URLs. When the result has target_seq, use target.kind=message_seq and message_seq=target_seq for that follow-up edit; result.message is the edit event that carries the new attachments, and target_message is the original target."].join(" "),{target:m.object({kind:m.enum(["new_message","message_seq","latest_assistant_message"]).describe("new_message creates a message; message_seq edits an exact message; latest_assistant_message edits the latest assistant message in the scoped thread/channel."),message_seq:m.union([m.string(),m.number()]).optional().describe("Required when kind is message_seq."),thread_id:m.string().optional().describe("Thread UUID. Defaults to the active Linzumi thread when the MCP server was launched with one.")}).describe("Attachment target. Do not guess; use new_message when there is no previous assistant message. To reference uploaded files in the message body, upload first, then edit message_seq/latest_assistant_message with the returned absolute attachment URLs. If the upload result includes target_seq, use message_seq=target_seq for that follow-up edit."),files:m.array(m.string().min(1)).min(1).max(16).describe("Local file paths to upload. Paths must be non-hidden supported file types inside the approved workspace or Downloads."),body:m.string().min(1).max(2e4).optional().describe("Required for new_message. Optional replacement body for message_seq/latest_assistant_message; when omitted, the existing message body is preserved. Rich media directives in body must use Linzumi attachment download URLs returned by this tool."),workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the target thread's channel (when the thread is known) or the authenticated token scope.")},async p=>{let h=H_(p.target,a);try{let f=await uE({client:r,cwd:s,kandanUrl:i,target:h,files:p.files,workspace:p.workspace,channel:p.channel,body:p.body});return E(W_(i,f))}catch(f){throw cE(f)}}),e.tool("linzumi_edit_message","Edit an exact scoped Linzumi message by message_seq. Use after linzumi_upload_files when you need a body-only follow-up edit that embeds returned attachment URLs. Requires channel.write, and thread.write when target.thread_id is set. Rich media src/poster values must be Linzumi attachment download URLs.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),target:m.object({message_seq:m.union([m.string(),m.number()]).describe("Exact message seq to edit. After linzumi_upload_files returns target_seq, pass that value here."),thread_id:m.string().optional().describe("Thread UUID when editing a thread message. Use the upload result target_message.thread_id when present.")}).describe("Exact message target for the body edit."),body:m.string().min(1).max(2e4).describe("Replacement Markdown body. Rich media src/poster values must be Linzumi attachment download URLs returned by linzumi_upload_files.")},async p=>E(W_(i,await r.editMessage({...p,target:H_(p.target,a)}))))),n==="all"&&(e.tool("linzumi_list_vault_secrets","List vault secret names, descriptions, and whether each secret is personal or workspace-owned. Does not return secret values.",{},async p=>E(await r.listVaultSecrets(p))),e.tool("linzumi_list_projects","List the projects in the current workspace with their project_id (needed by the other project task tools), slug, title, description, and state.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope.")},async p=>E(await r.listProjects(p))),e.tool("linzumi_get_project_tasks",`Read a project's full task graph: task GROUPS (kind "group", organizational containers, exactly one level deep) and ISSUES (kind "issue", the executable work items), each with status (todo/active/blocked/review/done/canceled), DERIVED work_state readiness (ready = todo with every dependency satisfied; blocked = todo with unsatisfied dependencies; running/stalled = active with/without a connected job), parent group, assignee, lock_version, and dependency edges (depends_on_task_ids / unblocks_task_ids). Always read this before reorganizing. Inside a project-bound coding job the project is inferred automatically; otherwise pass project_id from linzumi_list_projects.`,{project_id:m.string().optional().describe("Project id from linzumi_list_projects. Omit inside a coding job started from a project to use that project.")},async p=>E(await r.getProjectTasks(zt(p,a)))),e.tool("linzumi_create_project_task",'Create a task group (kind "group") or issue (kind "issue", the default) in a project. Groups organize issues and are exactly one level deep: a parent_id must name a GROUP, and groups themselves can never have a parent. New tasks default to status "todo" and append to the end unless position is given. Inside a project-bound coding job the project is inferred; otherwise pass project_id.',{project_id:m.string().optional().describe("Project id from linzumi_list_projects. Omit inside a coding job started from a project to use that project."),title:m.string().min(1).describe("Task title."),kind:m.enum(["issue","group"]).optional().describe('What to create: "issue" (executable work item, default) or "group" (organizational container).'),description:m.string().optional().describe("Detailed description of the work - written so an engineer (or coding agent) could execute the task from it."),status:m.enum(["todo","active","blocked","review","done","canceled"]).optional().describe('Initial status. Defaults to "todo".'),parent_id:m.string().optional().describe("task_id of the GROUP to place an issue in. Only issues can have a parent."),assignee:m.string().optional().describe("Username of a workspace member to assign."),position:m.number().int().min(0).optional().describe("Sort position. Defaults to appending at the end.")},async p=>E(await r.createProjectTask(zt(p,a)))),e.tool("linzumi_update_project_task",'Update a task group or issue: retitle, edit description/status_note, transition status (todo/active/blocked/review/done/canceled), reassign, reorder (position), or reorganize (parent_id moves an issue into a group; clear_parent moves it to top level). Only the fields you pass change; description and status_note accept null to clear. Prefer updating existing tasks over delete-and-recreate. Pass the lock_version from your last read to fail loudly ("stale") instead of overwriting a concurrent edit.',{task_id:m.string().describe("task_id of the group or issue to update."),title:m.string().min(1).optional().describe("New title."),description:m.string().nullable().optional().describe("New description. Pass null to clear it."),status:m.enum(["todo","active","blocked","review","done","canceled"]).optional().describe('New status. "done"/"canceled" satisfy dependent tasks; "blocked" is a manual hold.'),status_note:m.string().nullable().optional().describe("Short human-readable note about the current status. Pass null to clear it."),position:m.number().int().min(0).optional().describe("New sort position among siblings."),parent_id:m.string().optional().describe("task_id of the GROUP to move this issue into. Do not combine with clear_parent."),clear_parent:m.boolean().optional().describe("true moves the issue to the top level (no group). Do not combine with parent_id."),assignee:m.string().optional().describe("Username of a workspace member to assign. Do not combine with clear_assignee."),clear_assignee:m.boolean().optional().describe("true removes the assignee. Do not combine with assignee."),lock_version:m.number().int().positive().optional().describe("The task's lock_version from your last read, for compare-and-swap safety.")},async p=>E(await r.updateProjectTask(p))),e.tool("linzumi_delete_project_task",`Permanently delete a task group or issue. Dependency edges on the task are removed with it (dependents may become ready). Deletion is normally the USER's call - prefer status "canceled" or an update unless you are certain the entry is obsolete.`,{task_id:m.string().describe("task_id of the group or issue to delete.")},async p=>E(await r.deleteProjectTask(p))),e.tool("linzumi_add_project_task_dependency",'Add the dependency edge "task_id is blocked by depends_on_task_id" between two ISSUES in the same project (groups cannot have dependencies). The dependent stays blocked until the prerequisite reaches done or canceled. The graph must stay acyclic: an edge that would create a cycle is refused with reason "would_create_cycle" and the offending cycle_path so you can restructure. Duplicate and self edges are rejected.',{task_id:m.string().describe("task_id of the DEPENDENT issue (the one that must wait)."),depends_on_task_id:m.string().describe("task_id of the PREREQUISITE issue (the one that must finish first).")},async p=>E(await r.addProjectTaskDependency(p))),e.tool("linzumi_remove_project_task_dependency",'Remove the dependency edge "task_id is blocked by depends_on_task_id". The dependent issue may become ready if that was its last unsatisfied dependency.',{task_id:m.string().describe("task_id of the DEPENDENT issue."),depends_on_task_id:m.string().describe("task_id of the PREREQUISITE issue the edge points at.")},async p=>E(await r.removeProjectTaskDependency(p))),e.tool("linzumi_get_call_transcript","Read the full transcript of a completed Linzumi notetaker call: call metadata (title, platform, started/ended/transcribed times), participants, and every spoken segment in order with speaker names and millisecond offsets. Pass the call_id embedded in the request (or copied from the call card). Errors: call_not_found (missing or not visible to you), call_transcript_not_ready (call still connecting, in progress, or transcribing - retry later).",{call_id:m.string().describe("The call id from the call card or the launching message (a CallRecording id - the opaque GraphQL id and the bare uuid both work).")},async p=>E(await r.getCallTranscript(p))),u||e.tool("linzumi_start_coding_job","Start a coding job as the invoking user (same authorization and pipeline as clicking start). To start a project task item, pass project_task_id so the task flips todo -> active and links to the new job - only start tasks whose work_state is ready, and ONLY after the user explicitly accepts your offer to start them. Omit channel, runner_key, and cwd to reuse this job's own channel, computer, and folder. Returns status 'unavailable' with a reason when the runner cannot take the job (relay that honestly).",{work_description:m.string().min(1).describe("What the job should do - the initial instruction. For a task item, write it from the task title and description."),project_task_id:m.string().optional().describe("Project task item to bind the job to (task_id from linzumi_get_project_tasks). The task flips todo -> active and links to the new job."),channel:m.string().optional().describe("Channel slug to host the job thread. Omit to use this job's own channel."),runner_key:m.string().optional().describe("Runner (computer) to run the job on. Omit to use this job's own computer."),cwd:m.string().optional().describe("Working directory on the runner. Omit to use this job's own folder."),model:m.string().optional().describe("Model override (optional)."),model_provider:m.string().optional().describe("Model provider override, e.g. 'wafer' (optional)."),execution_mode:m.enum(["raw","local_vm"]).optional().describe("Execution placement override (optional).")},async p=>E(await r.agentStartCodingJob(zt(p,a))))),eE(n)&&(e.tool("linzumi_upload_custom_emoji","Upload a local image as a workspace custom emoji. For generated emoji art, create a transparent PNG with a simple centered subject, crisp edges, strong contrast, minimal tiny details, and enough outline/highlight separation to read at 16-24px on both dark and light backgrounds. Use lowercase shortcode names without colons unless preserving a user-provided :name:.",{name:V_.describe("Custom emoji shortcode name, with or without surrounding colons."),file:m.string().min(1).describe("Local PNG/WebP/GIF/JPEG file path to upload. Prefer transparent PNG for generated emoji."),workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope.")},async p=>E(await dE({client:r,cwd:s,kandanUrl:i,name:p.name,file:p.file,workspace:p.workspace}))),e.tool("linzumi_rename_custom_emoji","Rename an existing workspace custom emoji. The new name may include surrounding colons; Linzumi stores the normalized shortcode without colons.",{emoji_id:m.union([m.string(),m.number().int().positive()]).describe("Workspace custom emoji id returned by linzumi_upload_custom_emoji or workspace emoji listings."),name:V_.describe("New shortcode name, with or without surrounding colons."),workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope.")},async p=>E(await r.renameCustomEmoji(p)))),e.tool("linzumi_media_guide","Return the full Linzumi rich-media authoring guide (audio/video/image directives, URL rules, upload-then-embed flow, examples). Call once BEFORE writing any ::audio/::video/::image directive or Markdown image into a Linzumi message.",{},async()=>({content:[{type:"text",text:J_}]})),e.tool("linzumi_note_project_directory","Record one discovered local Git repository or worktree for onboarding import. Call once per project as soon as it is found.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),runner_id:m.string().min(1).describe("Local runner/computer id provided in the discovery prompt."),path:m.string().min(1).describe("Absolute local path to the repository worktree root."),display_name:m.string().optional().describe("Short project label. Defaults to the path basename."),activity_at:m.string().optional().describe("Best-known recent activity time as an ISO-8601 timestamp."),import_key:m.string().optional().describe("Stable dedupe key. Defaults to path."),metadata:m.record(m.unknown()).optional().describe("Small structured metadata such as branch or remote origin.")},async p=>E(await r.noteProjectDirectory(p))),e.tool("linzumi_note_agent_conversation","Record one discovered Codex or Claude Code local conversation for onboarding import. Call once per conversation as soon as it is found.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),runner_id:m.string().min(1).describe("Local runner/computer id provided in the discovery prompt."),source:m.enum(["codex","claude_code"]).describe("Conversation source."),import_key:m.string().min(1).describe("Stable dedupe key, such as a session id or file path."),path:m.string().optional().describe("Absolute local path to the conversation file or directory."),display_name:m.string().optional().describe("Short label for the discovered conversation."),activity_at:m.string().optional().describe("Best-known recent activity time as an ISO-8601 timestamp."),metadata:m.record(m.unknown()).optional().describe("Small structured metadata such as session id or project path.")},async p=>E(await r.noteAgentConversation(p))),e.tool("linzumi_note_onboarding_discovery_status","Record onboarding discovery progress. Call when a search phase starts, checks another place, completes, or fails.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),runner_id:m.string().min(1).describe("Local runner/computer id provided in the discovery prompt."),phase:m.enum(["projects","conversations"]).describe("Discovery phase being reported."),status:m.enum(["starting","running","completed","failed"]).describe("Current phase status."),places_searched:m.number().int().nonnegative().optional().describe("Count of concrete folders/files/known locations checked so far."),message:m.string().optional().describe("Short user-facing status note."),current_place:m.string().optional().describe("Current folder, file, Git command target, or known location being checked."),current_source:m.string().optional().describe("Short machine-readable source label such as git, codex, or claude_code."),last_error:m.string().optional().describe("Short failure detail when status is failed."),metadata:m.record(m.unknown()).optional().describe("Small structured status metadata.")},async p=>E(await r.noteOnboardingDiscoveryStatus(p))),n==="all"&&tE(o)&&(e.tool("linzumi_dm_owner","Send a plain-text DM to the configured Commander owner. Requires dm.write and a visible owner username.",{owner_username:m.string().optional().describe("Owner username. Defaults to LINZUMI_MCP_OWNER_USERNAME or --owner-username."),workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Source channel slug used to verify owner visibility."),body:m.string().min(1).max(2e4).describe("Plain-text message body to DM.")},async p=>{let h=p.owner_username??c;if(h===void 0)throw new Error("owner_username is required for linzumi_dm_owner");return E(await r.dmOwner({...p,owner_username:h}))}),e.tool("linzumi_send_channel_message","Post a NEW standalone Markdown message into the scoped Linzumi channel as the authenticated local-runner user. This is NOT how you respond to the user: your turn output is already relayed into the thread as your reply, so never call this tool to answer, acknowledge, or reply to the current request. Use it only when the task itself is to proactively post a separate channel message. Requires channel.write. Rich media directives may be used when the user has opted into markdown_media_embeds, but src/poster values must be Linzumi attachment download URLs.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),body:m.string().min(1).max(2e4).describe("Markdown message body to post. Rich media src/poster values must be Linzumi attachment download URLs, not third-party URLs, /relative paths, or local filesystem paths.")},async p=>E(await r.sendChannelMessage(p))),e.tool("linzumi_send_thread_reply","Post a Markdown reply into some OTHER existing Linzumi thread as the authenticated local-runner user. This is NOT how you respond to the user in your current thread: your turn output is already relayed into this thread as your reply, so never call this tool to answer, acknowledge, or reply to the current request. Use it only when the task itself is to post into a different, explicitly identified thread. Requires thread.write. Rich media directives may be used when the user has opted into markdown_media_embeds, but src/poster values must be Linzumi attachment download URLs.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:m.string().uuid().describe("Existing Linzumi thread UUID."),body:m.string().min(1).max(2e4).describe("Markdown reply body to post. Rich media src/poster values must be Linzumi attachment download URLs, not third-party URLs, /relative paths, or local filesystem paths.")},async p=>E(await r.sendThreadReply(p))),e.tool("linzumi_send_dm","Send a plain-text DM as the authenticated local-runner user to a visible user in the scoped workspace/channel. Requires dm.write.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Source channel slug used to verify target visibility."),username:m.string().describe("Visible Linzumi username to DM."),body:m.string().min(1).max(2e4).describe("Plain-text message body to DM.")},async p=>E(await r.sendDm(p)))),n==="all"&&e.tool("linzumi_get_vault_values","Request values for explicit vault env var names after a thread-scoped human approval. Requires vault.read; thread_id resolves the approval thread.",{workspace:m.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:m.string().optional().describe("Channel slug used to disambiguate the approval thread when needed."),thread_id:m.string().uuid().describe("Existing Linzumi thread UUID for the inline approval."),env_var_names:m.array(m.string().regex(/^[A-Z][A-Z0-9_]{0,127}$/)).min(1).max(20).describe("Explicit vault env var names to request. This tool cannot list all vault keys."),description:m.string().min(1).max(500).describe("Human-readable reason shown in the approval request."),justification:m.string().min(10).max(1e3).describe("Agent justification shown to the approver.")},async p=>E(await r.getVaultValues(p))),n==="all"&&!u&&d!==void 0&&aE(e,s,d)}function B_(e){return{name:e.record.name,command:e.record.command,cwd:e.record.cwd,ports:[...e.record.ports],restart_on_branch_change:e.record.restartOnBranchChange,desired_state:e.record.desiredState,liveness:e.liveness,port_health:e.portProbes.map(t=>({port:t.port,listening:t.listening})),started_at_ms:e.record.startedAtMs??null,last_exit:e.lastExit===void 0?null:{code:e.lastExit.code,signal:e.lastExit.signal,at_ms:e.lastExit.atMs},log_path:e.record.logPath}}function aE(e,t,r){e.tool("linzumi_dev_service_start","Start a long-running local dev server (npm run dev, storybook, docker compose up, ...) as a MANAGED SERVICE owned by the Linzumi runner. Use this instead of running dev servers in your own shell: a managed service survives the end of your turn and branch switches, is auto-restarted if it crashes, and its declared ports are health-probed and surfaced in the product. Calling start for an existing name declaratively RESTARTS it (e.g. after a checkout). Declare EVERY port the app serves from (primary plus HMR/asset/bundle sibling ports).",{name:m.string().regex(/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/).describe("Stable service name (slug), e.g. 'web' or 'storybook'. Reusing a name restarts that service."),command:m.string().min(1).describe("Shell command that runs the server in the foreground (never daemonize/screen/nohup it yourself), e.g. 'npm run dev'. Runs via the user's login shell."),cwd:m.string().optional().describe("Working directory for the service. Defaults to the session cwd."),ports:m.array(m.number().int().min(1).max(65535)).max(16).default([]).describe("Every TCP port this service listens on (primary AND related ports such as the Vite/HMR bundle port). Used for health probes and product visibility."),restart_on_branch_change:m.boolean().optional().describe("Restart the service automatically when the git branch of its cwd changes (for servers that go stale across checkouts)."),wait_for_ports_ms:m.number().int().min(0).max(6e4).optional().describe("How long to wait for the declared ports to accept connections before returning (default 15000).")},async n=>{let o=await M_({scopeDir:r.scopeDir,definition:{name:n.name,command:n.command,cwd:n.cwd??t,ports:n.ports,restartOnBranchChange:n.restart_on_branch_change===!0},ownerPid:r.ownerPid});if(!o.ok)return E({ok:!1,error:o.error});let s=Date.now()+(n.wait_for_ports_ms??15e3),i=o.record.ports.length===0;for(;!i&&Date.now()<s;)i=(await Promise.all(o.record.ports.map(d=>El(d)))).every(d=>d),i||await new Promise(d=>setTimeout(d,250));let c=(await Il(r.scopeDir)).find(u=>u.record.name===o.record.name);return E({ok:!0,service:c===void 0?{name:o.record.name}:B_(c),...c!==void 0&&c.liveness!=="running"?{hint:"The service is not (fully) serving its declared ports yet. Check linzumi_dev_service_logs before assuming it works."}:{}})}),e.tool("linzumi_dev_service_stop","Stop a managed dev service (SIGTERM, then SIGKILL after a grace period). The registration is kept so linzumi_dev_service_start can bring it back.",{name:m.string().min(1).describe("Service name to stop.")},async n=>{let o=await Ol({scopeDir:r.scopeDir,name:n.name});return E(o.ok?{ok:!0,name:o.record.name,desired_state:"stopped"}:{ok:!1,error:o.error})}),e.tool("linzumi_dev_service_status","List every managed dev service with liveness (running / unhealthy / exited / stopped), per-port health probes, and last exit. Live state - always check this before concluding a dev server is up or down.",{},async()=>{let n=await Il(r.scopeDir);return E({services:n.map(o=>B_(o))})}),e.tool("linzumi_dev_service_logs","Read the tail of a managed dev service's combined stdout/stderr log.",{name:m.string().min(1).describe("Service name."),max_bytes:m.number().int().min(256).max(65536).optional().describe("Tail size in bytes (default 16384).")},async n=>{let o=D_(r.scopeDir,n.name,n.max_bytes??16384);return E(o===void 0?{ok:!1,error:`no log for service: ${n.name}`}:{ok:!0,name:n.name,log_tail:o})}),e.tool("linzumi_dev_service_remove","Stop a managed dev service AND delete its registration (it will not be resurrected on runner restart). Use stop instead when the user may want it back.",{name:m.string().min(1).describe("Service name to remove.")},async n=>{let o=await L_({scopeDir:r.scopeDir,name:n.name});return E(o.ok?{ok:!0,name:o.record.name,removed:!0}:{ok:!1,error:o.error})})}function cE(e){return!(e instanceof Error)||!e.message.includes("channel_required")?e:new Error(`${e.message}. Remediation: pass the channel slug in the \`channel\` parameter, or set target.thread_id to a Linzumi thread you can access (the server resolves the thread's channel). The files were NOT attached; retry with a channel or thread instead of leaving them on disk.`,{cause:e})}async function uE(e){let t=await Promise.all(e.files.map(i=>kl(e.cwd,i))),r=we(e.target.thread_id),n=await e.client.prepareMessageUploads({...e.workspace===void 0?{}:{workspace:e.workspace},...e.channel===void 0?{}:{channel:e.channel},...r===void 0?{}:{thread_id:r},files:t.map(i=>({file_name:i.fileName,content_type:i.contentType,size_bytes:i.sizeBytes}))}),o=$i(n.uploads)??[];if(o.length!==t.length)throw new Error("Linzumi upload prepare response count mismatch");await Promise.all(t.map(async(i,a)=>{let c=$t(o[a]),u=we(c?.upload_url),d=we(c?.upload_method)??"PUT";if(u===void 0)throw new Error("Linzumi upload prepare response missing upload_url");let l=await X_(i.path),p=l.buffer.slice(l.byteOffset,l.byteOffset+l.byteLength),h=await fetch(Ao(e.kandanUrl,u),{method:d,headers:{"content-type":i.contentType},body:p});if(!h.ok)throw new Error(`Linzumi upload failed for ${i.fileName}: ${h.status} ${h.statusText}`)}));let s=o.map(i=>{let a=we($t(i)?.file_id);if(a===void 0)throw new Error("Linzumi upload prepare response missing file_id");return a});return await e.client.attachMessageFiles({...e.workspace===void 0?{}:{workspace:e.workspace},...e.channel===void 0?{}:{channel:e.channel},...r===void 0?{}:{thread_id:r},target:e.target,...e.body===void 0?{}:{body:e.body},uploaded_file_ids:s})}async function dE(e){let t=await kl(e.cwd,e.file),r=await e.client.prepareCustomEmoji({...e.workspace===void 0?{}:{workspace:e.workspace},name:e.name,file_name:t.fileName,content_type:t.contentType,size_bytes:t.sizeBytes}),n=$t(r.upload),o=we(n?.upload_url),s=we(n?.upload_method)??"PUT";if(o===void 0)throw new Error("Linzumi custom emoji prepare response missing upload_url");let i=await X_(t.path),a=i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength),c=await fetch(Ao(e.kandanUrl,o),{method:s,headers:{"content-type":t.contentType},body:a});if(!c.ok){let l=`${c.status} ${c.statusText}`,h=(await c.text()).trim(),f=h===""?l:(()=>{try{let g=JSON.parse(h);return ft(g)&&typeof g.error=="string"?g.error:h}catch{return h}})();throw new Error(`Linzumi custom emoji upload failed: ${f}`)}let u=await c.json();if(!ft(u))throw new Error("Linzumi custom emoji upload returned non-object JSON");let d=$t(u.custom_emoji);if(d===void 0)throw new Error("Linzumi custom emoji upload response missing custom_emoji");return{ok:!0,workspace:r.workspace,emoji:d,asset_id:we(u.asset_id),id:k_(d?.id),name:we(d?.name),shortcode:we(d?.shortcode),image_url:we(d?.image_url)}}function H_(e,t){if(we(e.thread_id)!==void 0||t===void 0)return e;switch(e.message_seq===void 0){case!1:return{...e,thread_id:t};case!0:switch(we(e.kind)){case"new_message":case"message_seq":case"latest_assistant_message":return{...e,thread_id:t};default:return e}}}function zt(e,t){return we(e.thread_id)!==void 0||t===void 0?e:{...e,thread_id:t}}function Ao(e,t){try{return new URL(t).toString()}catch{let n=e.replace(/^wss:\/\//,"https://").replace(/^ws:\/\//,"http://");return new URL(t,n).toString()}}function W_(e,t){let r=$t(t.message),n=$t(t.target_message);return r===void 0&&n===void 0?t:{...t,...r===void 0?{}:{message:G_(e,r)},...n===void 0?{}:{target_message:G_(e,n)}}}function G_(e,t){let r=$i(t.attachments);return r===void 0?t:{...t,attachments:r.map(n=>lE(e,n))}}function lE(e,t){let r=$t(t);if(r===void 0)return t;let n=we(r.url),o=$t(r.image_variants);return{...r,...n===void 0?{}:{url:Ao(e,n)},...o===void 0?{}:{image_variants:pE(e,o)}}}function pE(e,t){let r=we(t.inline_url),n=we(t.carousel_url);return{...t,...r===void 0?{}:{inline_url:Ao(e,r)},...n===void 0?{}:{carousel_url:Ao(e,n)}}}function mE(e){e.server.registerCapabilities({resources:{listChanged:!1}}),e.server.setRequestHandler(tn,()=>({resources:[]})),e.server.setRequestHandler(rn,()=>({resourceTemplates:[]}))}async function fE(e){let t=Cl(e),r=Ml(t,"api-url"),n=re(t,"format")??"codex",o=Al(re(t,"mode")),s=t.get("include-token")===!0?(await jl({kandanUrl:r,explicitToken:re(t,"token")??process.env.LINZUMI_MCP_ACCESS_TOKEN,authFilePath:re(t,"auth-file"),delegationAuthFilePath:re(t,"delegation-auth-file"),workspaceSlug:re(t,"workspace"),channelSlug:re(t,"channel")})).accessToken:void 0,i=Z_({command:re(t,"command"),kandanUrl:r,accessToken:s,delegationAuthFilePath:re(t,"delegation-auth-file"),ownerUsername:re(t,"owner-username")??process.env.LINZUMI_MCP_OWNER_USERNAME,operatingMode:o,toolScope:ev(re(t,"tool-scope"))});switch(n){case"codex":process.stdout.write(q_(i));return;case"claude-code":process.stdout.write(U_(i));return;default:throw new Error("--format must be codex or claude-code")}}async function hE(e){let t=Cl(e),r=Ml(t,"api-url"),n=await jl({kandanUrl:r,explicitToken:re(t,"token")??process.env.LINZUMI_MCP_ACCESS_TOKEN,authFilePath:re(t,"auth-file"),delegationAuthFilePath:re(t,"delegation-auth-file"),workspaceSlug:re(t,"workspace"),channelSlug:re(t,"channel")});switch(n.mode){case"local-runner":{if(!await Fy({kandanUrl:r,accessToken:n.accessToken,workspaceSlug:re(t,"workspace"),channelSlug:re(t,"channel")}))throw new Error("Linzumi MCP auth validation failed");break}case"personal-agent-delegation":{await xl({kandanUrl:r,accessToken:n.accessToken,authMode:n.mode,operatingMode:Al(re(t,"mode"))}).validateAuth();break}}process.stdout.write(`Linzumi MCP auth OK
|
|
423
|
+
`)}async function jl(e){if(e.delegationAuthFilePath!==void 0){if(e.explicitToken!==void 0||e.authFilePath!==void 0)throw new Error("--delegation-auth-file cannot be combined with --token or --auth-file");return{accessToken:Gy(e.delegationAuthFilePath).accessToken,mode:"personal-agent-delegation"}}return{accessToken:await gE({kandanUrl:e.kandanUrl,explicitToken:e.explicitToken,authFilePath:e.authFilePath,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug}),mode:"local-runner"}}async function gE(e,t={readCachedToken:Si,validateTokenOutcome:Eo,resolveToken:w_}){let r=e.explicitToken??t.readCachedToken(e.kandanUrl,e.authFilePath)?.accessToken;if(r===void 0)throw new Error("missing Linzumi MCP token; run linzumi auth or pass --token");let n=await t.validateTokenOutcome({kandanUrl:e.kandanUrl,accessToken:r,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug});if(n==="usable")return r;let o=n;try{return await t.resolveToken({kandanUrl:e.kandanUrl,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,authFilePath:e.authFilePath})}catch(s){throw new Error(`Linzumi MCP token was rejected by the server and re-mint failed: ${s instanceof Error?s.message:String(s)}`)}}function E(e){return{content:[{type:"text",text:JSON.stringify(e,null,2)}],structuredContent:e}}async function K_(e){try{return E(await e)}catch(t){let r=t instanceof Error?t.message:String(t),n=r.match(/failed: ([a-z0-9_]+)(?: detail=(.+))?$/);if(n===null)return E({error:r});let[,o,s]=n;return E(s===void 0?{error:o??r}:{error:o??r,detail:s})}}function Cl(e){let t=new Map;for(let r=0;r<e.length;r+=1){let n=e[r];if(n===void 0)continue;if(!n.startsWith("--"))throw new Error(`unexpected argument ${n}`);let o=n.slice(2),s=nE.get(o);if(s===void 0)throw new Error(`unsupported option --${o}`);if(s.kind==="boolean"){t.set(o,!0);continue}let i=e[r+1];if(i===void 0||i.startsWith("--"))throw new Error(`--${o} requires a value`);t.set(o,i),r+=1}return t}function re(e,t){let r=e.get(t);return typeof r=="string"&&r.trim()!==""?r:void 0}function Al(e){switch(e){case void 0:return"text";case"voice":case"text":return e;default:throw new Error("--mode must be voice or text")}}function ev(e){switch(e){case void 0:return"all";case"all":case"coding":case"onboarding-discovery":return e;default:throw new Error("--tool-scope must be all, coding, or onboarding-discovery")}}function Ml(e,t){let r=re(e,t);if(r===void 0)throw new Error(`--${t} is required`);return r}function _E(e){return e[0]==="mcp"?e.slice(1):e}async function vE(e){try{await Y_(_E(e))}catch(t){process.stderr.write(`linzumi mcp server failed: ${t instanceof Error?t.message:String(t)}
|
|
424
|
+
`),process.exitCode=1}}var bE=process.argv[1]!==void 0&&import.meta.url===yE(process.argv[1]).href;bE&&vE(process.argv.slice(2));export{_E as mcpServerEntryArgs,vE as runMcpServerEntry};
|