@linzumi/cli 1.0.192 → 1.0.193

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.
@@ -1,15 +1,15 @@
1
1
  import { createRequire as __linzumiBundleCreateRequire } from 'node:module';
2
2
  const require = __linzumiBundleCreateRequire(import.meta.url);
3
- var bb=Object.create;var Ai=Object.defineProperty;var vb=Object.getOwnPropertyDescriptor;var wb=Object.getOwnPropertyNames;var kb=Object.getPrototypeOf,xb=Object.prototype.hasOwnProperty;var z=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Mi=(e,t)=>{for(var n in t)Ai(e,n,{get:t[n],enumerable:!0})},Sb=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of wb(t))!xb.call(e,o)&&o!==n&&Ai(e,o,{get:()=>t[o],enumerable:!(r=vb(t,o))||r.enumerable});return e};var Vl=(e,t,n)=>(n=e!=null?bb(kb(e)):{},Sb(t||!e||!e.__esModule?Ai(n,"default",{value:e,enumerable:!0}):n,e));var no=z(X=>{"use strict";Object.defineProperty(X,"__esModule",{value:!0});X.regexpCode=X.getEsmExportName=X.getProperty=X.safeStringify=X.stringify=X.strConcat=X.addCodeArg=X.str=X._=X.nil=X._Code=X.Name=X.IDENTIFIER=X._CodeOrName=void 0;var eo=class{};X._CodeOrName=eo;X.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Rn=class extends eo{constructor(t){if(super(),!X.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}}};X.Name=Rn;var nt=class extends eo{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((n,r)=>`${n}${r}`,"")}get names(){var t;return(t=this._names)!==null&&t!==void 0?t:this._names=this._items.reduce((n,r)=>(r instanceof Rn&&(n[r.str]=(n[r.str]||0)+1),n),{})}};X._Code=nt;X.nil=new nt("");function qf(e,...t){let n=[e[0]],r=0;for(;r<t.length;)_u(n,t[r]),n.push(e[++r]);return new nt(n)}X._=qf;var yu=new nt("+");function Jf(e,...t){let n=[to(e[0])],r=0;for(;r<t.length;)n.push(yu),_u(n,t[r]),n.push(yu,to(e[++r]));return k0(n),new nt(n)}X.str=Jf;function _u(e,t){t instanceof nt?e.push(...t._items):t instanceof Rn?e.push(t):e.push($0(t))}X.addCodeArg=_u;function k0(e){let t=1;for(;t<e.length-1;){if(e[t]===yu){let n=x0(e[t-1],e[t+1]);if(n!==void 0){e.splice(t-1,3,n);continue}e[t++]="+"}t++}}function x0(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof Rn||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 Rn))return`"${e}${t.slice(1)}`}function S0(e,t){return t.emptyStr()?e:e.emptyStr()?t:Jf`${e}${t}`}X.strConcat=S0;function $0(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:to(Array.isArray(e)?e.join(","):e)}function z0(e){return new nt(to(e))}X.stringify=z0;function to(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}X.safeStringify=to;function P0(e){return typeof e=="string"&&X.IDENTIFIER.test(e)?new nt(`.${e}`):qf`[${e}]`}X.getProperty=P0;function T0(e){if(typeof e=="string"&&X.IDENTIFIER.test(e))return new nt(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}X.getEsmExportName=T0;function R0(e){return new nt(e.toString())}X.regexpCode=R0});var wu=z(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.ValueScope=Je.ValueScopeName=Je.Scope=Je.varKinds=Je.UsedValueState=void 0;var qe=no(),bu=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value}},Zs;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"})(Zs||(Je.UsedValueState=Zs={}));Je.varKinds={const:new qe.Name("const"),let:new qe.Name("let"),var:new qe.Name("var")};var Us=class{constructor({prefixes:t,parent:n}={}){this._names={},this._prefixes=t,this._parent=n}toName(t){return t instanceof qe.Name?t:this.name(t)}name(t){return new qe.Name(this._newName(t))}_newName(t){let n=this._names[t]||this._nameGroup(t);return`${t}${n.index++}`}_nameGroup(t){var n,r;if(!((r=(n=this._parent)===null||n===void 0?void 0:n._prefixes)===null||r===void 0)&&r.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}}};Je.Scope=Us;var qs=class extends qe.Name{constructor(t,n){super(n),this.prefix=t}setValue(t,{property:n,itemIndex:r}){this.value=t,this.scopePath=(0,qe._)`.${new qe.Name(n)}[${r}]`}};Je.ValueScopeName=qs;var j0=(0,qe._)`\n`,vu=class extends Us{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?j0:qe.nil}}get(){return this._scope}name(t){return new qs(t,this._newName(t))}value(t,n){var r;if(n.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let o=this.toName(t),{prefix:s}=o,i=(r=n.key)!==null&&r!==void 0?r:n.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]=n.ref,o.setValue(n,{property:s,itemIndex:u}),o}getValue(t,n){let r=this._values[t];if(r)return r.get(n)}scopeRefs(t,n=this._values){return this._reduceValues(n,r=>{if(r.scopePath===void 0)throw new Error(`CodeGen: name "${r}" has no value`);return(0,qe._)`${t}${r.scopePath}`})}scopeCode(t=this._values,n,r){return this._reduceValues(t,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},n,r)}_reduceValues(t,n,r={},o){let s=qe.nil;for(let i in t){let a=t[i];if(!a)continue;let c=r[i]=r[i]||new Map;a.forEach(u=>{if(c.has(u))return;c.set(u,Zs.Started);let d=n(u);if(d){let l=this.opts.es5?Je.varKinds.var:Je.varKinds.const;s=(0,qe._)`${s}${l} ${u} = ${d};${this.opts._n}`}else if(d=o?.(u))s=(0,qe._)`${s}${d}${this.opts._n}`;else throw new bu(u);c.set(u,Zs.Completed)})}return s}};Je.ValueScope=vu});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 Q=no(),dt=wu(),Kt=no();Object.defineProperty(V,"_",{enumerable:!0,get:function(){return Kt._}});Object.defineProperty(V,"str",{enumerable:!0,get:function(){return Kt.str}});Object.defineProperty(V,"strConcat",{enumerable:!0,get:function(){return Kt.strConcat}});Object.defineProperty(V,"nil",{enumerable:!0,get:function(){return Kt.nil}});Object.defineProperty(V,"getProperty",{enumerable:!0,get:function(){return Kt.getProperty}});Object.defineProperty(V,"stringify",{enumerable:!0,get:function(){return Kt.stringify}});Object.defineProperty(V,"regexpCode",{enumerable:!0,get:function(){return Kt.regexpCode}});Object.defineProperty(V,"Name",{enumerable:!0,get:function(){return Kt.Name}});var Bs=wu();Object.defineProperty(V,"Scope",{enumerable:!0,get:function(){return Bs.Scope}});Object.defineProperty(V,"ValueScope",{enumerable:!0,get:function(){return Bs.ValueScope}});Object.defineProperty(V,"ValueScopeName",{enumerable:!0,get:function(){return Bs.ValueScopeName}});Object.defineProperty(V,"varKinds",{enumerable:!0,get:function(){return Bs.varKinds}});V.operators={GT:new Q._Code(">"),GTE:new Q._Code(">="),LT:new Q._Code("<"),LTE:new Q._Code("<="),EQ:new Q._Code("==="),NEQ:new Q._Code("!=="),NOT:new Q._Code("!"),OR:new Q._Code("||"),AND:new Q._Code("&&"),ADD:new Q._Code("+")};var Et=class{optimizeNodes(){return this}optimizeNames(t,n){return this}},ku=class extends Et{constructor(t,n,r){super(),this.varKind=t,this.name=n,this.rhs=r}render({es5:t,_n:n}){let r=t?dt.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${r} ${this.name}${o};`+n}optimizeNames(t,n){if(t[this.name.str])return this.rhs&&(this.rhs=ur(this.rhs,t,n)),this}get names(){return this.rhs instanceof Q._CodeOrName?this.rhs.names:{}}},Js=class extends Et{constructor(t,n,r){super(),this.lhs=t,this.rhs=n,this.sideEffects=r}render({_n:t}){return`${this.lhs} = ${this.rhs};`+t}optimizeNames(t,n){if(!(this.lhs instanceof Q.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=ur(this.rhs,t,n),this}get names(){let t=this.lhs instanceof Q.Name?{}:{...this.lhs.names};return Vs(t,this.rhs)}},xu=class extends Js{constructor(t,n,r,o){super(t,r,o),this.op=n}render({_n:t}){return`${this.lhs} ${this.op}= ${this.rhs};`+t}},Su=class extends Et{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`${this.label}:`+t}},$u=class extends Et{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`break${this.label?` ${this.label}`:""};`+t}},zu=class extends Et{constructor(t){super(),this.error=t}render({_n:t}){return`throw ${this.error};`+t}get names(){return this.error.names}},Pu=class extends Et{constructor(t){super(),this.code=t}render({_n:t}){return`${this.code};`+t}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(t,n){return this.code=ur(this.code,t,n),this}get names(){return this.code instanceof Q._CodeOrName?this.code.names:{}}},ro=class extends Et{constructor(t=[]){super(),this.nodes=t}render(t){return this.nodes.reduce((n,r)=>n+r.render(t),"")}optimizeNodes(){let{nodes:t}=this,n=t.length;for(;n--;){let r=t[n].optimizeNodes();Array.isArray(r)?t.splice(n,1,...r):r?t[n]=r:t.splice(n,1)}return t.length>0?this:void 0}optimizeNames(t,n){let{nodes:r}=this,o=r.length;for(;o--;){let s=r[o];s.optimizeNames(t,n)||(O0(t,s.names),r.splice(o,1))}return r.length>0?this:void 0}get names(){return this.nodes.reduce((t,n)=>In(t,n.names),{})}},Ct=class extends ro{render(t){return"{"+t._n+super.render(t)+"}"+t._n}},Tu=class extends ro{},cr=class extends Ct{};cr.kind="else";var jn=class e extends Ct{constructor(t,n){super(n),this.condition=t}render(t){let n=`if(${this.condition})`+super.render(t);return this.else&&(n+="else "+this.else.render(t)),n}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let n=this.else;if(n){let r=n.optimizeNodes();n=this.else=Array.isArray(r)?new cr(r):r}if(n)return t===!1?n instanceof e?n:n.nodes:this.nodes.length?this:new e(Ff(t),n instanceof e?[n]:n.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,n){var r;if(this.else=(r=this.else)===null||r===void 0?void 0:r.optimizeNames(t,n),!!(super.optimizeNames(t,n)||this.else))return this.condition=ur(this.condition,t,n),this}get names(){let t=super.names;return Vs(t,this.condition),this.else&&In(t,this.else.names),t}};jn.kind="if";var On=class extends Ct{};On.kind="for";var Ru=class extends On{constructor(t){super(),this.iteration=t}render(t){return`for(${this.iteration})`+super.render(t)}optimizeNames(t,n){if(super.optimizeNames(t,n))return this.iteration=ur(this.iteration,t,n),this}get names(){return In(super.names,this.iteration.names)}},ju=class extends On{constructor(t,n,r,o){super(),this.varKind=t,this.name=n,this.from=r,this.to=o}render(t){let n=t.es5?dt.varKinds.var:this.varKind,{name:r,from:o,to:s}=this;return`for(${n} ${r}=${o}; ${r}<${s}; ${r}++)`+super.render(t)}get names(){let t=Vs(super.names,this.from);return Vs(t,this.to)}},Fs=class extends On{constructor(t,n,r,o){super(),this.loop=t,this.varKind=n,this.name=r,this.iterable=o}render(t){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(t)}optimizeNames(t,n){if(super.optimizeNames(t,n))return this.iterable=ur(this.iterable,t,n),this}get names(){return In(super.names,this.iterable.names)}},oo=class extends Ct{constructor(t,n,r){super(),this.name=t,this.args=n,this.async=r}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}};oo.kind="func";var so=class extends ro{render(t){return"return "+super.render(t)}};so.kind="return";var Ou=class extends Ct{render(t){let n="try"+super.render(t);return this.catch&&(n+=this.catch.render(t)),this.finally&&(n+=this.finally.render(t)),n}optimizeNodes(){var t,n;return super.optimizeNodes(),(t=this.catch)===null||t===void 0||t.optimizeNodes(),(n=this.finally)===null||n===void 0||n.optimizeNodes(),this}optimizeNames(t,n){var r,o;return super.optimizeNames(t,n),(r=this.catch)===null||r===void 0||r.optimizeNames(t,n),(o=this.finally)===null||o===void 0||o.optimizeNames(t,n),this}get names(){let t=super.names;return this.catch&&In(t,this.catch.names),this.finally&&In(t,this.finally.names),t}},io=class extends Ct{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}};io.kind="catch";var ao=class extends Ct{render(t){return"finally"+super.render(t)}};ao.kind="finally";var Iu=class{constructor(t,n={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...n,_n:n.lines?`
4
- `:""},this._extScope=t,this._scope=new dt.Scope({parent:t}),this._nodes=[new Tu]}toString(){return this._root.render(this.opts)}name(t){return this._scope.name(t)}scopeName(t){return this._extScope.name(t)}scopeValue(t,n){let r=this._extScope.value(t,n);return(this._values[r.prefix]||(this._values[r.prefix]=new Set)).add(r),r}getScopeValue(t,n){return this._extScope.getValue(t,n)}scopeRefs(t){return this._extScope.scopeRefs(t,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(t,n,r,o){let s=this._scope.toName(n);return r!==void 0&&o&&(this._constants[s.str]=r),this._leafNode(new ku(t,s,r)),s}const(t,n,r){return this._def(dt.varKinds.const,t,n,r)}let(t,n,r){return this._def(dt.varKinds.let,t,n,r)}var(t,n,r){return this._def(dt.varKinds.var,t,n,r)}assign(t,n,r){return this._leafNode(new Js(t,n,r))}add(t,n){return this._leafNode(new xu(t,V.operators.ADD,n))}code(t){return typeof t=="function"?t():t!==Q.nil&&this._leafNode(new Pu(t)),this}object(...t){let n=["{"];for(let[r,o]of t)n.length>1&&n.push(","),n.push(r),(r!==o||this.opts.es5)&&(n.push(":"),(0,Q.addCodeArg)(n,o));return n.push("}"),new Q._Code(n)}if(t,n,r){if(this._blockNode(new jn(t)),n&&r)this.code(n).else().code(r).endIf();else if(n)this.code(n).endIf();else if(r)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(t){return this._elseNode(new jn(t))}else(){return this._elseNode(new cr)}endIf(){return this._endBlockNode(jn,cr)}_for(t,n){return this._blockNode(t),n&&this.code(n).endFor(),this}for(t,n){return this._for(new Ru(t),n)}forRange(t,n,r,o,s=this.opts.es5?dt.varKinds.var:dt.varKinds.let){let i=this._scope.toName(t);return this._for(new ju(s,i,n,r),()=>o(i))}forOf(t,n,r,o=dt.varKinds.const){let s=this._scope.toName(t);if(this.opts.es5){let i=n instanceof Q.Name?n:this.var("_arr",n);return this.forRange("_i",0,(0,Q._)`${i}.length`,a=>{this.var(s,(0,Q._)`${i}[${a}]`),r(s)})}return this._for(new Fs("of",o,s,n),()=>r(s))}forIn(t,n,r,o=this.opts.es5?dt.varKinds.var:dt.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0,Q._)`Object.keys(${n})`,r);let s=this._scope.toName(t);return this._for(new Fs("in",o,s,n),()=>r(s))}endFor(){return this._endBlockNode(On)}label(t){return this._leafNode(new Su(t))}break(t){return this._leafNode(new $u(t))}return(t){let n=new so;if(this._blockNode(n),this.code(t),n.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(so)}try(t,n,r){if(!n&&!r)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new Ou;if(this._blockNode(o),this.code(t),n){let s=this.name("e");this._currNode=o.catch=new io(s),n(s)}return r&&(this._currNode=o.finally=new ao,this.code(r)),this._endBlockNode(io,ao)}throw(t){return this._leafNode(new zu(t))}block(t,n){return this._blockStarts.push(this._nodes.length),t&&this.code(t).endBlock(n),this}endBlock(t){let n=this._blockStarts.pop();if(n===void 0)throw new Error("CodeGen: not in self-balancing block");let r=this._nodes.length-n;if(r<0||t!==void 0&&r!==t)throw new Error(`CodeGen: wrong number of nodes: ${r} vs ${t} expected`);return this._nodes.length=n,this}func(t,n=Q.nil,r,o){return this._blockNode(new oo(t,n,r)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(oo)}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,n){let r=this._currNode;if(r instanceof t||n&&r instanceof n)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${n?`${t.kind}/${n.kind}`:t.kind}"`)}_elseNode(t){let n=this._currNode;if(!(n instanceof jn))throw new Error('CodeGen: "else" without "if"');return this._currNode=n.else=t,this}get _root(){return this._nodes[0]}get _currNode(){let t=this._nodes;return t[t.length-1]}set _currNode(t){let n=this._nodes;n[n.length-1]=t}};V.CodeGen=Iu;function In(e,t){for(let n in t)e[n]=(e[n]||0)+(t[n]||0);return e}function Vs(e,t){return t instanceof Q._CodeOrName?In(e,t.names):e}function ur(e,t,n){if(e instanceof Q.Name)return r(e);if(!o(e))return e;return new Q._Code(e._items.reduce((s,i)=>(i instanceof Q.Name&&(i=r(i)),i instanceof Q._Code?s.push(...i._items):s.push(i),s),[]));function r(s){let i=n[s.str];return i===void 0||t[s.str]!==1?s:(delete t[s.str],i)}function o(s){return s instanceof Q._Code&&s._items.some(i=>i instanceof Q.Name&&t[i.str]===1&&n[i.str]!==void 0)}}function O0(e,t){for(let n in t)e[n]=(e[n]||0)-(t[n]||0)}function Ff(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,Q._)`!${Eu(e)}`}V.not=Ff;var I0=Vf(V.operators.AND);function E0(...e){return e.reduce(I0)}V.and=E0;var C0=Vf(V.operators.OR);function A0(...e){return e.reduce(C0)}V.or=A0;function Vf(e){return(t,n)=>t===Q.nil?n:n===Q.nil?t:(0,Q._)`${Eu(t)} ${e} ${Eu(n)}`}function Eu(e){return e instanceof Q.Name?e:(0,Q._)`(${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(),M0=no();function N0(e){let t={};for(let n of e)t[n]=!0;return t}B.toHash=N0;function L0(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(Wf(e,t),!Kf(t,e.self.RULES.all))}B.alwaysValidSchema=L0;function Wf(e,t=e.schema){let{opts:n,self:r}=e;if(!n.strictSchema||typeof t=="boolean")return;let o=r.RULES.keywords;for(let s in t)o[s]||Yf(e,`unknown keyword: "${s}"`)}B.checkUnknownRules=Wf;function Kf(e,t){if(typeof e=="boolean")return!e;for(let n in e)if(t[n])return!0;return!1}B.schemaHasRules=Kf;function D0(e,t){if(typeof e=="boolean")return!e;for(let n in e)if(n!=="$ref"&&t.all[n])return!0;return!1}B.schemaHasRulesButRef=D0;function Z0({topSchemaRef:e,schemaPath:t},n,r,o){if(!o){if(typeof n=="number"||typeof n=="boolean")return n;if(typeof n=="string")return(0,se._)`${n}`}return(0,se._)`${e}${t}${(0,se.getProperty)(r)}`}B.schemaRefOrVal=Z0;function U0(e){return Gf(decodeURIComponent(e))}B.unescapeFragment=U0;function q0(e){return encodeURIComponent(Au(e))}B.escapeFragment=q0;function Au(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}B.escapeJsonPointer=Au;function Gf(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}B.unescapeJsonPointer=Gf;function J0(e,t){if(Array.isArray(e))for(let n of e)t(n);else t(e)}B.eachItem=J0;function Bf({mergeNames:e,mergeToName:t,mergeValues:n,resultToName:r}){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):n(s,i);return a===se.Name&&!(c instanceof se.Name)?r(o,c):c}}B.mergeEvaluated={props:Bf({mergeNames:(e,t,n)=>e.if((0,se._)`${n} !== true && ${t} !== undefined`,()=>{e.if((0,se._)`${t} === true`,()=>e.assign(n,!0),()=>e.assign(n,(0,se._)`${n} || {}`).code((0,se._)`Object.assign(${n}, ${t})`))}),mergeToName:(e,t,n)=>e.if((0,se._)`${n} !== true`,()=>{t===!0?e.assign(n,!0):(e.assign(n,(0,se._)`${n} || {}`),Mu(e,n,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:Qf}),items:Bf({mergeNames:(e,t,n)=>e.if((0,se._)`${n} !== true && ${t} !== undefined`,()=>e.assign(n,(0,se._)`${t} === true ? true : ${n} > ${t} ? ${n} : ${t}`)),mergeToName:(e,t,n)=>e.if((0,se._)`${n} !== true`,()=>e.assign(n,t===!0?!0:(0,se._)`${n} > ${t} ? ${n} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function Qf(e,t){if(t===!0)return e.var("props",!0);let n=e.var("props",(0,se._)`{}`);return t!==void 0&&Mu(e,n,t),n}B.evaluatedPropsToName=Qf;function Mu(e,t,n){Object.keys(n).forEach(r=>e.assign((0,se._)`${t}${(0,se.getProperty)(r)}`,!0))}B.setEvaluated=Mu;var Hf={};function F0(e,t){return e.scopeValue("func",{ref:t,code:Hf[t.code]||(Hf[t.code]=new M0._Code(t.code))})}B.useFunc=F0;var Cu;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(Cu||(B.Type=Cu={}));function V0(e,t,n){if(e instanceof se.Name){let r=t===Cu.Num;return n?r?(0,se._)`"[" + ${e} + "]"`:(0,se._)`"['" + ${e} + "']"`:r?(0,se._)`"/" + ${e}`:(0,se._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return n?(0,se.getProperty)(e).toString():"/"+Au(e)}B.getErrorPath=V0;function Yf(e,t,n=e.opts.strictSchema){if(n){if(t=`strict mode: ${t}`,n===!0)throw new Error(t);e.self.logger.warn(t)}}B.checkStrictMode=Yf});var At=z(Nu=>{"use strict";Object.defineProperty(Nu,"__esModule",{value:!0});var je=F(),B0={data:new je.Name("data"),valCxt:new je.Name("valCxt"),instancePath:new je.Name("instancePath"),parentData:new je.Name("parentData"),parentDataProperty:new je.Name("parentDataProperty"),rootData:new je.Name("rootData"),dynamicAnchors:new je.Name("dynamicAnchors"),vErrors:new je.Name("vErrors"),errors:new je.Name("errors"),this:new je.Name("this"),self:new je.Name("self"),scope:new je.Name("scope"),json:new je.Name("json"),jsonPos:new je.Name("jsonPos"),jsonLen:new je.Name("jsonLen"),jsonPart:new je.Name("jsonPart")};Nu.default=B0});var co=z(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.extendErrors=Oe.resetErrorsCount=Oe.reportExtraError=Oe.reportError=Oe.keyword$DataError=Oe.keywordError=void 0;var Y=F(),Hs=ee(),Me=At();Oe.keywordError={message:({keyword:e})=>(0,Y.str)`must pass "${e}" keyword validation`};Oe.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 H0(e,t=Oe.keywordError,n,r){let{it:o}=e,{gen:s,compositeRule:i,allErrors:a}=o,c=th(e,t,n);r??(i||a)?Xf(s,c):eh(o,(0,Y._)`[${c}]`)}Oe.reportError=H0;function W0(e,t=Oe.keywordError,n){let{it:r}=e,{gen:o,compositeRule:s,allErrors:i}=r,a=th(e,t,n);Xf(o,a),s||i||eh(r,Me.default.vErrors)}Oe.reportExtraError=W0;function K0(e,t){e.assign(Me.default.errors,t),e.if((0,Y._)`${Me.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0,Y._)`${Me.default.vErrors}.length`,t),()=>e.assign(Me.default.vErrors,null)))}Oe.resetErrorsCount=K0;function G0({gen:e,keyword:t,schemaValue:n,data:r,errsCount:o,it:s}){if(o===void 0)throw new Error("ajv implementation error");let i=e.name("err");e.forRange("i",o,Me.default.errors,a=>{e.const(i,(0,Y._)`${Me.default.vErrors}[${a}]`),e.if((0,Y._)`${i}.instancePath === undefined`,()=>e.assign((0,Y._)`${i}.instancePath`,(0,Y.strConcat)(Me.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`,n),e.assign((0,Y._)`${i}.data`,r))})}Oe.extendErrors=G0;function Xf(e,t){let n=e.const("err",t);e.if((0,Y._)`${Me.default.vErrors} === null`,()=>e.assign(Me.default.vErrors,(0,Y._)`[${n}]`),(0,Y._)`${Me.default.vErrors}.push(${n})`),e.code((0,Y._)`${Me.default.errors}++`)}function eh(e,t){let{gen:n,validateName:r,schemaEnv:o}=e;o.$async?n.throw((0,Y._)`new ${e.ValidationError}(${t})`):(n.assign((0,Y._)`${r}.errors`,t),n.return(!1))}var En={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 th(e,t,n){let{createErrors:r}=e.it;return r===!1?(0,Y._)`{}`:Q0(e,t,n)}function Q0(e,t,n={}){let{gen:r,it:o}=e,s=[Y0(o,n),X0(e,n)];return eS(e,t,s),r.object(...s)}function Y0({errorPath:e},{instancePath:t}){let n=t?(0,Y.str)`${e}${(0,Hs.getErrorPath)(t,Hs.Type.Str)}`:e;return[Me.default.instancePath,(0,Y.strConcat)(Me.default.instancePath,n)]}function X0({keyword:e,it:{errSchemaPath:t}},{schemaPath:n,parentSchema:r}){let o=r?t:(0,Y.str)`${t}/${e}`;return n&&(o=(0,Y.str)`${o}${(0,Hs.getErrorPath)(n,Hs.Type.Str)}`),[En.schemaPath,o]}function eS(e,{params:t,message:n},r){let{keyword:o,data:s,schemaValue:i,it:a}=e,{opts:c,propertyName:u,topSchemaRef:d,schemaPath:l}=a;r.push([En.keyword,o],[En.params,typeof t=="function"?t(e):t||(0,Y._)`{}`]),c.messages&&r.push([En.message,typeof n=="function"?n(e):n]),c.verbose&&r.push([En.schema,i],[En.parentSchema,(0,Y._)`${d}${l}`],[Me.default.data,s]),u&&r.push([En.propertyName,u])}});var rh=z(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.boolOrEmptySchema=dr.topBoolOrEmptySchema=void 0;var tS=co(),nS=F(),rS=At(),oS={message:"boolean schema is false"};function sS(e){let{gen:t,schema:n,validateName:r}=e;n===!1?nh(e,!1):typeof n=="object"&&n.$async===!0?t.return(rS.default.data):(t.assign((0,nS._)`${r}.errors`,null),t.return(!0))}dr.topBoolOrEmptySchema=sS;function iS(e,t){let{gen:n,schema:r}=e;r===!1?(n.var(t,!1),nh(e)):n.var(t,!0)}dr.boolOrEmptySchema=iS;function nh(e,t){let{gen:n,data:r}=e,o={gen:n,keyword:"false schema",data:r,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,tS.reportError)(o,oS,void 0,t)}});var Lu=z(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.getRules=lr.isJSONType=void 0;var aS=["string","number","integer","boolean","null","object","array"],cS=new Set(aS);function uS(e){return typeof e=="string"&&cS.has(e)}lr.isJSONType=uS;function dS(){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:{}}}lr.getRules=dS});var Du=z(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.shouldUseRule=Gt.shouldUseGroup=Gt.schemaHasRulesForType=void 0;function lS({schema:e,self:t},n){let r=t.RULES.types[n];return r&&r!==!0&&oh(e,r)}Gt.schemaHasRulesForType=lS;function oh(e,t){return t.rules.some(n=>sh(e,n))}Gt.shouldUseGroup=oh;function sh(e,t){var n;return e[t.keyword]!==void 0||((n=t.definition.implements)===null||n===void 0?void 0:n.some(r=>e[r]!==void 0))}Gt.shouldUseRule=sh});var uo=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 pS=Lu(),mS=Du(),fS=co(),q=F(),ih=ee(),pr;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(pr||(Ie.DataType=pr={}));function hS(e){let t=ah(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=hS;function ah(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(pS.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}Ie.getJSONTypes=ah;function gS(e,t){let{gen:n,data:r,opts:o}=e,s=yS(t,o.coerceTypes),i=t.length>0&&!(s.length===0&&t.length===1&&(0,mS.schemaHasRulesForType)(e,t[0]));if(i){let a=Uu(t,r,o.strictNumbers,pr.Wrong);n.if(a,()=>{s.length?_S(e,t,s):qu(e)})}return i}Ie.coerceAndCheckDataType=gS;var ch=new Set(["string","number","integer","boolean","null"]);function yS(e,t){return t?e.filter(n=>ch.has(n)||t==="array"&&n==="array"):[]}function _S(e,t,n){let{gen:r,data:o,opts:s}=e,i=r.let("dataType",(0,q._)`typeof ${o}`),a=r.let("coerced",(0,q._)`undefined`);s.coerceTypes==="array"&&r.if((0,q._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>r.assign(o,(0,q._)`${o}[0]`).assign(i,(0,q._)`typeof ${o}`).if(Uu(t,o,s.strictNumbers),()=>r.assign(a,o))),r.if((0,q._)`${a} !== undefined`);for(let u of n)(ch.has(u)||u==="array"&&s.coerceTypes==="array")&&c(u);r.else(),qu(e),r.endIf(),r.if((0,q._)`${a} !== undefined`,()=>{r.assign(o,a),bS(e,a)});function c(u){switch(u){case"string":r.elseIf((0,q._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,q._)`"" + ${o}`).elseIf((0,q._)`${o} === null`).assign(a,(0,q._)`""`);return;case"number":r.elseIf((0,q._)`${i} == "boolean" || ${o} === null
3
+ var vb=Object.create;var Ai=Object.defineProperty;var wb=Object.getOwnPropertyDescriptor;var kb=Object.getOwnPropertyNames;var xb=Object.getPrototypeOf,Sb=Object.prototype.hasOwnProperty;var z=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Mi=(e,t)=>{for(var n in t)Ai(e,n,{get:t[n],enumerable:!0})},$b=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of kb(t))!Sb.call(e,o)&&o!==n&&Ai(e,o,{get:()=>t[o],enumerable:!(r=wb(t,o))||r.enumerable});return e};var Bl=(e,t,n)=>(n=e!=null?vb(xb(e)):{},$b(t||!e||!e.__esModule?Ai(n,"default",{value:e,enumerable:!0}):n,e));var no=z(X=>{"use strict";Object.defineProperty(X,"__esModule",{value:!0});X.regexpCode=X.getEsmExportName=X.getProperty=X.safeStringify=X.stringify=X.strConcat=X.addCodeArg=X.str=X._=X.nil=X._Code=X.Name=X.IDENTIFIER=X._CodeOrName=void 0;var eo=class{};X._CodeOrName=eo;X.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Rn=class extends eo{constructor(t){if(super(),!X.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}}};X.Name=Rn;var nt=class extends eo{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((n,r)=>`${n}${r}`,"")}get names(){var t;return(t=this._names)!==null&&t!==void 0?t:this._names=this._items.reduce((n,r)=>(r instanceof Rn&&(n[r.str]=(n[r.str]||0)+1),n),{})}};X._Code=nt;X.nil=new nt("");function Jf(e,...t){let n=[e[0]],r=0;for(;r<t.length;)_u(n,t[r]),n.push(e[++r]);return new nt(n)}X._=Jf;var yu=new nt("+");function Ff(e,...t){let n=[to(e[0])],r=0;for(;r<t.length;)n.push(yu),_u(n,t[r]),n.push(yu,to(e[++r]));return x0(n),new nt(n)}X.str=Ff;function _u(e,t){t instanceof nt?e.push(...t._items):t instanceof Rn?e.push(t):e.push(z0(t))}X.addCodeArg=_u;function x0(e){let t=1;for(;t<e.length-1;){if(e[t]===yu){let n=S0(e[t-1],e[t+1]);if(n!==void 0){e.splice(t-1,3,n);continue}e[t++]="+"}t++}}function S0(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof Rn||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 Rn))return`"${e}${t.slice(1)}`}function $0(e,t){return t.emptyStr()?e:e.emptyStr()?t:Ff`${e}${t}`}X.strConcat=$0;function z0(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:to(Array.isArray(e)?e.join(","):e)}function P0(e){return new nt(to(e))}X.stringify=P0;function to(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}X.safeStringify=to;function T0(e){return typeof e=="string"&&X.IDENTIFIER.test(e)?new nt(`.${e}`):Jf`[${e}]`}X.getProperty=T0;function R0(e){if(typeof e=="string"&&X.IDENTIFIER.test(e))return new nt(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}X.getEsmExportName=R0;function j0(e){return new nt(e.toString())}X.regexpCode=j0});var wu=z(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.ValueScope=Je.ValueScopeName=Je.Scope=Je.varKinds=Je.UsedValueState=void 0;var qe=no(),bu=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value}},Zs;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"})(Zs||(Je.UsedValueState=Zs={}));Je.varKinds={const:new qe.Name("const"),let:new qe.Name("let"),var:new qe.Name("var")};var Us=class{constructor({prefixes:t,parent:n}={}){this._names={},this._prefixes=t,this._parent=n}toName(t){return t instanceof qe.Name?t:this.name(t)}name(t){return new qe.Name(this._newName(t))}_newName(t){let n=this._names[t]||this._nameGroup(t);return`${t}${n.index++}`}_nameGroup(t){var n,r;if(!((r=(n=this._parent)===null||n===void 0?void 0:n._prefixes)===null||r===void 0)&&r.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}}};Je.Scope=Us;var qs=class extends qe.Name{constructor(t,n){super(n),this.prefix=t}setValue(t,{property:n,itemIndex:r}){this.value=t,this.scopePath=(0,qe._)`.${new qe.Name(n)}[${r}]`}};Je.ValueScopeName=qs;var O0=(0,qe._)`\n`,vu=class extends Us{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?O0:qe.nil}}get(){return this._scope}name(t){return new qs(t,this._newName(t))}value(t,n){var r;if(n.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let o=this.toName(t),{prefix:s}=o,i=(r=n.key)!==null&&r!==void 0?r:n.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]=n.ref,o.setValue(n,{property:s,itemIndex:u}),o}getValue(t,n){let r=this._values[t];if(r)return r.get(n)}scopeRefs(t,n=this._values){return this._reduceValues(n,r=>{if(r.scopePath===void 0)throw new Error(`CodeGen: name "${r}" has no value`);return(0,qe._)`${t}${r.scopePath}`})}scopeCode(t=this._values,n,r){return this._reduceValues(t,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},n,r)}_reduceValues(t,n,r={},o){let s=qe.nil;for(let i in t){let a=t[i];if(!a)continue;let c=r[i]=r[i]||new Map;a.forEach(u=>{if(c.has(u))return;c.set(u,Zs.Started);let d=n(u);if(d){let l=this.opts.es5?Je.varKinds.var:Je.varKinds.const;s=(0,qe._)`${s}${l} ${u} = ${d};${this.opts._n}`}else if(d=o?.(u))s=(0,qe._)`${s}${d}${this.opts._n}`;else throw new bu(u);c.set(u,Zs.Completed)})}return s}};Je.ValueScope=vu});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 Q=no(),lt=wu(),Kt=no();Object.defineProperty(V,"_",{enumerable:!0,get:function(){return Kt._}});Object.defineProperty(V,"str",{enumerable:!0,get:function(){return Kt.str}});Object.defineProperty(V,"strConcat",{enumerable:!0,get:function(){return Kt.strConcat}});Object.defineProperty(V,"nil",{enumerable:!0,get:function(){return Kt.nil}});Object.defineProperty(V,"getProperty",{enumerable:!0,get:function(){return Kt.getProperty}});Object.defineProperty(V,"stringify",{enumerable:!0,get:function(){return Kt.stringify}});Object.defineProperty(V,"regexpCode",{enumerable:!0,get:function(){return Kt.regexpCode}});Object.defineProperty(V,"Name",{enumerable:!0,get:function(){return Kt.Name}});var Bs=wu();Object.defineProperty(V,"Scope",{enumerable:!0,get:function(){return Bs.Scope}});Object.defineProperty(V,"ValueScope",{enumerable:!0,get:function(){return Bs.ValueScope}});Object.defineProperty(V,"ValueScopeName",{enumerable:!0,get:function(){return Bs.ValueScopeName}});Object.defineProperty(V,"varKinds",{enumerable:!0,get:function(){return Bs.varKinds}});V.operators={GT:new Q._Code(">"),GTE:new Q._Code(">="),LT:new Q._Code("<"),LTE:new Q._Code("<="),EQ:new Q._Code("==="),NEQ:new Q._Code("!=="),NOT:new Q._Code("!"),OR:new Q._Code("||"),AND:new Q._Code("&&"),ADD:new Q._Code("+")};var Et=class{optimizeNodes(){return this}optimizeNames(t,n){return this}},ku=class extends Et{constructor(t,n,r){super(),this.varKind=t,this.name=n,this.rhs=r}render({es5:t,_n:n}){let r=t?lt.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${r} ${this.name}${o};`+n}optimizeNames(t,n){if(t[this.name.str])return this.rhs&&(this.rhs=ur(this.rhs,t,n)),this}get names(){return this.rhs instanceof Q._CodeOrName?this.rhs.names:{}}},Js=class extends Et{constructor(t,n,r){super(),this.lhs=t,this.rhs=n,this.sideEffects=r}render({_n:t}){return`${this.lhs} = ${this.rhs};`+t}optimizeNames(t,n){if(!(this.lhs instanceof Q.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=ur(this.rhs,t,n),this}get names(){let t=this.lhs instanceof Q.Name?{}:{...this.lhs.names};return Vs(t,this.rhs)}},xu=class extends Js{constructor(t,n,r,o){super(t,r,o),this.op=n}render({_n:t}){return`${this.lhs} ${this.op}= ${this.rhs};`+t}},Su=class extends Et{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`${this.label}:`+t}},$u=class extends Et{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`break${this.label?` ${this.label}`:""};`+t}},zu=class extends Et{constructor(t){super(),this.error=t}render({_n:t}){return`throw ${this.error};`+t}get names(){return this.error.names}},Pu=class extends Et{constructor(t){super(),this.code=t}render({_n:t}){return`${this.code};`+t}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(t,n){return this.code=ur(this.code,t,n),this}get names(){return this.code instanceof Q._CodeOrName?this.code.names:{}}},ro=class extends Et{constructor(t=[]){super(),this.nodes=t}render(t){return this.nodes.reduce((n,r)=>n+r.render(t),"")}optimizeNodes(){let{nodes:t}=this,n=t.length;for(;n--;){let r=t[n].optimizeNodes();Array.isArray(r)?t.splice(n,1,...r):r?t[n]=r:t.splice(n,1)}return t.length>0?this:void 0}optimizeNames(t,n){let{nodes:r}=this,o=r.length;for(;o--;){let s=r[o];s.optimizeNames(t,n)||(I0(t,s.names),r.splice(o,1))}return r.length>0?this:void 0}get names(){return this.nodes.reduce((t,n)=>In(t,n.names),{})}},Ct=class extends ro{render(t){return"{"+t._n+super.render(t)+"}"+t._n}},Tu=class extends ro{},cr=class extends Ct{};cr.kind="else";var jn=class e extends Ct{constructor(t,n){super(n),this.condition=t}render(t){let n=`if(${this.condition})`+super.render(t);return this.else&&(n+="else "+this.else.render(t)),n}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let n=this.else;if(n){let r=n.optimizeNodes();n=this.else=Array.isArray(r)?new cr(r):r}if(n)return t===!1?n instanceof e?n:n.nodes:this.nodes.length?this:new e(Vf(t),n instanceof e?[n]:n.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,n){var r;if(this.else=(r=this.else)===null||r===void 0?void 0:r.optimizeNames(t,n),!!(super.optimizeNames(t,n)||this.else))return this.condition=ur(this.condition,t,n),this}get names(){let t=super.names;return Vs(t,this.condition),this.else&&In(t,this.else.names),t}};jn.kind="if";var On=class extends Ct{};On.kind="for";var Ru=class extends On{constructor(t){super(),this.iteration=t}render(t){return`for(${this.iteration})`+super.render(t)}optimizeNames(t,n){if(super.optimizeNames(t,n))return this.iteration=ur(this.iteration,t,n),this}get names(){return In(super.names,this.iteration.names)}},ju=class extends On{constructor(t,n,r,o){super(),this.varKind=t,this.name=n,this.from=r,this.to=o}render(t){let n=t.es5?lt.varKinds.var:this.varKind,{name:r,from:o,to:s}=this;return`for(${n} ${r}=${o}; ${r}<${s}; ${r}++)`+super.render(t)}get names(){let t=Vs(super.names,this.from);return Vs(t,this.to)}},Fs=class extends On{constructor(t,n,r,o){super(),this.loop=t,this.varKind=n,this.name=r,this.iterable=o}render(t){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(t)}optimizeNames(t,n){if(super.optimizeNames(t,n))return this.iterable=ur(this.iterable,t,n),this}get names(){return In(super.names,this.iterable.names)}},oo=class extends Ct{constructor(t,n,r){super(),this.name=t,this.args=n,this.async=r}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}};oo.kind="func";var so=class extends ro{render(t){return"return "+super.render(t)}};so.kind="return";var Ou=class extends Ct{render(t){let n="try"+super.render(t);return this.catch&&(n+=this.catch.render(t)),this.finally&&(n+=this.finally.render(t)),n}optimizeNodes(){var t,n;return super.optimizeNodes(),(t=this.catch)===null||t===void 0||t.optimizeNodes(),(n=this.finally)===null||n===void 0||n.optimizeNodes(),this}optimizeNames(t,n){var r,o;return super.optimizeNames(t,n),(r=this.catch)===null||r===void 0||r.optimizeNames(t,n),(o=this.finally)===null||o===void 0||o.optimizeNames(t,n),this}get names(){let t=super.names;return this.catch&&In(t,this.catch.names),this.finally&&In(t,this.finally.names),t}},io=class extends Ct{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}};io.kind="catch";var ao=class extends Ct{render(t){return"finally"+super.render(t)}};ao.kind="finally";var Iu=class{constructor(t,n={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...n,_n:n.lines?`
4
+ `:""},this._extScope=t,this._scope=new lt.Scope({parent:t}),this._nodes=[new Tu]}toString(){return this._root.render(this.opts)}name(t){return this._scope.name(t)}scopeName(t){return this._extScope.name(t)}scopeValue(t,n){let r=this._extScope.value(t,n);return(this._values[r.prefix]||(this._values[r.prefix]=new Set)).add(r),r}getScopeValue(t,n){return this._extScope.getValue(t,n)}scopeRefs(t){return this._extScope.scopeRefs(t,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(t,n,r,o){let s=this._scope.toName(n);return r!==void 0&&o&&(this._constants[s.str]=r),this._leafNode(new ku(t,s,r)),s}const(t,n,r){return this._def(lt.varKinds.const,t,n,r)}let(t,n,r){return this._def(lt.varKinds.let,t,n,r)}var(t,n,r){return this._def(lt.varKinds.var,t,n,r)}assign(t,n,r){return this._leafNode(new Js(t,n,r))}add(t,n){return this._leafNode(new xu(t,V.operators.ADD,n))}code(t){return typeof t=="function"?t():t!==Q.nil&&this._leafNode(new Pu(t)),this}object(...t){let n=["{"];for(let[r,o]of t)n.length>1&&n.push(","),n.push(r),(r!==o||this.opts.es5)&&(n.push(":"),(0,Q.addCodeArg)(n,o));return n.push("}"),new Q._Code(n)}if(t,n,r){if(this._blockNode(new jn(t)),n&&r)this.code(n).else().code(r).endIf();else if(n)this.code(n).endIf();else if(r)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(t){return this._elseNode(new jn(t))}else(){return this._elseNode(new cr)}endIf(){return this._endBlockNode(jn,cr)}_for(t,n){return this._blockNode(t),n&&this.code(n).endFor(),this}for(t,n){return this._for(new Ru(t),n)}forRange(t,n,r,o,s=this.opts.es5?lt.varKinds.var:lt.varKinds.let){let i=this._scope.toName(t);return this._for(new ju(s,i,n,r),()=>o(i))}forOf(t,n,r,o=lt.varKinds.const){let s=this._scope.toName(t);if(this.opts.es5){let i=n instanceof Q.Name?n:this.var("_arr",n);return this.forRange("_i",0,(0,Q._)`${i}.length`,a=>{this.var(s,(0,Q._)`${i}[${a}]`),r(s)})}return this._for(new Fs("of",o,s,n),()=>r(s))}forIn(t,n,r,o=this.opts.es5?lt.varKinds.var:lt.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0,Q._)`Object.keys(${n})`,r);let s=this._scope.toName(t);return this._for(new Fs("in",o,s,n),()=>r(s))}endFor(){return this._endBlockNode(On)}label(t){return this._leafNode(new Su(t))}break(t){return this._leafNode(new $u(t))}return(t){let n=new so;if(this._blockNode(n),this.code(t),n.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(so)}try(t,n,r){if(!n&&!r)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new Ou;if(this._blockNode(o),this.code(t),n){let s=this.name("e");this._currNode=o.catch=new io(s),n(s)}return r&&(this._currNode=o.finally=new ao,this.code(r)),this._endBlockNode(io,ao)}throw(t){return this._leafNode(new zu(t))}block(t,n){return this._blockStarts.push(this._nodes.length),t&&this.code(t).endBlock(n),this}endBlock(t){let n=this._blockStarts.pop();if(n===void 0)throw new Error("CodeGen: not in self-balancing block");let r=this._nodes.length-n;if(r<0||t!==void 0&&r!==t)throw new Error(`CodeGen: wrong number of nodes: ${r} vs ${t} expected`);return this._nodes.length=n,this}func(t,n=Q.nil,r,o){return this._blockNode(new oo(t,n,r)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(oo)}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,n){let r=this._currNode;if(r instanceof t||n&&r instanceof n)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${n?`${t.kind}/${n.kind}`:t.kind}"`)}_elseNode(t){let n=this._currNode;if(!(n instanceof jn))throw new Error('CodeGen: "else" without "if"');return this._currNode=n.else=t,this}get _root(){return this._nodes[0]}get _currNode(){let t=this._nodes;return t[t.length-1]}set _currNode(t){let n=this._nodes;n[n.length-1]=t}};V.CodeGen=Iu;function In(e,t){for(let n in t)e[n]=(e[n]||0)+(t[n]||0);return e}function Vs(e,t){return t instanceof Q._CodeOrName?In(e,t.names):e}function ur(e,t,n){if(e instanceof Q.Name)return r(e);if(!o(e))return e;return new Q._Code(e._items.reduce((s,i)=>(i instanceof Q.Name&&(i=r(i)),i instanceof Q._Code?s.push(...i._items):s.push(i),s),[]));function r(s){let i=n[s.str];return i===void 0||t[s.str]!==1?s:(delete t[s.str],i)}function o(s){return s instanceof Q._Code&&s._items.some(i=>i instanceof Q.Name&&t[i.str]===1&&n[i.str]!==void 0)}}function I0(e,t){for(let n in t)e[n]=(e[n]||0)-(t[n]||0)}function Vf(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,Q._)`!${Eu(e)}`}V.not=Vf;var E0=Bf(V.operators.AND);function C0(...e){return e.reduce(E0)}V.and=C0;var A0=Bf(V.operators.OR);function M0(...e){return e.reduce(A0)}V.or=M0;function Bf(e){return(t,n)=>t===Q.nil?n:n===Q.nil?t:(0,Q._)`${Eu(t)} ${e} ${Eu(n)}`}function Eu(e){return e instanceof Q.Name?e:(0,Q._)`(${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(),N0=no();function L0(e){let t={};for(let n of e)t[n]=!0;return t}B.toHash=L0;function D0(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(Kf(e,t),!Gf(t,e.self.RULES.all))}B.alwaysValidSchema=D0;function Kf(e,t=e.schema){let{opts:n,self:r}=e;if(!n.strictSchema||typeof t=="boolean")return;let o=r.RULES.keywords;for(let s in t)o[s]||Xf(e,`unknown keyword: "${s}"`)}B.checkUnknownRules=Kf;function Gf(e,t){if(typeof e=="boolean")return!e;for(let n in e)if(t[n])return!0;return!1}B.schemaHasRules=Gf;function Z0(e,t){if(typeof e=="boolean")return!e;for(let n in e)if(n!=="$ref"&&t.all[n])return!0;return!1}B.schemaHasRulesButRef=Z0;function U0({topSchemaRef:e,schemaPath:t},n,r,o){if(!o){if(typeof n=="number"||typeof n=="boolean")return n;if(typeof n=="string")return(0,se._)`${n}`}return(0,se._)`${e}${t}${(0,se.getProperty)(r)}`}B.schemaRefOrVal=U0;function q0(e){return Qf(decodeURIComponent(e))}B.unescapeFragment=q0;function J0(e){return encodeURIComponent(Au(e))}B.escapeFragment=J0;function Au(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}B.escapeJsonPointer=Au;function Qf(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}B.unescapeJsonPointer=Qf;function F0(e,t){if(Array.isArray(e))for(let n of e)t(n);else t(e)}B.eachItem=F0;function Hf({mergeNames:e,mergeToName:t,mergeValues:n,resultToName:r}){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):n(s,i);return a===se.Name&&!(c instanceof se.Name)?r(o,c):c}}B.mergeEvaluated={props:Hf({mergeNames:(e,t,n)=>e.if((0,se._)`${n} !== true && ${t} !== undefined`,()=>{e.if((0,se._)`${t} === true`,()=>e.assign(n,!0),()=>e.assign(n,(0,se._)`${n} || {}`).code((0,se._)`Object.assign(${n}, ${t})`))}),mergeToName:(e,t,n)=>e.if((0,se._)`${n} !== true`,()=>{t===!0?e.assign(n,!0):(e.assign(n,(0,se._)`${n} || {}`),Mu(e,n,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:Yf}),items:Hf({mergeNames:(e,t,n)=>e.if((0,se._)`${n} !== true && ${t} !== undefined`,()=>e.assign(n,(0,se._)`${t} === true ? true : ${n} > ${t} ? ${n} : ${t}`)),mergeToName:(e,t,n)=>e.if((0,se._)`${n} !== true`,()=>e.assign(n,t===!0?!0:(0,se._)`${n} > ${t} ? ${n} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function Yf(e,t){if(t===!0)return e.var("props",!0);let n=e.var("props",(0,se._)`{}`);return t!==void 0&&Mu(e,n,t),n}B.evaluatedPropsToName=Yf;function Mu(e,t,n){Object.keys(n).forEach(r=>e.assign((0,se._)`${t}${(0,se.getProperty)(r)}`,!0))}B.setEvaluated=Mu;var Wf={};function V0(e,t){return e.scopeValue("func",{ref:t,code:Wf[t.code]||(Wf[t.code]=new N0._Code(t.code))})}B.useFunc=V0;var Cu;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(Cu||(B.Type=Cu={}));function B0(e,t,n){if(e instanceof se.Name){let r=t===Cu.Num;return n?r?(0,se._)`"[" + ${e} + "]"`:(0,se._)`"['" + ${e} + "']"`:r?(0,se._)`"/" + ${e}`:(0,se._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return n?(0,se.getProperty)(e).toString():"/"+Au(e)}B.getErrorPath=B0;function Xf(e,t,n=e.opts.strictSchema){if(n){if(t=`strict mode: ${t}`,n===!0)throw new Error(t);e.self.logger.warn(t)}}B.checkStrictMode=Xf});var At=z(Nu=>{"use strict";Object.defineProperty(Nu,"__esModule",{value:!0});var je=F(),H0={data:new je.Name("data"),valCxt:new je.Name("valCxt"),instancePath:new je.Name("instancePath"),parentData:new je.Name("parentData"),parentDataProperty:new je.Name("parentDataProperty"),rootData:new je.Name("rootData"),dynamicAnchors:new je.Name("dynamicAnchors"),vErrors:new je.Name("vErrors"),errors:new je.Name("errors"),this:new je.Name("this"),self:new je.Name("self"),scope:new je.Name("scope"),json:new je.Name("json"),jsonPos:new je.Name("jsonPos"),jsonLen:new je.Name("jsonLen"),jsonPart:new je.Name("jsonPart")};Nu.default=H0});var co=z(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.extendErrors=Oe.resetErrorsCount=Oe.reportExtraError=Oe.reportError=Oe.keyword$DataError=Oe.keywordError=void 0;var Y=F(),Hs=ee(),Me=At();Oe.keywordError={message:({keyword:e})=>(0,Y.str)`must pass "${e}" keyword validation`};Oe.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 W0(e,t=Oe.keywordError,n,r){let{it:o}=e,{gen:s,compositeRule:i,allErrors:a}=o,c=nh(e,t,n);r??(i||a)?eh(s,c):th(o,(0,Y._)`[${c}]`)}Oe.reportError=W0;function K0(e,t=Oe.keywordError,n){let{it:r}=e,{gen:o,compositeRule:s,allErrors:i}=r,a=nh(e,t,n);eh(o,a),s||i||th(r,Me.default.vErrors)}Oe.reportExtraError=K0;function G0(e,t){e.assign(Me.default.errors,t),e.if((0,Y._)`${Me.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0,Y._)`${Me.default.vErrors}.length`,t),()=>e.assign(Me.default.vErrors,null)))}Oe.resetErrorsCount=G0;function Q0({gen:e,keyword:t,schemaValue:n,data:r,errsCount:o,it:s}){if(o===void 0)throw new Error("ajv implementation error");let i=e.name("err");e.forRange("i",o,Me.default.errors,a=>{e.const(i,(0,Y._)`${Me.default.vErrors}[${a}]`),e.if((0,Y._)`${i}.instancePath === undefined`,()=>e.assign((0,Y._)`${i}.instancePath`,(0,Y.strConcat)(Me.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`,n),e.assign((0,Y._)`${i}.data`,r))})}Oe.extendErrors=Q0;function eh(e,t){let n=e.const("err",t);e.if((0,Y._)`${Me.default.vErrors} === null`,()=>e.assign(Me.default.vErrors,(0,Y._)`[${n}]`),(0,Y._)`${Me.default.vErrors}.push(${n})`),e.code((0,Y._)`${Me.default.errors}++`)}function th(e,t){let{gen:n,validateName:r,schemaEnv:o}=e;o.$async?n.throw((0,Y._)`new ${e.ValidationError}(${t})`):(n.assign((0,Y._)`${r}.errors`,t),n.return(!1))}var En={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 nh(e,t,n){let{createErrors:r}=e.it;return r===!1?(0,Y._)`{}`:Y0(e,t,n)}function Y0(e,t,n={}){let{gen:r,it:o}=e,s=[X0(o,n),eS(e,n)];return tS(e,t,s),r.object(...s)}function X0({errorPath:e},{instancePath:t}){let n=t?(0,Y.str)`${e}${(0,Hs.getErrorPath)(t,Hs.Type.Str)}`:e;return[Me.default.instancePath,(0,Y.strConcat)(Me.default.instancePath,n)]}function eS({keyword:e,it:{errSchemaPath:t}},{schemaPath:n,parentSchema:r}){let o=r?t:(0,Y.str)`${t}/${e}`;return n&&(o=(0,Y.str)`${o}${(0,Hs.getErrorPath)(n,Hs.Type.Str)}`),[En.schemaPath,o]}function tS(e,{params:t,message:n},r){let{keyword:o,data:s,schemaValue:i,it:a}=e,{opts:c,propertyName:u,topSchemaRef:d,schemaPath:l}=a;r.push([En.keyword,o],[En.params,typeof t=="function"?t(e):t||(0,Y._)`{}`]),c.messages&&r.push([En.message,typeof n=="function"?n(e):n]),c.verbose&&r.push([En.schema,i],[En.parentSchema,(0,Y._)`${d}${l}`],[Me.default.data,s]),u&&r.push([En.propertyName,u])}});var oh=z(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.boolOrEmptySchema=dr.topBoolOrEmptySchema=void 0;var nS=co(),rS=F(),oS=At(),sS={message:"boolean schema is false"};function iS(e){let{gen:t,schema:n,validateName:r}=e;n===!1?rh(e,!1):typeof n=="object"&&n.$async===!0?t.return(oS.default.data):(t.assign((0,rS._)`${r}.errors`,null),t.return(!0))}dr.topBoolOrEmptySchema=iS;function aS(e,t){let{gen:n,schema:r}=e;r===!1?(n.var(t,!1),rh(e)):n.var(t,!0)}dr.boolOrEmptySchema=aS;function rh(e,t){let{gen:n,data:r}=e,o={gen:n,keyword:"false schema",data:r,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,nS.reportError)(o,sS,void 0,t)}});var Lu=z(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.getRules=lr.isJSONType=void 0;var cS=["string","number","integer","boolean","null","object","array"],uS=new Set(cS);function dS(e){return typeof e=="string"&&uS.has(e)}lr.isJSONType=dS;function lS(){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:{}}}lr.getRules=lS});var Du=z(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.shouldUseRule=Gt.shouldUseGroup=Gt.schemaHasRulesForType=void 0;function pS({schema:e,self:t},n){let r=t.RULES.types[n];return r&&r!==!0&&sh(e,r)}Gt.schemaHasRulesForType=pS;function sh(e,t){return t.rules.some(n=>ih(e,n))}Gt.shouldUseGroup=sh;function ih(e,t){var n;return e[t.keyword]!==void 0||((n=t.definition.implements)===null||n===void 0?void 0:n.some(r=>e[r]!==void 0))}Gt.shouldUseRule=ih});var uo=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 mS=Lu(),fS=Du(),hS=co(),q=F(),ah=ee(),pr;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(pr||(Ie.DataType=pr={}));function gS(e){let t=ch(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=gS;function ch(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(mS.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}Ie.getJSONTypes=ch;function yS(e,t){let{gen:n,data:r,opts:o}=e,s=_S(t,o.coerceTypes),i=t.length>0&&!(s.length===0&&t.length===1&&(0,fS.schemaHasRulesForType)(e,t[0]));if(i){let a=Uu(t,r,o.strictNumbers,pr.Wrong);n.if(a,()=>{s.length?bS(e,t,s):qu(e)})}return i}Ie.coerceAndCheckDataType=yS;var uh=new Set(["string","number","integer","boolean","null"]);function _S(e,t){return t?e.filter(n=>uh.has(n)||t==="array"&&n==="array"):[]}function bS(e,t,n){let{gen:r,data:o,opts:s}=e,i=r.let("dataType",(0,q._)`typeof ${o}`),a=r.let("coerced",(0,q._)`undefined`);s.coerceTypes==="array"&&r.if((0,q._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>r.assign(o,(0,q._)`${o}[0]`).assign(i,(0,q._)`typeof ${o}`).if(Uu(t,o,s.strictNumbers),()=>r.assign(a,o))),r.if((0,q._)`${a} !== undefined`);for(let u of n)(uh.has(u)||u==="array"&&s.coerceTypes==="array")&&c(u);r.else(),qu(e),r.endIf(),r.if((0,q._)`${a} !== undefined`,()=>{r.assign(o,a),vS(e,a)});function c(u){switch(u){case"string":r.elseIf((0,q._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,q._)`"" + ${o}`).elseIf((0,q._)`${o} === null`).assign(a,(0,q._)`""`);return;case"number":r.elseIf((0,q._)`${i} == "boolean" || ${o} === null
5
5
  || (${i} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,q._)`+${o}`);return;case"integer":r.elseIf((0,q._)`${i} === "boolean" || ${o} === null
6
6
  || (${i} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(a,(0,q._)`+${o}`);return;case"boolean":r.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":r.elseIf((0,q._)`${o} === "" || ${o} === 0 || ${o} === false`),r.assign(a,null);return;case"array":r.elseIf((0,q._)`${i} === "string" || ${i} === "number"
7
- || ${i} === "boolean" || ${o} === null`).assign(a,(0,q._)`[${o}]`)}}}function bS({gen:e,parentData:t,parentDataProperty:n},r){e.if((0,q._)`${t} !== undefined`,()=>e.assign((0,q._)`${t}[${n}]`,r))}function Zu(e,t,n,r=pr.Correct){let o=r===pr.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 r===pr.Correct?s:(0,q.not)(s);function i(a=q.nil){return(0,q.and)((0,q._)`typeof ${t} == "number"`,a,n?(0,q._)`isFinite(${t})`:q.nil)}}Ie.checkDataType=Zu;function Uu(e,t,n,r){if(e.length===1)return Zu(e[0],t,n,r);let o,s=(0,ih.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,Zu(i,t,n,r));return o}Ie.checkDataTypes=Uu;var vS={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,q._)`{type: ${e}}`:(0,q._)`{type: ${t}}`};function qu(e){let t=wS(e);(0,fS.reportError)(t,vS)}Ie.reportTypeError=qu;function wS(e){let{gen:t,data:n,schema:r}=e,o=(0,ih.schemaRefOrVal)(e,r,"type");return{gen:t,keyword:"type",data:n,schema:r.type,schemaCode:o,schemaValue:o,parentSchema:r,params:{},it:e}}});var dh=z(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});Ws.assignDefaults=void 0;var mr=F(),kS=ee();function xS(e,t){let{properties:n,items:r}=e.schema;if(t==="object"&&n)for(let o in n)uh(e,o,n[o].default);else t==="array"&&Array.isArray(r)&&r.forEach((o,s)=>uh(e,s,o.default))}Ws.assignDefaults=xS;function uh(e,t,n){let{gen:r,compositeRule:o,data:s,opts:i}=e;if(n===void 0)return;let a=(0,mr._)`${s}${(0,mr.getProperty)(t)}`;if(o){(0,kS.checkStrictMode)(e,`default is ignored for: ${a}`);return}let c=(0,mr._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,mr._)`${c} || ${a} === null || ${a} === ""`),r.if(c,(0,mr._)`${a} = ${(0,mr.stringify)(n)}`)}});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(),Ju=ee(),Qt=At(),SS=ee();function $S(e,t){let{gen:n,data:r,it:o}=e;n.if(Vu(n,r,t,o.opts.ownProperties),()=>{e.setParams({missingProperty:(0,de._)`${t}`},!0),e.error()})}oe.checkReportMissingProp=$S;function zS({gen:e,data:t,it:{opts:n}},r,o){return(0,de.or)(...r.map(s=>(0,de.and)(Vu(e,t,s,n.ownProperties),(0,de._)`${o} = ${s}`)))}oe.checkMissingProp=zS;function PS(e,t){e.setParams({missingProperty:t},!0),e.error()}oe.reportMissingProp=PS;function lh(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,de._)`Object.prototype.hasOwnProperty`})}oe.hasPropFunc=lh;function Fu(e,t,n){return(0,de._)`${lh(e)}.call(${t}, ${n})`}oe.isOwnProperty=Fu;function TS(e,t,n,r){let o=(0,de._)`${t}${(0,de.getProperty)(n)} !== undefined`;return r?(0,de._)`${o} && ${Fu(e,t,n)}`:o}oe.propertyInData=TS;function Vu(e,t,n,r){let o=(0,de._)`${t}${(0,de.getProperty)(n)} === undefined`;return r?(0,de.or)(o,(0,de.not)(Fu(e,t,n))):o}oe.noPropertyInData=Vu;function ph(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}oe.allSchemaProperties=ph;function RS(e,t){return ph(t).filter(n=>!(0,Ju.alwaysValidSchema)(e,t[n]))}oe.schemaProperties=RS;function jS({schemaCode:e,data:t,it:{gen:n,topSchemaRef:r,schemaPath:o,errorPath:s},it:i},a,c,u){let d=u?(0,de._)`${e}, ${t}, ${r}${o}`:t,l=[[Qt.default.instancePath,(0,de.strConcat)(Qt.default.instancePath,s)],[Qt.default.parentData,i.parentData],[Qt.default.parentDataProperty,i.parentDataProperty],[Qt.default.rootData,Qt.default.rootData]];i.opts.dynamicRef&&l.push([Qt.default.dynamicAnchors,Qt.default.dynamicAnchors]);let m=(0,de._)`${d}, ${n.object(...l)}`;return c!==de.nil?(0,de._)`${a}.call(${c}, ${m})`:(0,de._)`${a}(${m})`}oe.callValidateCode=jS;var OS=(0,de._)`new RegExp`;function IS({gen:e,it:{opts:t}},n){let r=t.unicodeRegExp?"u":"",{regExp:o}=t.code,s=o(n,r);return e.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,de._)`${o.code==="new RegExp"?OS:(0,SS.useFunc)(e,o)}(${n}, ${r})`})}oe.usePattern=IS;function ES(e){let{gen:t,data:n,keyword:r,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._)`${n}.length`);t.forRange("i",0,c,u=>{e.subschema({keyword:r,dataProp:u,dataPropType:Ju.Type.Num},s),t.if((0,de.not)(s),a)})}}oe.validateArray=ES;function CS(e){let{gen:t,schema:n,keyword:r,it:o}=e;if(!Array.isArray(n))throw new Error("ajv implementation error");if(n.some(c=>(0,Ju.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let i=t.let("valid",!1),a=t.name("_valid");t.block(()=>n.forEach((c,u)=>{let d=e.subschema({keyword:r,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=CS});var hh=z(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.validateKeywordUsage=wt.validSchemaType=wt.funcKeywordCode=wt.macroKeywordCode=void 0;var Ne=F(),Cn=At(),AS=rt(),MS=co();function NS(e,t){let{gen:n,keyword:r,schema:o,parentSchema:s,it:i}=e,a=t.macro.call(i.self,o,s,i),c=fh(n,r,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let u=n.name("valid");e.subschema({schema:a,schemaPath:Ne.nil,errSchemaPath:`${i.errSchemaPath}/${r}`,topSchemaRef:c,compositeRule:!0},u),e.pass(u,()=>e.error(!0))}wt.macroKeywordCode=NS;function LS(e,t){var n;let{gen:r,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=e;ZS(c,t);let u=!a&&t.compile?t.compile.call(c.self,s,i,c):t.validate,d=fh(r,o,u),l=r.let("valid");e.block$data(l,m),e.ok((n=t.valid)!==null&&n!==void 0?n:l);function m(){if(t.errors===!1)g(),t.modifying&&mh(e),y(()=>e.error());else{let v=t.async?f():h();t.modifying&&mh(e),y(()=>DS(e,v))}}function f(){let v=r.let("ruleErrs",null);return r.try(()=>g((0,Ne._)`await `),w=>r.assign(l,!1).if((0,Ne._)`${w} instanceof ${c.ValidationError}`,()=>r.assign(v,(0,Ne._)`${w}.errors`),()=>r.throw(w))),v}function h(){let v=(0,Ne._)`${d}.errors`;return r.assign(v,null),g(Ne.nil),v}function g(v=t.async?(0,Ne._)`await `:Ne.nil){let w=c.opts.passContext?Cn.default.this:Cn.default.self,k=!("compile"in t&&!a||t.schema===!1);r.assign(l,(0,Ne._)`${v}${(0,AS.callValidateCode)(e,d,w,k)}`,t.modifying)}function y(v){var w;r.if((0,Ne.not)((w=t.valid)!==null&&w!==void 0?w:l),v)}}wt.funcKeywordCode=LS;function mh(e){let{gen:t,data:n,it:r}=e;t.if(r.parentData,()=>t.assign(n,(0,Ne._)`${r.parentData}[${r.parentDataProperty}]`))}function DS(e,t){let{gen:n}=e;n.if((0,Ne._)`Array.isArray(${t})`,()=>{n.assign(Cn.default.vErrors,(0,Ne._)`${Cn.default.vErrors} === null ? ${t} : ${Cn.default.vErrors}.concat(${t})`).assign(Cn.default.errors,(0,Ne._)`${Cn.default.vErrors}.length`),(0,MS.extendErrors)(e)},()=>e.error())}function ZS({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function fh(e,t,n){if(n===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof n=="function"?{ref:n}:{ref:n,code:(0,Ne.stringify)(n)})}function US(e,t,n=!1){return!t.length||t.some(r=>r==="array"?Array.isArray(e):r==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==r||n&&typeof e>"u")}wt.validSchemaType=US;function qS({schema:e,opts:t,self:n,errSchemaPath:r},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 "${r}": `+n.errorsText(o.validateSchema.errors);if(t.validateSchema==="log")n.logger.error(c);else throw new Error(c)}}wt.validateKeywordUsage=qS});var yh=z(Yt=>{"use strict";Object.defineProperty(Yt,"__esModule",{value:!0});Yt.extendSubschemaMode=Yt.extendSubschemaData=Yt.getSubschema=void 0;var kt=F(),gh=ee();function JS(e,{keyword:t,schemaProp:n,schema:r,schemaPath:o,errSchemaPath:s,topSchemaRef:i}){if(t!==void 0&&r!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let a=e.schema[t];return n===void 0?{schema:a,schemaPath:(0,kt._)`${e.schemaPath}${(0,kt.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:a[n],schemaPath:(0,kt._)`${e.schemaPath}${(0,kt.getProperty)(t)}${(0,kt.getProperty)(n)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,gh.escapeFragment)(n)}`}}if(r!==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:r,schemaPath:o,topSchemaRef:i,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}Yt.getSubschema=JS;function FS(e,t,{dataProp:n,dataPropType:r,data:o,dataTypes:s,propertyName:i}){if(o!==void 0&&n!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=t;if(n!==void 0){let{errorPath:u,dataPathArr:d,opts:l}=t,m=a.let("data",(0,kt._)`${t.data}${(0,kt.getProperty)(n)}`,!0);c(m),e.errorPath=(0,kt.str)`${u}${(0,gh.getErrorPath)(n,r,l.jsPropertySyntax)}`,e.parentDataProperty=(0,kt._)`${n}`,e.dataPathArr=[...d,e.parentDataProperty]}if(o!==void 0){let u=o instanceof kt.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=FS;function VS(e,{jtdDiscriminator:t,jtdMetadata:n,compositeRule:r,createErrors:o,allErrors:s}){r!==void 0&&(e.compositeRule=r),o!==void 0&&(e.createErrors=o),s!==void 0&&(e.allErrors=s),e.jtdDiscriminator=t,e.jtdMetadata=n}Yt.extendSubschemaMode=VS});var Bu=z((iA,_h)=>{"use strict";_h.exports=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){if(t.constructor!==n.constructor)return!1;var r,o,s;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(o=r;o--!==0;)if(!e(t[o],n[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(s=Object.keys(t),r=s.length,r!==Object.keys(n).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[o]))return!1;for(o=r;o--!==0;){var i=s[o];if(!e(t[i],n[i]))return!1}return!0}return t!==t&&n!==n}});var vh=z((aA,bh)=>{"use strict";var Xt=bh.exports=function(e,t,n){typeof t=="function"&&(n=t,t={}),n=t.cb||n;var r=typeof n=="function"?n:n.pre||function(){},o=n.post||function(){};Ks(t,r,o,e,"",e)};Xt.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Xt.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Xt.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Xt.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 Ks(e,t,n,r,o,s,i,a,c,u){if(r&&typeof r=="object"&&!Array.isArray(r)){t(r,o,s,i,a,c,u);for(var d in r){var l=r[d];if(Array.isArray(l)){if(d in Xt.arrayKeywords)for(var m=0;m<l.length;m++)Ks(e,t,n,l[m],o+"/"+d+"/"+m,s,o,d,r,m)}else if(d in Xt.propsKeywords){if(l&&typeof l=="object")for(var f in l)Ks(e,t,n,l[f],o+"/"+d+"/"+BS(f),s,o,d,r,f)}else(d in Xt.keywords||e.allKeys&&!(d in Xt.skipKeywords))&&Ks(e,t,n,l,o+"/"+d,s,o,d,r)}n(r,o,s,i,a,c,u)}}function BS(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var lo=z(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.getSchemaRefs=Fe.resolveUrl=Fe.normalizeId=Fe._getFullPath=Fe.getFullPath=Fe.inlineRef=void 0;var HS=ee(),WS=Bu(),KS=vh(),GS=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function QS(e,t=!0){return typeof e=="boolean"?!0:t===!0?!Hu(e):t?wh(e)<=t:!1}Fe.inlineRef=QS;var YS=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Hu(e){for(let t in e){if(YS.has(t))return!0;let n=e[t];if(Array.isArray(n)&&n.some(Hu)||typeof n=="object"&&Hu(n))return!0}return!1}function wh(e){let t=0;for(let n in e){if(n==="$ref")return 1/0;if(t++,!GS.has(n)&&(typeof e[n]=="object"&&(0,HS.eachItem)(e[n],r=>t+=wh(r)),t===1/0))return 1/0}return t}function kh(e,t="",n){n!==!1&&(t=fr(t));let r=e.parse(t);return xh(e,r)}Fe.getFullPath=kh;function xh(e,t){return e.serialize(t).split("#")[0]+"#"}Fe._getFullPath=xh;var XS=/#\/?$/;function fr(e){return e?e.replace(XS,""):""}Fe.normalizeId=fr;function e$(e,t,n){return n=fr(n),e.resolve(t,n)}Fe.resolveUrl=e$;var t$=/^[a-z_][-a-z0-9._]*$/i;function n$(e,t){if(typeof e=="boolean")return{};let{schemaId:n,uriResolver:r}=this.opts,o=fr(e[n]||t),s={"":o},i=kh(r,o,!1),a={},c=new Set;return KS(e,{allKeys:!0},(l,m,f,h)=>{if(h===void 0)return;let g=i+m,y=s[h];typeof l[n]=="string"&&(y=v.call(this,l[n])),w.call(this,l.$anchor),w.call(this,l.$dynamicAnchor),s[m]=y;function v(k){let j=this.opts.uriResolver.resolve;if(k=fr(y?j(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!==fr(g)&&(k[0]==="#"?(u(l,a[k],k),a[k]=l):this.refs[k]=g),k}function w(k){if(typeof k=="string"){if(!t$.test(k))throw new Error(`invalid anchor "${k}"`);v.call(this,`#${k}`)}}}),a;function u(l,m,f){if(m!==void 0&&!WS(l,m))throw d(f)}function d(l){return new Error(`reference "${l}" resolves to more than one schema`)}}Fe.getSchemaRefs=n$});var fo=z(en=>{"use strict";Object.defineProperty(en,"__esModule",{value:!0});en.getData=en.KeywordCxt=en.validateFunctionCode=void 0;var Th=rh(),Sh=uo(),Ku=Du(),Gs=uo(),r$=dh(),mo=hh(),Wu=yh(),C=F(),Z=At(),o$=lo(),Mt=ee(),po=co();function s$(e){if(Oh(e)&&(Ih(e),jh(e))){c$(e);return}Rh(e,()=>(0,Th.topBoolOrEmptySchema)(e))}en.validateFunctionCode=s$;function Rh({gen:e,validateName:t,schema:n,schemaEnv:r,opts:o},s){o.code.es5?e.func(t,(0,C._)`${Z.default.data}, ${Z.default.valCxt}`,r.$async,()=>{e.code((0,C._)`"use strict"; ${$h(n,o)}`),a$(e,o),e.code(s)}):e.func(t,(0,C._)`${Z.default.data}, ${i$(o)}`,r.$async,()=>e.code($h(n,o)).code(s))}function i$(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 a$(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 c$(e){let{schema:t,opts:n,gen:r}=e;Rh(e,()=>{n.$comment&&t.$comment&&Ch(e),m$(e),r.let(Z.default.vErrors,null),r.let(Z.default.errors,0),n.unevaluated&&u$(e),Eh(e),g$(e)})}function u$(e){let{gen:t,validateName:n}=e;e.evaluated=t.const("evaluated",(0,C._)`${n}.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 n=typeof e=="object"&&e[t.schemaId];return n&&(t.code.source||t.code.process)?(0,C._)`/*# sourceURL=${n} */`:C.nil}function d$(e,t){if(Oh(e)&&(Ih(e),jh(e))){l$(e,t);return}(0,Th.boolOrEmptySchema)(e,t)}function jh({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let n in e)if(t.RULES.all[n])return!0;return!1}function Oh(e){return typeof e.schema!="boolean"}function l$(e,t){let{schema:n,gen:r,opts:o}=e;o.$comment&&n.$comment&&Ch(e),f$(e),h$(e);let s=r.const("_errs",Z.default.errors);Eh(e,s),r.var(t,(0,C._)`${s} === ${Z.default.errors}`)}function Ih(e){(0,Mt.checkUnknownRules)(e),p$(e)}function Eh(e,t){if(e.opts.jtd)return zh(e,[],!1,t);let n=(0,Sh.getSchemaTypes)(e.schema),r=(0,Sh.coerceAndCheckDataType)(e,n);zh(e,n,!r,t)}function p$(e){let{schema:t,errSchemaPath:n,opts:r,self:o}=e;t.$ref&&r.ignoreKeywordsWithRef&&(0,Mt.schemaHasRulesButRef)(t,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${n}"`)}function m$(e){let{schema:t,opts:n}=e;t.default!==void 0&&n.useDefaults&&n.strictSchema&&(0,Mt.checkStrictMode)(e,"default is ignored in the schema root")}function f$(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,o$.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function h$(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function Ch({gen:e,schemaEnv:t,schema:n,errSchemaPath:r,opts:o}){let s=n.$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)`${r}/$comment`,a=e.scopeValue("root",{ref:t.root});e.code((0,C._)`${Z.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function g$(e){let{gen:t,schemaEnv:n,validateName:r,ValidationError:o,opts:s}=e;n.$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._)`${r}.errors`,Z.default.vErrors),s.unevaluated&&y$(e),t.return((0,C._)`${Z.default.errors} === 0`))}function y$({gen:e,evaluated:t,props:n,items:r}){n instanceof C.Name&&e.assign((0,C._)`${t}.props`,n),r instanceof C.Name&&e.assign((0,C._)`${t}.items`,r)}function zh(e,t,n,r){let{gen:o,schema:s,data:i,allErrors:a,opts:c,self:u}=e,{RULES:d}=u;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,Mt.schemaHasRulesButRef)(s,d))){o.block(()=>Mh(e,"$ref",d.all.$ref.definition));return}c.jtd||_$(e,t),o.block(()=>{for(let m of d.rules)l(m);l(d.post)});function l(m){(0,Ku.shouldUseGroup)(s,m)&&(m.type?(o.if((0,Gs.checkDataType)(m.type,i,c.strictNumbers)),Ph(e,m),t.length===1&&t[0]===m.type&&n&&(o.else(),(0,Gs.reportTypeError)(e)),o.endIf()):Ph(e,m),a||o.if((0,C._)`${Z.default.errors} === ${r||0}`))}}function Ph(e,t){let{gen:n,schema:r,opts:{useDefaults:o}}=e;o&&(0,r$.assignDefaults)(e,t.type),n.block(()=>{for(let s of t.rules)(0,Ku.shouldUseRule)(r,s)&&Mh(e,s.keyword,s.definition,t.type)})}function _$(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(b$(e,t),e.opts.allowUnionTypes||v$(e,t),w$(e,e.dataTypes))}function b$(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(n=>{Ah(e.dataTypes,n)||Gu(e,`type "${n}" not allowed by context "${e.dataTypes.join(",")}"`)}),x$(e,t)}}function v$(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&Gu(e,"use allowUnionTypes to allow union type keyword")}function w$(e,t){let n=e.self.RULES.all;for(let r in n){let o=n[r];if(typeof o=="object"&&(0,Ku.shouldUseRule)(e.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>k$(t,i))&&Gu(e,`missing type "${s.join(",")}" for keyword "${r}"`)}}}function k$(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function Ah(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function x$(e,t){let n=[];for(let r of e.dataTypes)Ah(t,r)?n.push(r):t.includes("integer")&&r==="number"&&n.push("integer");e.dataTypes=n}function Gu(e,t){let n=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${n}" (strictTypes)`,(0,Mt.checkStrictMode)(e,t,e.opts.strictTypes)}var Qs=class{constructor(t,n,r){if((0,mo.validateKeywordUsage)(t,n,r),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=r,this.data=t.data,this.schema=t.schema[r],this.$data=n.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Mt.schemaRefOrVal)(t,this.schema,r,this.$data),this.schemaType=n.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=n,this.$data)this.schemaCode=t.gen.const("vSchema",Nh(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,mo.validSchemaType)(this.schema,n.schemaType,n.allowUndefined))throw new Error(`${r} value must be ${JSON.stringify(n.schemaType)}`);("code"in n?n.trackErrors:n.errors!==!1)&&(this.errsCount=t.gen.const("_errs",Z.default.errors))}result(t,n,r){this.failResult((0,C.not)(t),n,r)}failResult(t,n,r){this.gen.if(t),r?r():this.error(),n?(this.gen.else(),n(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,n){this.failResult((0,C.not)(t),void 0,n)}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:n}=this;this.fail((0,C._)`${n} !== undefined && (${(0,C.or)(this.invalid$data(),t)})`)}error(t,n,r){if(n){this.setParams(n),this._error(t,r),this.setParams({});return}this._error(t,r)}_error(t,n){(t?po.reportExtraError:po.reportError)(this,this.def.error,n)}$dataError(){(0,po.reportError)(this,this.def.$dataError||po.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,po.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,n){n?Object.assign(this.params,t):this.params=t}block$data(t,n,r=C.nil){this.gen.block(()=>{this.check$data(t,r),n()})}check$data(t=C.nil,n=C.nil){if(!this.$data)return;let{gen:r,schemaCode:o,schemaType:s,def:i}=this;r.if((0,C.or)((0,C._)`${o} === undefined`,n)),t!==C.nil&&r.assign(t,!0),(s.length||i.validateSchema)&&(r.elseIf(this.invalid$data()),this.$dataError(),t!==C.nil&&r.assign(t,!1)),r.else()}invalid$data(){let{gen:t,schemaCode:n,schemaType:r,def:o,it:s}=this;return(0,C.or)(i(),a());function i(){if(r.length){if(!(n instanceof C.Name))throw new Error("ajv implementation error");let c=Array.isArray(r)?r:[r];return(0,C._)`${(0,Gs.checkDataTypes)(c,n,s.opts.strictNumbers,Gs.DataType.Wrong)}`}return C.nil}function a(){if(o.validateSchema){let c=t.scopeValue("validate$data",{ref:o.validateSchema});return(0,C._)`!${c}(${n})`}return C.nil}}subschema(t,n){let r=(0,Wu.getSubschema)(this.it,t);(0,Wu.extendSubschemaData)(r,this.it,t),(0,Wu.extendSubschemaMode)(r,t);let o={...this.it,...r,items:void 0,props:void 0};return d$(o,n),o}mergeEvaluated(t,n){let{it:r,gen:o}=this;r.opts.unevaluated&&(r.props!==!0&&t.props!==void 0&&(r.props=Mt.mergeEvaluated.props(o,t.props,r.props,n)),r.items!==!0&&t.items!==void 0&&(r.items=Mt.mergeEvaluated.items(o,t.items,r.items,n)))}mergeValidEvaluated(t,n){let{it:r,gen:o}=this;if(r.opts.unevaluated&&(r.props!==!0||r.items!==!0))return o.if(n,()=>this.mergeEvaluated(t,C.Name)),!0}};en.KeywordCxt=Qs;function Mh(e,t,n,r){let o=new Qs(e,n,t);"code"in n?n.code(o,r):o.$data&&n.validate?(0,mo.funcKeywordCode)(o,n):"macro"in n?(0,mo.macroKeywordCode)(o,n):(n.compile||n.validate)&&(0,mo.funcKeywordCode)(o,n)}var S$=/^\/(?:[^~]|~0|~1)*$/,$$=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Nh(e,{dataLevel:t,dataNames:n,dataPathArr:r}){let o,s;if(e==="")return Z.default.rootData;if(e[0]==="/"){if(!S$.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);o=e,s=Z.default.rootData}else{let u=$$.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 r[t-d]}if(d>t)throw new Error(c("data",d));if(s=n[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,Mt.unescapeJsonPointer)(u))}`,i=(0,C._)`${i} && ${s}`);return i;function c(u,d){return`Cannot access ${u} ${d} levels up, current level is ${t}`}}en.getData=Nh});var Ys=z(Yu=>{"use strict";Object.defineProperty(Yu,"__esModule",{value:!0});var Qu=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};Yu.default=Qu});var ho=z(td=>{"use strict";Object.defineProperty(td,"__esModule",{value:!0});var Xu=lo(),ed=class extends Error{constructor(t,n,r,o){super(o||`can't resolve reference ${r} from id ${n}`),this.missingRef=(0,Xu.resolveUrl)(t,n,r),this.missingSchema=(0,Xu.normalizeId)((0,Xu.getFullPath)(t,this.missingRef))}};td.default=ed});var ei=z(ot=>{"use strict";Object.defineProperty(ot,"__esModule",{value:!0});ot.resolveSchema=ot.getCompilingSchema=ot.resolveRef=ot.compileSchema=ot.SchemaEnv=void 0;var lt=F(),z$=Ys(),An=At(),pt=lo(),Lh=ee(),P$=fo(),hr=class{constructor(t){var n;this.refs={},this.dynamicAnchors={};let r;typeof t.schema=="object"&&(r=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(n=t.baseId)!==null&&n!==void 0?n:(0,pt.normalizeId)(r?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=r?.$async,this.refs={}}};ot.SchemaEnv=hr;function rd(e){let t=Dh.call(this,e);if(t)return t;let n=(0,pt.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:r,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new lt.CodeGen(this.scope,{es5:r,lines:o,ownProperties:s}),a;e.$async&&(a=i.scopeValue("Error",{ref:z$.default,code:(0,lt._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");e.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:An.default.data,parentData:An.default.parentData,parentDataProperty:An.default.parentDataProperty,dataNames:[An.default.data],dataPathArr:[lt.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,lt.stringify)(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:a,schema:e.schema,schemaEnv:e,rootId:n,baseId:e.baseId||n,schemaPath:lt.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,lt._)`""`,opts:this.opts,self:this},d;try{this._compilations.add(e),(0,P$.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let l=i.toString();d=`${i.scopeRefs(An.default.scope)}return ${l}`,this.opts.code.process&&(d=this.opts.code.process(d,e));let f=new Function(`${An.default.self}`,`${An.default.scope}`,d)(this,this.scope.get());if(this.scope.value(c,{ref:f}),f.errors=null,f.schema=e.schema,f.schemaEnv=e,e.$async&&(f.$async=!0),this.opts.code.source===!0&&(f.source={validateName:c,validateCode:l,scopeValues:i._values}),this.opts.unevaluated){let{props:h,items:g}=u;f.evaluated={props:h instanceof lt.Name?void 0:h,items:g instanceof lt.Name?void 0:g,dynamicProps:h instanceof lt.Name,dynamicItems:g instanceof lt.Name},f.source&&(f.source.evaluated=(0,lt.stringify)(f.evaluated))}return e.validate=f,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)}}ot.compileSchema=rd;function T$(e,t,n){var r;n=(0,pt.resolveUrl)(this.opts.uriResolver,t,n);let o=e.refs[n];if(o)return o;let s=O$.call(this,e,n);if(s===void 0){let i=(r=e.localRefs)===null||r===void 0?void 0:r[n],{schemaId:a}=this.opts;i&&(s=new hr({schema:i,schemaId:a,root:e,baseId:t}))}if(s!==void 0)return e.refs[n]=R$.call(this,s)}ot.resolveRef=T$;function R$(e){return(0,pt.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:rd.call(this,e)}function Dh(e){for(let t of this._compilations)if(j$(t,e))return t}ot.getCompilingSchema=Dh;function j$(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function O$(e,t){let n;for(;typeof(n=this.refs[t])=="string";)t=n;return n||this.schemas[t]||Xs.call(this,e,t)}function Xs(e,t){let n=this.opts.uriResolver.parse(t),r=(0,pt._getFullPath)(this.opts.uriResolver,n),o=(0,pt.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&r===o)return nd.call(this,n,e);let s=(0,pt.normalizeId)(r),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=Xs.call(this,e,i);return typeof a?.schema!="object"?void 0:nd.call(this,n,a)}if(typeof i?.schema=="object"){if(i.validate||rd.call(this,i),s===(0,pt.normalizeId)(t)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,pt.resolveUrl)(this.opts.uriResolver,o,u)),new hr({schema:a,schemaId:c,root:e,baseId:o})}return nd.call(this,n,i)}}ot.resolveSchema=Xs;var I$=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function nd(e,{baseId:t,schema:n,root:r}){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 n=="boolean")return;let c=n[(0,Lh.unescapeFragment)(a)];if(c===void 0)return;n=c;let u=typeof n=="object"&&n[this.opts.schemaId];!I$.has(a)&&u&&(t=(0,pt.resolveUrl)(this.opts.uriResolver,t,u))}let s;if(typeof n!="boolean"&&n.$ref&&!(0,Lh.schemaHasRulesButRef)(n,this.RULES)){let a=(0,pt.resolveUrl)(this.opts.uriResolver,t,n.$ref);s=Xs.call(this,r,a)}let{schemaId:i}=this.opts;if(s=s||new hr({schema:n,schemaId:i,root:r,baseId:t}),s.schema!==s.root.schema)return s}});var Zh=z((mA,E$)=>{E$.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 sd=z((fA,Fh)=>{"use strict";var C$=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),qh=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 od(e){let t="",n=0,r=0;for(r=0;r<e.length;r++)if(n=e[r].charCodeAt(0),n!==48){if(!(n>=48&&n<=57||n>=65&&n<=70||n>=97&&n<=102))return"";t+=e[r];break}for(r+=1;r<e.length;r++){if(n=e[r].charCodeAt(0),!(n>=48&&n<=57||n>=65&&n<=70||n>=97&&n<=102))return"";t+=e[r]}return t}var A$=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Uh(e){return e.length=0,!0}function M$(e,t,n){if(e.length){let r=od(e);if(r!=="")t.push(r);else return n.error=!0,!1;e.length=0}return!0}function N$(e){let t=0,n={error:!1,address:"",zone:""},r=[],o=[],s=!1,i=!1,a=M$;for(let c=0;c<e.length;c++){let u=e[c];if(!(u==="["||u==="]"))if(u===":"){if(s===!0&&(i=!0),!a(o,r,n))break;if(++t>7){n.error=!0;break}c>0&&e[c-1]===":"&&(s=!0),r.push(":");continue}else if(u==="%"){if(!a(o,r,n))break;a=Uh}else{o.push(u);continue}}return o.length&&(a===Uh?n.zone=o.join(""):i?r.push(o.join("")):r.push(od(o))),n.address=r.join(""),n}function Jh(e){if(L$(e,":")<2)return{host:e,isIPV6:!1};let t=N$(e);if(t.error)return{host:e,isIPV6:!1};{let n=t.address,r=t.address;return t.zone&&(n+="%"+t.zone,r+="%25"+t.zone),{host:n,isIPV6:!0,escapedHost:r}}}function L$(e,t){let n=0;for(let r=0;r<e.length;r++)e[r]===t&&n++;return n}function D$(e){let t=e,n=[],r=-1,o=0;for(;o=t.length;){if(o===1){if(t===".")break;if(t==="/"){n.push("/");break}else{n.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]==="/")){n.push("/");break}}else if(o===3&&t==="/.."){n.length!==0&&n.pop(),n.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),n.length!==0&&n.pop();continue}}if((r=t.indexOf("/",1))===-1){n.push(t);break}else n.push(t.slice(0,r)),t=t.slice(r)}return n.join("")}function Z$(e,t){let n=t!==!0?escape:unescape;return e.scheme!==void 0&&(e.scheme=n(e.scheme)),e.userinfo!==void 0&&(e.userinfo=n(e.userinfo)),e.host!==void 0&&(e.host=n(e.host)),e.path!==void 0&&(e.path=n(e.path)),e.query!==void 0&&(e.query=n(e.query)),e.fragment!==void 0&&(e.fragment=n(e.fragment)),e}function U$(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let n=unescape(e.host);if(!qh(n)){let r=Jh(n);r.isIPV6===!0?n=`[${r.escapedHost}]`:n=e.host}t.push(n)}return(typeof e.port=="number"||typeof e.port=="string")&&(t.push(":"),t.push(String(e.port))),t.length?t.join(""):void 0}Fh.exports={nonSimpleDomain:A$,recomposeAuthority:U$,normalizeComponentEncoding:Z$,removeDotSegments:D$,isIPv4:qh,isUUID:C$,normalizeIPv6:Jh,stringArrayToHexStripped:od}});var Kh=z((hA,Wh)=>{"use strict";var{isUUID:q$}=sd(),J$=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,F$=["http","https","ws","wss","urn","urn:uuid"];function V$(e){return F$.indexOf(e)!==-1}function id(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 Vh(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function Bh(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 B$(e){return e.secure=id(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function H$(e){if((e.port===(id(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,n]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=n,e.resourceName=void 0}return e.fragment=void 0,e}function W$(e,t){if(!e.path)return e.error="URN can not be parsed",e;let n=e.path.match(J$);if(n){let r=t.scheme||e.scheme||"urn";e.nid=n[1].toLowerCase(),e.nss=n[2];let o=`${r}:${t.nid||e.nid}`,s=ad(o);e.path=void 0,s&&(e=s.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function K$(e,t){if(e.nid===void 0)throw new Error("URN without nid cannot be serialized");let n=t.scheme||e.scheme||"urn",r=e.nid.toLowerCase(),o=`${n}:${t.nid||r}`,s=ad(o);s&&(e=s.serialize(e,t));let i=e,a=e.nss;return i.path=`${r||t.nid}:${a}`,t.skipEscape=!0,i}function G$(e,t){let n=e;return n.uuid=n.nss,n.nss=void 0,!t.tolerant&&(!n.uuid||!q$(n.uuid))&&(n.error=n.error||"UUID is not valid."),n}function Q$(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var Hh={scheme:"http",domainHost:!0,parse:Vh,serialize:Bh},Y$={scheme:"https",domainHost:Hh.domainHost,parse:Vh,serialize:Bh},ti={scheme:"ws",domainHost:!0,parse:B$,serialize:H$},X$={scheme:"wss",domainHost:ti.domainHost,parse:ti.parse,serialize:ti.serialize},ez={scheme:"urn",parse:W$,serialize:K$,skipNormalize:!0},tz={scheme:"urn:uuid",parse:G$,serialize:Q$,skipNormalize:!0},ni={http:Hh,https:Y$,ws:ti,wss:X$,urn:ez,"urn:uuid":tz};Object.setPrototypeOf(ni,null);function ad(e){return e&&(ni[e]||ni[e.toLowerCase()])||void 0}Wh.exports={wsIsSecure:id,SCHEMES:ni,isValidSchemeName:V$,getSchemeHandler:ad}});var Yh=z((gA,oi)=>{"use strict";var{normalizeIPv6:nz,removeDotSegments:go,recomposeAuthority:rz,normalizeComponentEncoding:ri,isIPv4:oz,nonSimpleDomain:sz}=sd(),{SCHEMES:iz,getSchemeHandler:Gh}=Kh();function az(e,t){return typeof e=="string"?e=xt(Nt(e,t),t):typeof e=="object"&&(e=Nt(xt(e,t),t)),e}function cz(e,t,n){let r=n?Object.assign({scheme:"null"},n):{scheme:"null"},o=Qh(Nt(e,r),Nt(t,r),r,!0);return r.skipEscape=!0,xt(o,r)}function Qh(e,t,n,r){let o={};return r||(e=Nt(xt(e,n),n),t=Nt(xt(t,n),n)),n=n||{},!n.tolerant&&t.scheme?(o.scheme=t.scheme,o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=go(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=go(t.path||""),o.query=t.query):(t.path?(t.path[0]==="/"?o.path=go(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=go(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 uz(e,t,n){return typeof e=="string"?(e=unescape(e),e=xt(ri(Nt(e,n),!0),{...n,skipEscape:!0})):typeof e=="object"&&(e=xt(ri(e,!0),{...n,skipEscape:!0})),typeof t=="string"?(t=unescape(t),t=xt(ri(Nt(t,n),!0),{...n,skipEscape:!0})):typeof t=="object"&&(t=xt(ri(t,!0),{...n,skipEscape:!0})),e.toLowerCase()===t.toLowerCase()}function xt(e,t){let n={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:""},r=Object.assign({},t),o=[],s=Gh(r.scheme||n.scheme);s&&s.serialize&&s.serialize(n,r),n.path!==void 0&&(r.skipEscape?n.path=unescape(n.path):(n.path=escape(n.path),n.scheme!==void 0&&(n.path=n.path.split("%3A").join(":")))),r.reference!=="suffix"&&n.scheme&&o.push(n.scheme,":");let i=rz(n);if(i!==void 0&&(r.reference!=="suffix"&&o.push("//"),o.push(i),n.path&&n.path[0]!=="/"&&o.push("/")),n.path!==void 0){let a=n.path;!r.absolutePath&&(!s||!s.absolutePath)&&(a=go(a)),i===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),o.push(a)}return n.query!==void 0&&o.push("?",n.query),n.fragment!==void 0&&o.push("#",n.fragment),o.join("")}var dz=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Nt(e,t){let n=Object.assign({},t),r={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},o=!1;n.reference==="suffix"&&(n.scheme?e=n.scheme+":"+e:e="//"+e);let s=e.match(dz);if(s){if(r.scheme=s[1],r.userinfo=s[3],r.host=s[4],r.port=parseInt(s[5],10),r.path=s[6]||"",r.query=s[7],r.fragment=s[8],isNaN(r.port)&&(r.port=s[5]),r.host)if(oz(r.host)===!1){let c=nz(r.host);r.host=c.host.toLowerCase(),o=c.isIPV6}else o=!0;r.scheme===void 0&&r.userinfo===void 0&&r.host===void 0&&r.port===void 0&&r.query===void 0&&!r.path?r.reference="same-document":r.scheme===void 0?r.reference="relative":r.fragment===void 0?r.reference="absolute":r.reference="uri",n.reference&&n.reference!=="suffix"&&n.reference!==r.reference&&(r.error=r.error||"URI is not a "+n.reference+" reference.");let i=Gh(n.scheme||r.scheme);if(!n.unicodeSupport&&(!i||!i.unicodeSupport)&&r.host&&(n.domainHost||i&&i.domainHost)&&o===!1&&sz(r.host))try{r.host=URL.domainToASCII(r.host.toLowerCase())}catch(a){r.error=r.error||"Host's domain name can not be converted to ASCII: "+a}(!i||i&&!i.skipNormalize)&&(e.indexOf("%")!==-1&&(r.scheme!==void 0&&(r.scheme=unescape(r.scheme)),r.host!==void 0&&(r.host=unescape(r.host))),r.path&&(r.path=escape(unescape(r.path))),r.fragment&&(r.fragment=encodeURI(decodeURIComponent(r.fragment)))),i&&i.parse&&i.parse(r,n)}else r.error=r.error||"URI can not be parsed.";return r}var cd={SCHEMES:iz,normalize:az,resolve:cz,resolveComponent:Qh,equal:uz,serialize:xt,parse:Nt};oi.exports=cd;oi.exports.default=cd;oi.exports.fastUri=cd});var eg=z(ud=>{"use strict";Object.defineProperty(ud,"__esModule",{value:!0});var Xh=Yh();Xh.code='require("ajv/dist/runtime/uri").default';ud.default=Xh});var cg=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 lz=fo();Object.defineProperty(ze,"KeywordCxt",{enumerable:!0,get:function(){return lz.KeywordCxt}});var gr=F();Object.defineProperty(ze,"_",{enumerable:!0,get:function(){return gr._}});Object.defineProperty(ze,"str",{enumerable:!0,get:function(){return gr.str}});Object.defineProperty(ze,"stringify",{enumerable:!0,get:function(){return gr.stringify}});Object.defineProperty(ze,"nil",{enumerable:!0,get:function(){return gr.nil}});Object.defineProperty(ze,"Name",{enumerable:!0,get:function(){return gr.Name}});Object.defineProperty(ze,"CodeGen",{enumerable:!0,get:function(){return gr.CodeGen}});var pz=Ys(),sg=ho(),mz=Lu(),yo=ei(),fz=F(),_o=lo(),si=uo(),ld=ee(),tg=Zh(),hz=eg(),ig=(e,t)=>new RegExp(e,t);ig.code="new RegExp";var gz=["removeAdditional","useDefaults","coerceTypes"],yz=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),_z={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."},bz={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},ng=200;function vz(e){var t,n,r,o,s,i,a,c,u,d,l,m,f,h,g,y,v,w,k,j,M,Ee,Ge,qn,Ei;let $r=e.strict,Ci=(t=e.code)===null||t===void 0?void 0:t.optimize,Jl=Ci===!0||Ci===void 0?1:Ci||0,Fl=(r=(n=e.code)===null||n===void 0?void 0:n.regExp)!==null&&r!==void 0?r:ig,_b=(o=e.uriResolver)!==null&&o!==void 0?o:hz.default;return{strictSchema:(i=(s=e.strictSchema)!==null&&s!==void 0?s:$r)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=e.strictNumbers)!==null&&a!==void 0?a:$r)!==null&&c!==void 0?c:!0,strictTypes:(d=(u=e.strictTypes)!==null&&u!==void 0?u:$r)!==null&&d!==void 0?d:"log",strictTuples:(m=(l=e.strictTuples)!==null&&l!==void 0?l:$r)!==null&&m!==void 0?m:"log",strictRequired:(h=(f=e.strictRequired)!==null&&f!==void 0?f:$r)!==null&&h!==void 0?h:!1,code:e.code?{...e.code,optimize:Jl,regExp:Fl}:{optimize:Jl,regExp:Fl},loopRequired:(g=e.loopRequired)!==null&&g!==void 0?g:ng,loopEnum:(y=e.loopEnum)!==null&&y!==void 0?y:ng,meta:(v=e.meta)!==null&&v!==void 0?v:!0,messages:(w=e.messages)!==null&&w!==void 0?w:!0,inlineRefs:(k=e.inlineRefs)!==null&&k!==void 0?k:!0,schemaId:(j=e.schemaId)!==null&&j!==void 0?j:"$id",addUsedSchema:(M=e.addUsedSchema)!==null&&M!==void 0?M:!0,validateSchema:(Ee=e.validateSchema)!==null&&Ee!==void 0?Ee:!0,validateFormats:(Ge=e.validateFormats)!==null&&Ge!==void 0?Ge:!0,unicodeRegExp:(qn=e.unicodeRegExp)!==null&&qn!==void 0?qn:!0,int32range:(Ei=e.int32range)!==null&&Ei!==void 0?Ei:!0,uriResolver:_b}}var bo=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...vz(t)};let{es5:n,lines:r}=this.opts.code;this.scope=new fz.ValueScope({scope:{},prefixes:yz,es5:n,lines:r}),this.logger=zz(t.logger);let o=t.validateFormats;t.validateFormats=!1,this.RULES=(0,mz.getRules)(),rg.call(this,_z,t,"NOT SUPPORTED"),rg.call(this,bz,t,"DEPRECATED","warn"),this._metaOpts=Sz.call(this),t.formats&&kz.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&xz.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),wz.call(this),t.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:n,schemaId:r}=this.opts,o=tg;r==="id"&&(o={...tg},o.id=o.$id,delete o.$id),n&&t&&this.addMetaSchema(o,o[r],!1)}defaultMeta(){let{meta:t,schemaId:n}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[n]||t:void 0}validate(t,n){let r;if(typeof t=="string"){if(r=this.getSchema(t),!r)throw new Error(`no schema with key or ref "${t}"`)}else r=this.compile(t);let o=r(n);return"$async"in r||(this.errors=r.errors),o}compile(t,n){let r=this._addSchema(t,n);return r.validate||this._compileSchemaEnv(r)}compileAsync(t,n){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:r}=this.opts;return o.call(this,t,n);async function o(d,l){await s.call(this,d.$schema);let m=this._addSchema(d,l);return m.validate||i.call(this,m)}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 sg.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,n)}async function u(d){let l=this._loading[d];if(l)return l;try{return await(this._loading[d]=r(d))}finally{delete this._loading[d]}}}addSchema(t,n,r,o=this.opts.validateSchema){if(Array.isArray(t)){for(let i of t)this.addSchema(i,void 0,r,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 n=(0,_o.normalizeId)(n||s),this._checkUnique(n),this.schemas[n]=this._addSchema(t,r,n,o,!0),this}addMetaSchema(t,n,r=this.opts.validateSchema){return this.addSchema(t,n,!0,r),this}validateSchema(t,n){if(typeof t=="boolean")return!0;let r;if(r=t.$schema,r!==void 0&&typeof r!="string")throw new Error("$schema must be a string");if(r=r||this.opts.defaultMeta||this.defaultMeta(),!r)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let o=this.validate(r,t);if(!o&&n){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 n;for(;typeof(n=og.call(this,t))=="string";)t=n;if(n===void 0){let{schemaId:r}=this.opts,o=new yo.SchemaEnv({schema:{},schemaId:r});if(n=yo.resolveSchema.call(this,o,t),!n)return;this.refs[t]=n}return n.validate||this._compileSchemaEnv(n)}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 n=og.call(this,t);return typeof n=="object"&&this._cache.delete(n.schema),delete this.schemas[t],delete this.refs[t],this}case"object":{let n=t;this._cache.delete(n);let r=t[this.opts.schemaId];return r&&(r=(0,_o.normalizeId)(r),delete this.schemas[r],delete this.refs[r]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let n of t)this.addKeyword(n);return this}addKeyword(t,n){let r;if(typeof t=="string")r=t,typeof n=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),n.keyword=r);else if(typeof t=="object"&&n===void 0){if(n=t,r=n.keyword,Array.isArray(r)&&!r.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(Tz.call(this,r,n),!n)return(0,ld.eachItem)(r,s=>dd.call(this,s)),this;jz.call(this,n);let o={...n,type:(0,si.getJSONTypes)(n.type),schemaType:(0,si.getJSONTypes)(n.schemaType)};return(0,ld.eachItem)(r,o.type.length===0?s=>dd.call(this,s,o):s=>o.type.forEach(i=>dd.call(this,s,o,i))),this}getKeyword(t){let n=this.RULES.all[t];return typeof n=="object"?n.definition:!!n}removeKeyword(t){let{RULES:n}=this;delete n.keywords[t],delete n.all[t];for(let r of n.rules){let o=r.rules.findIndex(s=>s.keyword===t);o>=0&&r.rules.splice(o,1)}return this}addFormat(t,n){return typeof n=="string"&&(n=new RegExp(n)),this.formats[t]=n,this}errorsText(t=this.errors,{separator:n=", ",dataVar:r="data"}={}){return!t||t.length===0?"No errors":t.map(o=>`${r}${o.instancePath} ${o.message}`).reduce((o,s)=>o+n+s)}$dataMetaSchema(t,n){let r=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let o of n){let s=o.split("/").slice(1),i=t;for(let a of s)i=i[a];for(let a in r){let c=r[a];if(typeof c!="object")continue;let{$data:u}=c.definition,d=i[a];u&&d&&(i[a]=ag(d))}}return t}_removeAllSchemas(t,n){for(let r in t){let o=t[r];(!n||n.test(r))&&(typeof o=="string"?delete t[r]:o&&!o.meta&&(this._cache.delete(o.schema),delete t[r]))}}_addSchema(t,n,r,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;r=(0,_o.normalizeId)(i||r);let u=_o.getSchemaRefs.call(this,t,r);return c=new yo.SchemaEnv({schema:t,schemaId:a,meta:n,baseId:r,localRefs:u}),this._cache.set(c.schema,c),s&&!r.startsWith("#")&&(r&&this._checkUnique(r),this.refs[r]=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):yo.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let n=this.opts;this.opts=this._metaOpts;try{yo.compileSchema.call(this,t)}finally{this.opts=n}}};bo.ValidationError=pz.default;bo.MissingRefError=sg.default;ze.default=bo;function rg(e,t,n,r="error"){for(let o in e){let s=o;s in t&&this.logger[r](`${n}: option ${o}. ${e[s]}`)}}function og(e){return e=(0,_o.normalizeId)(e),this.schemas[e]||this.refs[e]}function wz(){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 kz(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function xz(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 n=e[t];n.keyword||(n.keyword=t),this.addKeyword(n)}}function Sz(){let e={...this.opts};for(let t of gz)delete e[t];return e}var $z={log(){},warn(){},error(){}};function zz(e){if(e===!1)return $z;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 Pz=/^[a-z_$][a-z0-9_$:-]*$/i;function Tz(e,t){let{RULES:n}=this;if((0,ld.eachItem)(e,r=>{if(n.keywords[r])throw new Error(`Keyword ${r} is already defined`);if(!Pz.test(r))throw new Error(`Keyword ${r} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function dd(e,t,n){var r;let o=t?.post;if(n&&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===n);if(i||(i={type:n,rules:[]},s.rules.push(i)),s.keywords[e]=!0,!t)return;let a={keyword:e,definition:{...t,type:(0,si.getJSONTypes)(t.type),schemaType:(0,si.getJSONTypes)(t.schemaType)}};t.before?Rz.call(this,i,a,t.before):i.rules.push(a),s.all[e]=a,(r=t.implements)===null||r===void 0||r.forEach(c=>this.addKeyword(c))}function Rz(e,t,n){let r=e.rules.findIndex(o=>o.keyword===n);r>=0?e.rules.splice(r,0,t):(e.rules.push(t),this.logger.warn(`rule ${n} is not defined`))}function jz(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=ag(t)),e.validateSchema=this.compile(t,!0))}var Oz={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function ag(e){return{anyOf:[e,Oz]}}});var ug=z(pd=>{"use strict";Object.defineProperty(pd,"__esModule",{value:!0});var Iz={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};pd.default=Iz});var mg=z(Mn=>{"use strict";Object.defineProperty(Mn,"__esModule",{value:!0});Mn.callRef=Mn.getValidate=void 0;var Ez=ho(),dg=rt(),Ve=F(),yr=At(),lg=ei(),ii=ee(),Cz={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:n,it:r}=e,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=r,{root:u}=s;if((n==="#"||n==="#/")&&o===u.baseId)return l();let d=lg.resolveRef.call(c,u,o,n);if(d===void 0)throw new Ez.default(r.opts.uriResolver,o,n);if(d instanceof lg.SchemaEnv)return m(d);return f(d);function l(){if(s===u)return ai(e,i,s,s.$async);let h=t.scopeValue("root",{ref:u});return ai(e,(0,Ve._)`${h}.validate`,u,u.$async)}function m(h){let g=pg(e,h);ai(e,g,h,h.$async)}function f(h){let g=t.scopeValue("schema",a.code.source===!0?{ref:h,code:(0,Ve.stringify)(h)}:{ref:h}),y=t.name("valid"),v=e.subschema({schema:h,dataTypes:[],schemaPath:Ve.nil,topSchemaRef:g,errSchemaPath:n},y);e.mergeEvaluated(v),e.ok(y)}}};function pg(e,t){let{gen:n}=e;return t.validate?n.scopeValue("validate",{ref:t.validate}):(0,Ve._)`${n.scopeValue("wrapper",{ref:t})}.validate`}Mn.getValidate=pg;function ai(e,t,n,r){let{gen:o,it:s}=e,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?yr.default.this:Ve.nil;r?d():l();function d(){if(!a.$async)throw new Error("async schema referenced by sync schema");let h=o.let("valid");o.try(()=>{o.code((0,Ve._)`await ${(0,dg.callValidateCode)(e,t,u)}`),f(t),i||o.assign(h,!0)},g=>{o.if((0,Ve._)`!(${g} instanceof ${s.ValidationError})`,()=>o.throw(g)),m(g),i||o.assign(h,!1)}),e.ok(h)}function l(){e.result((0,dg.callValidateCode)(e,t,u),()=>f(t),()=>m(t))}function m(h){let g=(0,Ve._)`${h}.errors`;o.assign(yr.default.vErrors,(0,Ve._)`${yr.default.vErrors} === null ? ${g} : ${yr.default.vErrors}.concat(${g})`),o.assign(yr.default.errors,(0,Ve._)`${yr.default.vErrors}.length`)}function f(h){var g;if(!s.opts.unevaluated)return;let y=(g=n?.validate)===null||g===void 0?void 0:g.evaluated;if(s.props!==!0)if(y&&!y.dynamicProps)y.props!==void 0&&(s.props=ii.mergeEvaluated.props(o,y.props,s.props));else{let v=o.var("props",(0,Ve._)`${h}.evaluated.props`);s.props=ii.mergeEvaluated.props(o,v,s.props,Ve.Name)}if(s.items!==!0)if(y&&!y.dynamicItems)y.items!==void 0&&(s.items=ii.mergeEvaluated.items(o,y.items,s.items));else{let v=o.var("items",(0,Ve._)`${h}.evaluated.items`);s.items=ii.mergeEvaluated.items(o,v,s.items,Ve.Name)}}}Mn.callRef=ai;Mn.default=Cz});var fg=z(md=>{"use strict";Object.defineProperty(md,"__esModule",{value:!0});var Az=ug(),Mz=mg(),Nz=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Az.default,Mz.default];md.default=Nz});var hg=z(fd=>{"use strict";Object.defineProperty(fd,"__esModule",{value:!0});var ci=F(),tn=ci.operators,ui={maximum:{okStr:"<=",ok:tn.LTE,fail:tn.GT},minimum:{okStr:">=",ok:tn.GTE,fail:tn.LT},exclusiveMaximum:{okStr:"<",ok:tn.LT,fail:tn.GTE},exclusiveMinimum:{okStr:">",ok:tn.GT,fail:tn.LTE}},Lz={message:({keyword:e,schemaCode:t})=>(0,ci.str)`must be ${ui[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,ci._)`{comparison: ${ui[e].okStr}, limit: ${t}}`},Dz={keyword:Object.keys(ui),type:"number",schemaType:"number",$data:!0,error:Lz,code(e){let{keyword:t,data:n,schemaCode:r}=e;e.fail$data((0,ci._)`${n} ${ui[t].fail} ${r} || isNaN(${n})`)}};fd.default=Dz});var gg=z(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});var vo=F(),Zz={message:({schemaCode:e})=>(0,vo.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,vo._)`{multipleOf: ${e}}`},Uz={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Zz,code(e){let{gen:t,data:n,schemaCode:r,it:o}=e,s=o.opts.multipleOfPrecision,i=t.let("res"),a=s?(0,vo._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,vo._)`${i} !== parseInt(${i})`;e.fail$data((0,vo._)`(${r} === 0 || (${i} = ${n}/${r}, ${a}))`)}};hd.default=Uz});var _g=z(gd=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});function yg(e){let t=e.length,n=0,r=0,o;for(;r<t;)n++,o=e.charCodeAt(r++),o>=55296&&o<=56319&&r<t&&(o=e.charCodeAt(r),(o&64512)===56320&&r++);return n}gd.default=yg;yg.code='require("ajv/dist/runtime/ucs2length").default'});var bg=z(yd=>{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});var Nn=F(),qz=ee(),Jz=_g(),Fz={message({keyword:e,schemaCode:t}){let n=e==="maxLength"?"more":"fewer";return(0,Nn.str)`must NOT have ${n} than ${t} characters`},params:({schemaCode:e})=>(0,Nn._)`{limit: ${e}}`},Vz={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Fz,code(e){let{keyword:t,data:n,schemaCode:r,it:o}=e,s=t==="maxLength"?Nn.operators.GT:Nn.operators.LT,i=o.opts.unicode===!1?(0,Nn._)`${n}.length`:(0,Nn._)`${(0,qz.useFunc)(e.gen,Jz.default)}(${n})`;e.fail$data((0,Nn._)`${i} ${s} ${r}`)}};yd.default=Vz});var vg=z(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});var Bz=rt(),di=F(),Hz={message:({schemaCode:e})=>(0,di.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,di._)`{pattern: ${e}}`},Wz={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:Hz,code(e){let{data:t,$data:n,schema:r,schemaCode:o,it:s}=e,i=s.opts.unicodeRegExp?"u":"",a=n?(0,di._)`(new RegExp(${o}, ${i}))`:(0,Bz.usePattern)(e,r);e.fail$data((0,di._)`!${a}.test(${t})`)}};_d.default=Wz});var wg=z(bd=>{"use strict";Object.defineProperty(bd,"__esModule",{value:!0});var wo=F(),Kz={message({keyword:e,schemaCode:t}){let n=e==="maxProperties"?"more":"fewer";return(0,wo.str)`must NOT have ${n} than ${t} properties`},params:({schemaCode:e})=>(0,wo._)`{limit: ${e}}`},Gz={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:Kz,code(e){let{keyword:t,data:n,schemaCode:r}=e,o=t==="maxProperties"?wo.operators.GT:wo.operators.LT;e.fail$data((0,wo._)`Object.keys(${n}).length ${o} ${r}`)}};bd.default=Gz});var kg=z(vd=>{"use strict";Object.defineProperty(vd,"__esModule",{value:!0});var ko=rt(),xo=F(),Qz=ee(),Yz={message:({params:{missingProperty:e}})=>(0,xo.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,xo._)`{missingProperty: ${e}}`},Xz={keyword:"required",type:"object",schemaType:"array",$data:!0,error:Yz,code(e){let{gen:t,schema:n,schemaCode:r,data:o,$data:s,it:i}=e,{opts:a}=i;if(!s&&n.length===0)return;let c=n.length>=a.loopRequired;if(i.allErrors?u():d(),a.strictRequired){let f=e.parentSchema.properties,{definedProperties:h}=e.it;for(let g of n)if(f?.[g]===void 0&&!h.has(g)){let y=i.schemaEnv.baseId+i.errSchemaPath,v=`required property "${g}" is not defined at "${y}" (strictRequired)`;(0,Qz.checkStrictMode)(i,v,i.opts.strictRequired)}}function u(){if(c||s)e.block$data(xo.nil,l);else for(let f of n)(0,ko.checkReportMissingProp)(e,f)}function d(){let f=t.let("missing");if(c||s){let h=t.let("valid",!0);e.block$data(h,()=>m(f,h)),e.ok(h)}else t.if((0,ko.checkMissingProp)(e,n,f)),(0,ko.reportMissingProp)(e,f),t.else()}function l(){t.forOf("prop",r,f=>{e.setParams({missingProperty:f}),t.if((0,ko.noPropertyInData)(t,o,f,a.ownProperties),()=>e.error())})}function m(f,h){e.setParams({missingProperty:f}),t.forOf(f,r,()=>{t.assign(h,(0,ko.propertyInData)(t,o,f,a.ownProperties)),t.if((0,xo.not)(h),()=>{e.error(),t.break()})},xo.nil)}}};vd.default=Xz});var xg=z(wd=>{"use strict";Object.defineProperty(wd,"__esModule",{value:!0});var So=F(),e1={message({keyword:e,schemaCode:t}){let n=e==="maxItems"?"more":"fewer";return(0,So.str)`must NOT have ${n} than ${t} items`},params:({schemaCode:e})=>(0,So._)`{limit: ${e}}`},t1={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:e1,code(e){let{keyword:t,data:n,schemaCode:r}=e,o=t==="maxItems"?So.operators.GT:So.operators.LT;e.fail$data((0,So._)`${n}.length ${o} ${r}`)}};wd.default=t1});var li=z(kd=>{"use strict";Object.defineProperty(kd,"__esModule",{value:!0});var Sg=Bu();Sg.code='require("ajv/dist/runtime/equal").default';kd.default=Sg});var $g=z(Sd=>{"use strict";Object.defineProperty(Sd,"__esModule",{value:!0});var xd=uo(),Pe=F(),n1=ee(),r1=li(),o1={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}}`},s1={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:o1,code(e){let{gen:t,data:n,$data:r,schema:o,parentSchema:s,schemaCode:i,it:a}=e;if(!r&&!o)return;let c=t.let("valid"),u=s.items?(0,xd.getSchemaTypes)(s.items):[];e.block$data(c,d,(0,Pe._)`${i} === false`),e.ok(c);function d(){let h=t.let("i",(0,Pe._)`${n}.length`),g=t.let("j");e.setParams({i:h,j:g}),t.assign(c,!0),t.if((0,Pe._)`${h} > 1`,()=>(l()?m:f)(h,g))}function l(){return u.length>0&&!u.some(h=>h==="object"||h==="array")}function m(h,g){let y=t.name("item"),v=(0,xd.checkDataTypes)(u,y,a.opts.strictNumbers,xd.DataType.Wrong),w=t.const("indices",(0,Pe._)`{}`);t.for((0,Pe._)`;${h}--;`,()=>{t.let(y,(0,Pe._)`${n}[${h}]`),t.if(v,(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}] = ${h}`)})}function f(h,g){let y=(0,n1.useFunc)(t,r1.default),v=t.name("outer");t.label(v).for((0,Pe._)`;${h}--;`,()=>t.for((0,Pe._)`${g} = ${h}; ${g}--;`,()=>t.if((0,Pe._)`${y}(${n}[${h}], ${n}[${g}])`,()=>{e.error(),t.assign(c,!1).break(v)})))}}};Sd.default=s1});var zg=z(zd=>{"use strict";Object.defineProperty(zd,"__esModule",{value:!0});var $d=F(),i1=ee(),a1=li(),c1={message:"must be equal to constant",params:({schemaCode:e})=>(0,$d._)`{allowedValue: ${e}}`},u1={keyword:"const",$data:!0,error:c1,code(e){let{gen:t,data:n,$data:r,schemaCode:o,schema:s}=e;r||s&&typeof s=="object"?e.fail$data((0,$d._)`!${(0,i1.useFunc)(t,a1.default)}(${n}, ${o})`):e.fail((0,$d._)`${s} !== ${n}`)}};zd.default=u1});var Pg=z(Pd=>{"use strict";Object.defineProperty(Pd,"__esModule",{value:!0});var $o=F(),d1=ee(),l1=li(),p1={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,$o._)`{allowedValues: ${e}}`},m1={keyword:"enum",schemaType:"array",$data:!0,error:p1,code(e){let{gen:t,data:n,$data:r,schema:o,schemaCode:s,it:i}=e;if(!r&&o.length===0)throw new Error("enum must have non-empty array");let a=o.length>=i.opts.loopEnum,c,u=()=>c??(c=(0,d1.useFunc)(t,l1.default)),d;if(a||r)d=t.let("valid"),e.block$data(d,l);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let f=t.const("vSchema",s);d=(0,$o.or)(...o.map((h,g)=>m(f,g)))}e.pass(d);function l(){t.assign(d,!1),t.forOf("v",s,f=>t.if((0,$o._)`${u()}(${n}, ${f})`,()=>t.assign(d,!0).break()))}function m(f,h){let g=o[h];return typeof g=="object"&&g!==null?(0,$o._)`${u()}(${n}, ${f}[${h}])`:(0,$o._)`${n} === ${g}`}}};Pd.default=m1});var Tg=z(Td=>{"use strict";Object.defineProperty(Td,"__esModule",{value:!0});var f1=hg(),h1=gg(),g1=bg(),y1=vg(),_1=wg(),b1=kg(),v1=xg(),w1=$g(),k1=zg(),x1=Pg(),S1=[f1.default,h1.default,g1.default,y1.default,_1.default,b1.default,v1.default,w1.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},k1.default,x1.default];Td.default=S1});var jd=z(zo=>{"use strict";Object.defineProperty(zo,"__esModule",{value:!0});zo.validateAdditionalItems=void 0;var Ln=F(),Rd=ee(),$1={message:({params:{len:e}})=>(0,Ln.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Ln._)`{limit: ${e}}`},z1={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:$1,code(e){let{parentSchema:t,it:n}=e,{items:r}=t;if(!Array.isArray(r)){(0,Rd.checkStrictMode)(n,'"additionalItems" is ignored when "items" is not an array of schemas');return}Rg(e,r)}};function Rg(e,t){let{gen:n,schema:r,data:o,keyword:s,it:i}=e;i.items=!0;let a=n.const("len",(0,Ln._)`${o}.length`);if(r===!1)e.setParams({len:t.length}),e.pass((0,Ln._)`${a} <= ${t.length}`);else if(typeof r=="object"&&!(0,Rd.alwaysValidSchema)(i,r)){let u=n.var("valid",(0,Ln._)`${a} <= ${t.length}`);n.if((0,Ln.not)(u),()=>c(u)),e.ok(u)}function c(u){n.forRange("i",t.length,a,d=>{e.subschema({keyword:s,dataProp:d,dataPropType:Rd.Type.Num},u),i.allErrors||n.if((0,Ln.not)(u),()=>n.break())})}}zo.validateAdditionalItems=Rg;zo.default=z1});var Od=z(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.validateTuple=void 0;var jg=F(),pi=ee(),P1=rt(),T1={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:n}=e;if(Array.isArray(t))return Og(e,"additionalItems",t);n.items=!0,!(0,pi.alwaysValidSchema)(n,t)&&e.ok((0,P1.validateArray)(e))}};function Og(e,t,n=e.schema){let{gen:r,parentSchema:o,data:s,keyword:i,it:a}=e;d(o),a.opts.unevaluated&&n.length&&a.items!==!0&&(a.items=pi.mergeEvaluated.items(r,n.length,a.items));let c=r.name("valid"),u=r.const("len",(0,jg._)`${s}.length`);n.forEach((l,m)=>{(0,pi.alwaysValidSchema)(a,l)||(r.if((0,jg._)`${u} > ${m}`,()=>e.subschema({keyword:i,schemaProp:m,dataProp:m},c)),e.ok(c))});function d(l){let{opts:m,errSchemaPath:f}=a,h=n.length,g=h===l.minItems&&(h===l.maxItems||l[t]===!1);if(m.strictTuples&&!g){let y=`"${i}" is ${h}-tuple, but minItems or maxItems/${t} are not specified or different at path "${f}"`;(0,pi.checkStrictMode)(a,y,m.strictTuples)}}}Po.validateTuple=Og;Po.default=T1});var Ig=z(Id=>{"use strict";Object.defineProperty(Id,"__esModule",{value:!0});var R1=Od(),j1={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,R1.validateTuple)(e,"items")};Id.default=j1});var Cg=z(Ed=>{"use strict";Object.defineProperty(Ed,"__esModule",{value:!0});var Eg=F(),O1=ee(),I1=rt(),E1=jd(),C1={message:({params:{len:e}})=>(0,Eg.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Eg._)`{limit: ${e}}`},A1={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:C1,code(e){let{schema:t,parentSchema:n,it:r}=e,{prefixItems:o}=n;r.items=!0,!(0,O1.alwaysValidSchema)(r,t)&&(o?(0,E1.validateAdditionalItems)(e,o):e.ok((0,I1.validateArray)(e)))}};Ed.default=A1});var Ag=z(Cd=>{"use strict";Object.defineProperty(Cd,"__esModule",{value:!0});var st=F(),mi=ee(),M1={message:({params:{min:e,max:t}})=>t===void 0?(0,st.str)`must contain at least ${e} valid item(s)`:(0,st.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,st._)`{minContains: ${e}}`:(0,st._)`{minContains: ${e}, maxContains: ${t}}`},N1={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:M1,code(e){let{gen:t,schema:n,parentSchema:r,data:o,it:s}=e,i,a,{minContains:c,maxContains:u}=r;s.opts.next?(i=c===void 0?1:c,a=u):i=1;let d=t.const("len",(0,st._)`${o}.length`);if(e.setParams({min:i,max:a}),a===void 0&&i===0){(0,mi.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,mi.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,mi.alwaysValidSchema)(s,n)){let g=(0,st._)`${d} >= ${i}`;a!==void 0&&(g=(0,st._)`${g} && ${d} <= ${a}`),e.pass(g);return}s.items=!0;let l=t.name("valid");a===void 0&&i===1?f(l,()=>t.if(l,()=>t.break())):i===0?(t.let(l,!0),a!==void 0&&t.if((0,st._)`${o}.length > 0`,m)):(t.let(l,!1),m()),e.result(l,()=>e.reset());function m(){let g=t.name("_valid"),y=t.let("count",0);f(g,()=>t.if(g,()=>h(y)))}function f(g,y){t.forRange("i",0,d,v=>{e.subschema({keyword:"contains",dataProp:v,dataPropType:mi.Type.Num,compositeRule:!0},g),y()})}function h(g){t.code((0,st._)`${g}++`),a===void 0?t.if((0,st._)`${g} >= ${i}`,()=>t.assign(l,!0).break()):(t.if((0,st._)`${g} > ${a}`,()=>t.assign(l,!1).break()),i===1?t.assign(l,!0):t.if((0,st._)`${g} >= ${i}`,()=>t.assign(l,!0)))}}};Cd.default=N1});var Lg=z(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.validateSchemaDeps=St.validatePropertyDeps=St.error=void 0;var Ad=F(),L1=ee(),To=rt();St.error={message:({params:{property:e,depsCount:t,deps:n}})=>{let r=t===1?"property":"properties";return(0,Ad.str)`must have ${r} ${n} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:n,missingProperty:r}})=>(0,Ad._)`{property: ${e},
7
+ || ${i} === "boolean" || ${o} === null`).assign(a,(0,q._)`[${o}]`)}}}function vS({gen:e,parentData:t,parentDataProperty:n},r){e.if((0,q._)`${t} !== undefined`,()=>e.assign((0,q._)`${t}[${n}]`,r))}function Zu(e,t,n,r=pr.Correct){let o=r===pr.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 r===pr.Correct?s:(0,q.not)(s);function i(a=q.nil){return(0,q.and)((0,q._)`typeof ${t} == "number"`,a,n?(0,q._)`isFinite(${t})`:q.nil)}}Ie.checkDataType=Zu;function Uu(e,t,n,r){if(e.length===1)return Zu(e[0],t,n,r);let o,s=(0,ah.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,Zu(i,t,n,r));return o}Ie.checkDataTypes=Uu;var wS={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,q._)`{type: ${e}}`:(0,q._)`{type: ${t}}`};function qu(e){let t=kS(e);(0,hS.reportError)(t,wS)}Ie.reportTypeError=qu;function kS(e){let{gen:t,data:n,schema:r}=e,o=(0,ah.schemaRefOrVal)(e,r,"type");return{gen:t,keyword:"type",data:n,schema:r.type,schemaCode:o,schemaValue:o,parentSchema:r,params:{},it:e}}});var lh=z(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});Ws.assignDefaults=void 0;var mr=F(),xS=ee();function SS(e,t){let{properties:n,items:r}=e.schema;if(t==="object"&&n)for(let o in n)dh(e,o,n[o].default);else t==="array"&&Array.isArray(r)&&r.forEach((o,s)=>dh(e,s,o.default))}Ws.assignDefaults=SS;function dh(e,t,n){let{gen:r,compositeRule:o,data:s,opts:i}=e;if(n===void 0)return;let a=(0,mr._)`${s}${(0,mr.getProperty)(t)}`;if(o){(0,xS.checkStrictMode)(e,`default is ignored for: ${a}`);return}let c=(0,mr._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,mr._)`${c} || ${a} === null || ${a} === ""`),r.if(c,(0,mr._)`${a} = ${(0,mr.stringify)(n)}`)}});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(),Ju=ee(),Qt=At(),$S=ee();function zS(e,t){let{gen:n,data:r,it:o}=e;n.if(Vu(n,r,t,o.opts.ownProperties),()=>{e.setParams({missingProperty:(0,de._)`${t}`},!0),e.error()})}oe.checkReportMissingProp=zS;function PS({gen:e,data:t,it:{opts:n}},r,o){return(0,de.or)(...r.map(s=>(0,de.and)(Vu(e,t,s,n.ownProperties),(0,de._)`${o} = ${s}`)))}oe.checkMissingProp=PS;function TS(e,t){e.setParams({missingProperty:t},!0),e.error()}oe.reportMissingProp=TS;function ph(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,de._)`Object.prototype.hasOwnProperty`})}oe.hasPropFunc=ph;function Fu(e,t,n){return(0,de._)`${ph(e)}.call(${t}, ${n})`}oe.isOwnProperty=Fu;function RS(e,t,n,r){let o=(0,de._)`${t}${(0,de.getProperty)(n)} !== undefined`;return r?(0,de._)`${o} && ${Fu(e,t,n)}`:o}oe.propertyInData=RS;function Vu(e,t,n,r){let o=(0,de._)`${t}${(0,de.getProperty)(n)} === undefined`;return r?(0,de.or)(o,(0,de.not)(Fu(e,t,n))):o}oe.noPropertyInData=Vu;function mh(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}oe.allSchemaProperties=mh;function jS(e,t){return mh(t).filter(n=>!(0,Ju.alwaysValidSchema)(e,t[n]))}oe.schemaProperties=jS;function OS({schemaCode:e,data:t,it:{gen:n,topSchemaRef:r,schemaPath:o,errorPath:s},it:i},a,c,u){let d=u?(0,de._)`${e}, ${t}, ${r}${o}`:t,l=[[Qt.default.instancePath,(0,de.strConcat)(Qt.default.instancePath,s)],[Qt.default.parentData,i.parentData],[Qt.default.parentDataProperty,i.parentDataProperty],[Qt.default.rootData,Qt.default.rootData]];i.opts.dynamicRef&&l.push([Qt.default.dynamicAnchors,Qt.default.dynamicAnchors]);let p=(0,de._)`${d}, ${n.object(...l)}`;return c!==de.nil?(0,de._)`${a}.call(${c}, ${p})`:(0,de._)`${a}(${p})`}oe.callValidateCode=OS;var IS=(0,de._)`new RegExp`;function ES({gen:e,it:{opts:t}},n){let r=t.unicodeRegExp?"u":"",{regExp:o}=t.code,s=o(n,r);return e.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,de._)`${o.code==="new RegExp"?IS:(0,$S.useFunc)(e,o)}(${n}, ${r})`})}oe.usePattern=ES;function CS(e){let{gen:t,data:n,keyword:r,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._)`${n}.length`);t.forRange("i",0,c,u=>{e.subschema({keyword:r,dataProp:u,dataPropType:Ju.Type.Num},s),t.if((0,de.not)(s),a)})}}oe.validateArray=CS;function AS(e){let{gen:t,schema:n,keyword:r,it:o}=e;if(!Array.isArray(n))throw new Error("ajv implementation error");if(n.some(c=>(0,Ju.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let i=t.let("valid",!1),a=t.name("_valid");t.block(()=>n.forEach((c,u)=>{let d=e.subschema({keyword:r,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=AS});var gh=z(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.validateKeywordUsage=wt.validSchemaType=wt.funcKeywordCode=wt.macroKeywordCode=void 0;var Ne=F(),Cn=At(),MS=rt(),NS=co();function LS(e,t){let{gen:n,keyword:r,schema:o,parentSchema:s,it:i}=e,a=t.macro.call(i.self,o,s,i),c=hh(n,r,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let u=n.name("valid");e.subschema({schema:a,schemaPath:Ne.nil,errSchemaPath:`${i.errSchemaPath}/${r}`,topSchemaRef:c,compositeRule:!0},u),e.pass(u,()=>e.error(!0))}wt.macroKeywordCode=LS;function DS(e,t){var n;let{gen:r,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=e;US(c,t);let u=!a&&t.compile?t.compile.call(c.self,s,i,c):t.validate,d=hh(r,o,u),l=r.let("valid");e.block$data(l,p),e.ok((n=t.valid)!==null&&n!==void 0?n:l);function p(){if(t.errors===!1)g(),t.modifying&&fh(e),y(()=>e.error());else{let v=t.async?h():f();t.modifying&&fh(e),y(()=>ZS(e,v))}}function h(){let v=r.let("ruleErrs",null);return r.try(()=>g((0,Ne._)`await `),w=>r.assign(l,!1).if((0,Ne._)`${w} instanceof ${c.ValidationError}`,()=>r.assign(v,(0,Ne._)`${w}.errors`),()=>r.throw(w))),v}function f(){let v=(0,Ne._)`${d}.errors`;return r.assign(v,null),g(Ne.nil),v}function g(v=t.async?(0,Ne._)`await `:Ne.nil){let w=c.opts.passContext?Cn.default.this:Cn.default.self,k=!("compile"in t&&!a||t.schema===!1);r.assign(l,(0,Ne._)`${v}${(0,MS.callValidateCode)(e,d,w,k)}`,t.modifying)}function y(v){var w;r.if((0,Ne.not)((w=t.valid)!==null&&w!==void 0?w:l),v)}}wt.funcKeywordCode=DS;function fh(e){let{gen:t,data:n,it:r}=e;t.if(r.parentData,()=>t.assign(n,(0,Ne._)`${r.parentData}[${r.parentDataProperty}]`))}function ZS(e,t){let{gen:n}=e;n.if((0,Ne._)`Array.isArray(${t})`,()=>{n.assign(Cn.default.vErrors,(0,Ne._)`${Cn.default.vErrors} === null ? ${t} : ${Cn.default.vErrors}.concat(${t})`).assign(Cn.default.errors,(0,Ne._)`${Cn.default.vErrors}.length`),(0,NS.extendErrors)(e)},()=>e.error())}function US({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function hh(e,t,n){if(n===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof n=="function"?{ref:n}:{ref:n,code:(0,Ne.stringify)(n)})}function qS(e,t,n=!1){return!t.length||t.some(r=>r==="array"?Array.isArray(e):r==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==r||n&&typeof e>"u")}wt.validSchemaType=qS;function JS({schema:e,opts:t,self:n,errSchemaPath:r},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 "${r}": `+n.errorsText(o.validateSchema.errors);if(t.validateSchema==="log")n.logger.error(c);else throw new Error(c)}}wt.validateKeywordUsage=JS});var _h=z(Yt=>{"use strict";Object.defineProperty(Yt,"__esModule",{value:!0});Yt.extendSubschemaMode=Yt.extendSubschemaData=Yt.getSubschema=void 0;var kt=F(),yh=ee();function FS(e,{keyword:t,schemaProp:n,schema:r,schemaPath:o,errSchemaPath:s,topSchemaRef:i}){if(t!==void 0&&r!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let a=e.schema[t];return n===void 0?{schema:a,schemaPath:(0,kt._)`${e.schemaPath}${(0,kt.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:a[n],schemaPath:(0,kt._)`${e.schemaPath}${(0,kt.getProperty)(t)}${(0,kt.getProperty)(n)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,yh.escapeFragment)(n)}`}}if(r!==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:r,schemaPath:o,topSchemaRef:i,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}Yt.getSubschema=FS;function VS(e,t,{dataProp:n,dataPropType:r,data:o,dataTypes:s,propertyName:i}){if(o!==void 0&&n!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=t;if(n!==void 0){let{errorPath:u,dataPathArr:d,opts:l}=t,p=a.let("data",(0,kt._)`${t.data}${(0,kt.getProperty)(n)}`,!0);c(p),e.errorPath=(0,kt.str)`${u}${(0,yh.getErrorPath)(n,r,l.jsPropertySyntax)}`,e.parentDataProperty=(0,kt._)`${n}`,e.dataPathArr=[...d,e.parentDataProperty]}if(o!==void 0){let u=o instanceof kt.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=VS;function BS(e,{jtdDiscriminator:t,jtdMetadata:n,compositeRule:r,createErrors:o,allErrors:s}){r!==void 0&&(e.compositeRule=r),o!==void 0&&(e.createErrors=o),s!==void 0&&(e.allErrors=s),e.jtdDiscriminator=t,e.jtdMetadata=n}Yt.extendSubschemaMode=BS});var Bu=z((aA,bh)=>{"use strict";bh.exports=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){if(t.constructor!==n.constructor)return!1;var r,o,s;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(o=r;o--!==0;)if(!e(t[o],n[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(s=Object.keys(t),r=s.length,r!==Object.keys(n).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[o]))return!1;for(o=r;o--!==0;){var i=s[o];if(!e(t[i],n[i]))return!1}return!0}return t!==t&&n!==n}});var wh=z((cA,vh)=>{"use strict";var Xt=vh.exports=function(e,t,n){typeof t=="function"&&(n=t,t={}),n=t.cb||n;var r=typeof n=="function"?n:n.pre||function(){},o=n.post||function(){};Ks(t,r,o,e,"",e)};Xt.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Xt.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Xt.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Xt.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 Ks(e,t,n,r,o,s,i,a,c,u){if(r&&typeof r=="object"&&!Array.isArray(r)){t(r,o,s,i,a,c,u);for(var d in r){var l=r[d];if(Array.isArray(l)){if(d in Xt.arrayKeywords)for(var p=0;p<l.length;p++)Ks(e,t,n,l[p],o+"/"+d+"/"+p,s,o,d,r,p)}else if(d in Xt.propsKeywords){if(l&&typeof l=="object")for(var h in l)Ks(e,t,n,l[h],o+"/"+d+"/"+HS(h),s,o,d,r,h)}else(d in Xt.keywords||e.allKeys&&!(d in Xt.skipKeywords))&&Ks(e,t,n,l,o+"/"+d,s,o,d,r)}n(r,o,s,i,a,c,u)}}function HS(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var lo=z(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.getSchemaRefs=Fe.resolveUrl=Fe.normalizeId=Fe._getFullPath=Fe.getFullPath=Fe.inlineRef=void 0;var WS=ee(),KS=Bu(),GS=wh(),QS=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function YS(e,t=!0){return typeof e=="boolean"?!0:t===!0?!Hu(e):t?kh(e)<=t:!1}Fe.inlineRef=YS;var XS=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Hu(e){for(let t in e){if(XS.has(t))return!0;let n=e[t];if(Array.isArray(n)&&n.some(Hu)||typeof n=="object"&&Hu(n))return!0}return!1}function kh(e){let t=0;for(let n in e){if(n==="$ref")return 1/0;if(t++,!QS.has(n)&&(typeof e[n]=="object"&&(0,WS.eachItem)(e[n],r=>t+=kh(r)),t===1/0))return 1/0}return t}function xh(e,t="",n){n!==!1&&(t=fr(t));let r=e.parse(t);return Sh(e,r)}Fe.getFullPath=xh;function Sh(e,t){return e.serialize(t).split("#")[0]+"#"}Fe._getFullPath=Sh;var e$=/#\/?$/;function fr(e){return e?e.replace(e$,""):""}Fe.normalizeId=fr;function t$(e,t,n){return n=fr(n),e.resolve(t,n)}Fe.resolveUrl=t$;var n$=/^[a-z_][-a-z0-9._]*$/i;function r$(e,t){if(typeof e=="boolean")return{};let{schemaId:n,uriResolver:r}=this.opts,o=fr(e[n]||t),s={"":o},i=xh(r,o,!1),a={},c=new Set;return GS(e,{allKeys:!0},(l,p,h,f)=>{if(f===void 0)return;let g=i+p,y=s[f];typeof l[n]=="string"&&(y=v.call(this,l[n])),w.call(this,l.$anchor),w.call(this,l.$dynamicAnchor),s[p]=y;function v(k){let j=this.opts.uriResolver.resolve;if(k=fr(y?j(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!==fr(g)&&(k[0]==="#"?(u(l,a[k],k),a[k]=l):this.refs[k]=g),k}function w(k){if(typeof k=="string"){if(!n$.test(k))throw new Error(`invalid anchor "${k}"`);v.call(this,`#${k}`)}}}),a;function u(l,p,h){if(p!==void 0&&!KS(l,p))throw d(h)}function d(l){return new Error(`reference "${l}" resolves to more than one schema`)}}Fe.getSchemaRefs=r$});var fo=z(en=>{"use strict";Object.defineProperty(en,"__esModule",{value:!0});en.getData=en.KeywordCxt=en.validateFunctionCode=void 0;var Rh=oh(),$h=uo(),Ku=Du(),Gs=uo(),o$=lh(),mo=gh(),Wu=_h(),C=F(),Z=At(),s$=lo(),Mt=ee(),po=co();function i$(e){if(Ih(e)&&(Eh(e),Oh(e))){u$(e);return}jh(e,()=>(0,Rh.topBoolOrEmptySchema)(e))}en.validateFunctionCode=i$;function jh({gen:e,validateName:t,schema:n,schemaEnv:r,opts:o},s){o.code.es5?e.func(t,(0,C._)`${Z.default.data}, ${Z.default.valCxt}`,r.$async,()=>{e.code((0,C._)`"use strict"; ${zh(n,o)}`),c$(e,o),e.code(s)}):e.func(t,(0,C._)`${Z.default.data}, ${a$(o)}`,r.$async,()=>e.code(zh(n,o)).code(s))}function a$(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 c$(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 u$(e){let{schema:t,opts:n,gen:r}=e;jh(e,()=>{n.$comment&&t.$comment&&Ah(e),f$(e),r.let(Z.default.vErrors,null),r.let(Z.default.errors,0),n.unevaluated&&d$(e),Ch(e),y$(e)})}function d$(e){let{gen:t,validateName:n}=e;e.evaluated=t.const("evaluated",(0,C._)`${n}.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 zh(e,t){let n=typeof e=="object"&&e[t.schemaId];return n&&(t.code.source||t.code.process)?(0,C._)`/*# sourceURL=${n} */`:C.nil}function l$(e,t){if(Ih(e)&&(Eh(e),Oh(e))){p$(e,t);return}(0,Rh.boolOrEmptySchema)(e,t)}function Oh({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let n in e)if(t.RULES.all[n])return!0;return!1}function Ih(e){return typeof e.schema!="boolean"}function p$(e,t){let{schema:n,gen:r,opts:o}=e;o.$comment&&n.$comment&&Ah(e),h$(e),g$(e);let s=r.const("_errs",Z.default.errors);Ch(e,s),r.var(t,(0,C._)`${s} === ${Z.default.errors}`)}function Eh(e){(0,Mt.checkUnknownRules)(e),m$(e)}function Ch(e,t){if(e.opts.jtd)return Ph(e,[],!1,t);let n=(0,$h.getSchemaTypes)(e.schema),r=(0,$h.coerceAndCheckDataType)(e,n);Ph(e,n,!r,t)}function m$(e){let{schema:t,errSchemaPath:n,opts:r,self:o}=e;t.$ref&&r.ignoreKeywordsWithRef&&(0,Mt.schemaHasRulesButRef)(t,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${n}"`)}function f$(e){let{schema:t,opts:n}=e;t.default!==void 0&&n.useDefaults&&n.strictSchema&&(0,Mt.checkStrictMode)(e,"default is ignored in the schema root")}function h$(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,s$.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function g$(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function Ah({gen:e,schemaEnv:t,schema:n,errSchemaPath:r,opts:o}){let s=n.$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)`${r}/$comment`,a=e.scopeValue("root",{ref:t.root});e.code((0,C._)`${Z.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function y$(e){let{gen:t,schemaEnv:n,validateName:r,ValidationError:o,opts:s}=e;n.$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._)`${r}.errors`,Z.default.vErrors),s.unevaluated&&_$(e),t.return((0,C._)`${Z.default.errors} === 0`))}function _$({gen:e,evaluated:t,props:n,items:r}){n instanceof C.Name&&e.assign((0,C._)`${t}.props`,n),r instanceof C.Name&&e.assign((0,C._)`${t}.items`,r)}function Ph(e,t,n,r){let{gen:o,schema:s,data:i,allErrors:a,opts:c,self:u}=e,{RULES:d}=u;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,Mt.schemaHasRulesButRef)(s,d))){o.block(()=>Nh(e,"$ref",d.all.$ref.definition));return}c.jtd||b$(e,t),o.block(()=>{for(let p of d.rules)l(p);l(d.post)});function l(p){(0,Ku.shouldUseGroup)(s,p)&&(p.type?(o.if((0,Gs.checkDataType)(p.type,i,c.strictNumbers)),Th(e,p),t.length===1&&t[0]===p.type&&n&&(o.else(),(0,Gs.reportTypeError)(e)),o.endIf()):Th(e,p),a||o.if((0,C._)`${Z.default.errors} === ${r||0}`))}}function Th(e,t){let{gen:n,schema:r,opts:{useDefaults:o}}=e;o&&(0,o$.assignDefaults)(e,t.type),n.block(()=>{for(let s of t.rules)(0,Ku.shouldUseRule)(r,s)&&Nh(e,s.keyword,s.definition,t.type)})}function b$(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(v$(e,t),e.opts.allowUnionTypes||w$(e,t),k$(e,e.dataTypes))}function v$(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(n=>{Mh(e.dataTypes,n)||Gu(e,`type "${n}" not allowed by context "${e.dataTypes.join(",")}"`)}),S$(e,t)}}function w$(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&Gu(e,"use allowUnionTypes to allow union type keyword")}function k$(e,t){let n=e.self.RULES.all;for(let r in n){let o=n[r];if(typeof o=="object"&&(0,Ku.shouldUseRule)(e.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>x$(t,i))&&Gu(e,`missing type "${s.join(",")}" for keyword "${r}"`)}}}function x$(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function Mh(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function S$(e,t){let n=[];for(let r of e.dataTypes)Mh(t,r)?n.push(r):t.includes("integer")&&r==="number"&&n.push("integer");e.dataTypes=n}function Gu(e,t){let n=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${n}" (strictTypes)`,(0,Mt.checkStrictMode)(e,t,e.opts.strictTypes)}var Qs=class{constructor(t,n,r){if((0,mo.validateKeywordUsage)(t,n,r),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=r,this.data=t.data,this.schema=t.schema[r],this.$data=n.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Mt.schemaRefOrVal)(t,this.schema,r,this.$data),this.schemaType=n.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=n,this.$data)this.schemaCode=t.gen.const("vSchema",Lh(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,mo.validSchemaType)(this.schema,n.schemaType,n.allowUndefined))throw new Error(`${r} value must be ${JSON.stringify(n.schemaType)}`);("code"in n?n.trackErrors:n.errors!==!1)&&(this.errsCount=t.gen.const("_errs",Z.default.errors))}result(t,n,r){this.failResult((0,C.not)(t),n,r)}failResult(t,n,r){this.gen.if(t),r?r():this.error(),n?(this.gen.else(),n(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,n){this.failResult((0,C.not)(t),void 0,n)}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:n}=this;this.fail((0,C._)`${n} !== undefined && (${(0,C.or)(this.invalid$data(),t)})`)}error(t,n,r){if(n){this.setParams(n),this._error(t,r),this.setParams({});return}this._error(t,r)}_error(t,n){(t?po.reportExtraError:po.reportError)(this,this.def.error,n)}$dataError(){(0,po.reportError)(this,this.def.$dataError||po.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,po.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,n){n?Object.assign(this.params,t):this.params=t}block$data(t,n,r=C.nil){this.gen.block(()=>{this.check$data(t,r),n()})}check$data(t=C.nil,n=C.nil){if(!this.$data)return;let{gen:r,schemaCode:o,schemaType:s,def:i}=this;r.if((0,C.or)((0,C._)`${o} === undefined`,n)),t!==C.nil&&r.assign(t,!0),(s.length||i.validateSchema)&&(r.elseIf(this.invalid$data()),this.$dataError(),t!==C.nil&&r.assign(t,!1)),r.else()}invalid$data(){let{gen:t,schemaCode:n,schemaType:r,def:o,it:s}=this;return(0,C.or)(i(),a());function i(){if(r.length){if(!(n instanceof C.Name))throw new Error("ajv implementation error");let c=Array.isArray(r)?r:[r];return(0,C._)`${(0,Gs.checkDataTypes)(c,n,s.opts.strictNumbers,Gs.DataType.Wrong)}`}return C.nil}function a(){if(o.validateSchema){let c=t.scopeValue("validate$data",{ref:o.validateSchema});return(0,C._)`!${c}(${n})`}return C.nil}}subschema(t,n){let r=(0,Wu.getSubschema)(this.it,t);(0,Wu.extendSubschemaData)(r,this.it,t),(0,Wu.extendSubschemaMode)(r,t);let o={...this.it,...r,items:void 0,props:void 0};return l$(o,n),o}mergeEvaluated(t,n){let{it:r,gen:o}=this;r.opts.unevaluated&&(r.props!==!0&&t.props!==void 0&&(r.props=Mt.mergeEvaluated.props(o,t.props,r.props,n)),r.items!==!0&&t.items!==void 0&&(r.items=Mt.mergeEvaluated.items(o,t.items,r.items,n)))}mergeValidEvaluated(t,n){let{it:r,gen:o}=this;if(r.opts.unevaluated&&(r.props!==!0||r.items!==!0))return o.if(n,()=>this.mergeEvaluated(t,C.Name)),!0}};en.KeywordCxt=Qs;function Nh(e,t,n,r){let o=new Qs(e,n,t);"code"in n?n.code(o,r):o.$data&&n.validate?(0,mo.funcKeywordCode)(o,n):"macro"in n?(0,mo.macroKeywordCode)(o,n):(n.compile||n.validate)&&(0,mo.funcKeywordCode)(o,n)}var $$=/^\/(?:[^~]|~0|~1)*$/,z$=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Lh(e,{dataLevel:t,dataNames:n,dataPathArr:r}){let o,s;if(e==="")return Z.default.rootData;if(e[0]==="/"){if(!$$.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);o=e,s=Z.default.rootData}else{let u=z$.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 r[t-d]}if(d>t)throw new Error(c("data",d));if(s=n[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,Mt.unescapeJsonPointer)(u))}`,i=(0,C._)`${i} && ${s}`);return i;function c(u,d){return`Cannot access ${u} ${d} levels up, current level is ${t}`}}en.getData=Lh});var Ys=z(Yu=>{"use strict";Object.defineProperty(Yu,"__esModule",{value:!0});var Qu=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};Yu.default=Qu});var ho=z(td=>{"use strict";Object.defineProperty(td,"__esModule",{value:!0});var Xu=lo(),ed=class extends Error{constructor(t,n,r,o){super(o||`can't resolve reference ${r} from id ${n}`),this.missingRef=(0,Xu.resolveUrl)(t,n,r),this.missingSchema=(0,Xu.normalizeId)((0,Xu.getFullPath)(t,this.missingRef))}};td.default=ed});var ei=z(ot=>{"use strict";Object.defineProperty(ot,"__esModule",{value:!0});ot.resolveSchema=ot.getCompilingSchema=ot.resolveRef=ot.compileSchema=ot.SchemaEnv=void 0;var pt=F(),P$=Ys(),An=At(),mt=lo(),Dh=ee(),T$=fo(),hr=class{constructor(t){var n;this.refs={},this.dynamicAnchors={};let r;typeof t.schema=="object"&&(r=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(n=t.baseId)!==null&&n!==void 0?n:(0,mt.normalizeId)(r?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=r?.$async,this.refs={}}};ot.SchemaEnv=hr;function rd(e){let t=Zh.call(this,e);if(t)return t;let n=(0,mt.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:r,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new pt.CodeGen(this.scope,{es5:r,lines:o,ownProperties:s}),a;e.$async&&(a=i.scopeValue("Error",{ref:P$.default,code:(0,pt._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");e.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:An.default.data,parentData:An.default.parentData,parentDataProperty:An.default.parentDataProperty,dataNames:[An.default.data],dataPathArr:[pt.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,pt.stringify)(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:a,schema:e.schema,schemaEnv:e,rootId:n,baseId:e.baseId||n,schemaPath:pt.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,pt._)`""`,opts:this.opts,self:this},d;try{this._compilations.add(e),(0,T$.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);let l=i.toString();d=`${i.scopeRefs(An.default.scope)}return ${l}`,this.opts.code.process&&(d=this.opts.code.process(d,e));let h=new Function(`${An.default.self}`,`${An.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 pt.Name?void 0:f,items:g instanceof pt.Name?void 0:g,dynamicProps:f instanceof pt.Name,dynamicItems:g instanceof pt.Name},h.source&&(h.source.evaluated=(0,pt.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)}}ot.compileSchema=rd;function R$(e,t,n){var r;n=(0,mt.resolveUrl)(this.opts.uriResolver,t,n);let o=e.refs[n];if(o)return o;let s=I$.call(this,e,n);if(s===void 0){let i=(r=e.localRefs)===null||r===void 0?void 0:r[n],{schemaId:a}=this.opts;i&&(s=new hr({schema:i,schemaId:a,root:e,baseId:t}))}if(s!==void 0)return e.refs[n]=j$.call(this,s)}ot.resolveRef=R$;function j$(e){return(0,mt.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:rd.call(this,e)}function Zh(e){for(let t of this._compilations)if(O$(t,e))return t}ot.getCompilingSchema=Zh;function O$(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function I$(e,t){let n;for(;typeof(n=this.refs[t])=="string";)t=n;return n||this.schemas[t]||Xs.call(this,e,t)}function Xs(e,t){let n=this.opts.uriResolver.parse(t),r=(0,mt._getFullPath)(this.opts.uriResolver,n),o=(0,mt.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&r===o)return nd.call(this,n,e);let s=(0,mt.normalizeId)(r),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=Xs.call(this,e,i);return typeof a?.schema!="object"?void 0:nd.call(this,n,a)}if(typeof i?.schema=="object"){if(i.validate||rd.call(this,i),s===(0,mt.normalizeId)(t)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,mt.resolveUrl)(this.opts.uriResolver,o,u)),new hr({schema:a,schemaId:c,root:e,baseId:o})}return nd.call(this,n,i)}}ot.resolveSchema=Xs;var E$=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function nd(e,{baseId:t,schema:n,root:r}){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 n=="boolean")return;let c=n[(0,Dh.unescapeFragment)(a)];if(c===void 0)return;n=c;let u=typeof n=="object"&&n[this.opts.schemaId];!E$.has(a)&&u&&(t=(0,mt.resolveUrl)(this.opts.uriResolver,t,u))}let s;if(typeof n!="boolean"&&n.$ref&&!(0,Dh.schemaHasRulesButRef)(n,this.RULES)){let a=(0,mt.resolveUrl)(this.opts.uriResolver,t,n.$ref);s=Xs.call(this,r,a)}let{schemaId:i}=this.opts;if(s=s||new hr({schema:n,schemaId:i,root:r,baseId:t}),s.schema!==s.root.schema)return s}});var Uh=z((fA,C$)=>{C$.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 sd=z((hA,Vh)=>{"use strict";var A$=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Jh=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 od(e){let t="",n=0,r=0;for(r=0;r<e.length;r++)if(n=e[r].charCodeAt(0),n!==48){if(!(n>=48&&n<=57||n>=65&&n<=70||n>=97&&n<=102))return"";t+=e[r];break}for(r+=1;r<e.length;r++){if(n=e[r].charCodeAt(0),!(n>=48&&n<=57||n>=65&&n<=70||n>=97&&n<=102))return"";t+=e[r]}return t}var M$=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function qh(e){return e.length=0,!0}function N$(e,t,n){if(e.length){let r=od(e);if(r!=="")t.push(r);else return n.error=!0,!1;e.length=0}return!0}function L$(e){let t=0,n={error:!1,address:"",zone:""},r=[],o=[],s=!1,i=!1,a=N$;for(let c=0;c<e.length;c++){let u=e[c];if(!(u==="["||u==="]"))if(u===":"){if(s===!0&&(i=!0),!a(o,r,n))break;if(++t>7){n.error=!0;break}c>0&&e[c-1]===":"&&(s=!0),r.push(":");continue}else if(u==="%"){if(!a(o,r,n))break;a=qh}else{o.push(u);continue}}return o.length&&(a===qh?n.zone=o.join(""):i?r.push(o.join("")):r.push(od(o))),n.address=r.join(""),n}function Fh(e){if(D$(e,":")<2)return{host:e,isIPV6:!1};let t=L$(e);if(t.error)return{host:e,isIPV6:!1};{let n=t.address,r=t.address;return t.zone&&(n+="%"+t.zone,r+="%25"+t.zone),{host:n,isIPV6:!0,escapedHost:r}}}function D$(e,t){let n=0;for(let r=0;r<e.length;r++)e[r]===t&&n++;return n}function Z$(e){let t=e,n=[],r=-1,o=0;for(;o=t.length;){if(o===1){if(t===".")break;if(t==="/"){n.push("/");break}else{n.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]==="/")){n.push("/");break}}else if(o===3&&t==="/.."){n.length!==0&&n.pop(),n.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),n.length!==0&&n.pop();continue}}if((r=t.indexOf("/",1))===-1){n.push(t);break}else n.push(t.slice(0,r)),t=t.slice(r)}return n.join("")}function U$(e,t){let n=t!==!0?escape:unescape;return e.scheme!==void 0&&(e.scheme=n(e.scheme)),e.userinfo!==void 0&&(e.userinfo=n(e.userinfo)),e.host!==void 0&&(e.host=n(e.host)),e.path!==void 0&&(e.path=n(e.path)),e.query!==void 0&&(e.query=n(e.query)),e.fragment!==void 0&&(e.fragment=n(e.fragment)),e}function q$(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let n=unescape(e.host);if(!Jh(n)){let r=Fh(n);r.isIPV6===!0?n=`[${r.escapedHost}]`:n=e.host}t.push(n)}return(typeof e.port=="number"||typeof e.port=="string")&&(t.push(":"),t.push(String(e.port))),t.length?t.join(""):void 0}Vh.exports={nonSimpleDomain:M$,recomposeAuthority:q$,normalizeComponentEncoding:U$,removeDotSegments:Z$,isIPv4:Jh,isUUID:A$,normalizeIPv6:Fh,stringArrayToHexStripped:od}});var Gh=z((gA,Kh)=>{"use strict";var{isUUID:J$}=sd(),F$=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,V$=["http","https","ws","wss","urn","urn:uuid"];function B$(e){return V$.indexOf(e)!==-1}function id(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 Bh(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function Hh(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 H$(e){return e.secure=id(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function W$(e){if((e.port===(id(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,n]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=n,e.resourceName=void 0}return e.fragment=void 0,e}function K$(e,t){if(!e.path)return e.error="URN can not be parsed",e;let n=e.path.match(F$);if(n){let r=t.scheme||e.scheme||"urn";e.nid=n[1].toLowerCase(),e.nss=n[2];let o=`${r}:${t.nid||e.nid}`,s=ad(o);e.path=void 0,s&&(e=s.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function G$(e,t){if(e.nid===void 0)throw new Error("URN without nid cannot be serialized");let n=t.scheme||e.scheme||"urn",r=e.nid.toLowerCase(),o=`${n}:${t.nid||r}`,s=ad(o);s&&(e=s.serialize(e,t));let i=e,a=e.nss;return i.path=`${r||t.nid}:${a}`,t.skipEscape=!0,i}function Q$(e,t){let n=e;return n.uuid=n.nss,n.nss=void 0,!t.tolerant&&(!n.uuid||!J$(n.uuid))&&(n.error=n.error||"UUID is not valid."),n}function Y$(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var Wh={scheme:"http",domainHost:!0,parse:Bh,serialize:Hh},X$={scheme:"https",domainHost:Wh.domainHost,parse:Bh,serialize:Hh},ti={scheme:"ws",domainHost:!0,parse:H$,serialize:W$},ez={scheme:"wss",domainHost:ti.domainHost,parse:ti.parse,serialize:ti.serialize},tz={scheme:"urn",parse:K$,serialize:G$,skipNormalize:!0},nz={scheme:"urn:uuid",parse:Q$,serialize:Y$,skipNormalize:!0},ni={http:Wh,https:X$,ws:ti,wss:ez,urn:tz,"urn:uuid":nz};Object.setPrototypeOf(ni,null);function ad(e){return e&&(ni[e]||ni[e.toLowerCase()])||void 0}Kh.exports={wsIsSecure:id,SCHEMES:ni,isValidSchemeName:B$,getSchemeHandler:ad}});var Xh=z((yA,oi)=>{"use strict";var{normalizeIPv6:rz,removeDotSegments:go,recomposeAuthority:oz,normalizeComponentEncoding:ri,isIPv4:sz,nonSimpleDomain:iz}=sd(),{SCHEMES:az,getSchemeHandler:Qh}=Gh();function cz(e,t){return typeof e=="string"?e=xt(Nt(e,t),t):typeof e=="object"&&(e=Nt(xt(e,t),t)),e}function uz(e,t,n){let r=n?Object.assign({scheme:"null"},n):{scheme:"null"},o=Yh(Nt(e,r),Nt(t,r),r,!0);return r.skipEscape=!0,xt(o,r)}function Yh(e,t,n,r){let o={};return r||(e=Nt(xt(e,n),n),t=Nt(xt(t,n),n)),n=n||{},!n.tolerant&&t.scheme?(o.scheme=t.scheme,o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=go(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=go(t.path||""),o.query=t.query):(t.path?(t.path[0]==="/"?o.path=go(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=go(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 dz(e,t,n){return typeof e=="string"?(e=unescape(e),e=xt(ri(Nt(e,n),!0),{...n,skipEscape:!0})):typeof e=="object"&&(e=xt(ri(e,!0),{...n,skipEscape:!0})),typeof t=="string"?(t=unescape(t),t=xt(ri(Nt(t,n),!0),{...n,skipEscape:!0})):typeof t=="object"&&(t=xt(ri(t,!0),{...n,skipEscape:!0})),e.toLowerCase()===t.toLowerCase()}function xt(e,t){let n={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:""},r=Object.assign({},t),o=[],s=Qh(r.scheme||n.scheme);s&&s.serialize&&s.serialize(n,r),n.path!==void 0&&(r.skipEscape?n.path=unescape(n.path):(n.path=escape(n.path),n.scheme!==void 0&&(n.path=n.path.split("%3A").join(":")))),r.reference!=="suffix"&&n.scheme&&o.push(n.scheme,":");let i=oz(n);if(i!==void 0&&(r.reference!=="suffix"&&o.push("//"),o.push(i),n.path&&n.path[0]!=="/"&&o.push("/")),n.path!==void 0){let a=n.path;!r.absolutePath&&(!s||!s.absolutePath)&&(a=go(a)),i===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),o.push(a)}return n.query!==void 0&&o.push("?",n.query),n.fragment!==void 0&&o.push("#",n.fragment),o.join("")}var lz=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Nt(e,t){let n=Object.assign({},t),r={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},o=!1;n.reference==="suffix"&&(n.scheme?e=n.scheme+":"+e:e="//"+e);let s=e.match(lz);if(s){if(r.scheme=s[1],r.userinfo=s[3],r.host=s[4],r.port=parseInt(s[5],10),r.path=s[6]||"",r.query=s[7],r.fragment=s[8],isNaN(r.port)&&(r.port=s[5]),r.host)if(sz(r.host)===!1){let c=rz(r.host);r.host=c.host.toLowerCase(),o=c.isIPV6}else o=!0;r.scheme===void 0&&r.userinfo===void 0&&r.host===void 0&&r.port===void 0&&r.query===void 0&&!r.path?r.reference="same-document":r.scheme===void 0?r.reference="relative":r.fragment===void 0?r.reference="absolute":r.reference="uri",n.reference&&n.reference!=="suffix"&&n.reference!==r.reference&&(r.error=r.error||"URI is not a "+n.reference+" reference.");let i=Qh(n.scheme||r.scheme);if(!n.unicodeSupport&&(!i||!i.unicodeSupport)&&r.host&&(n.domainHost||i&&i.domainHost)&&o===!1&&iz(r.host))try{r.host=URL.domainToASCII(r.host.toLowerCase())}catch(a){r.error=r.error||"Host's domain name can not be converted to ASCII: "+a}(!i||i&&!i.skipNormalize)&&(e.indexOf("%")!==-1&&(r.scheme!==void 0&&(r.scheme=unescape(r.scheme)),r.host!==void 0&&(r.host=unescape(r.host))),r.path&&(r.path=escape(unescape(r.path))),r.fragment&&(r.fragment=encodeURI(decodeURIComponent(r.fragment)))),i&&i.parse&&i.parse(r,n)}else r.error=r.error||"URI can not be parsed.";return r}var cd={SCHEMES:az,normalize:cz,resolve:uz,resolveComponent:Yh,equal:dz,serialize:xt,parse:Nt};oi.exports=cd;oi.exports.default=cd;oi.exports.fastUri=cd});var tg=z(ud=>{"use strict";Object.defineProperty(ud,"__esModule",{value:!0});var eg=Xh();eg.code='require("ajv/dist/runtime/uri").default';ud.default=eg});var ug=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 pz=fo();Object.defineProperty(ze,"KeywordCxt",{enumerable:!0,get:function(){return pz.KeywordCxt}});var gr=F();Object.defineProperty(ze,"_",{enumerable:!0,get:function(){return gr._}});Object.defineProperty(ze,"str",{enumerable:!0,get:function(){return gr.str}});Object.defineProperty(ze,"stringify",{enumerable:!0,get:function(){return gr.stringify}});Object.defineProperty(ze,"nil",{enumerable:!0,get:function(){return gr.nil}});Object.defineProperty(ze,"Name",{enumerable:!0,get:function(){return gr.Name}});Object.defineProperty(ze,"CodeGen",{enumerable:!0,get:function(){return gr.CodeGen}});var mz=Ys(),ig=ho(),fz=Lu(),yo=ei(),hz=F(),_o=lo(),si=uo(),ld=ee(),ng=Uh(),gz=tg(),ag=(e,t)=>new RegExp(e,t);ag.code="new RegExp";var yz=["removeAdditional","useDefaults","coerceTypes"],_z=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),bz={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."},vz={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},rg=200;function wz(e){var t,n,r,o,s,i,a,c,u,d,l,p,h,f,g,y,v,w,k,j,M,Ee,Ge,qn,Ei;let $r=e.strict,Ci=(t=e.code)===null||t===void 0?void 0:t.optimize,Fl=Ci===!0||Ci===void 0?1:Ci||0,Vl=(r=(n=e.code)===null||n===void 0?void 0:n.regExp)!==null&&r!==void 0?r:ag,bb=(o=e.uriResolver)!==null&&o!==void 0?o:gz.default;return{strictSchema:(i=(s=e.strictSchema)!==null&&s!==void 0?s:$r)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=e.strictNumbers)!==null&&a!==void 0?a:$r)!==null&&c!==void 0?c:!0,strictTypes:(d=(u=e.strictTypes)!==null&&u!==void 0?u:$r)!==null&&d!==void 0?d:"log",strictTuples:(p=(l=e.strictTuples)!==null&&l!==void 0?l:$r)!==null&&p!==void 0?p:"log",strictRequired:(f=(h=e.strictRequired)!==null&&h!==void 0?h:$r)!==null&&f!==void 0?f:!1,code:e.code?{...e.code,optimize:Fl,regExp:Vl}:{optimize:Fl,regExp:Vl},loopRequired:(g=e.loopRequired)!==null&&g!==void 0?g:rg,loopEnum:(y=e.loopEnum)!==null&&y!==void 0?y:rg,meta:(v=e.meta)!==null&&v!==void 0?v:!0,messages:(w=e.messages)!==null&&w!==void 0?w:!0,inlineRefs:(k=e.inlineRefs)!==null&&k!==void 0?k:!0,schemaId:(j=e.schemaId)!==null&&j!==void 0?j:"$id",addUsedSchema:(M=e.addUsedSchema)!==null&&M!==void 0?M:!0,validateSchema:(Ee=e.validateSchema)!==null&&Ee!==void 0?Ee:!0,validateFormats:(Ge=e.validateFormats)!==null&&Ge!==void 0?Ge:!0,unicodeRegExp:(qn=e.unicodeRegExp)!==null&&qn!==void 0?qn:!0,int32range:(Ei=e.int32range)!==null&&Ei!==void 0?Ei:!0,uriResolver:bb}}var bo=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...wz(t)};let{es5:n,lines:r}=this.opts.code;this.scope=new hz.ValueScope({scope:{},prefixes:_z,es5:n,lines:r}),this.logger=Pz(t.logger);let o=t.validateFormats;t.validateFormats=!1,this.RULES=(0,fz.getRules)(),og.call(this,bz,t,"NOT SUPPORTED"),og.call(this,vz,t,"DEPRECATED","warn"),this._metaOpts=$z.call(this),t.formats&&xz.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&Sz.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),kz.call(this),t.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:n,schemaId:r}=this.opts,o=ng;r==="id"&&(o={...ng},o.id=o.$id,delete o.$id),n&&t&&this.addMetaSchema(o,o[r],!1)}defaultMeta(){let{meta:t,schemaId:n}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[n]||t:void 0}validate(t,n){let r;if(typeof t=="string"){if(r=this.getSchema(t),!r)throw new Error(`no schema with key or ref "${t}"`)}else r=this.compile(t);let o=r(n);return"$async"in r||(this.errors=r.errors),o}compile(t,n){let r=this._addSchema(t,n);return r.validate||this._compileSchemaEnv(r)}compileAsync(t,n){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:r}=this.opts;return o.call(this,t,n);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 ig.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,n)}async function u(d){let l=this._loading[d];if(l)return l;try{return await(this._loading[d]=r(d))}finally{delete this._loading[d]}}}addSchema(t,n,r,o=this.opts.validateSchema){if(Array.isArray(t)){for(let i of t)this.addSchema(i,void 0,r,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 n=(0,_o.normalizeId)(n||s),this._checkUnique(n),this.schemas[n]=this._addSchema(t,r,n,o,!0),this}addMetaSchema(t,n,r=this.opts.validateSchema){return this.addSchema(t,n,!0,r),this}validateSchema(t,n){if(typeof t=="boolean")return!0;let r;if(r=t.$schema,r!==void 0&&typeof r!="string")throw new Error("$schema must be a string");if(r=r||this.opts.defaultMeta||this.defaultMeta(),!r)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let o=this.validate(r,t);if(!o&&n){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 n;for(;typeof(n=sg.call(this,t))=="string";)t=n;if(n===void 0){let{schemaId:r}=this.opts,o=new yo.SchemaEnv({schema:{},schemaId:r});if(n=yo.resolveSchema.call(this,o,t),!n)return;this.refs[t]=n}return n.validate||this._compileSchemaEnv(n)}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 n=sg.call(this,t);return typeof n=="object"&&this._cache.delete(n.schema),delete this.schemas[t],delete this.refs[t],this}case"object":{let n=t;this._cache.delete(n);let r=t[this.opts.schemaId];return r&&(r=(0,_o.normalizeId)(r),delete this.schemas[r],delete this.refs[r]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let n of t)this.addKeyword(n);return this}addKeyword(t,n){let r;if(typeof t=="string")r=t,typeof n=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),n.keyword=r);else if(typeof t=="object"&&n===void 0){if(n=t,r=n.keyword,Array.isArray(r)&&!r.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(Rz.call(this,r,n),!n)return(0,ld.eachItem)(r,s=>dd.call(this,s)),this;Oz.call(this,n);let o={...n,type:(0,si.getJSONTypes)(n.type),schemaType:(0,si.getJSONTypes)(n.schemaType)};return(0,ld.eachItem)(r,o.type.length===0?s=>dd.call(this,s,o):s=>o.type.forEach(i=>dd.call(this,s,o,i))),this}getKeyword(t){let n=this.RULES.all[t];return typeof n=="object"?n.definition:!!n}removeKeyword(t){let{RULES:n}=this;delete n.keywords[t],delete n.all[t];for(let r of n.rules){let o=r.rules.findIndex(s=>s.keyword===t);o>=0&&r.rules.splice(o,1)}return this}addFormat(t,n){return typeof n=="string"&&(n=new RegExp(n)),this.formats[t]=n,this}errorsText(t=this.errors,{separator:n=", ",dataVar:r="data"}={}){return!t||t.length===0?"No errors":t.map(o=>`${r}${o.instancePath} ${o.message}`).reduce((o,s)=>o+n+s)}$dataMetaSchema(t,n){let r=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let o of n){let s=o.split("/").slice(1),i=t;for(let a of s)i=i[a];for(let a in r){let c=r[a];if(typeof c!="object")continue;let{$data:u}=c.definition,d=i[a];u&&d&&(i[a]=cg(d))}}return t}_removeAllSchemas(t,n){for(let r in t){let o=t[r];(!n||n.test(r))&&(typeof o=="string"?delete t[r]:o&&!o.meta&&(this._cache.delete(o.schema),delete t[r]))}}_addSchema(t,n,r,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;r=(0,_o.normalizeId)(i||r);let u=_o.getSchemaRefs.call(this,t,r);return c=new yo.SchemaEnv({schema:t,schemaId:a,meta:n,baseId:r,localRefs:u}),this._cache.set(c.schema,c),s&&!r.startsWith("#")&&(r&&this._checkUnique(r),this.refs[r]=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):yo.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let n=this.opts;this.opts=this._metaOpts;try{yo.compileSchema.call(this,t)}finally{this.opts=n}}};bo.ValidationError=mz.default;bo.MissingRefError=ig.default;ze.default=bo;function og(e,t,n,r="error"){for(let o in e){let s=o;s in t&&this.logger[r](`${n}: option ${o}. ${e[s]}`)}}function sg(e){return e=(0,_o.normalizeId)(e),this.schemas[e]||this.refs[e]}function kz(){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 xz(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function Sz(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 n=e[t];n.keyword||(n.keyword=t),this.addKeyword(n)}}function $z(){let e={...this.opts};for(let t of yz)delete e[t];return e}var zz={log(){},warn(){},error(){}};function Pz(e){if(e===!1)return zz;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 Tz=/^[a-z_$][a-z0-9_$:-]*$/i;function Rz(e,t){let{RULES:n}=this;if((0,ld.eachItem)(e,r=>{if(n.keywords[r])throw new Error(`Keyword ${r} is already defined`);if(!Tz.test(r))throw new Error(`Keyword ${r} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function dd(e,t,n){var r;let o=t?.post;if(n&&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===n);if(i||(i={type:n,rules:[]},s.rules.push(i)),s.keywords[e]=!0,!t)return;let a={keyword:e,definition:{...t,type:(0,si.getJSONTypes)(t.type),schemaType:(0,si.getJSONTypes)(t.schemaType)}};t.before?jz.call(this,i,a,t.before):i.rules.push(a),s.all[e]=a,(r=t.implements)===null||r===void 0||r.forEach(c=>this.addKeyword(c))}function jz(e,t,n){let r=e.rules.findIndex(o=>o.keyword===n);r>=0?e.rules.splice(r,0,t):(e.rules.push(t),this.logger.warn(`rule ${n} is not defined`))}function Oz(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=cg(t)),e.validateSchema=this.compile(t,!0))}var Iz={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function cg(e){return{anyOf:[e,Iz]}}});var dg=z(pd=>{"use strict";Object.defineProperty(pd,"__esModule",{value:!0});var Ez={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};pd.default=Ez});var fg=z(Mn=>{"use strict";Object.defineProperty(Mn,"__esModule",{value:!0});Mn.callRef=Mn.getValidate=void 0;var Cz=ho(),lg=rt(),Ve=F(),yr=At(),pg=ei(),ii=ee(),Az={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:n,it:r}=e,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=r,{root:u}=s;if((n==="#"||n==="#/")&&o===u.baseId)return l();let d=pg.resolveRef.call(c,u,o,n);if(d===void 0)throw new Cz.default(r.opts.uriResolver,o,n);if(d instanceof pg.SchemaEnv)return p(d);return h(d);function l(){if(s===u)return ai(e,i,s,s.$async);let f=t.scopeValue("root",{ref:u});return ai(e,(0,Ve._)`${f}.validate`,u,u.$async)}function p(f){let g=mg(e,f);ai(e,g,f,f.$async)}function h(f){let g=t.scopeValue("schema",a.code.source===!0?{ref:f,code:(0,Ve.stringify)(f)}:{ref:f}),y=t.name("valid"),v=e.subschema({schema:f,dataTypes:[],schemaPath:Ve.nil,topSchemaRef:g,errSchemaPath:n},y);e.mergeEvaluated(v),e.ok(y)}}};function mg(e,t){let{gen:n}=e;return t.validate?n.scopeValue("validate",{ref:t.validate}):(0,Ve._)`${n.scopeValue("wrapper",{ref:t})}.validate`}Mn.getValidate=mg;function ai(e,t,n,r){let{gen:o,it:s}=e,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?yr.default.this:Ve.nil;r?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,Ve._)`await ${(0,lg.callValidateCode)(e,t,u)}`),h(t),i||o.assign(f,!0)},g=>{o.if((0,Ve._)`!(${g} instanceof ${s.ValidationError})`,()=>o.throw(g)),p(g),i||o.assign(f,!1)}),e.ok(f)}function l(){e.result((0,lg.callValidateCode)(e,t,u),()=>h(t),()=>p(t))}function p(f){let g=(0,Ve._)`${f}.errors`;o.assign(yr.default.vErrors,(0,Ve._)`${yr.default.vErrors} === null ? ${g} : ${yr.default.vErrors}.concat(${g})`),o.assign(yr.default.errors,(0,Ve._)`${yr.default.vErrors}.length`)}function h(f){var g;if(!s.opts.unevaluated)return;let y=(g=n?.validate)===null||g===void 0?void 0:g.evaluated;if(s.props!==!0)if(y&&!y.dynamicProps)y.props!==void 0&&(s.props=ii.mergeEvaluated.props(o,y.props,s.props));else{let v=o.var("props",(0,Ve._)`${f}.evaluated.props`);s.props=ii.mergeEvaluated.props(o,v,s.props,Ve.Name)}if(s.items!==!0)if(y&&!y.dynamicItems)y.items!==void 0&&(s.items=ii.mergeEvaluated.items(o,y.items,s.items));else{let v=o.var("items",(0,Ve._)`${f}.evaluated.items`);s.items=ii.mergeEvaluated.items(o,v,s.items,Ve.Name)}}}Mn.callRef=ai;Mn.default=Az});var hg=z(md=>{"use strict";Object.defineProperty(md,"__esModule",{value:!0});var Mz=dg(),Nz=fg(),Lz=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Mz.default,Nz.default];md.default=Lz});var gg=z(fd=>{"use strict";Object.defineProperty(fd,"__esModule",{value:!0});var ci=F(),tn=ci.operators,ui={maximum:{okStr:"<=",ok:tn.LTE,fail:tn.GT},minimum:{okStr:">=",ok:tn.GTE,fail:tn.LT},exclusiveMaximum:{okStr:"<",ok:tn.LT,fail:tn.GTE},exclusiveMinimum:{okStr:">",ok:tn.GT,fail:tn.LTE}},Dz={message:({keyword:e,schemaCode:t})=>(0,ci.str)`must be ${ui[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,ci._)`{comparison: ${ui[e].okStr}, limit: ${t}}`},Zz={keyword:Object.keys(ui),type:"number",schemaType:"number",$data:!0,error:Dz,code(e){let{keyword:t,data:n,schemaCode:r}=e;e.fail$data((0,ci._)`${n} ${ui[t].fail} ${r} || isNaN(${n})`)}};fd.default=Zz});var yg=z(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});var vo=F(),Uz={message:({schemaCode:e})=>(0,vo.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,vo._)`{multipleOf: ${e}}`},qz={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Uz,code(e){let{gen:t,data:n,schemaCode:r,it:o}=e,s=o.opts.multipleOfPrecision,i=t.let("res"),a=s?(0,vo._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,vo._)`${i} !== parseInt(${i})`;e.fail$data((0,vo._)`(${r} === 0 || (${i} = ${n}/${r}, ${a}))`)}};hd.default=qz});var bg=z(gd=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});function _g(e){let t=e.length,n=0,r=0,o;for(;r<t;)n++,o=e.charCodeAt(r++),o>=55296&&o<=56319&&r<t&&(o=e.charCodeAt(r),(o&64512)===56320&&r++);return n}gd.default=_g;_g.code='require("ajv/dist/runtime/ucs2length").default'});var vg=z(yd=>{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});var Nn=F(),Jz=ee(),Fz=bg(),Vz={message({keyword:e,schemaCode:t}){let n=e==="maxLength"?"more":"fewer";return(0,Nn.str)`must NOT have ${n} than ${t} characters`},params:({schemaCode:e})=>(0,Nn._)`{limit: ${e}}`},Bz={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Vz,code(e){let{keyword:t,data:n,schemaCode:r,it:o}=e,s=t==="maxLength"?Nn.operators.GT:Nn.operators.LT,i=o.opts.unicode===!1?(0,Nn._)`${n}.length`:(0,Nn._)`${(0,Jz.useFunc)(e.gen,Fz.default)}(${n})`;e.fail$data((0,Nn._)`${i} ${s} ${r}`)}};yd.default=Bz});var wg=z(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});var Hz=rt(),di=F(),Wz={message:({schemaCode:e})=>(0,di.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,di._)`{pattern: ${e}}`},Kz={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:Wz,code(e){let{data:t,$data:n,schema:r,schemaCode:o,it:s}=e,i=s.opts.unicodeRegExp?"u":"",a=n?(0,di._)`(new RegExp(${o}, ${i}))`:(0,Hz.usePattern)(e,r);e.fail$data((0,di._)`!${a}.test(${t})`)}};_d.default=Kz});var kg=z(bd=>{"use strict";Object.defineProperty(bd,"__esModule",{value:!0});var wo=F(),Gz={message({keyword:e,schemaCode:t}){let n=e==="maxProperties"?"more":"fewer";return(0,wo.str)`must NOT have ${n} than ${t} properties`},params:({schemaCode:e})=>(0,wo._)`{limit: ${e}}`},Qz={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:Gz,code(e){let{keyword:t,data:n,schemaCode:r}=e,o=t==="maxProperties"?wo.operators.GT:wo.operators.LT;e.fail$data((0,wo._)`Object.keys(${n}).length ${o} ${r}`)}};bd.default=Qz});var xg=z(vd=>{"use strict";Object.defineProperty(vd,"__esModule",{value:!0});var ko=rt(),xo=F(),Yz=ee(),Xz={message:({params:{missingProperty:e}})=>(0,xo.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,xo._)`{missingProperty: ${e}}`},e1={keyword:"required",type:"object",schemaType:"array",$data:!0,error:Xz,code(e){let{gen:t,schema:n,schemaCode:r,data:o,$data:s,it:i}=e,{opts:a}=i;if(!s&&n.length===0)return;let c=n.length>=a.loopRequired;if(i.allErrors?u():d(),a.strictRequired){let h=e.parentSchema.properties,{definedProperties:f}=e.it;for(let g of n)if(h?.[g]===void 0&&!f.has(g)){let y=i.schemaEnv.baseId+i.errSchemaPath,v=`required property "${g}" is not defined at "${y}" (strictRequired)`;(0,Yz.checkStrictMode)(i,v,i.opts.strictRequired)}}function u(){if(c||s)e.block$data(xo.nil,l);else for(let h of n)(0,ko.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,ko.checkMissingProp)(e,n,h)),(0,ko.reportMissingProp)(e,h),t.else()}function l(){t.forOf("prop",r,h=>{e.setParams({missingProperty:h}),t.if((0,ko.noPropertyInData)(t,o,h,a.ownProperties),()=>e.error())})}function p(h,f){e.setParams({missingProperty:h}),t.forOf(h,r,()=>{t.assign(f,(0,ko.propertyInData)(t,o,h,a.ownProperties)),t.if((0,xo.not)(f),()=>{e.error(),t.break()})},xo.nil)}}};vd.default=e1});var Sg=z(wd=>{"use strict";Object.defineProperty(wd,"__esModule",{value:!0});var So=F(),t1={message({keyword:e,schemaCode:t}){let n=e==="maxItems"?"more":"fewer";return(0,So.str)`must NOT have ${n} than ${t} items`},params:({schemaCode:e})=>(0,So._)`{limit: ${e}}`},n1={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:t1,code(e){let{keyword:t,data:n,schemaCode:r}=e,o=t==="maxItems"?So.operators.GT:So.operators.LT;e.fail$data((0,So._)`${n}.length ${o} ${r}`)}};wd.default=n1});var li=z(kd=>{"use strict";Object.defineProperty(kd,"__esModule",{value:!0});var $g=Bu();$g.code='require("ajv/dist/runtime/equal").default';kd.default=$g});var zg=z(Sd=>{"use strict";Object.defineProperty(Sd,"__esModule",{value:!0});var xd=uo(),Pe=F(),r1=ee(),o1=li(),s1={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}}`},i1={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:s1,code(e){let{gen:t,data:n,$data:r,schema:o,parentSchema:s,schemaCode:i,it:a}=e;if(!r&&!o)return;let c=t.let("valid"),u=s.items?(0,xd.getSchemaTypes)(s.items):[];e.block$data(c,d,(0,Pe._)`${i} === false`),e.ok(c);function d(){let f=t.let("i",(0,Pe._)`${n}.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"),v=(0,xd.checkDataTypes)(u,y,a.opts.strictNumbers,xd.DataType.Wrong),w=t.const("indices",(0,Pe._)`{}`);t.for((0,Pe._)`;${f}--;`,()=>{t.let(y,(0,Pe._)`${n}[${f}]`),t.if(v,(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,r1.useFunc)(t,o1.default),v=t.name("outer");t.label(v).for((0,Pe._)`;${f}--;`,()=>t.for((0,Pe._)`${g} = ${f}; ${g}--;`,()=>t.if((0,Pe._)`${y}(${n}[${f}], ${n}[${g}])`,()=>{e.error(),t.assign(c,!1).break(v)})))}}};Sd.default=i1});var Pg=z(zd=>{"use strict";Object.defineProperty(zd,"__esModule",{value:!0});var $d=F(),a1=ee(),c1=li(),u1={message:"must be equal to constant",params:({schemaCode:e})=>(0,$d._)`{allowedValue: ${e}}`},d1={keyword:"const",$data:!0,error:u1,code(e){let{gen:t,data:n,$data:r,schemaCode:o,schema:s}=e;r||s&&typeof s=="object"?e.fail$data((0,$d._)`!${(0,a1.useFunc)(t,c1.default)}(${n}, ${o})`):e.fail((0,$d._)`${s} !== ${n}`)}};zd.default=d1});var Tg=z(Pd=>{"use strict";Object.defineProperty(Pd,"__esModule",{value:!0});var $o=F(),l1=ee(),p1=li(),m1={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,$o._)`{allowedValues: ${e}}`},f1={keyword:"enum",schemaType:"array",$data:!0,error:m1,code(e){let{gen:t,data:n,$data:r,schema:o,schemaCode:s,it:i}=e;if(!r&&o.length===0)throw new Error("enum must have non-empty array");let a=o.length>=i.opts.loopEnum,c,u=()=>c??(c=(0,l1.useFunc)(t,p1.default)),d;if(a||r)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,$o.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,$o._)`${u()}(${n}, ${h})`,()=>t.assign(d,!0).break()))}function p(h,f){let g=o[f];return typeof g=="object"&&g!==null?(0,$o._)`${u()}(${n}, ${h}[${f}])`:(0,$o._)`${n} === ${g}`}}};Pd.default=f1});var Rg=z(Td=>{"use strict";Object.defineProperty(Td,"__esModule",{value:!0});var h1=gg(),g1=yg(),y1=vg(),_1=wg(),b1=kg(),v1=xg(),w1=Sg(),k1=zg(),x1=Pg(),S1=Tg(),$1=[h1.default,g1.default,y1.default,_1.default,b1.default,v1.default,w1.default,k1.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},x1.default,S1.default];Td.default=$1});var jd=z(zo=>{"use strict";Object.defineProperty(zo,"__esModule",{value:!0});zo.validateAdditionalItems=void 0;var Ln=F(),Rd=ee(),z1={message:({params:{len:e}})=>(0,Ln.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Ln._)`{limit: ${e}}`},P1={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:z1,code(e){let{parentSchema:t,it:n}=e,{items:r}=t;if(!Array.isArray(r)){(0,Rd.checkStrictMode)(n,'"additionalItems" is ignored when "items" is not an array of schemas');return}jg(e,r)}};function jg(e,t){let{gen:n,schema:r,data:o,keyword:s,it:i}=e;i.items=!0;let a=n.const("len",(0,Ln._)`${o}.length`);if(r===!1)e.setParams({len:t.length}),e.pass((0,Ln._)`${a} <= ${t.length}`);else if(typeof r=="object"&&!(0,Rd.alwaysValidSchema)(i,r)){let u=n.var("valid",(0,Ln._)`${a} <= ${t.length}`);n.if((0,Ln.not)(u),()=>c(u)),e.ok(u)}function c(u){n.forRange("i",t.length,a,d=>{e.subschema({keyword:s,dataProp:d,dataPropType:Rd.Type.Num},u),i.allErrors||n.if((0,Ln.not)(u),()=>n.break())})}}zo.validateAdditionalItems=jg;zo.default=P1});var Od=z(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.validateTuple=void 0;var Og=F(),pi=ee(),T1=rt(),R1={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:n}=e;if(Array.isArray(t))return Ig(e,"additionalItems",t);n.items=!0,!(0,pi.alwaysValidSchema)(n,t)&&e.ok((0,T1.validateArray)(e))}};function Ig(e,t,n=e.schema){let{gen:r,parentSchema:o,data:s,keyword:i,it:a}=e;d(o),a.opts.unevaluated&&n.length&&a.items!==!0&&(a.items=pi.mergeEvaluated.items(r,n.length,a.items));let c=r.name("valid"),u=r.const("len",(0,Og._)`${s}.length`);n.forEach((l,p)=>{(0,pi.alwaysValidSchema)(a,l)||(r.if((0,Og._)`${u} > ${p}`,()=>e.subschema({keyword:i,schemaProp:p,dataProp:p},c)),e.ok(c))});function d(l){let{opts:p,errSchemaPath:h}=a,f=n.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,pi.checkStrictMode)(a,y,p.strictTuples)}}}Po.validateTuple=Ig;Po.default=R1});var Eg=z(Id=>{"use strict";Object.defineProperty(Id,"__esModule",{value:!0});var j1=Od(),O1={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,j1.validateTuple)(e,"items")};Id.default=O1});var Ag=z(Ed=>{"use strict";Object.defineProperty(Ed,"__esModule",{value:!0});var Cg=F(),I1=ee(),E1=rt(),C1=jd(),A1={message:({params:{len:e}})=>(0,Cg.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Cg._)`{limit: ${e}}`},M1={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:A1,code(e){let{schema:t,parentSchema:n,it:r}=e,{prefixItems:o}=n;r.items=!0,!(0,I1.alwaysValidSchema)(r,t)&&(o?(0,C1.validateAdditionalItems)(e,o):e.ok((0,E1.validateArray)(e)))}};Ed.default=M1});var Mg=z(Cd=>{"use strict";Object.defineProperty(Cd,"__esModule",{value:!0});var st=F(),mi=ee(),N1={message:({params:{min:e,max:t}})=>t===void 0?(0,st.str)`must contain at least ${e} valid item(s)`:(0,st.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,st._)`{minContains: ${e}}`:(0,st._)`{minContains: ${e}, maxContains: ${t}}`},L1={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:N1,code(e){let{gen:t,schema:n,parentSchema:r,data:o,it:s}=e,i,a,{minContains:c,maxContains:u}=r;s.opts.next?(i=c===void 0?1:c,a=u):i=1;let d=t.const("len",(0,st._)`${o}.length`);if(e.setParams({min:i,max:a}),a===void 0&&i===0){(0,mi.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,mi.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,mi.alwaysValidSchema)(s,n)){let g=(0,st._)`${d} >= ${i}`;a!==void 0&&(g=(0,st._)`${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,st._)`${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,v=>{e.subschema({keyword:"contains",dataProp:v,dataPropType:mi.Type.Num,compositeRule:!0},g),y()})}function f(g){t.code((0,st._)`${g}++`),a===void 0?t.if((0,st._)`${g} >= ${i}`,()=>t.assign(l,!0).break()):(t.if((0,st._)`${g} > ${a}`,()=>t.assign(l,!1).break()),i===1?t.assign(l,!0):t.if((0,st._)`${g} >= ${i}`,()=>t.assign(l,!0)))}}};Cd.default=L1});var Dg=z(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.validateSchemaDeps=St.validatePropertyDeps=St.error=void 0;var Ad=F(),D1=ee(),To=rt();St.error={message:({params:{property:e,depsCount:t,deps:n}})=>{let r=t===1?"property":"properties";return(0,Ad.str)`must have ${r} ${n} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:n,missingProperty:r}})=>(0,Ad._)`{property: ${e},
8
8
  missingProperty: ${r},
9
9
  depsCount: ${t},
10
- deps: ${n}}`};var D1={keyword:"dependencies",type:"object",schemaType:"object",error:St.error,code(e){let[t,n]=Z1(e);Mg(e,t),Ng(e,n)}};function Z1({schema:e}){let t={},n={};for(let r in e){if(r==="__proto__")continue;let o=Array.isArray(e[r])?t:n;o[r]=e[r]}return[t,n]}function Mg(e,t=e.schema){let{gen:n,data:r,it:o}=e;if(Object.keys(t).length===0)return;let s=n.let("missing");for(let i in t){let a=t[i];if(a.length===0)continue;let c=(0,To.propertyInData)(n,r,i,o.opts.ownProperties);e.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),o.allErrors?n.if(c,()=>{for(let u of a)(0,To.checkReportMissingProp)(e,u)}):(n.if((0,Ad._)`${c} && (${(0,To.checkMissingProp)(e,a,s)})`),(0,To.reportMissingProp)(e,s),n.else())}}St.validatePropertyDeps=Mg;function Ng(e,t=e.schema){let{gen:n,data:r,keyword:o,it:s}=e,i=n.name("valid");for(let a in t)(0,L1.alwaysValidSchema)(s,t[a])||(n.if((0,To.propertyInData)(n,r,a,s.opts.ownProperties),()=>{let c=e.subschema({keyword:o,schemaProp:a},i);e.mergeValidEvaluated(c,i)},()=>n.var(i,!0)),e.ok(i))}St.validateSchemaDeps=Ng;St.default=D1});var Zg=z(Md=>{"use strict";Object.defineProperty(Md,"__esModule",{value:!0});var Dg=F(),U1=ee(),q1={message:"property name must be valid",params:({params:e})=>(0,Dg._)`{propertyName: ${e.propertyName}}`},J1={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:q1,code(e){let{gen:t,schema:n,data:r,it:o}=e;if((0,U1.alwaysValidSchema)(o,n))return;let s=t.name("valid");t.forIn("key",r,i=>{e.setParams({propertyName:i}),e.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},s),t.if((0,Dg.not)(s),()=>{e.error(!0),o.allErrors||t.break()})}),e.ok(s)}};Md.default=J1});var Ld=z(Nd=>{"use strict";Object.defineProperty(Nd,"__esModule",{value:!0});var fi=rt(),mt=F(),F1=At(),hi=ee(),V1={message:"must NOT have additional properties",params:({params:e})=>(0,mt._)`{additionalProperty: ${e.additionalProperty}}`},B1={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:V1,code(e){let{gen:t,schema:n,parentSchema:r,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,hi.alwaysValidSchema)(i,n))return;let u=(0,fi.allSchemaProperties)(r.properties),d=(0,fi.allSchemaProperties)(r.patternProperties);l(),e.ok((0,mt._)`${s} === ${F1.default.errors}`);function l(){t.forIn("key",o,y=>{!u.length&&!d.length?h(y):t.if(m(y),()=>h(y))})}function m(y){let v;if(u.length>8){let w=(0,hi.schemaRefOrVal)(i,r.properties,"properties");v=(0,fi.isOwnProperty)(t,w,y)}else u.length?v=(0,mt.or)(...u.map(w=>(0,mt._)`${y} === ${w}`)):v=mt.nil;return d.length&&(v=(0,mt.or)(v,...d.map(w=>(0,mt._)`${(0,fi.usePattern)(e,w)}.test(${y})`))),(0,mt.not)(v)}function f(y){t.code((0,mt._)`delete ${o}[${y}]`)}function h(y){if(c.removeAdditional==="all"||c.removeAdditional&&n===!1){f(y);return}if(n===!1){e.setParams({additionalProperty:y}),e.error(),a||t.break();return}if(typeof n=="object"&&!(0,hi.alwaysValidSchema)(i,n)){let v=t.name("valid");c.removeAdditional==="failing"?(g(y,v,!1),t.if((0,mt.not)(v),()=>{e.reset(),f(y)})):(g(y,v),a||t.if((0,mt.not)(v),()=>t.break()))}}function g(y,v,w){let k={keyword:"additionalProperties",dataProp:y,dataPropType:hi.Type.Str};w===!1&&Object.assign(k,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(k,v)}}};Nd.default=B1});var Jg=z(Zd=>{"use strict";Object.defineProperty(Zd,"__esModule",{value:!0});var H1=fo(),Ug=rt(),Dd=ee(),qg=Ld(),W1={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:n,parentSchema:r,data:o,it:s}=e;s.opts.removeAdditional==="all"&&r.additionalProperties===void 0&&qg.default.code(new H1.KeywordCxt(s,qg.default,"additionalProperties"));let i=(0,Ug.allSchemaProperties)(n);for(let l of i)s.definedProperties.add(l);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=Dd.mergeEvaluated.props(t,(0,Dd.toHash)(i),s.props));let a=i.filter(l=>!(0,Dd.alwaysValidSchema)(s,n[l]));if(a.length===0)return;let c=t.name("valid");for(let l of a)u(l)?d(l):(t.if((0,Ug.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&&n[l].default!==void 0}function d(l){e.subschema({keyword:"properties",schemaProp:l,dataProp:l},c)}}};Zd.default=W1});var Hg=z(Ud=>{"use strict";Object.defineProperty(Ud,"__esModule",{value:!0});var Fg=rt(),gi=F(),Vg=ee(),Bg=ee(),K1={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:n,data:r,parentSchema:o,it:s}=e,{opts:i}=s,a=(0,Fg.allSchemaProperties)(n),c=a.filter(g=>(0,Vg.alwaysValidSchema)(s,n[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 gi.Name)&&(s.props=(0,Bg.evaluatedPropsToName)(t,s.props));let{props:l}=s;m();function m(){for(let g of a)u&&f(g),s.allErrors?h(g):(t.var(d,!0),h(g),t.if(d))}function f(g){for(let y in u)new RegExp(g).test(y)&&(0,Vg.checkStrictMode)(s,`property ${y} matches pattern ${g} (use allowMatchingProperties)`)}function h(g){t.forIn("key",r,y=>{t.if((0,gi._)`${(0,Fg.usePattern)(e,g)}.test(${y})`,()=>{let v=c.includes(g);v||e.subschema({keyword:"patternProperties",schemaProp:g,dataProp:y,dataPropType:Bg.Type.Str},d),s.opts.unevaluated&&l!==!0?t.assign((0,gi._)`${l}[${y}]`,!0):!v&&!s.allErrors&&t.if((0,gi.not)(d),()=>t.break())})})}}};Ud.default=K1});var Wg=z(qd=>{"use strict";Object.defineProperty(qd,"__esModule",{value:!0});var G1=ee(),Q1={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:n,it:r}=e;if((0,G1.alwaysValidSchema)(r,n)){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"}};qd.default=Q1});var Kg=z(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0});var Y1=rt(),X1={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Y1.validateUnion,error:{message:"must match a schema in anyOf"}};Jd.default=X1});var Gg=z(Fd=>{"use strict";Object.defineProperty(Fd,"__esModule",{value:!0});var yi=F(),eP=ee(),tP={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,yi._)`{passingSchemas: ${e.passing}}`},nP={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:tP,code(e){let{gen:t,schema:n,parentSchema:r,it:o}=e;if(!Array.isArray(n))throw new Error("ajv implementation error");if(o.opts.discriminator&&r.discriminator)return;let s=n,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 m;(0,eP.alwaysValidSchema)(o,d)?t.var(c,!0):m=e.subschema({keyword:"oneOf",schemaProp:l,compositeRule:!0},c),l>0&&t.if((0,yi._)`${c} && ${i}`).assign(i,!1).assign(a,(0,yi._)`[${a}, ${l}]`).else(),t.if(c,()=>{t.assign(i,!0),t.assign(a,l),m&&e.mergeEvaluated(m,yi.Name)})})}}};Fd.default=nP});var Qg=z(Vd=>{"use strict";Object.defineProperty(Vd,"__esModule",{value:!0});var rP=ee(),oP={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:n,it:r}=e;if(!Array.isArray(n))throw new Error("ajv implementation error");let o=t.name("valid");n.forEach((s,i)=>{if((0,rP.alwaysValidSchema)(r,s))return;let a=e.subschema({keyword:"allOf",schemaProp:i},o);e.ok(o),e.mergeEvaluated(a)})}};Vd.default=oP});var ey=z(Bd=>{"use strict";Object.defineProperty(Bd,"__esModule",{value:!0});var _i=F(),Xg=ee(),sP={message:({params:e})=>(0,_i.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,_i._)`{failingKeyword: ${e.ifClause}}`},iP={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:sP,code(e){let{gen:t,parentSchema:n,it:r}=e;n.then===void 0&&n.else===void 0&&(0,Xg.checkStrictMode)(r,'"if" without "then" and "else" is ignored');let o=Yg(r,"then"),s=Yg(r,"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,_i.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 m=e.subschema({keyword:d},a);t.assign(i,a),e.mergeValidEvaluated(m,i),l?t.assign(l,(0,_i._)`${d}`):e.setParams({ifClause:d})}}}};function Yg(e,t){let n=e.schema[t];return n!==void 0&&!(0,Xg.alwaysValidSchema)(e,n)}Bd.default=iP});var ty=z(Hd=>{"use strict";Object.defineProperty(Hd,"__esModule",{value:!0});var aP=ee(),cP={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:n}){t.if===void 0&&(0,aP.checkStrictMode)(n,`"${e}" without "if" is ignored`)}};Hd.default=cP});var ny=z(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});var uP=jd(),dP=Ig(),lP=Od(),pP=Cg(),mP=Ag(),fP=Lg(),hP=Zg(),gP=Ld(),yP=Jg(),_P=Hg(),bP=Wg(),vP=Kg(),wP=Gg(),kP=Qg(),xP=ey(),SP=ty();function $P(e=!1){let t=[bP.default,vP.default,wP.default,kP.default,xP.default,SP.default,hP.default,gP.default,fP.default,yP.default,_P.default];return e?t.push(dP.default,pP.default):t.push(uP.default,lP.default),t.push(mP.default),t}Wd.default=$P});var ry=z(Kd=>{"use strict";Object.defineProperty(Kd,"__esModule",{value:!0});var _e=F(),zP={message:({schemaCode:e})=>(0,_e.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,_e._)`{format: ${e}}`},PP={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:zP,code(e,t){let{gen:n,data:r,$data:o,schema:s,schemaCode:i,it:a}=e,{opts:c,errSchemaPath:u,schemaEnv:d,self:l}=a;if(!c.validateFormats)return;o?m():f();function m(){let h=n.scopeValue("formats",{ref:l.formats,code:c.code.formats}),g=n.const("fDef",(0,_e._)`${h}[${i}]`),y=n.let("fType"),v=n.let("format");n.if((0,_e._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>n.assign(y,(0,_e._)`${g}.type || "string"`).assign(v,(0,_e._)`${g}.validate`),()=>n.assign(y,(0,_e._)`"string"`).assign(v,g)),e.fail$data((0,_e.or)(w(),k()));function w(){return c.strictSchema===!1?_e.nil:(0,_e._)`${i} && !${v}`}function k(){let j=d.$async?(0,_e._)`(${g}.async ? await ${v}(${r}) : ${v}(${r}))`:(0,_e._)`${v}(${r})`,M=(0,_e._)`(typeof ${v} == "function" ? ${j} : ${v}.test(${r}))`;return(0,_e._)`${v} && ${v} !== true && ${y} === ${t} && !${M}`}}function f(){let h=l.formats[s];if(!h){w();return}if(h===!0)return;let[g,y,v]=k(h);g===t&&e.pass(j());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 Ee=M instanceof RegExp?(0,_e.regexpCode)(M):c.code.formats?(0,_e._)`${c.code.formats}${(0,_e.getProperty)(s)}`:void 0,Ge=n.scopeValue("formats",{key:s,ref:M,code:Ee});return typeof M=="object"&&!(M instanceof RegExp)?[M.type||"string",M.validate,(0,_e._)`${Ge}.validate`]:["string",M,Ge]}function j(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!d.$async)throw new Error("async format in sync schema");return(0,_e._)`await ${v}(${r})`}return typeof y=="function"?(0,_e._)`${v}(${r})`:(0,_e._)`${v}.test(${r})`}}}};Kd.default=PP});var oy=z(Gd=>{"use strict";Object.defineProperty(Gd,"__esModule",{value:!0});var TP=ry(),RP=[TP.default];Gd.default=RP});var sy=z(_r=>{"use strict";Object.defineProperty(_r,"__esModule",{value:!0});_r.contentVocabulary=_r.metadataVocabulary=void 0;_r.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];_r.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var ay=z(Qd=>{"use strict";Object.defineProperty(Qd,"__esModule",{value:!0});var jP=fg(),OP=Tg(),IP=ny(),EP=oy(),iy=sy(),CP=[jP.default,OP.default,(0,IP.default)(),EP.default,iy.metadataVocabulary,iy.contentVocabulary];Qd.default=CP});var uy=z(bi=>{"use strict";Object.defineProperty(bi,"__esModule",{value:!0});bi.DiscrError=void 0;var cy;(function(e){e.Tag="tag",e.Mapping="mapping"})(cy||(bi.DiscrError=cy={}))});var ly=z(Xd=>{"use strict";Object.defineProperty(Xd,"__esModule",{value:!0});var br=F(),Yd=uy(),dy=ei(),AP=ho(),MP=ee(),NP={message:({params:{discrError:e,tagName:t}})=>e===Yd.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:n}})=>(0,br._)`{error: ${e}, tag: ${n}, tagValue: ${t}}`},LP={keyword:"discriminator",type:"object",schemaType:"object",error:NP,code(e){let{gen:t,data:n,schema:r,parentSchema:o,it:s}=e,{oneOf:i}=o;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=r.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(r.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,br._)`${n}${(0,br.getProperty)(a)}`);t.if((0,br._)`typeof ${u} == "string"`,()=>d(),()=>e.error(!1,{discrError:Yd.DiscrError.Tag,tag:u,tagName:a})),e.ok(c);function d(){let f=m();t.if(!1);for(let h in f)t.elseIf((0,br._)`${u} === ${h}`),t.assign(c,l(f[h]));t.else(),e.error(!1,{discrError:Yd.DiscrError.Mapping,tag:u,tagName:a}),t.endIf()}function l(f){let h=t.name("valid"),g=e.subschema({keyword:"oneOf",schemaProp:f},h);return e.mergeEvaluated(g,br.Name),h}function m(){var f;let h={},g=v(o),y=!0;for(let j=0;j<i.length;j++){let M=i[j];if(M?.$ref&&!(0,MP.schemaHasRulesButRef)(M,s.self.RULES)){let Ge=M.$ref;if(M=dy.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,Ge),M instanceof dy.SchemaEnv&&(M=M.schema),M===void 0)throw new AP.default(s.opts.uriResolver,s.baseId,Ge)}let Ee=(f=M?.properties)===null||f===void 0?void 0:f[a];if(typeof Ee!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);y=y&&(g||v(M)),w(Ee,j)}if(!y)throw new Error(`discriminator: "${a}" must be required`);return h;function v({required:j}){return Array.isArray(j)&&j.includes(a)}function w(j,M){if(j.const)k(j.const,M);else if(j.enum)for(let Ee of j.enum)k(Ee,M);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function k(j,M){if(typeof j!="string"||j in h)throw new Error(`discriminator: "${a}" values must be unique strings`);h[j]=M}}}};Xd.default=LP});var py=z((oM,DP)=>{DP.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 tl=z((le,el)=>{"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 ZP=cg(),UP=ay(),qP=ly(),my=py(),JP=["/properties"],vi="http://json-schema.org/draft-07/schema",vr=class extends ZP.default{_addVocabularies(){super._addVocabularies(),UP.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(qP.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(my,JP):my;this.addMetaSchema(t,vi,!1),this.refs["http://json-schema.org/schema"]=vi}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(vi)?vi:void 0)}};le.Ajv=vr;el.exports=le=vr;el.exports.Ajv=vr;Object.defineProperty(le,"__esModule",{value:!0});le.default=vr;var FP=fo();Object.defineProperty(le,"KeywordCxt",{enumerable:!0,get:function(){return FP.KeywordCxt}});var wr=F();Object.defineProperty(le,"_",{enumerable:!0,get:function(){return wr._}});Object.defineProperty(le,"str",{enumerable:!0,get:function(){return wr.str}});Object.defineProperty(le,"stringify",{enumerable:!0,get:function(){return wr.stringify}});Object.defineProperty(le,"nil",{enumerable:!0,get:function(){return wr.nil}});Object.defineProperty(le,"Name",{enumerable:!0,get:function(){return wr.Name}});Object.defineProperty(le,"CodeGen",{enumerable:!0,get:function(){return wr.CodeGen}});var VP=Ys();Object.defineProperty(le,"ValidationError",{enumerable:!0,get:function(){return VP.default}});var BP=ho();Object.defineProperty(le,"MissingRefError",{enumerable:!0,get:function(){return BP.default}})});var wy=z(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.formatNames=zt.fastFormats=zt.fullFormats=void 0;function $t(e,t){return{validate:e,compare:t}}zt.fullFormats={date:$t(yy,sl),time:$t(rl(!0),il),"date-time":$t(fy(!0),by),"iso-time":$t(rl(),_y),"iso-date-time":$t(fy(),vy),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:YP,"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:sT,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:XP,int32:{type:"number",validate:nT},int64:{type:"number",validate:rT},float:{type:"number",validate:gy},double:{type:"number",validate:gy},password:!0,binary:!0};zt.fastFormats={...zt.fullFormats,date:$t(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,sl),time:$t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,il),"date-time":$t(/^\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,by),"iso-time":$t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,_y),"iso-date-time":$t(/^\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,vy),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};zt.formatNames=Object.keys(zt.fullFormats);function HP(e){return e%4===0&&(e%100!==0||e%400===0)}var WP=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,KP=[0,31,28,31,30,31,30,31,31,30,31,30,31];function yy(e){let t=WP.exec(e);if(!t)return!1;let n=+t[1],r=+t[2],o=+t[3];return r>=1&&r<=12&&o>=1&&o<=(r===2&&HP(n)?29:KP[r])}function sl(e,t){if(e&&t)return e>t?1:e<t?-1:0}var nl=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function rl(e){return function(n){let r=nl.exec(n);if(!r)return!1;let o=+r[1],s=+r[2],i=+r[3],a=r[4],c=r[5]==="-"?-1:1,u=+(r[6]||0),d=+(r[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,m=o-u*c-(l<0?1:0);return(m===23||m===-1)&&(l===59||l===-1)&&i<61}}function il(e,t){if(!(e&&t))return;let n=new Date("2020-01-01T"+e).valueOf(),r=new Date("2020-01-01T"+t).valueOf();if(n&&r)return n-r}function _y(e,t){if(!(e&&t))return;let n=nl.exec(e),r=nl.exec(t);if(n&&r)return e=n[1]+n[2]+n[3],t=r[1]+r[2]+r[3],e>t?1:e<t?-1:0}var ol=/t|\s/i;function fy(e){let t=rl(e);return function(r){let o=r.split(ol);return o.length===2&&yy(o[0])&&t(o[1])}}function by(e,t){if(!(e&&t))return;let n=new Date(e).valueOf(),r=new Date(t).valueOf();if(n&&r)return n-r}function vy(e,t){if(!(e&&t))return;let[n,r]=e.split(ol),[o,s]=t.split(ol),i=sl(n,o);if(i!==void 0)return i||il(r,s)}var GP=/\/|:/,QP=/^(?:[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 YP(e){return GP.test(e)&&QP.test(e)}var hy=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function XP(e){return hy.lastIndex=0,hy.test(e)}var eT=-(2**31),tT=2**31-1;function nT(e){return Number.isInteger(e)&&e<=tT&&e>=eT}function rT(e){return Number.isInteger(e)}function gy(){return!0}var oT=/[^\\]\\Z/;function sT(e){if(oT.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}});var ky=z(kr=>{"use strict";Object.defineProperty(kr,"__esModule",{value:!0});kr.formatLimitDefinition=void 0;var iT=tl(),ft=F(),nn=ft.operators,wi={formatMaximum:{okStr:"<=",ok:nn.LTE,fail:nn.GT},formatMinimum:{okStr:">=",ok:nn.GTE,fail:nn.LT},formatExclusiveMaximum:{okStr:"<",ok:nn.LT,fail:nn.GTE},formatExclusiveMinimum:{okStr:">",ok:nn.GT,fail:nn.LTE}},aT={message:({keyword:e,schemaCode:t})=>(0,ft.str)`should be ${wi[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,ft._)`{comparison: ${wi[e].okStr}, limit: ${t}}`};kr.formatLimitDefinition={keyword:Object.keys(wi),type:"string",schemaType:"string",$data:!0,error:aT,code(e){let{gen:t,data:n,schemaCode:r,keyword:o,it:s}=e,{opts:i,self:a}=s;if(!i.validateFormats)return;let c=new iT.KeywordCxt(s,a.RULES.all.format.definition,"format");c.$data?u():d();function u(){let m=t.scopeValue("formats",{ref:a.formats,code:i.code.formats}),f=t.const("fmt",(0,ft._)`${m}[${c.schemaCode}]`);e.fail$data((0,ft.or)((0,ft._)`typeof ${f} != "object"`,(0,ft._)`${f} instanceof RegExp`,(0,ft._)`typeof ${f}.compare != "function"`,l(f)))}function d(){let m=c.schema,f=a.formats[m];if(!f||f===!0)return;if(typeof f!="object"||f instanceof RegExp||typeof f.compare!="function")throw new Error(`"${o}": format "${m}" does not define "compare" function`);let h=t.scopeValue("formats",{key:m,ref:f,code:i.code.formats?(0,ft._)`${i.code.formats}${(0,ft.getProperty)(m)}`:void 0});e.fail$data(l(h))}function l(m){return(0,ft._)`${m}.compare(${n}, ${r}) ${wi[o].fail} 0`}},dependencies:["format"]};var cT=e=>(e.addKeyword(kr.formatLimitDefinition),e);kr.default=cT});var zy=z((Ro,$y)=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});var xr=wy(),uT=ky(),al=F(),xy=new al.Name("fullFormats"),dT=new al.Name("fastFormats"),cl=(e,t={keywords:!0})=>{if(Array.isArray(t))return Sy(e,t,xr.fullFormats,xy),e;let[n,r]=t.mode==="fast"?[xr.fastFormats,dT]:[xr.fullFormats,xy],o=t.formats||xr.formatNames;return Sy(e,o,n,r),t.keywords&&(0,uT.default)(e),e};cl.get=(e,t="full")=>{let r=(t==="fast"?xr.fastFormats:xr.fullFormats)[e];if(!r)throw new Error(`Unknown format "${e}"`);return r};function Sy(e,t,n,r){var o,s;(o=(s=e.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,al._)`require("ajv-formats/dist/formats").${r}`);for(let i of t)e.addFormat(i,n[i])}$y.exports=Ro=cl;Object.defineProperty(Ro,"__esModule",{value:!0});Ro.default=cl});import{pathToFileURL as Lj}from"node:url";var p={};Mi(p,{BRAND:()=>Gb,DIRTY:()=>sn,EMPTY_PATH:()=>Tb,INVALID:()=>N,NEVER:()=>Ev,OK:()=>Re,ParseStatus:()=>ke,Schema:()=>J,ZodAny:()=>Ut,ZodArray:()=>Ot,ZodBigInt:()=>cn,ZodBoolean:()=>un,ZodBranded:()=>Pr,ZodCatch:()=>vn,ZodDate:()=>dn,ZodDefault:()=>bn,ZodDiscriminatedUnion:()=>Fo,ZodEffects:()=>Ye,ZodEnum:()=>yn,ZodError:()=>Le,ZodFirstPartyTypeKind:()=>S,ZodFunction:()=>Bo,ZodIntersection:()=>fn,ZodIssueCode:()=>x,ZodLazy:()=>hn,ZodLiteral:()=>gn,ZodMap:()=>Wn,ZodNaN:()=>Gn,ZodNativeEnum:()=>_n,ZodNever:()=>it,ZodNull:()=>pn,ZodNullable:()=>bt,ZodNumber:()=>an,ZodObject:()=>Ze,ZodOptional:()=>De,ZodParsedType:()=>P,ZodPipeline:()=>Tr,ZodPromise:()=>qt,ZodReadonly:()=>wn,ZodRecord:()=>Vo,ZodSchema:()=>J,ZodSet:()=>Kn,ZodString:()=>Zt,ZodSymbol:()=>Bn,ZodTransformer:()=>Ye,ZodTuple:()=>_t,ZodType:()=>J,ZodUndefined:()=>ln,ZodUnion:()=>mn,ZodUnknown:()=>jt,ZodVoid:()=>Hn,addIssueToContext:()=>$,any:()=>sv,array:()=>uv,bigint:()=>ev,boolean:()=>np,coerce:()=>Iv,custom:()=>Xl,date:()=>tv,datetimeRegex:()=>Ql,defaultErrorMap:()=>Tt,discriminatedUnion:()=>pv,effect:()=>Sv,enum:()=>wv,function:()=>_v,getErrorMap:()=>Jn,getParsedType:()=>yt,instanceof:()=>Yb,intersection:()=>mv,isAborted:()=>qo,isAsync:()=>Fn,isDirty:()=>Jo,isValid:()=>Dt,late:()=>Qb,lazy:()=>bv,literal:()=>vv,makeIssue:()=>zr,map:()=>gv,nan:()=>Xb,nativeEnum:()=>kv,never:()=>av,null:()=>ov,nullable:()=>zv,number:()=>tp,object:()=>Zi,objectUtil:()=>Ni,oboolean:()=>Ov,onumber:()=>jv,optional:()=>$v,ostring:()=>Rv,pipeline:()=>Tv,preprocess:()=>Pv,promise:()=>xv,quotelessJson:()=>$b,record:()=>hv,set:()=>yv,setErrorMap:()=>Pb,strictObject:()=>dv,string:()=>ep,symbol:()=>nv,transformer:()=>Sv,tuple:()=>fv,undefined:()=>rv,union:()=>lv,unknown:()=>iv,util:()=>H,void:()=>cv});var H;(function(e){e.assertEqual=o=>{};function t(o){}e.assertIs=t;function n(o){throw new Error}e.assertNever=n,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 r(o,s=" | "){return o.map(i=>typeof i=="string"?`'${i}'`:i).join(s)}e.joinValues=r,e.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(H||(H={}));var Ni;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Ni||(Ni={}));var P=H.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),yt=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"]),$b=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),Le=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){let n=t||function(s){return s.message},r={_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)r._errors.push(n(i));else{let a=r,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(n(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(this),r}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=n=>n.message){let n={},r=[];for(let o of this.issues)if(o.path.length>0){let s=o.path[0];n[s]=n[s]||[],n[s].push(t(o))}else r.push(t(o));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};Le.create=e=>new Le(e);var zb=(e,t)=>{let n;switch(e.code){case x.invalid_type:e.received===P.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case x.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,H.jsonStringifyReplacer)}`;break;case x.unrecognized_keys:n=`Unrecognized key(s) in object: ${H.joinValues(e.keys,", ")}`;break;case x.invalid_union:n="Invalid input";break;case x.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${H.joinValues(e.options)}`;break;case x.invalid_enum_value:n=`Invalid enum value. Expected ${H.joinValues(e.options)}, received '${e.received}'`;break;case x.invalid_arguments:n="Invalid function arguments";break;case x.invalid_return_type:n="Invalid function return type";break;case x.invalid_date:n="Invalid date";break;case x.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:H.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case x.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case x.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case x.custom:n="Invalid input";break;case x.invalid_intersection_types:n="Intersection results could not be merged";break;case x.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case x.not_finite:n="Number must be finite";break;default:n=t.defaultError,H.assertNever(e)}return{message:n}},Tt=zb;var Bl=Tt;function Pb(e){Bl=e}function Jn(){return Bl}var zr=e=>{let{data:t,path:n,errorMaps:r,issueData:o}=e,s=[...n,...o.path||[]],i={...o,path:s};if(o.message!==void 0)return{...o,path:s,message:o.message};let a="",c=r.filter(u=>!!u).slice().reverse();for(let u of c)a=u(i,{data:t,defaultError:a}).message;return{...o,path:s,message:a}},Tb=[];function $(e,t){let n=Jn(),r=zr({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Tt?void 0:Tt].filter(o=>!!o)});e.common.issues.push(r)}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,n){let r=[];for(let o of n){if(o.status==="aborted")return N;o.status==="dirty"&&t.dirty(),r.push(o.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){let r=[];for(let o of n){let s=await o.key,i=await o.value;r.push({key:s,value:i})}return e.mergeObjectSync(t,r)}static mergeObjectSync(t,n){let r={};for(let o of n){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)&&(r[s.value]=i.value)}return{status:t.value,value:r}}},N=Object.freeze({status:"aborted"}),sn=e=>({status:"dirty",value:e}),Re=e=>({status:"valid",value:e}),qo=e=>e.status==="aborted",Jo=e=>e.status==="dirty",Dt=e=>e.status==="valid",Fn=e=>typeof Promise<"u"&&e instanceof Promise;var O;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(O||(O={}));var Qe=class{constructor(t,n,r,o){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,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}},Hl=(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 n=new Le(e.common.issues);return this._error=n,this._error}}};function U(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:o}=e;if(t&&(n||r))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??r??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:c??n??a.defaultError}},description:o}}var J=class{get description(){return this._def.description}_getType(t){return yt(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:yt(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:yt(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(Fn(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){let n=this._parse(t);return Promise.resolve(n)}parse(t,n){let r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){let r={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:yt(t)},o=this._parseSync({data:t,path:r.path,parent:r});return Hl(r,o)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:yt(t)};if(!this["~standard"].async)try{let r=this._parseSync({data:t,path:[],parent:n});return Dt(r)?{value:r.value}:{issues:n.common.issues}}catch(r){r?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:n}).then(r=>Dt(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(t,n){let r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){let r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:yt(t)},o=this._parse({data:t,path:r.path,parent:r}),s=await(Fn(o)?o:Promise.resolve(o));return Hl(r,s)}refine(t,n){let r=o=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(o):n;return this._refinement((o,s)=>{let i=t(o),a=()=>s.addIssue({code:x.custom,...r(o)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,o)=>t(r)?!0:(o.addIssue(typeof n=="function"?n(r,o):n),!1))}_refinement(t){return new Ye({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:n=>this["~validate"](n)}}optional(){return De.create(this,this._def)}nullable(){return bt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ot.create(this)}promise(){return qt.create(this,this._def)}or(t){return mn.create([this,t],this._def)}and(t){return fn.create(this,t,this._def)}transform(t){return new Ye({...U(this._def),schema:this,typeName:S.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new bn({...U(this._def),innerType:this,defaultValue:n,typeName:S.ZodDefault})}brand(){return new Pr({typeName:S.ZodBranded,type:this,...U(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new vn({...U(this._def),innerType:this,catchValue:n,typeName:S.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return Tr.create(this,t)}readonly(){return wn.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Rb=/^c[^\s-]{8,}$/i,jb=/^[0-9a-z]+$/,Ob=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Ib=/^[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,Eb=/^[a-z0-9_-]{21}$/i,Cb=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Ab=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Mb=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Nb="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Li,Lb=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Db=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Zb=/^(([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]))$/,Ub=/^(([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])$/,qb=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Jb=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Kl="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Fb=new RegExp(`^${Kl}$`);function Gl(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function Vb(e){return new RegExp(`^${Gl(e)}$`)}function Ql(e){let t=`${Kl}T${Gl(e)}`,n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function Bb(e,t){return!!((t==="v4"||!t)&&Lb.test(e)||(t==="v6"||!t)&&Zb.test(e))}function Hb(e,t){if(!Cb.test(e))return!1;try{let[n]=e.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),o=JSON.parse(atob(r));return!(typeof o!="object"||o===null||"typ"in o&&o?.typ!=="JWT"||!o.alg||t&&o.alg!==t)}catch{return!1}}function Wb(e,t){return!!((t==="v4"||!t)&&Db.test(e)||(t==="v6"||!t)&&Ub.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 r=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}),r.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}),r.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}),r.dirty())}else if(s.kind==="email")Mb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"email",code:x.invalid_string,message:s.message}),r.dirty());else if(s.kind==="emoji")Li||(Li=new RegExp(Nb,"u")),Li.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"emoji",code:x.invalid_string,message:s.message}),r.dirty());else if(s.kind==="uuid")Ib.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"uuid",code:x.invalid_string,message:s.message}),r.dirty());else if(s.kind==="nanoid")Eb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"nanoid",code:x.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid")Rb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"cuid",code:x.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid2")jb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"cuid2",code:x.invalid_string,message:s.message}),r.dirty());else if(s.kind==="ulid")Ob.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"ulid",code:x.invalid_string,message:s.message}),r.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}),r.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}),r.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}),r.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}),r.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}),r.dirty()):s.kind==="datetime"?Ql(s).test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:"datetime",message:s.message}),r.dirty()):s.kind==="date"?Fb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:"date",message:s.message}),r.dirty()):s.kind==="time"?Vb(s).test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:"time",message:s.message}),r.dirty()):s.kind==="duration"?Ab.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"duration",code:x.invalid_string,message:s.message}),r.dirty()):s.kind==="ip"?Bb(t.data,s.version)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"ip",code:x.invalid_string,message:s.message}),r.dirty()):s.kind==="jwt"?Hb(t.data,s.alg)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"jwt",code:x.invalid_string,message:s.message}),r.dirty()):s.kind==="cidr"?Wb(t.data,s.version)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"cidr",code:x.invalid_string,message:s.message}),r.dirty()):s.kind==="base64"?qb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"base64",code:x.invalid_string,message:s.message}),r.dirty()):s.kind==="base64url"?Jb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"base64url",code:x.invalid_string,message:s.message}),r.dirty()):H.assertNever(s);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(o=>t.test(o),{validation:n,code:x.invalid_string,...O.errToObj(r)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...O.errToObj(t)})}url(t){return this._addCheck({kind:"url",...O.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...O.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...O.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...O.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...O.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...O.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...O.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...O.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...O.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...O.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...O.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...O.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,...O.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,...O.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...O.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...O.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...O.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...O.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...O.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...O.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...O.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...O.errToObj(n)})}nonempty(t){return this.min(1,O.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 n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Zt.create=e=>new Zt({checks:[],typeName:S.ZodString,coerce:e?.coerce??!1,...U(e)});function Kb(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,o=n>r?n:r,s=Number.parseInt(e.toFixed(o).replace(".","")),i=Number.parseInt(t.toFixed(o).replace(".",""));return s%i/10**o}var an=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 r,o=new ke;for(let s of this._def.checks)s.kind==="int"?H.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),$(r,{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)&&(r=this._getOrReturnCtx(t,r),$(r,{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)&&(r=this._getOrReturnCtx(t,r),$(r,{code:x.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?Kb(t.data,s.value)!==0&&(r=this._getOrReturnCtx(t,r),$(r,{code:x.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),$(r,{code:x.not_finite,message:s.message}),o.dirty()):H.assertNever(s);return{status:o.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,O.toString(n))}gt(t,n){return this.setLimit("min",t,!1,O.toString(n))}lte(t,n){return this.setLimit("max",t,!0,O.toString(n))}lt(t,n){return this.setLimit("max",t,!1,O.toString(n))}setLimit(t,n,r,o){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:O.toString(o)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:O.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:O.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:O.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:O.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:O.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:O.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:O.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:O.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:O.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.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,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}};an.create=e=>new an({checks:[],typeName:S.ZodNumber,coerce:e?.coerce||!1,...U(e)});var cn=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 r,o=new ke;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(r=this._getOrReturnCtx(t,r),$(r,{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)&&(r=this._getOrReturnCtx(t,r),$(r,{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)&&(r=this._getOrReturnCtx(t,r),$(r,{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 n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:P.bigint,received:n.parsedType}),N}gte(t,n){return this.setLimit("min",t,!0,O.toString(n))}gt(t,n){return this.setLimit("min",t,!1,O.toString(n))}lte(t,n){return this.setLimit("max",t,!0,O.toString(n))}lt(t,n){return this.setLimit("max",t,!1,O.toString(n))}setLimit(t,n,r,o){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:O.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:O.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:O.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:O.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:O.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:O.toString(n)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};cn.create=e=>new cn({checks:[],typeName:S.ZodBigInt,coerce:e?.coerce??!1,...U(e)});var un=class extends J{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==P.boolean){let r=this._getOrReturnCtx(t);return $(r,{code:x.invalid_type,expected:P.boolean,received:r.parsedType}),N}return Re(t.data)}};un.create=e=>new un({typeName:S.ZodBoolean,coerce:e?.coerce||!1,...U(e)});var dn=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 r=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"}),r.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"}),r.dirty()):H.assertNever(s);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:O.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:O.toString(n)})}get minDate(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}};dn.create=e=>new dn({checks:[],coerce:e?.coerce||!1,typeName:S.ZodDate,...U(e)});var Bn=class extends J{_parse(t){if(this._getType(t)!==P.symbol){let r=this._getOrReturnCtx(t);return $(r,{code:x.invalid_type,expected:P.symbol,received:r.parsedType}),N}return Re(t.data)}};Bn.create=e=>new Bn({typeName:S.ZodSymbol,...U(e)});var ln=class extends J{_parse(t){if(this._getType(t)!==P.undefined){let r=this._getOrReturnCtx(t);return $(r,{code:x.invalid_type,expected:P.undefined,received:r.parsedType}),N}return Re(t.data)}};ln.create=e=>new ln({typeName:S.ZodUndefined,...U(e)});var pn=class extends J{_parse(t){if(this._getType(t)!==P.null){let r=this._getOrReturnCtx(t);return $(r,{code:x.invalid_type,expected:P.null,received:r.parsedType}),N}return Re(t.data)}};pn.create=e=>new pn({typeName:S.ZodNull,...U(e)});var Ut=class extends J{constructor(){super(...arguments),this._any=!0}_parse(t){return Re(t.data)}};Ut.create=e=>new Ut({typeName:S.ZodAny,...U(e)});var jt=class extends J{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Re(t.data)}};jt.create=e=>new jt({typeName:S.ZodUnknown,...U(e)});var it=class extends J{_parse(t){let n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:P.never,received:n.parsedType}),N}};it.create=e=>new it({typeName:S.ZodNever,...U(e)});var Hn=class extends J{_parse(t){if(this._getType(t)!==P.undefined){let r=this._getOrReturnCtx(t);return $(r,{code:x.invalid_type,expected:P.void,received:r.parsedType}),N}return Re(t.data)}};Hn.create=e=>new Hn({typeName:S.ZodVoid,...U(e)});var Ot=class e extends J{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),o=this._def;if(n.parsedType!==P.array)return $(n,{code:x.invalid_type,expected:P.array,received:n.parsedType}),N;if(o.exactLength!==null){let i=n.data.length>o.exactLength.value,a=n.data.length<o.exactLength.value;(i||a)&&($(n,{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}),r.dirty())}if(o.minLength!==null&&n.data.length<o.minLength.value&&($(n,{code:x.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),r.dirty()),o.maxLength!==null&&n.data.length>o.maxLength.value&&($(n,{code:x.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((i,a)=>o.type._parseAsync(new Qe(n,i,n.path,a)))).then(i=>ke.mergeArray(r,i));let s=[...n.data].map((i,a)=>o.type._parseSync(new Qe(n,i,n.path,a)));return ke.mergeArray(r,s)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:O.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:O.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:O.toString(n)}})}nonempty(t){return this.min(1,t)}};Ot.create=(e,t)=>new Ot({type:e,minLength:null,maxLength:null,exactLength:null,typeName:S.ZodArray,...U(t)});function Vn(e){if(e instanceof Ze){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=De.create(Vn(r))}return new Ze({...e._def,shape:()=>t})}else return e instanceof Ot?new Ot({...e._def,type:Vn(e.element)}):e instanceof De?De.create(Vn(e.unwrap())):e instanceof bt?bt.create(Vn(e.unwrap())):e instanceof _t?_t.create(e.items.map(t=>Vn(t))):e}var Ze=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(),n=H.objectKeys(t);return this._cached={shape:t,keys:n},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:r,ctx:o}=this._processInputParams(t),{shape:s,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof it&&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 Qe(o,l,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof it){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}),r.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 Qe(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,m=await d.value;u.push({key:l,value:m,alwaysSet:d.alwaysSet})}return u}).then(u=>ke.mergeObjectSync(r,u)):ke.mergeObjectSync(r,c)}get shape(){return this._def.shape()}strict(t){return O.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{let o=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:O.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,n){return this.augment({[t]:n})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let r of H.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let r of H.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return Vn(this)}partial(t){let n={};for(let r of H.objectKeys(this.shape)){let o=this.shape[r];t&&!t[r]?n[r]=o:n[r]=o.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let r of H.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof De;)s=s._def.innerType;n[r]=s}return new e({...this._def,shape:()=>n})}keyof(){return Yl(H.objectKeys(this.shape))}};Ze.create=(e,t)=>new Ze({shape:()=>e,unknownKeys:"strip",catchall:it.create(),typeName:S.ZodObject,...U(t)});Ze.strictCreate=(e,t)=>new Ze({shape:()=>e,unknownKeys:"strict",catchall:it.create(),typeName:S.ZodObject,...U(t)});Ze.lazycreate=(e,t)=>new Ze({shape:e,unknownKeys:"strip",catchall:it.create(),typeName:S.ZodObject,...U(t)});var mn=class extends J{_parse(t){let{ctx:n}=this._processInputParams(t),r=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 n.common.issues.push(...a.ctx.common.issues),a.result;let i=s.map(a=>new Le(a.ctx.common.issues));return $(n,{code:x.invalid_union,unionErrors:i}),N}if(n.common.async)return Promise.all(r.map(async s=>{let i={...n,common:{...n.common,issues:[]},parent:null};return{result:await s._parseAsync({data:n.data,path:n.path,parent:i}),ctx:i}})).then(o);{let s,i=[];for(let c of r){let u={...n,common:{...n.common,issues:[]},parent:null},d=c._parseSync({data:n.data,path:n.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 n.common.issues.push(...s.ctx.common.issues),s.result;let a=i.map(c=>new Le(c));return $(n,{code:x.invalid_union,unionErrors:a}),N}}get options(){return this._def.options}};mn.create=(e,t)=>new mn({options:e,typeName:S.ZodUnion,...U(t)});var Rt=e=>e instanceof hn?Rt(e.schema):e instanceof Ye?Rt(e.innerType()):e instanceof gn?[e.value]:e instanceof yn?e.options:e instanceof _n?H.objectValues(e.enum):e instanceof bn?Rt(e._def.innerType):e instanceof ln?[void 0]:e instanceof pn?[null]:e instanceof De?[void 0,...Rt(e.unwrap())]:e instanceof bt?[null,...Rt(e.unwrap())]:e instanceof Pr||e instanceof wn?Rt(e.unwrap()):e instanceof vn?Rt(e._def.innerType):[],Fo=class e extends J{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==P.object)return $(n,{code:x.invalid_type,expected:P.object,received:n.parsedType}),N;let r=this.discriminator,o=n.data[r],s=this.optionsMap.get(o);return s?n.common.async?s._parseAsync({data:n.data,path:n.path,parent:n}):s._parseSync({data:n.data,path:n.path,parent:n}):($(n,{code:x.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),N)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let o=new Map;for(let s of n){let i=Rt(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:n,optionsMap:o,...U(r)})}};function Di(e,t){let n=yt(e),r=yt(t);if(e===t)return{valid:!0,data:e};if(n===P.object&&r===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=Di(e[a],t[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(n===P.array&&r===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=Di(i,a);if(!c.valid)return{valid:!1};o.push(c.data)}return{valid:!0,data:o}}else return n===P.date&&r===P.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var fn=class extends J{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),o=(s,i)=>{if(qo(s)||qo(i))return N;let a=Di(s.value,i.value);return a.valid?((Jo(s)||Jo(i))&&n.dirty(),{status:n.value,value:a.data}):($(r,{code:x.invalid_intersection_types}),N)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([s,i])=>o(s,i)):o(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};fn.create=(e,t,n)=>new fn({left:e,right:t,typeName:S.ZodIntersection,...U(n)});var _t=class e extends J{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==P.array)return $(r,{code:x.invalid_type,expected:P.array,received:r.parsedType}),N;if(r.data.length<this._def.items.length)return $(r,{code:x.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),N;!this._def.rest&&r.data.length>this._def.items.length&&($(r,{code:x.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let s=[...r.data].map((i,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new Qe(r,i,r.path,a)):null}).filter(i=>!!i);return r.common.async?Promise.all(s).then(i=>ke.mergeArray(n,i)):ke.mergeArray(n,s)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};_t.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new _t({items:e,typeName:S.ZodTuple,rest:null,...U(t)})};var Vo=class e extends J{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==P.object)return $(r,{code:x.invalid_type,expected:P.object,received:r.parsedType}),N;let o=[],s=this._def.keyType,i=this._def.valueType;for(let a in r.data)o.push({key:s._parse(new Qe(r,a,r.path,a)),value:i._parse(new Qe(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?ke.mergeObjectAsync(n,o):ke.mergeObjectSync(n,o)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof J?new e({keyType:t,valueType:n,typeName:S.ZodRecord,...U(r)}):new e({keyType:Zt.create(),valueType:t,typeName:S.ZodRecord,...U(n)})}},Wn=class extends J{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==P.map)return $(r,{code:x.invalid_type,expected:P.map,received:r.parsedType}),N;let o=this._def.keyType,s=this._def.valueType,i=[...r.data.entries()].map(([a,c],u)=>({key:o._parse(new Qe(r,a,r.path,[u,"key"])),value:s._parse(new Qe(r,c,r.path,[u,"value"]))}));if(r.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")&&n.dirty(),a.set(u.value,d.value)}return{status:n.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")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}}}};Wn.create=(e,t,n)=>new Wn({valueType:t,keyType:e,typeName:S.ZodMap,...U(n)});var Kn=class e extends J{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==P.set)return $(r,{code:x.invalid_type,expected:P.set,received:r.parsedType}),N;let o=this._def;o.minSize!==null&&r.data.size<o.minSize.value&&($(r,{code:x.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),n.dirty()),o.maxSize!==null&&r.data.size>o.maxSize.value&&($(r,{code:x.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),n.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"&&n.dirty(),u.add(d.value)}return{status:n.value,value:u}}let a=[...r.data.values()].map((c,u)=>s._parse(new Qe(r,c,r.path,u)));return r.common.async?Promise.all(a).then(c=>i(c)):i(a)}min(t,n){return new e({...this._def,minSize:{value:t,message:O.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:O.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};Kn.create=(e,t)=>new Kn({valueType:e,minSize:null,maxSize:null,typeName:S.ZodSet,...U(t)});var Bo=class e extends J{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==P.function)return $(n,{code:x.invalid_type,expected:P.function,received:n.parsedType}),N;function r(a,c){return zr({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Jn(),Tt].filter(u=>!!u),issueData:{code:x.invalid_arguments,argumentsError:c}})}function o(a,c){return zr({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Jn(),Tt].filter(u=>!!u),issueData:{code:x.invalid_return_type,returnTypeError:c}})}let s={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof qt){let a=this;return Re(async function(...c){let u=new Le([]),d=await a._def.args.parseAsync(c,s).catch(f=>{throw u.addIssue(r(c,f)),u}),l=await Reflect.apply(i,this,d);return await a._def.returns._def.type.parseAsync(l,s).catch(f=>{throw u.addIssue(o(l,f)),u})})}else{let a=this;return Re(function(...c){let u=a._def.args.safeParse(c,s);if(!u.success)throw new Le([r(c,u.error)]);let d=Reflect.apply(i,this,u.data),l=a._def.returns.safeParse(d,s);if(!l.success)throw new Le([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:_t.create(t).rest(jt.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,n,r){return new e({args:t||_t.create([]).rest(jt.create()),returns:n||jt.create(),typeName:S.ZodFunction,...U(r)})}},hn=class extends J{get schema(){return this._def.getter()}_parse(t){let{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};hn.create=(e,t)=>new hn({getter:e,typeName:S.ZodLazy,...U(t)});var gn=class extends J{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return $(n,{received:n.data,code:x.invalid_literal,expected:this._def.value}),N}return{status:"valid",value:t.data}}get value(){return this._def.value}};gn.create=(e,t)=>new gn({value:e,typeName:S.ZodLiteral,...U(t)});function Yl(e,t){return new yn({values:e,typeName:S.ZodEnum,...U(t)})}var yn=class e extends J{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return $(n,{expected:H.joinValues(r),received:n.parsedType,code:x.invalid_type}),N}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),r=this._def.values;return $(n,{received:n.data,code:x.invalid_enum_value,options:r}),N}return Re(t.data)}get options(){return this._def.values}get enum(){let t={};for(let n of this._def.values)t[n]=n;return t}get Values(){let t={};for(let n of this._def.values)t[n]=n;return t}get Enum(){let t={};for(let n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}};yn.create=Yl;var _n=class extends J{_parse(t){let n=H.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==P.string&&r.parsedType!==P.number){let o=H.objectValues(n);return $(r,{expected:H.joinValues(o),received:r.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(n);return $(r,{received:r.data,code:x.invalid_enum_value,options:o}),N}return Re(t.data)}get enum(){return this._def.values}};_n.create=(e,t)=>new _n({values:e,typeName:S.ZodNativeEnum,...U(t)});var qt=class extends J{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==P.promise&&n.common.async===!1)return $(n,{code:x.invalid_type,expected:P.promise,received:n.parsedType}),N;let r=n.parsedType===P.promise?n.data:Promise.resolve(n.data);return Re(r.then(o=>this._def.type.parseAsync(o,{path:n.path,errorMap:n.common.contextualErrorMap})))}};qt.create=(e,t)=>new qt({type:e,typeName:S.ZodPromise,...U(t)});var Ye=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:n,ctx:r}=this._processInputParams(t),o=this._def.effect||null,s={addIssue:i=>{$(r,i),i.fatal?n.abort():n.dirty()},get path(){return r.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="preprocess"){let i=o.transform(r.data,s);if(r.common.async)return Promise.resolve(i).then(async a=>{if(n.value==="aborted")return N;let c=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return c.status==="aborted"?N:c.status==="dirty"?sn(c.value):n.value==="dirty"?sn(c.value):c});{if(n.value==="aborted")return N;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?N:a.status==="dirty"?sn(a.value):n.value==="dirty"?sn(a.value):a}}if(o.type==="refinement"){let i=a=>{let c=o.refinement(a,s);if(r.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(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?N:(a.status==="dirty"&&n.dirty(),i(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?N:(a.status==="dirty"&&n.dirty(),i(a.value).then(()=>({status:n.value,value:a.value}))))}if(o.type==="transform")if(r.common.async===!1){let i=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});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:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(i=>Dt(i)?Promise.resolve(o.transform(i.value,s)).then(a=>({status:n.value,value:a})):N);H.assertNever(o)}};Ye.create=(e,t,n)=>new Ye({schema:e,typeName:S.ZodEffects,effect:t,...U(n)});Ye.createWithPreprocess=(e,t,n)=>new Ye({schema:t,effect:{type:"preprocess",transform:e},typeName:S.ZodEffects,...U(n)});var De=class extends J{_parse(t){return this._getType(t)===P.undefined?Re(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};De.create=(e,t)=>new De({innerType:e,typeName:S.ZodOptional,...U(t)});var bt=class extends J{_parse(t){return this._getType(t)===P.null?Re(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};bt.create=(e,t)=>new bt({innerType:e,typeName:S.ZodNullable,...U(t)});var bn=class extends J{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===P.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};bn.create=(e,t)=>new bn({innerType:e,typeName:S.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...U(t)});var vn=class extends J{_parse(t){let{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},o=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Fn(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Le(r.common.issues)},input:r.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Le(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};vn.create=(e,t)=>new vn({innerType:e,typeName:S.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...U(t)});var Gn=class extends J{_parse(t){if(this._getType(t)!==P.nan){let r=this._getOrReturnCtx(t);return $(r,{code:x.invalid_type,expected:P.nan,received:r.parsedType}),N}return{status:"valid",value:t.data}}};Gn.create=e=>new Gn({typeName:S.ZodNaN,...U(e)});var Gb=Symbol("zod_brand"),Pr=class extends J{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},Tr=class e extends J{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?N:s.status==="dirty"?(n.dirty(),sn(s.value)):this._def.out._parseAsync({data:s.value,path:r.path,parent:r})})();{let o=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?N:o.status==="dirty"?(n.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:r.path,parent:r})}}static create(t,n){return new e({in:t,out:n,typeName:S.ZodPipeline})}},wn=class extends J{_parse(t){let n=this._def.innerType._parse(t),r=o=>(Dt(o)&&(o.value=Object.freeze(o.value)),o);return Fn(n)?n.then(o=>r(o)):r(n)}unwrap(){return this._def.innerType}};wn.create=(e,t)=>new wn({innerType:e,typeName:S.ZodReadonly,...U(t)});function Wl(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function Xl(e,t={},n){return e?Ut.create().superRefine((r,o)=>{let s=e(r);if(s instanceof Promise)return s.then(i=>{if(!i){let a=Wl(t,r),c=a.fatal??n??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!s){let i=Wl(t,r),a=i.fatal??n??!0;o.addIssue({code:"custom",...i,fatal:a})}}):Ut.create()}var Qb={object:Ze.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 Yb=(e,t={message:`Input not instance of ${e.name}`})=>Xl(n=>n instanceof e,t),ep=Zt.create,tp=an.create,Xb=Gn.create,ev=cn.create,np=un.create,tv=dn.create,nv=Bn.create,rv=ln.create,ov=pn.create,sv=Ut.create,iv=jt.create,av=it.create,cv=Hn.create,uv=Ot.create,Zi=Ze.create,dv=Ze.strictCreate,lv=mn.create,pv=Fo.create,mv=fn.create,fv=_t.create,hv=Vo.create,gv=Wn.create,yv=Kn.create,_v=Bo.create,bv=hn.create,vv=gn.create,wv=yn.create,kv=_n.create,xv=qt.create,Sv=Ye.create,$v=De.create,zv=bt.create,Pv=Ye.createWithPreprocess,Tv=Tr.create,Rv=()=>ep().optional(),jv=()=>tp().optional(),Ov=()=>np().optional(),Iv={string:(e=>Zt.create({...e,coerce:!0})),number:(e=>an.create({...e,coerce:!0})),boolean:(e=>un.create({...e,coerce:!0})),bigint:(e=>cn.create({...e,coerce:!0})),date:(e=>dn.create({...e,coerce:!0}))};var Ev=N;var Av=Object.freeze({status:"aborted"});function b(e,t,n){function r(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=n?.Parent??Object;class s extends o{}Object.defineProperty(s,"name",{value:e});function i(a){var c;let u=n?.Parent?new s:this;r(u,a),(c=u._zod).deferred??(c.deferred=[]);for(let d of u._zod.deferred)d();return u}return Object.defineProperty(i,"init",{value:r}),Object.defineProperty(i,Symbol.hasInstance,{value:a=>n?.Parent&&a instanceof n.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.")}},Ho={};function He(e){return e&&Object.assign(Ho,e),Ho}var W={};Mi(W,{BIGINT_FORMAT_RANGES:()=>op,Class:()=>qi,NUMBER_FORMAT_RANGES:()=>Ki,aborted:()=>xn,allowsEval:()=>Bi,assert:()=>Zv,assertEqual:()=>Mv,assertIs:()=>Lv,assertNever:()=>Dv,assertNotEqual:()=>Nv,assignProp:()=>Vi,cached:()=>Or,captureStackTrace:()=>Ko,cleanEnum:()=>Xv,cleanRegex:()=>Er,clone:()=>We,createTransparentProxy:()=>Bv,defineLazy:()=>ie,esc:()=>kn,escapeRegex:()=>Jt,extend:()=>Kv,finalizeIssue:()=>at,floatSafeRemainder:()=>Fi,getElementAtPath:()=>Uv,getEnumValues:()=>jr,getLengthableOrigin:()=>Cr,getParsedType:()=>Vv,getSizableOrigin:()=>sp,isObject:()=>Qn,isPlainObject:()=>Yn,issue:()=>Gi,joinValues:()=>Wo,jsonStringifyReplacer:()=>Ji,merge:()=>Gv,normalizeParams:()=>L,nullish:()=>Ir,numKeys:()=>Fv,omit:()=>Wv,optionalKeys:()=>Wi,partial:()=>Qv,pick:()=>Hv,prefixIssues:()=>vt,primitiveTypes:()=>rp,promiseAllObject:()=>qv,propertyKeyTypes:()=>Hi,randomString:()=>Jv,required:()=>Yv,stringifyPrimitive:()=>Go,unwrapMessage:()=>Rr});function Mv(e){return e}function Nv(e){return e}function Lv(e){}function Dv(e){throw new Error}function Zv(e){}function jr(e){let t=Object.values(e).filter(r=>typeof r=="number");return Object.entries(e).filter(([r,o])=>t.indexOf(+r)===-1).map(([r,o])=>o)}function Wo(e,t="|"){return e.map(n=>Go(n)).join(t)}function Ji(e,t){return typeof t=="bigint"?t.toString():t}function Or(e){return{get value(){{let n=e();return Object.defineProperty(this,"value",{value:n}),n}throw new Error("cached value already set")}}}function Ir(e){return e==null}function Er(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function Fi(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,o=n>r?n:r,s=Number.parseInt(e.toFixed(o).replace(".","")),i=Number.parseInt(t.toFixed(o).replace(".",""));return s%i/10**o}function ie(e,t,n){Object.defineProperty(e,t,{get(){{let o=n();return e[t]=o,o}throw new Error("cached value already set")},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function Vi(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Uv(e,t){return t?t.reduce((n,r)=>n?.[r],e):e}function qv(e){let t=Object.keys(e),n=t.map(r=>e[r]);return Promise.all(n).then(r=>{let o={};for(let s=0;s<t.length;s++)o[t[s]]=r[s];return o})}function Jv(e=10){let t="abcdefghijklmnopqrstuvwxyz",n="";for(let r=0;r<e;r++)n+=t[Math.floor(Math.random()*t.length)];return n}function kn(e){return JSON.stringify(e)}var Ko=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function Qn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Bi=Or(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function Yn(e){if(Qn(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(Qn(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function Fv(e){let t=0;for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t++;return t}var Vv=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}`)}},Hi=new Set(["string","number","symbol"]),rp=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Jt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function We(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}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 Bv(e){let t;return new Proxy({},{get(n,r,o){return t??(t=e()),Reflect.get(t,r,o)},set(n,r,o,s){return t??(t=e()),Reflect.set(t,r,o,s)},has(n,r){return t??(t=e()),Reflect.has(t,r)},deleteProperty(n,r){return t??(t=e()),Reflect.deleteProperty(t,r)},ownKeys(n){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(n,r){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,r)},defineProperty(n,r,o){return t??(t=e()),Reflect.defineProperty(t,r,o)}})}function Go(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function Wi(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Ki={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]},op={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Hv(e,t){let n={},r=e._zod.def;for(let o in t){if(!(o in r.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&(n[o]=r.shape[o])}return We(e,{...e._zod.def,shape:n,checks:[]})}function Wv(e,t){let n={...e._zod.def.shape},r=e._zod.def;for(let o in t){if(!(o in r.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&delete n[o]}return We(e,{...e._zod.def,shape:n,checks:[]})}function Kv(e,t){if(!Yn(t))throw new Error("Invalid input to extend: expected a plain object");let n={...e._zod.def,get shape(){let r={...e._zod.def.shape,...t};return Vi(this,"shape",r),r},checks:[]};return We(e,n)}function Gv(e,t){return We(e,{...e._zod.def,get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return Vi(this,"shape",n),n},catchall:t._zod.def.catchall,checks:[]})}function Qv(e,t,n){let r=t._zod.def.shape,o={...r};if(n)for(let s in n){if(!(s in r))throw new Error(`Unrecognized key: "${s}"`);n[s]&&(o[s]=e?new e({type:"optional",innerType:r[s]}):r[s])}else for(let s in r)o[s]=e?new e({type:"optional",innerType:r[s]}):r[s];return We(t,{...t._zod.def,shape:o,checks:[]})}function Yv(e,t,n){let r=t._zod.def.shape,o={...r};if(n)for(let s in n){if(!(s in o))throw new Error(`Unrecognized key: "${s}"`);n[s]&&(o[s]=new e({type:"nonoptional",innerType:r[s]}))}else for(let s in r)o[s]=new e({type:"nonoptional",innerType:r[s]});return We(t,{...t._zod.def,shape:o,checks:[]})}function xn(e,t=0){for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function vt(e,t){return t.map(n=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function Rr(e){return typeof e=="string"?e:e?.message}function at(e,t,n){let r={...e,path:e.path??[]};if(!e.message){let o=Rr(e.inst?._zod.def?.error?.(e))??Rr(t?.error?.(e))??Rr(n.customError?.(e))??Rr(n.localeError?.(e))??"Invalid input";r.message=o}return delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function sp(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function Cr(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function Gi(...e){let[t,n,r]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:r}:{...t}}function Xv(e){return Object.entries(e).filter(([t,n])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}var qi=class{constructor(...t){}};var ip=(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,Ji,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Qo=b("$ZodError",ip),Ar=b("$ZodError",ip,{Parent:Error});function Qi(e,t=n=>n.message){let n={},r=[];for(let o of e.issues)o.path.length>0?(n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(t(o))):r.push(t(o));return{formErrors:r,fieldErrors:n}}function Yi(e,t){let n=t||function(s){return s.message},r={_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)r._errors.push(n(i));else{let a=r,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(n(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(e),r}var Xi=e=>(t,n,r,o)=>{let s=r?Object.assign(r,{async:!1}):{async:!1},i=t._zod.run({value:n,issues:[]},s);if(i instanceof Promise)throw new It;if(i.issues.length){let a=new(o?.Err??e)(i.issues.map(c=>at(c,s,He())));throw Ko(a,o?.callee),a}return i.value},ea=Xi(Ar),ta=e=>async(t,n,r,o)=>{let s=r?Object.assign(r,{async:!0}):{async:!0},i=t._zod.run({value:n,issues:[]},s);if(i instanceof Promise&&(i=await i),i.issues.length){let a=new(o?.Err??e)(i.issues.map(c=>at(c,s,He())));throw Ko(a,o?.callee),a}return i.value},na=ta(Ar),ra=e=>(t,n,r)=>{let o=r?{...r,async:!1}:{async:!1},s=t._zod.run({value:n,issues:[]},o);if(s instanceof Promise)throw new It;return s.issues.length?{success:!1,error:new(e??Qo)(s.issues.map(i=>at(i,o,He())))}:{success:!0,data:s.value}},Sn=ra(Ar),oa=e=>async(t,n,r)=>{let o=r?Object.assign(r,{async:!0}):{async:!0},s=t._zod.run({value:n,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new e(s.issues.map(i=>at(i,o,He())))}:{success:!0,data:s.value}},$n=oa(Ar);var ap=/^[cC][^\s-]{8,}$/,cp=/^[0-9a-z]+$/,up=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,dp=/^[0-9a-vA-V]{20}$/,lp=/^[A-Za-z0-9]{27}$/,pp=/^[a-zA-Z0-9_-]{21}$/,mp=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var fp=/^([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})$/,sa=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 hp=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var tw="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function gp(){return new RegExp(tw,"u")}var yp=/^(?:(?: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])$/,_p=/^(([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})$/,bp=/^((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])$/,vp=/^(([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])$/,wp=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,ia=/^[A-Za-z0-9_-]*$/,kp=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var xp=/^\+(?:[0-9]){6,14}[0-9]$/,Sp="(?:(?:\\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(`^${Sp}$`);function zp(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 Pp(e){return new RegExp(`^${zp(e)}$`)}function Tp(e){let t=zp({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-]\\d{2}:\\d{2})");let r=`${t}(?:${n.join("|")})`;return new RegExp(`^${Sp}T(?:${r})$`)}var Rp=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var jp=/^\d+$/,Op=/^-?\d+(?:\.\d+)?/i,Ip=/true|false/i,Ep=/null/i;var Cp=/^[^A-Z]*$/,Ap=/^[^a-z]*$/;var xe=b("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Mp={number:"number",bigint:"bigint",object:"date"},aa=b("$ZodCheckLessThan",(e,t)=>{xe.init(e,t);let n=Mp[typeof t.value];e._zod.onattach.push(r=>{let o=r._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=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:"too_big",maximum:t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),ca=b("$ZodCheckGreaterThan",(e,t)=>{xe.init(e,t);let n=Mp[typeof t.value];e._zod.onattach.push(r=>{let o=r._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=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:"too_small",minimum:t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Np=b("$ZodCheckMultipleOf",(e,t)=>{xe.init(e,t),e._zod.onattach.push(n=>{var r;(r=n._zod.bag).multipleOf??(r.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?n.value%t.value===BigInt(0):Fi(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Lp=b("$ZodCheckNumberFormat",(e,t)=>{xe.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),r=n?"int":"number",[o,s]=Ki[t.format];e._zod.onattach.push(i=>{let a=i._zod.bag;a.format=t.format,a.minimum=o,a.maximum=s,n&&(a.pattern=jp)}),e._zod.check=i=>{let a=i.value;if(n){if(!Number.isInteger(a)){i.issues.push({expected:r,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:r,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:r,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 Dp=b("$ZodCheckMaxLength",(e,t)=>{var n;xe.init(e,t),(n=e._zod.def).when??(n.when=r=>{let o=r.value;return!Ir(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{let o=r._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(r._zod.bag.maximum=t.maximum)}),e._zod.check=r=>{let o=r.value;if(o.length<=t.maximum)return;let i=Cr(o);r.issues.push({origin:i,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Zp=b("$ZodCheckMinLength",(e,t)=>{var n;xe.init(e,t),(n=e._zod.def).when??(n.when=r=>{let o=r.value;return!Ir(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{let o=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(r._zod.bag.minimum=t.minimum)}),e._zod.check=r=>{let o=r.value;if(o.length>=t.minimum)return;let i=Cr(o);r.issues.push({origin:i,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Up=b("$ZodCheckLengthEquals",(e,t)=>{var n;xe.init(e,t),(n=e._zod.def).when??(n.when=r=>{let o=r.value;return!Ir(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{let o=r._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=r=>{let o=r.value,s=o.length;if(s===t.length)return;let i=Cr(o),a=s>t.length;r.issues.push({origin:i,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),Mr=b("$ZodCheckStringFormat",(e,t)=>{var n,r;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?(n=e._zod).check??(n.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})}):(r=e._zod).check??(r.check=()=>{})}),qp=b("$ZodCheckRegex",(e,t)=>{Mr.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Jp=b("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Cp),Mr.init(e,t)}),Fp=b("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Ap),Mr.init(e,t)}),Vp=b("$ZodCheckIncludes",(e,t)=>{xe.init(e,t);let n=Jt(t.includes),r=new RegExp(typeof t.position=="number"?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(o=>{let s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(r)}),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})}}),Bp=b("$ZodCheckStartsWith",(e,t)=>{xe.init(e,t);let n=new RegExp(`^${Jt(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=r=>{r.value.startsWith(t.prefix)||r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),Hp=b("$ZodCheckEndsWith",(e,t)=>{xe.init(e,t);let n=new RegExp(`.*${Jt(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=r=>{r.value.endsWith(t.suffix)||r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}});var Wp=b("$ZodCheckOverwrite",(e,t)=>{xe.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}});var Xo=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 r=t.split(`
10
+ deps: ${n}}`};var Z1={keyword:"dependencies",type:"object",schemaType:"object",error:St.error,code(e){let[t,n]=U1(e);Ng(e,t),Lg(e,n)}};function U1({schema:e}){let t={},n={};for(let r in e){if(r==="__proto__")continue;let o=Array.isArray(e[r])?t:n;o[r]=e[r]}return[t,n]}function Ng(e,t=e.schema){let{gen:n,data:r,it:o}=e;if(Object.keys(t).length===0)return;let s=n.let("missing");for(let i in t){let a=t[i];if(a.length===0)continue;let c=(0,To.propertyInData)(n,r,i,o.opts.ownProperties);e.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),o.allErrors?n.if(c,()=>{for(let u of a)(0,To.checkReportMissingProp)(e,u)}):(n.if((0,Ad._)`${c} && (${(0,To.checkMissingProp)(e,a,s)})`),(0,To.reportMissingProp)(e,s),n.else())}}St.validatePropertyDeps=Ng;function Lg(e,t=e.schema){let{gen:n,data:r,keyword:o,it:s}=e,i=n.name("valid");for(let a in t)(0,D1.alwaysValidSchema)(s,t[a])||(n.if((0,To.propertyInData)(n,r,a,s.opts.ownProperties),()=>{let c=e.subschema({keyword:o,schemaProp:a},i);e.mergeValidEvaluated(c,i)},()=>n.var(i,!0)),e.ok(i))}St.validateSchemaDeps=Lg;St.default=Z1});var Ug=z(Md=>{"use strict";Object.defineProperty(Md,"__esModule",{value:!0});var Zg=F(),q1=ee(),J1={message:"property name must be valid",params:({params:e})=>(0,Zg._)`{propertyName: ${e.propertyName}}`},F1={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:J1,code(e){let{gen:t,schema:n,data:r,it:o}=e;if((0,q1.alwaysValidSchema)(o,n))return;let s=t.name("valid");t.forIn("key",r,i=>{e.setParams({propertyName:i}),e.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},s),t.if((0,Zg.not)(s),()=>{e.error(!0),o.allErrors||t.break()})}),e.ok(s)}};Md.default=F1});var Ld=z(Nd=>{"use strict";Object.defineProperty(Nd,"__esModule",{value:!0});var fi=rt(),ft=F(),V1=At(),hi=ee(),B1={message:"must NOT have additional properties",params:({params:e})=>(0,ft._)`{additionalProperty: ${e.additionalProperty}}`},H1={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:B1,code(e){let{gen:t,schema:n,parentSchema:r,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,hi.alwaysValidSchema)(i,n))return;let u=(0,fi.allSchemaProperties)(r.properties),d=(0,fi.allSchemaProperties)(r.patternProperties);l(),e.ok((0,ft._)`${s} === ${V1.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 v;if(u.length>8){let w=(0,hi.schemaRefOrVal)(i,r.properties,"properties");v=(0,fi.isOwnProperty)(t,w,y)}else u.length?v=(0,ft.or)(...u.map(w=>(0,ft._)`${y} === ${w}`)):v=ft.nil;return d.length&&(v=(0,ft.or)(v,...d.map(w=>(0,ft._)`${(0,fi.usePattern)(e,w)}.test(${y})`))),(0,ft.not)(v)}function h(y){t.code((0,ft._)`delete ${o}[${y}]`)}function f(y){if(c.removeAdditional==="all"||c.removeAdditional&&n===!1){h(y);return}if(n===!1){e.setParams({additionalProperty:y}),e.error(),a||t.break();return}if(typeof n=="object"&&!(0,hi.alwaysValidSchema)(i,n)){let v=t.name("valid");c.removeAdditional==="failing"?(g(y,v,!1),t.if((0,ft.not)(v),()=>{e.reset(),h(y)})):(g(y,v),a||t.if((0,ft.not)(v),()=>t.break()))}}function g(y,v,w){let k={keyword:"additionalProperties",dataProp:y,dataPropType:hi.Type.Str};w===!1&&Object.assign(k,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(k,v)}}};Nd.default=H1});var Fg=z(Zd=>{"use strict";Object.defineProperty(Zd,"__esModule",{value:!0});var W1=fo(),qg=rt(),Dd=ee(),Jg=Ld(),K1={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:n,parentSchema:r,data:o,it:s}=e;s.opts.removeAdditional==="all"&&r.additionalProperties===void 0&&Jg.default.code(new W1.KeywordCxt(s,Jg.default,"additionalProperties"));let i=(0,qg.allSchemaProperties)(n);for(let l of i)s.definedProperties.add(l);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=Dd.mergeEvaluated.props(t,(0,Dd.toHash)(i),s.props));let a=i.filter(l=>!(0,Dd.alwaysValidSchema)(s,n[l]));if(a.length===0)return;let c=t.name("valid");for(let l of a)u(l)?d(l):(t.if((0,qg.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&&n[l].default!==void 0}function d(l){e.subschema({keyword:"properties",schemaProp:l,dataProp:l},c)}}};Zd.default=K1});var Wg=z(Ud=>{"use strict";Object.defineProperty(Ud,"__esModule",{value:!0});var Vg=rt(),gi=F(),Bg=ee(),Hg=ee(),G1={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:n,data:r,parentSchema:o,it:s}=e,{opts:i}=s,a=(0,Vg.allSchemaProperties)(n),c=a.filter(g=>(0,Bg.alwaysValidSchema)(s,n[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 gi.Name)&&(s.props=(0,Hg.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,Bg.checkStrictMode)(s,`property ${y} matches pattern ${g} (use allowMatchingProperties)`)}function f(g){t.forIn("key",r,y=>{t.if((0,gi._)`${(0,Vg.usePattern)(e,g)}.test(${y})`,()=>{let v=c.includes(g);v||e.subschema({keyword:"patternProperties",schemaProp:g,dataProp:y,dataPropType:Hg.Type.Str},d),s.opts.unevaluated&&l!==!0?t.assign((0,gi._)`${l}[${y}]`,!0):!v&&!s.allErrors&&t.if((0,gi.not)(d),()=>t.break())})})}}};Ud.default=G1});var Kg=z(qd=>{"use strict";Object.defineProperty(qd,"__esModule",{value:!0});var Q1=ee(),Y1={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:n,it:r}=e;if((0,Q1.alwaysValidSchema)(r,n)){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"}};qd.default=Y1});var Gg=z(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0});var X1=rt(),eP={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:X1.validateUnion,error:{message:"must match a schema in anyOf"}};Jd.default=eP});var Qg=z(Fd=>{"use strict";Object.defineProperty(Fd,"__esModule",{value:!0});var yi=F(),tP=ee(),nP={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,yi._)`{passingSchemas: ${e.passing}}`},rP={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:nP,code(e){let{gen:t,schema:n,parentSchema:r,it:o}=e;if(!Array.isArray(n))throw new Error("ajv implementation error");if(o.opts.discriminator&&r.discriminator)return;let s=n,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,tP.alwaysValidSchema)(o,d)?t.var(c,!0):p=e.subschema({keyword:"oneOf",schemaProp:l,compositeRule:!0},c),l>0&&t.if((0,yi._)`${c} && ${i}`).assign(i,!1).assign(a,(0,yi._)`[${a}, ${l}]`).else(),t.if(c,()=>{t.assign(i,!0),t.assign(a,l),p&&e.mergeEvaluated(p,yi.Name)})})}}};Fd.default=rP});var Yg=z(Vd=>{"use strict";Object.defineProperty(Vd,"__esModule",{value:!0});var oP=ee(),sP={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:n,it:r}=e;if(!Array.isArray(n))throw new Error("ajv implementation error");let o=t.name("valid");n.forEach((s,i)=>{if((0,oP.alwaysValidSchema)(r,s))return;let a=e.subschema({keyword:"allOf",schemaProp:i},o);e.ok(o),e.mergeEvaluated(a)})}};Vd.default=sP});var ty=z(Bd=>{"use strict";Object.defineProperty(Bd,"__esModule",{value:!0});var _i=F(),ey=ee(),iP={message:({params:e})=>(0,_i.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,_i._)`{failingKeyword: ${e.ifClause}}`},aP={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:iP,code(e){let{gen:t,parentSchema:n,it:r}=e;n.then===void 0&&n.else===void 0&&(0,ey.checkStrictMode)(r,'"if" without "then" and "else" is ignored');let o=Xg(r,"then"),s=Xg(r,"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,_i.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,_i._)`${d}`):e.setParams({ifClause:d})}}}};function Xg(e,t){let n=e.schema[t];return n!==void 0&&!(0,ey.alwaysValidSchema)(e,n)}Bd.default=aP});var ny=z(Hd=>{"use strict";Object.defineProperty(Hd,"__esModule",{value:!0});var cP=ee(),uP={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:n}){t.if===void 0&&(0,cP.checkStrictMode)(n,`"${e}" without "if" is ignored`)}};Hd.default=uP});var ry=z(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});var dP=jd(),lP=Eg(),pP=Od(),mP=Ag(),fP=Mg(),hP=Dg(),gP=Ug(),yP=Ld(),_P=Fg(),bP=Wg(),vP=Kg(),wP=Gg(),kP=Qg(),xP=Yg(),SP=ty(),$P=ny();function zP(e=!1){let t=[vP.default,wP.default,kP.default,xP.default,SP.default,$P.default,gP.default,yP.default,hP.default,_P.default,bP.default];return e?t.push(lP.default,mP.default):t.push(dP.default,pP.default),t.push(fP.default),t}Wd.default=zP});var oy=z(Kd=>{"use strict";Object.defineProperty(Kd,"__esModule",{value:!0});var _e=F(),PP={message:({schemaCode:e})=>(0,_e.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,_e._)`{format: ${e}}`},TP={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:PP,code(e,t){let{gen:n,data:r,$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=n.scopeValue("formats",{ref:l.formats,code:c.code.formats}),g=n.const("fDef",(0,_e._)`${f}[${i}]`),y=n.let("fType"),v=n.let("format");n.if((0,_e._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>n.assign(y,(0,_e._)`${g}.type || "string"`).assign(v,(0,_e._)`${g}.validate`),()=>n.assign(y,(0,_e._)`"string"`).assign(v,g)),e.fail$data((0,_e.or)(w(),k()));function w(){return c.strictSchema===!1?_e.nil:(0,_e._)`${i} && !${v}`}function k(){let j=d.$async?(0,_e._)`(${g}.async ? await ${v}(${r}) : ${v}(${r}))`:(0,_e._)`${v}(${r})`,M=(0,_e._)`(typeof ${v} == "function" ? ${j} : ${v}.test(${r}))`;return(0,_e._)`${v} && ${v} !== true && ${y} === ${t} && !${M}`}}function h(){let f=l.formats[s];if(!f){w();return}if(f===!0)return;let[g,y,v]=k(f);g===t&&e.pass(j());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 Ee=M instanceof RegExp?(0,_e.regexpCode)(M):c.code.formats?(0,_e._)`${c.code.formats}${(0,_e.getProperty)(s)}`:void 0,Ge=n.scopeValue("formats",{key:s,ref:M,code:Ee});return typeof M=="object"&&!(M instanceof RegExp)?[M.type||"string",M.validate,(0,_e._)`${Ge}.validate`]:["string",M,Ge]}function j(){if(typeof f=="object"&&!(f instanceof RegExp)&&f.async){if(!d.$async)throw new Error("async format in sync schema");return(0,_e._)`await ${v}(${r})`}return typeof y=="function"?(0,_e._)`${v}(${r})`:(0,_e._)`${v}.test(${r})`}}}};Kd.default=TP});var sy=z(Gd=>{"use strict";Object.defineProperty(Gd,"__esModule",{value:!0});var RP=oy(),jP=[RP.default];Gd.default=jP});var iy=z(_r=>{"use strict";Object.defineProperty(_r,"__esModule",{value:!0});_r.contentVocabulary=_r.metadataVocabulary=void 0;_r.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];_r.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var cy=z(Qd=>{"use strict";Object.defineProperty(Qd,"__esModule",{value:!0});var OP=hg(),IP=Rg(),EP=ry(),CP=sy(),ay=iy(),AP=[OP.default,IP.default,(0,EP.default)(),CP.default,ay.metadataVocabulary,ay.contentVocabulary];Qd.default=AP});var dy=z(bi=>{"use strict";Object.defineProperty(bi,"__esModule",{value:!0});bi.DiscrError=void 0;var uy;(function(e){e.Tag="tag",e.Mapping="mapping"})(uy||(bi.DiscrError=uy={}))});var py=z(Xd=>{"use strict";Object.defineProperty(Xd,"__esModule",{value:!0});var br=F(),Yd=dy(),ly=ei(),MP=ho(),NP=ee(),LP={message:({params:{discrError:e,tagName:t}})=>e===Yd.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:n}})=>(0,br._)`{error: ${e}, tag: ${n}, tagValue: ${t}}`},DP={keyword:"discriminator",type:"object",schemaType:"object",error:LP,code(e){let{gen:t,data:n,schema:r,parentSchema:o,it:s}=e,{oneOf:i}=o;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=r.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(r.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,br._)`${n}${(0,br.getProperty)(a)}`);t.if((0,br._)`typeof ${u} == "string"`,()=>d(),()=>e.error(!1,{discrError:Yd.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,br._)`${u} === ${f}`),t.assign(c,l(h[f]));t.else(),e.error(!1,{discrError:Yd.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,br.Name),f}function p(){var h;let f={},g=v(o),y=!0;for(let j=0;j<i.length;j++){let M=i[j];if(M?.$ref&&!(0,NP.schemaHasRulesButRef)(M,s.self.RULES)){let Ge=M.$ref;if(M=ly.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,Ge),M instanceof ly.SchemaEnv&&(M=M.schema),M===void 0)throw new MP.default(s.opts.uriResolver,s.baseId,Ge)}let Ee=(h=M?.properties)===null||h===void 0?void 0:h[a];if(typeof Ee!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);y=y&&(g||v(M)),w(Ee,j)}if(!y)throw new Error(`discriminator: "${a}" must be required`);return f;function v({required:j}){return Array.isArray(j)&&j.includes(a)}function w(j,M){if(j.const)k(j.const,M);else if(j.enum)for(let Ee of j.enum)k(Ee,M);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function k(j,M){if(typeof j!="string"||j in f)throw new Error(`discriminator: "${a}" values must be unique strings`);f[j]=M}}}};Xd.default=DP});var my=z((sM,ZP)=>{ZP.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 tl=z((le,el)=>{"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 UP=ug(),qP=cy(),JP=py(),fy=my(),FP=["/properties"],vi="http://json-schema.org/draft-07/schema",vr=class extends UP.default{_addVocabularies(){super._addVocabularies(),qP.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(JP.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(fy,FP):fy;this.addMetaSchema(t,vi,!1),this.refs["http://json-schema.org/schema"]=vi}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(vi)?vi:void 0)}};le.Ajv=vr;el.exports=le=vr;el.exports.Ajv=vr;Object.defineProperty(le,"__esModule",{value:!0});le.default=vr;var VP=fo();Object.defineProperty(le,"KeywordCxt",{enumerable:!0,get:function(){return VP.KeywordCxt}});var wr=F();Object.defineProperty(le,"_",{enumerable:!0,get:function(){return wr._}});Object.defineProperty(le,"str",{enumerable:!0,get:function(){return wr.str}});Object.defineProperty(le,"stringify",{enumerable:!0,get:function(){return wr.stringify}});Object.defineProperty(le,"nil",{enumerable:!0,get:function(){return wr.nil}});Object.defineProperty(le,"Name",{enumerable:!0,get:function(){return wr.Name}});Object.defineProperty(le,"CodeGen",{enumerable:!0,get:function(){return wr.CodeGen}});var BP=Ys();Object.defineProperty(le,"ValidationError",{enumerable:!0,get:function(){return BP.default}});var HP=ho();Object.defineProperty(le,"MissingRefError",{enumerable:!0,get:function(){return HP.default}})});var ky=z(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.formatNames=zt.fastFormats=zt.fullFormats=void 0;function $t(e,t){return{validate:e,compare:t}}zt.fullFormats={date:$t(_y,sl),time:$t(rl(!0),il),"date-time":$t(hy(!0),vy),"iso-time":$t(rl(),by),"iso-date-time":$t(hy(),wy),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:XP,"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:iT,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:eT,int32:{type:"number",validate:rT},int64:{type:"number",validate:oT},float:{type:"number",validate:yy},double:{type:"number",validate:yy},password:!0,binary:!0};zt.fastFormats={...zt.fullFormats,date:$t(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,sl),time:$t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,il),"date-time":$t(/^\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,vy),"iso-time":$t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,by),"iso-date-time":$t(/^\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,wy),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};zt.formatNames=Object.keys(zt.fullFormats);function WP(e){return e%4===0&&(e%100!==0||e%400===0)}var KP=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,GP=[0,31,28,31,30,31,30,31,31,30,31,30,31];function _y(e){let t=KP.exec(e);if(!t)return!1;let n=+t[1],r=+t[2],o=+t[3];return r>=1&&r<=12&&o>=1&&o<=(r===2&&WP(n)?29:GP[r])}function sl(e,t){if(e&&t)return e>t?1:e<t?-1:0}var nl=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function rl(e){return function(n){let r=nl.exec(n);if(!r)return!1;let o=+r[1],s=+r[2],i=+r[3],a=r[4],c=r[5]==="-"?-1:1,u=+(r[6]||0),d=+(r[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 il(e,t){if(!(e&&t))return;let n=new Date("2020-01-01T"+e).valueOf(),r=new Date("2020-01-01T"+t).valueOf();if(n&&r)return n-r}function by(e,t){if(!(e&&t))return;let n=nl.exec(e),r=nl.exec(t);if(n&&r)return e=n[1]+n[2]+n[3],t=r[1]+r[2]+r[3],e>t?1:e<t?-1:0}var ol=/t|\s/i;function hy(e){let t=rl(e);return function(r){let o=r.split(ol);return o.length===2&&_y(o[0])&&t(o[1])}}function vy(e,t){if(!(e&&t))return;let n=new Date(e).valueOf(),r=new Date(t).valueOf();if(n&&r)return n-r}function wy(e,t){if(!(e&&t))return;let[n,r]=e.split(ol),[o,s]=t.split(ol),i=sl(n,o);if(i!==void 0)return i||il(r,s)}var QP=/\/|:/,YP=/^(?:[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 XP(e){return QP.test(e)&&YP.test(e)}var gy=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function eT(e){return gy.lastIndex=0,gy.test(e)}var tT=-(2**31),nT=2**31-1;function rT(e){return Number.isInteger(e)&&e<=nT&&e>=tT}function oT(e){return Number.isInteger(e)}function yy(){return!0}var sT=/[^\\]\\Z/;function iT(e){if(sT.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}});var xy=z(kr=>{"use strict";Object.defineProperty(kr,"__esModule",{value:!0});kr.formatLimitDefinition=void 0;var aT=tl(),ht=F(),nn=ht.operators,wi={formatMaximum:{okStr:"<=",ok:nn.LTE,fail:nn.GT},formatMinimum:{okStr:">=",ok:nn.GTE,fail:nn.LT},formatExclusiveMaximum:{okStr:"<",ok:nn.LT,fail:nn.GTE},formatExclusiveMinimum:{okStr:">",ok:nn.GT,fail:nn.LTE}},cT={message:({keyword:e,schemaCode:t})=>(0,ht.str)`should be ${wi[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,ht._)`{comparison: ${wi[e].okStr}, limit: ${t}}`};kr.formatLimitDefinition={keyword:Object.keys(wi),type:"string",schemaType:"string",$data:!0,error:cT,code(e){let{gen:t,data:n,schemaCode:r,keyword:o,it:s}=e,{opts:i,self:a}=s;if(!i.validateFormats)return;let c=new aT.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,ht._)`${p}[${c.schemaCode}]`);e.fail$data((0,ht.or)((0,ht._)`typeof ${h} != "object"`,(0,ht._)`${h} instanceof RegExp`,(0,ht._)`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,ht._)`${i.code.formats}${(0,ht.getProperty)(p)}`:void 0});e.fail$data(l(f))}function l(p){return(0,ht._)`${p}.compare(${n}, ${r}) ${wi[o].fail} 0`}},dependencies:["format"]};var uT=e=>(e.addKeyword(kr.formatLimitDefinition),e);kr.default=uT});var Py=z((Ro,zy)=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});var xr=ky(),dT=xy(),al=F(),Sy=new al.Name("fullFormats"),lT=new al.Name("fastFormats"),cl=(e,t={keywords:!0})=>{if(Array.isArray(t))return $y(e,t,xr.fullFormats,Sy),e;let[n,r]=t.mode==="fast"?[xr.fastFormats,lT]:[xr.fullFormats,Sy],o=t.formats||xr.formatNames;return $y(e,o,n,r),t.keywords&&(0,dT.default)(e),e};cl.get=(e,t="full")=>{let r=(t==="fast"?xr.fastFormats:xr.fullFormats)[e];if(!r)throw new Error(`Unknown format "${e}"`);return r};function $y(e,t,n,r){var o,s;(o=(s=e.opts.code).formats)!==null&&o!==void 0||(s.formats=(0,al._)`require("ajv-formats/dist/formats").${r}`);for(let i of t)e.addFormat(i,n[i])}zy.exports=Ro=cl;Object.defineProperty(Ro,"__esModule",{value:!0});Ro.default=cl});import{pathToFileURL as Dj}from"node:url";var m={};Mi(m,{BRAND:()=>Qb,DIRTY:()=>sn,EMPTY_PATH:()=>Rb,INVALID:()=>N,NEVER:()=>Cv,OK:()=>Re,ParseStatus:()=>ke,Schema:()=>J,ZodAny:()=>Ut,ZodArray:()=>Ot,ZodBigInt:()=>cn,ZodBoolean:()=>un,ZodBranded:()=>Pr,ZodCatch:()=>vn,ZodDate:()=>dn,ZodDefault:()=>bn,ZodDiscriminatedUnion:()=>Fo,ZodEffects:()=>Ye,ZodEnum:()=>yn,ZodError:()=>Le,ZodFirstPartyTypeKind:()=>S,ZodFunction:()=>Bo,ZodIntersection:()=>fn,ZodIssueCode:()=>x,ZodLazy:()=>hn,ZodLiteral:()=>gn,ZodMap:()=>Wn,ZodNaN:()=>Gn,ZodNativeEnum:()=>_n,ZodNever:()=>at,ZodNull:()=>pn,ZodNullable:()=>bt,ZodNumber:()=>an,ZodObject:()=>Ze,ZodOptional:()=>De,ZodParsedType:()=>P,ZodPipeline:()=>Tr,ZodPromise:()=>qt,ZodReadonly:()=>wn,ZodRecord:()=>Vo,ZodSchema:()=>J,ZodSet:()=>Kn,ZodString:()=>Zt,ZodSymbol:()=>Bn,ZodTransformer:()=>Ye,ZodTuple:()=>_t,ZodType:()=>J,ZodUndefined:()=>ln,ZodUnion:()=>mn,ZodUnknown:()=>jt,ZodVoid:()=>Hn,addIssueToContext:()=>$,any:()=>iv,array:()=>dv,bigint:()=>tv,boolean:()=>rp,coerce:()=>Ev,custom:()=>ep,date:()=>nv,datetimeRegex:()=>Yl,defaultErrorMap:()=>Tt,discriminatedUnion:()=>mv,effect:()=>$v,enum:()=>kv,function:()=>bv,getErrorMap:()=>Jn,getParsedType:()=>yt,instanceof:()=>Xb,intersection:()=>fv,isAborted:()=>qo,isAsync:()=>Fn,isDirty:()=>Jo,isValid:()=>Dt,late:()=>Yb,lazy:()=>vv,literal:()=>wv,makeIssue:()=>zr,map:()=>yv,nan:()=>ev,nativeEnum:()=>xv,never:()=>cv,null:()=>sv,nullable:()=>Pv,number:()=>np,object:()=>Zi,objectUtil:()=>Ni,oboolean:()=>Iv,onumber:()=>Ov,optional:()=>zv,ostring:()=>jv,pipeline:()=>Rv,preprocess:()=>Tv,promise:()=>Sv,quotelessJson:()=>zb,record:()=>gv,set:()=>_v,setErrorMap:()=>Tb,strictObject:()=>lv,string:()=>tp,symbol:()=>rv,transformer:()=>$v,tuple:()=>hv,undefined:()=>ov,union:()=>pv,unknown:()=>av,util:()=>H,void:()=>uv});var H;(function(e){e.assertEqual=o=>{};function t(o){}e.assertIs=t;function n(o){throw new Error}e.assertNever=n,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 r(o,s=" | "){return o.map(i=>typeof i=="string"?`'${i}'`:i).join(s)}e.joinValues=r,e.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(H||(H={}));var Ni;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Ni||(Ni={}));var P=H.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),yt=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"]),zb=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),Le=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){let n=t||function(s){return s.message},r={_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)r._errors.push(n(i));else{let a=r,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(n(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(this),r}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=n=>n.message){let n={},r=[];for(let o of this.issues)if(o.path.length>0){let s=o.path[0];n[s]=n[s]||[],n[s].push(t(o))}else r.push(t(o));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};Le.create=e=>new Le(e);var Pb=(e,t)=>{let n;switch(e.code){case x.invalid_type:e.received===P.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case x.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,H.jsonStringifyReplacer)}`;break;case x.unrecognized_keys:n=`Unrecognized key(s) in object: ${H.joinValues(e.keys,", ")}`;break;case x.invalid_union:n="Invalid input";break;case x.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${H.joinValues(e.options)}`;break;case x.invalid_enum_value:n=`Invalid enum value. Expected ${H.joinValues(e.options)}, received '${e.received}'`;break;case x.invalid_arguments:n="Invalid function arguments";break;case x.invalid_return_type:n="Invalid function return type";break;case x.invalid_date:n="Invalid date";break;case x.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:H.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case x.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case x.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case x.custom:n="Invalid input";break;case x.invalid_intersection_types:n="Intersection results could not be merged";break;case x.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case x.not_finite:n="Number must be finite";break;default:n=t.defaultError,H.assertNever(e)}return{message:n}},Tt=Pb;var Hl=Tt;function Tb(e){Hl=e}function Jn(){return Hl}var zr=e=>{let{data:t,path:n,errorMaps:r,issueData:o}=e,s=[...n,...o.path||[]],i={...o,path:s};if(o.message!==void 0)return{...o,path:s,message:o.message};let a="",c=r.filter(u=>!!u).slice().reverse();for(let u of c)a=u(i,{data:t,defaultError:a}).message;return{...o,path:s,message:a}},Rb=[];function $(e,t){let n=Jn(),r=zr({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Tt?void 0:Tt].filter(o=>!!o)});e.common.issues.push(r)}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,n){let r=[];for(let o of n){if(o.status==="aborted")return N;o.status==="dirty"&&t.dirty(),r.push(o.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){let r=[];for(let o of n){let s=await o.key,i=await o.value;r.push({key:s,value:i})}return e.mergeObjectSync(t,r)}static mergeObjectSync(t,n){let r={};for(let o of n){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)&&(r[s.value]=i.value)}return{status:t.value,value:r}}},N=Object.freeze({status:"aborted"}),sn=e=>({status:"dirty",value:e}),Re=e=>({status:"valid",value:e}),qo=e=>e.status==="aborted",Jo=e=>e.status==="dirty",Dt=e=>e.status==="valid",Fn=e=>typeof Promise<"u"&&e instanceof Promise;var O;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(O||(O={}));var Qe=class{constructor(t,n,r,o){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,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}},Wl=(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 n=new Le(e.common.issues);return this._error=n,this._error}}};function U(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:o}=e;if(t&&(n||r))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??r??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:c??n??a.defaultError}},description:o}}var J=class{get description(){return this._def.description}_getType(t){return yt(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:yt(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:yt(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(Fn(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){let n=this._parse(t);return Promise.resolve(n)}parse(t,n){let r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){let r={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:yt(t)},o=this._parseSync({data:t,path:r.path,parent:r});return Wl(r,o)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:yt(t)};if(!this["~standard"].async)try{let r=this._parseSync({data:t,path:[],parent:n});return Dt(r)?{value:r.value}:{issues:n.common.issues}}catch(r){r?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:n}).then(r=>Dt(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(t,n){let r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){let r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:yt(t)},o=this._parse({data:t,path:r.path,parent:r}),s=await(Fn(o)?o:Promise.resolve(o));return Wl(r,s)}refine(t,n){let r=o=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(o):n;return this._refinement((o,s)=>{let i=t(o),a=()=>s.addIssue({code:x.custom,...r(o)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,o)=>t(r)?!0:(o.addIssue(typeof n=="function"?n(r,o):n),!1))}_refinement(t){return new Ye({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:n=>this["~validate"](n)}}optional(){return De.create(this,this._def)}nullable(){return bt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ot.create(this)}promise(){return qt.create(this,this._def)}or(t){return mn.create([this,t],this._def)}and(t){return fn.create(this,t,this._def)}transform(t){return new Ye({...U(this._def),schema:this,typeName:S.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new bn({...U(this._def),innerType:this,defaultValue:n,typeName:S.ZodDefault})}brand(){return new Pr({typeName:S.ZodBranded,type:this,...U(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new vn({...U(this._def),innerType:this,catchValue:n,typeName:S.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return Tr.create(this,t)}readonly(){return wn.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},jb=/^c[^\s-]{8,}$/i,Ob=/^[0-9a-z]+$/,Ib=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Eb=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Cb=/^[a-z0-9_-]{21}$/i,Ab=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Mb=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Nb=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Lb="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Li,Db=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Zb=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Ub=/^(([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]))$/,qb=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Jb=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Fb=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Gl="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Vb=new RegExp(`^${Gl}$`);function Ql(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function Bb(e){return new RegExp(`^${Ql(e)}$`)}function Yl(e){let t=`${Gl}T${Ql(e)}`,n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function Hb(e,t){return!!((t==="v4"||!t)&&Db.test(e)||(t==="v6"||!t)&&Ub.test(e))}function Wb(e,t){if(!Ab.test(e))return!1;try{let[n]=e.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),o=JSON.parse(atob(r));return!(typeof o!="object"||o===null||"typ"in o&&o?.typ!=="JWT"||!o.alg||t&&o.alg!==t)}catch{return!1}}function Kb(e,t){return!!((t==="v4"||!t)&&Zb.test(e)||(t==="v6"||!t)&&qb.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 r=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}),r.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}),r.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}),r.dirty())}else if(s.kind==="email")Nb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"email",code:x.invalid_string,message:s.message}),r.dirty());else if(s.kind==="emoji")Li||(Li=new RegExp(Lb,"u")),Li.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"emoji",code:x.invalid_string,message:s.message}),r.dirty());else if(s.kind==="uuid")Eb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"uuid",code:x.invalid_string,message:s.message}),r.dirty());else if(s.kind==="nanoid")Cb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"nanoid",code:x.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid")jb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"cuid",code:x.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid2")Ob.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"cuid2",code:x.invalid_string,message:s.message}),r.dirty());else if(s.kind==="ulid")Ib.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"ulid",code:x.invalid_string,message:s.message}),r.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}),r.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}),r.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}),r.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}),r.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}),r.dirty()):s.kind==="datetime"?Yl(s).test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:"datetime",message:s.message}),r.dirty()):s.kind==="date"?Vb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:"date",message:s.message}),r.dirty()):s.kind==="time"?Bb(s).test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{code:x.invalid_string,validation:"time",message:s.message}),r.dirty()):s.kind==="duration"?Mb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"duration",code:x.invalid_string,message:s.message}),r.dirty()):s.kind==="ip"?Hb(t.data,s.version)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"ip",code:x.invalid_string,message:s.message}),r.dirty()):s.kind==="jwt"?Wb(t.data,s.alg)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"jwt",code:x.invalid_string,message:s.message}),r.dirty()):s.kind==="cidr"?Kb(t.data,s.version)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"cidr",code:x.invalid_string,message:s.message}),r.dirty()):s.kind==="base64"?Jb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"base64",code:x.invalid_string,message:s.message}),r.dirty()):s.kind==="base64url"?Fb.test(t.data)||(o=this._getOrReturnCtx(t,o),$(o,{validation:"base64url",code:x.invalid_string,message:s.message}),r.dirty()):H.assertNever(s);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(o=>t.test(o),{validation:n,code:x.invalid_string,...O.errToObj(r)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...O.errToObj(t)})}url(t){return this._addCheck({kind:"url",...O.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...O.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...O.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...O.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...O.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...O.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...O.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...O.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...O.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...O.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...O.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...O.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,...O.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,...O.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...O.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...O.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...O.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...O.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...O.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...O.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...O.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...O.errToObj(n)})}nonempty(t){return this.min(1,O.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 n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Zt.create=e=>new Zt({checks:[],typeName:S.ZodString,coerce:e?.coerce??!1,...U(e)});function Gb(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,o=n>r?n:r,s=Number.parseInt(e.toFixed(o).replace(".","")),i=Number.parseInt(t.toFixed(o).replace(".",""));return s%i/10**o}var an=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 r,o=new ke;for(let s of this._def.checks)s.kind==="int"?H.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),$(r,{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)&&(r=this._getOrReturnCtx(t,r),$(r,{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)&&(r=this._getOrReturnCtx(t,r),$(r,{code:x.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?Gb(t.data,s.value)!==0&&(r=this._getOrReturnCtx(t,r),$(r,{code:x.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),$(r,{code:x.not_finite,message:s.message}),o.dirty()):H.assertNever(s);return{status:o.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,O.toString(n))}gt(t,n){return this.setLimit("min",t,!1,O.toString(n))}lte(t,n){return this.setLimit("max",t,!0,O.toString(n))}lt(t,n){return this.setLimit("max",t,!1,O.toString(n))}setLimit(t,n,r,o){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:O.toString(o)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:O.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:O.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:O.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:O.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:O.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:O.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:O.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:O.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:O.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.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,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}};an.create=e=>new an({checks:[],typeName:S.ZodNumber,coerce:e?.coerce||!1,...U(e)});var cn=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 r,o=new ke;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(r=this._getOrReturnCtx(t,r),$(r,{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)&&(r=this._getOrReturnCtx(t,r),$(r,{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)&&(r=this._getOrReturnCtx(t,r),$(r,{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 n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:P.bigint,received:n.parsedType}),N}gte(t,n){return this.setLimit("min",t,!0,O.toString(n))}gt(t,n){return this.setLimit("min",t,!1,O.toString(n))}lte(t,n){return this.setLimit("max",t,!0,O.toString(n))}lt(t,n){return this.setLimit("max",t,!1,O.toString(n))}setLimit(t,n,r,o){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:O.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:O.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:O.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:O.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:O.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:O.toString(n)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};cn.create=e=>new cn({checks:[],typeName:S.ZodBigInt,coerce:e?.coerce??!1,...U(e)});var un=class extends J{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==P.boolean){let r=this._getOrReturnCtx(t);return $(r,{code:x.invalid_type,expected:P.boolean,received:r.parsedType}),N}return Re(t.data)}};un.create=e=>new un({typeName:S.ZodBoolean,coerce:e?.coerce||!1,...U(e)});var dn=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 r=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"}),r.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"}),r.dirty()):H.assertNever(s);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:O.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:O.toString(n)})}get minDate(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}};dn.create=e=>new dn({checks:[],coerce:e?.coerce||!1,typeName:S.ZodDate,...U(e)});var Bn=class extends J{_parse(t){if(this._getType(t)!==P.symbol){let r=this._getOrReturnCtx(t);return $(r,{code:x.invalid_type,expected:P.symbol,received:r.parsedType}),N}return Re(t.data)}};Bn.create=e=>new Bn({typeName:S.ZodSymbol,...U(e)});var ln=class extends J{_parse(t){if(this._getType(t)!==P.undefined){let r=this._getOrReturnCtx(t);return $(r,{code:x.invalid_type,expected:P.undefined,received:r.parsedType}),N}return Re(t.data)}};ln.create=e=>new ln({typeName:S.ZodUndefined,...U(e)});var pn=class extends J{_parse(t){if(this._getType(t)!==P.null){let r=this._getOrReturnCtx(t);return $(r,{code:x.invalid_type,expected:P.null,received:r.parsedType}),N}return Re(t.data)}};pn.create=e=>new pn({typeName:S.ZodNull,...U(e)});var Ut=class extends J{constructor(){super(...arguments),this._any=!0}_parse(t){return Re(t.data)}};Ut.create=e=>new Ut({typeName:S.ZodAny,...U(e)});var jt=class extends J{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Re(t.data)}};jt.create=e=>new jt({typeName:S.ZodUnknown,...U(e)});var at=class extends J{_parse(t){let n=this._getOrReturnCtx(t);return $(n,{code:x.invalid_type,expected:P.never,received:n.parsedType}),N}};at.create=e=>new at({typeName:S.ZodNever,...U(e)});var Hn=class extends J{_parse(t){if(this._getType(t)!==P.undefined){let r=this._getOrReturnCtx(t);return $(r,{code:x.invalid_type,expected:P.void,received:r.parsedType}),N}return Re(t.data)}};Hn.create=e=>new Hn({typeName:S.ZodVoid,...U(e)});var Ot=class e extends J{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),o=this._def;if(n.parsedType!==P.array)return $(n,{code:x.invalid_type,expected:P.array,received:n.parsedType}),N;if(o.exactLength!==null){let i=n.data.length>o.exactLength.value,a=n.data.length<o.exactLength.value;(i||a)&&($(n,{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}),r.dirty())}if(o.minLength!==null&&n.data.length<o.minLength.value&&($(n,{code:x.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),r.dirty()),o.maxLength!==null&&n.data.length>o.maxLength.value&&($(n,{code:x.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((i,a)=>o.type._parseAsync(new Qe(n,i,n.path,a)))).then(i=>ke.mergeArray(r,i));let s=[...n.data].map((i,a)=>o.type._parseSync(new Qe(n,i,n.path,a)));return ke.mergeArray(r,s)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:O.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:O.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:O.toString(n)}})}nonempty(t){return this.min(1,t)}};Ot.create=(e,t)=>new Ot({type:e,minLength:null,maxLength:null,exactLength:null,typeName:S.ZodArray,...U(t)});function Vn(e){if(e instanceof Ze){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=De.create(Vn(r))}return new Ze({...e._def,shape:()=>t})}else return e instanceof Ot?new Ot({...e._def,type:Vn(e.element)}):e instanceof De?De.create(Vn(e.unwrap())):e instanceof bt?bt.create(Vn(e.unwrap())):e instanceof _t?_t.create(e.items.map(t=>Vn(t))):e}var Ze=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(),n=H.objectKeys(t);return this._cached={shape:t,keys:n},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:r,ctx:o}=this._processInputParams(t),{shape:s,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof at&&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 Qe(o,l,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof at){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}),r.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 Qe(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(r,u)):ke.mergeObjectSync(r,c)}get shape(){return this._def.shape()}strict(t){return O.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{let o=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:O.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,n){return this.augment({[t]:n})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let r of H.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let r of H.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return Vn(this)}partial(t){let n={};for(let r of H.objectKeys(this.shape)){let o=this.shape[r];t&&!t[r]?n[r]=o:n[r]=o.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let r of H.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof De;)s=s._def.innerType;n[r]=s}return new e({...this._def,shape:()=>n})}keyof(){return Xl(H.objectKeys(this.shape))}};Ze.create=(e,t)=>new Ze({shape:()=>e,unknownKeys:"strip",catchall:at.create(),typeName:S.ZodObject,...U(t)});Ze.strictCreate=(e,t)=>new Ze({shape:()=>e,unknownKeys:"strict",catchall:at.create(),typeName:S.ZodObject,...U(t)});Ze.lazycreate=(e,t)=>new Ze({shape:e,unknownKeys:"strip",catchall:at.create(),typeName:S.ZodObject,...U(t)});var mn=class extends J{_parse(t){let{ctx:n}=this._processInputParams(t),r=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 n.common.issues.push(...a.ctx.common.issues),a.result;let i=s.map(a=>new Le(a.ctx.common.issues));return $(n,{code:x.invalid_union,unionErrors:i}),N}if(n.common.async)return Promise.all(r.map(async s=>{let i={...n,common:{...n.common,issues:[]},parent:null};return{result:await s._parseAsync({data:n.data,path:n.path,parent:i}),ctx:i}})).then(o);{let s,i=[];for(let c of r){let u={...n,common:{...n.common,issues:[]},parent:null},d=c._parseSync({data:n.data,path:n.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 n.common.issues.push(...s.ctx.common.issues),s.result;let a=i.map(c=>new Le(c));return $(n,{code:x.invalid_union,unionErrors:a}),N}}get options(){return this._def.options}};mn.create=(e,t)=>new mn({options:e,typeName:S.ZodUnion,...U(t)});var Rt=e=>e instanceof hn?Rt(e.schema):e instanceof Ye?Rt(e.innerType()):e instanceof gn?[e.value]:e instanceof yn?e.options:e instanceof _n?H.objectValues(e.enum):e instanceof bn?Rt(e._def.innerType):e instanceof ln?[void 0]:e instanceof pn?[null]:e instanceof De?[void 0,...Rt(e.unwrap())]:e instanceof bt?[null,...Rt(e.unwrap())]:e instanceof Pr||e instanceof wn?Rt(e.unwrap()):e instanceof vn?Rt(e._def.innerType):[],Fo=class e extends J{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==P.object)return $(n,{code:x.invalid_type,expected:P.object,received:n.parsedType}),N;let r=this.discriminator,o=n.data[r],s=this.optionsMap.get(o);return s?n.common.async?s._parseAsync({data:n.data,path:n.path,parent:n}):s._parseSync({data:n.data,path:n.path,parent:n}):($(n,{code:x.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),N)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let o=new Map;for(let s of n){let i=Rt(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:n,optionsMap:o,...U(r)})}};function Di(e,t){let n=yt(e),r=yt(t);if(e===t)return{valid:!0,data:e};if(n===P.object&&r===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=Di(e[a],t[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(n===P.array&&r===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=Di(i,a);if(!c.valid)return{valid:!1};o.push(c.data)}return{valid:!0,data:o}}else return n===P.date&&r===P.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var fn=class extends J{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),o=(s,i)=>{if(qo(s)||qo(i))return N;let a=Di(s.value,i.value);return a.valid?((Jo(s)||Jo(i))&&n.dirty(),{status:n.value,value:a.data}):($(r,{code:x.invalid_intersection_types}),N)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([s,i])=>o(s,i)):o(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};fn.create=(e,t,n)=>new fn({left:e,right:t,typeName:S.ZodIntersection,...U(n)});var _t=class e extends J{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==P.array)return $(r,{code:x.invalid_type,expected:P.array,received:r.parsedType}),N;if(r.data.length<this._def.items.length)return $(r,{code:x.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),N;!this._def.rest&&r.data.length>this._def.items.length&&($(r,{code:x.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let s=[...r.data].map((i,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new Qe(r,i,r.path,a)):null}).filter(i=>!!i);return r.common.async?Promise.all(s).then(i=>ke.mergeArray(n,i)):ke.mergeArray(n,s)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};_t.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new _t({items:e,typeName:S.ZodTuple,rest:null,...U(t)})};var Vo=class e extends J{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==P.object)return $(r,{code:x.invalid_type,expected:P.object,received:r.parsedType}),N;let o=[],s=this._def.keyType,i=this._def.valueType;for(let a in r.data)o.push({key:s._parse(new Qe(r,a,r.path,a)),value:i._parse(new Qe(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?ke.mergeObjectAsync(n,o):ke.mergeObjectSync(n,o)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof J?new e({keyType:t,valueType:n,typeName:S.ZodRecord,...U(r)}):new e({keyType:Zt.create(),valueType:t,typeName:S.ZodRecord,...U(n)})}},Wn=class extends J{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==P.map)return $(r,{code:x.invalid_type,expected:P.map,received:r.parsedType}),N;let o=this._def.keyType,s=this._def.valueType,i=[...r.data.entries()].map(([a,c],u)=>({key:o._parse(new Qe(r,a,r.path,[u,"key"])),value:s._parse(new Qe(r,c,r.path,[u,"value"]))}));if(r.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")&&n.dirty(),a.set(u.value,d.value)}return{status:n.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")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}}}};Wn.create=(e,t,n)=>new Wn({valueType:t,keyType:e,typeName:S.ZodMap,...U(n)});var Kn=class e extends J{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==P.set)return $(r,{code:x.invalid_type,expected:P.set,received:r.parsedType}),N;let o=this._def;o.minSize!==null&&r.data.size<o.minSize.value&&($(r,{code:x.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),n.dirty()),o.maxSize!==null&&r.data.size>o.maxSize.value&&($(r,{code:x.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),n.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"&&n.dirty(),u.add(d.value)}return{status:n.value,value:u}}let a=[...r.data.values()].map((c,u)=>s._parse(new Qe(r,c,r.path,u)));return r.common.async?Promise.all(a).then(c=>i(c)):i(a)}min(t,n){return new e({...this._def,minSize:{value:t,message:O.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:O.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};Kn.create=(e,t)=>new Kn({valueType:e,minSize:null,maxSize:null,typeName:S.ZodSet,...U(t)});var Bo=class e extends J{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==P.function)return $(n,{code:x.invalid_type,expected:P.function,received:n.parsedType}),N;function r(a,c){return zr({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Jn(),Tt].filter(u=>!!u),issueData:{code:x.invalid_arguments,argumentsError:c}})}function o(a,c){return zr({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Jn(),Tt].filter(u=>!!u),issueData:{code:x.invalid_return_type,returnTypeError:c}})}let s={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof qt){let a=this;return Re(async function(...c){let u=new Le([]),d=await a._def.args.parseAsync(c,s).catch(h=>{throw u.addIssue(r(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 Re(function(...c){let u=a._def.args.safeParse(c,s);if(!u.success)throw new Le([r(c,u.error)]);let d=Reflect.apply(i,this,u.data),l=a._def.returns.safeParse(d,s);if(!l.success)throw new Le([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:_t.create(t).rest(jt.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,n,r){return new e({args:t||_t.create([]).rest(jt.create()),returns:n||jt.create(),typeName:S.ZodFunction,...U(r)})}},hn=class extends J{get schema(){return this._def.getter()}_parse(t){let{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};hn.create=(e,t)=>new hn({getter:e,typeName:S.ZodLazy,...U(t)});var gn=class extends J{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return $(n,{received:n.data,code:x.invalid_literal,expected:this._def.value}),N}return{status:"valid",value:t.data}}get value(){return this._def.value}};gn.create=(e,t)=>new gn({value:e,typeName:S.ZodLiteral,...U(t)});function Xl(e,t){return new yn({values:e,typeName:S.ZodEnum,...U(t)})}var yn=class e extends J{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return $(n,{expected:H.joinValues(r),received:n.parsedType,code:x.invalid_type}),N}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),r=this._def.values;return $(n,{received:n.data,code:x.invalid_enum_value,options:r}),N}return Re(t.data)}get options(){return this._def.values}get enum(){let t={};for(let n of this._def.values)t[n]=n;return t}get Values(){let t={};for(let n of this._def.values)t[n]=n;return t}get Enum(){let t={};for(let n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}};yn.create=Xl;var _n=class extends J{_parse(t){let n=H.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==P.string&&r.parsedType!==P.number){let o=H.objectValues(n);return $(r,{expected:H.joinValues(o),received:r.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(n);return $(r,{received:r.data,code:x.invalid_enum_value,options:o}),N}return Re(t.data)}get enum(){return this._def.values}};_n.create=(e,t)=>new _n({values:e,typeName:S.ZodNativeEnum,...U(t)});var qt=class extends J{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==P.promise&&n.common.async===!1)return $(n,{code:x.invalid_type,expected:P.promise,received:n.parsedType}),N;let r=n.parsedType===P.promise?n.data:Promise.resolve(n.data);return Re(r.then(o=>this._def.type.parseAsync(o,{path:n.path,errorMap:n.common.contextualErrorMap})))}};qt.create=(e,t)=>new qt({type:e,typeName:S.ZodPromise,...U(t)});var Ye=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:n,ctx:r}=this._processInputParams(t),o=this._def.effect||null,s={addIssue:i=>{$(r,i),i.fatal?n.abort():n.dirty()},get path(){return r.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="preprocess"){let i=o.transform(r.data,s);if(r.common.async)return Promise.resolve(i).then(async a=>{if(n.value==="aborted")return N;let c=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return c.status==="aborted"?N:c.status==="dirty"?sn(c.value):n.value==="dirty"?sn(c.value):c});{if(n.value==="aborted")return N;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?N:a.status==="dirty"?sn(a.value):n.value==="dirty"?sn(a.value):a}}if(o.type==="refinement"){let i=a=>{let c=o.refinement(a,s);if(r.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(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?N:(a.status==="dirty"&&n.dirty(),i(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?N:(a.status==="dirty"&&n.dirty(),i(a.value).then(()=>({status:n.value,value:a.value}))))}if(o.type==="transform")if(r.common.async===!1){let i=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});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:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(i=>Dt(i)?Promise.resolve(o.transform(i.value,s)).then(a=>({status:n.value,value:a})):N);H.assertNever(o)}};Ye.create=(e,t,n)=>new Ye({schema:e,typeName:S.ZodEffects,effect:t,...U(n)});Ye.createWithPreprocess=(e,t,n)=>new Ye({schema:t,effect:{type:"preprocess",transform:e},typeName:S.ZodEffects,...U(n)});var De=class extends J{_parse(t){return this._getType(t)===P.undefined?Re(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};De.create=(e,t)=>new De({innerType:e,typeName:S.ZodOptional,...U(t)});var bt=class extends J{_parse(t){return this._getType(t)===P.null?Re(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};bt.create=(e,t)=>new bt({innerType:e,typeName:S.ZodNullable,...U(t)});var bn=class extends J{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===P.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};bn.create=(e,t)=>new bn({innerType:e,typeName:S.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...U(t)});var vn=class extends J{_parse(t){let{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},o=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Fn(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Le(r.common.issues)},input:r.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Le(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};vn.create=(e,t)=>new vn({innerType:e,typeName:S.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...U(t)});var Gn=class extends J{_parse(t){if(this._getType(t)!==P.nan){let r=this._getOrReturnCtx(t);return $(r,{code:x.invalid_type,expected:P.nan,received:r.parsedType}),N}return{status:"valid",value:t.data}}};Gn.create=e=>new Gn({typeName:S.ZodNaN,...U(e)});var Qb=Symbol("zod_brand"),Pr=class extends J{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},Tr=class e extends J{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?N:s.status==="dirty"?(n.dirty(),sn(s.value)):this._def.out._parseAsync({data:s.value,path:r.path,parent:r})})();{let o=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?N:o.status==="dirty"?(n.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:r.path,parent:r})}}static create(t,n){return new e({in:t,out:n,typeName:S.ZodPipeline})}},wn=class extends J{_parse(t){let n=this._def.innerType._parse(t),r=o=>(Dt(o)&&(o.value=Object.freeze(o.value)),o);return Fn(n)?n.then(o=>r(o)):r(n)}unwrap(){return this._def.innerType}};wn.create=(e,t)=>new wn({innerType:e,typeName:S.ZodReadonly,...U(t)});function Kl(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function ep(e,t={},n){return e?Ut.create().superRefine((r,o)=>{let s=e(r);if(s instanceof Promise)return s.then(i=>{if(!i){let a=Kl(t,r),c=a.fatal??n??!0;o.addIssue({code:"custom",...a,fatal:c})}});if(!s){let i=Kl(t,r),a=i.fatal??n??!0;o.addIssue({code:"custom",...i,fatal:a})}}):Ut.create()}var Yb={object:Ze.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 Xb=(e,t={message:`Input not instance of ${e.name}`})=>ep(n=>n instanceof e,t),tp=Zt.create,np=an.create,ev=Gn.create,tv=cn.create,rp=un.create,nv=dn.create,rv=Bn.create,ov=ln.create,sv=pn.create,iv=Ut.create,av=jt.create,cv=at.create,uv=Hn.create,dv=Ot.create,Zi=Ze.create,lv=Ze.strictCreate,pv=mn.create,mv=Fo.create,fv=fn.create,hv=_t.create,gv=Vo.create,yv=Wn.create,_v=Kn.create,bv=Bo.create,vv=hn.create,wv=gn.create,kv=yn.create,xv=_n.create,Sv=qt.create,$v=Ye.create,zv=De.create,Pv=bt.create,Tv=Ye.createWithPreprocess,Rv=Tr.create,jv=()=>tp().optional(),Ov=()=>np().optional(),Iv=()=>rp().optional(),Ev={string:(e=>Zt.create({...e,coerce:!0})),number:(e=>an.create({...e,coerce:!0})),boolean:(e=>un.create({...e,coerce:!0})),bigint:(e=>cn.create({...e,coerce:!0})),date:(e=>dn.create({...e,coerce:!0}))};var Cv=N;var Mv=Object.freeze({status:"aborted"});function b(e,t,n){function r(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=n?.Parent??Object;class s extends o{}Object.defineProperty(s,"name",{value:e});function i(a){var c;let u=n?.Parent?new s:this;r(u,a),(c=u._zod).deferred??(c.deferred=[]);for(let d of u._zod.deferred)d();return u}return Object.defineProperty(i,"init",{value:r}),Object.defineProperty(i,Symbol.hasInstance,{value:a=>n?.Parent&&a instanceof n.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.")}},Ho={};function He(e){return e&&Object.assign(Ho,e),Ho}var W={};Mi(W,{BIGINT_FORMAT_RANGES:()=>sp,Class:()=>qi,NUMBER_FORMAT_RANGES:()=>Ki,aborted:()=>xn,allowsEval:()=>Bi,assert:()=>Uv,assertEqual:()=>Nv,assertIs:()=>Dv,assertNever:()=>Zv,assertNotEqual:()=>Lv,assignProp:()=>Vi,cached:()=>Or,captureStackTrace:()=>Ko,cleanEnum:()=>ew,cleanRegex:()=>Er,clone:()=>We,createTransparentProxy:()=>Hv,defineLazy:()=>ie,esc:()=>kn,escapeRegex:()=>Jt,extend:()=>Gv,finalizeIssue:()=>ct,floatSafeRemainder:()=>Fi,getElementAtPath:()=>qv,getEnumValues:()=>jr,getLengthableOrigin:()=>Cr,getParsedType:()=>Bv,getSizableOrigin:()=>ip,isObject:()=>Qn,isPlainObject:()=>Yn,issue:()=>Gi,joinValues:()=>Wo,jsonStringifyReplacer:()=>Ji,merge:()=>Qv,normalizeParams:()=>L,nullish:()=>Ir,numKeys:()=>Vv,omit:()=>Kv,optionalKeys:()=>Wi,partial:()=>Yv,pick:()=>Wv,prefixIssues:()=>vt,primitiveTypes:()=>op,promiseAllObject:()=>Jv,propertyKeyTypes:()=>Hi,randomString:()=>Fv,required:()=>Xv,stringifyPrimitive:()=>Go,unwrapMessage:()=>Rr});function Nv(e){return e}function Lv(e){return e}function Dv(e){}function Zv(e){throw new Error}function Uv(e){}function jr(e){let t=Object.values(e).filter(r=>typeof r=="number");return Object.entries(e).filter(([r,o])=>t.indexOf(+r)===-1).map(([r,o])=>o)}function Wo(e,t="|"){return e.map(n=>Go(n)).join(t)}function Ji(e,t){return typeof t=="bigint"?t.toString():t}function Or(e){return{get value(){{let n=e();return Object.defineProperty(this,"value",{value:n}),n}throw new Error("cached value already set")}}}function Ir(e){return e==null}function Er(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function Fi(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,o=n>r?n:r,s=Number.parseInt(e.toFixed(o).replace(".","")),i=Number.parseInt(t.toFixed(o).replace(".",""));return s%i/10**o}function ie(e,t,n){Object.defineProperty(e,t,{get(){{let o=n();return e[t]=o,o}throw new Error("cached value already set")},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function Vi(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function qv(e,t){return t?t.reduce((n,r)=>n?.[r],e):e}function Jv(e){let t=Object.keys(e),n=t.map(r=>e[r]);return Promise.all(n).then(r=>{let o={};for(let s=0;s<t.length;s++)o[t[s]]=r[s];return o})}function Fv(e=10){let t="abcdefghijklmnopqrstuvwxyz",n="";for(let r=0;r<e;r++)n+=t[Math.floor(Math.random()*t.length)];return n}function kn(e){return JSON.stringify(e)}var Ko=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function Qn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Bi=Or(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function Yn(e){if(Qn(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(Qn(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function Vv(e){let t=0;for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t++;return t}var Bv=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}`)}},Hi=new Set(["string","number","symbol"]),op=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Jt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function We(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}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 Hv(e){let t;return new Proxy({},{get(n,r,o){return t??(t=e()),Reflect.get(t,r,o)},set(n,r,o,s){return t??(t=e()),Reflect.set(t,r,o,s)},has(n,r){return t??(t=e()),Reflect.has(t,r)},deleteProperty(n,r){return t??(t=e()),Reflect.deleteProperty(t,r)},ownKeys(n){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(n,r){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,r)},defineProperty(n,r,o){return t??(t=e()),Reflect.defineProperty(t,r,o)}})}function Go(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function Wi(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Ki={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]},sp={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Wv(e,t){let n={},r=e._zod.def;for(let o in t){if(!(o in r.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&(n[o]=r.shape[o])}return We(e,{...e._zod.def,shape:n,checks:[]})}function Kv(e,t){let n={...e._zod.def.shape},r=e._zod.def;for(let o in t){if(!(o in r.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&delete n[o]}return We(e,{...e._zod.def,shape:n,checks:[]})}function Gv(e,t){if(!Yn(t))throw new Error("Invalid input to extend: expected a plain object");let n={...e._zod.def,get shape(){let r={...e._zod.def.shape,...t};return Vi(this,"shape",r),r},checks:[]};return We(e,n)}function Qv(e,t){return We(e,{...e._zod.def,get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return Vi(this,"shape",n),n},catchall:t._zod.def.catchall,checks:[]})}function Yv(e,t,n){let r=t._zod.def.shape,o={...r};if(n)for(let s in n){if(!(s in r))throw new Error(`Unrecognized key: "${s}"`);n[s]&&(o[s]=e?new e({type:"optional",innerType:r[s]}):r[s])}else for(let s in r)o[s]=e?new e({type:"optional",innerType:r[s]}):r[s];return We(t,{...t._zod.def,shape:o,checks:[]})}function Xv(e,t,n){let r=t._zod.def.shape,o={...r};if(n)for(let s in n){if(!(s in o))throw new Error(`Unrecognized key: "${s}"`);n[s]&&(o[s]=new e({type:"nonoptional",innerType:r[s]}))}else for(let s in r)o[s]=new e({type:"nonoptional",innerType:r[s]});return We(t,{...t._zod.def,shape:o,checks:[]})}function xn(e,t=0){for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function vt(e,t){return t.map(n=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function Rr(e){return typeof e=="string"?e:e?.message}function ct(e,t,n){let r={...e,path:e.path??[]};if(!e.message){let o=Rr(e.inst?._zod.def?.error?.(e))??Rr(t?.error?.(e))??Rr(n.customError?.(e))??Rr(n.localeError?.(e))??"Invalid input";r.message=o}return delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function ip(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function Cr(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function Gi(...e){let[t,n,r]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:r}:{...t}}function ew(e){return Object.entries(e).filter(([t,n])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}var qi=class{constructor(...t){}};var ap=(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,Ji,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Qo=b("$ZodError",ap),Ar=b("$ZodError",ap,{Parent:Error});function Qi(e,t=n=>n.message){let n={},r=[];for(let o of e.issues)o.path.length>0?(n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(t(o))):r.push(t(o));return{formErrors:r,fieldErrors:n}}function Yi(e,t){let n=t||function(s){return s.message},r={_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)r._errors.push(n(i));else{let a=r,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(n(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(e),r}var Xi=e=>(t,n,r,o)=>{let s=r?Object.assign(r,{async:!1}):{async:!1},i=t._zod.run({value:n,issues:[]},s);if(i instanceof Promise)throw new It;if(i.issues.length){let a=new(o?.Err??e)(i.issues.map(c=>ct(c,s,He())));throw Ko(a,o?.callee),a}return i.value},ea=Xi(Ar),ta=e=>async(t,n,r,o)=>{let s=r?Object.assign(r,{async:!0}):{async:!0},i=t._zod.run({value:n,issues:[]},s);if(i instanceof Promise&&(i=await i),i.issues.length){let a=new(o?.Err??e)(i.issues.map(c=>ct(c,s,He())));throw Ko(a,o?.callee),a}return i.value},na=ta(Ar),ra=e=>(t,n,r)=>{let o=r?{...r,async:!1}:{async:!1},s=t._zod.run({value:n,issues:[]},o);if(s instanceof Promise)throw new It;return s.issues.length?{success:!1,error:new(e??Qo)(s.issues.map(i=>ct(i,o,He())))}:{success:!0,data:s.value}},Sn=ra(Ar),oa=e=>async(t,n,r)=>{let o=r?Object.assign(r,{async:!0}):{async:!0},s=t._zod.run({value:n,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new e(s.issues.map(i=>ct(i,o,He())))}:{success:!0,data:s.value}},$n=oa(Ar);var cp=/^[cC][^\s-]{8,}$/,up=/^[0-9a-z]+$/,dp=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,lp=/^[0-9a-vA-V]{20}$/,pp=/^[A-Za-z0-9]{27}$/,mp=/^[a-zA-Z0-9_-]{21}$/,fp=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var hp=/^([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})$/,sa=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 gp=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var nw="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function yp(){return new RegExp(nw,"u")}var _p=/^(?:(?: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])$/,bp=/^(([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})$/,vp=/^((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])$/,wp=/^(([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])$/,kp=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,ia=/^[A-Za-z0-9_-]*$/,xp=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var Sp=/^\+(?:[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])))",zp=new RegExp(`^${$p}$`);function Pp(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 Tp(e){return new RegExp(`^${Pp(e)}$`)}function Rp(e){let t=Pp({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-]\\d{2}:\\d{2})");let r=`${t}(?:${n.join("|")})`;return new RegExp(`^${$p}T(?:${r})$`)}var jp=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var Op=/^\d+$/,Ip=/^-?\d+(?:\.\d+)?/i,Ep=/true|false/i,Cp=/null/i;var Ap=/^[^A-Z]*$/,Mp=/^[^a-z]*$/;var xe=b("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Np={number:"number",bigint:"bigint",object:"date"},aa=b("$ZodCheckLessThan",(e,t)=>{xe.init(e,t);let n=Np[typeof t.value];e._zod.onattach.push(r=>{let o=r._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=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:"too_big",maximum:t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),ca=b("$ZodCheckGreaterThan",(e,t)=>{xe.init(e,t);let n=Np[typeof t.value];e._zod.onattach.push(r=>{let o=r._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=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:"too_small",minimum:t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Lp=b("$ZodCheckMultipleOf",(e,t)=>{xe.init(e,t),e._zod.onattach.push(n=>{var r;(r=n._zod.bag).multipleOf??(r.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?n.value%t.value===BigInt(0):Fi(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Dp=b("$ZodCheckNumberFormat",(e,t)=>{xe.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),r=n?"int":"number",[o,s]=Ki[t.format];e._zod.onattach.push(i=>{let a=i._zod.bag;a.format=t.format,a.minimum=o,a.maximum=s,n&&(a.pattern=Op)}),e._zod.check=i=>{let a=i.value;if(n){if(!Number.isInteger(a)){i.issues.push({expected:r,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:r,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:r,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 Zp=b("$ZodCheckMaxLength",(e,t)=>{var n;xe.init(e,t),(n=e._zod.def).when??(n.when=r=>{let o=r.value;return!Ir(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{let o=r._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(r._zod.bag.maximum=t.maximum)}),e._zod.check=r=>{let o=r.value;if(o.length<=t.maximum)return;let i=Cr(o);r.issues.push({origin:i,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Up=b("$ZodCheckMinLength",(e,t)=>{var n;xe.init(e,t),(n=e._zod.def).when??(n.when=r=>{let o=r.value;return!Ir(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{let o=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(r._zod.bag.minimum=t.minimum)}),e._zod.check=r=>{let o=r.value;if(o.length>=t.minimum)return;let i=Cr(o);r.issues.push({origin:i,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),qp=b("$ZodCheckLengthEquals",(e,t)=>{var n;xe.init(e,t),(n=e._zod.def).when??(n.when=r=>{let o=r.value;return!Ir(o)&&o.length!==void 0}),e._zod.onattach.push(r=>{let o=r._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=r=>{let o=r.value,s=o.length;if(s===t.length)return;let i=Cr(o),a=s>t.length;r.issues.push({origin:i,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),Mr=b("$ZodCheckStringFormat",(e,t)=>{var n,r;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?(n=e._zod).check??(n.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})}):(r=e._zod).check??(r.check=()=>{})}),Jp=b("$ZodCheckRegex",(e,t)=>{Mr.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Fp=b("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Ap),Mr.init(e,t)}),Vp=b("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Mp),Mr.init(e,t)}),Bp=b("$ZodCheckIncludes",(e,t)=>{xe.init(e,t);let n=Jt(t.includes),r=new RegExp(typeof t.position=="number"?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(o=>{let s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(r)}),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})}}),Hp=b("$ZodCheckStartsWith",(e,t)=>{xe.init(e,t);let n=new RegExp(`^${Jt(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=r=>{r.value.startsWith(t.prefix)||r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),Wp=b("$ZodCheckEndsWith",(e,t)=>{xe.init(e,t);let n=new RegExp(`.*${Jt(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=r=>{r.value.endsWith(t.suffix)||r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}});var Kp=b("$ZodCheckOverwrite",(e,t)=>{xe.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}});var Xo=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 r=t.split(`
11
11
  `).filter(i=>i),o=Math.min(...r.map(i=>i.length-i.trimStart().length)),s=r.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,n=this?.args,o=[...(this?.content??[""]).map(s=>` ${s}`)];return new t(...n,o.join(`
12
- `))}};var Gp={major:4,minor:0,patch:0};var re=b("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Gp;let r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(let o of r)for(let s of o._zod.onattach)s(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(s,i,a)=>{let c=xn(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,m=d._zod.check(s);if(m instanceof Promise&&a?.async===!1)throw new It;if(u||m instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await m,s.issues.length!==l&&(c||(c=xn(s,l)))});else{if(s.issues.length===l)continue;c||(c=xn(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,r,i))}return o(a,r,i)}}e["~standard"]={validate:o=>{try{let s=Sn(e,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return $n(e,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),Nr=b("$ZodString",(e,t)=>{re.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Rp(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),ae=b("$ZodStringFormat",(e,t)=>{Mr.init(e,t),Nr.init(e,t)}),da=b("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=fp),ae.init(e,t)}),la=b("$ZodUUID",(e,t)=>{if(t.version){let r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(r===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=sa(r))}else t.pattern??(t.pattern=sa());ae.init(e,t)}),pa=b("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=hp),ae.init(e,t)}),ma=b("$ZodURL",(e,t)=>{ae.init(e,t),e._zod.check=n=>{try{let r=n.value,o=new URL(r),s=o.href;t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:kp.source,input:n.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)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),!r.endsWith("/")&&s.endsWith("/")?n.value=s.slice(0,-1):n.value=s;return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),fa=b("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=gp()),ae.init(e,t)}),ha=b("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=pp),ae.init(e,t)}),ga=b("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=ap),ae.init(e,t)}),ya=b("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=cp),ae.init(e,t)}),_a=b("$ZodULID",(e,t)=>{t.pattern??(t.pattern=up),ae.init(e,t)}),ba=b("$ZodXID",(e,t)=>{t.pattern??(t.pattern=dp),ae.init(e,t)}),va=b("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=lp),ae.init(e,t)}),im=b("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Tp(t)),ae.init(e,t)}),am=b("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=$p),ae.init(e,t)}),cm=b("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Pp(t)),ae.init(e,t)}),um=b("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=mp),ae.init(e,t)}),wa=b("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=yp),ae.init(e,t),e._zod.onattach.push(n=>{let r=n._zod.bag;r.format="ipv4"})}),ka=b("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=_p),ae.init(e,t),e._zod.onattach.push(n=>{let r=n._zod.bag;r.format="ipv6"}),e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),xa=b("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=bp),ae.init(e,t)}),Sa=b("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=vp),ae.init(e,t),e._zod.check=n=>{let[r,o]=n.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://[${r}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function dm(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var $a=b("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=wp),ae.init(e,t),e._zod.onattach.push(n=>{n._zod.bag.contentEncoding="base64"}),e._zod.check=n=>{dm(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function nw(e){if(!ia.test(e))return!1;let t=e.replace(/[-_]/g,r=>r==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return dm(n)}var za=b("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=ia),ae.init(e,t),e._zod.onattach.push(n=>{n._zod.bag.contentEncoding="base64url"}),e._zod.check=n=>{nw(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Pa=b("$ZodE164",(e,t)=>{t.pattern??(t.pattern=xp),ae.init(e,t)});function rw(e,t=null){try{let n=e.split(".");if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let o=JSON.parse(atob(r));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}var Ta=b("$ZodJWT",(e,t)=>{ae.init(e,t),e._zod.check=n=>{rw(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}});var ts=b("$ZodNumber",(e,t)=>{re.init(e,t),e._zod.pattern=e._zod.bag.pattern??Op,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let o=n.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return n;let s=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...s?{received:s}:{}}),n}}),Ra=b("$ZodNumber",(e,t)=>{Lp.init(e,t),ts.init(e,t)}),ja=b("$ZodBoolean",(e,t)=>{re.init(e,t),e._zod.pattern=Ip,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let o=n.value;return typeof o=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}});var Oa=b("$ZodNull",(e,t)=>{re.init(e,t),e._zod.pattern=Ep,e._zod.values=new Set([null]),e._zod.parse=(n,r)=>{let o=n.value;return o===null||n.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),n}});var Ia=b("$ZodUnknown",(e,t)=>{re.init(e,t),e._zod.parse=n=>n}),Ea=b("$ZodNever",(e,t)=>{re.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function Qp(e,t,n){e.issues.length&&t.issues.push(...vt(n,e.issues)),t.value[n]=e.value}var Ca=b("$ZodArray",(e,t)=>{re.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!Array.isArray(o))return n.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),n;n.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:[]},r);c instanceof Promise?s.push(c.then(u=>Qp(u,n,i))):Qp(c,n,i)}return s.length?Promise.all(s).then(()=>n):n}});function es(e,t,n){e.issues.length&&t.issues.push(...vt(n,e.issues)),t.value[n]=e.value}function Yp(e,t,n,r){e.issues.length?r[n]===void 0?n in r?t.value[n]=void 0:t.value[n]=e.value:t.issues.push(...vt(n,e.issues)):e.value===void 0?n in r&&(t.value[n]=void 0):t.value[n]=e.value}var ns=b("$ZodObject",(e,t)=>{re.init(e,t);let n=Or(()=>{let l=Object.keys(t.shape);for(let f of l)if(!(t.shape[f]instanceof re))throw new Error(`Invalid element at key "${f}": expected a Zod schema`);let m=Wi(t.shape);return{shape:t.shape,keys:l,keySet:new Set(l),numKeys:l.length,optionalKeys:new Set(m)}});ie(e._zod,"propValues",()=>{let l=t.shape,m={};for(let f in l){let h=l[f]._zod;if(h.values){m[f]??(m[f]=new Set);for(let g of h.values)m[f].add(g)}}return m});let r=l=>{let m=new Xo(["shape","payload","ctx"]),f=n.value,h=w=>{let k=kn(w);return`shape[${k}]._zod.run({ value: input[${k}], issues: [] }, ctx)`};m.write("const input = payload.value;");let g=Object.create(null),y=0;for(let w of f.keys)g[w]=`key_${y++}`;m.write("const newResult = {}");for(let w of f.keys)if(f.optionalKeys.has(w)){let k=g[w];m.write(`const ${k} = ${h(w)};`);let j=kn(w);m.write(`
12
+ `))}};var Qp={major:4,minor:0,patch:0};var re=b("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Qp;let r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(let o of r)for(let s of o._zod.onattach)s(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(s,i,a)=>{let c=xn(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=xn(s,l)))});else{if(s.issues.length===l)continue;c||(c=xn(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,r,i))}return o(a,r,i)}}e["~standard"]={validate:o=>{try{let s=Sn(e,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return $n(e,o).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}}),Nr=b("$ZodString",(e,t)=>{re.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??jp(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),ae=b("$ZodStringFormat",(e,t)=>{Mr.init(e,t),Nr.init(e,t)}),da=b("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=hp),ae.init(e,t)}),la=b("$ZodUUID",(e,t)=>{if(t.version){let r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(r===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=sa(r))}else t.pattern??(t.pattern=sa());ae.init(e,t)}),pa=b("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=gp),ae.init(e,t)}),ma=b("$ZodURL",(e,t)=>{ae.init(e,t),e._zod.check=n=>{try{let r=n.value,o=new URL(r),s=o.href;t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:xp.source,input:n.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)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),!r.endsWith("/")&&s.endsWith("/")?n.value=s.slice(0,-1):n.value=s;return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),fa=b("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=yp()),ae.init(e,t)}),ha=b("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=mp),ae.init(e,t)}),ga=b("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=cp),ae.init(e,t)}),ya=b("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=up),ae.init(e,t)}),_a=b("$ZodULID",(e,t)=>{t.pattern??(t.pattern=dp),ae.init(e,t)}),ba=b("$ZodXID",(e,t)=>{t.pattern??(t.pattern=lp),ae.init(e,t)}),va=b("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=pp),ae.init(e,t)}),am=b("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Rp(t)),ae.init(e,t)}),cm=b("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=zp),ae.init(e,t)}),um=b("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Tp(t)),ae.init(e,t)}),dm=b("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=fp),ae.init(e,t)}),wa=b("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=_p),ae.init(e,t),e._zod.onattach.push(n=>{let r=n._zod.bag;r.format="ipv4"})}),ka=b("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=bp),ae.init(e,t),e._zod.onattach.push(n=>{let r=n._zod.bag;r.format="ipv6"}),e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),xa=b("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=vp),ae.init(e,t)}),Sa=b("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=wp),ae.init(e,t),e._zod.check=n=>{let[r,o]=n.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://[${r}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function lm(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var $a=b("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=kp),ae.init(e,t),e._zod.onattach.push(n=>{n._zod.bag.contentEncoding="base64"}),e._zod.check=n=>{lm(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function rw(e){if(!ia.test(e))return!1;let t=e.replace(/[-_]/g,r=>r==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return lm(n)}var za=b("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=ia),ae.init(e,t),e._zod.onattach.push(n=>{n._zod.bag.contentEncoding="base64url"}),e._zod.check=n=>{rw(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Pa=b("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Sp),ae.init(e,t)});function ow(e,t=null){try{let n=e.split(".");if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let o=JSON.parse(atob(r));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}var Ta=b("$ZodJWT",(e,t)=>{ae.init(e,t),e._zod.check=n=>{ow(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}});var ts=b("$ZodNumber",(e,t)=>{re.init(e,t),e._zod.pattern=e._zod.bag.pattern??Ip,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let o=n.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return n;let s=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...s?{received:s}:{}}),n}}),Ra=b("$ZodNumber",(e,t)=>{Dp.init(e,t),ts.init(e,t)}),ja=b("$ZodBoolean",(e,t)=>{re.init(e,t),e._zod.pattern=Ep,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let o=n.value;return typeof o=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}});var Oa=b("$ZodNull",(e,t)=>{re.init(e,t),e._zod.pattern=Cp,e._zod.values=new Set([null]),e._zod.parse=(n,r)=>{let o=n.value;return o===null||n.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),n}});var Ia=b("$ZodUnknown",(e,t)=>{re.init(e,t),e._zod.parse=n=>n}),Ea=b("$ZodNever",(e,t)=>{re.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function Yp(e,t,n){e.issues.length&&t.issues.push(...vt(n,e.issues)),t.value[n]=e.value}var Ca=b("$ZodArray",(e,t)=>{re.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!Array.isArray(o))return n.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),n;n.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:[]},r);c instanceof Promise?s.push(c.then(u=>Yp(u,n,i))):Yp(c,n,i)}return s.length?Promise.all(s).then(()=>n):n}});function es(e,t,n){e.issues.length&&t.issues.push(...vt(n,e.issues)),t.value[n]=e.value}function Xp(e,t,n,r){e.issues.length?r[n]===void 0?n in r?t.value[n]=void 0:t.value[n]=e.value:t.issues.push(...vt(n,e.issues)):e.value===void 0?n in r&&(t.value[n]=void 0):t.value[n]=e.value}var ns=b("$ZodObject",(e,t)=>{re.init(e,t);let n=Or(()=>{let l=Object.keys(t.shape);for(let h of l)if(!(t.shape[h]instanceof re))throw new Error(`Invalid element at key "${h}": expected a Zod schema`);let p=Wi(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 r=l=>{let p=new Xo(["shape","payload","ctx"]),h=n.value,f=w=>{let k=kn(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 j=kn(w);p.write(`
13
13
  if (${k}.issues.length) {
14
14
  if (input[${j}] === undefined) {
15
15
  if (${j} in input) {
@@ -28,22 +28,22 @@ var bb=Object.create;var Ai=Object.defineProperty;var vb=Object.getOwnPropertyDe
28
28
  } else {
29
29
  newResult[${j}] = ${k}.value;
30
30
  }
31
- `)}else{let k=g[w];m.write(`const ${k} = ${h(w)};`),m.write(`
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
34
  path: iss.path ? [${kn(w)}, ...iss.path] : [${kn(w)}]
35
- })));`),m.write(`newResult[${kn(w)}] = ${k}.value`)}m.write("payload.value = newResult;"),m.write("return payload;");let v=m.compile();return(w,k)=>v(l,w,k)},o,s=Qn,i=!Ho.jitless,c=i&&Bi.value,u=t.catchall,d;e._zod.parse=(l,m)=>{d??(d=n.value);let f=l.value;if(!s(f))return l.issues.push({expected:"object",code:"invalid_type",input:f,inst:e}),l;let h=[];if(i&&c&&m?.async===!1&&m.jitless!==!0)o||(o=r(t.shape)),l=o(l,m);else{l.value={};let k=d.shape;for(let j of d.keys){let M=k[j],Ee=M._zod.run({value:f[j],issues:[]},m),Ge=M._zod.optin==="optional"&&M._zod.optout==="optional";Ee instanceof Promise?h.push(Ee.then(qn=>Ge?Yp(qn,l,j,f):es(qn,l,j))):Ge?Yp(Ee,l,j,f):es(Ee,l,j)}}if(!u)return h.length?Promise.all(h).then(()=>l):l;let g=[],y=d.keySet,v=u._zod,w=v.def.type;for(let k of Object.keys(f)){if(y.has(k))continue;if(w==="never"){g.push(k);continue}let j=v.run({value:f[k],issues:[]},m);j instanceof Promise?h.push(j.then(M=>es(M,l,k))):es(j,l,k)}return g.length&&l.issues.push({code:"unrecognized_keys",keys:g,input:f,inst:e}),h.length?Promise.all(h).then(()=>l):l}});function Xp(e,t,n,r){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:n,errors:e.map(o=>o.issues.map(s=>at(s,r,He())))}),t}var rs=b("$ZodUnion",(e,t)=>{re.init(e,t),ie(e._zod,"optin",()=>t.options.some(n=>n._zod.optin==="optional")?"optional":void 0),ie(e._zod,"optout",()=>t.options.some(n=>n._zod.optout==="optional")?"optional":void 0),ie(e._zod,"values",()=>{if(t.options.every(n=>n._zod.values))return new Set(t.options.flatMap(n=>Array.from(n._zod.values)))}),ie(e._zod,"pattern",()=>{if(t.options.every(n=>n._zod.pattern)){let n=t.options.map(r=>r._zod.pattern);return new RegExp(`^(${n.map(r=>Er(r.source)).join("|")})$`)}}),e._zod.parse=(n,r)=>{let o=!1,s=[];for(let i of t.options){let a=i._zod.run({value:n.value,issues:[]},r);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=>Xp(i,n,e,r)):Xp(s,n,e,r)}}),Aa=b("$ZodDiscriminatedUnion",(e,t)=>{rs.init(e,t);let n=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 r=Or(()=>{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(!Qn(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:e}),o;let a=r.value.get(i?.[t.discriminator]);return a?a._zod.run(o,s):t.unionFallback?n(o,s):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:i,path:[t.discriminator],inst:e}),o)}}),Ma=b("$ZodIntersection",(e,t)=>{re.init(e,t),e._zod.parse=(n,r)=>{let o=n.value,s=t.left._zod.run({value:o,issues:[]},r),i=t.right._zod.run({value:o,issues:[]},r);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([c,u])=>em(n,c,u)):em(n,s,i)}});function ua(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(Yn(e)&&Yn(t)){let n=Object.keys(t),r=Object.keys(e).filter(s=>n.indexOf(s)!==-1),o={...e,...t};for(let s of r){let i=ua(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 n=[];for(let r=0;r<e.length;r++){let o=e[r],s=t[r],i=ua(o,s);if(!i.valid)return{valid:!1,mergeErrorPath:[r,...i.mergeErrorPath]};n.push(i.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function em(e,t,n){if(t.issues.length&&e.issues.push(...t.issues),n.issues.length&&e.issues.push(...n.issues),xn(e))return e;let r=ua(t.value,n.value);if(!r.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(r.mergeErrorPath)}`);return e.value=r.data,e}var Na=b("$ZodRecord",(e,t)=>{re.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!Yn(o))return n.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),n;let s=[];if(t.keyType._zod.values){let i=t.keyType._zod.values;n.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:[]},r);u instanceof Promise?s.push(u.then(d=>{d.issues.length&&n.issues.push(...vt(c,d.issues)),n.value[c]=d.value})):(u.issues.length&&n.issues.push(...vt(c,u.issues)),n.value[c]=u.value)}let a;for(let c in o)i.has(c)||(a=a??[],a.push(c));a&&a.length>0&&n.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:a})}else{n.value={};for(let i of Reflect.ownKeys(o)){if(i==="__proto__")continue;let a=t.keyType._zod.run({value:i,issues:[]},r);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){n.issues.push({origin:"record",code:"invalid_key",issues:a.issues.map(u=>at(u,r,He())),input:i,path:[i],inst:e}),n.value[a.value]=a.value;continue}let c=t.valueType._zod.run({value:o[i],issues:[]},r);c instanceof Promise?s.push(c.then(u=>{u.issues.length&&n.issues.push(...vt(i,u.issues)),n.value[a.value]=u.value})):(c.issues.length&&n.issues.push(...vt(i,c.issues)),n.value[a.value]=c.value)}}return s.length?Promise.all(s).then(()=>n):n}});var La=b("$ZodEnum",(e,t)=>{re.init(e,t);let n=jr(t.entries);e._zod.values=new Set(n),e._zod.pattern=new RegExp(`^(${n.filter(r=>Hi.has(typeof r)).map(r=>typeof r=="string"?Jt(r):r.toString()).join("|")})$`),e._zod.parse=(r,o)=>{let s=r.value;return e._zod.values.has(s)||r.issues.push({code:"invalid_value",values:n,input:s,inst:e}),r}}),Da=b("$ZodLiteral",(e,t)=>{re.init(e,t),e._zod.values=new Set(t.values),e._zod.pattern=new RegExp(`^(${t.values.map(n=>typeof n=="string"?Jt(n):n?n.toString():String(n)).join("|")})$`),e._zod.parse=(n,r)=>{let o=n.value;return e._zod.values.has(o)||n.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),n}});var Za=b("$ZodTransform",(e,t)=>{re.init(e,t),e._zod.parse=(n,r)=>{let o=t.transform(n.value,n);if(r.async)return(o instanceof Promise?o:Promise.resolve(o)).then(i=>(n.value=i,n));if(o instanceof Promise)throw new It;return n.value=o,n}}),Ua=b("$ZodOptional",(e,t)=>{re.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 n=t.innerType._zod.pattern;return n?new RegExp(`^(${Er(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>t.innerType._zod.optin==="optional"?t.innerType._zod.run(n,r):n.value===void 0?n:t.innerType._zod.run(n,r)}),qa=b("$ZodNullable",(e,t)=>{re.init(e,t),ie(e._zod,"optin",()=>t.innerType._zod.optin),ie(e._zod,"optout",()=>t.innerType._zod.optout),ie(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${Er(n.source)}|null)$`):void 0}),ie(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>n.value===null?n:t.innerType._zod.run(n,r)}),Ja=b("$ZodDefault",(e,t)=>{re.init(e,t),e._zod.optin="optional",ie(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(n.value===void 0)return n.value=t.defaultValue,n;let o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(s=>tm(s,t)):tm(o,t)}});function tm(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Fa=b("$ZodPrefault",(e,t)=>{re.init(e,t),e._zod.optin="optional",ie(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>(n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,r))}),Va=b("$ZodNonOptional",(e,t)=>{re.init(e,t),ie(e._zod,"values",()=>{let n=t.innerType._zod.values;return n?new Set([...n].filter(r=>r!==void 0)):void 0}),e._zod.parse=(n,r)=>{let o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(s=>nm(s,e)):nm(o,e)}});function nm(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 Ba=b("$ZodCatch",(e,t)=>{re.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=(n,r)=>{let o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(s=>(n.value=s.value,s.issues.length&&(n.value=t.catchValue({...n,error:{issues:s.issues.map(i=>at(i,r,He()))},input:n.value}),n.issues=[]),n)):(n.value=o.value,o.issues.length&&(n.value=t.catchValue({...n,error:{issues:o.issues.map(s=>at(s,r,He()))},input:n.value}),n.issues=[]),n)}});var Ha=b("$ZodPipe",(e,t)=>{re.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=(n,r)=>{let o=t.in._zod.run(n,r);return o instanceof Promise?o.then(s=>rm(s,t,r)):rm(o,t,r)}});function rm(e,t,n){return xn(e)?e:t.out._zod.run({value:e.value,issues:e.issues},n)}var Wa=b("$ZodReadonly",(e,t)=>{re.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=(n,r)=>{let o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(om):om(o)}});function om(e){return e.value=Object.freeze(e.value),e}var Ka=b("$ZodCustom",(e,t)=>{xe.init(e,t),re.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=n=>{let r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then(s=>sm(s,n,r,e));sm(o,n,r,e)}});function sm(e,t,n,r){if(!e){let o={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(o.params=r._zod.def.params),t.issues.push(Gi(o))}}var ow=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},sw=()=>{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(r){return e[r]??null}let n={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 r=>{switch(r.code){case"invalid_type":return`Invalid input: expected ${r.expected}, received ${ow(r.input)}`;case"invalid_value":return r.values.length===1?`Invalid input: expected ${Go(r.values[0])}`:`Invalid option: expected one of ${Wo(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);return s?`Too big: expected ${r.origin??"value"} to have ${o}${r.maximum.toString()} ${s.unit??"elements"}`:`Too big: expected ${r.origin??"value"} to be ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);return s?`Too small: expected ${r.origin} to have ${o}${r.minimum.toString()} ${s.unit}`:`Too small: expected ${r.origin} to be ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;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 ${n[o.format]??r.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${r.divisor}`;case"unrecognized_keys":return`Unrecognized key${r.keys.length>1?"s":""}: ${Wo(r.keys,", ")}`;case"invalid_key":return`Invalid key in ${r.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${r.origin}`;default:return"Invalid input"}}};function lm(){return{localeError:sw()}}var Lr=class{constructor(){this._map=new Map,this._idmap=new Map}add(t,...n){let r=n[0];if(this._map.set(t,r),r&&typeof r=="object"&&"id"in r){if(this._idmap.has(r.id))throw new Error(`ID ${r.id} already exists in the registry`);this._idmap.set(r.id,t)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(t){let n=this._map.get(t);return n&&typeof n=="object"&&"id"in n&&this._idmap.delete(n.id),this._map.delete(t),this}get(t){let n=t._zod.parent;if(n){let r={...this.get(n)??{}};return delete r.id,{...r,...this._map.get(t)}}return this._map.get(t)}has(t){return this._map.has(t)}};function pm(){return new Lr}var Ft=pm();function Ga(e,t){return new e({type:"string",...L(t)})}function Qa(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...L(t)})}function os(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...L(t)})}function Ya(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...L(t)})}function Xa(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...L(t)})}function ec(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...L(t)})}function tc(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...L(t)})}function nc(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...L(t)})}function rc(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...L(t)})}function oc(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...L(t)})}function sc(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...L(t)})}function ic(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...L(t)})}function ac(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...L(t)})}function cc(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...L(t)})}function uc(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...L(t)})}function dc(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...L(t)})}function lc(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...L(t)})}function pc(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...L(t)})}function mc(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...L(t)})}function fc(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...L(t)})}function hc(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...L(t)})}function gc(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...L(t)})}function yc(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...L(t)})}function mm(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...L(t)})}function fm(e,t){return new e({type:"string",format:"date",check:"string_format",...L(t)})}function hm(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...L(t)})}function gm(e,t){return new e({type:"string",format:"duration",check:"string_format",...L(t)})}function _c(e,t){return new e({type:"number",checks:[],...L(t)})}function bc(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...L(t)})}function vc(e,t){return new e({type:"boolean",...L(t)})}function wc(e,t){return new e({type:"null",...L(t)})}function kc(e){return new e({type:"unknown"})}function xc(e,t){return new e({type:"never",...L(t)})}function ss(e,t){return new aa({check:"less_than",...L(t),value:e,inclusive:!1})}function Dr(e,t){return new aa({check:"less_than",...L(t),value:e,inclusive:!0})}function is(e,t){return new ca({check:"greater_than",...L(t),value:e,inclusive:!1})}function Zr(e,t){return new ca({check:"greater_than",...L(t),value:e,inclusive:!0})}function as(e,t){return new Np({check:"multiple_of",...L(t),value:e})}function cs(e,t){return new Dp({check:"max_length",...L(t),maximum:e})}function Xn(e,t){return new Zp({check:"min_length",...L(t),minimum:e})}function us(e,t){return new Up({check:"length_equals",...L(t),length:e})}function Sc(e,t){return new qp({check:"string_format",format:"regex",...L(t),pattern:e})}function $c(e){return new Jp({check:"string_format",format:"lowercase",...L(e)})}function zc(e){return new Fp({check:"string_format",format:"uppercase",...L(e)})}function Pc(e,t){return new Vp({check:"string_format",format:"includes",...L(t),includes:e})}function Tc(e,t){return new Bp({check:"string_format",format:"starts_with",...L(t),prefix:e})}function Rc(e,t){return new Hp({check:"string_format",format:"ends_with",...L(t),suffix:e})}function zn(e){return new Wp({check:"overwrite",tx:e})}function jc(e){return zn(t=>t.normalize(e))}function Oc(){return zn(e=>e.trim())}function Ic(){return zn(e=>e.toLowerCase())}function Ec(){return zn(e=>e.toUpperCase())}function ym(e,t,n){return new e({type:"array",element:t,...L(n)})}function Cc(e,t,n){let r=L(n);return r.abort??(r.abort=!0),new e({type:"custom",check:"custom",fn:t,...r})}function Ac(e,t,n){return new e({type:"custom",check:"custom",fn:t,...L(n)})}var ds=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,n={path:[],schemaPath:[]}){var r;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++,n.schemaPath.includes(t)&&(i.cycle=n.path),i.schema;let a={schema:{},count:1,cycle:void 0,path:n.path};this.seen.set(t,a);let c=t._zod.toJSONSchema?.();if(c)a.schema=c;else{let l={...n,schemaPath:[...n.schemaPath,t],path:n.path},m=t._zod.parent;if(m)a.ref=m,this.process(m,l),this.seen.get(m).isParent=!0;else{let f=a.schema;switch(o.type){case"string":{let h=f;h.type="string";let{minimum:g,maximum:y,format:v,patterns:w,contentEncoding:k}=t._zod.bag;if(typeof g=="number"&&(h.minLength=g),typeof y=="number"&&(h.maxLength=y),v&&(h.format=s[v]??v,h.format===""&&delete h.format),k&&(h.contentEncoding=k),w&&w.size>0){let j=[...w];j.length===1?h.pattern=j[0].source:j.length>1&&(a.schema.allOf=[...j.map(M=>({...this.target==="draft-7"?{type:"string"}:{},pattern:M.source}))])}break}case"number":{let h=f,{minimum:g,maximum:y,format:v,multipleOf:w,exclusiveMaximum:k,exclusiveMinimum:j}=t._zod.bag;typeof v=="string"&&v.includes("int")?h.type="integer":h.type="number",typeof j=="number"&&(h.exclusiveMinimum=j),typeof g=="number"&&(h.minimum=g,typeof j=="number"&&(j>=g?delete h.minimum:delete h.exclusiveMinimum)),typeof k=="number"&&(h.exclusiveMaximum=k),typeof y=="number"&&(h.maximum=y,typeof k=="number"&&(k<=y?delete h.maximum:delete h.exclusiveMaximum)),typeof w=="number"&&(h.multipleOf=w);break}case"boolean":{let h=f;h.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema");break}case"null":{f.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema");break}case"never":{f.not={};break}case"date":{if(this.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema");break}case"array":{let h=f,{minimum:g,maximum:y}=t._zod.bag;typeof g=="number"&&(h.minItems=g),typeof y=="number"&&(h.maxItems=y),h.type="array",h.items=this.process(o.element,{...l,path:[...l.path,"items"]});break}case"object":{let h=f;h.type="object",h.properties={};let g=o.shape;for(let w in g)h.properties[w]=this.process(g[w],{...l,path:[...l.path,"properties",w]});let y=new Set(Object.keys(g)),v=new Set([...y].filter(w=>{let k=o.shape[w]._zod;return this.io==="input"?k.optin===void 0:k.optout===void 0}));v.size>0&&(h.required=Array.from(v)),o.catchall?._zod.def.type==="never"?h.additionalProperties=!1:o.catchall?o.catchall&&(h.additionalProperties=this.process(o.catchall,{...l,path:[...l.path,"additionalProperties"]})):this.io==="output"&&(h.additionalProperties=!1);break}case"union":{let h=f;h.anyOf=o.options.map((g,y)=>this.process(g,{...l,path:[...l.path,"anyOf",y]}));break}case"intersection":{let h=f,g=this.process(o.left,{...l,path:[...l.path,"allOf",0]}),y=this.process(o.right,{...l,path:[...l.path,"allOf",1]}),v=k=>"allOf"in k&&Object.keys(k).length===1,w=[...v(g)?g.allOf:[g],...v(y)?y.allOf:[y]];h.allOf=w;break}case"tuple":{let h=f;h.type="array";let g=o.items.map((w,k)=>this.process(w,{...l,path:[...l.path,"prefixItems",k]}));if(this.target==="draft-2020-12"?h.prefixItems=g:h.items=g,o.rest){let w=this.process(o.rest,{...l,path:[...l.path,"items"]});this.target==="draft-2020-12"?h.items=w:h.additionalItems=w}o.rest&&(h.items=this.process(o.rest,{...l,path:[...l.path,"items"]}));let{minimum:y,maximum:v}=t._zod.bag;typeof y=="number"&&(h.minItems=y),typeof v=="number"&&(h.maxItems=v);break}case"record":{let h=f;h.type="object",h.propertyNames=this.process(o.keyType,{...l,path:[...l.path,"propertyNames"]}),h.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 h=f,g=jr(o.entries);g.every(y=>typeof y=="number")&&(h.type="number"),g.every(y=>typeof y=="string")&&(h.type="string"),h.enum=g;break}case"literal":{let h=f,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];h.type=y===null?"null":typeof y,h.const=y}else g.every(y=>typeof y=="number")&&(h.type="number"),g.every(y=>typeof y=="string")&&(h.type="string"),g.every(y=>typeof y=="boolean")&&(h.type="string"),g.every(y=>y===null)&&(h.type="null"),h.enum=g;break}case"file":{let h=f,g={type:"string",format:"binary",contentEncoding:"binary"},{minimum:y,maximum:v,mime:w}=t._zod.bag;y!==void 0&&(g.minLength=y),v!==void 0&&(g.maxLength=v),w?w.length===1?(g.contentMediaType=w[0],Object.assign(h,g)):h.anyOf=w.map(k=>({...g,contentMediaType:k})):Object.assign(h,g);break}case"transform":{if(this.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let h=this.process(o.innerType,l);f.anyOf=[h,{type:"null"}];break}case"nonoptional":{this.process(o.innerType,l),a.ref=o.innerType;break}case"success":{let h=f;h.type="boolean";break}case"default":{this.process(o.innerType,l),a.ref=o.innerType,f.default=JSON.parse(JSON.stringify(o.defaultValue));break}case"prefault":{this.process(o.innerType,l),a.ref=o.innerType,this.io==="input"&&(f._prefault=JSON.parse(JSON.stringify(o.defaultValue)));break}case"catch":{this.process(o.innerType,l),a.ref=o.innerType;let h;try{h=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}f.default=h;break}case"nan":{if(this.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let h=f,g=t._zod.pattern;if(!g)throw new Error("Pattern not found in template literal");h.type="string",h.pattern=g.source;break}case"pipe":{let h=this.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;this.process(h,l),a.ref=h;break}case"readonly":{this.process(o.innerType,l),a.ref=o.innerType,f.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 h=t._zod.innerType;this.process(h,l),a.ref=h;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"&&be(t)&&(delete a.schema.examples,delete a.schema.default),this.io==="input"&&a.schema._prefault&&((r=a.schema).default??(r.default=a.schema._prefault)),delete a.schema._prefault,this.seen.get(t).schema}emit(t,n){let r={cycles:n?.cycles??"ref",reused:n?.reused??"inline",external:n?.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(r.external){let g=r.external.registry.get(d[0])?.id,y=r.external.uri??(w=>w);if(g)return{ref:y(g)};let v=d[1].defId??d[1].schema.id??`schema${this.counter++}`;return d[1].defId=v,{defId:v,ref:`${y("__shared")}#/${l}/${v}`}}if(d[1]===o)return{ref:"#"};let f=`#/${l}/`,h=d[1].schema.id??`__schema${this.counter++}`;return{defId:h,ref:f+h}},i=d=>{if(d[1].schema.$ref)return;let l=d[1],{ref:m,defId:f}=s(d);l.def={...l.schema},f&&(l.defId=f);let h=l.schema;for(let g in h)delete h[g];h.$ref=m};if(r.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>
35
+ })));`),p.write(`newResult[${kn(w)}] = ${k}.value`)}p.write("payload.value = newResult;"),p.write("return payload;");let v=p.compile();return(w,k)=>v(l,w,k)},o,s=Qn,i=!Ho.jitless,c=i&&Bi.value,u=t.catchall,d;e._zod.parse=(l,p)=>{d??(d=n.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=r(t.shape)),l=o(l,p);else{l.value={};let k=d.shape;for(let j of d.keys){let M=k[j],Ee=M._zod.run({value:h[j],issues:[]},p),Ge=M._zod.optin==="optional"&&M._zod.optout==="optional";Ee instanceof Promise?f.push(Ee.then(qn=>Ge?Xp(qn,l,j,h):es(qn,l,j))):Ge?Xp(Ee,l,j,h):es(Ee,l,j)}}if(!u)return f.length?Promise.all(f).then(()=>l):l;let g=[],y=d.keySet,v=u._zod,w=v.def.type;for(let k of Object.keys(h)){if(y.has(k))continue;if(w==="never"){g.push(k);continue}let j=v.run({value:h[k],issues:[]},p);j instanceof Promise?f.push(j.then(M=>es(M,l,k))):es(j,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 em(e,t,n,r){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:n,errors:e.map(o=>o.issues.map(s=>ct(s,r,He())))}),t}var rs=b("$ZodUnion",(e,t)=>{re.init(e,t),ie(e._zod,"optin",()=>t.options.some(n=>n._zod.optin==="optional")?"optional":void 0),ie(e._zod,"optout",()=>t.options.some(n=>n._zod.optout==="optional")?"optional":void 0),ie(e._zod,"values",()=>{if(t.options.every(n=>n._zod.values))return new Set(t.options.flatMap(n=>Array.from(n._zod.values)))}),ie(e._zod,"pattern",()=>{if(t.options.every(n=>n._zod.pattern)){let n=t.options.map(r=>r._zod.pattern);return new RegExp(`^(${n.map(r=>Er(r.source)).join("|")})$`)}}),e._zod.parse=(n,r)=>{let o=!1,s=[];for(let i of t.options){let a=i._zod.run({value:n.value,issues:[]},r);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=>em(i,n,e,r)):em(s,n,e,r)}}),Aa=b("$ZodDiscriminatedUnion",(e,t)=>{rs.init(e,t);let n=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 r=Or(()=>{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(!Qn(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:e}),o;let a=r.value.get(i?.[t.discriminator]);return a?a._zod.run(o,s):t.unionFallback?n(o,s):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:i,path:[t.discriminator],inst:e}),o)}}),Ma=b("$ZodIntersection",(e,t)=>{re.init(e,t),e._zod.parse=(n,r)=>{let o=n.value,s=t.left._zod.run({value:o,issues:[]},r),i=t.right._zod.run({value:o,issues:[]},r);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([c,u])=>tm(n,c,u)):tm(n,s,i)}});function ua(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(Yn(e)&&Yn(t)){let n=Object.keys(t),r=Object.keys(e).filter(s=>n.indexOf(s)!==-1),o={...e,...t};for(let s of r){let i=ua(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 n=[];for(let r=0;r<e.length;r++){let o=e[r],s=t[r],i=ua(o,s);if(!i.valid)return{valid:!1,mergeErrorPath:[r,...i.mergeErrorPath]};n.push(i.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function tm(e,t,n){if(t.issues.length&&e.issues.push(...t.issues),n.issues.length&&e.issues.push(...n.issues),xn(e))return e;let r=ua(t.value,n.value);if(!r.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(r.mergeErrorPath)}`);return e.value=r.data,e}var Na=b("$ZodRecord",(e,t)=>{re.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!Yn(o))return n.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),n;let s=[];if(t.keyType._zod.values){let i=t.keyType._zod.values;n.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:[]},r);u instanceof Promise?s.push(u.then(d=>{d.issues.length&&n.issues.push(...vt(c,d.issues)),n.value[c]=d.value})):(u.issues.length&&n.issues.push(...vt(c,u.issues)),n.value[c]=u.value)}let a;for(let c in o)i.has(c)||(a=a??[],a.push(c));a&&a.length>0&&n.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:a})}else{n.value={};for(let i of Reflect.ownKeys(o)){if(i==="__proto__")continue;let a=t.keyType._zod.run({value:i,issues:[]},r);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){n.issues.push({origin:"record",code:"invalid_key",issues:a.issues.map(u=>ct(u,r,He())),input:i,path:[i],inst:e}),n.value[a.value]=a.value;continue}let c=t.valueType._zod.run({value:o[i],issues:[]},r);c instanceof Promise?s.push(c.then(u=>{u.issues.length&&n.issues.push(...vt(i,u.issues)),n.value[a.value]=u.value})):(c.issues.length&&n.issues.push(...vt(i,c.issues)),n.value[a.value]=c.value)}}return s.length?Promise.all(s).then(()=>n):n}});var La=b("$ZodEnum",(e,t)=>{re.init(e,t);let n=jr(t.entries);e._zod.values=new Set(n),e._zod.pattern=new RegExp(`^(${n.filter(r=>Hi.has(typeof r)).map(r=>typeof r=="string"?Jt(r):r.toString()).join("|")})$`),e._zod.parse=(r,o)=>{let s=r.value;return e._zod.values.has(s)||r.issues.push({code:"invalid_value",values:n,input:s,inst:e}),r}}),Da=b("$ZodLiteral",(e,t)=>{re.init(e,t),e._zod.values=new Set(t.values),e._zod.pattern=new RegExp(`^(${t.values.map(n=>typeof n=="string"?Jt(n):n?n.toString():String(n)).join("|")})$`),e._zod.parse=(n,r)=>{let o=n.value;return e._zod.values.has(o)||n.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),n}});var Za=b("$ZodTransform",(e,t)=>{re.init(e,t),e._zod.parse=(n,r)=>{let o=t.transform(n.value,n);if(r.async)return(o instanceof Promise?o:Promise.resolve(o)).then(i=>(n.value=i,n));if(o instanceof Promise)throw new It;return n.value=o,n}}),Ua=b("$ZodOptional",(e,t)=>{re.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 n=t.innerType._zod.pattern;return n?new RegExp(`^(${Er(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>t.innerType._zod.optin==="optional"?t.innerType._zod.run(n,r):n.value===void 0?n:t.innerType._zod.run(n,r)}),qa=b("$ZodNullable",(e,t)=>{re.init(e,t),ie(e._zod,"optin",()=>t.innerType._zod.optin),ie(e._zod,"optout",()=>t.innerType._zod.optout),ie(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${Er(n.source)}|null)$`):void 0}),ie(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>n.value===null?n:t.innerType._zod.run(n,r)}),Ja=b("$ZodDefault",(e,t)=>{re.init(e,t),e._zod.optin="optional",ie(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(n.value===void 0)return n.value=t.defaultValue,n;let o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(s=>nm(s,t)):nm(o,t)}});function nm(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Fa=b("$ZodPrefault",(e,t)=>{re.init(e,t),e._zod.optin="optional",ie(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>(n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,r))}),Va=b("$ZodNonOptional",(e,t)=>{re.init(e,t),ie(e._zod,"values",()=>{let n=t.innerType._zod.values;return n?new Set([...n].filter(r=>r!==void 0)):void 0}),e._zod.parse=(n,r)=>{let o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(s=>rm(s,e)):rm(o,e)}});function rm(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 Ba=b("$ZodCatch",(e,t)=>{re.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=(n,r)=>{let o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(s=>(n.value=s.value,s.issues.length&&(n.value=t.catchValue({...n,error:{issues:s.issues.map(i=>ct(i,r,He()))},input:n.value}),n.issues=[]),n)):(n.value=o.value,o.issues.length&&(n.value=t.catchValue({...n,error:{issues:o.issues.map(s=>ct(s,r,He()))},input:n.value}),n.issues=[]),n)}});var Ha=b("$ZodPipe",(e,t)=>{re.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=(n,r)=>{let o=t.in._zod.run(n,r);return o instanceof Promise?o.then(s=>om(s,t,r)):om(o,t,r)}});function om(e,t,n){return xn(e)?e:t.out._zod.run({value:e.value,issues:e.issues},n)}var Wa=b("$ZodReadonly",(e,t)=>{re.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=(n,r)=>{let o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(sm):sm(o)}});function sm(e){return e.value=Object.freeze(e.value),e}var Ka=b("$ZodCustom",(e,t)=>{xe.init(e,t),re.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=n=>{let r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then(s=>im(s,n,r,e));im(o,n,r,e)}});function im(e,t,n,r){if(!e){let o={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(o.params=r._zod.def.params),t.issues.push(Gi(o))}}var sw=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},iw=()=>{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(r){return e[r]??null}let n={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 r=>{switch(r.code){case"invalid_type":return`Invalid input: expected ${r.expected}, received ${sw(r.input)}`;case"invalid_value":return r.values.length===1?`Invalid input: expected ${Go(r.values[0])}`:`Invalid option: expected one of ${Wo(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);return s?`Too big: expected ${r.origin??"value"} to have ${o}${r.maximum.toString()} ${s.unit??"elements"}`:`Too big: expected ${r.origin??"value"} to be ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);return s?`Too small: expected ${r.origin} to have ${o}${r.minimum.toString()} ${s.unit}`:`Too small: expected ${r.origin} to be ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;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 ${n[o.format]??r.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${r.divisor}`;case"unrecognized_keys":return`Unrecognized key${r.keys.length>1?"s":""}: ${Wo(r.keys,", ")}`;case"invalid_key":return`Invalid key in ${r.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${r.origin}`;default:return"Invalid input"}}};function pm(){return{localeError:iw()}}var Lr=class{constructor(){this._map=new Map,this._idmap=new Map}add(t,...n){let r=n[0];if(this._map.set(t,r),r&&typeof r=="object"&&"id"in r){if(this._idmap.has(r.id))throw new Error(`ID ${r.id} already exists in the registry`);this._idmap.set(r.id,t)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(t){let n=this._map.get(t);return n&&typeof n=="object"&&"id"in n&&this._idmap.delete(n.id),this._map.delete(t),this}get(t){let n=t._zod.parent;if(n){let r={...this.get(n)??{}};return delete r.id,{...r,...this._map.get(t)}}return this._map.get(t)}has(t){return this._map.has(t)}};function mm(){return new Lr}var Ft=mm();function Ga(e,t){return new e({type:"string",...L(t)})}function Qa(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...L(t)})}function os(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...L(t)})}function Ya(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...L(t)})}function Xa(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...L(t)})}function ec(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...L(t)})}function tc(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...L(t)})}function nc(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...L(t)})}function rc(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...L(t)})}function oc(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...L(t)})}function sc(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...L(t)})}function ic(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...L(t)})}function ac(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...L(t)})}function cc(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...L(t)})}function uc(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...L(t)})}function dc(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...L(t)})}function lc(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...L(t)})}function pc(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...L(t)})}function mc(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...L(t)})}function fc(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...L(t)})}function hc(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...L(t)})}function gc(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...L(t)})}function yc(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...L(t)})}function fm(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...L(t)})}function hm(e,t){return new e({type:"string",format:"date",check:"string_format",...L(t)})}function gm(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...L(t)})}function ym(e,t){return new e({type:"string",format:"duration",check:"string_format",...L(t)})}function _c(e,t){return new e({type:"number",checks:[],...L(t)})}function bc(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...L(t)})}function vc(e,t){return new e({type:"boolean",...L(t)})}function wc(e,t){return new e({type:"null",...L(t)})}function kc(e){return new e({type:"unknown"})}function xc(e,t){return new e({type:"never",...L(t)})}function ss(e,t){return new aa({check:"less_than",...L(t),value:e,inclusive:!1})}function Dr(e,t){return new aa({check:"less_than",...L(t),value:e,inclusive:!0})}function is(e,t){return new ca({check:"greater_than",...L(t),value:e,inclusive:!1})}function Zr(e,t){return new ca({check:"greater_than",...L(t),value:e,inclusive:!0})}function as(e,t){return new Lp({check:"multiple_of",...L(t),value:e})}function cs(e,t){return new Zp({check:"max_length",...L(t),maximum:e})}function Xn(e,t){return new Up({check:"min_length",...L(t),minimum:e})}function us(e,t){return new qp({check:"length_equals",...L(t),length:e})}function Sc(e,t){return new Jp({check:"string_format",format:"regex",...L(t),pattern:e})}function $c(e){return new Fp({check:"string_format",format:"lowercase",...L(e)})}function zc(e){return new Vp({check:"string_format",format:"uppercase",...L(e)})}function Pc(e,t){return new Bp({check:"string_format",format:"includes",...L(t),includes:e})}function Tc(e,t){return new Hp({check:"string_format",format:"starts_with",...L(t),prefix:e})}function Rc(e,t){return new Wp({check:"string_format",format:"ends_with",...L(t),suffix:e})}function zn(e){return new Kp({check:"overwrite",tx:e})}function jc(e){return zn(t=>t.normalize(e))}function Oc(){return zn(e=>e.trim())}function Ic(){return zn(e=>e.toLowerCase())}function Ec(){return zn(e=>e.toUpperCase())}function _m(e,t,n){return new e({type:"array",element:t,...L(n)})}function Cc(e,t,n){let r=L(n);return r.abort??(r.abort=!0),new e({type:"custom",check:"custom",fn:t,...r})}function Ac(e,t,n){return new e({type:"custom",check:"custom",fn:t,...L(n)})}var ds=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,n={path:[],schemaPath:[]}){var r;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++,n.schemaPath.includes(t)&&(i.cycle=n.path),i.schema;let a={schema:{},count:1,cycle:void 0,path:n.path};this.seen.set(t,a);let c=t._zod.toJSONSchema?.();if(c)a.schema=c;else{let l={...n,schemaPath:[...n.schemaPath,t],path:n.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:v,patterns:w,contentEncoding:k}=t._zod.bag;if(typeof g=="number"&&(f.minLength=g),typeof y=="number"&&(f.maxLength=y),v&&(f.format=s[v]??v,f.format===""&&delete f.format),k&&(f.contentEncoding=k),w&&w.size>0){let j=[...w];j.length===1?f.pattern=j[0].source:j.length>1&&(a.schema.allOf=[...j.map(M=>({...this.target==="draft-7"?{type:"string"}:{},pattern:M.source}))])}break}case"number":{let f=h,{minimum:g,maximum:y,format:v,multipleOf:w,exclusiveMaximum:k,exclusiveMinimum:j}=t._zod.bag;typeof v=="string"&&v.includes("int")?f.type="integer":f.type="number",typeof j=="number"&&(f.exclusiveMinimum=j),typeof g=="number"&&(f.minimum=g,typeof j=="number"&&(j>=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)),v=new Set([...y].filter(w=>{let k=o.shape[w]._zod;return this.io==="input"?k.optin===void 0:k.optout===void 0}));v.size>0&&(f.required=Array.from(v)),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]}),v=k=>"allOf"in k&&Object.keys(k).length===1,w=[...v(g)?g.allOf:[g],...v(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:v}=t._zod.bag;typeof y=="number"&&(f.minItems=y),typeof v=="number"&&(f.maxItems=v);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=jr(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:v,mime:w}=t._zod.bag;y!==void 0&&(g.minLength=y),v!==void 0&&(g.maxLength=v),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"&&be(t)&&(delete a.schema.examples,delete a.schema.default),this.io==="input"&&a.schema._prefault&&((r=a.schema).default??(r.default=a.schema._prefault)),delete a.schema._prefault,this.seen.get(t).schema}emit(t,n){let r={cycles:n?.cycles??"ref",reused:n?.reused??"inline",external:n?.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(r.external){let g=r.external.registry.get(d[0])?.id,y=r.external.uri??(w=>w);if(g)return{ref:y(g)};let v=d[1].defId??d[1].schema.id??`schema${this.counter++}`;return d[1].defId=v,{defId:v,ref:`${y("__shared")}#/${l}/${v}`}}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(r.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(r.external){let f=r.external.registry.get(d[0])?.id;if(t!==d[0]&&f){i(d);continue}}if(this.metadataRegistry.get(d[0])?.id){i(d);continue}if(l.cycle){i(d);continue}if(l.count>1&&r.reused==="ref"){i(d);continue}}let a=(d,l)=>{let m=this.seen.get(d),f=m.def??m.schema,h={...f};if(m.ref===null)return;let g=m.ref;if(m.ref=null,g){a(g,l);let y=this.seen.get(g).schema;y.$ref&&l.target==="draft-7"?(f.allOf=f.allOf??[],f.allOf.push(y)):(Object.assign(f,y),Object.assign(f,h))}m.isParent||this.override({zodSchema:d,jsonSchema:f,path:m.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}`),r.external?.uri){let d=r.external.registry.get(t)?.id;if(!d)throw new Error("Schema is missing an `id` property");c.$id=r.external.uri(d)}Object.assign(c,o.def);let u=r.external?.defs??{};for(let d of this.seen.entries()){let l=d[1];l.def&&l.defId&&(u[l.defId]=l.def)}r.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 Mc(e,t){if(e instanceof Lr){let r=new ds(t),o={};for(let a of e._idmap.entries()){let[c,u]=a;r.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]=r.emit(u,{...t,external:i})}if(Object.keys(o).length>0){let a=r.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[a]:o}}return{schemas:s}}let n=new ds(t);return n.process(e),n.emit(e,t)}function be(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.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 be(o.element,n);case"object":{for(let s in o.shape)if(be(o.shape[s],n))return!0;return!1}case"union":{for(let s of o.options)if(be(s,n))return!0;return!1}case"intersection":return be(o.left,n)||be(o.right,n);case"tuple":{for(let s of o.items)if(be(s,n))return!0;return!!(o.rest&&be(o.rest,n))}case"record":return be(o.keyType,n)||be(o.valueType,n);case"map":return be(o.keyType,n)||be(o.valueType,n);case"set":return be(o.valueType,n);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return be(o.innerType,n);case"lazy":return be(o.getter(),n);case"default":return be(o.innerType,n);case"prefault":return be(o.innerType,n);case"custom":return!1;case"transform":return!0;case"pipe":return be(o.in,n)||be(o.out,n);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${o.type}`)}var Zw=b("ZodMiniType",(e,t)=>{if(!e._zod)throw new Error("Uninitialized schema in ZodMiniType.");re.init(e,t),e.def=t,e.parse=(n,r)=>ea(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>Sn(e,n,r),e.parseAsync=async(n,r)=>na(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>$n(e,n,r),e.check=(...n)=>e.clone({...t,checks:[...t.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),e.clone=(n,r)=>We(e,n,r),e.brand=()=>e,e.register=((n,r)=>(n.add(e,r),e))});var Uw=b("ZodMiniObject",(e,t)=>{ns.init(e,t),Zw.init(e,t),W.defineLazy(e,"shape",()=>t.shape)});function Nc(e,t){let n={type:"object",get shape(){return W.assignProp(this,"shape",{...e}),this.shape},...W.normalizeParams(t)};return new Uw(n)}function Xe(e){return!!e._zod}function Tn(e){let t=Object.values(e);if(t.length===0)return Nc({});let n=t.every(Xe),r=t.every(o=>!Xe(o));if(n)return Nc(e);if(r)return Zi(e);throw new Error("Mixed Zod versions detected in object shape.")}function Vt(e,t){return Xe(e)?Sn(e,t):e.safeParse(t)}async function ls(e,t){return Xe(e)?await $n(e,t):await e.safeParseAsync(t)}function Bt(e){if(!e)return;let t;if(Xe(e)?t=e._zod?.def?.shape:t=e.shape,!!t){if(typeof t=="function")try{return t()}catch{return}return t}}function er(e){if(e){if(typeof e=="object"){let t=e,n=e;if(!t._def&&!n._zod){let r=Object.values(e);if(r.length>0&&r.every(o=>typeof o=="object"&&o!==null&&(o._def!==void 0||o._zod!==void 0||typeof o.parse=="function")))return Tn(e)}}if(Xe(e)){let n=e._zod?.def;if(n&&(n.type==="object"||n.shape!==void 0))return e}else if(e.shape!==void 0)return e}}function ps(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 bm(e){return e.description}function vm(e){if(Xe(e))return e._zod?.def?.type==="optional";let t=e;return typeof e.isOptional=="function"?e.isOptional():t._def?.typeName==="ZodOptional"}function ms(e){if(Xe(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 n=e._def;if(n){if(n.value!==void 0)return n.value;if(Array.isArray(n.values)&&n.values.length>0)return n.values[0]}let r=e.value;if(r!==void 0)return r}var Ur={};Mi(Ur,{ZodISODate:()=>km,ZodISODateTime:()=>wm,ZodISODuration:()=>Sm,ZodISOTime:()=>xm,date:()=>Dc,datetime:()=>Lc,duration:()=>Uc,time:()=>Zc});var wm=b("ZodISODateTime",(e,t)=>{im.init(e,t),pe.init(e,t)});function Lc(e){return mm(wm,e)}var km=b("ZodISODate",(e,t)=>{am.init(e,t),pe.init(e,t)});function Dc(e){return fm(km,e)}var xm=b("ZodISOTime",(e,t)=>{cm.init(e,t),pe.init(e,t)});function Zc(e){return hm(xm,e)}var Sm=b("ZodISODuration",(e,t)=>{um.init(e,t),pe.init(e,t)});function Uc(e){return gm(Sm,e)}var $m=(e,t)=>{Qo.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>Yi(e,n)},flatten:{value:n=>Qi(e,n)},addIssue:{value:n=>e.issues.push(n)},addIssues:{value:n=>e.issues.push(...n)},isEmpty:{get(){return e.issues.length===0}}})},vI=b("ZodError",$m),qr=b("ZodError",$m,{Parent:Error});var zm=Xi(qr),Pm=ta(qr),Tm=ra(qr),Rm=oa(qr);var ge=b("ZodType",(e,t)=>(re.init(e,t),e.def=t,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone({...t,checks:[...t.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),e.clone=(n,r)=>We(e,n,r),e.brand=()=>e,e.register=((n,r)=>(n.add(e,r),e)),e.parse=(n,r)=>zm(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>Tm(e,n,r),e.parseAsync=async(n,r)=>Pm(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>Rm(e,n,r),e.spa=e.safeParseAsync,e.refine=(n,r)=>e.check(Lk(n,r)),e.superRefine=n=>e.check(Dk(n)),e.overwrite=n=>e.check(zn(n)),e.optional=()=>fe(e),e.nullable=()=>Im(e),e.nullish=()=>fe(Im(e)),e.nonoptional=n=>Ok(e,n),e.array=()=>K(e),e.or=n=>ue([e,n]),e.and=n=>hs(e,n),e.transform=n=>Jc(e,Lm(n)),e.default=n=>Tk(e,n),e.prefault=n=>jk(e,n),e.catch=n=>Ek(e,n),e.pipe=n=>Jc(e,n),e.readonly=()=>Mk(e),e.describe=n=>{let r=e.clone();return Ft.add(r,{description:n}),r},Object.defineProperty(e,"description",{get(){return Ft.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return Ft.get(e);let r=e.clone();return Ft.add(r,n[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),Em=b("_ZodString",(e,t)=>{Nr.init(e,t),ge.init(e,t);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...r)=>e.check(Sc(...r)),e.includes=(...r)=>e.check(Pc(...r)),e.startsWith=(...r)=>e.check(Tc(...r)),e.endsWith=(...r)=>e.check(Rc(...r)),e.min=(...r)=>e.check(Xn(...r)),e.max=(...r)=>e.check(cs(...r)),e.length=(...r)=>e.check(us(...r)),e.nonempty=(...r)=>e.check(Xn(1,...r)),e.lowercase=r=>e.check($c(r)),e.uppercase=r=>e.check(zc(r)),e.trim=()=>e.check(Oc()),e.normalize=(...r)=>e.check(jc(...r)),e.toLowerCase=()=>e.check(Ic()),e.toUpperCase=()=>e.check(Ec())}),Gw=b("ZodString",(e,t)=>{Nr.init(e,t),Em.init(e,t),e.email=n=>e.check(Qa(Qw,n)),e.url=n=>e.check(nc(Yw,n)),e.jwt=n=>e.check(yc(mk,n)),e.emoji=n=>e.check(rc(Xw,n)),e.guid=n=>e.check(os(jm,n)),e.uuid=n=>e.check(Ya(fs,n)),e.uuidv4=n=>e.check(Xa(fs,n)),e.uuidv6=n=>e.check(ec(fs,n)),e.uuidv7=n=>e.check(tc(fs,n)),e.nanoid=n=>e.check(oc(ek,n)),e.guid=n=>e.check(os(jm,n)),e.cuid=n=>e.check(sc(tk,n)),e.cuid2=n=>e.check(ic(nk,n)),e.ulid=n=>e.check(ac(rk,n)),e.base64=n=>e.check(fc(dk,n)),e.base64url=n=>e.check(hc(lk,n)),e.xid=n=>e.check(cc(ok,n)),e.ksuid=n=>e.check(uc(sk,n)),e.ipv4=n=>e.check(dc(ik,n)),e.ipv6=n=>e.check(lc(ak,n)),e.cidrv4=n=>e.check(pc(ck,n)),e.cidrv6=n=>e.check(mc(uk,n)),e.e164=n=>e.check(gc(pk,n)),e.datetime=n=>e.check(Lc(n)),e.date=n=>e.check(Dc(n)),e.time=n=>e.check(Zc(n)),e.duration=n=>e.check(Uc(n))});function _(e){return Ga(Gw,e)}var pe=b("ZodStringFormat",(e,t)=>{ae.init(e,t),Em.init(e,t)}),Qw=b("ZodEmail",(e,t)=>{pa.init(e,t),pe.init(e,t)});var jm=b("ZodGUID",(e,t)=>{da.init(e,t),pe.init(e,t)});var fs=b("ZodUUID",(e,t)=>{la.init(e,t),pe.init(e,t)});var Yw=b("ZodURL",(e,t)=>{ma.init(e,t),pe.init(e,t)});var Xw=b("ZodEmoji",(e,t)=>{fa.init(e,t),pe.init(e,t)});var ek=b("ZodNanoID",(e,t)=>{ha.init(e,t),pe.init(e,t)});var tk=b("ZodCUID",(e,t)=>{ga.init(e,t),pe.init(e,t)});var nk=b("ZodCUID2",(e,t)=>{ya.init(e,t),pe.init(e,t)});var rk=b("ZodULID",(e,t)=>{_a.init(e,t),pe.init(e,t)});var ok=b("ZodXID",(e,t)=>{ba.init(e,t),pe.init(e,t)});var sk=b("ZodKSUID",(e,t)=>{va.init(e,t),pe.init(e,t)});var ik=b("ZodIPv4",(e,t)=>{wa.init(e,t),pe.init(e,t)});var ak=b("ZodIPv6",(e,t)=>{ka.init(e,t),pe.init(e,t)});var ck=b("ZodCIDRv4",(e,t)=>{xa.init(e,t),pe.init(e,t)});var uk=b("ZodCIDRv6",(e,t)=>{Sa.init(e,t),pe.init(e,t)});var dk=b("ZodBase64",(e,t)=>{$a.init(e,t),pe.init(e,t)});var lk=b("ZodBase64URL",(e,t)=>{za.init(e,t),pe.init(e,t)});var pk=b("ZodE164",(e,t)=>{Pa.init(e,t),pe.init(e,t)});var mk=b("ZodJWT",(e,t)=>{Ta.init(e,t),pe.init(e,t)});var Cm=b("ZodNumber",(e,t)=>{ts.init(e,t),ge.init(e,t),e.gt=(r,o)=>e.check(is(r,o)),e.gte=(r,o)=>e.check(Zr(r,o)),e.min=(r,o)=>e.check(Zr(r,o)),e.lt=(r,o)=>e.check(ss(r,o)),e.lte=(r,o)=>e.check(Dr(r,o)),e.max=(r,o)=>e.check(Dr(r,o)),e.int=r=>e.check(Om(r)),e.safe=r=>e.check(Om(r)),e.positive=r=>e.check(is(0,r)),e.nonnegative=r=>e.check(Zr(0,r)),e.negative=r=>e.check(ss(0,r)),e.nonpositive=r=>e.check(Dr(0,r)),e.multipleOf=(r,o)=>e.check(as(r,o)),e.step=(r,o)=>e.check(as(r,o)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function te(e){return _c(Cm,e)}var fk=b("ZodNumberFormat",(e,t)=>{Ra.init(e,t),Cm.init(e,t)});function Om(e){return bc(fk,e)}var hk=b("ZodBoolean",(e,t)=>{ja.init(e,t),ge.init(e,t)});function we(e){return vc(hk,e)}var gk=b("ZodNull",(e,t)=>{Oa.init(e,t),ge.init(e,t)});function Am(e){return wc(gk,e)}var yk=b("ZodUnknown",(e,t)=>{Ia.init(e,t),ge.init(e,t)});function me(){return kc(yk)}var _k=b("ZodNever",(e,t)=>{Ea.init(e,t),ge.init(e,t)});function bk(e){return xc(_k,e)}var vk=b("ZodArray",(e,t)=>{Ca.init(e,t),ge.init(e,t),e.element=t.element,e.min=(n,r)=>e.check(Xn(n,r)),e.nonempty=n=>e.check(Xn(1,n)),e.max=(n,r)=>e.check(cs(n,r)),e.length=(n,r)=>e.check(us(n,r)),e.unwrap=()=>e.element});function K(e,t){return ym(vk,e,t)}var Mm=b("ZodObject",(e,t)=>{ns.init(e,t),ge.init(e,t),W.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>Ue(Object.keys(e._zod.def.shape)),e.catchall=n=>e.clone({...e._zod.def,catchall:n}),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:bk()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=n=>W.extend(e,n),e.merge=n=>W.merge(e,n),e.pick=n=>W.pick(e,n),e.omit=n=>W.omit(e,n),e.partial=(...n)=>W.partial(Dm,e,n[0]),e.required=(...n)=>W.required(Zm,e,n[0])});function T(e,t){let n={type:"object",get shape(){return W.assignProp(this,"shape",{...e}),this.shape},...W.normalizeParams(t)};return new Mm(n)}function Ce(e,t){return new Mm({type:"object",get shape(){return W.assignProp(this,"shape",{...e}),this.shape},catchall:me(),...W.normalizeParams(t)})}var Nm=b("ZodUnion",(e,t)=>{rs.init(e,t),ge.init(e,t),e.options=t.options});function ue(e,t){return new Nm({type:"union",options:e,...W.normalizeParams(t)})}var wk=b("ZodDiscriminatedUnion",(e,t)=>{Nm.init(e,t),Aa.init(e,t)});function Fc(e,t,n){return new wk({type:"union",options:t,discriminator:e,...W.normalizeParams(n)})}var kk=b("ZodIntersection",(e,t)=>{Ma.init(e,t),ge.init(e,t)});function hs(e,t){return new kk({type:"intersection",left:e,right:t})}var xk=b("ZodRecord",(e,t)=>{Na.init(e,t),ge.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function ce(e,t,n){return new xk({type:"record",keyType:e,valueType:t,...W.normalizeParams(n)})}var qc=b("ZodEnum",(e,t)=>{La.init(e,t),ge.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(r,o)=>{let s={};for(let i of r)if(n.has(i))s[i]=t.entries[i];else throw new Error(`Key ${i} not found in enum`);return new qc({...t,checks:[],...W.normalizeParams(o),entries:s})},e.exclude=(r,o)=>{let s={...t.entries};for(let i of r)if(n.has(i))delete s[i];else throw new Error(`Key ${i} not found in enum`);return new qc({...t,checks:[],...W.normalizeParams(o),entries:s})}});function Ue(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new qc({type:"enum",entries:n,...W.normalizeParams(t)})}var Sk=b("ZodLiteral",(e,t)=>{Da.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 E(e,t){return new Sk({type:"literal",values:Array.isArray(e)?e:[e],...W.normalizeParams(t)})}var $k=b("ZodTransform",(e,t)=>{Za.init(e,t),ge.init(e,t),e._zod.parse=(n,r)=>{n.addIssue=s=>{if(typeof s=="string")n.issues.push(W.issue(s,n.value,t));else{let i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=n.value),i.inst??(i.inst=e),i.continue??(i.continue=!0),n.issues.push(W.issue(i))}};let o=t.transform(n.value,n);return o instanceof Promise?o.then(s=>(n.value=s,n)):(n.value=o,n)}});function Lm(e){return new $k({type:"transform",transform:e})}var Dm=b("ZodOptional",(e,t)=>{Ua.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType});function fe(e){return new Dm({type:"optional",innerType:e})}var zk=b("ZodNullable",(e,t)=>{qa.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Im(e){return new zk({type:"nullable",innerType:e})}var Pk=b("ZodDefault",(e,t)=>{Ja.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Tk(e,t){return new Pk({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var Rk=b("ZodPrefault",(e,t)=>{Fa.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType});function jk(e,t){return new Rk({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var Zm=b("ZodNonOptional",(e,t)=>{Va.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Ok(e,t){return new Zm({type:"nonoptional",innerType:e,...W.normalizeParams(t)})}var Ik=b("ZodCatch",(e,t)=>{Ba.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Ek(e,t){return new Ik({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var Ck=b("ZodPipe",(e,t)=>{Ha.init(e,t),ge.init(e,t),e.in=t.in,e.out=t.out});function Jc(e,t){return new Ck({type:"pipe",in:e,out:t})}var Ak=b("ZodReadonly",(e,t)=>{Wa.init(e,t),ge.init(e,t)});function Mk(e){return new Ak({type:"readonly",innerType:e})}var Um=b("ZodCustom",(e,t)=>{Ka.init(e,t),ge.init(e,t)});function Nk(e){let t=new xe({check:"custom"});return t._zod.check=e,t}function qm(e,t){return Cc(Um,e??(()=>!0),t)}function Lk(e,t={}){return Ac(Um,e,t)}function Dk(e){let t=Nk(n=>(n.addIssue=r=>{if(typeof r=="string")n.issues.push(W.issue(r,n.value,t._zod.def));else{let o=r;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=n.value),o.inst??(o.inst=t),o.continue??(o.continue=!t._zod.def.abort),n.issues.push(W.issue(o))}},e(n.value,n)));return t}function Vc(e,t){return Jc(Lm(e),t)}He(lm());var Hc="2025-11-25";var Jm=[Hc,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],Ht="io.modelcontextprotocol/related-task",ys="2.0",ve=qm(e=>e!==null&&(typeof e=="object"||typeof e=="function")),Fm=ue([_(),te().int()]),Vm=_(),CI=Ce({ttl:te().optional(),pollInterval:te().optional()}),Zk=T({ttl:te().optional()}),Uk=T({taskId:_()}),Wc=Ce({progressToken:Fm.optional(),[Ht]:Uk.optional()}),Ke=T({_meta:Wc.optional()}),Jr=Ke.extend({task:Zk.optional()}),Bm=e=>Jr.safeParse(e).success,Se=T({method:_(),params:Ke.loose().optional()}),et=T({_meta:Wc.optional()}),tt=T({method:_(),params:et.loose().optional()}),$e=Ce({_meta:Wc.optional()}),_s=ue([_(),te().int()]),Hm=T({jsonrpc:E(ys),id:_s,...Se.shape}).strict(),Kc=e=>Hm.safeParse(e).success,Wm=T({jsonrpc:E(ys),...tt.shape}).strict(),Km=e=>Wm.safeParse(e).success,Gc=T({jsonrpc:E(ys),id:_s,result:$e}).strict(),Fr=e=>Gc.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 Qc=T({jsonrpc:E(ys),id:_s.optional(),error:T({code:te().int(),message:_(),data:me().optional()})}).strict();var Gm=e=>Qc.safeParse(e).success;var Qm=ue([Hm,Wm,Gc,Qc]),AI=ue([Gc,Qc]),bs=$e.strict(),qk=et.extend({requestId:_s.optional(),reason:_().optional()}),vs=tt.extend({method:E("notifications/cancelled"),params:qk}),Jk=T({src:_(),mimeType:_().optional(),sizes:K(_()).optional(),theme:Ue(["light","dark"]).optional()}),Vr=T({icons:K(Jk).optional()}),tr=T({name:_(),title:_().optional()}),Ym=tr.extend({...tr.shape,...Vr.shape,version:_(),websiteUrl:_().optional(),description:_().optional()}),Fk=hs(T({applyDefaults:we().optional()}),ce(_(),me())),Vk=Vc(e=>e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,hs(T({form:Fk.optional(),url:ve.optional()}),ce(_(),me()).optional())),Bk=Ce({list:ve.optional(),cancel:ve.optional(),requests:Ce({sampling:Ce({createMessage:ve.optional()}).optional(),elicitation:Ce({create:ve.optional()}).optional()}).optional()}),Hk=Ce({list:ve.optional(),cancel:ve.optional(),requests:Ce({tools:Ce({call:ve.optional()}).optional()}).optional()}),Wk=T({experimental:ce(_(),ve).optional(),sampling:T({context:ve.optional(),tools:ve.optional()}).optional(),elicitation:Vk.optional(),roots:T({listChanged:we().optional()}).optional(),tasks:Bk.optional(),extensions:ce(_(),ve).optional()}),Kk=Ke.extend({protocolVersion:_(),capabilities:Wk,clientInfo:Ym}),Yc=Se.extend({method:E("initialize"),params:Kk});var Gk=T({experimental:ce(_(),ve).optional(),logging:ve.optional(),completions:ve.optional(),prompts:T({listChanged:we().optional()}).optional(),resources:T({subscribe:we().optional(),listChanged:we().optional()}).optional(),tools:T({listChanged:we().optional()}).optional(),tasks:Hk.optional(),extensions:ce(_(),ve).optional()}),Qk=$e.extend({protocolVersion:_(),capabilities:Gk,serverInfo:Ym,instructions:_().optional()}),Xc=tt.extend({method:E("notifications/initialized"),params:et.optional()});var ws=Se.extend({method:E("ping"),params:Ke.optional()}),Yk=T({progress:te(),total:fe(te()),message:fe(_())}),Xk=T({...et.shape,...Yk.shape,progressToken:Fm}),ks=tt.extend({method:E("notifications/progress"),params:Xk}),ex=Ke.extend({cursor:Vm.optional()}),Br=Se.extend({params:ex.optional()}),Hr=$e.extend({nextCursor:Vm.optional()}),tx=Ue(["working","input_required","completed","failed","cancelled"]),Wr=T({taskId:_(),status:tx,ttl:ue([te(),Am()]),createdAt:_(),lastUpdatedAt:_(),pollInterval:fe(te()),statusMessage:fe(_())}),nr=$e.extend({task:Wr}),nx=et.merge(Wr),Kr=tt.extend({method:E("notifications/tasks/status"),params:nx}),xs=Se.extend({method:E("tasks/get"),params:Ke.extend({taskId:_()})}),Ss=$e.merge(Wr),$s=Se.extend({method:E("tasks/result"),params:Ke.extend({taskId:_()})}),MI=$e.loose(),zs=Br.extend({method:E("tasks/list")}),Ps=Hr.extend({tasks:K(Wr)}),Ts=Se.extend({method:E("tasks/cancel"),params:Ke.extend({taskId:_()})}),Xm=$e.merge(Wr),ef=T({uri:_(),mimeType:fe(_()),_meta:ce(_(),me()).optional()}),tf=ef.extend({text:_()}),eu=_().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),nf=ef.extend({blob:eu}),Gr=Ue(["user","assistant"]),rr=T({audience:K(Gr).optional(),priority:te().min(0).max(1).optional(),lastModified:Ur.datetime({offset:!0}).optional()}),rf=T({...tr.shape,...Vr.shape,uri:_(),description:fe(_()),mimeType:fe(_()),size:fe(te()),annotations:rr.optional(),_meta:fe(Ce({}))}),rx=T({...tr.shape,...Vr.shape,uriTemplate:_(),description:fe(_()),mimeType:fe(_()),annotations:rr.optional(),_meta:fe(Ce({}))}),or=Br.extend({method:E("resources/list")}),ox=Hr.extend({resources:K(rf)}),sr=Br.extend({method:E("resources/templates/list")}),sx=Hr.extend({resourceTemplates:K(rx)}),tu=Ke.extend({uri:_()}),ix=tu,Rs=Se.extend({method:E("resources/read"),params:ix}),ax=$e.extend({contents:K(ue([tf,nf]))}),cx=tt.extend({method:E("notifications/resources/list_changed"),params:et.optional()}),ux=tu,dx=Se.extend({method:E("resources/subscribe"),params:ux}),lx=tu,px=Se.extend({method:E("resources/unsubscribe"),params:lx}),mx=et.extend({uri:_()}),fx=tt.extend({method:E("notifications/resources/updated"),params:mx}),hx=T({name:_(),description:fe(_()),required:fe(we())}),gx=T({...tr.shape,...Vr.shape,description:fe(_()),arguments:fe(K(hx)),_meta:fe(Ce({}))}),js=Br.extend({method:E("prompts/list")}),yx=Hr.extend({prompts:K(gx)}),_x=Ke.extend({name:_(),arguments:ce(_(),_()).optional()}),Os=Se.extend({method:E("prompts/get"),params:_x}),nu=T({type:E("text"),text:_(),annotations:rr.optional(),_meta:ce(_(),me()).optional()}),ru=T({type:E("image"),data:eu,mimeType:_(),annotations:rr.optional(),_meta:ce(_(),me()).optional()}),ou=T({type:E("audio"),data:eu,mimeType:_(),annotations:rr.optional(),_meta:ce(_(),me()).optional()}),bx=T({type:E("tool_use"),name:_(),id:_(),input:ce(_(),me()),_meta:ce(_(),me()).optional()}),vx=T({type:E("resource"),resource:ue([tf,nf]),annotations:rr.optional(),_meta:ce(_(),me()).optional()}),wx=rf.extend({type:E("resource_link")}),su=ue([nu,ru,ou,wx,vx]),kx=T({role:Gr,content:su}),xx=$e.extend({description:_().optional(),messages:K(kx)}),Sx=tt.extend({method:E("notifications/prompts/list_changed"),params:et.optional()}),$x=T({title:_().optional(),readOnlyHint:we().optional(),destructiveHint:we().optional(),idempotentHint:we().optional(),openWorldHint:we().optional()}),zx=T({taskSupport:Ue(["required","optional","forbidden"]).optional()}),of=T({...tr.shape,...Vr.shape,description:_().optional(),inputSchema:T({type:E("object"),properties:ce(_(),ve).optional(),required:K(_()).optional()}).catchall(me()),outputSchema:T({type:E("object"),properties:ce(_(),ve).optional(),required:K(_()).optional()}).catchall(me()).optional(),annotations:$x.optional(),execution:zx.optional(),_meta:ce(_(),me()).optional()}),Is=Br.extend({method:E("tools/list")}),Px=Hr.extend({tools:K(of)}),Es=$e.extend({content:K(su).default([]),structuredContent:ce(_(),me()).optional(),isError:we().optional()}),NI=Es.or($e.extend({toolResult:me()})),Tx=Jr.extend({name:_(),arguments:ce(_(),me()).optional()}),ir=Se.extend({method:E("tools/call"),params:Tx}),Rx=tt.extend({method:E("notifications/tools/list_changed"),params:et.optional()}),LI=T({autoRefresh:we().default(!0),debounceMs:te().int().nonnegative().default(300)}),Qr=Ue(["debug","info","notice","warning","error","critical","alert","emergency"]),jx=Ke.extend({level:Qr}),iu=Se.extend({method:E("logging/setLevel"),params:jx}),Ox=et.extend({level:Qr,logger:_().optional(),data:me()}),Ix=tt.extend({method:E("notifications/message"),params:Ox}),Ex=T({name:_().optional()}),Cx=T({hints:K(Ex).optional(),costPriority:te().min(0).max(1).optional(),speedPriority:te().min(0).max(1).optional(),intelligencePriority:te().min(0).max(1).optional()}),Ax=T({mode:Ue(["auto","required","none"]).optional()}),Mx=T({type:E("tool_result"),toolUseId:_().describe("The unique identifier for the corresponding tool call."),content:K(su).default([]),structuredContent:T({}).loose().optional(),isError:we().optional(),_meta:ce(_(),me()).optional()}),Nx=Fc("type",[nu,ru,ou]),gs=Fc("type",[nu,ru,ou,bx,Mx]),Lx=T({role:Gr,content:ue([gs,K(gs)]),_meta:ce(_(),me()).optional()}),Dx=Jr.extend({messages:K(Lx),modelPreferences:Cx.optional(),systemPrompt:_().optional(),includeContext:Ue(["none","thisServer","allServers"]).optional(),temperature:te().optional(),maxTokens:te().int(),stopSequences:K(_()).optional(),metadata:ve.optional(),tools:K(of).optional(),toolChoice:Ax.optional()}),Zx=Se.extend({method:E("sampling/createMessage"),params:Dx}),Yr=$e.extend({model:_(),stopReason:fe(Ue(["endTurn","stopSequence","maxTokens"]).or(_())),role:Gr,content:Nx}),au=$e.extend({model:_(),stopReason:fe(Ue(["endTurn","stopSequence","maxTokens","toolUse"]).or(_())),role:Gr,content:ue([gs,K(gs)])}),Ux=T({type:E("boolean"),title:_().optional(),description:_().optional(),default:we().optional()}),qx=T({type:E("string"),title:_().optional(),description:_().optional(),minLength:te().optional(),maxLength:te().optional(),format:Ue(["email","uri","date","date-time"]).optional(),default:_().optional()}),Jx=T({type:Ue(["number","integer"]),title:_().optional(),description:_().optional(),minimum:te().optional(),maximum:te().optional(),default:te().optional()}),Fx=T({type:E("string"),title:_().optional(),description:_().optional(),enum:K(_()),default:_().optional()}),Vx=T({type:E("string"),title:_().optional(),description:_().optional(),oneOf:K(T({const:_(),title:_()})),default:_().optional()}),Bx=T({type:E("string"),title:_().optional(),description:_().optional(),enum:K(_()),enumNames:K(_()).optional(),default:_().optional()}),Hx=ue([Fx,Vx]),Wx=T({type:E("array"),title:_().optional(),description:_().optional(),minItems:te().optional(),maxItems:te().optional(),items:T({type:E("string"),enum:K(_())}),default:K(_()).optional()}),Kx=T({type:E("array"),title:_().optional(),description:_().optional(),minItems:te().optional(),maxItems:te().optional(),items:T({anyOf:K(T({const:_(),title:_()}))}),default:K(_()).optional()}),Gx=ue([Wx,Kx]),Qx=ue([Bx,Hx,Gx]),Yx=ue([Qx,Ux,qx,Jx]),Xx=Jr.extend({mode:E("form").optional(),message:_(),requestedSchema:T({type:E("object"),properties:ce(_(),Yx),required:K(_()).optional()})}),e0=Jr.extend({mode:E("url"),message:_(),elicitationId:_(),url:_().url()}),t0=ue([Xx,e0]),n0=Se.extend({method:E("elicitation/create"),params:t0}),r0=et.extend({elicitationId:_()}),o0=tt.extend({method:E("notifications/elicitation/complete"),params:r0}),ar=$e.extend({action:Ue(["accept","decline","cancel"]),content:Vc(e=>e===null?void 0:e,ce(_(),ue([_(),te(),we(),K(_())])).optional())}),s0=T({type:E("ref/resource"),uri:_()});var i0=T({type:E("ref/prompt"),name:_()}),a0=Ke.extend({ref:ue([i0,s0]),argument:T({name:_(),value:_()}),context:T({arguments:ce(_(),_()).optional()}).optional()}),Cs=Se.extend({method:E("completion/complete"),params:a0});function sf(e){if(e.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${e.params.ref.type}`)}function af(e){if(e.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${e.params.ref.type}`)}var c0=$e.extend({completion:Ce({values:K(_()).max(100),total:fe(te().int()),hasMore:fe(we())})}),u0=T({uri:_().startsWith("file://"),name:_().optional(),_meta:ce(_(),me()).optional()}),d0=Se.extend({method:E("roots/list"),params:Ke.optional()}),cu=$e.extend({roots:K(u0)}),l0=tt.extend({method:E("notifications/roots/list_changed"),params:et.optional()}),DI=ue([ws,Yc,Cs,iu,Os,js,or,sr,Rs,dx,px,ir,Is,xs,$s,zs,Ts]),ZI=ue([vs,ks,Xc,l0,Kr]),UI=ue([bs,Yr,au,ar,cu,Ss,Ps,nr]),qI=ue([ws,Zx,n0,d0,xs,$s,zs,Ts]),JI=ue([vs,ks,Ix,fx,cx,Rx,Sx,Kr,o0]),FI=ue([bs,Qk,c0,xx,yx,ox,sx,ax,Es,Px,Ss,Ps,nr]),I=class e extends Error{constructor(t,n,r){super(`MCP error ${t}: ${n}`),this.code=t,this.data=r,this.name="McpError"}static fromError(t,n,r){if(t===A.UrlElicitationRequired&&r){let o=r;if(o.elicitations)return new Bc(o.elicitations,n)}return new e(t,n,r)}},Bc=class extends I{constructor(t,n=`URL elicitation${t.length>1?"s":""} required`){super(A.UrlElicitationRequired,n,{elicitations:t})}get elicitations(){return this.data?.elicitations??[]}};function Wt(e){return e==="completed"||e==="failed"||e==="cancelled"}var uf=Symbol("Let zodToJsonSchema decide on which parser to use");var cf={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"},df=e=>typeof e=="string"?{...cf,name:e}:{...cf,...e};var lf=e=>{let t=df(e),n=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,flags:{hasReferencedOpenAiAnyType:!1},currentPath:n,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([r,o])=>[o._def,{def:o._def,path:[...t.basePath,t.definitionPath,r],jsonSchema:void 0}]))}};function uu(e,t,n,r){r?.errorMessages&&n&&(e.errorMessage={...e.errorMessage,[t]:n})}function G(e,t,n,r,o){e[t]=n,uu(e,t,r,o)}var As=(e,t)=>{let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);return[(e.length-n).toString(),...t.slice(n)].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"?As(t,e.currentPath):t.join("/")}}function pf(e,t){let n={type:"array"};return e.type?._def&&e.type?._def?.typeName!==S.ZodAny&&(n.items=D(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&G(n,"minItems",e.minLength.value,e.minLength.message,t),e.maxLength&&G(n,"maxItems",e.maxLength.value,e.maxLength.message,t),e.exactLength&&(G(n,"minItems",e.exactLength.value,e.exactLength.message,t),G(n,"maxItems",e.exactLength.value,e.exactLength.message,t)),n}function mf(e,t){let n={type:"integer",format:"int64"};if(!e.checks)return n;for(let r of e.checks)switch(r.kind){case"min":t.target==="jsonSchema7"?r.inclusive?G(n,"minimum",r.value,r.message,t):G(n,"exclusiveMinimum",r.value,r.message,t):(r.inclusive||(n.exclusiveMinimum=!0),G(n,"minimum",r.value,r.message,t));break;case"max":t.target==="jsonSchema7"?r.inclusive?G(n,"maximum",r.value,r.message,t):G(n,"exclusiveMaximum",r.value,r.message,t):(r.inclusive||(n.exclusiveMaximum=!0),G(n,"maximum",r.value,r.message,t));break;case"multipleOf":G(n,"multipleOf",r.value,r.message,t);break}return n}function ff(){return{type:"boolean"}}function Ms(e,t){return D(e.type._def,t)}var hf=(e,t)=>D(e.innerType._def,t);function du(e,t,n){let r=n??t.dateStrategy;if(Array.isArray(r))return{anyOf:r.map((o,s)=>du(e,t,o))};switch(r){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return p0(e,t)}}var p0=(e,t)=>{let n={type:"integer",format:"unix-time"};if(t.target==="openApi3")return n;for(let r of e.checks)switch(r.kind){case"min":G(n,"minimum",r.value,r.message,t);break;case"max":G(n,"maximum",r.value,r.message,t);break}return n};function gf(e,t){return{...D(e.innerType._def,t),default:e.defaultValue()}}function yf(e,t){return t.effectStrategy==="input"?D(e.schema._def,t):he(t)}function _f(e){return{type:"string",enum:Array.from(e.values)}}var m0=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function bf(e,t){let n=[D(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),D(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(s=>!!s),r=t.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return n.forEach(s=>{if(m0(s))o.push(...s.allOf),s.unevaluatedProperties===void 0&&(r=void 0);else{let i=s;if("additionalProperties"in s&&s.additionalProperties===!1){let{additionalProperties:a,...c}=s;i=c}else r=void 0;o.push(i)}}),o.length?{allOf:o,...r}:void 0}function vf(e,t){let n=typeof e.value;return n!=="bigint"&&n!=="number"&&n!=="boolean"&&n!=="string"?{type:Array.isArray(e.value)?"array":"object"}:t.target==="openApi3"?{type:n==="bigint"?"integer":n,enum:[e.value]}:{type:n==="bigint"?"integer":n,const:e.value}}var lu,ct={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:()=>(lu===void 0&&(lu=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),lu),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 Ns(e,t){let n={type:"string"};if(e.checks)for(let r of e.checks)switch(r.kind){case"min":G(n,"minLength",typeof n.minLength=="number"?Math.max(n.minLength,r.value):r.value,r.message,t);break;case"max":G(n,"maxLength",typeof n.maxLength=="number"?Math.min(n.maxLength,r.value):r.value,r.message,t);break;case"email":switch(t.emailStrategy){case"format:email":ut(n,"email",r.message,t);break;case"format:idn-email":ut(n,"idn-email",r.message,t);break;case"pattern:zod":Ae(n,ct.email,r.message,t);break}break;case"url":ut(n,"uri",r.message,t);break;case"uuid":ut(n,"uuid",r.message,t);break;case"regex":Ae(n,r.regex,r.message,t);break;case"cuid":Ae(n,ct.cuid,r.message,t);break;case"cuid2":Ae(n,ct.cuid2,r.message,t);break;case"startsWith":Ae(n,RegExp(`^${pu(r.value,t)}`),r.message,t);break;case"endsWith":Ae(n,RegExp(`${pu(r.value,t)}$`),r.message,t);break;case"datetime":ut(n,"date-time",r.message,t);break;case"date":ut(n,"date",r.message,t);break;case"time":ut(n,"time",r.message,t);break;case"duration":ut(n,"duration",r.message,t);break;case"length":G(n,"minLength",typeof n.minLength=="number"?Math.max(n.minLength,r.value):r.value,r.message,t),G(n,"maxLength",typeof n.maxLength=="number"?Math.min(n.maxLength,r.value):r.value,r.message,t);break;case"includes":{Ae(n,RegExp(pu(r.value,t)),r.message,t);break}case"ip":{r.version!=="v6"&&ut(n,"ipv4",r.message,t),r.version!=="v4"&&ut(n,"ipv6",r.message,t);break}case"base64url":Ae(n,ct.base64url,r.message,t);break;case"jwt":Ae(n,ct.jwt,r.message,t);break;case"cidr":{r.version!=="v6"&&Ae(n,ct.ipv4Cidr,r.message,t),r.version!=="v4"&&Ae(n,ct.ipv6Cidr,r.message,t);break}case"emoji":Ae(n,ct.emoji(),r.message,t);break;case"ulid":{Ae(n,ct.ulid,r.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{ut(n,"binary",r.message,t);break}case"contentEncoding:base64":{G(n,"contentEncoding","base64",r.message,t);break}case"pattern:zod":{Ae(n,ct.base64,r.message,t);break}}break}case"nanoid":Ae(n,ct.nanoid,r.message,t);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return n}function pu(e,t){return t.patternStrategy==="escape"?h0(e):e}var f0=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function h0(e){let t="";for(let n=0;n<e.length;n++)f0.has(e[n])||(t+="\\"),t+=e[n];return t}function ut(e,t,n,r){e.format||e.anyOf?.some(o=>o.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format,...e.errorMessage&&r.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,...n&&r.errorMessages&&{errorMessage:{format:n}}})):G(e,"format",t,n,r)}function Ae(e,t,n,r){e.pattern||e.allOf?.some(o=>o.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern,...e.errorMessage&&r.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:wf(t,r),...n&&r.errorMessages&&{errorMessage:{pattern:n}}})):G(e,"pattern",wf(t,r),n,r)}function wf(e,t){if(!t.applyRegexFlags||!e.flags)return e.source;let n={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},r=n.i?e.source.toLowerCase():e.source,o="",s=!1,i=!1,a=!1;for(let c=0;c<r.length;c++){if(s){o+=r[c],s=!1;continue}if(n.i){if(i){if(r[c].match(/[a-z]/)){a?(o+=r[c],o+=`${r[c-2]}-${r[c]}`.toUpperCase(),a=!1):r[c+1]==="-"&&r[c+2]?.match(/[a-z]/)?(o+=r[c],a=!0):o+=`${r[c]}${r[c].toUpperCase()}`;continue}}else if(r[c].match(/[a-z]/)){o+=`[${r[c]}${r[c].toUpperCase()}]`;continue}}if(n.m){if(r[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(r.external){let h=r.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&&r.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}`),r.external?.uri){let d=r.external.registry.get(t)?.id;if(!d)throw new Error("Schema is missing an `id` property");c.$id=r.external.uri(d)}Object.assign(c,o.def);let u=r.external?.defs??{};for(let d of this.seen.entries()){let l=d[1];l.def&&l.defId&&(u[l.defId]=l.def)}r.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 Mc(e,t){if(e instanceof Lr){let r=new ds(t),o={};for(let a of e._idmap.entries()){let[c,u]=a;r.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]=r.emit(u,{...t,external:i})}if(Object.keys(o).length>0){let a=r.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[a]:o}}return{schemas:s}}let n=new ds(t);return n.process(e),n.emit(e,t)}function be(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.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 be(o.element,n);case"object":{for(let s in o.shape)if(be(o.shape[s],n))return!0;return!1}case"union":{for(let s of o.options)if(be(s,n))return!0;return!1}case"intersection":return be(o.left,n)||be(o.right,n);case"tuple":{for(let s of o.items)if(be(s,n))return!0;return!!(o.rest&&be(o.rest,n))}case"record":return be(o.keyType,n)||be(o.valueType,n);case"map":return be(o.keyType,n)||be(o.valueType,n);case"set":return be(o.valueType,n);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return be(o.innerType,n);case"lazy":return be(o.getter(),n);case"default":return be(o.innerType,n);case"prefault":return be(o.innerType,n);case"custom":return!1;case"transform":return!0;case"pipe":return be(o.in,n)||be(o.out,n);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${o.type}`)}var Uw=b("ZodMiniType",(e,t)=>{if(!e._zod)throw new Error("Uninitialized schema in ZodMiniType.");re.init(e,t),e.def=t,e.parse=(n,r)=>ea(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>Sn(e,n,r),e.parseAsync=async(n,r)=>na(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>$n(e,n,r),e.check=(...n)=>e.clone({...t,checks:[...t.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),e.clone=(n,r)=>We(e,n,r),e.brand=()=>e,e.register=((n,r)=>(n.add(e,r),e))});var qw=b("ZodMiniObject",(e,t)=>{ns.init(e,t),Uw.init(e,t),W.defineLazy(e,"shape",()=>t.shape)});function Nc(e,t){let n={type:"object",get shape(){return W.assignProp(this,"shape",{...e}),this.shape},...W.normalizeParams(t)};return new qw(n)}function Xe(e){return!!e._zod}function Tn(e){let t=Object.values(e);if(t.length===0)return Nc({});let n=t.every(Xe),r=t.every(o=>!Xe(o));if(n)return Nc(e);if(r)return Zi(e);throw new Error("Mixed Zod versions detected in object shape.")}function Vt(e,t){return Xe(e)?Sn(e,t):e.safeParse(t)}async function ls(e,t){return Xe(e)?await $n(e,t):await e.safeParseAsync(t)}function Bt(e){if(!e)return;let t;if(Xe(e)?t=e._zod?.def?.shape:t=e.shape,!!t){if(typeof t=="function")try{return t()}catch{return}return t}}function er(e){if(e){if(typeof e=="object"){let t=e,n=e;if(!t._def&&!n._zod){let r=Object.values(e);if(r.length>0&&r.every(o=>typeof o=="object"&&o!==null&&(o._def!==void 0||o._zod!==void 0||typeof o.parse=="function")))return Tn(e)}}if(Xe(e)){let n=e._zod?.def;if(n&&(n.type==="object"||n.shape!==void 0))return e}else if(e.shape!==void 0)return e}}function ps(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 vm(e){return e.description}function wm(e){if(Xe(e))return e._zod?.def?.type==="optional";let t=e;return typeof e.isOptional=="function"?e.isOptional():t._def?.typeName==="ZodOptional"}function ms(e){if(Xe(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 n=e._def;if(n){if(n.value!==void 0)return n.value;if(Array.isArray(n.values)&&n.values.length>0)return n.values[0]}let r=e.value;if(r!==void 0)return r}var Ur={};Mi(Ur,{ZodISODate:()=>xm,ZodISODateTime:()=>km,ZodISODuration:()=>$m,ZodISOTime:()=>Sm,date:()=>Dc,datetime:()=>Lc,duration:()=>Uc,time:()=>Zc});var km=b("ZodISODateTime",(e,t)=>{am.init(e,t),pe.init(e,t)});function Lc(e){return fm(km,e)}var xm=b("ZodISODate",(e,t)=>{cm.init(e,t),pe.init(e,t)});function Dc(e){return hm(xm,e)}var Sm=b("ZodISOTime",(e,t)=>{um.init(e,t),pe.init(e,t)});function Zc(e){return gm(Sm,e)}var $m=b("ZodISODuration",(e,t)=>{dm.init(e,t),pe.init(e,t)});function Uc(e){return ym($m,e)}var zm=(e,t)=>{Qo.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>Yi(e,n)},flatten:{value:n=>Qi(e,n)},addIssue:{value:n=>e.issues.push(n)},addIssues:{value:n=>e.issues.push(...n)},isEmpty:{get(){return e.issues.length===0}}})},wI=b("ZodError",zm),qr=b("ZodError",zm,{Parent:Error});var Pm=Xi(qr),Tm=ta(qr),Rm=ra(qr),jm=oa(qr);var ge=b("ZodType",(e,t)=>(re.init(e,t),e.def=t,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone({...t,checks:[...t.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),e.clone=(n,r)=>We(e,n,r),e.brand=()=>e,e.register=((n,r)=>(n.add(e,r),e)),e.parse=(n,r)=>Pm(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>Rm(e,n,r),e.parseAsync=async(n,r)=>Tm(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>jm(e,n,r),e.spa=e.safeParseAsync,e.refine=(n,r)=>e.check(Dk(n,r)),e.superRefine=n=>e.check(Zk(n)),e.overwrite=n=>e.check(zn(n)),e.optional=()=>fe(e),e.nullable=()=>Em(e),e.nullish=()=>fe(Em(e)),e.nonoptional=n=>Ik(e,n),e.array=()=>K(e),e.or=n=>ue([e,n]),e.and=n=>hs(e,n),e.transform=n=>Jc(e,Dm(n)),e.default=n=>Rk(e,n),e.prefault=n=>Ok(e,n),e.catch=n=>Ck(e,n),e.pipe=n=>Jc(e,n),e.readonly=()=>Nk(e),e.describe=n=>{let r=e.clone();return Ft.add(r,{description:n}),r},Object.defineProperty(e,"description",{get(){return Ft.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return Ft.get(e);let r=e.clone();return Ft.add(r,n[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),Cm=b("_ZodString",(e,t)=>{Nr.init(e,t),ge.init(e,t);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...r)=>e.check(Sc(...r)),e.includes=(...r)=>e.check(Pc(...r)),e.startsWith=(...r)=>e.check(Tc(...r)),e.endsWith=(...r)=>e.check(Rc(...r)),e.min=(...r)=>e.check(Xn(...r)),e.max=(...r)=>e.check(cs(...r)),e.length=(...r)=>e.check(us(...r)),e.nonempty=(...r)=>e.check(Xn(1,...r)),e.lowercase=r=>e.check($c(r)),e.uppercase=r=>e.check(zc(r)),e.trim=()=>e.check(Oc()),e.normalize=(...r)=>e.check(jc(...r)),e.toLowerCase=()=>e.check(Ic()),e.toUpperCase=()=>e.check(Ec())}),Qw=b("ZodString",(e,t)=>{Nr.init(e,t),Cm.init(e,t),e.email=n=>e.check(Qa(Yw,n)),e.url=n=>e.check(nc(Xw,n)),e.jwt=n=>e.check(yc(fk,n)),e.emoji=n=>e.check(rc(ek,n)),e.guid=n=>e.check(os(Om,n)),e.uuid=n=>e.check(Ya(fs,n)),e.uuidv4=n=>e.check(Xa(fs,n)),e.uuidv6=n=>e.check(ec(fs,n)),e.uuidv7=n=>e.check(tc(fs,n)),e.nanoid=n=>e.check(oc(tk,n)),e.guid=n=>e.check(os(Om,n)),e.cuid=n=>e.check(sc(nk,n)),e.cuid2=n=>e.check(ic(rk,n)),e.ulid=n=>e.check(ac(ok,n)),e.base64=n=>e.check(fc(lk,n)),e.base64url=n=>e.check(hc(pk,n)),e.xid=n=>e.check(cc(sk,n)),e.ksuid=n=>e.check(uc(ik,n)),e.ipv4=n=>e.check(dc(ak,n)),e.ipv6=n=>e.check(lc(ck,n)),e.cidrv4=n=>e.check(pc(uk,n)),e.cidrv6=n=>e.check(mc(dk,n)),e.e164=n=>e.check(gc(mk,n)),e.datetime=n=>e.check(Lc(n)),e.date=n=>e.check(Dc(n)),e.time=n=>e.check(Zc(n)),e.duration=n=>e.check(Uc(n))});function _(e){return Ga(Qw,e)}var pe=b("ZodStringFormat",(e,t)=>{ae.init(e,t),Cm.init(e,t)}),Yw=b("ZodEmail",(e,t)=>{pa.init(e,t),pe.init(e,t)});var Om=b("ZodGUID",(e,t)=>{da.init(e,t),pe.init(e,t)});var fs=b("ZodUUID",(e,t)=>{la.init(e,t),pe.init(e,t)});var Xw=b("ZodURL",(e,t)=>{ma.init(e,t),pe.init(e,t)});var ek=b("ZodEmoji",(e,t)=>{fa.init(e,t),pe.init(e,t)});var tk=b("ZodNanoID",(e,t)=>{ha.init(e,t),pe.init(e,t)});var nk=b("ZodCUID",(e,t)=>{ga.init(e,t),pe.init(e,t)});var rk=b("ZodCUID2",(e,t)=>{ya.init(e,t),pe.init(e,t)});var ok=b("ZodULID",(e,t)=>{_a.init(e,t),pe.init(e,t)});var sk=b("ZodXID",(e,t)=>{ba.init(e,t),pe.init(e,t)});var ik=b("ZodKSUID",(e,t)=>{va.init(e,t),pe.init(e,t)});var ak=b("ZodIPv4",(e,t)=>{wa.init(e,t),pe.init(e,t)});var ck=b("ZodIPv6",(e,t)=>{ka.init(e,t),pe.init(e,t)});var uk=b("ZodCIDRv4",(e,t)=>{xa.init(e,t),pe.init(e,t)});var dk=b("ZodCIDRv6",(e,t)=>{Sa.init(e,t),pe.init(e,t)});var lk=b("ZodBase64",(e,t)=>{$a.init(e,t),pe.init(e,t)});var pk=b("ZodBase64URL",(e,t)=>{za.init(e,t),pe.init(e,t)});var mk=b("ZodE164",(e,t)=>{Pa.init(e,t),pe.init(e,t)});var fk=b("ZodJWT",(e,t)=>{Ta.init(e,t),pe.init(e,t)});var Am=b("ZodNumber",(e,t)=>{ts.init(e,t),ge.init(e,t),e.gt=(r,o)=>e.check(is(r,o)),e.gte=(r,o)=>e.check(Zr(r,o)),e.min=(r,o)=>e.check(Zr(r,o)),e.lt=(r,o)=>e.check(ss(r,o)),e.lte=(r,o)=>e.check(Dr(r,o)),e.max=(r,o)=>e.check(Dr(r,o)),e.int=r=>e.check(Im(r)),e.safe=r=>e.check(Im(r)),e.positive=r=>e.check(is(0,r)),e.nonnegative=r=>e.check(Zr(0,r)),e.negative=r=>e.check(ss(0,r)),e.nonpositive=r=>e.check(Dr(0,r)),e.multipleOf=(r,o)=>e.check(as(r,o)),e.step=(r,o)=>e.check(as(r,o)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function te(e){return _c(Am,e)}var hk=b("ZodNumberFormat",(e,t)=>{Ra.init(e,t),Am.init(e,t)});function Im(e){return bc(hk,e)}var gk=b("ZodBoolean",(e,t)=>{ja.init(e,t),ge.init(e,t)});function we(e){return vc(gk,e)}var yk=b("ZodNull",(e,t)=>{Oa.init(e,t),ge.init(e,t)});function Mm(e){return wc(yk,e)}var _k=b("ZodUnknown",(e,t)=>{Ia.init(e,t),ge.init(e,t)});function me(){return kc(_k)}var bk=b("ZodNever",(e,t)=>{Ea.init(e,t),ge.init(e,t)});function vk(e){return xc(bk,e)}var wk=b("ZodArray",(e,t)=>{Ca.init(e,t),ge.init(e,t),e.element=t.element,e.min=(n,r)=>e.check(Xn(n,r)),e.nonempty=n=>e.check(Xn(1,n)),e.max=(n,r)=>e.check(cs(n,r)),e.length=(n,r)=>e.check(us(n,r)),e.unwrap=()=>e.element});function K(e,t){return _m(wk,e,t)}var Nm=b("ZodObject",(e,t)=>{ns.init(e,t),ge.init(e,t),W.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>Ue(Object.keys(e._zod.def.shape)),e.catchall=n=>e.clone({...e._zod.def,catchall:n}),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:vk()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=n=>W.extend(e,n),e.merge=n=>W.merge(e,n),e.pick=n=>W.pick(e,n),e.omit=n=>W.omit(e,n),e.partial=(...n)=>W.partial(Zm,e,n[0]),e.required=(...n)=>W.required(Um,e,n[0])});function T(e,t){let n={type:"object",get shape(){return W.assignProp(this,"shape",{...e}),this.shape},...W.normalizeParams(t)};return new Nm(n)}function Ce(e,t){return new Nm({type:"object",get shape(){return W.assignProp(this,"shape",{...e}),this.shape},catchall:me(),...W.normalizeParams(t)})}var Lm=b("ZodUnion",(e,t)=>{rs.init(e,t),ge.init(e,t),e.options=t.options});function ue(e,t){return new Lm({type:"union",options:e,...W.normalizeParams(t)})}var kk=b("ZodDiscriminatedUnion",(e,t)=>{Lm.init(e,t),Aa.init(e,t)});function Fc(e,t,n){return new kk({type:"union",options:t,discriminator:e,...W.normalizeParams(n)})}var xk=b("ZodIntersection",(e,t)=>{Ma.init(e,t),ge.init(e,t)});function hs(e,t){return new xk({type:"intersection",left:e,right:t})}var Sk=b("ZodRecord",(e,t)=>{Na.init(e,t),ge.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function ce(e,t,n){return new Sk({type:"record",keyType:e,valueType:t,...W.normalizeParams(n)})}var qc=b("ZodEnum",(e,t)=>{La.init(e,t),ge.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(r,o)=>{let s={};for(let i of r)if(n.has(i))s[i]=t.entries[i];else throw new Error(`Key ${i} not found in enum`);return new qc({...t,checks:[],...W.normalizeParams(o),entries:s})},e.exclude=(r,o)=>{let s={...t.entries};for(let i of r)if(n.has(i))delete s[i];else throw new Error(`Key ${i} not found in enum`);return new qc({...t,checks:[],...W.normalizeParams(o),entries:s})}});function Ue(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new qc({type:"enum",entries:n,...W.normalizeParams(t)})}var $k=b("ZodLiteral",(e,t)=>{Da.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 E(e,t){return new $k({type:"literal",values:Array.isArray(e)?e:[e],...W.normalizeParams(t)})}var zk=b("ZodTransform",(e,t)=>{Za.init(e,t),ge.init(e,t),e._zod.parse=(n,r)=>{n.addIssue=s=>{if(typeof s=="string")n.issues.push(W.issue(s,n.value,t));else{let i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=n.value),i.inst??(i.inst=e),i.continue??(i.continue=!0),n.issues.push(W.issue(i))}};let o=t.transform(n.value,n);return o instanceof Promise?o.then(s=>(n.value=s,n)):(n.value=o,n)}});function Dm(e){return new zk({type:"transform",transform:e})}var Zm=b("ZodOptional",(e,t)=>{Ua.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType});function fe(e){return new Zm({type:"optional",innerType:e})}var Pk=b("ZodNullable",(e,t)=>{qa.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Em(e){return new Pk({type:"nullable",innerType:e})}var Tk=b("ZodDefault",(e,t)=>{Ja.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Rk(e,t){return new Tk({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var jk=b("ZodPrefault",(e,t)=>{Fa.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Ok(e,t){return new jk({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var Um=b("ZodNonOptional",(e,t)=>{Va.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Ik(e,t){return new Um({type:"nonoptional",innerType:e,...W.normalizeParams(t)})}var Ek=b("ZodCatch",(e,t)=>{Ba.init(e,t),ge.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Ck(e,t){return new Ek({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var Ak=b("ZodPipe",(e,t)=>{Ha.init(e,t),ge.init(e,t),e.in=t.in,e.out=t.out});function Jc(e,t){return new Ak({type:"pipe",in:e,out:t})}var Mk=b("ZodReadonly",(e,t)=>{Wa.init(e,t),ge.init(e,t)});function Nk(e){return new Mk({type:"readonly",innerType:e})}var qm=b("ZodCustom",(e,t)=>{Ka.init(e,t),ge.init(e,t)});function Lk(e){let t=new xe({check:"custom"});return t._zod.check=e,t}function Jm(e,t){return Cc(qm,e??(()=>!0),t)}function Dk(e,t={}){return Ac(qm,e,t)}function Zk(e){let t=Lk(n=>(n.addIssue=r=>{if(typeof r=="string")n.issues.push(W.issue(r,n.value,t._zod.def));else{let o=r;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=n.value),o.inst??(o.inst=t),o.continue??(o.continue=!t._zod.def.abort),n.issues.push(W.issue(o))}},e(n.value,n)));return t}function Vc(e,t){return Jc(Dm(e),t)}He(pm());var Hc="2025-11-25";var Fm=[Hc,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],Ht="io.modelcontextprotocol/related-task",ys="2.0",ve=Jm(e=>e!==null&&(typeof e=="object"||typeof e=="function")),Vm=ue([_(),te().int()]),Bm=_(),AI=Ce({ttl:te().optional(),pollInterval:te().optional()}),Uk=T({ttl:te().optional()}),qk=T({taskId:_()}),Wc=Ce({progressToken:Vm.optional(),[Ht]:qk.optional()}),Ke=T({_meta:Wc.optional()}),Jr=Ke.extend({task:Uk.optional()}),Hm=e=>Jr.safeParse(e).success,Se=T({method:_(),params:Ke.loose().optional()}),et=T({_meta:Wc.optional()}),tt=T({method:_(),params:et.loose().optional()}),$e=Ce({_meta:Wc.optional()}),_s=ue([_(),te().int()]),Wm=T({jsonrpc:E(ys),id:_s,...Se.shape}).strict(),Kc=e=>Wm.safeParse(e).success,Km=T({jsonrpc:E(ys),...tt.shape}).strict(),Gm=e=>Km.safeParse(e).success,Gc=T({jsonrpc:E(ys),id:_s,result:$e}).strict(),Fr=e=>Gc.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 Qc=T({jsonrpc:E(ys),id:_s.optional(),error:T({code:te().int(),message:_(),data:me().optional()})}).strict();var Qm=e=>Qc.safeParse(e).success;var Ym=ue([Wm,Km,Gc,Qc]),MI=ue([Gc,Qc]),bs=$e.strict(),Jk=et.extend({requestId:_s.optional(),reason:_().optional()}),vs=tt.extend({method:E("notifications/cancelled"),params:Jk}),Fk=T({src:_(),mimeType:_().optional(),sizes:K(_()).optional(),theme:Ue(["light","dark"]).optional()}),Vr=T({icons:K(Fk).optional()}),tr=T({name:_(),title:_().optional()}),Xm=tr.extend({...tr.shape,...Vr.shape,version:_(),websiteUrl:_().optional(),description:_().optional()}),Vk=hs(T({applyDefaults:we().optional()}),ce(_(),me())),Bk=Vc(e=>e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,hs(T({form:Vk.optional(),url:ve.optional()}),ce(_(),me()).optional())),Hk=Ce({list:ve.optional(),cancel:ve.optional(),requests:Ce({sampling:Ce({createMessage:ve.optional()}).optional(),elicitation:Ce({create:ve.optional()}).optional()}).optional()}),Wk=Ce({list:ve.optional(),cancel:ve.optional(),requests:Ce({tools:Ce({call:ve.optional()}).optional()}).optional()}),Kk=T({experimental:ce(_(),ve).optional(),sampling:T({context:ve.optional(),tools:ve.optional()}).optional(),elicitation:Bk.optional(),roots:T({listChanged:we().optional()}).optional(),tasks:Hk.optional(),extensions:ce(_(),ve).optional()}),Gk=Ke.extend({protocolVersion:_(),capabilities:Kk,clientInfo:Xm}),Yc=Se.extend({method:E("initialize"),params:Gk});var Qk=T({experimental:ce(_(),ve).optional(),logging:ve.optional(),completions:ve.optional(),prompts:T({listChanged:we().optional()}).optional(),resources:T({subscribe:we().optional(),listChanged:we().optional()}).optional(),tools:T({listChanged:we().optional()}).optional(),tasks:Wk.optional(),extensions:ce(_(),ve).optional()}),Yk=$e.extend({protocolVersion:_(),capabilities:Qk,serverInfo:Xm,instructions:_().optional()}),Xc=tt.extend({method:E("notifications/initialized"),params:et.optional()});var ws=Se.extend({method:E("ping"),params:Ke.optional()}),Xk=T({progress:te(),total:fe(te()),message:fe(_())}),ex=T({...et.shape,...Xk.shape,progressToken:Vm}),ks=tt.extend({method:E("notifications/progress"),params:ex}),tx=Ke.extend({cursor:Bm.optional()}),Br=Se.extend({params:tx.optional()}),Hr=$e.extend({nextCursor:Bm.optional()}),nx=Ue(["working","input_required","completed","failed","cancelled"]),Wr=T({taskId:_(),status:nx,ttl:ue([te(),Mm()]),createdAt:_(),lastUpdatedAt:_(),pollInterval:fe(te()),statusMessage:fe(_())}),nr=$e.extend({task:Wr}),rx=et.merge(Wr),Kr=tt.extend({method:E("notifications/tasks/status"),params:rx}),xs=Se.extend({method:E("tasks/get"),params:Ke.extend({taskId:_()})}),Ss=$e.merge(Wr),$s=Se.extend({method:E("tasks/result"),params:Ke.extend({taskId:_()})}),NI=$e.loose(),zs=Br.extend({method:E("tasks/list")}),Ps=Hr.extend({tasks:K(Wr)}),Ts=Se.extend({method:E("tasks/cancel"),params:Ke.extend({taskId:_()})}),ef=$e.merge(Wr),tf=T({uri:_(),mimeType:fe(_()),_meta:ce(_(),me()).optional()}),nf=tf.extend({text:_()}),eu=_().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),rf=tf.extend({blob:eu}),Gr=Ue(["user","assistant"]),rr=T({audience:K(Gr).optional(),priority:te().min(0).max(1).optional(),lastModified:Ur.datetime({offset:!0}).optional()}),of=T({...tr.shape,...Vr.shape,uri:_(),description:fe(_()),mimeType:fe(_()),size:fe(te()),annotations:rr.optional(),_meta:fe(Ce({}))}),ox=T({...tr.shape,...Vr.shape,uriTemplate:_(),description:fe(_()),mimeType:fe(_()),annotations:rr.optional(),_meta:fe(Ce({}))}),or=Br.extend({method:E("resources/list")}),sx=Hr.extend({resources:K(of)}),sr=Br.extend({method:E("resources/templates/list")}),ix=Hr.extend({resourceTemplates:K(ox)}),tu=Ke.extend({uri:_()}),ax=tu,Rs=Se.extend({method:E("resources/read"),params:ax}),cx=$e.extend({contents:K(ue([nf,rf]))}),ux=tt.extend({method:E("notifications/resources/list_changed"),params:et.optional()}),dx=tu,lx=Se.extend({method:E("resources/subscribe"),params:dx}),px=tu,mx=Se.extend({method:E("resources/unsubscribe"),params:px}),fx=et.extend({uri:_()}),hx=tt.extend({method:E("notifications/resources/updated"),params:fx}),gx=T({name:_(),description:fe(_()),required:fe(we())}),yx=T({...tr.shape,...Vr.shape,description:fe(_()),arguments:fe(K(gx)),_meta:fe(Ce({}))}),js=Br.extend({method:E("prompts/list")}),_x=Hr.extend({prompts:K(yx)}),bx=Ke.extend({name:_(),arguments:ce(_(),_()).optional()}),Os=Se.extend({method:E("prompts/get"),params:bx}),nu=T({type:E("text"),text:_(),annotations:rr.optional(),_meta:ce(_(),me()).optional()}),ru=T({type:E("image"),data:eu,mimeType:_(),annotations:rr.optional(),_meta:ce(_(),me()).optional()}),ou=T({type:E("audio"),data:eu,mimeType:_(),annotations:rr.optional(),_meta:ce(_(),me()).optional()}),vx=T({type:E("tool_use"),name:_(),id:_(),input:ce(_(),me()),_meta:ce(_(),me()).optional()}),wx=T({type:E("resource"),resource:ue([nf,rf]),annotations:rr.optional(),_meta:ce(_(),me()).optional()}),kx=of.extend({type:E("resource_link")}),su=ue([nu,ru,ou,kx,wx]),xx=T({role:Gr,content:su}),Sx=$e.extend({description:_().optional(),messages:K(xx)}),$x=tt.extend({method:E("notifications/prompts/list_changed"),params:et.optional()}),zx=T({title:_().optional(),readOnlyHint:we().optional(),destructiveHint:we().optional(),idempotentHint:we().optional(),openWorldHint:we().optional()}),Px=T({taskSupport:Ue(["required","optional","forbidden"]).optional()}),sf=T({...tr.shape,...Vr.shape,description:_().optional(),inputSchema:T({type:E("object"),properties:ce(_(),ve).optional(),required:K(_()).optional()}).catchall(me()),outputSchema:T({type:E("object"),properties:ce(_(),ve).optional(),required:K(_()).optional()}).catchall(me()).optional(),annotations:zx.optional(),execution:Px.optional(),_meta:ce(_(),me()).optional()}),Is=Br.extend({method:E("tools/list")}),Tx=Hr.extend({tools:K(sf)}),Es=$e.extend({content:K(su).default([]),structuredContent:ce(_(),me()).optional(),isError:we().optional()}),LI=Es.or($e.extend({toolResult:me()})),Rx=Jr.extend({name:_(),arguments:ce(_(),me()).optional()}),ir=Se.extend({method:E("tools/call"),params:Rx}),jx=tt.extend({method:E("notifications/tools/list_changed"),params:et.optional()}),DI=T({autoRefresh:we().default(!0),debounceMs:te().int().nonnegative().default(300)}),Qr=Ue(["debug","info","notice","warning","error","critical","alert","emergency"]),Ox=Ke.extend({level:Qr}),iu=Se.extend({method:E("logging/setLevel"),params:Ox}),Ix=et.extend({level:Qr,logger:_().optional(),data:me()}),Ex=tt.extend({method:E("notifications/message"),params:Ix}),Cx=T({name:_().optional()}),Ax=T({hints:K(Cx).optional(),costPriority:te().min(0).max(1).optional(),speedPriority:te().min(0).max(1).optional(),intelligencePriority:te().min(0).max(1).optional()}),Mx=T({mode:Ue(["auto","required","none"]).optional()}),Nx=T({type:E("tool_result"),toolUseId:_().describe("The unique identifier for the corresponding tool call."),content:K(su).default([]),structuredContent:T({}).loose().optional(),isError:we().optional(),_meta:ce(_(),me()).optional()}),Lx=Fc("type",[nu,ru,ou]),gs=Fc("type",[nu,ru,ou,vx,Nx]),Dx=T({role:Gr,content:ue([gs,K(gs)]),_meta:ce(_(),me()).optional()}),Zx=Jr.extend({messages:K(Dx),modelPreferences:Ax.optional(),systemPrompt:_().optional(),includeContext:Ue(["none","thisServer","allServers"]).optional(),temperature:te().optional(),maxTokens:te().int(),stopSequences:K(_()).optional(),metadata:ve.optional(),tools:K(sf).optional(),toolChoice:Mx.optional()}),Ux=Se.extend({method:E("sampling/createMessage"),params:Zx}),Yr=$e.extend({model:_(),stopReason:fe(Ue(["endTurn","stopSequence","maxTokens"]).or(_())),role:Gr,content:Lx}),au=$e.extend({model:_(),stopReason:fe(Ue(["endTurn","stopSequence","maxTokens","toolUse"]).or(_())),role:Gr,content:ue([gs,K(gs)])}),qx=T({type:E("boolean"),title:_().optional(),description:_().optional(),default:we().optional()}),Jx=T({type:E("string"),title:_().optional(),description:_().optional(),minLength:te().optional(),maxLength:te().optional(),format:Ue(["email","uri","date","date-time"]).optional(),default:_().optional()}),Fx=T({type:Ue(["number","integer"]),title:_().optional(),description:_().optional(),minimum:te().optional(),maximum:te().optional(),default:te().optional()}),Vx=T({type:E("string"),title:_().optional(),description:_().optional(),enum:K(_()),default:_().optional()}),Bx=T({type:E("string"),title:_().optional(),description:_().optional(),oneOf:K(T({const:_(),title:_()})),default:_().optional()}),Hx=T({type:E("string"),title:_().optional(),description:_().optional(),enum:K(_()),enumNames:K(_()).optional(),default:_().optional()}),Wx=ue([Vx,Bx]),Kx=T({type:E("array"),title:_().optional(),description:_().optional(),minItems:te().optional(),maxItems:te().optional(),items:T({type:E("string"),enum:K(_())}),default:K(_()).optional()}),Gx=T({type:E("array"),title:_().optional(),description:_().optional(),minItems:te().optional(),maxItems:te().optional(),items:T({anyOf:K(T({const:_(),title:_()}))}),default:K(_()).optional()}),Qx=ue([Kx,Gx]),Yx=ue([Hx,Wx,Qx]),Xx=ue([Yx,qx,Jx,Fx]),e0=Jr.extend({mode:E("form").optional(),message:_(),requestedSchema:T({type:E("object"),properties:ce(_(),Xx),required:K(_()).optional()})}),t0=Jr.extend({mode:E("url"),message:_(),elicitationId:_(),url:_().url()}),n0=ue([e0,t0]),r0=Se.extend({method:E("elicitation/create"),params:n0}),o0=et.extend({elicitationId:_()}),s0=tt.extend({method:E("notifications/elicitation/complete"),params:o0}),ar=$e.extend({action:Ue(["accept","decline","cancel"]),content:Vc(e=>e===null?void 0:e,ce(_(),ue([_(),te(),we(),K(_())])).optional())}),i0=T({type:E("ref/resource"),uri:_()});var a0=T({type:E("ref/prompt"),name:_()}),c0=Ke.extend({ref:ue([a0,i0]),argument:T({name:_(),value:_()}),context:T({arguments:ce(_(),_()).optional()}).optional()}),Cs=Se.extend({method:E("completion/complete"),params:c0});function af(e){if(e.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${e.params.ref.type}`)}function cf(e){if(e.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${e.params.ref.type}`)}var u0=$e.extend({completion:Ce({values:K(_()).max(100),total:fe(te().int()),hasMore:fe(we())})}),d0=T({uri:_().startsWith("file://"),name:_().optional(),_meta:ce(_(),me()).optional()}),l0=Se.extend({method:E("roots/list"),params:Ke.optional()}),cu=$e.extend({roots:K(d0)}),p0=tt.extend({method:E("notifications/roots/list_changed"),params:et.optional()}),ZI=ue([ws,Yc,Cs,iu,Os,js,or,sr,Rs,lx,mx,ir,Is,xs,$s,zs,Ts]),UI=ue([vs,ks,Xc,p0,Kr]),qI=ue([bs,Yr,au,ar,cu,Ss,Ps,nr]),JI=ue([ws,Ux,r0,l0,xs,$s,zs,Ts]),FI=ue([vs,ks,Ex,hx,ux,jx,$x,Kr,s0]),VI=ue([bs,Yk,u0,Sx,_x,sx,ix,cx,Es,Tx,Ss,Ps,nr]),I=class e extends Error{constructor(t,n,r){super(`MCP error ${t}: ${n}`),this.code=t,this.data=r,this.name="McpError"}static fromError(t,n,r){if(t===A.UrlElicitationRequired&&r){let o=r;if(o.elicitations)return new Bc(o.elicitations,n)}return new e(t,n,r)}},Bc=class extends I{constructor(t,n=`URL elicitation${t.length>1?"s":""} required`){super(A.UrlElicitationRequired,n,{elicitations:t})}get elicitations(){return this.data?.elicitations??[]}};function Wt(e){return e==="completed"||e==="failed"||e==="cancelled"}var df=Symbol("Let zodToJsonSchema decide on which parser to use");var uf={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"},lf=e=>typeof e=="string"?{...uf,name:e}:{...uf,...e};var pf=e=>{let t=lf(e),n=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,flags:{hasReferencedOpenAiAnyType:!1},currentPath:n,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([r,o])=>[o._def,{def:o._def,path:[...t.basePath,t.definitionPath,r],jsonSchema:void 0}]))}};function uu(e,t,n,r){r?.errorMessages&&n&&(e.errorMessage={...e.errorMessage,[t]:n})}function G(e,t,n,r,o){e[t]=n,uu(e,t,r,o)}var As=(e,t)=>{let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);return[(e.length-n).toString(),...t.slice(n)].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"?As(t,e.currentPath):t.join("/")}}function mf(e,t){let n={type:"array"};return e.type?._def&&e.type?._def?.typeName!==S.ZodAny&&(n.items=D(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&G(n,"minItems",e.minLength.value,e.minLength.message,t),e.maxLength&&G(n,"maxItems",e.maxLength.value,e.maxLength.message,t),e.exactLength&&(G(n,"minItems",e.exactLength.value,e.exactLength.message,t),G(n,"maxItems",e.exactLength.value,e.exactLength.message,t)),n}function ff(e,t){let n={type:"integer",format:"int64"};if(!e.checks)return n;for(let r of e.checks)switch(r.kind){case"min":t.target==="jsonSchema7"?r.inclusive?G(n,"minimum",r.value,r.message,t):G(n,"exclusiveMinimum",r.value,r.message,t):(r.inclusive||(n.exclusiveMinimum=!0),G(n,"minimum",r.value,r.message,t));break;case"max":t.target==="jsonSchema7"?r.inclusive?G(n,"maximum",r.value,r.message,t):G(n,"exclusiveMaximum",r.value,r.message,t):(r.inclusive||(n.exclusiveMaximum=!0),G(n,"maximum",r.value,r.message,t));break;case"multipleOf":G(n,"multipleOf",r.value,r.message,t);break}return n}function hf(){return{type:"boolean"}}function Ms(e,t){return D(e.type._def,t)}var gf=(e,t)=>D(e.innerType._def,t);function du(e,t,n){let r=n??t.dateStrategy;if(Array.isArray(r))return{anyOf:r.map((o,s)=>du(e,t,o))};switch(r){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return m0(e,t)}}var m0=(e,t)=>{let n={type:"integer",format:"unix-time"};if(t.target==="openApi3")return n;for(let r of e.checks)switch(r.kind){case"min":G(n,"minimum",r.value,r.message,t);break;case"max":G(n,"maximum",r.value,r.message,t);break}return n};function yf(e,t){return{...D(e.innerType._def,t),default:e.defaultValue()}}function _f(e,t){return t.effectStrategy==="input"?D(e.schema._def,t):he(t)}function bf(e){return{type:"string",enum:Array.from(e.values)}}var f0=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function vf(e,t){let n=[D(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),D(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(s=>!!s),r=t.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return n.forEach(s=>{if(f0(s))o.push(...s.allOf),s.unevaluatedProperties===void 0&&(r=void 0);else{let i=s;if("additionalProperties"in s&&s.additionalProperties===!1){let{additionalProperties:a,...c}=s;i=c}else r=void 0;o.push(i)}}),o.length?{allOf:o,...r}:void 0}function wf(e,t){let n=typeof e.value;return n!=="bigint"&&n!=="number"&&n!=="boolean"&&n!=="string"?{type:Array.isArray(e.value)?"array":"object"}:t.target==="openApi3"?{type:n==="bigint"?"integer":n,enum:[e.value]}:{type:n==="bigint"?"integer":n,const:e.value}}var lu,ut={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:()=>(lu===void 0&&(lu=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),lu),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 Ns(e,t){let n={type:"string"};if(e.checks)for(let r of e.checks)switch(r.kind){case"min":G(n,"minLength",typeof n.minLength=="number"?Math.max(n.minLength,r.value):r.value,r.message,t);break;case"max":G(n,"maxLength",typeof n.maxLength=="number"?Math.min(n.maxLength,r.value):r.value,r.message,t);break;case"email":switch(t.emailStrategy){case"format:email":dt(n,"email",r.message,t);break;case"format:idn-email":dt(n,"idn-email",r.message,t);break;case"pattern:zod":Ae(n,ut.email,r.message,t);break}break;case"url":dt(n,"uri",r.message,t);break;case"uuid":dt(n,"uuid",r.message,t);break;case"regex":Ae(n,r.regex,r.message,t);break;case"cuid":Ae(n,ut.cuid,r.message,t);break;case"cuid2":Ae(n,ut.cuid2,r.message,t);break;case"startsWith":Ae(n,RegExp(`^${pu(r.value,t)}`),r.message,t);break;case"endsWith":Ae(n,RegExp(`${pu(r.value,t)}$`),r.message,t);break;case"datetime":dt(n,"date-time",r.message,t);break;case"date":dt(n,"date",r.message,t);break;case"time":dt(n,"time",r.message,t);break;case"duration":dt(n,"duration",r.message,t);break;case"length":G(n,"minLength",typeof n.minLength=="number"?Math.max(n.minLength,r.value):r.value,r.message,t),G(n,"maxLength",typeof n.maxLength=="number"?Math.min(n.maxLength,r.value):r.value,r.message,t);break;case"includes":{Ae(n,RegExp(pu(r.value,t)),r.message,t);break}case"ip":{r.version!=="v6"&&dt(n,"ipv4",r.message,t),r.version!=="v4"&&dt(n,"ipv6",r.message,t);break}case"base64url":Ae(n,ut.base64url,r.message,t);break;case"jwt":Ae(n,ut.jwt,r.message,t);break;case"cidr":{r.version!=="v6"&&Ae(n,ut.ipv4Cidr,r.message,t),r.version!=="v4"&&Ae(n,ut.ipv6Cidr,r.message,t);break}case"emoji":Ae(n,ut.emoji(),r.message,t);break;case"ulid":{Ae(n,ut.ulid,r.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{dt(n,"binary",r.message,t);break}case"contentEncoding:base64":{G(n,"contentEncoding","base64",r.message,t);break}case"pattern:zod":{Ae(n,ut.base64,r.message,t);break}}break}case"nanoid":Ae(n,ut.nanoid,r.message,t);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return n}function pu(e,t){return t.patternStrategy==="escape"?g0(e):e}var h0=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function g0(e){let t="";for(let n=0;n<e.length;n++)h0.has(e[n])||(t+="\\"),t+=e[n];return t}function dt(e,t,n,r){e.format||e.anyOf?.some(o=>o.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format,...e.errorMessage&&r.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,...n&&r.errorMessages&&{errorMessage:{format:n}}})):G(e,"format",t,n,r)}function Ae(e,t,n,r){e.pattern||e.allOf?.some(o=>o.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern,...e.errorMessage&&r.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:kf(t,r),...n&&r.errorMessages&&{errorMessage:{pattern:n}}})):G(e,"pattern",kf(t,r),n,r)}function kf(e,t){if(!t.applyRegexFlags||!e.flags)return e.source;let n={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},r=n.i?e.source.toLowerCase():e.source,o="",s=!1,i=!1,a=!1;for(let c=0;c<r.length;c++){if(s){o+=r[c],s=!1;continue}if(n.i){if(i){if(r[c].match(/[a-z]/)){a?(o+=r[c],o+=`${r[c-2]}-${r[c]}`.toUpperCase(),a=!1):r[c+1]==="-"&&r[c+2]?.match(/[a-z]/)?(o+=r[c],a=!0):o+=`${r[c]}${r[c].toUpperCase()}`;continue}}else if(r[c].match(/[a-z]/)){o+=`[${r[c]}${r[c].toUpperCase()}]`;continue}}if(n.m){if(r[c]==="^"){o+=`(^|(?<=[\r
38
38
  ]))`;continue}else if(r[c]==="$"){o+=`($|(?=[\r
39
39
  ]))`;continue}}if(n.s&&r[c]==="."){o+=i?`${r[c]}\r
40
40
  `:`[${r[c]}\r
41
- ]`;continue}o+=r[c],r[c]==="\\"?s=!0:i&&r[c]==="]"?i=!1:!i&&r[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 Ls(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((r,o)=>({...r,[o]:D(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",o]})??he(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let n={type:"object",additionalProperties:D(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??t.allowedAdditionalProperties};if(t.target==="openApi3")return n;if(e.keyType?._def.typeName===S.ZodString&&e.keyType._def.checks?.length){let{type:r,...o}=Ns(e.keyType._def,t);return{...n,propertyNames:o}}else{if(e.keyType?._def.typeName===S.ZodEnum)return{...n,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:r,...o}=Ms(e.keyType._def,t);return{...n,propertyNames:o}}}return n}function kf(e,t){if(t.mapStrategy==="record")return Ls(e,t);let n=D(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||he(t),r=D(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||he(t);return{type:"array",maxItems:125,items:{type:"array",items:[n,r],minItems:2,maxItems:2}}}function xf(e){let t=e.values,r=Object.keys(e.values).filter(s=>typeof t[t[s]]!="number").map(s=>t[s]),o=Array.from(new Set(r.map(s=>typeof s)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:r}}function Sf(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 Xr={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Pf(e,t){if(t.target==="openApi3")return zf(e,t);let n=e.options instanceof Map?Array.from(e.options.values()):e.options;if(n.every(r=>r._def.typeName in Xr&&(!r._def.checks||!r._def.checks.length))){let r=n.reduce((o,s)=>{let i=Xr[s._def.typeName];return i&&!o.includes(i)?[...o,i]:o},[]);return{type:r.length>1?r:r[0]}}else if(n.every(r=>r._def.typeName==="ZodLiteral"&&!r.description)){let r=n.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(r.length===n.length){let o=r.filter((s,i,a)=>a.indexOf(s)===i);return{type:o.length>1?o:o[0],enum:n.reduce((s,i)=>s.includes(i._def.value)?s:[...s,i._def.value],[])}}}else if(n.every(r=>r._def.typeName==="ZodEnum"))return{type:"string",enum:n.reduce((r,o)=>[...r,...o._def.values.filter(s=>!r.includes(s))],[])};return zf(e,t)}var zf=(e,t)=>{let n=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((r,o)=>D(r._def,{...t,currentPath:[...t.currentPath,"anyOf",`${o}`]})).filter(r=>!!r&&(!t.strictUnions||typeof r=="object"&&Object.keys(r).length>0));return n.length?{anyOf:n}:void 0};function Tf(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:Xr[e.innerType._def.typeName],nullable:!0}:{type:[Xr[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let r=D(e.innerType._def,{...t,currentPath:[...t.currentPath]});return r&&"$ref"in r?{allOf:[r],nullable:!0}:r&&{...r,nullable:!0}}let n=D(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return n&&{anyOf:[n,{type:"null"}]}}function Rf(e,t){let n={type:"number"};if(!e.checks)return n;for(let r of e.checks)switch(r.kind){case"int":n.type="integer",uu(n,"type",r.message,t);break;case"min":t.target==="jsonSchema7"?r.inclusive?G(n,"minimum",r.value,r.message,t):G(n,"exclusiveMinimum",r.value,r.message,t):(r.inclusive||(n.exclusiveMinimum=!0),G(n,"minimum",r.value,r.message,t));break;case"max":t.target==="jsonSchema7"?r.inclusive?G(n,"maximum",r.value,r.message,t):G(n,"exclusiveMaximum",r.value,r.message,t):(r.inclusive||(n.exclusiveMaximum=!0),G(n,"maximum",r.value,r.message,t));break;case"multipleOf":G(n,"multipleOf",r.value,r.message,t);break}return n}function jf(e,t){let n=t.target==="openAi",r={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=y0(c);u&&n&&(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&&(r.properties[a]=d,u||o.push(a))}o.length&&(r.required=o);let i=g0(e,t);return i!==void 0&&(r.additionalProperties=i),r}function g0(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 y0(e){try{return e.isOptional()}catch{return!0}}var Of=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return D(e.innerType._def,t);let n=D(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return n?{anyOf:[{not:he(t)},n]}:he(t)};var If=(e,t)=>{if(t.pipeStrategy==="input")return D(e.in._def,t);if(t.pipeStrategy==="output")return D(e.out._def,t);let n=D(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),r=D(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",n?"1":"0"]});return{allOf:[n,r].filter(o=>o!==void 0)}};function Ef(e,t){return D(e.type._def,t)}function Cf(e,t){let r={type:"array",uniqueItems:!0,items:D(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&G(r,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&G(r,"maxItems",e.maxSize.value,e.maxSize.message,t),r}function Af(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((n,r)=>D(n._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((n,r)=>r===void 0?n:[...n,r],[]),additionalItems:D(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((n,r)=>D(n._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((n,r)=>r===void 0?n:[...n,r],[])}}function Mf(e){return{not:he(e)}}function Nf(e){return he(e)}var Lf=(e,t)=>D(e.innerType._def,t);var Df=(e,t,n)=>{switch(t){case S.ZodString:return Ns(e,n);case S.ZodNumber:return Rf(e,n);case S.ZodObject:return jf(e,n);case S.ZodBigInt:return mf(e,n);case S.ZodBoolean:return ff();case S.ZodDate:return du(e,n);case S.ZodUndefined:return Mf(n);case S.ZodNull:return $f(n);case S.ZodArray:return pf(e,n);case S.ZodUnion:case S.ZodDiscriminatedUnion:return Pf(e,n);case S.ZodIntersection:return bf(e,n);case S.ZodTuple:return Af(e,n);case S.ZodRecord:return Ls(e,n);case S.ZodLiteral:return vf(e,n);case S.ZodEnum:return _f(e);case S.ZodNativeEnum:return xf(e);case S.ZodNullable:return Tf(e,n);case S.ZodOptional:return Of(e,n);case S.ZodMap:return kf(e,n);case S.ZodSet:return Cf(e,n);case S.ZodLazy:return()=>e.getter()._def;case S.ZodPromise:return Ef(e,n);case S.ZodNaN:case S.ZodNever:return Sf(n);case S.ZodEffects:return yf(e,n);case S.ZodAny:return he(n);case S.ZodUnknown:return Nf(n);case S.ZodDefault:return gf(e,n);case S.ZodBranded:return Ms(e,n);case S.ZodReadonly:return Lf(e,n);case S.ZodCatch:return hf(e,n);case S.ZodPipeline:return If(e,n);case S.ZodFunction:case S.ZodVoid:case S.ZodSymbol:return;default:return(r=>{})(t)}};function D(e,t,n=!1){let r=t.seen.get(e);if(t.override){let a=t.override?.(e,t,r,n);if(a!==uf)return a}if(r&&!n){let a=_0(r,t);if(a!==void 0)return a}let o={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,o);let s=Df(e,e.typeName,t),i=typeof s=="function"?D(s(),t):s;if(i&&b0(e,t,i),t.postProcess){let a=t.postProcess(i,e,t);return o.jsonSchema=i,a}return o.jsonSchema=i,i}var _0=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:As(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((n,r)=>t.currentPath[r]===n)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),he(t)):t.$refStrategy==="seen"?he(t):void 0}},b0=(e,t,n)=>(e.description&&(n.description=e.description,t.markdownDescription&&(n.markdownDescription=e.description)),n);var mu=(e,t)=>{let n=lf(t),r=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((c,[u,d])=>({...c,[u]:D(d._def,{...n,currentPath:[...n.basePath,n.definitionPath,u]},!0)??he(n)}),{}):void 0,o=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,s=D(e._def,o===void 0?n:{...n,currentPath:[...n.basePath,n.definitionPath,o]},!1)??he(n),i=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;i!==void 0&&(s.title=i),n.flags.hasReferencedOpenAiAnyType&&(r||(r={}),r[n.openAiAnyTypeName]||(r[n.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:n.$refStrategy==="relative"?"1":[...n.basePath,n.definitionPath,n.openAiAnyTypeName].join("/")}}));let a=o===void 0?r?{...s,[n.definitionPath]:r}:s:{$ref:[...n.$refStrategy==="relative"?[]:n.basePath,n.definitionPath,o].join("/"),[n.definitionPath]:{...r,[o]:s}};return n.target==="jsonSchema7"?a.$schema="http://json-schema.org/draft-07/schema#":(n.target==="jsonSchema2019-09"||n.target==="openAi")&&(a.$schema="https://json-schema.org/draft/2019-09/schema#"),n.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 v0(e){return!e||e==="jsonSchema7"||e==="draft-7"?"draft-7":e==="jsonSchema2019-09"||e==="draft-2020-12"?"draft-2020-12":"draft-7"}function fu(e,t){return Xe(e)?Mc(e,{target:v0(t?.target),io:t?.pipeStrategy??"input"}):mu(e,{strictUnions:t?.strictUnions??!0,pipeStrategy:t?.pipeStrategy??"input"})}function hu(e){let n=Bt(e)?.method;if(!n)throw new Error("Schema is missing a method literal");let r=ms(n);if(typeof r!="string")throw new Error("Schema method literal must be a string");return r}function gu(e,t){let n=Vt(e,t);if(!n.success)throw n.error;return n.data}var w0=6e4,Ds=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(vs,n=>{this._oncancel(n)}),this.setNotificationHandler(ks,n=>{this._onprogress(n)}),this.setRequestHandler(ws,n=>({})),this._taskStore=t?.taskStore,this._taskMessageQueue=t?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(xs,async(n,r)=>{let o=await this._taskStore.getTask(n.params.taskId,r.sessionId);if(!o)throw new I(A.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler($s,async(n,r)=>{let o=async()=>{let s=n.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(s,r.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,m=new I(l.error.code,l.error.message,l.error.data);d(m)}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:r.requestId})}}let i=await this._taskStore.getTask(s,r.sessionId);if(!i)throw new I(A.InvalidParams,`Task not found: ${s}`);if(!Wt(i.status))return await this._waitForTaskUpdate(s,r.signal),await o();if(Wt(i.status)){let a=await this._taskStore.getTaskResult(s,r.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[Ht]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(zs,async(n,r)=>{try{let{tasks:o,nextCursor:s}=await this._taskStore.listTasks(n.params?.cursor,r.sessionId);return{tasks:o,nextCursor:s,_meta:{}}}catch(o){throw new I(A.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(Ts,async(n,r)=>{try{let o=await this._taskStore.getTask(n.params.taskId,r.sessionId);if(!o)throw new I(A.InvalidParams,`Task not found: ${n.params.taskId}`);if(Wt(o.status))throw new I(A.InvalidParams,`Cannot cancel task in terminal status: ${o.status}`);await this._taskStore.updateTaskStatus(n.params.taskId,"cancelled","Client cancelled task execution.",r.sessionId),this._clearTaskQueue(n.params.taskId);let s=await this._taskStore.getTask(n.params.taskId,r.sessionId);if(!s)throw new I(A.InvalidParams,`Task not found after cancellation: ${n.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof I?o:new I(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,n,r,o,s=!1){this._timeoutInfo.set(t,{timeoutId:setTimeout(o,n),startTime:Date.now(),timeout:n,maxTotalTimeout:r,resetTimeoutOnProgress:s,onTimeout:o})}_resetTimeout(t){let n=this._timeoutInfo.get(t);if(!n)return!1;let r=Date.now()-n.startTime;if(n.maxTotalTimeout&&r>=n.maxTotalTimeout)throw this._timeoutInfo.delete(t),I.fromError(A.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:n.maxTotalTimeout,totalElapsed:r});return clearTimeout(n.timeoutId),n.timeoutId=setTimeout(n.onTimeout,n.timeout),!0}_cleanupTimeout(t){let n=this._timeoutInfo.get(t);n&&(clearTimeout(n.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 n=this.transport?.onclose;this._transport.onclose=()=>{n?.(),this._onclose()};let r=this.transport?.onerror;this._transport.onerror=s=>{r?.(s),this._onerror(s)};let o=this._transport?.onmessage;this._transport.onmessage=(s,i)=>{o?.(s,i),Fr(s)||Gm(s)?this._onresponse(s):Kc(s)?this._onrequest(s,i):Km(s)?this._onnotification(s):this._onerror(new Error(`Unknown message type: ${JSON.stringify(s)}`))},await this._transport.start()}_onclose(){let t=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let r of this._timeoutInfo.values())clearTimeout(r.timeoutId);this._timeoutInfo.clear();for(let r of this._requestHandlerAbortControllers.values())r.abort();this._requestHandlerAbortControllers.clear();let n=I.fromError(A.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let r of t.values())r(n)}_onerror(t){this.onerror?.(t)}_onnotification(t){let n=this._notificationHandlers.get(t.method)??this.fallbackNotificationHandler;n!==void 0&&Promise.resolve().then(()=>n(t)).catch(r=>this._onerror(new Error(`Uncaught error in notification handler: ${r}`)))}_onrequest(t,n){let r=this._requestHandlers.get(t.method)??this.fallbackRequestHandler,o=this._transport,s=t.params?._meta?.[Ht]?.taskId;if(r===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=Bm(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,m)=>{if(i.signal.aborted)throw new I(A.ConnectionClosed,"Request was cancelled");let f={...m,relatedRequestId:t.id};s&&!f.relatedTask&&(f.relatedTask={taskId:s});let h=f.relatedTask?.taskId??s;return h&&c&&await c.updateTaskStatus(h,"input_required"),await this.request(d,l,f)},authInfo:n?.authInfo,requestId:t.id,requestInfo:n?.requestInfo,taskId:s,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:n?.closeSSEStream,closeStandaloneSSEStream:n?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(t.method)}).then(()=>r(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:n,...r}=t.params,o=Number(n),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(r)}_onresponse(t){let n=Number(t.id),r=this._requestResolvers.get(n);if(r){if(this._requestResolvers.delete(n),Fr(t))r(t);else{let i=new I(t.error.code,t.error.message,t.error.data);r(i)}return}let o=this._responseHandlers.get(n);if(o===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(t)}`));return}this._responseHandlers.delete(n),this._cleanupTimeout(n);let s=!1;if(Fr(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,n))}}if(s||this._progressHandlers.delete(n),Fr(t))o(t);else{let i=I.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,n,r){let{task:o}=r??{};if(!o){try{yield{type:"result",result:await this.request(t,n,r)}}catch(i){yield{type:"error",error:i instanceof I?i:new I(A.InternalError,String(i))}}return}let s;try{let i=await this.request(t,nr,r);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new I(A.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},r);if(yield{type:"taskStatus",task:a},Wt(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},n,r)}:a.status==="failed"?yield{type:"error",error:new I(A.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new I(A.InternalError,`Task ${s} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:s},n,r)};return}let c=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(u=>setTimeout(u,c)),r?.signal?.throwIfAborted()}}catch(i){yield{type:"error",error:i instanceof I?i:new I(A.InternalError,String(i))}}}request(t,n,r){let{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i,task:a,relatedTask:c}=r??{};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}r?.signal?.throwIfAborted();let m=this._requestMessageId++,f={...t,jsonrpc:"2.0",id:m};r?.onprogress&&(this._progressHandlers.set(m,r.onprogress),f.params={...t.params,_meta:{...t.params?._meta||{},progressToken:m}}),a&&(f.params={...f.params,task:a}),c&&(f.params={...f.params,_meta:{...f.params?._meta||{},[Ht]:c}});let h=w=>{this._responseHandlers.delete(m),this._progressHandlers.delete(m),this._cleanupTimeout(m),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:m,reason:String(w)}},{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(j=>this._onerror(new Error(`Failed to send cancellation: ${j}`)));let k=w instanceof I?w:new I(A.RequestTimeout,String(w));d(k)};this._responseHandlers.set(m,w=>{if(!r?.signal?.aborted){if(w instanceof Error)return d(w);try{let k=Vt(n,w.result);k.success?u(k.data):d(k.error)}catch(k){d(k)}}}),r?.signal?.addEventListener("abort",()=>{h(r?.signal?.reason)});let g=r?.timeout??w0,y=()=>h(I.fromError(A.RequestTimeout,"Request timed out",{timeout:g}));this._setupTimeout(m,g,r?.maxTotalTimeout,y,r?.resetTimeoutOnProgress??!1);let v=c?.taskId;if(v){let w=k=>{let j=this._responseHandlers.get(m);j?j(k):this._onerror(new Error(`Response handler missing for side-channeled request ${m}`))};this._requestResolvers.set(m,w),this._enqueueTaskMessage(v,{type:"request",message:f,timestamp:Date.now()}).catch(k=>{this._cleanupTimeout(m),d(k)})}else this._transport.send(f,{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i}).catch(w=>{this._cleanupTimeout(m),d(w)})})}async getTask(t,n){return this.request({method:"tasks/get",params:t},Ss,n)}async getTaskResult(t,n,r){return this.request({method:"tasks/result",params:t},n,r)}async listTasks(t,n){return this.request({method:"tasks/list",params:t},Ps,n)}async cancelTask(t,n){return this.request({method:"tasks/cancel",params:t},Xm,n)}async notification(t,n){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(t.method);let r=n?.relatedTask?.taskId;if(r){let a={...t,jsonrpc:"2.0",params:{...t.params,_meta:{...t.params?._meta||{},[Ht]:n.relatedTask}}};await this._enqueueTaskMessage(r,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(t.method)&&!t.params&&!n?.relatedRequestId&&!n?.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"};n?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[Ht]:n.relatedTask}}}),this._transport?.send(a,n).catch(c=>this._onerror(c))});return}let i={...t,jsonrpc:"2.0"};n?.relatedTask&&(i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[Ht]:n.relatedTask}}}),await this._transport.send(i,n)}setRequestHandler(t,n){let r=hu(t);this.assertRequestHandlerCapability(r),this._requestHandlers.set(r,(o,s)=>{let i=gu(t,o);return Promise.resolve(n(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,n){let r=hu(t);this._notificationHandlers.set(r,o=>{let s=gu(t,o);return Promise.resolve(n(s))})}removeNotificationHandler(t){this._notificationHandlers.delete(t)}_cleanupTaskProgressHandler(t){let n=this._taskProgressTokens.get(t);n!==void 0&&(this._progressHandlers.delete(n),this._taskProgressTokens.delete(t))}async _enqueueTaskMessage(t,n,r){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,n,r,o)}async _clearTaskQueue(t,n){if(this._taskMessageQueue){let r=await this._taskMessageQueue.dequeueAll(t,n);for(let o of r)if(o.type==="request"&&Kc(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new I(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,n){let r=this._options?.defaultTaskPollInterval??1e3;try{let o=await this._taskStore?.getTask(t);o?.pollInterval&&(r=o.pollInterval)}catch{}return new Promise((o,s)=>{if(n.aborted){s(new I(A.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,r);n.addEventListener("abort",()=>{clearTimeout(i),s(new I(A.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(t,n){let r=this._taskStore;if(!r)throw new Error("No task store configured");return{createTask:async o=>{if(!t)throw new Error("No request provided");return await r.createTask(o,t.id,{method:t.method,params:t.params},n)},getTask:async o=>{let s=await r.getTask(o,n);if(!s)throw new I(A.InvalidParams,"Failed to retrieve task: Task not found");return s},storeTaskResult:async(o,s,i)=>{await r.storeTaskResult(o,s,i,n);let a=await r.getTask(o,n);if(a){let c=Kr.parse({method:"notifications/tasks/status",params:a});await this.notification(c),Wt(a.status)&&this._cleanupTaskProgressHandler(o)}},getTaskResult:o=>r.getTaskResult(o,n),updateTaskStatus:async(o,s,i)=>{let a=await r.getTask(o,n);if(!a)throw new I(A.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(Wt(a.status))throw new I(A.InvalidParams,`Cannot update task "${o}" from terminal status "${a.status}" to "${s}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await r.updateTaskStatus(o,s,i,n);let c=await r.getTask(o,n);if(c){let u=Kr.parse({method:"notifications/tasks/status",params:c});await this.notification(u),Wt(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>r.listTasks(o,n)}}};function Zf(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Uf(e,t){let n={...e};for(let r in t){let o=r,s=t[o];if(s===void 0)continue;let i=n[o];Zf(i)&&Zf(s)?n[o]={...i,...s}:n[o]=s}return n}var Py=Vl(tl(),1),Ty=Vl(zy(),1);function lT(){let e=new Py.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,Ty.default)(e),e}var ki=class{constructor(t){this._ajv=t??lT()}getValidator(t){let n="$id"in t&&typeof t.$id=="string"?this._ajv.getSchema(t.$id)??this._ajv.compile(t):this._ajv.compile(t);return r=>n(r)?{valid:!0,data:r,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(n.errors)}}};var xi=class{constructor(t){this._server=t}requestStream(t,n,r){return this._server.requestStream(t,n,r)}createMessageStream(t,n){let r=this._server.getClientCapabilities();if((t.tools||t.toolChoice)&&!r?.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(m=>m.type==="tool_use").map(m=>m.id)),l=new Set(s.filter(m=>m.type==="tool_result").map(m=>m.toolUseId));if(d.size!==l.size||![...d].every(m=>l.has(m)))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},Yr,n)}elicitInputStream(t,n){let r=this._server.getClientCapabilities(),o=t.mode??"form";switch(o){case"url":{if(!r?.elicitation?.url)throw new Error("Client does not support url elicitation.");break}case"form":{if(!r?.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},ar,n)}async getTask(t,n){return this._server.getTask({taskId:t},n)}async getTaskResult(t,n,r){return this._server.getTaskResult({taskId:t},n,r)}async listTasks(t,n){return this._server.listTasks(t?{cursor:t}:void 0,n)}async cancelTask(t,n){return this._server.cancelTask({taskId:t},n)}};function Ry(e,t,n){if(!e)throw new Error(`${n} does not support task creation (required for ${t})`);switch(t){case"tools/call":if(!e.tools?.call)throw new Error(`${n} does not support task creation for tools/call (required for ${t})`);break;default:break}}function jy(e,t,n){if(!e)throw new Error(`${n} does not support task creation (required for ${t})`);switch(t){case"sampling/createMessage":if(!e.sampling?.createMessage)throw new Error(`${n} does not support task creation for sampling/createMessage (required for ${t})`);break;case"elicitation/create":if(!e.elicitation?.create)throw new Error(`${n} does not support task creation for elicitation/create (required for ${t})`);break;default:break}}var Si=class extends Ds{constructor(t,n){super(n),this._serverInfo=t,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Qr.options.map((r,o)=>[r,o])),this.isMessageIgnored=(r,o)=>{let s=this._loggingLevels.get(o);return s?this.LOG_LEVEL_SEVERITY.get(r)<this.LOG_LEVEL_SEVERITY.get(s):!1},this._capabilities=n?.capabilities??{},this._instructions=n?.instructions,this._jsonSchemaValidator=n?.jsonSchemaValidator??new ki,this.setRequestHandler(Yc,r=>this._oninitialize(r)),this.setNotificationHandler(Xc,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(iu,async(r,o)=>{let s=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:i}=r.params,a=Qr.safeParse(i);return a.success&&this._loggingLevels.set(s,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new xi(this)}),this._experimental}registerCapabilities(t){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Uf(this._capabilities,t)}setRequestHandler(t,n){let o=Bt(t)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(Xe(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(ir,c);if(!d.success){let h=d.error instanceof Error?d.error.message:String(d.error);throw new I(A.InvalidParams,`Invalid tools/call request: ${h}`)}let{params:l}=d.data,m=await Promise.resolve(n(c,u));if(l.task){let h=Vt(nr,m);if(!h.success){let g=h.error instanceof Error?h.error.message:String(h.error);throw new I(A.InvalidParams,`Invalid task creation result: ${g}`)}return h.data}let f=Vt(Es,m);if(!f.success){let h=f.error instanceof Error?f.error.message:String(f.error);throw new I(A.InvalidParams,`Invalid tools/call result: ${h}`)}return f.data};return super.setRequestHandler(t,a)}return super.setRequestHandler(t,n)}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){jy(this._clientCapabilities?.tasks?.requests,t,"Client")}assertTaskHandlerCapability(t){this._capabilities&&Ry(this._capabilities.tasks?.requests,t,"Server")}async _oninitialize(t){let n=t.params.protocolVersion;return this._clientCapabilities=t.params.capabilities,this._clientVersion=t.params.clientInfo,{protocolVersion:Jm.includes(n)?n:Hc,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"},bs)}async createMessage(t,n){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 r=t.messages[t.messages.length-1],o=Array.isArray(r.content)?r.content:[r.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},au,n):this.request({method:"sampling/createMessage",params:t},Yr,n)}async elicitInput(t,n){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},ar,n)}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},ar,n);if(s.action==="accept"&&s.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(s.content);if(!a.valid)throw new I(A.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(i){throw i instanceof I?i:new I(A.InternalError,`Error validating elicitation response: ${i instanceof Error?i.message:String(i)}`)}return s}}}createElicitationCompletionNotifier(t,n){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}},n)}async listRoots(t,n){return this.request({method:"roots/list",params:t},cu,n)}async sendLoggingMessage(t,n){if(this._capabilities.logging&&!this.isMessageIgnored(t.level,n))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 Iy=Symbol.for("mcp.completable");function ul(e){return!!e&&typeof e=="object"&&Iy in e}function Ey(e){return e[Iy]?.complete}var Oy;(function(e){e.Completable="McpCompletable"})(Oy||(Oy={}));var pT=/^[A-Za-z0-9._-]{1,128}$/;function mT(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"),!pT.test(e)){let n=e.split("").filter(r=>!/[A-Za-z0-9._-]/.test(r)).filter((r,o,s)=>s.indexOf(r)===o);return t.push(`Tool name contains invalid characters: ${n.map(r=>`"${r}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:t}}return{isValid:!0,warnings:t}}function fT(e,t){if(t.length>0){console.warn(`Tool name validation warning for "${e}":`);for(let n of t)console.warn(` - ${n}`);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 dl(e){let t=mT(e);return fT(e,t.warnings),t.isValid}var $i=class{constructor(t){this._mcpServer=t}registerToolTask(t,n,r){let o={taskSupport:"required",...n.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,n.title,n.description,n.inputSchema,n.outputSchema,n.annotations,o,n._meta,r)}};var zi=class{constructor(t,n){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new Si(t,n)}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(rn(Is)),this.server.assertCanSetRequestHandler(rn(ir)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(Is,()=>({tools:Object.entries(this._registeredTools).filter(([,t])=>t.enabled).map(([t,n])=>{let r={name:t,title:n.title,description:n.description,inputSchema:(()=>{let o=er(n.inputSchema);return o?fu(o,{strictUnions:!0,pipeStrategy:"input"}):hT})(),annotations:n.annotations,execution:n.execution,_meta:n._meta};if(n.outputSchema){let o=er(n.outputSchema);o&&(r.outputSchema=fu(o,{strictUnions:!0,pipeStrategy:"output"}))}return r})})),this.server.setRequestHandler(ir,async(t,n)=>{try{let r=this._registeredTools[t.params.name];if(!r)throw new I(A.InvalidParams,`Tool ${t.params.name} not found`);if(!r.enabled)throw new I(A.InvalidParams,`Tool ${t.params.name} disabled`);let o=!!t.params.task,s=r.execution?.taskSupport,i="createTask"in r.handler;if((s==="required"||s==="optional")&&!i)throw new I(A.InternalError,`Tool ${t.params.name} has taskSupport '${s}' but was not registered with registerToolTask`);if(s==="required"&&!o)throw new I(A.MethodNotFound,`Tool ${t.params.name} requires task augmentation (taskSupport: 'required')`);if(s==="optional"&&!o&&i)return await this.handleAutomaticTaskPolling(r,t,n);let a=await this.validateToolInput(r,t.params.arguments,t.params.name),c=await this.executeToolHandler(r,a,n);return o||await this.validateToolOutput(r,c,t.params.name),c}catch(r){if(r instanceof I&&r.code===A.UrlElicitationRequired)throw r;return this.createToolError(r instanceof Error?r.message:String(r))}}),this._toolHandlersInitialized=!0)}createToolError(t){return{content:[{type:"text",text:t}],isError:!0}}async validateToolInput(t,n,r){if(!t.inputSchema)return;let s=er(t.inputSchema)??t.inputSchema,i=await ls(s,n);if(!i.success){let a="error"in i?i.error:"Unknown error",c=ps(a);throw new I(A.InvalidParams,`Input validation error: Invalid arguments for tool ${r}: ${c}`)}return i.data}async validateToolOutput(t,n,r){if(!t.outputSchema||!("content"in n)||n.isError)return;if(!n.structuredContent)throw new I(A.InvalidParams,`Output validation error: Tool ${r} has an output schema but no structured content was provided`);let o=er(t.outputSchema),s=await ls(o,n.structuredContent);if(!s.success){let i="error"in s?s.error:"Unknown error",a=ps(i);throw new I(A.InvalidParams,`Output validation error: Invalid structured content for tool ${r}: ${a}`)}}async executeToolHandler(t,n,r){let o=t.handler;if("createTask"in o){if(!r.taskStore)throw new Error("No task store provided.");let i={...r,taskStore:r.taskStore};if(t.inputSchema){let a=o;return await Promise.resolve(a.createTask(n,i))}else{let a=o;return await Promise.resolve(a.createTask(i))}}if(t.inputSchema){let i=o;return await Promise.resolve(i(n,r))}else{let i=o;return await Promise.resolve(i(r))}}async handleAutomaticTaskPolling(t,n,r){if(!r.taskStore)throw new Error("No task store provided for task-capable tool.");let o=await this.validateToolInput(t,n.params.arguments,n.params.name),s=t.handler,i={...r,taskStore:r.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(m=>setTimeout(m,d));let l=await r.taskStore.getTask(c);if(!l)throw new I(A.InternalError,`Task ${c} not found during polling`);u=l}return await r.taskStore.getTaskResult(c)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(rn(Cs)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(Cs,async t=>{switch(t.params.ref.type){case"ref/prompt":return sf(t),this.handlePromptCompletion(t,t.params.ref);case"ref/resource":return af(t),this.handleResourceCompletion(t,t.params.ref);default:throw new I(A.InvalidParams,`Invalid completion reference: ${t.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(t,n){let r=this._registeredPrompts[n.name];if(!r)throw new I(A.InvalidParams,`Prompt ${n.name} not found`);if(!r.enabled)throw new I(A.InvalidParams,`Prompt ${n.name} disabled`);if(!r.argsSchema)return jo;let s=Bt(r.argsSchema)?.[t.params.argument.name];if(!ul(s))return jo;let i=Ey(s);if(!i)return jo;let a=await i(t.params.argument.value,t.params.context);return Ay(a)}async handleResourceCompletion(t,n){let r=Object.values(this._registeredResourceTemplates).find(i=>i.resourceTemplate.uriTemplate.toString()===n.uri);if(!r){if(this._registeredResources[n.uri])return jo;throw new I(A.InvalidParams,`Resource template ${t.params.ref.uri} not found`)}let o=r.resourceTemplate.completeCallback(t.params.argument.name);if(!o)return jo;let s=await o(t.params.argument.value,t.params.context);return Ay(s)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(rn(or)),this.server.assertCanSetRequestHandler(rn(sr)),this.server.assertCanSetRequestHandler(rn(Rs)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(or,async(t,n)=>{let r=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(n);for(let a of i.resources)o.push({...s.metadata,...a})}return{resources:[...r,...o]}}),this.server.setRequestHandler(sr,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([n,r])=>({name:n,uriTemplate:r.resourceTemplate.uriTemplate.toString(),...r.metadata}))})),this.server.setRequestHandler(Rs,async(t,n)=>{let r=new URL(t.params.uri),o=this._registeredResources[r.toString()];if(o){if(!o.enabled)throw new I(A.InvalidParams,`Resource ${r} disabled`);return o.readCallback(r,n)}for(let s of Object.values(this._registeredResourceTemplates)){let i=s.resourceTemplate.uriTemplate.match(r.toString());if(i)return s.readCallback(r,i,n)}throw new I(A.InvalidParams,`Resource ${r} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(rn(js)),this.server.assertCanSetRequestHandler(rn(Os)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(js,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,t])=>t.enabled).map(([t,n])=>({name:t,title:n.title,description:n.description,arguments:n.argsSchema?gT(n.argsSchema):void 0}))})),this.server.setRequestHandler(Os,async(t,n)=>{let r=this._registeredPrompts[t.params.name];if(!r)throw new I(A.InvalidParams,`Prompt ${t.params.name} not found`);if(!r.enabled)throw new I(A.InvalidParams,`Prompt ${t.params.name} disabled`);if(r.argsSchema){let o=er(r.argsSchema),s=await ls(o,t.params.arguments);if(!s.success){let c="error"in s?s.error:"Unknown error",u=ps(c);throw new I(A.InvalidParams,`Invalid arguments for prompt ${t.params.name}: ${u}`)}let i=s.data,a=r.callback;return await Promise.resolve(a(i,n))}else{let o=r.callback;return await Promise.resolve(o(n))}}),this._promptHandlersInitialized=!0)}resource(t,n,...r){let o;typeof r[0]=="object"&&(o=r.shift());let s=r[0];if(typeof n=="string"){if(this._registeredResources[n])throw new Error(`Resource ${n} is already registered`);let i=this._createRegisteredResource(t,void 0,n,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,n,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}}registerResource(t,n,r,o){if(typeof n=="string"){if(this._registeredResources[n])throw new Error(`Resource ${n} is already registered`);let s=this._createRegisteredResource(t,r.title,n,r,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,r.title,n,r,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}}_createRegisteredResource(t,n,r,o,s){let i={name:t,title:n,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!==r&&(delete this._registeredResources[r],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[r]=i,i}_createRegisteredResourceTemplate(t,n,r,o,s){let i={resourceTemplate:r,title:n,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=r.uriTemplate.variableNames;return Array.isArray(a)&&a.some(u=>!!r.completeCallback(u))&&this.setCompletionRequestHandler(),i}_createRegisteredPrompt(t,n,r,o,s){let i={title:n,description:r,argsSchema:o===void 0?void 0:Tn(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=Tn(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 De?c._def?.innerType:c;return ul(u)})&&this.setCompletionRequestHandler(),i}_createRegisteredTool(t,n,r,o,s,i,a,c,u){dl(t);let d={title:n,description:r,inputSchema:Cy(o),outputSchema:Cy(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"&&dl(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=Tn(l.paramsSchema)),typeof l.outputSchema<"u"&&(d.outputSchema=Tn(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,...n){if(this._registeredTools[t])throw new Error(`Tool ${t} is already registered`);let r,o,s,i;if(typeof n[0]=="string"&&(r=n.shift()),n.length>1){let c=n[0];if(ll(c))o=n.shift(),n.length>1&&typeof n[0]=="object"&&n[0]!==null&&!ll(n[0])&&(i=n.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=n.shift()}}let a=n[0];return this._createRegisteredTool(t,void 0,r,o,s,i,{taskSupport:"forbidden"},void 0,a)}registerTool(t,n,r){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}=n;return this._createRegisteredTool(t,o,s,i,a,c,{taskSupport:"forbidden"},u,r)}prompt(t,...n){if(this._registeredPrompts[t])throw new Error(`Prompt ${t} is already registered`);let r;typeof n[0]=="string"&&(r=n.shift());let o;n.length>1&&(o=n.shift());let s=n[0],i=this._createRegisteredPrompt(t,void 0,r,o,s);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),i}registerPrompt(t,n,r){if(this._registeredPrompts[t])throw new Error(`Prompt ${t} is already registered`);let{title:o,description:s,argsSchema:i}=n,a=this._createRegisteredPrompt(t,o,s,i,r);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(t,n){return this.server.sendLoggingMessage(t,n)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}};var hT={type:"object",properties:{}};function My(e){return e!==null&&typeof e=="object"&&"parse"in e&&typeof e.parse=="function"&&"safeParse"in e&&typeof e.safeParse=="function"}function Ny(e){return"_def"in e||"_zod"in e||My(e)}function ll(e){return typeof e!="object"||e===null||Ny(e)?!1:Object.keys(e).length===0?!0:Object.values(e).some(My)}function Cy(e){if(e){if(ll(e))return Tn(e);if(!Ny(e))throw new Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return e}}function gT(e){let t=Bt(e);return t?Object.entries(t).map(([n,r])=>{let o=bm(r),s=vm(r);return{name:n,description:o,required:!s}}):[]}function rn(e){let n=Bt(e)?.method;if(!n)throw new Error("Schema is missing a method literal");let r=ms(n);if(typeof r=="string")return r;throw new Error("Schema method literal must be a string")}function Ay(e){return{completion:{values:e.slice(0,100),total:e.length,hasMore:e.length>100}}}var jo={completion:{values:[],hasMore:!1}};import Dy from"node:process";var Pi=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 n=this._buffer.toString("utf8",0,t).replace(/\r$/,"");return this._buffer=this._buffer.subarray(t+1),yT(n)}clear(){this._buffer=void 0}};function yT(e){return Qm.parse(JSON.parse(e))}function Ly(e){return JSON.stringify(e)+`
43
- `}var Ti=class{constructor(t=Dy.stdin,n=Dy.stdout){this._stdin=t,this._stdout=n,this._readBuffer=new Pi,this._started=!1,this._ondata=r=>{this._readBuffer.append(r),this.processReadBuffer()},this._onerror=r=>{this.onerror?.(r)}}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(n=>{let r=Ly(t);this._stdout.write(r)?n():this._stdout.once("drain",n)})}};import{hostname as MR}from"node:os";import{randomBytes as YT}from"node:crypto";import{existsSync as gl,mkdirSync as XT,readFileSync as yl,renameSync as eR,rmSync as tR,writeFileSync as nR}from"node:fs";import{homedir as rR}from"node:os";import{dirname as oR,join as sR}from"node:path";import{spawn as NT}from"node:child_process";import{randomBytes as LT}from"node:crypto";import{createServer as DT}from"node:http";import{appendFileSync as xT,openSync as VM}from"node:fs";import{homedir as Fy}from"node:os";import{dirname as ST,join as Vy,resolve as $T,sep as zT}from"node:path";import{mkdirSync as PT}from"node:fs";var Pt={_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_fresh_session_resume","harness.mid_stream_stall_fresh_session_resume"],["codex.mid_stream_stall_fresh_session_resume_failed","harness.mid_stream_stall_fresh_session_resume_failed"],["codex.mid_stream_stall_fresh_session_resume_flagged","harness.mid_stream_stall_fresh_session_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_demoted_late_upstream_error","job.turn_demoted_late_upstream_error"],["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.child_thread_event_failed","linzumi.child_thread_event_failed"],["kandan.child_thread_event_skipped_missing_thread_binding","linzumi.child_thread_event_skipped_missing_thread_binding"],["kandan.child_thread_upsert_failed","linzumi.child_thread_upsert_failed"],["kandan.child_thread_upsert_skipped_missing_thread_binding","linzumi.child_thread_upsert_skipped_missing_thread_binding"],["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 bT=new Map(Pt.events),vT=new Map(Pt.events.map(([e,t])=>[t,e])),Uy=new Map(Pt.keys),qy=new Map(Pt.keyPrimaryLegacy),wT=new Map(Pt.values),kT=new Map(Pt.values.map(([e,t])=>[t,e])),ZM={eventCanonicalByLegacy:bT,eventLegacyByCanonical:vT,keyCanonicalByLegacy:Uy,keyPrimaryLegacyByCanonical:qy,valueCanonicalByLegacy:wT,valueLegacyByCanonical:kT,originator:Pt.originator,topic:Pt.topic};function Jy(e){let t=new Set(e);for(let n of e){let r=Uy.get(n);r!==void 0&&t.add(r);let o=qy.get(n);o!==void 0&&t.add(o)}return t}var Zy=new Map;for(let[e,t]of Pt.keys){let n=Zy.get(t)??[];n.push(e),Zy.set(t,n)}var Dn="<SENSITIVE_DATA>",By=Jy(new Set(["access_token","authorization","code","cookie","kandan_preview_ticket","refresh_token","token"])),TT=new Set(["--access-token","--api-key","--authorization","--cookie","--oauth-code","--password","--refresh-token","--secret","--token"]);function RT(e){if(process.env.VITEST===void 0)return;let t=Vy(Fy(),".linzumi"),n=$T(e);if(n===t||n.startsWith(`${t}${zT}`))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 pl(e,t,n={}){let r=n.logFile??jT();RT(r);try{PT(ST(r),{recursive:!0}),xT(r,`${JSON.stringify({ts:new Date().toISOString(),event:e,...n.sessionId===void 0?{}:{sessionId:n.sessionId},...OT(t)})}
44
- `,"utf8")}catch{return}}function jT(){let e=process.env.LINZUMI_CLI_AUDIT_LOG?.trim();return e===void 0||e===""?Vy(Fy(),".linzumi","logs","command-events.jsonl"):e}function OT(e){return Hy(e)}function ml(e,t){return CT(t)?Dn:typeof e=="string"?Wy(e):Array.isArray(e)?t==="args"?IT(e):e.map(n=>ml(n,void 0)):e!==null&&typeof e=="object"?Hy(e):e}function Hy(e){let t=typeof e.name=="string"?e.name.toLowerCase():void 0,n=t==="authorization"||t==="cookie"||t==="set-cookie";return Object.fromEntries(Object.entries(e).filter(([r])=>r!=="runner_console").map(([r,o])=>[r,n&&r==="value"?Dn:ml(o,r)]))}function IT(e){let t=!1;return e.map(n=>{if(typeof n!="string")return t=!1,ml(n,void 0);if(t)return t=!1,Dn;let[r,o]=ET(n);return TT.has(r)?o===void 0?(t=!0,n):`${r}=${Dn}`:Wy(n)})}function ET(e){let t=e.indexOf("=");return t===-1?[e,void 0]:[e.slice(0,t),e.slice(t+1)]}function CT(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 Wy(e){return AT(e).replace(/\beyJ[A-Za-z0-9_-]*\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\b/g,Dn)}function AT(e){let t;try{t=new URL(e)}catch{return MT(e)}for(let n of[...t.searchParams.keys()])By.has(n.toLowerCase())&&t.searchParams.set(n,Dn);return t.toString()}function MT(e){let t=e.indexOf("?"),n=e.indexOf("#");if(t===-1||n!==-1&&n<t)return e;let r=e.slice(0,t),o=n===-1?e.slice(t+1):e.slice(t+1,n),s=n===-1?"":e.slice(n),i=new URLSearchParams(o),a=!1;for(let c of[...i.keys()])By.has(c.toLowerCase())&&(i.set(c,Dn),a=!0);switch(a){case!0:return`${r}?${i.toString()}${s}`;case!1:return e}}var ZT=300*1e3,UT=1e4;function Ky(e,t=process.env){if(typeof e=="number"&&Number.isFinite(e)&&e>0)return e;let n=t.LINZUMI_OAUTH_CALLBACK_TIMEOUT_MS?.trim();if(n!==void 0&&n!==""){let r=Number.parseInt(n,10);if(Number.isFinite(r)&&r>0)return r}return ZT}async function Gy(e){let t=Be(e.kandanUrl),n=LT(18).toString("base64url"),r=await BT({host:qT(e.kandanUrl,e.callbackHost),exchange:async s=>{if(s.state!==n)throw new Error("local runner OAuth state mismatch");return await VT({httpBaseUrl:t,code:s.code,redirectUri:s.redirectUri})}}),o=FT({httpBaseUrl:t,redirectUri:r.redirectUri,state:n,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,onboarding:e.onboarding,purpose:e.purpose});process.stderr.write(`Authorize the local Codex runner:
41
+ ]`;continue}o+=r[c],r[c]==="\\"?s=!0:i&&r[c]==="]"?i=!1:!i&&r[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 Ls(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((r,o)=>({...r,[o]:D(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",o]})??he(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let n={type:"object",additionalProperties:D(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??t.allowedAdditionalProperties};if(t.target==="openApi3")return n;if(e.keyType?._def.typeName===S.ZodString&&e.keyType._def.checks?.length){let{type:r,...o}=Ns(e.keyType._def,t);return{...n,propertyNames:o}}else{if(e.keyType?._def.typeName===S.ZodEnum)return{...n,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:r,...o}=Ms(e.keyType._def,t);return{...n,propertyNames:o}}}return n}function xf(e,t){if(t.mapStrategy==="record")return Ls(e,t);let n=D(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||he(t),r=D(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||he(t);return{type:"array",maxItems:125,items:{type:"array",items:[n,r],minItems:2,maxItems:2}}}function Sf(e){let t=e.values,r=Object.keys(e.values).filter(s=>typeof t[t[s]]!="number").map(s=>t[s]),o=Array.from(new Set(r.map(s=>typeof s)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:r}}function $f(e){return e.target==="openAi"?void 0:{not:he({...e,currentPath:[...e.currentPath,"not"]})}}function zf(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var Xr={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Tf(e,t){if(t.target==="openApi3")return Pf(e,t);let n=e.options instanceof Map?Array.from(e.options.values()):e.options;if(n.every(r=>r._def.typeName in Xr&&(!r._def.checks||!r._def.checks.length))){let r=n.reduce((o,s)=>{let i=Xr[s._def.typeName];return i&&!o.includes(i)?[...o,i]:o},[]);return{type:r.length>1?r:r[0]}}else if(n.every(r=>r._def.typeName==="ZodLiteral"&&!r.description)){let r=n.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(r.length===n.length){let o=r.filter((s,i,a)=>a.indexOf(s)===i);return{type:o.length>1?o:o[0],enum:n.reduce((s,i)=>s.includes(i._def.value)?s:[...s,i._def.value],[])}}}else if(n.every(r=>r._def.typeName==="ZodEnum"))return{type:"string",enum:n.reduce((r,o)=>[...r,...o._def.values.filter(s=>!r.includes(s))],[])};return Pf(e,t)}var Pf=(e,t)=>{let n=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((r,o)=>D(r._def,{...t,currentPath:[...t.currentPath,"anyOf",`${o}`]})).filter(r=>!!r&&(!t.strictUnions||typeof r=="object"&&Object.keys(r).length>0));return n.length?{anyOf:n}:void 0};function Rf(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:Xr[e.innerType._def.typeName],nullable:!0}:{type:[Xr[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let r=D(e.innerType._def,{...t,currentPath:[...t.currentPath]});return r&&"$ref"in r?{allOf:[r],nullable:!0}:r&&{...r,nullable:!0}}let n=D(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return n&&{anyOf:[n,{type:"null"}]}}function jf(e,t){let n={type:"number"};if(!e.checks)return n;for(let r of e.checks)switch(r.kind){case"int":n.type="integer",uu(n,"type",r.message,t);break;case"min":t.target==="jsonSchema7"?r.inclusive?G(n,"minimum",r.value,r.message,t):G(n,"exclusiveMinimum",r.value,r.message,t):(r.inclusive||(n.exclusiveMinimum=!0),G(n,"minimum",r.value,r.message,t));break;case"max":t.target==="jsonSchema7"?r.inclusive?G(n,"maximum",r.value,r.message,t):G(n,"exclusiveMaximum",r.value,r.message,t):(r.inclusive||(n.exclusiveMaximum=!0),G(n,"maximum",r.value,r.message,t));break;case"multipleOf":G(n,"multipleOf",r.value,r.message,t);break}return n}function Of(e,t){let n=t.target==="openAi",r={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=_0(c);u&&n&&(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&&(r.properties[a]=d,u||o.push(a))}o.length&&(r.required=o);let i=y0(e,t);return i!==void 0&&(r.additionalProperties=i),r}function y0(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 _0(e){try{return e.isOptional()}catch{return!0}}var If=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return D(e.innerType._def,t);let n=D(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return n?{anyOf:[{not:he(t)},n]}:he(t)};var Ef=(e,t)=>{if(t.pipeStrategy==="input")return D(e.in._def,t);if(t.pipeStrategy==="output")return D(e.out._def,t);let n=D(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),r=D(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",n?"1":"0"]});return{allOf:[n,r].filter(o=>o!==void 0)}};function Cf(e,t){return D(e.type._def,t)}function Af(e,t){let r={type:"array",uniqueItems:!0,items:D(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&G(r,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&G(r,"maxItems",e.maxSize.value,e.maxSize.message,t),r}function Mf(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((n,r)=>D(n._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((n,r)=>r===void 0?n:[...n,r],[]),additionalItems:D(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((n,r)=>D(n._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((n,r)=>r===void 0?n:[...n,r],[])}}function Nf(e){return{not:he(e)}}function Lf(e){return he(e)}var Df=(e,t)=>D(e.innerType._def,t);var Zf=(e,t,n)=>{switch(t){case S.ZodString:return Ns(e,n);case S.ZodNumber:return jf(e,n);case S.ZodObject:return Of(e,n);case S.ZodBigInt:return ff(e,n);case S.ZodBoolean:return hf();case S.ZodDate:return du(e,n);case S.ZodUndefined:return Nf(n);case S.ZodNull:return zf(n);case S.ZodArray:return mf(e,n);case S.ZodUnion:case S.ZodDiscriminatedUnion:return Tf(e,n);case S.ZodIntersection:return vf(e,n);case S.ZodTuple:return Mf(e,n);case S.ZodRecord:return Ls(e,n);case S.ZodLiteral:return wf(e,n);case S.ZodEnum:return bf(e);case S.ZodNativeEnum:return Sf(e);case S.ZodNullable:return Rf(e,n);case S.ZodOptional:return If(e,n);case S.ZodMap:return xf(e,n);case S.ZodSet:return Af(e,n);case S.ZodLazy:return()=>e.getter()._def;case S.ZodPromise:return Cf(e,n);case S.ZodNaN:case S.ZodNever:return $f(n);case S.ZodEffects:return _f(e,n);case S.ZodAny:return he(n);case S.ZodUnknown:return Lf(n);case S.ZodDefault:return yf(e,n);case S.ZodBranded:return Ms(e,n);case S.ZodReadonly:return Df(e,n);case S.ZodCatch:return gf(e,n);case S.ZodPipeline:return Ef(e,n);case S.ZodFunction:case S.ZodVoid:case S.ZodSymbol:return;default:return(r=>{})(t)}};function D(e,t,n=!1){let r=t.seen.get(e);if(t.override){let a=t.override?.(e,t,r,n);if(a!==df)return a}if(r&&!n){let a=b0(r,t);if(a!==void 0)return a}let o={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,o);let s=Zf(e,e.typeName,t),i=typeof s=="function"?D(s(),t):s;if(i&&v0(e,t,i),t.postProcess){let a=t.postProcess(i,e,t);return o.jsonSchema=i,a}return o.jsonSchema=i,i}var b0=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:As(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((n,r)=>t.currentPath[r]===n)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),he(t)):t.$refStrategy==="seen"?he(t):void 0}},v0=(e,t,n)=>(e.description&&(n.description=e.description,t.markdownDescription&&(n.markdownDescription=e.description)),n);var mu=(e,t)=>{let n=pf(t),r=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((c,[u,d])=>({...c,[u]:D(d._def,{...n,currentPath:[...n.basePath,n.definitionPath,u]},!0)??he(n)}),{}):void 0,o=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,s=D(e._def,o===void 0?n:{...n,currentPath:[...n.basePath,n.definitionPath,o]},!1)??he(n),i=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;i!==void 0&&(s.title=i),n.flags.hasReferencedOpenAiAnyType&&(r||(r={}),r[n.openAiAnyTypeName]||(r[n.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:n.$refStrategy==="relative"?"1":[...n.basePath,n.definitionPath,n.openAiAnyTypeName].join("/")}}));let a=o===void 0?r?{...s,[n.definitionPath]:r}:s:{$ref:[...n.$refStrategy==="relative"?[]:n.basePath,n.definitionPath,o].join("/"),[n.definitionPath]:{...r,[o]:s}};return n.target==="jsonSchema7"?a.$schema="http://json-schema.org/draft-07/schema#":(n.target==="jsonSchema2019-09"||n.target==="openAi")&&(a.$schema="https://json-schema.org/draft/2019-09/schema#"),n.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 w0(e){return!e||e==="jsonSchema7"||e==="draft-7"?"draft-7":e==="jsonSchema2019-09"||e==="draft-2020-12"?"draft-2020-12":"draft-7"}function fu(e,t){return Xe(e)?Mc(e,{target:w0(t?.target),io:t?.pipeStrategy??"input"}):mu(e,{strictUnions:t?.strictUnions??!0,pipeStrategy:t?.pipeStrategy??"input"})}function hu(e){let n=Bt(e)?.method;if(!n)throw new Error("Schema is missing a method literal");let r=ms(n);if(typeof r!="string")throw new Error("Schema method literal must be a string");return r}function gu(e,t){let n=Vt(e,t);if(!n.success)throw n.error;return n.data}var k0=6e4,Ds=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(vs,n=>{this._oncancel(n)}),this.setNotificationHandler(ks,n=>{this._onprogress(n)}),this.setRequestHandler(ws,n=>({})),this._taskStore=t?.taskStore,this._taskMessageQueue=t?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(xs,async(n,r)=>{let o=await this._taskStore.getTask(n.params.taskId,r.sessionId);if(!o)throw new I(A.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler($s,async(n,r)=>{let o=async()=>{let s=n.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(s,r.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 I(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:r.requestId})}}let i=await this._taskStore.getTask(s,r.sessionId);if(!i)throw new I(A.InvalidParams,`Task not found: ${s}`);if(!Wt(i.status))return await this._waitForTaskUpdate(s,r.signal),await o();if(Wt(i.status)){let a=await this._taskStore.getTaskResult(s,r.sessionId);return this._clearTaskQueue(s),{...a,_meta:{...a._meta,[Ht]:{taskId:s}}}}return await o()};return await o()}),this.setRequestHandler(zs,async(n,r)=>{try{let{tasks:o,nextCursor:s}=await this._taskStore.listTasks(n.params?.cursor,r.sessionId);return{tasks:o,nextCursor:s,_meta:{}}}catch(o){throw new I(A.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(Ts,async(n,r)=>{try{let o=await this._taskStore.getTask(n.params.taskId,r.sessionId);if(!o)throw new I(A.InvalidParams,`Task not found: ${n.params.taskId}`);if(Wt(o.status))throw new I(A.InvalidParams,`Cannot cancel task in terminal status: ${o.status}`);await this._taskStore.updateTaskStatus(n.params.taskId,"cancelled","Client cancelled task execution.",r.sessionId),this._clearTaskQueue(n.params.taskId);let s=await this._taskStore.getTask(n.params.taskId,r.sessionId);if(!s)throw new I(A.InvalidParams,`Task not found after cancellation: ${n.params.taskId}`);return{_meta:{},...s}}catch(o){throw o instanceof I?o:new I(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,n,r,o,s=!1){this._timeoutInfo.set(t,{timeoutId:setTimeout(o,n),startTime:Date.now(),timeout:n,maxTotalTimeout:r,resetTimeoutOnProgress:s,onTimeout:o})}_resetTimeout(t){let n=this._timeoutInfo.get(t);if(!n)return!1;let r=Date.now()-n.startTime;if(n.maxTotalTimeout&&r>=n.maxTotalTimeout)throw this._timeoutInfo.delete(t),I.fromError(A.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:n.maxTotalTimeout,totalElapsed:r});return clearTimeout(n.timeoutId),n.timeoutId=setTimeout(n.onTimeout,n.timeout),!0}_cleanupTimeout(t){let n=this._timeoutInfo.get(t);n&&(clearTimeout(n.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 n=this.transport?.onclose;this._transport.onclose=()=>{n?.(),this._onclose()};let r=this.transport?.onerror;this._transport.onerror=s=>{r?.(s),this._onerror(s)};let o=this._transport?.onmessage;this._transport.onmessage=(s,i)=>{o?.(s,i),Fr(s)||Qm(s)?this._onresponse(s):Kc(s)?this._onrequest(s,i):Gm(s)?this._onnotification(s):this._onerror(new Error(`Unknown message type: ${JSON.stringify(s)}`))},await this._transport.start()}_onclose(){let t=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let r of this._timeoutInfo.values())clearTimeout(r.timeoutId);this._timeoutInfo.clear();for(let r of this._requestHandlerAbortControllers.values())r.abort();this._requestHandlerAbortControllers.clear();let n=I.fromError(A.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let r of t.values())r(n)}_onerror(t){this.onerror?.(t)}_onnotification(t){let n=this._notificationHandlers.get(t.method)??this.fallbackNotificationHandler;n!==void 0&&Promise.resolve().then(()=>n(t)).catch(r=>this._onerror(new Error(`Uncaught error in notification handler: ${r}`)))}_onrequest(t,n){let r=this._requestHandlers.get(t.method)??this.fallbackRequestHandler,o=this._transport,s=t.params?._meta?.[Ht]?.taskId;if(r===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=Hm(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 I(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:n?.authInfo,requestId:t.id,requestInfo:n?.requestInfo,taskId:s,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:n?.closeSSEStream,closeStandaloneSSEStream:n?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(t.method)}).then(()=>r(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:n,...r}=t.params,o=Number(n),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(r)}_onresponse(t){let n=Number(t.id),r=this._requestResolvers.get(n);if(r){if(this._requestResolvers.delete(n),Fr(t))r(t);else{let i=new I(t.error.code,t.error.message,t.error.data);r(i)}return}let o=this._responseHandlers.get(n);if(o===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(t)}`));return}this._responseHandlers.delete(n),this._cleanupTimeout(n);let s=!1;if(Fr(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,n))}}if(s||this._progressHandlers.delete(n),Fr(t))o(t);else{let i=I.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,n,r){let{task:o}=r??{};if(!o){try{yield{type:"result",result:await this.request(t,n,r)}}catch(i){yield{type:"error",error:i instanceof I?i:new I(A.InternalError,String(i))}}return}let s;try{let i=await this.request(t,nr,r);if(i.task)s=i.task.taskId,yield{type:"taskCreated",task:i.task};else throw new I(A.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:s},r);if(yield{type:"taskStatus",task:a},Wt(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:s},n,r)}:a.status==="failed"?yield{type:"error",error:new I(A.InternalError,`Task ${s} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new I(A.InternalError,`Task ${s} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:s},n,r)};return}let c=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(u=>setTimeout(u,c)),r?.signal?.throwIfAborted()}}catch(i){yield{type:"error",error:i instanceof I?i:new I(A.InternalError,String(i))}}}request(t,n,r){let{relatedRequestId:o,resumptionToken:s,onresumptiontoken:i,task:a,relatedTask:c}=r??{};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}r?.signal?.throwIfAborted();let p=this._requestMessageId++,h={...t,jsonrpc:"2.0",id:p};r?.onprogress&&(this._progressHandlers.set(p,r.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(j=>this._onerror(new Error(`Failed to send cancellation: ${j}`)));let k=w instanceof I?w:new I(A.RequestTimeout,String(w));d(k)};this._responseHandlers.set(p,w=>{if(!r?.signal?.aborted){if(w instanceof Error)return d(w);try{let k=Vt(n,w.result);k.success?u(k.data):d(k.error)}catch(k){d(k)}}}),r?.signal?.addEventListener("abort",()=>{f(r?.signal?.reason)});let g=r?.timeout??k0,y=()=>f(I.fromError(A.RequestTimeout,"Request timed out",{timeout:g}));this._setupTimeout(p,g,r?.maxTotalTimeout,y,r?.resetTimeoutOnProgress??!1);let v=c?.taskId;if(v){let w=k=>{let j=this._responseHandlers.get(p);j?j(k):this._onerror(new Error(`Response handler missing for side-channeled request ${p}`))};this._requestResolvers.set(p,w),this._enqueueTaskMessage(v,{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,n){return this.request({method:"tasks/get",params:t},Ss,n)}async getTaskResult(t,n,r){return this.request({method:"tasks/result",params:t},n,r)}async listTasks(t,n){return this.request({method:"tasks/list",params:t},Ps,n)}async cancelTask(t,n){return this.request({method:"tasks/cancel",params:t},ef,n)}async notification(t,n){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(t.method);let r=n?.relatedTask?.taskId;if(r){let a={...t,jsonrpc:"2.0",params:{...t.params,_meta:{...t.params?._meta||{},[Ht]:n.relatedTask}}};await this._enqueueTaskMessage(r,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(t.method)&&!t.params&&!n?.relatedRequestId&&!n?.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"};n?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[Ht]:n.relatedTask}}}),this._transport?.send(a,n).catch(c=>this._onerror(c))});return}let i={...t,jsonrpc:"2.0"};n?.relatedTask&&(i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[Ht]:n.relatedTask}}}),await this._transport.send(i,n)}setRequestHandler(t,n){let r=hu(t);this.assertRequestHandlerCapability(r),this._requestHandlers.set(r,(o,s)=>{let i=gu(t,o);return Promise.resolve(n(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,n){let r=hu(t);this._notificationHandlers.set(r,o=>{let s=gu(t,o);return Promise.resolve(n(s))})}removeNotificationHandler(t){this._notificationHandlers.delete(t)}_cleanupTaskProgressHandler(t){let n=this._taskProgressTokens.get(t);n!==void 0&&(this._progressHandlers.delete(n),this._taskProgressTokens.delete(t))}async _enqueueTaskMessage(t,n,r){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,n,r,o)}async _clearTaskQueue(t,n){if(this._taskMessageQueue){let r=await this._taskMessageQueue.dequeueAll(t,n);for(let o of r)if(o.type==="request"&&Kc(o.message)){let s=o.message.id,i=this._requestResolvers.get(s);i?(i(new I(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,n){let r=this._options?.defaultTaskPollInterval??1e3;try{let o=await this._taskStore?.getTask(t);o?.pollInterval&&(r=o.pollInterval)}catch{}return new Promise((o,s)=>{if(n.aborted){s(new I(A.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,r);n.addEventListener("abort",()=>{clearTimeout(i),s(new I(A.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(t,n){let r=this._taskStore;if(!r)throw new Error("No task store configured");return{createTask:async o=>{if(!t)throw new Error("No request provided");return await r.createTask(o,t.id,{method:t.method,params:t.params},n)},getTask:async o=>{let s=await r.getTask(o,n);if(!s)throw new I(A.InvalidParams,"Failed to retrieve task: Task not found");return s},storeTaskResult:async(o,s,i)=>{await r.storeTaskResult(o,s,i,n);let a=await r.getTask(o,n);if(a){let c=Kr.parse({method:"notifications/tasks/status",params:a});await this.notification(c),Wt(a.status)&&this._cleanupTaskProgressHandler(o)}},getTaskResult:o=>r.getTaskResult(o,n),updateTaskStatus:async(o,s,i)=>{let a=await r.getTask(o,n);if(!a)throw new I(A.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(Wt(a.status))throw new I(A.InvalidParams,`Cannot update task "${o}" from terminal status "${a.status}" to "${s}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await r.updateTaskStatus(o,s,i,n);let c=await r.getTask(o,n);if(c){let u=Kr.parse({method:"notifications/tasks/status",params:c});await this.notification(u),Wt(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>r.listTasks(o,n)}}};function Uf(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function qf(e,t){let n={...e};for(let r in t){let o=r,s=t[o];if(s===void 0)continue;let i=n[o];Uf(i)&&Uf(s)?n[o]={...i,...s}:n[o]=s}return n}var Ty=Bl(tl(),1),Ry=Bl(Py(),1);function pT(){let e=new Ty.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,Ry.default)(e),e}var ki=class{constructor(t){this._ajv=t??pT()}getValidator(t){let n="$id"in t&&typeof t.$id=="string"?this._ajv.getSchema(t.$id)??this._ajv.compile(t):this._ajv.compile(t);return r=>n(r)?{valid:!0,data:r,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(n.errors)}}};var xi=class{constructor(t){this._server=t}requestStream(t,n,r){return this._server.requestStream(t,n,r)}createMessageStream(t,n){let r=this._server.getClientCapabilities();if((t.tools||t.toolChoice)&&!r?.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},Yr,n)}elicitInputStream(t,n){let r=this._server.getClientCapabilities(),o=t.mode??"form";switch(o){case"url":{if(!r?.elicitation?.url)throw new Error("Client does not support url elicitation.");break}case"form":{if(!r?.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},ar,n)}async getTask(t,n){return this._server.getTask({taskId:t},n)}async getTaskResult(t,n,r){return this._server.getTaskResult({taskId:t},n,r)}async listTasks(t,n){return this._server.listTasks(t?{cursor:t}:void 0,n)}async cancelTask(t,n){return this._server.cancelTask({taskId:t},n)}};function jy(e,t,n){if(!e)throw new Error(`${n} does not support task creation (required for ${t})`);switch(t){case"tools/call":if(!e.tools?.call)throw new Error(`${n} does not support task creation for tools/call (required for ${t})`);break;default:break}}function Oy(e,t,n){if(!e)throw new Error(`${n} does not support task creation (required for ${t})`);switch(t){case"sampling/createMessage":if(!e.sampling?.createMessage)throw new Error(`${n} does not support task creation for sampling/createMessage (required for ${t})`);break;case"elicitation/create":if(!e.elicitation?.create)throw new Error(`${n} does not support task creation for elicitation/create (required for ${t})`);break;default:break}}var Si=class extends Ds{constructor(t,n){super(n),this._serverInfo=t,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Qr.options.map((r,o)=>[r,o])),this.isMessageIgnored=(r,o)=>{let s=this._loggingLevels.get(o);return s?this.LOG_LEVEL_SEVERITY.get(r)<this.LOG_LEVEL_SEVERITY.get(s):!1},this._capabilities=n?.capabilities??{},this._instructions=n?.instructions,this._jsonSchemaValidator=n?.jsonSchemaValidator??new ki,this.setRequestHandler(Yc,r=>this._oninitialize(r)),this.setNotificationHandler(Xc,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(iu,async(r,o)=>{let s=o.sessionId||o.requestInfo?.headers["mcp-session-id"]||void 0,{level:i}=r.params,a=Qr.safeParse(i);return a.success&&this._loggingLevels.set(s,a.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new xi(this)}),this._experimental}registerCapabilities(t){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=qf(this._capabilities,t)}setRequestHandler(t,n){let o=Bt(t)?.method;if(!o)throw new Error("Schema is missing a method literal");let s;if(Xe(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(ir,c);if(!d.success){let f=d.error instanceof Error?d.error.message:String(d.error);throw new I(A.InvalidParams,`Invalid tools/call request: ${f}`)}let{params:l}=d.data,p=await Promise.resolve(n(c,u));if(l.task){let f=Vt(nr,p);if(!f.success){let g=f.error instanceof Error?f.error.message:String(f.error);throw new I(A.InvalidParams,`Invalid task creation result: ${g}`)}return f.data}let h=Vt(Es,p);if(!h.success){let f=h.error instanceof Error?h.error.message:String(h.error);throw new I(A.InvalidParams,`Invalid tools/call result: ${f}`)}return h.data};return super.setRequestHandler(t,a)}return super.setRequestHandler(t,n)}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){Oy(this._clientCapabilities?.tasks?.requests,t,"Client")}assertTaskHandlerCapability(t){this._capabilities&&jy(this._capabilities.tasks?.requests,t,"Server")}async _oninitialize(t){let n=t.params.protocolVersion;return this._clientCapabilities=t.params.capabilities,this._clientVersion=t.params.clientInfo,{protocolVersion:Fm.includes(n)?n:Hc,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"},bs)}async createMessage(t,n){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 r=t.messages[t.messages.length-1],o=Array.isArray(r.content)?r.content:[r.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},au,n):this.request({method:"sampling/createMessage",params:t},Yr,n)}async elicitInput(t,n){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},ar,n)}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},ar,n);if(s.action==="accept"&&s.content&&o.requestedSchema)try{let a=this._jsonSchemaValidator.getValidator(o.requestedSchema)(s.content);if(!a.valid)throw new I(A.InvalidParams,`Elicitation response content does not match requested schema: ${a.errorMessage}`)}catch(i){throw i instanceof I?i:new I(A.InternalError,`Error validating elicitation response: ${i instanceof Error?i.message:String(i)}`)}return s}}}createElicitationCompletionNotifier(t,n){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}},n)}async listRoots(t,n){return this.request({method:"roots/list",params:t},cu,n)}async sendLoggingMessage(t,n){if(this._capabilities.logging&&!this.isMessageIgnored(t.level,n))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 Ey=Symbol.for("mcp.completable");function ul(e){return!!e&&typeof e=="object"&&Ey in e}function Cy(e){return e[Ey]?.complete}var Iy;(function(e){e.Completable="McpCompletable"})(Iy||(Iy={}));var mT=/^[A-Za-z0-9._-]{1,128}$/;function fT(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"),!mT.test(e)){let n=e.split("").filter(r=>!/[A-Za-z0-9._-]/.test(r)).filter((r,o,s)=>s.indexOf(r)===o);return t.push(`Tool name contains invalid characters: ${n.map(r=>`"${r}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:t}}return{isValid:!0,warnings:t}}function hT(e,t){if(t.length>0){console.warn(`Tool name validation warning for "${e}":`);for(let n of t)console.warn(` - ${n}`);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 dl(e){let t=fT(e);return hT(e,t.warnings),t.isValid}var $i=class{constructor(t){this._mcpServer=t}registerToolTask(t,n,r){let o={taskSupport:"required",...n.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,n.title,n.description,n.inputSchema,n.outputSchema,n.annotations,o,n._meta,r)}};var zi=class{constructor(t,n){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new Si(t,n)}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(rn(Is)),this.server.assertCanSetRequestHandler(rn(ir)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(Is,()=>({tools:Object.entries(this._registeredTools).filter(([,t])=>t.enabled).map(([t,n])=>{let r={name:t,title:n.title,description:n.description,inputSchema:(()=>{let o=er(n.inputSchema);return o?fu(o,{strictUnions:!0,pipeStrategy:"input"}):gT})(),annotations:n.annotations,execution:n.execution,_meta:n._meta};if(n.outputSchema){let o=er(n.outputSchema);o&&(r.outputSchema=fu(o,{strictUnions:!0,pipeStrategy:"output"}))}return r})})),this.server.setRequestHandler(ir,async(t,n)=>{try{let r=this._registeredTools[t.params.name];if(!r)throw new I(A.InvalidParams,`Tool ${t.params.name} not found`);if(!r.enabled)throw new I(A.InvalidParams,`Tool ${t.params.name} disabled`);let o=!!t.params.task,s=r.execution?.taskSupport,i="createTask"in r.handler;if((s==="required"||s==="optional")&&!i)throw new I(A.InternalError,`Tool ${t.params.name} has taskSupport '${s}' but was not registered with registerToolTask`);if(s==="required"&&!o)throw new I(A.MethodNotFound,`Tool ${t.params.name} requires task augmentation (taskSupport: 'required')`);if(s==="optional"&&!o&&i)return await this.handleAutomaticTaskPolling(r,t,n);let a=await this.validateToolInput(r,t.params.arguments,t.params.name),c=await this.executeToolHandler(r,a,n);return o||await this.validateToolOutput(r,c,t.params.name),c}catch(r){if(r instanceof I&&r.code===A.UrlElicitationRequired)throw r;return this.createToolError(r instanceof Error?r.message:String(r))}}),this._toolHandlersInitialized=!0)}createToolError(t){return{content:[{type:"text",text:t}],isError:!0}}async validateToolInput(t,n,r){if(!t.inputSchema)return;let s=er(t.inputSchema)??t.inputSchema,i=await ls(s,n);if(!i.success){let a="error"in i?i.error:"Unknown error",c=ps(a);throw new I(A.InvalidParams,`Input validation error: Invalid arguments for tool ${r}: ${c}`)}return i.data}async validateToolOutput(t,n,r){if(!t.outputSchema||!("content"in n)||n.isError)return;if(!n.structuredContent)throw new I(A.InvalidParams,`Output validation error: Tool ${r} has an output schema but no structured content was provided`);let o=er(t.outputSchema),s=await ls(o,n.structuredContent);if(!s.success){let i="error"in s?s.error:"Unknown error",a=ps(i);throw new I(A.InvalidParams,`Output validation error: Invalid structured content for tool ${r}: ${a}`)}}async executeToolHandler(t,n,r){let o=t.handler;if("createTask"in o){if(!r.taskStore)throw new Error("No task store provided.");let i={...r,taskStore:r.taskStore};if(t.inputSchema){let a=o;return await Promise.resolve(a.createTask(n,i))}else{let a=o;return await Promise.resolve(a.createTask(i))}}if(t.inputSchema){let i=o;return await Promise.resolve(i(n,r))}else{let i=o;return await Promise.resolve(i(r))}}async handleAutomaticTaskPolling(t,n,r){if(!r.taskStore)throw new Error("No task store provided for task-capable tool.");let o=await this.validateToolInput(t,n.params.arguments,n.params.name),s=t.handler,i={...r,taskStore:r.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 r.taskStore.getTask(c);if(!l)throw new I(A.InternalError,`Task ${c} not found during polling`);u=l}return await r.taskStore.getTaskResult(c)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(rn(Cs)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(Cs,async t=>{switch(t.params.ref.type){case"ref/prompt":return af(t),this.handlePromptCompletion(t,t.params.ref);case"ref/resource":return cf(t),this.handleResourceCompletion(t,t.params.ref);default:throw new I(A.InvalidParams,`Invalid completion reference: ${t.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(t,n){let r=this._registeredPrompts[n.name];if(!r)throw new I(A.InvalidParams,`Prompt ${n.name} not found`);if(!r.enabled)throw new I(A.InvalidParams,`Prompt ${n.name} disabled`);if(!r.argsSchema)return jo;let s=Bt(r.argsSchema)?.[t.params.argument.name];if(!ul(s))return jo;let i=Cy(s);if(!i)return jo;let a=await i(t.params.argument.value,t.params.context);return My(a)}async handleResourceCompletion(t,n){let r=Object.values(this._registeredResourceTemplates).find(i=>i.resourceTemplate.uriTemplate.toString()===n.uri);if(!r){if(this._registeredResources[n.uri])return jo;throw new I(A.InvalidParams,`Resource template ${t.params.ref.uri} not found`)}let o=r.resourceTemplate.completeCallback(t.params.argument.name);if(!o)return jo;let s=await o(t.params.argument.value,t.params.context);return My(s)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(rn(or)),this.server.assertCanSetRequestHandler(rn(sr)),this.server.assertCanSetRequestHandler(rn(Rs)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(or,async(t,n)=>{let r=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(n);for(let a of i.resources)o.push({...s.metadata,...a})}return{resources:[...r,...o]}}),this.server.setRequestHandler(sr,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([n,r])=>({name:n,uriTemplate:r.resourceTemplate.uriTemplate.toString(),...r.metadata}))})),this.server.setRequestHandler(Rs,async(t,n)=>{let r=new URL(t.params.uri),o=this._registeredResources[r.toString()];if(o){if(!o.enabled)throw new I(A.InvalidParams,`Resource ${r} disabled`);return o.readCallback(r,n)}for(let s of Object.values(this._registeredResourceTemplates)){let i=s.resourceTemplate.uriTemplate.match(r.toString());if(i)return s.readCallback(r,i,n)}throw new I(A.InvalidParams,`Resource ${r} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(rn(js)),this.server.assertCanSetRequestHandler(rn(Os)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(js,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,t])=>t.enabled).map(([t,n])=>({name:t,title:n.title,description:n.description,arguments:n.argsSchema?yT(n.argsSchema):void 0}))})),this.server.setRequestHandler(Os,async(t,n)=>{let r=this._registeredPrompts[t.params.name];if(!r)throw new I(A.InvalidParams,`Prompt ${t.params.name} not found`);if(!r.enabled)throw new I(A.InvalidParams,`Prompt ${t.params.name} disabled`);if(r.argsSchema){let o=er(r.argsSchema),s=await ls(o,t.params.arguments);if(!s.success){let c="error"in s?s.error:"Unknown error",u=ps(c);throw new I(A.InvalidParams,`Invalid arguments for prompt ${t.params.name}: ${u}`)}let i=s.data,a=r.callback;return await Promise.resolve(a(i,n))}else{let o=r.callback;return await Promise.resolve(o(n))}}),this._promptHandlersInitialized=!0)}resource(t,n,...r){let o;typeof r[0]=="object"&&(o=r.shift());let s=r[0];if(typeof n=="string"){if(this._registeredResources[n])throw new Error(`Resource ${n} is already registered`);let i=this._createRegisteredResource(t,void 0,n,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,n,o,s);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}}registerResource(t,n,r,o){if(typeof n=="string"){if(this._registeredResources[n])throw new Error(`Resource ${n} is already registered`);let s=this._createRegisteredResource(t,r.title,n,r,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,r.title,n,r,o);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),s}}_createRegisteredResource(t,n,r,o,s){let i={name:t,title:n,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!==r&&(delete this._registeredResources[r],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[r]=i,i}_createRegisteredResourceTemplate(t,n,r,o,s){let i={resourceTemplate:r,title:n,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=r.uriTemplate.variableNames;return Array.isArray(a)&&a.some(u=>!!r.completeCallback(u))&&this.setCompletionRequestHandler(),i}_createRegisteredPrompt(t,n,r,o,s){let i={title:n,description:r,argsSchema:o===void 0?void 0:Tn(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=Tn(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 De?c._def?.innerType:c;return ul(u)})&&this.setCompletionRequestHandler(),i}_createRegisteredTool(t,n,r,o,s,i,a,c,u){dl(t);let d={title:n,description:r,inputSchema:Ay(o),outputSchema:Ay(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"&&dl(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=Tn(l.paramsSchema)),typeof l.outputSchema<"u"&&(d.outputSchema=Tn(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,...n){if(this._registeredTools[t])throw new Error(`Tool ${t} is already registered`);let r,o,s,i;if(typeof n[0]=="string"&&(r=n.shift()),n.length>1){let c=n[0];if(ll(c))o=n.shift(),n.length>1&&typeof n[0]=="object"&&n[0]!==null&&!ll(n[0])&&(i=n.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=n.shift()}}let a=n[0];return this._createRegisteredTool(t,void 0,r,o,s,i,{taskSupport:"forbidden"},void 0,a)}registerTool(t,n,r){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}=n;return this._createRegisteredTool(t,o,s,i,a,c,{taskSupport:"forbidden"},u,r)}prompt(t,...n){if(this._registeredPrompts[t])throw new Error(`Prompt ${t} is already registered`);let r;typeof n[0]=="string"&&(r=n.shift());let o;n.length>1&&(o=n.shift());let s=n[0],i=this._createRegisteredPrompt(t,void 0,r,o,s);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),i}registerPrompt(t,n,r){if(this._registeredPrompts[t])throw new Error(`Prompt ${t} is already registered`);let{title:o,description:s,argsSchema:i}=n,a=this._createRegisteredPrompt(t,o,s,i,r);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(t,n){return this.server.sendLoggingMessage(t,n)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}};var gT={type:"object",properties:{}};function Ny(e){return e!==null&&typeof e=="object"&&"parse"in e&&typeof e.parse=="function"&&"safeParse"in e&&typeof e.safeParse=="function"}function Ly(e){return"_def"in e||"_zod"in e||Ny(e)}function ll(e){return typeof e!="object"||e===null||Ly(e)?!1:Object.keys(e).length===0?!0:Object.values(e).some(Ny)}function Ay(e){if(e){if(ll(e))return Tn(e);if(!Ly(e))throw new Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return e}}function yT(e){let t=Bt(e);return t?Object.entries(t).map(([n,r])=>{let o=vm(r),s=wm(r);return{name:n,description:o,required:!s}}):[]}function rn(e){let n=Bt(e)?.method;if(!n)throw new Error("Schema is missing a method literal");let r=ms(n);if(typeof r=="string")return r;throw new Error("Schema method literal must be a string")}function My(e){return{completion:{values:e.slice(0,100),total:e.length,hasMore:e.length>100}}}var jo={completion:{values:[],hasMore:!1}};import Zy from"node:process";var Pi=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 n=this._buffer.toString("utf8",0,t).replace(/\r$/,"");return this._buffer=this._buffer.subarray(t+1),_T(n)}clear(){this._buffer=void 0}};function _T(e){return Ym.parse(JSON.parse(e))}function Dy(e){return JSON.stringify(e)+`
43
+ `}var Ti=class{constructor(t=Zy.stdin,n=Zy.stdout){this._stdin=t,this._stdout=n,this._readBuffer=new Pi,this._started=!1,this._ondata=r=>{this._readBuffer.append(r),this.processReadBuffer()},this._onerror=r=>{this.onerror?.(r)}}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(n=>{let r=Dy(t);this._stdout.write(r)?n():this._stdout.once("drain",n)})}};import{hostname as NR}from"node:os";import{randomBytes as XT}from"node:crypto";import{existsSync as gl,mkdirSync as eR,readFileSync as yl,renameSync as tR,rmSync as nR,writeFileSync as rR}from"node:fs";import{homedir as oR}from"node:os";import{dirname as sR,join as iR}from"node:path";import{spawn as LT}from"node:child_process";import{randomBytes as DT}from"node:crypto";import{createServer as ZT}from"node:http";import{appendFileSync as ST,openSync as BM}from"node:fs";import{homedir as Vy}from"node:os";import{dirname as $T,join as By,resolve as zT,sep as PT}from"node:path";import{mkdirSync as TT}from"node:fs";var Pt={_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_fresh_session_resume","harness.mid_stream_stall_fresh_session_resume"],["codex.mid_stream_stall_fresh_session_resume_failed","harness.mid_stream_stall_fresh_session_resume_failed"],["codex.mid_stream_stall_fresh_session_resume_flagged","harness.mid_stream_stall_fresh_session_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_demoted_late_upstream_error","job.turn_demoted_late_upstream_error"],["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.child_thread_event_failed","linzumi.child_thread_event_failed"],["kandan.child_thread_event_skipped_missing_thread_binding","linzumi.child_thread_event_skipped_missing_thread_binding"],["kandan.child_thread_upsert_failed","linzumi.child_thread_upsert_failed"],["kandan.child_thread_upsert_skipped_missing_thread_binding","linzumi.child_thread_upsert_skipped_missing_thread_binding"],["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 vT=new Map(Pt.events),wT=new Map(Pt.events.map(([e,t])=>[t,e])),qy=new Map(Pt.keys),Jy=new Map(Pt.keyPrimaryLegacy),kT=new Map(Pt.values),xT=new Map(Pt.values.map(([e,t])=>[t,e])),UM={eventCanonicalByLegacy:vT,eventLegacyByCanonical:wT,keyCanonicalByLegacy:qy,keyPrimaryLegacyByCanonical:Jy,valueCanonicalByLegacy:kT,valueLegacyByCanonical:xT,originator:Pt.originator,topic:Pt.topic};function Fy(e){let t=new Set(e);for(let n of e){let r=qy.get(n);r!==void 0&&t.add(r);let o=Jy.get(n);o!==void 0&&t.add(o)}return t}var Uy=new Map;for(let[e,t]of Pt.keys){let n=Uy.get(t)??[];n.push(e),Uy.set(t,n)}var Dn="<SENSITIVE_DATA>",Hy=Fy(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 jT(e){if(process.env.VITEST===void 0)return;let t=By(Vy(),".linzumi"),n=zT(e);if(n===t||n.startsWith(`${t}${PT}`))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 pl(e,t,n={}){let r=n.logFile??OT();jT(r);try{TT($T(r),{recursive:!0}),ST(r,`${JSON.stringify({ts:new Date().toISOString(),event:e,...n.sessionId===void 0?{}:{sessionId:n.sessionId},...IT(t)})}
44
+ `,"utf8")}catch{return}}function OT(){let e=process.env.LINZUMI_CLI_AUDIT_LOG?.trim();return e===void 0||e===""?By(Vy(),".linzumi","logs","command-events.jsonl"):e}function IT(e){return Wy(e)}function ml(e,t){return AT(t)?Dn:typeof e=="string"?Ky(e):Array.isArray(e)?t==="args"?ET(e):e.map(n=>ml(n,void 0)):e!==null&&typeof e=="object"?Wy(e):e}function Wy(e){let t=typeof e.name=="string"?e.name.toLowerCase():void 0,n=t==="authorization"||t==="cookie"||t==="set-cookie";return Object.fromEntries(Object.entries(e).filter(([r])=>r!=="runner_console").map(([r,o])=>[r,n&&r==="value"?Dn:ml(o,r)]))}function ET(e){let t=!1;return e.map(n=>{if(typeof n!="string")return t=!1,ml(n,void 0);if(t)return t=!1,Dn;let[r,o]=CT(n);return RT.has(r)?o===void 0?(t=!0,n):`${r}=${Dn}`:Ky(n)})}function CT(e){let t=e.indexOf("=");return t===-1?[e,void 0]:[e.slice(0,t),e.slice(t+1)]}function AT(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 Ky(e){return MT(e).replace(/\beyJ[A-Za-z0-9_-]*\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\b/g,Dn)}function MT(e){let t;try{t=new URL(e)}catch{return NT(e)}for(let n of[...t.searchParams.keys()])Hy.has(n.toLowerCase())&&t.searchParams.set(n,Dn);return t.toString()}function NT(e){let t=e.indexOf("?"),n=e.indexOf("#");if(t===-1||n!==-1&&n<t)return e;let r=e.slice(0,t),o=n===-1?e.slice(t+1):e.slice(t+1,n),s=n===-1?"":e.slice(n),i=new URLSearchParams(o),a=!1;for(let c of[...i.keys()])Hy.has(c.toLowerCase())&&(i.set(c,Dn),a=!0);switch(a){case!0:return`${r}?${i.toString()}${s}`;case!1:return e}}var UT=300*1e3,qT=1e4;function Gy(e,t=process.env){if(typeof e=="number"&&Number.isFinite(e)&&e>0)return e;let n=t.LINZUMI_OAUTH_CALLBACK_TIMEOUT_MS?.trim();if(n!==void 0&&n!==""){let r=Number.parseInt(n,10);if(Number.isFinite(r)&&r>0)return r}return UT}async function Qy(e){let t=Be(e.kandanUrl),n=DT(18).toString("base64url"),r=await HT({host:JT(e.kandanUrl,e.callbackHost),exchange:async s=>{if(s.state!==n)throw new Error("local runner OAuth state mismatch");return await BT({httpBaseUrl:t,code:s.code,redirectUri:s.redirectUri})}}),o=VT({httpBaseUrl:t,redirectUri:r.redirectUri,state:n,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??QT)(o),await r.waitForToken(Ky(e.waitForTokenTimeoutMs))}finally{r.close()}}async function Qy(e){return await Io(e)==="usable"}async function Io(e){let t=new URL("/api/v2/local-codex-runner/oauth/validate",Be(e.kandanUrl));e.workspaceSlug!==void 0&&t.searchParams.set("workspace",e.workspaceSlug),e.channelSlug!==void 0&&t.searchParams.set("channel",e.channelSlug);for(let r of e.requiredScopes??[])t.searchParams.append("required_scope",r);let n=await fetch(t,{method:"GET",headers:{authorization:`Bearer ${e.accessToken}`}});switch(n.status){case 200:{let r=await n.json();return typeof r=="object"&&r!==null&&"ok"in r&&r.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 ${n.status}`)}}function Be(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 qT(e,t){let n=t?.trim();if(n!==void 0&&n!=="")return n;let r=new URL(e).hostname.trim();return JT(r)&&r!=="localhost"?r:"127.0.0.1"}function JT(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[n,r]=t;return n===void 0||r===void 0?!1:n===10||n===127||n===172&&r>=16&&r<=31||n===192&&r===168||n===169&&r===254||n===100&&r>=64&&r<=127}function FT(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})}),n=await t.json();if(!t.ok||typeof n!="object"||n===null){let s=typeof n=="object"&&n!==null&&"error"in n&&typeof n.error=="string"?n.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 r="access_token"in n?n.access_token:void 0;if(typeof r!="string"||r.trim()==="")throw new Error("local runner OAuth token response did not include access_token");let o="expires_in"in n?n.expires_in:void 0;return{accessToken:r,expiresInSeconds:typeof o=="number"?o:void 0,workspaceSlug:Ri(n,"workspace"),channelSlug:Ri(n,"channel")}}async function Yy(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})}),n=await t.json();if(!t.ok||typeof n!="object"||n===null){let a=hl(n);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 r="device_code"in n?n.device_code:void 0,o="user_code"in n?n.user_code:void 0,s="verification_uri"in n?n.verification_uri:void 0,i="expires_in"in n?n.expires_in:void 0;if(typeof r!="string"||r.trim()===""||typeof o!="string"||o.trim()===""||typeof s!="string"||s.trim()==="")throw new Error("local runner device authorization response was incomplete");return{deviceCode:r,userCode:o,verificationUri:s,expiresInSeconds:typeof i=="number"?i:void 0}}async function Xy(e){let t=e.now??Date.now,n=typeof e.expiresInSeconds=="number"&&e.expiresInSeconds>=0?e.expiresInSeconds:600,r=t()+n*1e3;for(;t()<r;){let o=Math.max(0,Math.min(3e4,r-t())),s=new AbortController,i=setTimeout(()=>s.abort(),o+UT),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&&hl(c)==="authorization_pending")continue;if(!a.ok||typeof c!="object"||c===null){let l=hl(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:Ri(c,"workspace"),channelSlug:Ri(c,"channel")}}}return{kind:"code_expired"}}function hl(e){if(!(typeof e!="object"||e===null||!("error"in e)))return typeof e.error=="string"?e.error:void 0}function e_(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 Ri(e,t){let n=e[t];return typeof n=="string"&&n.trim()!==""?n:void 0}function BT(e){return new Promise((t,n)=>{let r,o,s=!1,i=new Promise((d,l)=>{r=d,o=l});i.catch(()=>{});let a=d=>s?!1:(s=!0,d(),!0),c=`http://${e.host}/callback`,u=DT((d,l)=>{(async()=>{try{let m=new URL(d.url??"/",`http://${e.host}`),f=m.searchParams.get("code"),h=m.searchParams.get("state"),g=m.searchParams.get("error");if(g!==null&&g.trim()!==""){a(()=>o?.(new Error(`local runner OAuth failed: ${g}`))),Oo(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(f===null||h===null||f.trim()===""||h.trim()===""){Oo(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:f,state:h,redirectUri:c})}catch(w){a(()=>o?.(w)),Oo(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 v=a(()=>r?.(y));Oo(l,{title:v?"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(m){a(()=>o?.(m)),Oo(l,{title:"Authorization callback failed",body:"Return to your terminal and rerun the bootstrap command.",status:500})}})()});u.once("error",n),u.listen(0,e.host,()=>{let d=u.address();if(!HT(d)){n(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 m=Ky(l),f=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()},m);return f.unref?.(),i.finally(()=>{clearTimeout(f)}).catch(()=>{}),i},close:()=>{u.close()}})})})}function HT(e){return typeof e=="object"&&e!==null&&typeof e.port=="number"}function Oo(e,t){e.writeHead(t.status,{"content-type":"text/html; charset=utf-8"}),e.end(KT(t))}var WT='<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 KT(e){let t=e.status>=200&&e.status<300,n=t?"badge badge--success":"badge badge--notice",r=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??YT)(o),await r.waitForToken(Gy(e.waitForTokenTimeoutMs))}finally{r.close()}}async function Yy(e){return await Io(e)==="usable"}async function Io(e){let t=new URL("/api/v2/local-codex-runner/oauth/validate",Be(e.kandanUrl));e.workspaceSlug!==void 0&&t.searchParams.set("workspace",e.workspaceSlug),e.channelSlug!==void 0&&t.searchParams.set("channel",e.channelSlug);for(let r of e.requiredScopes??[])t.searchParams.append("required_scope",r);let n=await fetch(t,{method:"GET",headers:{authorization:`Bearer ${e.accessToken}`}});switch(n.status){case 200:{let r=await n.json();return typeof r=="object"&&r!==null&&"ok"in r&&r.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 ${n.status}`)}}function Be(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 JT(e,t){let n=t?.trim();if(n!==void 0&&n!=="")return n;let r=new URL(e).hostname.trim();return FT(r)&&r!=="localhost"?r:"127.0.0.1"}function FT(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[n,r]=t;return n===void 0||r===void 0?!1:n===10||n===127||n===172&&r>=16&&r<=31||n===192&&r===168||n===169&&r===254||n===100&&r>=64&&r<=127}function VT(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 BT(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})}),n=await t.json();if(!t.ok||typeof n!="object"||n===null){let s=typeof n=="object"&&n!==null&&"error"in n&&typeof n.error=="string"?n.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 r="access_token"in n?n.access_token:void 0;if(typeof r!="string"||r.trim()==="")throw new Error("local runner OAuth token response did not include access_token");let o="expires_in"in n?n.expires_in:void 0;return{accessToken:r,expiresInSeconds:typeof o=="number"?o:void 0,workspaceSlug:Ri(n,"workspace"),channelSlug:Ri(n,"channel")}}async function Xy(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})}),n=await t.json();if(!t.ok||typeof n!="object"||n===null){let a=hl(n);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 r="device_code"in n?n.device_code:void 0,o="user_code"in n?n.user_code:void 0,s="verification_uri"in n?n.verification_uri:void 0,i="expires_in"in n?n.expires_in:void 0;if(typeof r!="string"||r.trim()===""||typeof o!="string"||o.trim()===""||typeof s!="string"||s.trim()==="")throw new Error("local runner device authorization response was incomplete");return{deviceCode:r,userCode:o,verificationUri:s,expiresInSeconds:typeof i=="number"?i:void 0}}async function e_(e){let t=e.now??Date.now,n=typeof e.expiresInSeconds=="number"&&e.expiresInSeconds>=0?e.expiresInSeconds:600,r=t()+n*1e3;for(;t()<r;){let o=Math.max(0,Math.min(3e4,r-t())),s=new AbortController,i=setTimeout(()=>s.abort(),o+qT),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&&hl(c)==="authorization_pending")continue;if(!a.ok||typeof c!="object"||c===null){let l=hl(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:Ri(c,"workspace"),channelSlug:Ri(c,"channel")}}}return{kind:"code_expired"}}function hl(e){if(!(typeof e!="object"||e===null||!("error"in e)))return typeof e.error=="string"?e.error:void 0}function t_(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 Ri(e,t){let n=e[t];return typeof n=="string"&&n.trim()!==""?n:void 0}function HT(e){return new Promise((t,n)=>{let r,o,s=!1,i=new Promise((d,l)=>{r=d,o=l});i.catch(()=>{});let a=d=>s?!1:(s=!0,d(),!0),c=`http://${e.host}/callback`,u=ZT((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}`))),Oo(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()===""){Oo(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)),Oo(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 v=a(()=>r?.(y));Oo(l,{title:v?"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)),Oo(l,{title:"Authorization callback failed",body:"Return to your terminal and rerun the bootstrap command.",status:500})}})()});u.once("error",n),u.listen(0,e.host,()=>{let d=u.address();if(!WT(d)){n(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=Gy(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 Oo(e,t){e.writeHead(t.status,{"content-type":"text/html; charset=utf-8"}),e.end(GT(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 GT(e){let t=e.status>=200&&e.status<300,n=t?"badge badge--success":"badge badge--notice",r=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" />
@@ -141,24 +141,24 @@ ${o}
141
141
  <div class="${n}">${r}</div>
142
142
  <h1>${fl(e.title)}</h1>
143
143
  <p>${fl(e.body)}</p>
144
- <div class="logo">${WT}</div>
144
+ <div class="logo">${KT}</div>
145
145
  </main>
146
146
  </body>
147
- </html>`}function fl(e){return e.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;")}function GT(e){return e.replace(/[&^|<>()%"]/g,t=>`^${t}`)}function QT(e){let t=process.platform==="darwin"?"open":process.platform==="win32"?"cmd":"xdg-open",n=process.platform==="win32"?["/c","start","",GT(e)]:[e];return new Promise(r=>{pl("process.spawn",{command:t,args:n,purpose:"oauth.open_browser"});let o=NT(t,n,{stdio:"ignore",detached:!0});pl("process.spawned",{command:t,args:n,pid:o.pid,purpose:"oauth.open_browser"}),o.on("error",()=>r()),o.on("spawn",()=>{o.unref(),r()})})}function t_(){return sR(rR(),".linzumi","auth.json")}function ji(e,t=t_()){if(!gl(t))return;let n=_l(yl(t,"utf8")),r=Be(e),o=n.local_codex_runner?.[r];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:r,issuedAt:o.issued_at,expiresAt:o.expires_at}}function n_(e){if(!gl(e))throw new Error(`missing personal-agent delegation auth file: ${e}`);let n=_l(yl(e,"utf8")).personal_agent_delegation;if(n===void 0||n.access_token.trim()==="")throw new Error("personal-agent delegation auth file is missing access_token");if(n.expires_at!==void 0&&Date.parse(n.expires_at)<=Date.now())throw new Error("personal-agent delegation auth file token is expired");return{accessToken:n.access_token,issuedAt:n.issued_at,expiresAt:n.expires_at}}function r_(e){let t=e.authFilePath??t_(),n=gl(t)?_l(yl(t,"utf8")):{version:1},r=Be(e.kandanUrl),o=new Date,s=e.expiresInSeconds===void 0?void 0:new Date(o.getTime()+e.expiresInSeconds*1e3).toISOString(),i={...n,version:1,local_codex_runner:{...n.local_codex_runner??{},[r]:{access_token:e.accessToken,issued_at:o.toISOString(),expires_at:s}}};XT(oR(t),{recursive:!0});let a=`${t}.tmp.${process.pid}.${YT(6).toString("hex")}`;try{nR(a,`${JSON.stringify(i,null,2)}
148
- `,{encoding:"utf8",mode:384}),eR(a,t)}catch(c){try{tR(a,{force:!0})}catch{}throw c}return{accessToken:e.accessToken,kandanBaseUrl:r,issuedAt:o.toISOString(),expiresAt:s}}function _l(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 n=t,r=n.local_codex_runner,o=n.personal_agent_delegation;if(r!==void 0&&(typeof r!="object"||r===null||Array.isArray(r)))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:aR(r),personal_agent_delegation:iR(o)}}function iR(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e.access_token,n=e.issued_at,r=e.expires_at;if(!(typeof t!="string"||typeof n!="string"))return{access_token:t,issued_at:n,expires_at:typeof r=="string"?r:void 0}}function aR(e){if(!(typeof e!="object"||e===null||Array.isArray(e)))return Object.fromEntries(Object.entries(e).flatMap(([t,n])=>{if(typeof n!="object"||n===null||Array.isArray(n))return[];let r=n.access_token,o=n.issued_at,s=n.expires_at;return typeof r!="string"||typeof o!="string"?[]:[[t,{access_token:r,issued_at:o,expires_at:typeof s=="string"?s:void 0}]]}))}var cR=3,uR=3600*1e3,dR=5e3,lR=5e3,pR=6e4;function mR(e){return e.cycle<=cR?"prompt":e.lastLoudPromptAtMs===void 0||e.nowMs-e.lastLoudPromptAtMs>=uR?"summary":e.isInteractive?"refresh_line":"silent"}function fR(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).
147
+ </html>`}function fl(e){return e.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;")}function QT(e){return e.replace(/[&^|<>()%"]/g,t=>`^${t}`)}function YT(e){let t=process.platform==="darwin"?"open":process.platform==="win32"?"cmd":"xdg-open",n=process.platform==="win32"?["/c","start","",QT(e)]:[e];return new Promise(r=>{pl("process.spawn",{command:t,args:n,purpose:"oauth.open_browser"});let o=LT(t,n,{stdio:"ignore",detached:!0});pl("process.spawned",{command:t,args:n,pid:o.pid,purpose:"oauth.open_browser"}),o.on("error",()=>r()),o.on("spawn",()=>{o.unref(),r()})})}function n_(){return iR(oR(),".linzumi","auth.json")}function ji(e,t=n_()){if(!gl(t))return;let n=_l(yl(t,"utf8")),r=Be(e),o=n.local_codex_runner?.[r];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:r,issuedAt:o.issued_at,expiresAt:o.expires_at}}function r_(e){if(!gl(e))throw new Error(`missing personal-agent delegation auth file: ${e}`);let n=_l(yl(e,"utf8")).personal_agent_delegation;if(n===void 0||n.access_token.trim()==="")throw new Error("personal-agent delegation auth file is missing access_token");if(n.expires_at!==void 0&&Date.parse(n.expires_at)<=Date.now())throw new Error("personal-agent delegation auth file token is expired");return{accessToken:n.access_token,issuedAt:n.issued_at,expiresAt:n.expires_at}}function o_(e){let t=e.authFilePath??n_(),n=gl(t)?_l(yl(t,"utf8")):{version:1},r=Be(e.kandanUrl),o=new Date,s=e.expiresInSeconds===void 0?void 0:new Date(o.getTime()+e.expiresInSeconds*1e3).toISOString(),i={...n,version:1,local_codex_runner:{...n.local_codex_runner??{},[r]:{access_token:e.accessToken,issued_at:o.toISOString(),expires_at:s}}};eR(sR(t),{recursive:!0});let a=`${t}.tmp.${process.pid}.${XT(6).toString("hex")}`;try{rR(a,`${JSON.stringify(i,null,2)}
148
+ `,{encoding:"utf8",mode:384}),tR(a,t)}catch(c){try{nR(a,{force:!0})}catch{}throw c}return{accessToken:e.accessToken,kandanBaseUrl:r,issuedAt:o.toISOString(),expiresAt:s}}function _l(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 n=t,r=n.local_codex_runner,o=n.personal_agent_delegation;if(r!==void 0&&(typeof r!="object"||r===null||Array.isArray(r)))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:cR(r),personal_agent_delegation:aR(o)}}function aR(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e.access_token,n=e.issued_at,r=e.expires_at;if(!(typeof t!="string"||typeof n!="string"))return{access_token:t,issued_at:n,expires_at:typeof r=="string"?r:void 0}}function cR(e){if(!(typeof e!="object"||e===null||Array.isArray(e)))return Object.fromEntries(Object.entries(e).flatMap(([t,n])=>{if(typeof n!="object"||n===null||Array.isArray(n))return[];let r=n.access_token,o=n.issued_at,s=n.expires_at;return typeof r!="string"||typeof o!="string"?[]:[[t,{access_token:r,issued_at:o,expires_at:typeof s=="string"?s:void 0}]]}))}var uR=3,dR=3600*1e3,lR=5e3,pR=5e3,mR=6e4;function fR(e){return e.cycle<=uR?"prompt":e.lastLoudPromptAtMs===void 0||e.nowMs-e.lastLoudPromptAtMs>=dR?"summary":e.isInteractive?"refresh_line":"silent"}function hR(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 ${o_(e.waitedMs)} (${e.cycle} codes issued so far).
152
+ `;case"summary":return`Still waiting for authorization after ${s_(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 ${o_(e.waitedMs)}) - open ${e.verificationUri}`;case"transient":return`Device authorization poll hit a transient failure (${e.reason}); retrying with the same code.
156
+ `;case"refresh_line":return`\r\x1B[2KCode: ${e.userCode} (waiting ${s_(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 o_(e){let t=Math.floor(e/6e4),n=Math.floor(t/60),r=t%60;return n>0?`${n}h ${r}m`:`${r}m`}async function s_(e){let t=e.deps??{},n=t.startDeviceAuthorization??Yy,r=t.pollDeviceCodeForToken??Xy,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(fR(g))),u=t.log??(()=>{}),d=Be(e.kandanUrl),l=o(),m=0,f,h=0;for(;;){let g;try{g=await n({httpBaseUrl:d,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,onboarding:e.onboarding,identity:e.identity})}catch(w){h+=1;let k=Math.min(pR,lR*2**(h-1)),j=w instanceof Error?w.message:String(w);c({kind:"start_failed",reason:j,retryInMs:k}),u("device_wait.start_failed",{reason:j,retryInMs:k,attempt:h}),await s(k);continue}h=0,m+=1;let y=mR({cycle:m,nowMs:o(),lastLoudPromptAtMs:f,isInteractive:a});y==="prompt"||y==="summary"?(f=o(),c({kind:y,cycle:m,userCode:g.userCode,verificationUri:g.verificationUri,waitedMs:o()-l})):y==="refresh_line"&&c({kind:"refresh_line",cycle:m,userCode:g.userCode,verificationUri:g.verificationUri,waitedMs:o()-l}),u("device_wait.code_issued",{cycle:m,verificationUri:g.verificationUri});let v;for(;v=await r({httpBaseUrl:d,deviceCode:g.deviceCode,expiresInSeconds:g.expiresInSeconds}),v.kind==="transient";)c({kind:"transient",reason:v.reason,waitedMs:o()-l}),u("device_wait.transient_poll_failure",{cycle:m,reason:v.reason,httpStatus:v.httpStatus??null}),await s(dR);switch(v.kind){case"token":return u("device_wait.authorized",{cycle:m,waitedMs:o()-l}),v.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:m,outcome:v.kind});continue;case"rejected":c({kind:"transient",reason:e_(v.reason,v.httpStatus),waitedMs:o()-l}),u("device_wait.code_rejected",{cycle:m,reason:v.reason??null,httpStatus:v.httpStatus});continue}}}import{randomUUID as h_}from"node:crypto";import{chmodSync as d_,existsSync as xl,linkSync as yR,mkdirSync as g_,readFileSync as y_,realpathSync as T4,unlinkSync as _R,writeFileSync as __}from"node:fs";import{homedir as bR}from"node:os";import{basename as vl,dirname as Eo,join as wl,resolve as l_}from"node:path";var i_="wss://serve.linzumi.com";import{homedir as hR}from"node:os";import{isAbsolute as k4,relative as x4,resolve as gR}from"node:path";import{delimiter as p4,isAbsolute as m4,join as a_,parse as f4,resolve as h4,sep as g4}from"node:path";var y4=[".volta",".nvm",".npm",".asdf",".fnm",".bun",a_(".cargo","bin"),a_(".local","bin")];function u_(e){return e==="~"?c_():e.startsWith("~/")?gR(c_(),e.slice(2)):e}function c_(){let e=process.env.HOME;return e===void 0||e.trim()===""?hR():e}var bl=384,Lt="prod";function Sr(e=process.env){let t=e.LINZUMI_CONFIG_FILE;return t!==void 0&&t.trim()!==""?l_(u_(t)):l_(bR(),".linzumi","config.json")}function Co(e){let t=Be(e),n=Be(i_);return t===n?Lt:t}function vR(e){let t=Co(e);return t===Lt?Lt:Buffer.from(t).toString("base64url")}function p_(e=Sr()){return v_(e)}function m_(e,t=Sr()){return v_(t,e)}function b_(e,t=Sr(),n=$_){if(Co(e)===Lt)return wR(t,n);let r=m_(e,t);if(r.runnerId!==void 0)return r.runnerId;let o=S_(t,n,e),s=m_(e,t),i=s.runnerId;return i!==void 0?i:(w_({...s,runnerId:o},t,e),o)}function wR(e=Sr(),t=$_){let n=p_(e);if(n.runnerId!==void 0)return n.runnerId;let r=S_(e,t),o=p_(e),s=o.runnerId;return s!==void 0?s:(xR({...o,runnerId:r},e),r)}function kR(e=Sr(),t){return t!==void 0&&Co(t)!==Lt?wl(Eo(e),`${vl(e)}.${vR(t)}.runner-id`):wl(Eo(e),`${vl(e)}.runner-id`)}function xR(e,t=Sr()){w_(e,t)}function SR(e,t){xl(e)&&d_(e,bl),__(e,`${JSON.stringify(t,null,2)}
159
- `,{encoding:"utf8",mode:bl}),d_(e,bl)}function kl(e){if(!xl(e))return{version:1,allowedCwds:[]};let t=JSON.parse(y_(e,"utf8"));if(!k_(t))throw new Error(`invalid Linzumi config: ${e}`);return t}function v_(e,t){let n=kl(e),r=t===void 0?Lt:Co(t),o=r===Lt?n:n[r]??zR();if(!x_(o))throw new Error(`invalid Linzumi config section ${r}: ${e}`);let s=z_(o.allowedCwds);return{version:1,...o.machineId===void 0?{}:{machineId:o.machineId},...o.runnerId===void 0?{}:{runnerId:o.runnerId},allowedCwds:s}}function w_(e,t,n){let r=n===void 0?Lt:Co(n),o=$R(e),s=r===Lt?{...kl(t),...o,version:1}:{...kl(t),version:1,[r]:o};g_(Eo(t),{recursive:!0}),SR(t,s)}function k_(e){return typeof e=="object"&&e!==null&&e.version===1&&x_(e)}function x_(e){return typeof e=="object"&&e!==null&&Array.isArray(e.allowedCwds)&&PR(e.machineId)&&Sl(e.runnerId)&&e.allowedCwds.every(t=>typeof t=="string"&&t.trim()!=="")}function $R(e){if(!k_(e))throw new Error("invalid Linzumi config");let t=z_(e.allowedCwds);return{...e.machineId===void 0?{}:{machineId:e.machineId},...e.runnerId===void 0?{}:{runnerId:e.runnerId},allowedCwds:t}}function zR(){return{allowedCwds:[]}}function PR(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 Sl(e){return e===void 0||typeof e=="string"&&/^[a-zA-Z0-9_.-]+$/.test(e)}function S_(e,t,n){let r=kR(e,n);if(xl(r))return f_(r);let o=t();if(!Sl(o))throw new Error(`invalid generated Linzumi runner id: ${o}`);g_(Eo(r),{recursive:!0});let s=wl(Eo(r),`.${vl(r)}.${process.pid}.${h_()}.tmp`);__(s,`${o}
160
- `,{encoding:"utf8",flag:"wx"});try{return yR(s,r),o}catch(i){if(TR(i,"EEXIST"))return f_(r);throw i}finally{_R(s)}}function f_(e){let t=y_(e,"utf8").trim();if(!Sl(t))throw new Error(`invalid Linzumi runner id seed: ${e}`);return t}function $_(){return`runner-${h_()}`}function z_(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t!==""))]}function TR(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}import{execFileSync as RR}from"node:child_process";import{createHash as jR}from"node:crypto";import{readFileSync as OR}from"node:fs";var IR="linzumi-machine-fingerprint:v1:";function ER(e,t){return RR(e,[...t],{encoding:"utf8",timeout:5e3,maxBuffer:1024*1024})}function CR(e){return OR(e,"utf8")}function AR(e={}){let t=e.platform??process.platform,n=e.execFile??ER,r=e.readFile??CR;try{if(t==="darwin"){let i=n("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=r(o).trim().toLowerCase();if(/^[0-9a-f]{32}$/.test(s))return s}catch{}return}return}catch{return}}function P_(e={}){let t=AR(e);return t===void 0?void 0:`mfp-${jR("sha256").update(`${IR}${t}`).digest("hex").slice(0,32)}`}async function T_(e,t={readCachedToken:ji,validateToken:Io,acquireAndCacheToken:DR}){if(e.explicitToken!==void 0)return e.explicitToken;let n=t.readCachedToken(e.kandanUrl,e.authFilePath);if(n!==void 0){let o=await t.validateToken({kandanUrl:e.kandanUrl,accessToken:n.accessToken,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,requiredScopes:e.requiredScopes});if(o==="usable")return n.accessToken;e.reportRejectedCachedToken?.(o)}let r=await t.acquireAndCacheToken(e);return e.workspaceSlug!==void 0&&await NR(e,t,r),r}async function NR(e,t,n){let r;try{r=await t.validateToken({kandanUrl:e.kandanUrl,accessToken:n,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,requiredScopes:e.requiredScopes})}catch{return}if(r==="not_found")throw new Error(LR(e))}function LR(e){let t=new URL(Be(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 DR(e){let t=e.authMode??{kind:"browser",callbackHost:e.callbackHost},n=t.kind==="device"?await s_({kandanUrl:e.kandanUrl,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,onboarding:e.onboarding,identity:{runnerId:b_(e.kandanUrl),machineFingerprint:P_(),hostname:MR()}}):await Gy({kandanUrl:e.kandanUrl,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,onboarding:e.onboarding,callbackHost:t.callbackHost??e.callbackHost});return r_({kandanUrl:e.kandanUrl,accessToken:n.accessToken,expiresInSeconds:n.expiresInSeconds,authFilePath:e.authFilePath}),n.accessToken}import{realpath as Pl,writeFile as G4,mkdir as Q4,open as ZR}from"node:fs/promises";import{constants as j_}from"node:fs";import{homedir as UR}from"node:os";import{basename as qR,extname as JR,isAbsolute as O_,join as tN,relative as I_,resolve as zl}from"node:path";function ht(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Te(e){return e!==void 0&&ht(e)?e:void 0}function Zn(e){return Array.isArray(e)?e:void 0}function ye(e){return typeof e=="string"&&e.trim()!==""?e.trim():void 0}function R_(e){return typeof e=="number"&&Number.isInteger(e)?e:void 0}var FR=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 Tl(e,t){let n=await Pl(e),r=await HR(n),o=await VR(n,t),s=await BR(r,o);return{fileName:qR(o),contentType:GR(o,s.classification),sizeBytes:s.bytes.byteLength,bytes:s.bytes}}async function VR(e,t){if(t==="")throw new Error("Kandan attachment path must not be empty");let n=O_(t)?zl(t):zl(e,t);return await Pl(n)}var $l=8192;async function BR(e,t){let n=e.find(i=>WR(i.path,t));if(n===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(I_(n.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=await ZR(t,j_.O_RDONLY|j_.O_NONBLOCK);try{if(!(await s.stat()).isFile())throw new Error(`Kandan attachment path is not a file: ${t}`);let a=JR(t).toLowerCase();if(FR.has(a))return{classification:"known-type",bytes:await s.readFile()};let c=Buffer.alloc($l),{bytesRead:u}=await s.read(c,0,$l,0);if(c.subarray(0,u).includes(0))throw new Error(`Kandan attachment upload requires a known media/document type or text content (binary content is not allowed): ${t}`);let d=await s.readFile();if(d.subarray(0,$l).includes(0))throw new Error(`Kandan attachment upload requires a known media/document type or text content (binary content is not allowed): ${t}`);return{classification:"text-content",bytes:d}}finally{await s.close()}}async function HR(e){let t=[{path:e,label:"runner cwd"}],n=process.env.HOME?.trim(),r=zl(n===void 0||n===""?UR():n,"Downloads");try{let o=await Pl(r);t.some(s=>s.path===o)||t.push({path:o,label:"~/Downloads"})}catch{return t}return t}function WR(e,t){let n=I_(e,t);return n===""||!n.startsWith("..")&&!O_(n)}function KR(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 GR(e,t){if(e.toLowerCase().endsWith(".py"))return"text/x-python";let r=KR(e);return t==="text-content"&&r==="application/octet-stream"?"text/plain":r}function Rl(e){let t=e.fetchImpl??fetch,n=Be(e.kandanUrl),r=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,n),l={...c,operating_mode:o},m={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 m.headers={...m.headers,"content-type":"application/json"},m.body=JSON.stringify(l);let f=await t(d,m),h=await f.json(),g=ht(h)?h:void 0;if(g===void 0)throw new Error(`Linzumi MCP API returned non-object JSON from ${a}`);if(f.ok&&g.ok===!0)return g;let y=typeof g.error=="string"?g.error:`HTTP ${f.status}`,v=typeof g.detail=="string"?g.detail:void 0;throw new Error(`Linzumi MCP API ${a} failed: ${y}${v===void 0?"":` detail=${v}`}`)};return{validateAuth:()=>s("GET",`${r}/validate`,{}),issueOnboardingDiscoveryToken:i=>s("POST",`${r}/onboarding-discovery-token`,i),getMessage:i=>s("GET",`${r}/message`,i),getThread:i=>s("GET",`${r}/thread`,i),getThreadTranscript:i=>s("GET",`${r}/thread-transcript`,i),getChannel:i=>s("GET",`${r}/channel`,i),searchWorkspace:i=>s("GET",`${r}/search`,i),askWorkspace:i=>s("POST",`${r}/ask`,i),aboutMe:i=>s("GET",`${r}/about-me`,i),webSearch:i=>s("GET",`${r}/web-search`,i),fetchUrl:i=>s("GET",`${r}/fetch-url`,i),listUiTargets:i=>s("GET",`${r}/ui-targets`,i),openUi:i=>s("POST",`${r}/open-ui`,i),getCodingJobMetadata:i=>s("GET",`${r}/coding-job-metadata`,i),listProjects:i=>s("GET",`${r}/projects`,i),getProjectTasks:i=>s("GET",`${r}/project-tasks`,i),createProjectTask:i=>s("POST",`${r}/project-tasks/create`,i),updateProjectTask:i=>s("POST",`${r}/project-tasks/update`,i),deleteProjectTask:i=>s("POST",`${r}/project-tasks/delete`,i),addProjectTaskDependency:i=>s("POST",`${r}/project-tasks/add-dependency`,i),removeProjectTaskDependency:i=>s("POST",`${r}/project-tasks/remove-dependency`,i),getCallTranscript:i=>s("GET",`${r}/call-transcript`,i),renameCodingJob:i=>s("POST",`${r}/coding-job-title`,i),upsertCodingJobPlan:(i,a)=>s("POST",`${r}/coding-job-plan`,i,a),replaceCodingJobPlanSteps:i=>s("POST",`${r}/coding-job-plan/steps`,i),updateCodingJobPlanStep:i=>s("POST",`${r}/coding-job-plan/step`,i),linkCodingJobPullRequest:i=>s("POST",`${r}/coding-job-primary-pr`,i),listVaultSecrets:i=>s("GET",`${r}/vault-secrets`,i),noteProjectDirectory:i=>s("POST",`${r}/discovered-project`,i),noteAgentConversation:i=>s("POST",`${r}/discovered-conversation`,i),noteOnboardingDiscoveryStatus:i=>s("POST",`${r}/discovery-status`,i),sendChannelMessage:i=>s("POST",`${r}/channel-message`,i),editMessage:i=>s("POST",`${r}/message/edit`,i),agentReply:i=>s("POST",`${r}/agent-reply`,i),agentTurnProgress:i=>s("POST",`${r}/agent-turn-progress`,i),agentDocumentTool:i=>s("POST",`${r}/agent/document-tool`,i),agentListCodingJobs:i=>s("GET",`${r}/agent/coding-jobs`,i),agentStartCodingJob:i=>s("POST",`${r}/agent/start-coding-job`,i),agentSpawnChildJob:i=>s("POST",`${r}/agent/spawn-child-job`,i),agentInterruptCodingJob:i=>s("POST",`${r}/agent/interrupt-coding-job`,i),agentSendCodingJobMessage:i=>s("POST",`${r}/agent/send-coding-job-message`,i),agentDiscoverCodingJobs:i=>s("GET",`${r}/agent/discover-coding-jobs`,i),agentReadCodingJobThread:i=>s("GET",`${r}/agent/coding-job-thread`,i),agentResolveJobApproval:i=>s("POST",`${r}/agent/resolve-job-approval`,i),agentArchiveCodingJob:i=>s("POST",`${r}/agent/archive-coding-job`,i),agentUnarchiveCodingJob:i=>s("POST",`${r}/agent/unarchive-coding-job`,i),agentSetThreadStatus:i=>s("POST",`${r}/agent/set-thread-status`,i),agentCreateChannel:i=>s("POST",`${r}/agent/create-channel`,i),agentRenameChannel:i=>s("POST",`${r}/agent/rename-channel`,i),agentArchiveChannel:i=>s("POST",`${r}/agent/archive-channel`,i),agentUnarchiveChannel:i=>s("POST",`${r}/agent/unarchive-channel`,i),agentAddReaction:i=>s("POST",`${r}/agent/add-reaction`,i),agentRemoveReaction:i=>s("POST",`${r}/agent/remove-reaction`,i),agentPinMessage:i=>s("POST",`${r}/agent/pin-message`,i),agentUnpinMessage:i=>s("POST",`${r}/agent/unpin-message`,i),prepareMessageUploads:i=>s("POST",`${r}/message-uploads/prepare`,i),attachMessageFiles:i=>s("POST",`${r}/message-files/attach`,i),prepareCustomEmoji:i=>s("POST",`${r}/custom-emoji/prepare`,i),renameCustomEmoji:i=>s("POST",`${r}/custom-emoji/rename`,i),sendThreadReply:i=>s("POST",`${r}/thread-reply`,i),sendDm:i=>s("POST",`${r}/dm`,i),dmOwner:i=>s("POST",`${r}/dm-owner`,i),getVaultValues:i=>s("POST",`${r}/vault-values`,i)}}import{closeSync as E_,fstatSync as QR,mkdirSync as Oi,openSync as C_,readdirSync as YR,readFileSync as A_,readSync as XR,renameSync as ej,rmSync as jl,statSync as tj,writeFileSync as M_}from"node:fs";import{spawn as nj,execFile as lN}from"node:child_process";import{createHash as rj}from"node:crypto";import{createConnection as oj}from"node:net";import{homedir as sj}from"node:os";import{dirname as Ol,join as Un}from"node:path";var N_=()=>{},L_=1;function ij(){let e=process.env.LINZUMI_DEV_SERVICES_DIR?.trim();return e!==void 0&&e!==""?e:Un(sj(),".linzumi","dev-services")}function D_(e){let t=e.replace(/[^A-Za-z0-9._-]+/g,"-").replace(/^[-.]+|[-.]+$/g,"").slice(0,80),n=rj("sha256").update(e).digest("hex").slice(0,8),r=t===""?"runner":t;return Un(ij(),`${r}.${n}`)}function Ii(e){let t=e.trim().toLowerCase();return/^[a-z0-9][a-z0-9._-]{0,63}$/.test(t)&&!t.includes("..")?t:void 0}function Il(e,t){return Un(e,"services",`${t}.json`)}function El(e,t){return Un(e,"exits",`${t}.json`)}function Z_(e,t){return Un(e,"logs",`${t}.log`)}function Ao(e){return typeof e=="string"&&e!==""?e:void 0}function Mo(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function aj(e){return Array.isArray(e)?e.filter(t=>typeof t=="number"&&Number.isInteger(t)&&t>0&&t<=65535):[]}function cj(e){if(!ht(e)||e.version!==L_)return;let t=Ao(e.name),n=t===void 0?void 0:Ii(t),r=Ao(e.command),o=Ao(e.cwd),s=e.desiredState==="running"||e.desiredState==="stopped"?e.desiredState:void 0,i=Mo(e.updatedAtMs),a=Ao(e.logPath);if(!(n===void 0||n!==t||r===void 0||o===void 0||s===void 0||i===void 0||a===void 0))return{name:n,command:r,cwd:o,ports:aj(e.ports),restartOnBranchChange:e.restartOnBranchChange===!0,desiredState:s,pid:Mo(e.pid),ownerPid:Mo(e.ownerPid),startedAtMs:Mo(e.startedAtMs),updatedAtMs:i,lastBranch:Ao(e.lastBranch),logPath:a}}function uj(e){return{version:L_,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 U_(e,t,n){let r=Il(e,t.name);try{Oi(Ol(r),{recursive:!0});let o=`${r}.tmp`;M_(o,`${JSON.stringify(uj(t))}
161
- `,"utf8"),ej(o,r)}catch(o){n("dev_services.record_write_failed",{path:r,message:o instanceof Error?o.message:String(o)})}}function Cl(e,t){let n=Ii(t);if(n===void 0)return;let r;try{r=A_(Il(e,n),"utf8")}catch{return}try{return cj(JSON.parse(r))}catch{return}}function dj(e){let t;try{t=YR(Un(e,"services"))}catch{return[]}let n=[];for(let r of t){if(!r.endsWith(".json"))continue;let o=Cl(e,r.slice(0,-5));o!==void 0&&n.push(o)}return n.sort((r,o)=>r.name.localeCompare(o.name))}function q_(e,t){let n;try{n=A_(El(e,t),"utf8")}catch{return}try{let r=JSON.parse(n);if(!ht(r))return;let o=Mo(r.atMs);return o===void 0?void 0:{code:typeof r.code=="number"?r.code:null,signal:typeof r.signal=="string"?r.signal:null,atMs:o}}catch{return}}function lj(e){return JSON.stringify(e)}function pj(){return`
158
+ `}}function s_(e){let t=Math.floor(e/6e4),n=Math.floor(t/60),r=t%60;return n>0?`${n}h ${r}m`:`${r}m`}async function i_(e){let t=e.deps??{},n=t.startDeviceAuthorization??Xy,r=t.pollDeviceCodeForToken??e_,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(hR(g))),u=t.log??(()=>{}),d=Be(e.kandanUrl),l=o(),p=0,h,f=0;for(;;){let g;try{g=await n({httpBaseUrl:d,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,onboarding:e.onboarding,identity:e.identity})}catch(w){f+=1;let k=Math.min(mR,pR*2**(f-1)),j=w instanceof Error?w.message:String(w);c({kind:"start_failed",reason:j,retryInMs:k}),u("device_wait.start_failed",{reason:j,retryInMs:k,attempt:f}),await s(k);continue}f=0,p+=1;let y=fR({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 v;for(;v=await r({httpBaseUrl:d,deviceCode:g.deviceCode,expiresInSeconds:g.expiresInSeconds}),v.kind==="transient";)c({kind:"transient",reason:v.reason,waitedMs:o()-l}),u("device_wait.transient_poll_failure",{cycle:p,reason:v.reason,httpStatus:v.httpStatus??null}),await s(lR);switch(v.kind){case"token":return u("device_wait.authorized",{cycle:p,waitedMs:o()-l}),v.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:v.kind});continue;case"rejected":c({kind:"transient",reason:t_(v.reason,v.httpStatus),waitedMs:o()-l}),u("device_wait.code_rejected",{cycle:p,reason:v.reason??null,httpStatus:v.httpStatus});continue}}}import{randomUUID as g_}from"node:crypto";import{chmodSync as l_,existsSync as xl,linkSync as _R,mkdirSync as y_,readFileSync as __,realpathSync as R4,unlinkSync as bR,writeFileSync as b_}from"node:fs";import{homedir as vR}from"node:os";import{basename as vl,dirname as Eo,join as wl,resolve as p_}from"node:path";var a_="wss://serve.linzumi.com";import{homedir as gR}from"node:os";import{isAbsolute as x4,relative as S4,resolve as yR}from"node:path";import{delimiter as m4,isAbsolute as f4,join as c_,parse as h4,resolve as g4,sep as y4}from"node:path";var _4=[".volta",".nvm",".npm",".asdf",".fnm",".bun",c_(".cargo","bin"),c_(".local","bin")];function d_(e){return e==="~"?u_():e.startsWith("~/")?yR(u_(),e.slice(2)):e}function u_(){let e=process.env.HOME;return e===void 0||e.trim()===""?gR():e}var bl=384,Lt="prod";function Sr(e=process.env){let t=e.LINZUMI_CONFIG_FILE;return t!==void 0&&t.trim()!==""?p_(d_(t)):p_(vR(),".linzumi","config.json")}function Co(e){let t=Be(e),n=Be(a_);return t===n?Lt:t}function wR(e){let t=Co(e);return t===Lt?Lt:Buffer.from(t).toString("base64url")}function m_(e=Sr()){return w_(e)}function f_(e,t=Sr()){return w_(t,e)}function v_(e,t=Sr(),n=z_){if(Co(e)===Lt)return kR(t,n);let r=f_(e,t);if(r.runnerId!==void 0)return r.runnerId;let o=$_(t,n,e),s=f_(e,t),i=s.runnerId;return i!==void 0?i:(k_({...s,runnerId:o},t,e),o)}function kR(e=Sr(),t=z_){let n=m_(e);if(n.runnerId!==void 0)return n.runnerId;let r=$_(e,t),o=m_(e),s=o.runnerId;return s!==void 0?s:(SR({...o,runnerId:r},e),r)}function xR(e=Sr(),t){return t!==void 0&&Co(t)!==Lt?wl(Eo(e),`${vl(e)}.${wR(t)}.runner-id`):wl(Eo(e),`${vl(e)}.runner-id`)}function SR(e,t=Sr()){k_(e,t)}function $R(e,t){xl(e)&&l_(e,bl),b_(e,`${JSON.stringify(t,null,2)}
159
+ `,{encoding:"utf8",mode:bl}),l_(e,bl)}function kl(e){if(!xl(e))return{version:1,allowedCwds:[]};let t=JSON.parse(__(e,"utf8"));if(!x_(t))throw new Error(`invalid Linzumi config: ${e}`);return t}function w_(e,t){let n=kl(e),r=t===void 0?Lt:Co(t),o=r===Lt?n:n[r]??PR();if(!S_(o))throw new Error(`invalid Linzumi config section ${r}: ${e}`);let s=P_(o.allowedCwds);return{version:1,...o.machineId===void 0?{}:{machineId:o.machineId},...o.runnerId===void 0?{}:{runnerId:o.runnerId},allowedCwds:s}}function k_(e,t,n){let r=n===void 0?Lt:Co(n),o=zR(e),s=r===Lt?{...kl(t),...o,version:1}:{...kl(t),version:1,[r]:o};y_(Eo(t),{recursive:!0}),$R(t,s)}function x_(e){return typeof e=="object"&&e!==null&&e.version===1&&S_(e)}function S_(e){return typeof e=="object"&&e!==null&&Array.isArray(e.allowedCwds)&&TR(e.machineId)&&Sl(e.runnerId)&&e.allowedCwds.every(t=>typeof t=="string"&&t.trim()!=="")}function zR(e){if(!x_(e))throw new Error("invalid Linzumi config");let t=P_(e.allowedCwds);return{...e.machineId===void 0?{}:{machineId:e.machineId},...e.runnerId===void 0?{}:{runnerId:e.runnerId},allowedCwds:t}}function PR(){return{allowedCwds:[]}}function TR(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 Sl(e){return e===void 0||typeof e=="string"&&/^[a-zA-Z0-9_.-]+$/.test(e)}function $_(e,t,n){let r=xR(e,n);if(xl(r))return h_(r);let o=t();if(!Sl(o))throw new Error(`invalid generated Linzumi runner id: ${o}`);y_(Eo(r),{recursive:!0});let s=wl(Eo(r),`.${vl(r)}.${process.pid}.${g_()}.tmp`);b_(s,`${o}
160
+ `,{encoding:"utf8",flag:"wx"});try{return _R(s,r),o}catch(i){if(RR(i,"EEXIST"))return h_(r);throw i}finally{bR(s)}}function h_(e){let t=__(e,"utf8").trim();if(!Sl(t))throw new Error(`invalid Linzumi runner id seed: ${e}`);return t}function z_(){return`runner-${g_()}`}function P_(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 jR}from"node:child_process";import{createHash as OR}from"node:crypto";import{readFileSync as IR}from"node:fs";var ER="linzumi-machine-fingerprint:v1:";function CR(e,t){return jR(e,[...t],{encoding:"utf8",timeout:5e3,maxBuffer:1024*1024})}function AR(e){return IR(e,"utf8")}function MR(e={}){let t=e.platform??process.platform,n=e.execFile??CR,r=e.readFile??AR;try{if(t==="darwin"){let i=n("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=r(o).trim().toLowerCase();if(/^[0-9a-f]{32}$/.test(s))return s}catch{}return}return}catch{return}}function T_(e={}){let t=MR(e);return t===void 0?void 0:`mfp-${OR("sha256").update(`${ER}${t}`).digest("hex").slice(0,32)}`}async function R_(e,t={readCachedToken:ji,validateToken:Io,acquireAndCacheToken:ZR}){if(e.explicitToken!==void 0)return e.explicitToken;let n=t.readCachedToken(e.kandanUrl,e.authFilePath);if(n!==void 0){let o=await t.validateToken({kandanUrl:e.kandanUrl,accessToken:n.accessToken,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,requiredScopes:e.requiredScopes});if(o==="usable")return n.accessToken;e.reportRejectedCachedToken?.(o)}let r=await t.acquireAndCacheToken(e);return e.workspaceSlug!==void 0&&await LR(e,t,r),r}async function LR(e,t,n){let r;try{r=await t.validateToken({kandanUrl:e.kandanUrl,accessToken:n,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,requiredScopes:e.requiredScopes})}catch{return}if(r==="not_found")throw new Error(DR(e))}function DR(e){let t=new URL(Be(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 ZR(e){let t=e.authMode??{kind:"browser",callbackHost:e.callbackHost},n=t.kind==="device"?await i_({kandanUrl:e.kandanUrl,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,onboarding:e.onboarding,identity:{runnerId:v_(e.kandanUrl),machineFingerprint:T_(),hostname:NR()}}):await Qy({kandanUrl:e.kandanUrl,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug,onboarding:e.onboarding,callbackHost:t.callbackHost??e.callbackHost});return o_({kandanUrl:e.kandanUrl,accessToken:n.accessToken,expiresInSeconds:n.expiresInSeconds,authFilePath:e.authFilePath}),n.accessToken}import{realpath as Tl,writeFile as Q4,mkdir as Y4,open as UR}from"node:fs/promises";import{constants as O_}from"node:fs";import{homedir as qR}from"node:os";import{basename as JR,extname as FR,isAbsolute as I_,join as nN,relative as E_,resolve as Pl}from"node:path";function it(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function $l(e){let t=e.split(".")[1];if(t===void 0||t.length===0)return!1;try{let n=JSON.parse(Buffer.from(t,"base64url").toString("utf8"));if(!it(n)||n.document_surfaces!==!0)return!1;let r=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,o=typeof n.linzumi_agent_session=="string"&&r.test(n.linzumi_agent_session),s=typeof n.coding_job_id=="string"&&r.test(n.coding_job_id)&&typeof n.coding_job_thread_id=="string"&&r.test(n.coding_job_thread_id);return o||s}catch{return!1}}function Te(e){return e!==void 0&&it(e)?e:void 0}function Zn(e){return Array.isArray(e)?e:void 0}function ye(e){return typeof e=="string"&&e.trim()!==""?e.trim():void 0}function j_(e){return typeof e=="number"&&Number.isInteger(e)?e:void 0}var VR=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 Rl(e,t){let n=await Tl(e),r=await WR(n),o=await BR(n,t),s=await HR(r,o);return{fileName:JR(o),contentType:QR(o,s.classification),sizeBytes:s.bytes.byteLength,bytes:s.bytes}}async function BR(e,t){if(t==="")throw new Error("Kandan attachment path must not be empty");let n=I_(t)?Pl(t):Pl(e,t);return await Tl(n)}var zl=8192;async function HR(e,t){let n=e.find(i=>KR(i.path,t));if(n===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(E_(n.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=await UR(t,O_.O_RDONLY|O_.O_NONBLOCK);try{if(!(await s.stat()).isFile())throw new Error(`Kandan attachment path is not a file: ${t}`);let a=FR(t).toLowerCase();if(VR.has(a))return{classification:"known-type",bytes:await s.readFile()};let c=Buffer.alloc(zl),{bytesRead:u}=await s.read(c,0,zl,0);if(c.subarray(0,u).includes(0))throw new Error(`Kandan attachment upload requires a known media/document type or text content (binary content is not allowed): ${t}`);let d=await s.readFile();if(d.subarray(0,zl).includes(0))throw new Error(`Kandan attachment upload requires a known media/document type or text content (binary content is not allowed): ${t}`);return{classification:"text-content",bytes:d}}finally{await s.close()}}async function WR(e){let t=[{path:e,label:"runner cwd"}],n=process.env.HOME?.trim(),r=Pl(n===void 0||n===""?qR():n,"Downloads");try{let o=await Tl(r);t.some(s=>s.path===o)||t.push({path:o,label:"~/Downloads"})}catch{return t}return t}function KR(e,t){let n=E_(e,t);return n===""||!n.startsWith("..")&&!I_(n)}function GR(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 QR(e,t){if(e.toLowerCase().endsWith(".py"))return"text/x-python";let r=GR(e);return t==="text-content"&&r==="application/octet-stream"?"text/plain":r}function jl(e){let t=e.fetchImpl??fetch,n=Be(e.kandanUrl),r=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,n),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=it(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}`,v=typeof g.detail=="string"?g.detail:void 0;throw new Error(`Linzumi MCP API ${a} failed: ${y}${v===void 0?"":` detail=${v}`}`)};return{validateAuth:()=>s("GET",`${r}/validate`,{}),issueOnboardingDiscoveryToken:i=>s("POST",`${r}/onboarding-discovery-token`,i),getMessage:i=>s("GET",`${r}/message`,i),getThread:i=>s("GET",`${r}/thread`,i),getThreadTranscript:i=>s("GET",`${r}/thread-transcript`,i),getChannel:i=>s("GET",`${r}/channel`,i),searchWorkspace:i=>s("GET",`${r}/search`,i),askWorkspace:i=>s("POST",`${r}/ask`,i),aboutMe:i=>s("GET",`${r}/about-me`,i),webSearch:i=>s("GET",`${r}/web-search`,i),fetchUrl:i=>s("GET",`${r}/fetch-url`,i),listUiTargets:i=>s("GET",`${r}/ui-targets`,i),openUi:i=>s("POST",`${r}/open-ui`,i),getCodingJobMetadata:i=>s("GET",`${r}/coding-job-metadata`,i),listProjects:i=>s("GET",`${r}/projects`,i),getProjectTasks:i=>s("GET",`${r}/project-tasks`,i),createProjectTask:i=>s("POST",`${r}/project-tasks/create`,i),updateProjectTask:i=>s("POST",`${r}/project-tasks/update`,i),deleteProjectTask:i=>s("POST",`${r}/project-tasks/delete`,i),addProjectTaskDependency:i=>s("POST",`${r}/project-tasks/add-dependency`,i),removeProjectTaskDependency:i=>s("POST",`${r}/project-tasks/remove-dependency`,i),getCallTranscript:i=>s("GET",`${r}/call-transcript`,i),renameCodingJob:i=>s("POST",`${r}/coding-job-title`,i),upsertCodingJobPlan:(i,a)=>s("POST",`${r}/coding-job-plan`,i,a),replaceCodingJobPlanSteps:i=>s("POST",`${r}/coding-job-plan/steps`,i),updateCodingJobPlanStep:i=>s("POST",`${r}/coding-job-plan/step`,i),linkCodingJobPullRequest:i=>s("POST",`${r}/coding-job-primary-pr`,i),listVaultSecrets:i=>s("GET",`${r}/vault-secrets`,i),noteProjectDirectory:i=>s("POST",`${r}/discovered-project`,i),noteAgentConversation:i=>s("POST",`${r}/discovered-conversation`,i),noteOnboardingDiscoveryStatus:i=>s("POST",`${r}/discovery-status`,i),sendChannelMessage:i=>s("POST",`${r}/channel-message`,i),editMessage:i=>s("POST",`${r}/message/edit`,i),agentReply:i=>s("POST",`${r}/agent-reply`,i),agentTurnProgress:i=>s("POST",`${r}/agent-turn-progress`,i),agentDocumentTool:i=>s("POST",`${r}/agent/document-tool`,i),agentListCodingJobs:i=>s("GET",`${r}/agent/coding-jobs`,i),agentStartCodingJob:i=>s("POST",`${r}/agent/start-coding-job`,i),agentSpawnChildJob:i=>s("POST",`${r}/agent/spawn-child-job`,i),agentInterruptCodingJob:i=>s("POST",`${r}/agent/interrupt-coding-job`,i),agentSendCodingJobMessage:i=>s("POST",`${r}/agent/send-coding-job-message`,i),agentDiscoverCodingJobs:i=>s("GET",`${r}/agent/discover-coding-jobs`,i),agentReadCodingJobThread:i=>s("GET",`${r}/agent/coding-job-thread`,i),agentResolveJobApproval:i=>s("POST",`${r}/agent/resolve-job-approval`,i),agentArchiveCodingJob:i=>s("POST",`${r}/agent/archive-coding-job`,i),agentUnarchiveCodingJob:i=>s("POST",`${r}/agent/unarchive-coding-job`,i),agentSetThreadStatus:i=>s("POST",`${r}/agent/set-thread-status`,i),agentCreateChannel:i=>s("POST",`${r}/agent/create-channel`,i),agentRenameChannel:i=>s("POST",`${r}/agent/rename-channel`,i),agentArchiveChannel:i=>s("POST",`${r}/agent/archive-channel`,i),agentUnarchiveChannel:i=>s("POST",`${r}/agent/unarchive-channel`,i),agentAddReaction:i=>s("POST",`${r}/agent/add-reaction`,i),agentRemoveReaction:i=>s("POST",`${r}/agent/remove-reaction`,i),agentPinMessage:i=>s("POST",`${r}/agent/pin-message`,i),agentUnpinMessage:i=>s("POST",`${r}/agent/unpin-message`,i),prepareMessageUploads:i=>s("POST",`${r}/message-uploads/prepare`,i),attachMessageFiles:i=>s("POST",`${r}/message-files/attach`,i),prepareCustomEmoji:i=>s("POST",`${r}/custom-emoji/prepare`,i),renameCustomEmoji:i=>s("POST",`${r}/custom-emoji/rename`,i),sendThreadReply:i=>s("POST",`${r}/thread-reply`,i),sendDm:i=>s("POST",`${r}/dm`,i),dmOwner:i=>s("POST",`${r}/dm-owner`,i),getVaultValues:i=>s("POST",`${r}/vault-values`,i)}}import{closeSync as C_,fstatSync as YR,mkdirSync as Oi,openSync as A_,readdirSync as XR,readFileSync as M_,readSync as ej,renameSync as tj,rmSync as Ol,statSync as nj,writeFileSync as N_}from"node:fs";import{spawn as rj,execFile as pN}from"node:child_process";import{createHash as oj}from"node:crypto";import{createConnection as sj}from"node:net";import{homedir as ij}from"node:os";import{dirname as Il,join as Un}from"node:path";var L_=()=>{},D_=1;function aj(){let e=process.env.LINZUMI_DEV_SERVICES_DIR?.trim();return e!==void 0&&e!==""?e:Un(ij(),".linzumi","dev-services")}function Z_(e){let t=e.replace(/[^A-Za-z0-9._-]+/g,"-").replace(/^[-.]+|[-.]+$/g,"").slice(0,80),n=oj("sha256").update(e).digest("hex").slice(0,8),r=t===""?"runner":t;return Un(aj(),`${r}.${n}`)}function Ii(e){let t=e.trim().toLowerCase();return/^[a-z0-9][a-z0-9._-]{0,63}$/.test(t)&&!t.includes("..")?t:void 0}function El(e,t){return Un(e,"services",`${t}.json`)}function Cl(e,t){return Un(e,"exits",`${t}.json`)}function U_(e,t){return Un(e,"logs",`${t}.log`)}function Ao(e){return typeof e=="string"&&e!==""?e:void 0}function Mo(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function cj(e){return Array.isArray(e)?e.filter(t=>typeof t=="number"&&Number.isInteger(t)&&t>0&&t<=65535):[]}function uj(e){if(!it(e)||e.version!==D_)return;let t=Ao(e.name),n=t===void 0?void 0:Ii(t),r=Ao(e.command),o=Ao(e.cwd),s=e.desiredState==="running"||e.desiredState==="stopped"?e.desiredState:void 0,i=Mo(e.updatedAtMs),a=Ao(e.logPath);if(!(n===void 0||n!==t||r===void 0||o===void 0||s===void 0||i===void 0||a===void 0))return{name:n,command:r,cwd:o,ports:cj(e.ports),restartOnBranchChange:e.restartOnBranchChange===!0,desiredState:s,pid:Mo(e.pid),ownerPid:Mo(e.ownerPid),startedAtMs:Mo(e.startedAtMs),updatedAtMs:i,lastBranch:Ao(e.lastBranch),logPath:a}}function dj(e){return{version:D_,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 q_(e,t,n){let r=El(e,t.name);try{Oi(Il(r),{recursive:!0});let o=`${r}.tmp`;N_(o,`${JSON.stringify(dj(t))}
161
+ `,"utf8"),tj(o,r)}catch(o){n("dev_services.record_write_failed",{path:r,message:o instanceof Error?o.message:String(o)})}}function Al(e,t){let n=Ii(t);if(n===void 0)return;let r;try{r=M_(El(e,n),"utf8")}catch{return}try{return uj(JSON.parse(r))}catch{return}}function lj(e){let t;try{t=XR(Un(e,"services"))}catch{return[]}let n=[];for(let r of t){if(!r.endsWith(".json"))continue;let o=Al(e,r.slice(0,-5));o!==void 0&&n.push(o)}return n.sort((r,o)=>r.name.localeCompare(o.name))}function J_(e,t){let n;try{n=M_(Cl(e,t),"utf8")}catch{return}try{let r=JSON.parse(n);if(!it(r))return;let o=Mo(r.atMs);return o===void 0?void 0:{code:typeof r.code=="number"?r.code:null,signal:typeof r.signal=="string"?r.signal:null,atMs:o}}catch{return}}function pj(e){return JSON.stringify(e)}function mj(){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 mj(e,t){return{command:e,args:["-e",pj(),lj(t)]}}function J_(e,t=n=>process.kill(n,0)){if(e===void 0||e<=1)return!1;try{return t(-e),!0}catch(n){return n?.code==="EPERM"}}function Al(e,t){if(t.pid===void 0||t.pid<=1)return!1;let n=q_(e,t.name);return n!==void 0&&t.startedAtMs!==void 0&&n.atMs>=t.startedAtMs?!1:J_(t.pid)}async function Ml(e,t=750,n="127.0.0.1"){return await new Promise(r=>{let o=oj({port:e,host:n}),s=i=>{o.removeAllListeners(),o.destroy(),r(i)};o.setTimeout(t),o.once("connect",()=>s(!0)),o.once("timeout",()=>s(!1)),o.once("error",()=>s(!1))})}async function fj(e,t){let n=Al(e,t),r=[];for(let s of t.ports)r.push({port:s,listening:n?await Ml(s):!1});let o=t.desiredState==="stopped"?"stopped":n?r.every(s=>s.listening)?"running":"unhealthy":"exited";return{record:t,liveness:o,portProbes:r,lastExit:q_(e,t.name)}}async function Nl(e){let t=[];for(let n of dj(e))t.push(await fj(e,n));return t}function hj(e=process.env){let t=e.SHELL?.trim();return t!==void 0&&t!==""?t:"/bin/sh"}async function F_(e){let t=e.log??N_,n=Ii(e.definition.name);if(n===void 0)return{ok:!1,error:"invalid service name: use 1-64 lowercase letters, digits, ., _ or -"};let r=e.definition.command.trim();if(r==="")return{ok:!1,error:"service command must not be empty"};try{if(!tj(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=Cl(e.scopeDir,n);o!==void 0&&Al(e.scopeDir,o)&&await V_(o.pid,t,n);let s=e.nowMs??Date.now(),i=Z_(e.scopeDir,n),a=El(e.scopeDir,n),c;try{Oi(Ol(i),{recursive:!0}),Oi(Un(e.scopeDir,"services"),{recursive:!0}),Oi(Ol(a),{recursive:!0}),c=C_(i,"a")}catch(f){return{ok:!1,error:`cannot open service log: ${f instanceof Error?f.message:String(f)}`}}try{jl(a,{force:!0})}catch{}let u=e.shellPath??hj(),d=mj(e.nodeExecPath??process.execPath,{command:u,args:["-lc",r],cwd:e.definition.cwd,ownerPid:e.ownerPid,pollIntervalMs:e.watchdogPollIntervalMs??500,exitStatusPath:a});try{M_(c,`
217
+ `.trim()}function fj(e,t){return{command:e,args:["-e",mj(),pj(t)]}}function F_(e,t=n=>process.kill(n,0)){if(e===void 0||e<=1)return!1;try{return t(-e),!0}catch(n){return n?.code==="EPERM"}}function Ml(e,t){if(t.pid===void 0||t.pid<=1)return!1;let n=J_(e,t.name);return n!==void 0&&t.startedAtMs!==void 0&&n.atMs>=t.startedAtMs?!1:F_(t.pid)}async function Nl(e,t=750,n="127.0.0.1"){return await new Promise(r=>{let o=sj({port:e,host:n}),s=i=>{o.removeAllListeners(),o.destroy(),r(i)};o.setTimeout(t),o.once("connect",()=>s(!0)),o.once("timeout",()=>s(!1)),o.once("error",()=>s(!1))})}async function hj(e,t){let n=Ml(e,t),r=[];for(let s of t.ports)r.push({port:s,listening:n?await Nl(s):!1});let o=t.desiredState==="stopped"?"stopped":n?r.every(s=>s.listening)?"running":"unhealthy":"exited";return{record:t,liveness:o,portProbes:r,lastExit:J_(e,t.name)}}async function Ll(e){let t=[];for(let n of lj(e))t.push(await hj(e,n));return t}function gj(e=process.env){let t=e.SHELL?.trim();return t!==void 0&&t!==""?t:"/bin/sh"}async function V_(e){let t=e.log??L_,n=Ii(e.definition.name);if(n===void 0)return{ok:!1,error:"invalid service name: use 1-64 lowercase letters, digits, ., _ or -"};let r=e.definition.command.trim();if(r==="")return{ok:!1,error:"service command must not be empty"};try{if(!nj(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=Al(e.scopeDir,n);o!==void 0&&Ml(e.scopeDir,o)&&await B_(o.pid,t,n);let s=e.nowMs??Date.now(),i=U_(e.scopeDir,n),a=Cl(e.scopeDir,n),c;try{Oi(Il(i),{recursive:!0}),Oi(Un(e.scopeDir,"services"),{recursive:!0}),Oi(Il(a),{recursive:!0}),c=A_(i,"a")}catch(h){return{ok:!1,error:`cannot open service log: ${h instanceof Error?h.message:String(h)}`}}try{Ol(a,{force:!0})}catch{}let u=e.shellPath??gj(),d=fj(e.nodeExecPath??process.execPath,{command:u,args:["-lc",r],cwd:e.definition.cwd,ownerPid:e.ownerPid,pollIntervalMs:e.watchdogPollIntervalMs??500,exitStatusPath:a});try{N_(c,`
218
218
  --- linzumi dev-service "${n}" starting at ${new Date(s).toISOString()} (owner pid ${e.ownerPid}) ---
219
219
  $ ${r}
220
- `)}catch{}let l;try{let f=nj(d.command,[...d.args],{cwd:e.definition.cwd,detached:!0,stdio:["ignore",c,c],env:{...process.env,ELECTRON_RUN_AS_NODE:"1"}});f.unref(),l=f.pid}catch(f){return{ok:!1,error:`spawn failed: ${f instanceof Error?f.message:String(f)}`}}finally{try{E_(c)}catch{}}if(l===void 0)return{ok:!1,error:"spawn failed: no pid"};let m={name:n,command:r,cwd:e.definition.cwd,ports:[...new Set(e.definition.ports)].sort((f,h)=>f-h),restartOnBranchChange:e.definition.restartOnBranchChange===!0,desiredState:"running",pid:l,ownerPid:e.ownerPid,startedAtMs:s,updatedAtMs:s,lastBranch:void 0,logPath:i};return U_(e.scopeDir,m,t),t("dev_services.started",{name:n,pid:l,owner_pid:e.ownerPid,cwd:e.definition.cwd,ports:[...m.ports]}),{ok:!0,record:m}}async function V_(e,t,n,r=3e3){if(e===void 0||e<=1)return;try{process.kill(-e,"SIGTERM")}catch{return}let o=Date.now()+r;for(;Date.now()<o;){if(!J_(e))return;await new Promise(s=>setTimeout(s,100))}try{process.kill(-e,"SIGKILL"),t("dev_services.stop_escalated",{name:n,pgid:e})}catch{}}async function Ll(e){let t=e.log??N_,n=Cl(e.scopeDir,e.name);if(n===void 0)return{ok:!1,error:`unknown service: ${e.name}`};Al(e.scopeDir,n)&&await V_(n.pid,t,n.name);let r={...n,desiredState:"stopped",pid:void 0,ownerPid:void 0,updatedAtMs:e.nowMs??Date.now()};return U_(e.scopeDir,r,t),t("dev_services.stopped",{name:n.name}),{ok:!0,record:r}}async function B_(e){let t=await Ll(e);if(!t.ok)return t;try{jl(Il(e.scopeDir,t.record.name),{force:!0}),jl(El(e.scopeDir,t.record.name),{force:!0})}catch{}return t}function H_(e,t,n=16384){let r=Ii(t);if(r===void 0)return;let o=Z_(e,r),s;try{s=C_(o,"r");let i=QR(s).size,a=Math.min(i,n),c=Buffer.alloc(a);return XR(s,c,0,a,i-a),c.toString("utf8")}catch{return}finally{if(s!==void 0)try{E_(s)}catch{}}}var yN=10*6e4;function W_(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"]:[],...e.askUserQuestionTool===!0?["--ask-user-question-tool"]:[],...e.multiAgentJobs===!0?["--multi-agent-jobs"]:[]],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 K_(e){return`${JSON.stringify({mcpServers:{[e.name]:{command:e.command,args:e.args,env:e.env}}},null,2)}
221
- `}function G_(e){return`[mcp_servers.${e.name}]
220
+ `)}catch{}let l;try{let h=rj(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_(c)}catch{}}if(l===void 0)return{ok:!1,error:"spawn failed: no pid"};let p={name:n,command:r,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 q_(e.scopeDir,p,t),t("dev_services.started",{name:n,pid:l,owner_pid:e.ownerPid,cwd:e.definition.cwd,ports:[...p.ports]}),{ok:!0,record:p}}async function B_(e,t,n,r=3e3){if(e===void 0||e<=1)return;try{process.kill(-e,"SIGTERM")}catch{return}let o=Date.now()+r;for(;Date.now()<o;){if(!F_(e))return;await new Promise(s=>setTimeout(s,100))}try{process.kill(-e,"SIGKILL"),t("dev_services.stop_escalated",{name:n,pgid:e})}catch{}}async function Dl(e){let t=e.log??L_,n=Al(e.scopeDir,e.name);if(n===void 0)return{ok:!1,error:`unknown service: ${e.name}`};Ml(e.scopeDir,n)&&await B_(n.pid,t,n.name);let r={...n,desiredState:"stopped",pid:void 0,ownerPid:void 0,updatedAtMs:e.nowMs??Date.now()};return q_(e.scopeDir,r,t),t("dev_services.stopped",{name:n.name}),{ok:!0,record:r}}async function H_(e){let t=await Dl(e);if(!t.ok)return t;try{Ol(El(e.scopeDir,t.record.name),{force:!0}),Ol(Cl(e.scopeDir,t.record.name),{force:!0})}catch{}return t}function W_(e,t,n=16384){let r=Ii(t);if(r===void 0)return;let o=U_(e,r),s;try{s=A_(o,"r");let i=YR(s).size,a=Math.min(i,n),c=Buffer.alloc(a);return ej(s,c,0,a,i-a),c.toString("utf8")}catch{return}finally{if(s!==void 0)try{C_(s)}catch{}}}var _N=10*6e4;function K_(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"]:[],...e.askUserQuestionTool===!0?["--ask-user-question-tool"]:[],...e.multiAgentJobs===!0?["--multi-agent-jobs"]:[]],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 G_(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 = ${gj(e.args)}
224
- ${Object.keys(e.env).length===0?"":`env = ${yj(e.env)}
225
- `}`}function gj(e){return`[${e.map(t=>JSON.stringify(t)).join(", ")}]`}function yj(e){return`{ ${Object.entries(e).map(([n,r])=>`${n} = ${JSON.stringify(r)}`).join(", ")} }`}var Q_="linzumi_ask_user_question",No=4,Lo=12,Do=2,Zo=4,Y_="Other";var X_=2147483647,_j=2147483,vN=_j*1e3-5*6e4,eb="linzumi_ask_user_question",tb="plan_mode_native_interview_tool",nb="no_active_turn";function bj(e){let t=e.trim().toLowerCase();switch(t){case"other":case"something else":case"something else...":return!0;default:return t.includes("other")||t.includes("something else")}}function rb(e){let t=Te(e),n=Zn(t?.questions);if(n===void 0)return{type:"invalid",message:"questions: expected an array"};if(n.length===0)return{type:"invalid",message:"questions: min 1, got 0"};if(n.length>No)return{type:"invalid",message:`questions: max ${No}, got ${n.length}`};let r=[],o=new Set;for(let[s,i]of n.entries()){let a=Te(i);if(a===void 0)return{type:"invalid",message:`questions[${s}]: expected an object`};let c=ye(a.question);if(c===void 0)return{type:"invalid",message:`questions[${s}].question: must be a non-empty string`};if(o.has(c))return{type:"invalid",message:`questions: duplicate question text ${JSON.stringify(c)}`};let u=ye(a.header);if(u===void 0)return{type:"invalid",message:`questions[${s}].header: must be a non-empty string`};if(u.length>Lo)return{type:"invalid",message:`questions[${s}].header: max ${Lo} chars, got ${u.length}`};if(a.multiSelect!==void 0&&typeof a.multiSelect!="boolean")return{type:"invalid",message:`questions[${s}].multiSelect: must be a boolean`};let d=Zn(a.options);if(d===void 0)return{type:"invalid",message:`questions[${s}].options: expected an array`};if(d.length<Do)return{type:"invalid",message:`questions[${s}].options: min ${Do}, got ${d.length}`};if(d.length>Zo)return{type:"invalid",message:`questions[${s}].options: max ${Zo}, got ${d.length}`};let l=[],m=new Set;for(let[f,h]of d.entries()){let g=Te(h),y=ye(g?.label);if(g===void 0||y===void 0)return{type:"invalid",message:`questions[${s}].options[${f}].label: must be a non-empty string`};if(g.description!==void 0&&typeof g.description!="string")return{type:"invalid",message:`questions[${s}].options[${f}].description: must be a string`};if(bj(y))return{type:"invalid",message:`questions[${s}].options[${f}].label: ${JSON.stringify(y)} is reserved for the built-in Other option`};if(m.has(y))return{type:"invalid",message:`questions[${s}].options: duplicate label ${JSON.stringify(y)}`};m.add(y),l.push({label:y,description:typeof g.description=="string"?g.description:""})}o.add(c),r.push({question:c,header:u,options:l,multiSelect:a.multiSelect===!0})}return{type:"ok",request:{questions:r}}}function ob(e){return{message:"Linzumi interview: the user is being asked in the Linzumi thread.",requestedSchema:{type:"object",properties:Object.fromEntries(e.questions.map(t=>[t.question,{type:"string",description:t.header}])),required:e.questions.map(t=>t.question)},_meta:{[eb]:{version:1,questions:e.questions.map(t=>({question:t.question,header:t.header,multiSelect:t.multiSelect,options:t.options.map(n=>({label:n.label,description:n.description}))}))}}}}function sb(e,t){let n=Te(t??void 0);if(n===void 0)return{type:"invalid",message:"the runner accepted the interview but returned no answers; it may predate linzumi_ask_user_question support"};let r={};for(let o of e.questions){let s=n[o.question];if(typeof s!="string")return{type:"invalid",message:`the runner returned no answer for question ${JSON.stringify(o.question)}`};try{r[o.question]=JSON.parse(s)}catch{return{type:"invalid",message:`the runner returned an undecodable answer for question ${JSON.stringify(o.question)}`}}}return{type:"ok",answers:r}}function ib(e){return ye(Te(Te(e)?.[eb])?.reason)}var ab=`<linzumi_markdown_media_guidance>
223
+ args = ${yj(e.args)}
224
+ ${Object.keys(e.env).length===0?"":`env = ${_j(e.env)}
225
+ `}`}function yj(e){return`[${e.map(t=>JSON.stringify(t)).join(", ")}]`}function _j(e){return`{ ${Object.entries(e).map(([n,r])=>`${n} = ${JSON.stringify(r)}`).join(", ")} }`}var Y_="linzumi_ask_user_question",No=4,Lo=12,Do=2,Zo=4,X_="Other";var eb=2147483647,bj=2147483,wN=bj*1e3-5*6e4,tb="linzumi_ask_user_question",nb="plan_mode_native_interview_tool",rb="no_active_turn";function vj(e){let t=e.trim().toLowerCase();switch(t){case"other":case"something else":case"something else...":return!0;default:return t.includes("other")||t.includes("something else")}}function ob(e){let t=Te(e),n=Zn(t?.questions);if(n===void 0)return{type:"invalid",message:"questions: expected an array"};if(n.length===0)return{type:"invalid",message:"questions: min 1, got 0"};if(n.length>No)return{type:"invalid",message:`questions: max ${No}, got ${n.length}`};let r=[],o=new Set;for(let[s,i]of n.entries()){let a=Te(i);if(a===void 0)return{type:"invalid",message:`questions[${s}]: expected an object`};let c=ye(a.question);if(c===void 0)return{type:"invalid",message:`questions[${s}].question: must be a non-empty string`};if(o.has(c))return{type:"invalid",message:`questions: duplicate question text ${JSON.stringify(c)}`};let u=ye(a.header);if(u===void 0)return{type:"invalid",message:`questions[${s}].header: must be a non-empty string`};if(u.length>Lo)return{type:"invalid",message:`questions[${s}].header: max ${Lo} chars, got ${u.length}`};if(a.multiSelect!==void 0&&typeof a.multiSelect!="boolean")return{type:"invalid",message:`questions[${s}].multiSelect: must be a boolean`};let d=Zn(a.options);if(d===void 0)return{type:"invalid",message:`questions[${s}].options: expected an array`};if(d.length<Do)return{type:"invalid",message:`questions[${s}].options: min ${Do}, got ${d.length}`};if(d.length>Zo)return{type:"invalid",message:`questions[${s}].options: max ${Zo}, got ${d.length}`};let l=[],p=new Set;for(let[h,f]of d.entries()){let g=Te(f),y=ye(g?.label);if(g===void 0||y===void 0)return{type:"invalid",message:`questions[${s}].options[${h}].label: must be a non-empty string`};if(g.description!==void 0&&typeof g.description!="string")return{type:"invalid",message:`questions[${s}].options[${h}].description: must be a string`};if(vj(y))return{type:"invalid",message:`questions[${s}].options[${h}].label: ${JSON.stringify(y)} is reserved for the built-in Other option`};if(p.has(y))return{type:"invalid",message:`questions[${s}].options: duplicate label ${JSON.stringify(y)}`};p.add(y),l.push({label:y,description:typeof g.description=="string"?g.description:""})}o.add(c),r.push({question:c,header:u,options:l,multiSelect:a.multiSelect===!0})}return{type:"ok",request:{questions:r}}}function sb(e){return{message:"Linzumi interview: the user is being asked in the Linzumi thread.",requestedSchema:{type:"object",properties:Object.fromEntries(e.questions.map(t=>[t.question,{type:"string",description:t.header}])),required:e.questions.map(t=>t.question)},_meta:{[tb]:{version:1,questions:e.questions.map(t=>({question:t.question,header:t.header,multiSelect:t.multiSelect,options:t.options.map(n=>({label:n.label,description:n.description}))}))}}}}function ib(e,t){let n=Te(t??void 0);if(n===void 0)return{type:"invalid",message:"the runner accepted the interview but returned no answers; it may predate linzumi_ask_user_question support"};let r={};for(let o of e.questions){let s=n[o.question];if(typeof s!="string")return{type:"invalid",message:`the runner returned no answer for question ${JSON.stringify(o.question)}`};try{r[o.question]=JSON.parse(s)}catch{return{type:"invalid",message:`the runner returned an undecodable answer for question ${JSON.stringify(o.question)}`}}}return{type:"ok",answers:r}}function ab(e){return ye(Te(Te(e)?.[tb])?.reason)}var cb=`<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 cb=64;function vj(e){switch(e){case"all":return!0;case"coding":case"onboarding-discovery":return!1}}function wj(e){switch(e){case"voice":return!0;case"text":return!1}}function kj(e){return e.trim().replace(/^:+/,"").replace(/:+$/,"").toLowerCase()}var ub=p.string().min(1).refine(e=>kj(e).length<=cb,{message:`Custom emoji shortcode name must be at most ${cb} characters after trimming surrounding colons.`}),xj=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"}],["ask-user-question-tool",{kind:"boolean"}],["include-token",{kind:"boolean"}],["help",{kind:"boolean"}]]);async function hb(e){let[t,...n]=e;switch(t){case void 0:case"--help":case"-h":process.stdout.write(gb());return;case"server":await Sj(n);return;case"config":await Cj(n);return;case"doctor":await Aj(n);return;default:throw new Error(`unknown linzumi mcp command: ${t}`)}}function gb(){return`Linzumi MCP
328
+ </linzumi_markdown_media_guidance>`;var ub=64;function wj(e){switch(e){case"all":return!0;case"coding":case"onboarding-discovery":return!1}}function kj(e){switch(e){case"voice":return!0;case"text":return!1}}function xj(e){return e.trim().replace(/^:+/,"").replace(/:+$/,"").toLowerCase()}var db=m.string().min(1).refine(e=>xj(e).length<=ub,{message:`Custom emoji shortcode name must be at most ${ub} characters after trimming surrounding colons.`}),Sj=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"}],["ask-user-question-tool",{kind:"boolean"}],["include-token",{kind:"boolean"}],["help",{kind:"boolean"}]]);async function gb(e){let[t,...n]=e;switch(t){case void 0:case"--help":case"-h":process.stdout.write(yb());return;case"server":await $j(n);return;case"config":await Aj(n);return;case"doctor":await Mj(n);return;default:throw new Error(`unknown linzumi mcp command: ${t}`)}}function yb(){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 Sj(e){let t=Zl(e);if(t.get("help")===!0){process.stdout.write(gb());return}let n=ql(t,"api-url"),r=await Dl({kandanUrl:n,explicitToken:ne(t,"token")??process.env.LINZUMI_MCP_ACCESS_TOKEN,authFilePath:ne(t,"auth-file"),delegationAuthFilePath:ne(t,"delegation-auth-file"),workspaceSlug:ne(t,"workspace"),channelSlug:ne(t,"channel")}),o=ne(t,"owner-username")??process.env.LINZUMI_MCP_OWNER_USERNAME,s=Ul(ne(t,"mode")),i=yb(ne(t,"tool-scope")),a=ne(t,"cwd")??process.cwd(),c=ne(t,"thread-id")??process.env.LINZUMI_THREAD_RUNNER_KANDAN_THREAD_ID,u=Rl({kandanUrl:n,accessToken:r.accessToken,authMode:r.mode,operatingMode:s}),d=new zi({name:"linzumi",version:"0.1.0"});Ej(d),zj(d,{client:u,toolScope:i,operatingMode:s,cwd:a,kandanUrl:n,defaultThreadId:c,ownerUsername:o,agentSession:t.get("agent-session")===!0,askUserQuestionTool:t.get("ask-user-question-tool")===!0,devServices:$j(process.env),multiAgentJobs:t.get("multi-agent-jobs")===!0}),await d.connect(new Ti)}function $j(e){let t=e.LINZUMI_DEV_SERVICES_SCOPE?.trim(),n=Number.parseInt(e.LINZUMI_DEV_SERVICES_OWNER_PID??"",10);if(!(t===void 0||t===""||!Number.isInteger(n)||n<=0))return{scopeDir:D_(t),ownerPid:n}}function zj(e,t){let{client:n,toolScope:r,operatingMode:o,cwd:s,kandanUrl:i,defaultThreadId:a,ownerUsername:c,agentSession:u,devServices:d}=t,l=r==="all"||r==="coding";if(t.askUserQuestionTool===!0&&e.tool(Q_,`Ask the user up to ${No} structured multiple-choice questions and BLOCK until they answer in the Linzumi thread. Use this whenever you need a decision or clarification mid-task. Each question needs a short header (max ${Lo} chars) and ${Do}-${Zo} options {label, description}; a built-in "${Y_}" free-text choice is always shown in addition to your options, so never add one yourself. Set multiSelect true to allow choosing several options. Returns {answers} keyed by question text: a single label string, an array of labels for multiSelect, and {"other": "<typed text>"} for a free-text reply.`,{questions:p.array(p.object({question:p.string().describe("The question to ask the user."),header:p.string().describe(`Short category header shown above the question (max ${Lo} chars, e.g. "Auth", "Scope").`),options:p.array(p.object({label:p.string().describe("Option label the user taps."),description:p.string().optional().describe("One-line explanation of the option.")})).describe(`${Do}-${Zo} options for this question.`),multiSelect:p.boolean().optional().describe("True lets the user select several options; the answer becomes an array.")})).describe(`1-${No} questions to ask atomically.`)},async m=>Nj((f,h)=>e.server.elicitInput(f,h),m)),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:p.string().min(1).describe("Plain-text reply body to post.")},async f=>R(await n.agentReply({body:f.body})));let m=async(f,h)=>R(await n.agentDocumentTool({...h,tool:f}));e.tool("linzumi_create_document","Create a document in this conversation's workspace through the normal revision/provenance path. Supply one page-root initial patch. Returns the created document and blocks.",{title:p.string().min(1).describe("Document title."),slug:p.string().min(1).describe("Stable lowercase document slug."),initial_patch:p.record(p.unknown()).describe("Initial document patch with baseRevision 0 and insert operations."),invocation_id:p.string().uuid().optional().describe("Stable invocation UUID for retries.")},async f=>m("create_document",f)),e.tool("linzumi_add_document_block","Add one block to the open document, or another agent-readable document, through the normal CAS patch door.",{document_id:p.string().uuid().optional().describe("Defaults to the open document."),base_revision:p.number().int().nonnegative().describe("Document revision."),block:p.record(p.unknown()).describe("Complete typed block payload."),invocation_id:p.string().uuid().optional().describe("Stable invocation UUID for provenance.")},async f=>m("add_block",f)),e.tool("linzumi_update_document_block","Replace one block's properties through document and block CAS. Omit document_id to edit the open document.",{document_id:p.string().uuid().optional().describe("Defaults to the open document."),base_revision:p.number().int().nonnegative().describe("Document revision."),block_id:p.string().uuid().describe("Block UUID to update."),expected_revision:p.number().int().positive().describe("Current block revision."),properties:p.record(p.unknown()).describe("Complete replacement properties object."),invocation_id:p.string().uuid().optional().describe("Stable invocation UUID for provenance.")},async f=>m("update_block",f)),e.tool("linzumi_query_documents","Read the open document with blocks and revisions. Set all=true to list every document the @linzumi principal can read in this workspace; otherwise document_id defaults to the open document.",{document_id:p.string().uuid().optional().describe("Defaults to the open document."),all:p.boolean().optional().describe("List all agent-readable workspace documents.")},async f=>m("query_documents",f)),e.tool("linzumi_bind_document_data","Replace a document source binding through its revisioned CAS door.",{document_id:p.string().uuid().optional().describe("Defaults to the open document."),base_revision:p.number().int().nonnegative().describe("Document revision."),binding_id:p.string().uuid().describe("Source binding UUID."),expected_revision:p.number().int().positive().describe("Current binding revision."),binding:p.record(p.unknown()).describe("Complete replacement binding."),invocation_id:p.string().uuid().optional().describe("Stable invocation UUID for provenance.")},async f=>m("bind_data",f)),e.tool("linzumi_invoke_document_command","Invoke one registered document command through preview, execute, and apply with the @linzumi principal's current authority.",{document_id:p.string().uuid().optional().describe("Defaults to the open document."),command_name:p.string().min(1).describe("Registered command name."),inputs:p.record(p.unknown()).describe("Typed command inputs."),idempotency_key:p.string().min(1).describe("Stable command idempotency key."),invocation_id:p.string().uuid().optional().describe("Stable agent invocation UUID.")},async f=>m("invoke_command",f)),e.tool("linzumi_apply_document_patch","Apply a complete structural document patch through the normal capability, CAS, proposal-classification, and provenance path. Omit document_id to target the open document.",{document_id:p.string().uuid().optional().describe("Defaults to the open document."),patch:p.record(p.unknown()).describe("Patch with baseRevision and typed operations."),invocation_id:p.string().uuid().optional().describe("Stable invocation UUID for provenance."),rationale_comment_id:p.string().uuid().optional().describe("Required rationale comment when policy demands it.")},async f=>m("apply_patch",f)),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()=>R(await n.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:p.string().describe("Channel slug to host the job thread."),runner_key:p.string().describe("Runner (computer) to run the job on."),cwd:p.string().describe("Working directory on the runner."),work_description:p.string().min(1).describe("What the job should do - the initial instruction."),model:p.string().optional().describe("Model override (optional)."),model_provider:p.string().optional().describe("Model provider override, e.g. 'wafer' (optional)."),execution_mode:p.enum(["raw","local_vm"]).optional().describe("Execution placement override (optional)."),project_task_id:p.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."),visibility:p.enum(["project","private"]).optional().describe("Job visibility. Defaults to 'project'; private jobs are limited to directly authorized participants.")},async f=>R(await n.agentStartCodingJob(f))),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:p.string().describe("Channel slug hosting the job thread."),thread_id:p.string().uuid().describe("The job thread UUID."),mode:p.enum(["steer","stop"]).optional().describe("Interrupt mode; defaults to 'steer'.")},async f=>R(await n.agentInterruptCodingJob(f))),e.tool("linzumi_send_coding_job_message","Message a coding job or a person. Queue is the encouraged default: it lands in the colleague's inbox for their own cadence. Steer only for urgent, potentially-clashing work because it interrupts the running turn. Would this be worthless or harmful after their turn finishes? If no, queue. Delivery urgency is not access control. To message a person, pass to_user and omit channel and thread_id: delivery lands in their personal inbox.",{channel:p.string().optional().describe("Channel slug hosting the job thread. Required unless to_user is set."),thread_id:p.string().uuid().optional().describe("The job thread UUID. Required unless to_user is set."),to_user:p.string().min(1).optional().describe("Username of a workspace member to message instead of a job. Delivery lands in their personal inbox."),body:p.string().min(1).describe("Message body to send."),delivery:p.enum(["queue","steer"]).optional().describe("Delivery urgency. Defaults to 'queue'.")},async f=>R(await n.agentSendCodingJobMessage(f))),e.tool("linzumi_read_coding_job_thread","Read a coding job's thread (asker-visible history) plus its workflow status metadata.",{channel:p.string().describe("Channel slug hosting the job thread."),thread_id:p.string().uuid().describe("The job thread UUID."),limit:p.number().int().min(1).max(100).optional().describe("Maximum replies to return."),before_seq:p.number().int().positive().optional().describe("Return replies before this channel seq.")},async f=>R(await n.agentReadCodingJobThread(f))),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:p.string().describe("Channel slug hosting the job thread."),thread_id:p.string().uuid().describe("The job thread UUID."),source_seq:p.number().int().positive().describe("Channel seq of the message the approval request rides on."),request_id:p.string().describe("The approval request id."),decision:p.enum(["approve","deny"]).describe("The asker's decision.")},async f=>R(await n.agentResolveJobApproval(f))),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:p.string().describe("Channel slug hosting the thread."),thread_id:p.string().uuid().describe("The thread UUID to archive.")},async f=>R(await n.agentArchiveCodingJob(f))),e.tool("linzumi_unarchive_coding_job","Unarchive a previously archived coding job thread the asking user owns, returning it to the active list.",{channel:p.string().describe("Channel slug hosting the thread."),thread_id:p.string().uuid().describe("The thread UUID to unarchive.")},async f=>R(await n.agentUnarchiveCodingJob(f))),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:p.string().describe("Channel slug hosting the thread."),thread_id:p.string().uuid().describe("The thread UUID."),status:p.enum(["open","closed"]).describe("Replacement lifecycle status ('closed' = done).")},async f=>R(await n.agentSetThreadStatus(f))),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:p.string().min(1).describe("Channel name to create.")},async f=>R(await n.agentCreateChannel(f))),e.tool("linzumi_rename_channel","Rename a channel's display name as the asking user. The channel's URL slug stays stable.",{channel:p.string().describe("Current channel slug to rename."),name:p.string().min(1).describe("New display name.")},async f=>R(await n.agentRenameChannel(f))),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:p.string().describe("Channel slug to archive.")},async f=>R(await n.agentArchiveChannel(f))),e.tool("linzumi_unarchive_channel","Unarchive a previously archived channel as the asking user.",{channel:p.string().describe("Channel slug to unarchive.")},async f=>R(await n.agentUnarchiveChannel(f))),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:p.string().describe("Channel slug containing the message."),message_seq:p.number().int().positive().describe("Channel seq of the message to react to."),emoji:p.string().min(1).describe("Emoji to add (unicode or :shortcode:).")},async f=>R(await n.agentAddReaction(f))),e.tool("linzumi_remove_reaction","Remove the asking user's emoji reaction from a channel message.",{channel:p.string().describe("Channel slug containing the message."),message_seq:p.number().int().positive().describe("Channel seq of the reacted message."),emoji:p.string().min(1).describe("Emoji to remove (unicode or :shortcode:).")},async f=>R(await n.agentRemoveReaction(f))),e.tool("linzumi_pin_message","Pin a channel message as the asking user. Thread replies re-point to their root message.",{channel:p.string().describe("Channel slug containing the message."),message_seq:p.number().int().positive().describe("Channel seq of the message to pin.")},async f=>R(await n.agentPinMessage(f))),e.tool("linzumi_unpin_message","Remove a pin from a channel message as the asking user.",{channel:p.string().describe("Channel slug containing the message."),message_seq:p.number().int().positive().describe("Channel seq of the pinned message.")},async f=>R(await n.agentUnpinMessage(f)))}r==="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:p.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:p.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),message_id:p.union([p.string(),p.number()]).optional().describe("Message seq inside the scoped channel."),message_seq:p.union([p.string(),p.number()]).optional().describe("Alias for message_id."),message_url:p.string().optional().describe("Full Linzumi message URL with #message-<seq>."),before:p.number().int().min(0).max(100).optional().describe("Number of visible messages before the target."),after:p.number().int().min(0).max(100).optional().describe("Number of visible messages after the target.")},async m=>R(await n.getMessage(m))),e.tool("linzumi_get_thread","Read one Linzumi thread by thread_id in the scoped channel, including the parent message and bounded replies.",{workspace:p.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:p.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:p.string().uuid().describe("Linzumi thread UUID."),limit:p.number().int().min(1).max(100).optional().describe("Maximum replies to return."),before_seq:p.number().int().positive().optional().describe("Return replies before this channel seq.")},async m=>R(await n.getThread(m))),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:p.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:p.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:p.string().uuid().describe("Linzumi thread UUID."),limit:p.number().int().min(1).max(500).optional().describe("Maximum transcript nodes per page (default 200)."),cursor:p.number().int().positive().optional().describe("Return nodes below this seq (the previous page reply cursor).")},async m=>R(await n.getThreadTranscript(m))),e.tool("linzumi_get_channel","Read scoped Linzumi channel metadata and bounded recent channel messages.",{workspace:p.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:p.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),limit:p.number().int().min(1).max(100).optional().describe("Maximum messages to return."),before_seq:p.number().int().positive().optional().describe("Return messages before this channel seq.")},async m=>R(await n.getChannel(m))),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:p.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),query:p.string().min(1).describe("Natural-language or keyword query to retrieve against."),limit:p.number().int().min(1).max(25).optional().describe("Maximum results to return (default 10, server-capped)."),source_types:p.array(p.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:p.string().optional().describe("ISO8601 instant; only content authored at or after this time."),authored_before:p.string().optional().describe("ISO8601 instant; only content authored at or before this time."),repo:p.string().optional().describe("Restrict GitHub-sourced results to one repository by full name (owner/name)."),check_status:p.enum(["pending","success","failed"]).optional().describe("Restrict check and workflow results to one conclusion bucket.")},async m=>R(await n.searchWorkspace(m))),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:p.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),question:p.string().min(1).max(2e3).describe("Natural-language question to answer with citations."),channel:p.string().optional().describe("Optional channel slug providing conversational context; never widens access."),allow_cached:p.boolean().optional().describe("Allow serving a cached synthesis when the evidence set is unchanged (default true). Set false to force fresh synthesis.")},async m=>R(await n.askWorkspace(m))),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 m=>R(await n.aboutMe(m)))),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:p.string().min(1).describe("Web search query (natural language or keywords)."),limit:p.number().int().min(1).max(10).optional().describe("Maximum results to return (default 8, server-capped).")},async m=>R(await n.webSearch(m))),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:p.string().min(1).describe("Absolute public http(s) URL to fetch.")},async m=>R(await n.fetchUrl(m)))),r==="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 fb(n.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:p.string().min(1).describe("Target kind from linzumi_list_ui_targets (e.g. settings_workspace, channel, pane_layout)."),args:p.record(p.unknown()).optional().describe("Structured per-kind args from linzumi_list_ui_targets (never a URL - the server computes every path)."),workspace:p.string().optional().describe("Workspace slug. Omit to use the authenticated token scope.")},async m=>await fb(n.openUi(gt(m,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:p.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:p.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:p.string().uuid().optional().describe("Linzumi thread UUID. Defaults to the active coding job thread.")},async m=>R(await n.getCodingJobMetadata(gt(m,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:p.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:p.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:p.string().uuid().optional().describe("Linzumi thread UUID. Defaults to the active coding job thread."),title:p.string().min(1).max(100).describe("Concise user-visible title for this coding job.")},async m=>R(await n.renameCodingJob(gt(m,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:p.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:p.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:p.string().uuid().optional().describe("Linzumi thread UUID. Defaults to the active coding job thread."),goal:p.string().min(1).max(1e4).describe("Concrete user-visible goal for this coding job.")},async m=>R(await n.upsertCodingJobPlan(gt(m,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:p.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:p.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:p.string().uuid().optional().describe("Linzumi thread UUID. Defaults to the active coding job thread."),goal:p.string().min(1).max(1e4).optional().describe("Required when no plan exists yet; updates the current coding job goal."),steps:p.array(p.object({title:p.string().min(1).max(255),description:p.string().min(1).max(1e4),status:p.enum(["pending","active","completed","blocked","canceled"]),status_note:p.string().min(1).max(4e3).optional(),completed_debrief:p.string().min(1).max(2e4).optional()})).min(1).max(50).describe("Ordered user-visible plan steps. Completed steps must include completed_debrief.")},async m=>R(await n.replaceCodingJobPlanSteps(gt(m,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:p.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:p.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:p.string().uuid().optional().describe("Linzumi thread UUID. Defaults to the active coding job thread."),step_id:p.string().uuid().describe("Step id returned by linzumi_get_coding_job_metadata."),lock_version:p.number().int().positive().describe("Current step lock_version from metadata."),status:p.enum(["pending","active","completed","blocked","canceled"]),status_note:p.string().min(1).max(4e3).optional(),completed_debrief:p.string().min(1).max(2e4).optional().describe("Required when marking a step completed.")},async m=>R(await n.updateCodingJobPlanStep(gt(m,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:p.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:p.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:p.string().uuid().optional().describe("Linzumi thread UUID. Defaults to the active coding job thread."),github_repo_owner:p.string().min(1).max(255),github_repo_name:p.string().min(1).max(255),github_pr_number:p.number().int().positive(),github_pr_url:p.string().url(),title:p.string().min(1).max(255),body:p.string().min(1).max(1e5).optional(),head_branch:p.string().min(1).max(255),head_sha:p.string().min(7).max(64),base_branch:p.string().min(1).max(255),base_sha:p.string().min(7).max(64),state:p.enum(["draft","open","closed","merged"]).optional(),is_draft:p.boolean().optional(),review_status:p.enum(["unknown","review_required","approved","changes_requested"]).optional(),source_remote_url:p.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:p.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:p.enum(["unknown","clean","dirty"]).optional(),dirty_summary:p.string().min(1).max(2e3).optional()},async m=>R(await n.linkCodingJobPullRequest(gt(m,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:p.object({kind:p.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:p.union([p.string(),p.number()]).optional().describe("Required when kind is message_seq."),thread_id:p.string().optional().describe("Thread UUID. Defaults to the active Linzumi thread when the MCP server was launched with one.")}).describe("Attachment target. Prefer latest_assistant_message to attach files to the reply you already posted; use new_message ONLY when no assistant message exists yet in the scoped thread. Never re-use your visible reply text as a new_message body - that posts the reply twice. 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:p.array(p.string().min(1)).min(1).max(16).describe("Local file paths to upload. Paths must be non-hidden files inside the approved workspace or Downloads; source/text files of any language are supported, plus common document, image, patch, archive, and video types."),body:p.string().min(1).max(2e4).optional().describe("Required for new_message: a SHORT file-share caption (for example: Attached the generated report), never a copy of your visible reply - that would post the reply twice. 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:p.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:p.string().optional().describe("Channel slug. Omit to use the target thread's channel (when the thread is known) or the authenticated token scope.")},async m=>{let f=lb(m.target,a);try{let h=await Rj({client:n,cwd:s,kandanUrl:i,target:f,files:m.files,workspace:m.workspace,channel:m.channel,body:m.body});return R(pb(i,h))}catch(h){throw Tj(h)}}),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:p.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:p.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),target:p.object({message_seq:p.union([p.string(),p.number()]).describe("Exact message seq to edit. After linzumi_upload_files returns target_seq, pass that value here."),thread_id:p.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:p.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 m=>R(pb(i,await n.editMessage({...m,target:lb(m.target,a)}))))),r==="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 m=>R(await n.listVaultSecrets(m))),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:p.string().optional().describe("Workspace slug. Omit to use the authenticated token scope.")},async m=>R(await n.listProjects(m))),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:p.string().optional().describe("Project id from linzumi_list_projects. Omit inside a coding job started from a project to use that project.")},async m=>R(await n.getProjectTasks(gt(m,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:p.string().optional().describe("Project id from linzumi_list_projects. Omit inside a coding job started from a project to use that project."),title:p.string().min(1).describe("Task title."),kind:p.enum(["issue","group"]).optional().describe('What to create: "issue" (executable work item, default) or "group" (organizational container).'),description:p.string().optional().describe("Detailed description of the work - written so an engineer (or coding agent) could execute the task from it."),status:p.enum(["todo","active","blocked","review","done","canceled"]).optional().describe('Initial status. Defaults to "todo".'),parent_id:p.string().optional().describe("task_id of the GROUP to place an issue in. Only issues can have a parent."),assignee:p.string().optional().describe("Username of a workspace member to assign."),position:p.number().int().min(0).optional().describe("Sort position. Defaults to appending at the end.")},async m=>R(await n.createProjectTask(gt(m,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:p.string().describe("task_id of the group or issue to update."),title:p.string().min(1).optional().describe("New title."),description:p.string().nullable().optional().describe("New description. Pass null to clear it."),status:p.enum(["todo","active","blocked","review","done","canceled"]).optional().describe('New status. "done"/"canceled" satisfy dependent tasks; "blocked" is a manual hold.'),status_note:p.string().nullable().optional().describe("Short human-readable note about the current status. Pass null to clear it."),position:p.number().int().min(0).optional().describe("New sort position among siblings."),parent_id:p.string().optional().describe("task_id of the GROUP to move this issue into. Do not combine with clear_parent."),clear_parent:p.boolean().optional().describe("true moves the issue to the top level (no group). Do not combine with parent_id."),assignee:p.string().optional().describe("Username of a workspace member to assign. Do not combine with clear_assignee."),clear_assignee:p.boolean().optional().describe("true removes the assignee. Do not combine with assignee."),lock_version:p.number().int().positive().optional().describe("The task's lock_version from your last read, for compare-and-swap safety.")},async m=>R(await n.updateProjectTask(m))),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:p.string().describe("task_id of the group or issue to delete.")},async m=>R(await n.deleteProjectTask(m))),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:p.string().describe("task_id of the DEPENDENT issue (the one that must wait)."),depends_on_task_id:p.string().describe("task_id of the PREREQUISITE issue (the one that must finish first).")},async m=>R(await n.addProjectTaskDependency(m))),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:p.string().describe("task_id of the DEPENDENT issue."),depends_on_task_id:p.string().describe("task_id of the PREREQUISITE issue the edge points at.")},async m=>R(await n.removeProjectTaskDependency(m))),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:p.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 m=>R(await n.getCallTranscript(m))),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:p.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:p.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."),visibility:p.enum(["project","private"]).optional().describe("Child-job visibility. Defaults to 'project'; private jobs are limited to directly authorized participants."),channel:p.string().optional().describe("Channel slug to host the job thread. Omit to use this job's own channel."),runner_key:p.string().optional().describe("Runner (computer) to run the job on. Omit to use this job's own computer."),cwd:p.string().optional().describe("Working directory on the runner. Omit to use this job's own folder."),model:p.string().optional().describe("Model override (optional)."),model_provider:p.string().optional().describe("Model provider override, e.g. 'wafer' (optional)."),agent_provider:p.string().optional().describe("Agent provider override, e.g. 'codex' (optional)."),reasoning_effort:p.enum(["default","low","medium","high","xhigh","ultra"]).optional().describe("Reasoning effort override (optional)."),approval_policy:p.enum(["default","on-request","on-failure","never"]).optional().describe("Approval policy override (optional)."),sandbox:p.enum(["default","workspace-write","read-only","danger-full-access"]).optional().describe("Sandbox override (optional)."),fast:p.boolean().optional().describe("Fast-mode override (optional)."),allow_port_forwarding_by_default:p.boolean().optional().describe("Default port-forwarding override (optional)."),execution_mode:p.enum(["raw","local_vm"]).optional().describe("Execution placement override (optional)."),egress_mode:p.enum(["open","hardened"]).optional().describe("Local-VM egress override (optional).")},async m=>R(await n.agentStartCodingJob(gt(m,a)))),t.multiAgentJobs===!0&&(e.tool("linzumi_spawn_child_job","Spawn a durable child coding job under YOUR OWN job, on any harness or model - plan a DAG and delegate its legs to workers you then coordinate through discovery and messaging. The child lands on this job's channel, computer, and folder; it inherits this job's project and visibility (a private parent's children stay private), human roles cascade to it, and a human manages its lifecycle. Returns status 'unavailable' with a reason when the runner cannot take the job (relay that honestly).",{work_description:p.string().min(1).describe("What the child job should do - the initial instruction, written to stand alone."),agent_provider:p.string().optional().describe("Harness for the child, e.g. 'codex' or 'claude-code'. Omit to reuse this job's own harness. A different harness is fine: a cross-harness child is always a child job."),model:p.string().optional().describe("Model override for the child (optional)."),model_provider:p.string().optional().describe("Model provider override, e.g. 'wafer' (optional)."),reasoning_effort:p.enum(["default","low","medium","high","xhigh","ultra"]).optional().describe("Reasoning effort override (optional)."),project_task_id:p.string().optional().describe("Project task item to bind the child to (task_id from linzumi_get_project_tasks). The task flips todo -> active and links to the new job."),visibility:p.enum(["project","private"]).optional().describe("Child visibility. Defaults to this job's own visibility; a private parent's children must stay private.")},async m=>R(await n.agentSpawnChildJob(gt(m,a)))),e.tool("linzumi_discover_coding_jobs","Search current sitreps inside this coding job project for overlapping files, modules, objectives, or blockers. Results include durable job addresses for coordination. Private jobs outside your visible set never appear.",{query:p.string().min(1).describe("Free-text clash-surface query, such as a file path, module, migration, or objective.")},async m=>R(await n.agentDiscoverCodingJobs({...m,source_thread_id:a}))),e.tool("linzumi_send_coding_job_message","Message a visible coding job in this project, or a person. Queue is the encouraged default: it lands in the colleague's inbox for their own cadence. Steer only for urgent, potentially-clashing work because it interrupts the running turn. Would this be worthless or harmful after their turn finishes? If no, queue. Delivery urgency is not access control. To message a person, pass to_user and omit channel and thread_id: delivery lands in their personal inbox.",{channel:p.string().optional().describe("Channel slug hosting the target job. Required unless to_user is set."),thread_id:p.string().uuid().optional().describe("Target job thread UUID. Required unless to_user is set."),to_user:p.string().min(1).optional().describe("Username of a workspace member to message instead of a job. Delivery lands in their personal inbox."),body:p.string().min(1).describe("Coordination message to send."),delivery:p.enum(["queue","steer"]).optional().describe("Delivery urgency. Defaults to 'queue'.")},async m=>R(await n.agentSendCodingJobMessage({...m,source_thread_id:a})))))),vj(r)&&(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:ub.describe("Custom emoji shortcode name, with or without surrounding colons."),file:p.string().min(1).describe("Local PNG/WebP/GIF/JPEG file path to upload. Prefer transparent PNG for generated emoji."),workspace:p.string().optional().describe("Workspace slug. Omit to use the authenticated token scope.")},async m=>R(await jj({client:n,cwd:s,kandanUrl:i,name:m.name,file:m.file,workspace:m.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:p.union([p.string(),p.number().int().positive()]).describe("Workspace custom emoji id returned by linzumi_upload_custom_emoji or workspace emoji listings."),name:ub.describe("New shortcode name, with or without surrounding colons."),workspace:p.string().optional().describe("Workspace slug. Omit to use the authenticated token scope.")},async m=>R(await n.renameCustomEmoji(m)))),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:ab}]})),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:p.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),runner_id:p.string().min(1).describe("Local runner/computer id provided in the discovery prompt."),path:p.string().min(1).describe("Absolute local path to the repository worktree root."),display_name:p.string().optional().describe("Short project label. Defaults to the path basename."),activity_at:p.string().optional().describe("Best-known recent activity time as an ISO-8601 timestamp."),import_key:p.string().optional().describe("Stable dedupe key. Defaults to path."),metadata:p.record(p.unknown()).optional().describe("Small structured metadata such as branch or remote origin.")},async m=>R(await n.noteProjectDirectory(m))),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:p.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),runner_id:p.string().min(1).describe("Local runner/computer id provided in the discovery prompt."),source:p.enum(["codex","claude_code"]).describe("Conversation source."),import_key:p.string().min(1).describe("Stable dedupe key, such as a session id or file path."),path:p.string().optional().describe("Absolute local path to the conversation file or directory."),display_name:p.string().optional().describe("Short label for the discovered conversation."),activity_at:p.string().optional().describe("Best-known recent activity time as an ISO-8601 timestamp."),metadata:p.record(p.unknown()).optional().describe("Small structured metadata such as session id or project path.")},async m=>R(await n.noteAgentConversation(m))),e.tool("linzumi_note_onboarding_discovery_status","Record onboarding discovery progress. Call when a search phase starts, checks another place, completes, or fails.",{workspace:p.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),runner_id:p.string().min(1).describe("Local runner/computer id provided in the discovery prompt."),phase:p.enum(["projects","conversations"]).describe("Discovery phase being reported."),status:p.enum(["starting","running","completed","failed"]).describe("Current phase status."),places_searched:p.number().int().nonnegative().optional().describe("Count of concrete folders/files/known locations checked so far."),message:p.string().optional().describe("Short user-facing status note."),current_place:p.string().optional().describe("Current folder, file, Git command target, or known location being checked."),current_source:p.string().optional().describe("Short machine-readable source label such as git, codex, or claude_code."),last_error:p.string().optional().describe("Short failure detail when status is failed."),metadata:p.record(p.unknown()).optional().describe("Small structured status metadata.")},async m=>R(await n.noteOnboardingDiscoveryStatus(m))),r==="all"&&wj(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:p.string().optional().describe("Owner username. Defaults to LINZUMI_MCP_OWNER_USERNAME or --owner-username."),workspace:p.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:p.string().optional().describe("Source channel slug used to verify owner visibility."),body:p.string().min(1).max(2e4).describe("Plain-text message body to DM.")},async m=>{let f=m.owner_username??c;if(f===void 0)throw new Error("owner_username is required for linzumi_dm_owner");return R(await n.dmOwner({...m,owner_username:f}))}),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:p.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:p.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),body:p.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 m=>R(await n.sendChannelMessage(m))),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:p.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:p.string().optional().describe("Channel slug. Omit to use the authenticated token scope."),thread_id:p.string().uuid().describe("Existing Linzumi thread UUID."),body:p.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 m=>R(await n.sendThreadReply(m))),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:p.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:p.string().optional().describe("Source channel slug used to verify target visibility."),username:p.string().describe("Visible Linzumi username to DM."),body:p.string().min(1).max(2e4).describe("Plain-text message body to DM.")},async m=>R(await n.sendDm(m)))),r==="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:p.string().optional().describe("Workspace slug. Omit to use the authenticated token scope."),channel:p.string().optional().describe("Channel slug used to disambiguate the approval thread when needed."),thread_id:p.string().uuid().describe("Existing Linzumi thread UUID for the inline approval."),env_var_names:p.array(p.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:p.string().min(1).max(500).describe("Human-readable reason shown in the approval request."),justification:p.string().min(10).max(1e3).describe("Agent justification shown to the approver.")},async m=>R(await n.getVaultValues(m))),r==="all"&&!u&&d!==void 0&&Pj(e,s,d)}function db(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 Pj(e,t,n){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:p.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:p.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:p.string().optional().describe("Working directory for the service. Defaults to the session cwd."),ports:p.array(p.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:p.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:p.number().int().min(0).max(6e4).optional().describe("How long to wait for the declared ports to accept connections before returning (default 15000).")},async r=>{let o=await F_({scopeDir:n.scopeDir,definition:{name:r.name,command:r.command,cwd:r.cwd??t,ports:r.ports,restartOnBranchChange:r.restart_on_branch_change===!0},ownerPid:n.ownerPid});if(!o.ok)return R({ok:!1,error:o.error});let s=Date.now()+(r.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=>Ml(d)))).every(d=>d),i||await new Promise(d=>setTimeout(d,250));let c=(await Nl(n.scopeDir)).find(u=>u.record.name===o.record.name);return R({ok:!0,service:c===void 0?{name:o.record.name}:db(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:p.string().min(1).describe("Service name to stop.")},async r=>{let o=await Ll({scopeDir:n.scopeDir,name:r.name});return R(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 r=await Nl(n.scopeDir);return R({services:r.map(o=>db(o))})}),e.tool("linzumi_dev_service_logs","Read the tail of a managed dev service's combined stdout/stderr log.",{name:p.string().min(1).describe("Service name."),max_bytes:p.number().int().min(256).max(65536).optional().describe("Tail size in bytes (default 16384).")},async r=>{let o=H_(n.scopeDir,r.name,r.max_bytes??16384);return R(o===void 0?{ok:!1,error:`no log for service: ${r.name}`}:{ok:!0,name:r.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:p.string().min(1).describe("Service name to remove.")},async r=>{let o=await B_({scopeDir:n.scopeDir,name:r.name});return R(o.ok?{ok:!0,name:o.record.name,removed:!0}:{ok:!1,error:o.error})})}function Tj(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 Rj(e){let t=await Promise.all(e.files.map(i=>Tl(e.cwd,i))),n=ye(e.target.thread_id),r=await e.client.prepareMessageUploads({...e.workspace===void 0?{}:{workspace:e.workspace},...e.channel===void 0?{}:{channel:e.channel},...n===void 0?{}:{thread_id:n},files:t.map(i=>({file_name:i.fileName,content_type:i.contentType,size_bytes:i.sizeBytes}))}),o=Zn(r.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=Te(o[a]),u=ye(c?.upload_url),d=ye(c?.upload_method)??"PUT";if(u===void 0)throw new Error("Linzumi upload prepare response missing upload_url");let l=i.bytes,m=l.buffer.slice(l.byteOffset,l.byteOffset+l.byteLength),f=await fetch(Uo(e.kandanUrl,u),{method:d,headers:{"content-type":i.contentType},body:m});if(!f.ok)throw new Error(`Linzumi upload failed for ${i.fileName}: ${f.status} ${f.statusText}`)}));let s=o.map(i=>{let a=ye(Te(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},...n===void 0?{}:{thread_id:n},target:e.target,...e.body===void 0?{}:{body:e.body},uploaded_file_ids:s})}async function jj(e){let t=await Tl(e.cwd,e.file),n=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}),r=Te(n.upload),o=ye(r?.upload_url),s=ye(r?.upload_method)??"PUT";if(o===void 0)throw new Error("Linzumi custom emoji prepare response missing upload_url");let i=t.bytes,a=i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength),c=await fetch(Uo(e.kandanUrl,o),{method:s,headers:{"content-type":t.contentType},body:a});if(!c.ok){let l=`${c.status} ${c.statusText}`,f=(await c.text()).trim(),h=f===""?l:(()=>{try{let g=JSON.parse(f);return ht(g)&&typeof g.error=="string"?g.error:f}catch{return f}})();throw new Error(`Linzumi custom emoji upload failed: ${h}`)}let u=await c.json();if(!ht(u))throw new Error("Linzumi custom emoji upload returned non-object JSON");let d=Te(u.custom_emoji);if(d===void 0)throw new Error("Linzumi custom emoji upload response missing custom_emoji");return{ok:!0,workspace:n.workspace,emoji:d,asset_id:ye(u.asset_id),id:R_(d?.id),name:ye(d?.name),shortcode:ye(d?.shortcode),image_url:ye(d?.image_url)}}function lb(e,t){if(ye(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(ye(e.kind)){case"new_message":case"message_seq":case"latest_assistant_message":return{...e,thread_id:t};default:return e}}}function gt(e,t){return ye(e.thread_id)!==void 0||t===void 0?e:{...e,thread_id:t}}function Uo(e,t){try{return new URL(t).toString()}catch{let r=e.replace(/^wss:\/\//,"https://").replace(/^ws:\/\//,"http://");return new URL(t,r).toString()}}function pb(e,t){let n=Te(t.message),r=Te(t.target_message);return n===void 0&&r===void 0?t:{...t,...n===void 0?{}:{message:mb(e,n)},...r===void 0?{}:{target_message:mb(e,r)}}}function mb(e,t){let n=Zn(t.attachments);return n===void 0?t:{...t,attachments:n.map(r=>Oj(e,r))}}function Oj(e,t){let n=Te(t);if(n===void 0)return t;let r=ye(n.url),o=Te(n.image_variants);return{...n,...r===void 0?{}:{url:Uo(e,r)},...o===void 0?{}:{image_variants:Ij(e,o)}}}function Ij(e,t){let n=ye(t.inline_url),r=ye(t.carousel_url);return{...t,...n===void 0?{}:{inline_url:Uo(e,n)},...r===void 0?{}:{carousel_url:Uo(e,r)}}}function Ej(e){e.server.registerCapabilities({resources:{listChanged:!1}}),e.server.setRequestHandler(or,()=>({resources:[]})),e.server.setRequestHandler(sr,()=>({resourceTemplates:[]}))}async function Cj(e){let t=Zl(e),n=ql(t,"api-url"),r=ne(t,"format")??"codex",o=Ul(ne(t,"mode")),s=t.get("include-token")===!0?(await Dl({kandanUrl:n,explicitToken:ne(t,"token")??process.env.LINZUMI_MCP_ACCESS_TOKEN,authFilePath:ne(t,"auth-file"),delegationAuthFilePath:ne(t,"delegation-auth-file"),workspaceSlug:ne(t,"workspace"),channelSlug:ne(t,"channel")})).accessToken:void 0,i=W_({command:ne(t,"command"),kandanUrl:n,accessToken:s,delegationAuthFilePath:ne(t,"delegation-auth-file"),ownerUsername:ne(t,"owner-username")??process.env.LINZUMI_MCP_OWNER_USERNAME,operatingMode:o,toolScope:yb(ne(t,"tool-scope")),multiAgentJobs:t.get("multi-agent-jobs")===!0});switch(r){case"codex":process.stdout.write(G_(i));return;case"claude-code":process.stdout.write(K_(i));return;default:throw new Error("--format must be codex or claude-code")}}async function Aj(e){let t=Zl(e),n=ql(t,"api-url"),r=await Dl({kandanUrl:n,explicitToken:ne(t,"token")??process.env.LINZUMI_MCP_ACCESS_TOKEN,authFilePath:ne(t,"auth-file"),delegationAuthFilePath:ne(t,"delegation-auth-file"),workspaceSlug:ne(t,"workspace"),channelSlug:ne(t,"channel")});switch(r.mode){case"local-runner":{if(!await Qy({kandanUrl:n,accessToken:r.accessToken,workspaceSlug:ne(t,"workspace"),channelSlug:ne(t,"channel")}))throw new Error("Linzumi MCP auth validation failed");break}case"personal-agent-delegation":{await Rl({kandanUrl:n,accessToken:r.accessToken,authMode:r.mode,operatingMode:Ul(ne(t,"mode"))}).validateAuth();break}}process.stdout.write(`Linzumi MCP auth OK
423
- `)}async function Dl(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:n_(e.delegationAuthFilePath).accessToken,mode:"personal-agent-delegation"}}return{accessToken:await Mj({kandanUrl:e.kandanUrl,explicitToken:e.explicitToken,authFilePath:e.authFilePath,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug}),mode:"local-runner"}}async function Mj(e,t={readCachedToken:ji,validateTokenOutcome:Io,resolveToken:T_}){let n=e.explicitToken??t.readCachedToken(e.kandanUrl,e.authFilePath)?.accessToken;if(n===void 0)throw new Error("missing Linzumi MCP token; run linzumi auth or pass --token");let r=await t.validateTokenOutcome({kandanUrl:e.kandanUrl,accessToken:n,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug});if(r==="usable")return n;let o=r;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 on(e){return{content:[{type:"text",text:e}],isError:!0}}async function Nj(e,t){let n=rb(t);if(n.type==="invalid")return on(n.message);let r;try{r=await e(ob(n.request),{timeout:X_})}catch(o){return on(`the interview could not be delivered to the user: ${o instanceof Error?o.message:String(o)}`)}switch(r.action){case"accept":{let o=sb(n.request,r.content??void 0);switch(o.type){case"ok":return R({answers:o.answers});case"invalid":return on(o.message)}break}case"decline":switch(ib(r._meta)){case tb:return on("linzumi_ask_user_question is unavailable during a Plan-mode turn: use the native request_user_input interview tool instead");case nb:return on("the interview was declined: no active turn is bound to this session");default:return on("the interview request was declined by the runner")}case"cancel":return on("the user dismissed the question without answering");default:return on(`the interview returned an unknown action: ${String(r.action)}`)}}function R(e){return{content:[{type:"text",text:JSON.stringify(e,null,2)}],structuredContent:e}}async function fb(e){try{return R(await e)}catch(t){let n=t instanceof Error?t.message:String(t),r=n.match(/failed: ([a-z0-9_]+)(?: detail=(.+))?$/);if(r===null)return R({error:n});let[,o,s]=r;return R(s===void 0?{error:o??n}:{error:o??n,detail:s})}}function Zl(e){let t=new Map;for(let n=0;n<e.length;n+=1){let r=e[n];if(r===void 0)continue;if(!r.startsWith("--"))throw new Error(`unexpected argument ${r}`);let o=r.slice(2),s=xj.get(o);if(s===void 0)throw new Error(`unsupported option --${o}`);if(s.kind==="boolean"){t.set(o,!0);continue}let i=e[n+1];if(i===void 0||i.startsWith("--"))throw new Error(`--${o} requires a value`);t.set(o,i),n+=1}return t}function ne(e,t){let n=e.get(t);return typeof n=="string"&&n.trim()!==""?n:void 0}function Ul(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 yb(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 ql(e,t){let n=ne(e,t);if(n===void 0)throw new Error(`--${t} is required`);return n}function Dj(e){return e[0]==="mcp"?e.slice(1):e}async function Zj(e){try{await hb(Dj(e))}catch(t){process.stderr.write(`linzumi mcp server failed: ${t instanceof Error?t.message:String(t)}
424
- `),process.exitCode=1}}var Uj=process.argv[1]!==void 0&&import.meta.url===Lj(process.argv[1]).href;Uj&&Zj(process.argv.slice(2));export{Dj as mcpServerEntryArgs,Zj as runMcpServerEntry};
422
+ `}async function $j(e){let t=Ul(e);if(t.get("help")===!0){process.stdout.write(yb());return}let n=Jl(t,"api-url"),r=await Zl({kandanUrl:n,explicitToken:ne(t,"token")??process.env.LINZUMI_MCP_ACCESS_TOKEN,authFilePath:ne(t,"auth-file"),delegationAuthFilePath:ne(t,"delegation-auth-file"),workspaceSlug:ne(t,"workspace"),channelSlug:ne(t,"channel")}),o=ne(t,"owner-username")??process.env.LINZUMI_MCP_OWNER_USERNAME,s=ql(ne(t,"mode")),i=_b(ne(t,"tool-scope")),a=ne(t,"cwd")??process.cwd(),c=ne(t,"thread-id")??process.env.LINZUMI_THREAD_RUNNER_KANDAN_THREAD_ID,u=jl({kandanUrl:n,accessToken:r.accessToken,authMode:r.mode,operatingMode:s}),d=new zi({name:"linzumi",version:"0.1.0"});Cj(d),Pj(d,{client:u,toolScope:i,operatingMode:s,cwd:a,kandanUrl:n,defaultThreadId:c,ownerUsername:o,agentSession:t.get("agent-session")===!0,documentSurfaces:$l(r.accessToken),askUserQuestionTool:t.get("ask-user-question-tool")===!0,devServices:zj(process.env),multiAgentJobs:t.get("multi-agent-jobs")===!0}),await d.connect(new Ti)}function zj(e){let t=e.LINZUMI_DEV_SERVICES_SCOPE?.trim(),n=Number.parseInt(e.LINZUMI_DEV_SERVICES_OWNER_PID??"",10);if(!(t===void 0||t===""||!Number.isInteger(n)||n<=0))return{scopeDir:Z_(t),ownerPid:n}}function Pj(e,t){let{client:n,toolScope:r,operatingMode:o,cwd:s,kandanUrl:i,defaultThreadId:a,ownerUsername:c,agentSession:u,devServices:d}=t,l=r==="all"||r==="coding";if(t.askUserQuestionTool===!0&&e.tool(Y_,`Ask the user up to ${No} structured multiple-choice questions and BLOCK until they answer in the Linzumi thread. Use this whenever you need a decision or clarification mid-task. Each question needs a short header (max ${Lo} chars) and ${Do}-${Zo} options {label, description}; a built-in "${X_}" free-text choice is always shown in addition to your options, so never add one yourself. Set multiSelect true to allow choosing several options. Returns {answers} keyed by question text: a single label string, an array of labels for multiSelect, and {"other": "<typed text>"} for a free-text reply.`,{questions:m.array(m.object({question:m.string().describe("The question to ask the user."),header:m.string().describe(`Short category header shown above the question (max ${Lo} chars, e.g. "Auth", "Scope").`),options:m.array(m.object({label:m.string().describe("Option label the user taps."),description:m.string().optional().describe("One-line explanation of the option.")})).describe(`${Do}-${Zo} options for this question.`),multiSelect:m.boolean().optional().describe("True lets the user select several options; the answer becomes an array.")})).describe(`1-${No} questions to ask atomically.`)},async p=>Lj((h,f)=>e.server.elicitInput(h,f),p)),t.documentSurfaces===!0){let p=async(h,f)=>R(await n.agentDocumentTool({...f,tool:h}));e.tool("linzumi_lookup_documents","Search document titles and content within the controlling human's visibility ceiling. Returns authorized results in canonical search order; zero, one, and multiple matches carry the rule-03 ambiguity meaning.",{query:m.string().min(1).describe("Document title or content search query.")},async h=>p("lookup_documents",h)),e.tool("linzumi_read_document","Read one in-scope document as full AST and metadata, including pending proposals and required-agent-context comments. Both controlling-human visibility and agent delegation are required.",{document_id:m.string().uuid().describe("Document UUID.")},async h=>p("read_document",h)),e.tool("linzumi_propose_document_patch","Create an agent-attributed structural patch proposal. This never directly mutates document content; per-document auto-apply is resolved server-side after proposal persistence.",{document_id:m.string().uuid().describe("Document UUID."),patch:m.record(m.unknown()).describe("Revisioned structural document patch."),rationale:m.string().min(1).describe("Why this change is proposed.")},async h=>p("propose_document_patch",h)),e.tool("linzumi_create_document","Create an agent-attributed document through an atomic bootstrap proposal and apply transaction in the named folder or workspace default folder.",{title:m.string().min(1).describe("Document title."),initial_patch:m.record(m.unknown()).describe("Bootstrap structural patch."),folder_id:m.string().uuid().optional().describe("Destination folder UUID.")},async h=>p("create_document",h))}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=>R(await n.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()=>R(await n.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."),visibility:m.enum(["project","private"]).optional().describe("Job visibility. Defaults to 'project'; private jobs are limited to directly authorized participants.")},async p=>R(await n.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=>R(await n.agentInterruptCodingJob(p))),e.tool("linzumi_send_coding_job_message","Message a coding job or a person. Queue is the encouraged default: it lands in the colleague's inbox for their own cadence. Steer only for urgent, potentially-clashing work because it interrupts the running turn. Would this be worthless or harmful after their turn finishes? If no, queue. Delivery urgency is not access control. To message a person, pass to_user and omit channel and thread_id: delivery lands in their personal inbox.",{channel:m.string().optional().describe("Channel slug hosting the job thread. Required unless to_user is set."),thread_id:m.string().uuid().optional().describe("The job thread UUID. Required unless to_user is set."),to_user:m.string().min(1).optional().describe("Username of a workspace member to message instead of a job. Delivery lands in their personal inbox."),body:m.string().min(1).describe("Message body to send."),delivery:m.enum(["queue","steer"]).optional().describe("Delivery urgency. Defaults to 'queue'.")},async p=>R(await n.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=>R(await n.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=>R(await n.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=>R(await n.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=>R(await n.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=>R(await n.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=>R(await n.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=>R(await n.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=>R(await n.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=>R(await n.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=>R(await n.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=>R(await n.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=>R(await n.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=>R(await n.agentUnpinMessage(p)))),r==="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=>R(await n.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=>R(await n.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=>R(await n.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=>R(await n.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=>R(await n.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=>R(await n.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=>R(await n.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=>R(await n.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=>R(await n.fetchUrl(p)))),r==="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 hb(n.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 hb(n.openUi(gt(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=>R(await n.getCodingJobMetadata(gt(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=>R(await n.renameCodingJob(gt(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=>R(await n.upsertCodingJobPlan(gt(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=>R(await n.replaceCodingJobPlanSteps(gt(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=>R(await n.updateCodingJobPlanStep(gt(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=>R(await n.linkCodingJobPullRequest(gt(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. Prefer latest_assistant_message to attach files to the reply you already posted; use new_message ONLY when no assistant message exists yet in the scoped thread. Never re-use your visible reply text as a new_message body - that posts the reply twice. 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 files inside the approved workspace or Downloads; source/text files of any language are supported, plus common document, image, patch, archive, and video types."),body:m.string().min(1).max(2e4).optional().describe("Required for new_message: a SHORT file-share caption (for example: Attached the generated report), never a copy of your visible reply - that would post the reply twice. 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=pb(p.target,a);try{let f=await jj({client:n,cwd:s,kandanUrl:i,target:h,files:p.files,workspace:p.workspace,channel:p.channel,body:p.body});return R(mb(i,f))}catch(f){throw Rj(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=>R(mb(i,await n.editMessage({...p,target:pb(p.target,a)}))))),r==="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=>R(await n.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=>R(await n.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=>R(await n.getProjectTasks(gt(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=>R(await n.createProjectTask(gt(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=>R(await n.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=>R(await n.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=>R(await n.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=>R(await n.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=>R(await n.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."),visibility:m.enum(["project","private"]).optional().describe("Child-job visibility. Defaults to 'project'; private jobs are limited to directly authorized participants."),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)."),agent_provider:m.string().optional().describe("Agent provider override, e.g. 'codex' (optional)."),reasoning_effort:m.enum(["default","low","medium","high","xhigh","ultra"]).optional().describe("Reasoning effort override (optional)."),approval_policy:m.enum(["default","on-request","on-failure","never"]).optional().describe("Approval policy override (optional)."),sandbox:m.enum(["default","workspace-write","read-only","danger-full-access"]).optional().describe("Sandbox override (optional)."),fast:m.boolean().optional().describe("Fast-mode override (optional)."),allow_port_forwarding_by_default:m.boolean().optional().describe("Default port-forwarding override (optional)."),execution_mode:m.enum(["raw","local_vm"]).optional().describe("Execution placement override (optional)."),egress_mode:m.enum(["open","hardened"]).optional().describe("Local-VM egress override (optional).")},async p=>R(await n.agentStartCodingJob(gt(p,a)))),t.multiAgentJobs===!0&&(e.tool("linzumi_spawn_child_job","Spawn a durable child coding job under YOUR OWN job, on any harness or model - plan a DAG and delegate its legs to workers you then coordinate through discovery and messaging. The child lands on this job's channel, computer, and folder; it inherits this job's project and visibility (a private parent's children stay private), human roles cascade to it, and a human manages its lifecycle. 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 child job should do - the initial instruction, written to stand alone."),agent_provider:m.string().optional().describe("Harness for the child, e.g. 'codex' or 'claude-code'. Omit to reuse this job's own harness. A different harness is fine: a cross-harness child is always a child job."),model:m.string().optional().describe("Model override for the child (optional)."),model_provider:m.string().optional().describe("Model provider override, e.g. 'wafer' (optional)."),reasoning_effort:m.enum(["default","low","medium","high","xhigh","ultra"]).optional().describe("Reasoning effort override (optional)."),project_task_id:m.string().optional().describe("Project task item to bind the child to (task_id from linzumi_get_project_tasks). The task flips todo -> active and links to the new job."),visibility:m.enum(["project","private"]).optional().describe("Child visibility. Defaults to this job's own visibility; a private parent's children must stay private.")},async p=>R(await n.agentSpawnChildJob(gt(p,a)))),e.tool("linzumi_discover_coding_jobs","Search current sitreps inside this coding job project for overlapping files, modules, objectives, or blockers. Results include durable job addresses for coordination. Private jobs outside your visible set never appear.",{query:m.string().min(1).describe("Free-text clash-surface query, such as a file path, module, migration, or objective.")},async p=>R(await n.agentDiscoverCodingJobs({...p,source_thread_id:a}))),e.tool("linzumi_send_coding_job_message","Message a visible coding job in this project, or a person. Queue is the encouraged default: it lands in the colleague's inbox for their own cadence. Steer only for urgent, potentially-clashing work because it interrupts the running turn. Would this be worthless or harmful after their turn finishes? If no, queue. Delivery urgency is not access control. To message a person, pass to_user and omit channel and thread_id: delivery lands in their personal inbox.",{channel:m.string().optional().describe("Channel slug hosting the target job. Required unless to_user is set."),thread_id:m.string().uuid().optional().describe("Target job thread UUID. Required unless to_user is set."),to_user:m.string().min(1).optional().describe("Username of a workspace member to message instead of a job. Delivery lands in their personal inbox."),body:m.string().min(1).describe("Coordination message to send."),delivery:m.enum(["queue","steer"]).optional().describe("Delivery urgency. Defaults to 'queue'.")},async p=>R(await n.agentSendCodingJobMessage({...p,source_thread_id:a})))))),wj(r)&&(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:db.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=>R(await Oj({client:n,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:db.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=>R(await n.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:cb}]})),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=>R(await n.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=>R(await n.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=>R(await n.noteOnboardingDiscoveryStatus(p))),r==="all"&&kj(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 R(await n.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=>R(await n.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=>R(await n.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=>R(await n.sendDm(p)))),r==="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=>R(await n.getVaultValues(p))),r==="all"&&!u&&d!==void 0&&Tj(e,s,d)}function lb(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 Tj(e,t,n){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 r=>{let o=await V_({scopeDir:n.scopeDir,definition:{name:r.name,command:r.command,cwd:r.cwd??t,ports:r.ports,restartOnBranchChange:r.restart_on_branch_change===!0},ownerPid:n.ownerPid});if(!o.ok)return R({ok:!1,error:o.error});let s=Date.now()+(r.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=>Nl(d)))).every(d=>d),i||await new Promise(d=>setTimeout(d,250));let c=(await Ll(n.scopeDir)).find(u=>u.record.name===o.record.name);return R({ok:!0,service:c===void 0?{name:o.record.name}:lb(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 r=>{let o=await Dl({scopeDir:n.scopeDir,name:r.name});return R(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 r=await Ll(n.scopeDir);return R({services:r.map(o=>lb(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 r=>{let o=W_(n.scopeDir,r.name,r.max_bytes??16384);return R(o===void 0?{ok:!1,error:`no log for service: ${r.name}`}:{ok:!0,name:r.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 r=>{let o=await H_({scopeDir:n.scopeDir,name:r.name});return R(o.ok?{ok:!0,name:o.record.name,removed:!0}:{ok:!1,error:o.error})})}function Rj(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 jj(e){let t=await Promise.all(e.files.map(i=>Rl(e.cwd,i))),n=ye(e.target.thread_id),r=await e.client.prepareMessageUploads({...e.workspace===void 0?{}:{workspace:e.workspace},...e.channel===void 0?{}:{channel:e.channel},...n===void 0?{}:{thread_id:n},files:t.map(i=>({file_name:i.fileName,content_type:i.contentType,size_bytes:i.sizeBytes}))}),o=Zn(r.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=Te(o[a]),u=ye(c?.upload_url),d=ye(c?.upload_method)??"PUT";if(u===void 0)throw new Error("Linzumi upload prepare response missing upload_url");let l=i.bytes,p=l.buffer.slice(l.byteOffset,l.byteOffset+l.byteLength),h=await fetch(Uo(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=ye(Te(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},...n===void 0?{}:{thread_id:n},target:e.target,...e.body===void 0?{}:{body:e.body},uploaded_file_ids:s})}async function Oj(e){let t=await Rl(e.cwd,e.file),n=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}),r=Te(n.upload),o=ye(r?.upload_url),s=ye(r?.upload_method)??"PUT";if(o===void 0)throw new Error("Linzumi custom emoji prepare response missing upload_url");let i=t.bytes,a=i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength),c=await fetch(Uo(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 it(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(!it(u))throw new Error("Linzumi custom emoji upload returned non-object JSON");let d=Te(u.custom_emoji);if(d===void 0)throw new Error("Linzumi custom emoji upload response missing custom_emoji");return{ok:!0,workspace:n.workspace,emoji:d,asset_id:ye(u.asset_id),id:j_(d?.id),name:ye(d?.name),shortcode:ye(d?.shortcode),image_url:ye(d?.image_url)}}function pb(e,t){if(ye(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(ye(e.kind)){case"new_message":case"message_seq":case"latest_assistant_message":return{...e,thread_id:t};default:return e}}}function gt(e,t){return ye(e.thread_id)!==void 0||t===void 0?e:{...e,thread_id:t}}function Uo(e,t){try{return new URL(t).toString()}catch{let r=e.replace(/^wss:\/\//,"https://").replace(/^ws:\/\//,"http://");return new URL(t,r).toString()}}function mb(e,t){let n=Te(t.message),r=Te(t.target_message);return n===void 0&&r===void 0?t:{...t,...n===void 0?{}:{message:fb(e,n)},...r===void 0?{}:{target_message:fb(e,r)}}}function fb(e,t){let n=Zn(t.attachments);return n===void 0?t:{...t,attachments:n.map(r=>Ij(e,r))}}function Ij(e,t){let n=Te(t);if(n===void 0)return t;let r=ye(n.url),o=Te(n.image_variants);return{...n,...r===void 0?{}:{url:Uo(e,r)},...o===void 0?{}:{image_variants:Ej(e,o)}}}function Ej(e,t){let n=ye(t.inline_url),r=ye(t.carousel_url);return{...t,...n===void 0?{}:{inline_url:Uo(e,n)},...r===void 0?{}:{carousel_url:Uo(e,r)}}}function Cj(e){e.server.registerCapabilities({resources:{listChanged:!1}}),e.server.setRequestHandler(or,()=>({resources:[]})),e.server.setRequestHandler(sr,()=>({resourceTemplates:[]}))}async function Aj(e){let t=Ul(e),n=Jl(t,"api-url"),r=ne(t,"format")??"codex",o=ql(ne(t,"mode")),s=t.get("include-token")===!0?(await Zl({kandanUrl:n,explicitToken:ne(t,"token")??process.env.LINZUMI_MCP_ACCESS_TOKEN,authFilePath:ne(t,"auth-file"),delegationAuthFilePath:ne(t,"delegation-auth-file"),workspaceSlug:ne(t,"workspace"),channelSlug:ne(t,"channel")})).accessToken:void 0,i=K_({command:ne(t,"command"),kandanUrl:n,accessToken:s,delegationAuthFilePath:ne(t,"delegation-auth-file"),ownerUsername:ne(t,"owner-username")??process.env.LINZUMI_MCP_OWNER_USERNAME,operatingMode:o,toolScope:_b(ne(t,"tool-scope")),multiAgentJobs:t.get("multi-agent-jobs")===!0});switch(r){case"codex":process.stdout.write(Q_(i));return;case"claude-code":process.stdout.write(G_(i));return;default:throw new Error("--format must be codex or claude-code")}}async function Mj(e){let t=Ul(e),n=Jl(t,"api-url"),r=await Zl({kandanUrl:n,explicitToken:ne(t,"token")??process.env.LINZUMI_MCP_ACCESS_TOKEN,authFilePath:ne(t,"auth-file"),delegationAuthFilePath:ne(t,"delegation-auth-file"),workspaceSlug:ne(t,"workspace"),channelSlug:ne(t,"channel")});switch(r.mode){case"local-runner":{if(!await Yy({kandanUrl:n,accessToken:r.accessToken,workspaceSlug:ne(t,"workspace"),channelSlug:ne(t,"channel")}))throw new Error("Linzumi MCP auth validation failed");break}case"personal-agent-delegation":{await jl({kandanUrl:n,accessToken:r.accessToken,authMode:r.mode,operatingMode:ql(ne(t,"mode"))}).validateAuth();break}}process.stdout.write(`Linzumi MCP auth OK
423
+ `)}async function Zl(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:r_(e.delegationAuthFilePath).accessToken,mode:"personal-agent-delegation"}}return{accessToken:await Nj({kandanUrl:e.kandanUrl,explicitToken:e.explicitToken,authFilePath:e.authFilePath,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug}),mode:"local-runner"}}async function Nj(e,t={readCachedToken:ji,validateTokenOutcome:Io,resolveToken:R_}){let n=e.explicitToken??t.readCachedToken(e.kandanUrl,e.authFilePath)?.accessToken;if(n===void 0)throw new Error("missing Linzumi MCP token; run linzumi auth or pass --token");let r=await t.validateTokenOutcome({kandanUrl:e.kandanUrl,accessToken:n,workspaceSlug:e.workspaceSlug,channelSlug:e.channelSlug});if(r==="usable")return n;let o=r;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 on(e){return{content:[{type:"text",text:e}],isError:!0}}async function Lj(e,t){let n=ob(t);if(n.type==="invalid")return on(n.message);let r;try{r=await e(sb(n.request),{timeout:eb})}catch(o){return on(`the interview could not be delivered to the user: ${o instanceof Error?o.message:String(o)}`)}switch(r.action){case"accept":{let o=ib(n.request,r.content??void 0);switch(o.type){case"ok":return R({answers:o.answers});case"invalid":return on(o.message)}break}case"decline":switch(ab(r._meta)){case nb:return on("linzumi_ask_user_question is unavailable during a Plan-mode turn: use the native request_user_input interview tool instead");case rb:return on("the interview was declined: no active turn is bound to this session");default:return on("the interview request was declined by the runner")}case"cancel":return on("the user dismissed the question without answering");default:return on(`the interview returned an unknown action: ${String(r.action)}`)}}function R(e){return{content:[{type:"text",text:JSON.stringify(e,null,2)}],structuredContent:e}}async function hb(e){try{return R(await e)}catch(t){let n=t instanceof Error?t.message:String(t),r=n.match(/failed: ([a-z0-9_]+)(?: detail=(.+))?$/);if(r===null)return R({error:n});let[,o,s]=r;return R(s===void 0?{error:o??n}:{error:o??n,detail:s})}}function Ul(e){let t=new Map;for(let n=0;n<e.length;n+=1){let r=e[n];if(r===void 0)continue;if(!r.startsWith("--"))throw new Error(`unexpected argument ${r}`);let o=r.slice(2),s=Sj.get(o);if(s===void 0)throw new Error(`unsupported option --${o}`);if(s.kind==="boolean"){t.set(o,!0);continue}let i=e[n+1];if(i===void 0||i.startsWith("--"))throw new Error(`--${o} requires a value`);t.set(o,i),n+=1}return t}function ne(e,t){let n=e.get(t);return typeof n=="string"&&n.trim()!==""?n:void 0}function ql(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 _b(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 Jl(e,t){let n=ne(e,t);if(n===void 0)throw new Error(`--${t} is required`);return n}function Zj(e){return e[0]==="mcp"?e.slice(1):e}async function Uj(e){try{await gb(Zj(e))}catch(t){process.stderr.write(`linzumi mcp server failed: ${t instanceof Error?t.message:String(t)}
424
+ `),process.exitCode=1}}var qj=process.argv[1]!==void 0&&import.meta.url===Dj(process.argv[1]).href;qj&&Uj(process.argv.slice(2));export{Zj as mcpServerEntryArgs,Uj as runMcpServerEntry};